From a6ce1349539f866334ef3d5758bc2ee44a454acd Mon Sep 17 00:00:00 2001 From: JP Abgrall Date: Thu, 6 Mar 2014 13:50:20 -0800 Subject: Revert changes that moved from 1.41.14 to 1.42.9 Revert "e2fsck: Don't use e2fsck_global_ctx unless HAVE_SIGNAL_H" commit e80e74c41d85ff93f3d212ba6512340f48054a93. Revert "Merge remote-tracking branch 'linaro/linaro-1.42.9' into aosp_master" This reverts commit e97b2b6fc82f840e84dfc631b87f21be44ff2421, reversing changes made to 7e2fb9d09c245eba70ee008b78007315e9c0f1df. Revert "Prepare for upstream 1.42.9" This reverts commit 7e2fb9d09c245eba70ee008b78007315e9c0f1df. Bug: 13340735 Change-Id: If48b153a95ef5f69f7cdccb00e23524abff3c5a8 Signed-off-by: JP Abgrall --- .hgignore | 7 - MCONFIG.in | 65 +- MODULE_LICENSE_GPL | 0 Makefile.in | 10 +- README | 2 +- README.subset | 15 - RELEASE-NOTES | 1254 +--- TODO | 277 - config/config.guess | 551 +- config/config.sub | 301 +- config/parse-types.sh | 47 +- configure | 2738 ++++----- configure.in | 329 +- contrib/fallocate.c | 174 - contrib/populate-extfs.sh | 105 - contrib/spd_readdir.c | 458 -- debian/changelog | 558 -- debian/comerr-dev.doc-base | 2 +- debian/comerr-dev.files | 9 + debian/comerr-dev.files.in | 9 - debian/control.in | 28 +- debian/copyright | 73 - debian/e2fsck-static.preinst | 19 - debian/e2fslibs-dev.doc-base | 2 +- debian/e2fslibs-dev.files | 7 + debian/e2fslibs-dev.files.in | 9 - debian/e2fslibs.copyright | 25 + debian/e2fslibs.files | 3 + debian/e2fslibs.files.in | 2 - debian/e2fslibs.symbols | 185 +- debian/e2fsprogs.copyright | 25 + debian/e2fsprogs.files | 2 + debian/e2fsprogs.preinst | 19 - debian/e2fsprogs.shlibs.local.in | 2 +- debian/libblkid-dev.files | 4 + debian/libblkid-dev.files.in | 4 - debian/libblkid1.files | 1 + debian/libblkid1.files.in | 1 - debian/libcomerr2.files | 2 + debian/libcomerr2.files.in | 1 - debian/libcomerr2.symbols | 1 - debian/libss2.files | 1 + debian/libss2.files.in | 1 - debian/libuuid1.files | 1 + debian/libuuid1.files.in | 1 - debian/rules | 413 +- debian/scripts/test-backtrace | 34 - debian/source/format | 1 - debian/ss-dev.files | 7 + debian/ss-dev.files.in | 7 - debian/uuid-dev.files | 5 + debian/uuid-dev.files.in | 5 - debugfs/Makefile.in | 45 +- debugfs/debug_cmds.ct | 32 +- debugfs/debugfs.8.in | 534 +- debugfs/debugfs.c | 618 +- debugfs/debugfs.h | 54 +- debugfs/dump.c | 29 +- debugfs/extent_cmds.ct | 77 - debugfs/extent_inode.c | 537 -- debugfs/filefrag.c | 323 -- debugfs/htree.c | 90 +- debugfs/icheck.c | 22 +- debugfs/logdump.c | 21 +- debugfs/ls.c | 17 +- debugfs/lsdel.c | 17 +- debugfs/ncheck.c | 82 +- debugfs/ro_debug_cmds.ct | 94 - debugfs/set_fields.c | 558 +- debugfs/unused.c | 12 +- debugfs/util.c | 95 +- debugfs/zap.c | 259 - depfix.sed | 4 +- doc/Makefile.in | 20 +- doc/libext2fs.texinfo | 17 +- e2fsck/Android.mk | 14 +- e2fsck/MODULE_LICENSE_GPL | 0 e2fsck/Makefile.in | 294 +- e2fsck/Makefile.pq | 9 - e2fsck/badblocks.c | 14 +- e2fsck/dirinfo.c | 17 +- e2fsck/e2fsck.8.in | 14 - e2fsck/e2fsck.c | 7 +- e2fsck/e2fsck.conf.5.in | 182 +- e2fsck/e2fsck.h | 83 +- e2fsck/ea_refcount.c | 85 +- e2fsck/ehandler.c | 6 +- e2fsck/emptydir.c | 36 +- e2fsck/iscan.c | 5 +- e2fsck/jfs_user.h | 24 +- e2fsck/journal.c | 120 +- e2fsck/logfile.c | 395 -- e2fsck/message.c | 224 +- e2fsck/pass1.c | 611 +- e2fsck/pass1b.c | 419 +- e2fsck/pass2.c | 180 +- e2fsck/pass3.c | 152 +- e2fsck/pass4.c | 12 +- e2fsck/pass5.c | 526 +- e2fsck/problem.c | 175 +- e2fsck/problem.h | 64 +- e2fsck/problemP.h | 2 - e2fsck/prof_err.c | 64 +- e2fsck/prof_err.et | 4 +- e2fsck/profile.c | 46 +- e2fsck/profile.h | 5 - e2fsck/quota.c | 81 - e2fsck/recovery.c | 56 +- e2fsck/region.c | 4 +- e2fsck/rehash.c | 53 +- e2fsck/scantest.c | 3 + e2fsck/sigcatcher.c | 441 -- e2fsck/super.c | 275 +- e2fsck/unix.c | 616 +- e2fsck/util.c | 249 +- e2fsprogs.lsm | 18 +- e2fsprogs.spec | 241 + e2fsprogs.spec.in | 1 - ext2ed/Makefile.in | 4 +- ext2ed/ext2ed.h | 4 + ext2ed/init.c | 13 +- ext2ed/inode_com.c | 8 +- ext2ed/super_com.c | 6 +- intl/Makefile.in | 5 +- lib/Makefile.bsd-lib | 2 +- lib/Makefile.elf-lib | 16 +- lib/Makefile.solaris-lib | 3 +- lib/blkid/Android.mk | 4 +- lib/blkid/MODULE_LICENSE_LGPL | 0 lib/blkid/Makefile.in | 40 +- lib/blkid/blkid.pc.in | 2 +- lib/blkid/blkid_types.h | 24 +- lib/blkid/blkid_types.h.in | 16 +- lib/blkid/cache.c | 7 +- lib/blkid/getsize.c | 116 +- lib/blkid/list.h | 5 +- lib/blkid/probe.c | 23 +- lib/blkid/probe.h | 1 - lib/config.h.in | 623 -- lib/dirpaths.h.in | 10 - lib/e2p/MODULE_LICENSE_LGPL | 0 lib/e2p/Makefile.in | 71 +- lib/e2p/e2p.h | 1 - lib/e2p/e2p.pc.in | 2 +- lib/e2p/feature.c | 25 +- lib/e2p/fgetflags.c | 8 +- lib/e2p/fsetflags.c | 15 +- lib/e2p/getflags.c | 5 +- lib/e2p/getversion.c | 2 +- lib/e2p/ls.c | 65 +- lib/e2p/mntopts.c | 3 +- lib/e2p/parse_num.c | 34 +- lib/e2p/pf.c | 1 - lib/e2p/setflags.c | 12 +- lib/et/MODULE_LICENSE_MIT | 0 lib/et/Makefile.in | 56 +- lib/et/com_err.c | 5 +- lib/et/com_err.h | 2 - lib/et/com_err.pc.in | 2 +- lib/et/com_err.texinfo | 43 +- lib/et/error_message.c | 31 +- lib/et/error_table.h | 2 +- lib/et/et_c.awk | 10 +- lib/et/et_name.c | 3 +- lib/et/test_cases/continuation.c | 4 +- lib/et/test_cases/heimdal.c | 166 +- lib/et/test_cases/heimdal2.c | 138 +- lib/et/test_cases/heimdal3.c | 6 +- lib/et/test_cases/imap_err.c | 62 +- lib/et/test_cases/simple.c | 46 +- lib/et/texinfo.tex | 8313 +++++---------------------- lib/ext2fs/Android.mk | 9 - lib/ext2fs/MODULE_LICENSE_LGPL | 0 lib/ext2fs/Makefile.in | 456 +- lib/ext2fs/Makefile.pq | 49 - lib/ext2fs/alloc.c | 168 +- lib/ext2fs/alloc_sb.c | 32 +- lib/ext2fs/alloc_stats.c | 38 +- lib/ext2fs/alloc_tables.c | 172 +- lib/ext2fs/badblocks.c | 2 +- lib/ext2fs/bb_inode.c | 13 +- lib/ext2fs/bitmaps.c | 176 +- lib/ext2fs/bitops.c | 79 - lib/ext2fs/bitops.h | 362 +- lib/ext2fs/blkmap64_ba.c | 416 -- lib/ext2fs/blkmap64_rb.c | 886 --- lib/ext2fs/blknum.c | 494 -- lib/ext2fs/block.c | 178 +- lib/ext2fs/bmap.c | 224 +- lib/ext2fs/bmap64.h | 100 - lib/ext2fs/bmove.c | 36 +- lib/ext2fs/brel.h | 18 +- lib/ext2fs/brel_ma.c | 24 +- lib/ext2fs/check_desc.c | 37 +- lib/ext2fs/closefs.c | 198 +- lib/ext2fs/crc32c.c | 1143 ---- lib/ext2fs/crc32c_defs.h | 51 - lib/ext2fs/csum.c | 155 +- lib/ext2fs/dblist.c | 217 +- lib/ext2fs/dblist_dir.c | 6 +- lib/ext2fs/dir_iterate.c | 31 +- lib/ext2fs/dirblock.c | 25 +- lib/ext2fs/dirhash.c | 3 - lib/ext2fs/dupfs.c | 25 - lib/ext2fs/e2image.h | 14 + lib/ext2fs/expanddir.c | 36 +- lib/ext2fs/ext2_err.c | 297 +- lib/ext2fs/ext2_err.et.in | 79 +- lib/ext2fs/ext2_err.h | 27 +- lib/ext2fs/ext2_fs.h | 167 +- lib/ext2fs/ext2_io.h | 16 - lib/ext2fs/ext2_types.h | 24 +- lib/ext2fs/ext2_types.h.in | 16 +- lib/ext2fs/ext2fs.h | 468 +- lib/ext2fs/ext2fs.pc.in | 2 +- lib/ext2fs/ext2fsP.h | 71 +- lib/ext2fs/ext_attr.c | 40 +- lib/ext2fs/extent.c | 536 +- lib/ext2fs/extent_dbg.ct | 74 + lib/ext2fs/fiemap.h | 4 - lib/ext2fs/fileio.c | 160 +- lib/ext2fs/finddev.c | 5 - lib/ext2fs/flushb.c | 14 +- lib/ext2fs/freefs.c | 7 - lib/ext2fs/gen_bitmap.c | 112 +- lib/ext2fs/gen_bitmap64.c | 849 --- lib/ext2fs/gen_crc32ctable.c | 123 - lib/ext2fs/get_pathname.c | 21 +- lib/ext2fs/getsectsize.c | 38 +- lib/ext2fs/getsize.c | 139 +- lib/ext2fs/i_block.c | 20 +- lib/ext2fs/icount.c | 89 +- lib/ext2fs/imager.c | 35 +- lib/ext2fs/initialize.c | 187 +- lib/ext2fs/inline.c | 88 - lib/ext2fs/inode.c | 60 +- lib/ext2fs/inode_io.c | 5 +- lib/ext2fs/io_manager.c | 28 - lib/ext2fs/irel.h | 2 +- lib/ext2fs/ismounted.c | 83 +- lib/ext2fs/kernel-jbd.h | 9 +- lib/ext2fs/kernel-list.h | 3 + lib/ext2fs/link.c | 7 +- lib/ext2fs/llseek.c | 18 +- lib/ext2fs/mkdir.c | 22 +- lib/ext2fs/mkjournal.c | 187 +- lib/ext2fs/mmp.c | 397 -- lib/ext2fs/namei.c | 13 +- lib/ext2fs/newdir.c | 8 +- lib/ext2fs/nt_io.c | 1 + lib/ext2fs/openfs.c | 139 +- lib/ext2fs/progress.c | 96 - lib/ext2fs/punch.c | 447 -- lib/ext2fs/qcow2.c | 255 - lib/ext2fs/qcow2.h | 113 - lib/ext2fs/rbtree.c | 451 -- lib/ext2fs/rbtree.h | 180 - lib/ext2fs/read_bb.c | 2 +- lib/ext2fs/read_bb_file.c | 9 +- lib/ext2fs/res_gdt.c | 18 +- lib/ext2fs/rw_bitmaps.c | 127 +- lib/ext2fs/sparse.c | 78 + lib/ext2fs/swapfs.c | 91 +- lib/ext2fs/symlink.c | 150 - lib/ext2fs/tdb.c | 20 +- lib/ext2fs/tdb.h | 2 + lib/ext2fs/test_io.c | 47 +- lib/ext2fs/tst_badblocks.c | 2 +- lib/ext2fs/tst_bitmaps.c | 652 --- lib/ext2fs/tst_bitmaps_cmd.ct | 45 - lib/ext2fs/tst_bitmaps_cmds | 99 - lib/ext2fs/tst_bitmaps_exp | 211 - lib/ext2fs/tst_bitops.c | 120 - lib/ext2fs/tst_fs_struct.c | 81 - lib/ext2fs/tst_inode_size.c | 87 - lib/ext2fs/tst_iscan.c | 48 +- lib/ext2fs/tst_super_size.c | 208 +- lib/ext2fs/undo_io.c | 64 +- lib/ext2fs/unix_io.c | 198 +- lib/ext2fs/valid_blk.c | 9 +- lib/quota/Android.mk | 61 - lib/quota/Makefile.in | 162 - lib/quota/common.h | 28 - lib/quota/dqblk_v2.h | 31 - lib/quota/mkquota.c | 560 -- lib/quota/mkquota.h | 64 - lib/quota/quota.pc.in | 11 - lib/quota/quotaio.c | 381 -- lib/quota/quotaio.h | 165 - lib/quota/quotaio_tree.c | 655 --- lib/quota/quotaio_tree.h | 64 - lib/quota/quotaio_v2.c | 282 - lib/quota/quotaio_v2.h | 54 - lib/ss/MODULE_LICENSE_MIT | 0 lib/ss/Makefile.in | 53 +- lib/ss/error.c | 10 +- lib/ss/execute_cmd.c | 20 +- lib/ss/help.c | 19 +- lib/ss/invocation.c | 17 +- lib/ss/list_rqs.c | 5 - lib/ss/pager.c | 10 +- lib/ss/parse.c | 9 +- lib/ss/request_tbl.c | 13 +- lib/ss/ss.h | 1 - lib/ss/ss.pc.in | 2 +- lib/ss/ss_internal.h | 1 - lib/uuid/MODULE_LICENSE_BSD_LIKE | 0 lib/uuid/Makefile.in | 37 +- lib/uuid/gen_uuid.c | 25 +- lib/uuid/tst_uuid.c | 29 +- lib/uuid/uuid.pc.in | 2 +- lib/uuid/uuid_time.c | 2 +- misc/Android.mk | 2 - misc/MODULE_LICENSE_GPL | 0 misc/Makefile.in | 254 +- misc/badblocks.8.in | 8 +- misc/badblocks.c | 298 +- misc/chattr.1.in | 53 +- misc/chattr.c | 26 +- misc/default_profile.c | 9 - misc/dumpe2fs.8.in | 10 +- misc/dumpe2fs.c | 194 +- misc/e2freefrag.c | 139 +- misc/e2image.8.in | 205 +- misc/e2image.c | 1330 +---- misc/e2initrd_helper.c | 22 +- misc/e2undo.c | 38 +- misc/e4defrag.8.in | 80 - misc/e4defrag.c | 2082 ------- misc/ext4.5.in | 257 - misc/filefrag.8.in | 25 +- misc/filefrag.c | 391 +- misc/findsuper.c | 20 +- misc/fsck.c | 60 +- misc/ismounted.c | 6 +- misc/logsave.c | 20 +- misc/lsattr.c | 1 - misc/mke2fs-hurd.conf | 42 - misc/mke2fs.8.in | 221 +- misc/mke2fs.c | 1487 ++--- misc/mke2fs.conf | 44 + misc/mke2fs.conf.5.in | 79 +- misc/mke2fs.conf.in | 53 - misc/mklost+found.c | 2 +- misc/nls-enable.h | 2 - misc/partinfo.c | 1 - misc/tune2fs.8.in | 80 +- misc/tune2fs.c | 764 +-- misc/util.c | 41 +- misc/util.h | 3 +- misc/uuidd.c | 14 +- po/Makefile.in.in | 3 +- po/Makevars | 2 +- po/POTFILES.in | 3 - po/at-expand.pl | 1 - po/ca.gmo | Bin 70887 -> 79416 bytes po/ca.po | 4488 +++++---------- po/cs.gmo | Bin 140189 -> 105341 bytes po/cs.po | 3967 ++++--------- po/de.gmo | Bin 135967 -> 101232 bytes po/de.po | 4476 ++++++-------- po/e2fsprogs.pot | 3926 ++++--------- po/es.gmo | Bin 73175 -> 81306 bytes po/es.po | 4120 ++++--------- po/fr.gmo | Bin 141246 -> 106275 bytes po/fr.po | 4030 +++++-------- po/id.gmo | Bin 89234 -> 99427 bytes po/id.po | 3920 ++++--------- po/it.gmo | Bin 46548 -> 50242 bytes po/it.po | 3985 ++++--------- po/nl.gmo | Bin 139448 -> 105859 bytes po/nl.po | 3891 ++++--------- po/pl.gmo | Bin 137704 -> 100739 bytes po/pl.po | 5259 ++++++----------- po/sv.gmo | Bin 134129 -> 99998 bytes po/sv.po | 5096 ++++++---------- po/tr.gmo | Bin 73759 -> 78027 bytes po/tr.po | 4774 ++++++--------- po/vi.gmo | Bin 145060 -> 108845 bytes po/vi.po | 4343 +++++--------- po/zh_CN.gmo | Bin 22631 -> 20854 bytes po/zh_CN.po | 3580 ++++-------- resize/Android.mk | 3 +- resize/MODULE_LICENSE_GPL | 0 resize/Makefile.in | 28 +- resize/Makefile.pq | 11 - resize/extent.c | 38 +- resize/main.c | 124 +- resize/online.c | 157 +- resize/resize2fs.8.in | 62 +- resize/resize2fs.c | 1047 ++-- resize/resize2fs.h | 48 +- resize/resource_track.c | 127 - resize/test-resize | 27 - resize/test_extent.c | 8 +- tests/Makefile.in | 49 +- tests/d_loaddump/expect | 8 +- tests/d_loaddump/script | 27 +- tests/d_special_files/expect | 85 - tests/d_special_files/name | 1 - tests/d_special_files/script | 94 - tests/defaults/e_script | 4 +- tests/e_brel_bma/script | 3 +- tests/e_icount_normal/name | 2 +- tests/e_irel_ima/script | 3 +- tests/f_bad_disconnected_inode/expect.1 | 9 + tests/f_baddir/expect.1 | 3 - tests/f_badroot/expect.1 | 2 +- tests/f_crashdisk/expect.1 | 3 +- tests/f_desc_size_128/expect.1 | 7 - tests/f_desc_size_128/expect.2 | 7 - tests/f_desc_size_128/image.gz | Bin 11547 -> 0 bytes tests/f_desc_size_128/name | 1 - tests/f_desc_size_bad/expect.1 | 11 - tests/f_desc_size_bad/expect.2 | 7 - tests/f_desc_size_bad/script | 17 - tests/f_dup/expect.1 | 2 +- tests/f_dup2/expect.1 | 2 +- tests/f_dup4/script | 8 +- tests/f_dup_ba/expect.1 | 69 - tests/f_dup_ba/expect.2 | 7 - tests/f_dup_ba/image.gz | Bin 4668 -> 0 bytes tests/f_dup_ba/name | 1 - tests/f_dup_de/script | 6 - tests/f_dup_resize/script | 8 +- tests/f_dupdot/expect.1 | 4 +- tests/f_end-bitmap/expect.1 | 3 + tests/f_eofblocks/expect.1 | 13 - tests/f_eofblocks/expect.2 | 7 - tests/f_eofblocks/image.gz | Bin 1364 -> 0 bytes tests/f_eofblocks/name | 1 - tests/f_expand/expect.1.gz | Bin 13462 -> 13440 bytes tests/f_ext_journal/name | 1 - tests/f_ext_zero_len/expect.1 | 13 - tests/f_ext_zero_len/expect.2 | 7 - tests/f_ext_zero_len/image.gz | Bin 576 -> 0 bytes tests/f_ext_zero_len/name | 1 - tests/f_extent_interior_start_lblk/expect.1 | 12 - tests/f_extent_interior_start_lblk/expect.2 | 7 - tests/f_extent_interior_start_lblk/image.gz | Bin 603 -> 0 bytes tests/f_extent_interior_start_lblk/name | 1 - tests/f_extent_oobounds/expect.1 | 24 - tests/f_extent_oobounds/expect.2 | 7 - tests/f_extent_oobounds/script | 42 - tests/f_h_badnode/script | 3 +- tests/f_h_badroot/script | 3 +- tests/f_h_normal/script | 3 +- tests/f_h_reindex/script | 3 +- tests/f_h_unsigned/script | 3 +- tests/f_illbbitmap/expect.1 | 1 - tests/f_illibitmap/expect.1 | 1 - tests/f_illitable/expect.1 | 1 - tests/f_illitable_flexbg/expect.1 | 11 +- tests/f_imagic_fs/script | 6 - tests/f_invalid_bad_inode/expect.1 | 11 - tests/f_invalid_bad_inode/expect.2 | 7 - tests/f_invalid_bad_inode/image.gz | Bin 623 -> 0 bytes tests/f_invalid_bad_inode/name | 1 - tests/f_invalid_extent_symlink/expect.1 | 12 - tests/f_invalid_extent_symlink/expect.2 | 7 - tests/f_invalid_extent_symlink/image.gz | Bin 1115 -> 0 bytes tests/f_invalid_extent_symlink/name | 1 - tests/f_jnl_32bit/expect.0 | 567 -- tests/f_jnl_32bit/expect.1 | 16 - tests/f_jnl_32bit/expect.2 | 7 - tests/f_jnl_32bit/image.gz | Bin 44544 -> 0 bytes tests/f_jnl_32bit/name | 1 - tests/f_jnl_32bit/script | 4 - tests/f_jnl_64bit/expect.0 | 928 --- tests/f_jnl_64bit/expect.1 | 16 - tests/f_jnl_64bit/expect.2 | 7 - tests/f_jnl_64bit/image.gz | Bin 118573 -> 0 bytes tests/f_jnl_64bit/name | 1 - tests/f_jnl_64bit/script | 4 - tests/f_jnl_errno/expect.0 | 47 - tests/f_jnl_errno/expect.1 | 9 - tests/f_jnl_errno/expect.2 | 7 - tests/f_jnl_errno/image.gz | Bin 8822 -> 0 bytes tests/f_jnl_errno/name | 1 - tests/f_jnl_errno/script | 4 - tests/f_lpf/expect.1 | 2 +- tests/f_miss_blk_bmap/expect.1 | 1 - tests/f_misstable/expect.1 | 1 - tests/f_mmp/name | 1 - tests/f_mmp/script | 74 - tests/f_mmp_garbage/expect.1 | 9 - tests/f_mmp_garbage/expect.2 | 7 - tests/f_mmp_garbage/name | 1 - tests/f_mmp_garbage/script | 27 - tests/f_okgroup/expect.1 | 4 +- tests/f_orphan_dotdot_ft/expect.1 | 12 +- tests/f_orphan_extents_inode/expect.1 | 10 - tests/f_orphan_extents_inode/expect.2 | 7 - tests/f_orphan_extents_inode/image.gz | Bin 564 -> 0 bytes tests/f_orphan_extents_inode/name | 1 - tests/f_orphan_indirect_inode/expect.1 | 3 - tests/f_orphan_indirect_inode/expect.2 | 7 - tests/f_orphan_indirect_inode/image.gz | Bin 592 -> 0 bytes tests/f_orphan_indirect_inode/name | 1 - tests/f_orphan_indirect_inode/script | 2 - tests/f_overfsblks/expect.1 | 1 - tests/f_preen/expect.1 | 1 - tests/f_rehash_dir/name | 1 - tests/f_resize_inode/expect | 16 +- tests/f_resize_inode/script | 59 +- tests/f_summary_counts/expect.1 | 6 + tests/f_toobig_extent_dir/expect.1 | 12 - tests/f_toobig_extent_dir/expect.2 | 7 - tests/f_toobig_extent_dir/image.gz | Bin 822 -> 0 bytes tests/f_toobig_extent_dir/name | 1 - tests/f_uninit_ext_past_eof/expect.1 | 7 - tests/f_uninit_ext_past_eof/expect.2 | 7 - tests/f_uninit_ext_past_eof/image.gz | Bin 5102 -> 0 bytes tests/f_uninit_ext_past_eof/name | 1 - tests/f_uninit_ext_past_eof2/expect.1 | 7 - tests/f_uninit_ext_past_eof2/expect.2 | 7 - tests/f_uninit_ext_past_eof2/image.gz | Bin 989 -> 0 bytes tests/f_uninit_ext_past_eof2/name | 1 - tests/f_uninit_last_uninit/script | 6 - tests/f_unused_itable/expect.1 | 7 +- tests/f_unused_itable/name | 2 +- tests/f_zero_group/expect.1 | 1 - tests/f_zero_inode_size/expect.1 | 1 - tests/f_zero_super/expect.1 | 1 - tests/f_zero_xattr/expect.1 | 7 - tests/f_zero_xattr/image.gz | Bin 707 -> 0 bytes tests/f_zero_xattr/name | 1 - tests/f_zero_xattr/script | 2 - tests/filter.sed | 19 - tests/filter_dumpe2fs | 14 + tests/i_e2image/i_e2image.md5 | 15 - tests/i_e2image/image1024.orig.bz2 | Bin 322312 -> 0 bytes tests/i_e2image/image2048.orig.bz2 | Bin 321388 -> 0 bytes tests/i_e2image/image4096.orig.bz2 | Bin 312342 -> 0 bytes tests/i_e2image/script | 59 - tests/m_bigjournal/expect.1 | 573 -- tests/m_bigjournal/script | 4 - tests/m_dasd_bs/expect.1 | 7 +- tests/m_desc_size_128/expect.1 | 849 --- tests/m_desc_size_128/script | 4 - tests/m_extent_journal/expect.1 | 124 - tests/m_extent_journal/script | 4 - tests/m_large_file/expect.1 | 7 +- tests/m_meta_bg/expect.1 | 7 +- tests/m_mkfs_overhead/expect | 1 - tests/m_mkfs_overhead/expect.1 | 10 + tests/m_mkfs_overhead/script | 30 +- tests/m_mmp/expect.1 | 77 - tests/m_mmp/script | 15 - tests/m_no_opt/expect.1 | 7 +- tests/m_quota/expect.1 | 172 - tests/m_quota/script | 8 - tests/m_raid_opt/expect.1 | 7 +- tests/m_raid_opt/script | 2 +- tests/m_root_owner/expect.1 | 65 - tests/m_root_owner/script | 4 - tests/m_std/expect.1 | 7 +- tests/m_uninit/expect.1 | 7 +- tests/mke2fs.conf.in | 4 - tests/progs/Makefile.in | 7 +- tests/progs/crcsum.c | 67 - tests/progs/test_icount.c | 4 +- tests/r_1024_small_bg/script | 27 - tests/r_64bit_big_expand/script | 31 - tests/r_bigalloc_big_expand/script | 31 - tests/r_ext4_big_expand/script | 31 - tests/r_ext4_small_bg/script | 27 - tests/r_inline_xattr/expect | 10 +- tests/r_inline_xattr/script | 20 +- tests/r_min_itable/expect | 15 - tests/r_min_itable/image.gz | Bin 3597 -> 0 bytes tests/r_min_itable/name | 1 - tests/r_min_itable/script | 45 - tests/r_move_itable/expect | 32 +- tests/r_move_itable/script | 50 +- tests/r_resize_inode/expect | 19 +- tests/r_resize_inode/script | 44 +- tests/run_e2fsck | 41 +- tests/run_mke2fs | 18 +- tests/scripts/mkdup | 49 - tests/scripts/resize_test | 155 - tests/t_ext_jnl_rm/script | 26 - tests/t_mmp_1on/name | 1 - tests/t_mmp_1on/script | 39 - tests/t_mmp_2off/name | 1 - tests/t_mmp_2off/script | 39 - tests/t_quota_1on/name | 1 - tests/t_quota_1on/script | 42 - tests/t_quota_2off/name | 1 - tests/t_quota_2off/script | 35 - tests/test_config | 10 +- tests/test_one.in | 69 - tests/test_post | 17 - tests/test_script.in | 61 +- tests/u_mke2fs/script | 12 +- tests/u_tune2fs/script | 12 +- util/Makefile.in | 7 +- util/Makefile.pq | 10 - util/all.exclude | 2 +- util/install-symlink.in | 89 - util/subset.exclude | 2 +- util/subst.c | 7 +- util/subst.conf.in | 3 - util/symlinks.c | 387 -- version.h | 4 +- wordwrap.pl | 4 +- 606 files changed, 31189 insertions(+), 89536 deletions(-) delete mode 100644 .hgignore create mode 100644 MODULE_LICENSE_GPL delete mode 100644 README.subset delete mode 100644 TODO mode change 100644 => 100755 config/config.guess mode change 100644 => 100755 config/config.sub delete mode 100644 contrib/fallocate.c delete mode 100755 contrib/populate-extfs.sh delete mode 100644 contrib/spd_readdir.c create mode 100644 debian/comerr-dev.files delete mode 100644 debian/comerr-dev.files.in delete mode 100644 debian/copyright delete mode 100644 debian/e2fsck-static.preinst create mode 100644 debian/e2fslibs-dev.files delete mode 100644 debian/e2fslibs-dev.files.in create mode 100644 debian/e2fslibs.copyright create mode 100644 debian/e2fslibs.files delete mode 100644 debian/e2fslibs.files.in create mode 100644 debian/e2fsprogs.copyright delete mode 100644 debian/e2fsprogs.preinst create mode 100644 debian/libblkid-dev.files delete mode 100644 debian/libblkid-dev.files.in create mode 100644 debian/libblkid1.files delete mode 100644 debian/libblkid1.files.in create mode 100644 debian/libcomerr2.files delete mode 100644 debian/libcomerr2.files.in create mode 100644 debian/libss2.files delete mode 100644 debian/libss2.files.in create mode 100644 debian/libuuid1.files delete mode 100644 debian/libuuid1.files.in delete mode 100755 debian/scripts/test-backtrace delete mode 100644 debian/source/format create mode 100644 debian/ss-dev.files delete mode 100644 debian/ss-dev.files.in create mode 100644 debian/uuid-dev.files delete mode 100644 debian/uuid-dev.files.in delete mode 100644 debugfs/extent_cmds.ct delete mode 100644 debugfs/extent_inode.c delete mode 100644 debugfs/filefrag.c delete mode 100644 debugfs/ro_debug_cmds.ct delete mode 100644 debugfs/zap.c create mode 100644 e2fsck/MODULE_LICENSE_GPL delete mode 100644 e2fsck/Makefile.pq delete mode 100644 e2fsck/logfile.c delete mode 100644 e2fsck/quota.c delete mode 100644 e2fsck/sigcatcher.c create mode 100644 e2fsprogs.spec create mode 100644 lib/blkid/MODULE_LICENSE_LGPL delete mode 100644 lib/config.h.in delete mode 100644 lib/dirpaths.h.in create mode 100644 lib/e2p/MODULE_LICENSE_LGPL create mode 100644 lib/et/MODULE_LICENSE_MIT create mode 100644 lib/ext2fs/MODULE_LICENSE_LGPL delete mode 100644 lib/ext2fs/Makefile.pq delete mode 100644 lib/ext2fs/blkmap64_ba.c delete mode 100644 lib/ext2fs/blkmap64_rb.c delete mode 100644 lib/ext2fs/blknum.c delete mode 100644 lib/ext2fs/bmap64.h delete mode 100644 lib/ext2fs/crc32c.c delete mode 100644 lib/ext2fs/crc32c_defs.h create mode 100644 lib/ext2fs/extent_dbg.ct delete mode 100644 lib/ext2fs/gen_bitmap64.c delete mode 100644 lib/ext2fs/gen_crc32ctable.c delete mode 100644 lib/ext2fs/mmp.c delete mode 100644 lib/ext2fs/progress.c delete mode 100644 lib/ext2fs/punch.c delete mode 100644 lib/ext2fs/qcow2.c delete mode 100644 lib/ext2fs/qcow2.h delete mode 100644 lib/ext2fs/rbtree.c delete mode 100644 lib/ext2fs/rbtree.h create mode 100644 lib/ext2fs/sparse.c delete mode 100644 lib/ext2fs/symlink.c delete mode 100644 lib/ext2fs/tst_bitmaps.c delete mode 100644 lib/ext2fs/tst_bitmaps_cmd.ct delete mode 100644 lib/ext2fs/tst_bitmaps_cmds delete mode 100644 lib/ext2fs/tst_bitmaps_exp delete mode 100644 lib/ext2fs/tst_fs_struct.c delete mode 100644 lib/ext2fs/tst_inode_size.c delete mode 100644 lib/quota/Android.mk delete mode 100644 lib/quota/Makefile.in delete mode 100644 lib/quota/common.h delete mode 100644 lib/quota/dqblk_v2.h delete mode 100644 lib/quota/mkquota.c delete mode 100644 lib/quota/mkquota.h delete mode 100644 lib/quota/quota.pc.in delete mode 100644 lib/quota/quotaio.c delete mode 100644 lib/quota/quotaio.h delete mode 100644 lib/quota/quotaio_tree.c delete mode 100644 lib/quota/quotaio_tree.h delete mode 100644 lib/quota/quotaio_v2.c delete mode 100644 lib/quota/quotaio_v2.h create mode 100644 lib/ss/MODULE_LICENSE_MIT create mode 100644 lib/uuid/MODULE_LICENSE_BSD_LIKE create mode 100644 misc/MODULE_LICENSE_GPL delete mode 100644 misc/e4defrag.8.in delete mode 100644 misc/e4defrag.c delete mode 100644 misc/ext4.5.in delete mode 100644 misc/mke2fs-hurd.conf create mode 100644 misc/mke2fs.conf delete mode 100644 misc/mke2fs.conf.in create mode 100644 resize/MODULE_LICENSE_GPL delete mode 100644 resize/Makefile.pq delete mode 100644 resize/resource_track.c delete mode 100755 resize/test-resize delete mode 100644 tests/d_special_files/expect delete mode 100644 tests/d_special_files/name delete mode 100644 tests/d_special_files/script delete mode 100644 tests/f_desc_size_128/expect.1 delete mode 100644 tests/f_desc_size_128/expect.2 delete mode 100644 tests/f_desc_size_128/image.gz delete mode 100644 tests/f_desc_size_128/name delete mode 100644 tests/f_desc_size_bad/expect.1 delete mode 100644 tests/f_desc_size_bad/expect.2 delete mode 100644 tests/f_desc_size_bad/script delete mode 100644 tests/f_dup_ba/expect.1 delete mode 100644 tests/f_dup_ba/expect.2 delete mode 100644 tests/f_dup_ba/image.gz delete mode 100644 tests/f_dup_ba/name delete mode 100644 tests/f_eofblocks/expect.1 delete mode 100644 tests/f_eofblocks/expect.2 delete mode 100644 tests/f_eofblocks/image.gz delete mode 100644 tests/f_eofblocks/name delete mode 100644 tests/f_ext_journal/name delete mode 100644 tests/f_ext_zero_len/expect.1 delete mode 100644 tests/f_ext_zero_len/expect.2 delete mode 100644 tests/f_ext_zero_len/image.gz delete mode 100644 tests/f_ext_zero_len/name delete mode 100644 tests/f_extent_interior_start_lblk/expect.1 delete mode 100644 tests/f_extent_interior_start_lblk/expect.2 delete mode 100644 tests/f_extent_interior_start_lblk/image.gz delete mode 100644 tests/f_extent_interior_start_lblk/name delete mode 100644 tests/f_extent_oobounds/expect.1 delete mode 100644 tests/f_extent_oobounds/expect.2 delete mode 100644 tests/f_extent_oobounds/script delete mode 100644 tests/f_invalid_bad_inode/expect.1 delete mode 100644 tests/f_invalid_bad_inode/expect.2 delete mode 100644 tests/f_invalid_bad_inode/image.gz delete mode 100644 tests/f_invalid_bad_inode/name delete mode 100644 tests/f_invalid_extent_symlink/expect.1 delete mode 100644 tests/f_invalid_extent_symlink/expect.2 delete mode 100644 tests/f_invalid_extent_symlink/image.gz delete mode 100644 tests/f_invalid_extent_symlink/name delete mode 100644 tests/f_jnl_32bit/expect.0 delete mode 100644 tests/f_jnl_32bit/expect.1 delete mode 100644 tests/f_jnl_32bit/expect.2 delete mode 100644 tests/f_jnl_32bit/image.gz delete mode 100644 tests/f_jnl_32bit/name delete mode 100644 tests/f_jnl_32bit/script delete mode 100644 tests/f_jnl_64bit/expect.0 delete mode 100644 tests/f_jnl_64bit/expect.1 delete mode 100644 tests/f_jnl_64bit/expect.2 delete mode 100644 tests/f_jnl_64bit/image.gz delete mode 100644 tests/f_jnl_64bit/name delete mode 100644 tests/f_jnl_64bit/script delete mode 100644 tests/f_jnl_errno/expect.0 delete mode 100644 tests/f_jnl_errno/expect.1 delete mode 100644 tests/f_jnl_errno/expect.2 delete mode 100644 tests/f_jnl_errno/image.gz delete mode 100644 tests/f_jnl_errno/name delete mode 100644 tests/f_jnl_errno/script delete mode 100644 tests/f_mmp/name delete mode 100644 tests/f_mmp/script delete mode 100644 tests/f_mmp_garbage/expect.1 delete mode 100644 tests/f_mmp_garbage/expect.2 delete mode 100644 tests/f_mmp_garbage/name delete mode 100644 tests/f_mmp_garbage/script delete mode 100644 tests/f_orphan_extents_inode/expect.1 delete mode 100644 tests/f_orphan_extents_inode/expect.2 delete mode 100644 tests/f_orphan_extents_inode/image.gz delete mode 100644 tests/f_orphan_extents_inode/name delete mode 100644 tests/f_orphan_indirect_inode/expect.1 delete mode 100644 tests/f_orphan_indirect_inode/expect.2 delete mode 100644 tests/f_orphan_indirect_inode/image.gz delete mode 100644 tests/f_orphan_indirect_inode/name delete mode 100644 tests/f_orphan_indirect_inode/script delete mode 100644 tests/f_rehash_dir/name delete mode 100644 tests/f_toobig_extent_dir/expect.1 delete mode 100644 tests/f_toobig_extent_dir/expect.2 delete mode 100644 tests/f_toobig_extent_dir/image.gz delete mode 100644 tests/f_toobig_extent_dir/name delete mode 100644 tests/f_uninit_ext_past_eof/expect.1 delete mode 100644 tests/f_uninit_ext_past_eof/expect.2 delete mode 100644 tests/f_uninit_ext_past_eof/image.gz delete mode 100644 tests/f_uninit_ext_past_eof/name delete mode 100644 tests/f_uninit_ext_past_eof2/expect.1 delete mode 100644 tests/f_uninit_ext_past_eof2/expect.2 delete mode 100644 tests/f_uninit_ext_past_eof2/image.gz delete mode 100644 tests/f_uninit_ext_past_eof2/name delete mode 100644 tests/f_zero_xattr/expect.1 delete mode 100644 tests/f_zero_xattr/image.gz delete mode 100644 tests/f_zero_xattr/name delete mode 100644 tests/f_zero_xattr/script delete mode 100644 tests/filter.sed create mode 100644 tests/filter_dumpe2fs delete mode 100644 tests/i_e2image/i_e2image.md5 delete mode 100644 tests/i_e2image/image1024.orig.bz2 delete mode 100644 tests/i_e2image/image2048.orig.bz2 delete mode 100644 tests/i_e2image/image4096.orig.bz2 delete mode 100644 tests/i_e2image/script delete mode 100644 tests/m_bigjournal/expect.1 delete mode 100644 tests/m_bigjournal/script delete mode 100644 tests/m_desc_size_128/expect.1 delete mode 100644 tests/m_desc_size_128/script delete mode 100644 tests/m_extent_journal/expect.1 delete mode 100644 tests/m_extent_journal/script delete mode 100644 tests/m_mkfs_overhead/expect create mode 100644 tests/m_mkfs_overhead/expect.1 delete mode 100644 tests/m_mmp/expect.1 delete mode 100644 tests/m_mmp/script delete mode 100644 tests/m_quota/expect.1 delete mode 100644 tests/m_quota/script delete mode 100644 tests/m_root_owner/expect.1 delete mode 100644 tests/m_root_owner/script delete mode 100644 tests/progs/crcsum.c delete mode 100644 tests/r_1024_small_bg/script delete mode 100644 tests/r_64bit_big_expand/script delete mode 100644 tests/r_bigalloc_big_expand/script delete mode 100644 tests/r_ext4_big_expand/script delete mode 100644 tests/r_ext4_small_bg/script delete mode 100644 tests/r_min_itable/expect delete mode 100644 tests/r_min_itable/image.gz delete mode 100644 tests/r_min_itable/name delete mode 100644 tests/r_min_itable/script delete mode 100755 tests/scripts/mkdup delete mode 100755 tests/scripts/resize_test delete mode 100644 tests/t_ext_jnl_rm/script delete mode 100644 tests/t_mmp_1on/name delete mode 100644 tests/t_mmp_1on/script delete mode 100644 tests/t_mmp_2off/name delete mode 100644 tests/t_mmp_2off/script delete mode 100644 tests/t_quota_1on/name delete mode 100644 tests/t_quota_1on/script delete mode 100644 tests/t_quota_2off/name delete mode 100644 tests/t_quota_2off/script delete mode 100644 tests/test_one.in delete mode 100755 tests/test_post delete mode 100644 util/Makefile.pq delete mode 100644 util/install-symlink.in delete mode 100644 util/symlinks.c diff --git a/.hgignore b/.hgignore deleted file mode 100644 index bc0bb6bf..00000000 --- a/.hgignore +++ /dev/null @@ -1,7 +0,0 @@ -^autom4te.cache -^build -^FILES -^core -~$ -^.pc -^patches diff --git a/MCONFIG.in b/MCONFIG.in index 557b37ab..75cf3de6 100644 --- a/MCONFIG.in +++ b/MCONFIG.in @@ -35,46 +35,30 @@ datadir = @datadir@ @ifGNUmake@ V = @ifGNUmake@ ifeq ($(strip $(V)),) @ifGNUmake@ # E = @echo -@ifGNUmake@ # ES = echo @ifGNUmake@ # Q = @ @ifGNUmake@ E = @E@ -@ifGNUmake@ ES = @ES@ @ifGNUmake@ Q = @Q@ @ifGNUmake@ else @ifGNUmake@ E = @\# -@ifGNUmake@ ES = \# @ifGNUmake@ Q = @ifGNUmake@ endif @ifNotGNUmake@ E = @E@ -@ifNotGNUmake@ ES = @ES@ @ifNotGNUmake@ Q = @Q@ -@ifGNUmake@ CHECK=sparse -@ifGNUmake@ CHECK_OPTS=-Wsparse-all -Wno-transparent-union -Wno-return-void -Wno-undef -Wno-non-pointer-null -@ifGNUmake@ ifeq ("$(C)", "2") -@ifGNUmake@ CHECK_CMD=$(CHECK) $(CHECK_OPTS) -Wbitwise -D__CHECK_ENDIAN__ -@ifGNUmake@ else -@ifGNUmake@ ifeq ("$(C)", "1") -@ifGNUmake@ CHECK_CMD=$(CHECK) $(CHECK_OPTS) -@ifGNUmake@ else -@ifGNUmake@ CHECK_CMD=@true -@ifGNUmake@ endif -@ifGNUmake@ endif - -@ifNotGNUmake@ CHECK_CMD=@true - CC = @CC@ BUILD_CC = @BUILD_CC@ +DEFS = -DLOCALEDIR=\"$(localedir)\" -DROOT_SYSCONFDIR=\"$(root_sysconfdir)\" @DEFS@ CFLAGS = @CFLAGS@ -CPPFLAGS = @INCLUDES@ -ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS) +CPPFLAGS = -I$(top_builddir)/lib -I$(top_srcdir)/lib @CPPFLAGS@ +INTL_FLAGS = @INTL_FLAGS@ +ALL_CFLAGS = $(CPPFLAGS) $(DEFS) $(USE_WFLAGS) $(CFLAGS) $(XTRA_CFLAGS) \ + $(INTL_FLAGS) $(LINUX_INCLUDE) LDFLAGS = @LDFLAGS@ ALL_LDFLAGS = $(LDFLAGS) @LDFLAG_DYNAMIC@ LDFLAGS_STATIC = $(LDFLAGS) @LDFLAG_STATIC@ BUILD_CFLAGS = @BUILD_CFLAGS@ BUILD_LDFLAGS = @BUILD_LDFLAGS@ -RDYNAMIC = @RDYNAMIC@ LINK_BUILD_FLAGS = @LINK_BUILD_FLAGS@ LINK_INSTALL_FLAGS = @LINK_INSTALL_FLAGS@ RM = @RM@ @@ -107,13 +91,11 @@ LIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ @PRIVATE_LIBS_CMT@ @SEM_INIT_LIB@ LIBE2P = $(LIB)/libe2p@LIB_EXT@ LIBEXT2FS = $(LIB)/libext2fs@LIB_EXT@ LIBUUID = @LIBUUID@ @SOCKET_LIB@ -LIBQUOTA = @STATIC_LIBQUOTA@ LIBBLKID = @LIBBLKID@ @PRIVATE_LIBS_CMT@ $(LIBUUID) LIBINTL = @LIBINTL@ DEPLIBSS = $(LIB)/libss@LIB_EXT@ DEPLIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ DEPLIBUUID = @DEPLIBUUID@ -DEPLIBQUOTA = @DEPSTATIC_LIBQUOTA@ DEPLIBBLKID = @DEPLIBBLKID@ @PRIVATE_LIBS_CMT@ $(DEPLIBUUID) STATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@ @DLOPEN_LIB@ @@ -121,12 +103,10 @@ STATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@ @SEM_INIT_LIB@ STATIC_LIBE2P = $(LIB)/libe2p@STATIC_LIB_EXT@ STATIC_LIBEXT2FS = $(LIB)/libext2fs@STATIC_LIB_EXT@ STATIC_LIBUUID = @STATIC_LIBUUID@ @SOCKET_LIB@ -STATIC_LIBQUOTA = @STATIC_LIBQUOTA@ STATIC_LIBBLKID = @STATIC_LIBBLKID@ $(STATIC_LIBUUID) DEPSTATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@ DEPSTATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@ DEPSTATIC_LIBUUID = @DEPSTATIC_LIBUUID@ -DEPSTATIC_LIBQUOTA = @DEPSTATIC_LIBQUOTA@ DEPSTATIC_LIBBLKID = @DEPSTATIC_LIBBLKID@ $(DEPSTATIC_LIBUUID) PROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@ @DLOPEN_LIB@ @@ -134,14 +114,16 @@ PROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@ @SEM_INIT_LIB@ PROFILED_LIBE2P = $(LIB)/libe2p@PROFILED_LIB_EXT@ PROFILED_LIBEXT2FS = $(LIB)/libext2fs@PROFILED_LIB_EXT@ PROFILED_LIBUUID = @PROFILED_LIBUUID@ @SOCKET_LIB@ -PROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@ PROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(PROFILED_LIBUUID) DEPPROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@ DEPPROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@ DEPPROFILED_LIBUUID = @PROFILED_LIBUUID@ -DEPPROFILED_LIBQUOTA = @PROFILED_LIBQUOTA@ DEPPROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(DEPPROFILED_LIBUUID) +# An include directive pointing to a directory holding enough linux-like +# include files to satisfy some programs here +LINUX_INCLUDE=@LINUX_INCLUDE@ + # # A fast substitution command for fixing up man pages, shell scripts, etc. # @@ -153,23 +135,6 @@ DEP_SUBSTITUTE= $(top_builddir)/util/subst $(SUBST_CONF) $(top_builddir)/util/subst: cd $(top_builddir)/util ; $(MAKE) subst -# -# Script for installing symlinks (for shared libraries) -# -$(top_builddir)/util/install-symlink: $(top_srcdir)/util/install-symlink.in \ - $(top_builddir)/config.status - cd $(top_builddir); CONFIG_FILES=util/install-symlink ./config.status - chmod +x $(top_builddir)/util/install-symlink - -$(top_builddir)/util/symlinks: - cd $(top_builddir)/util ; $(MAKE) symlinks - -INSTALL_SYMLINK = /bin/sh $(top_builddir)/util/install-symlink \ - @SYMLINK_RELATIVE@ \ - --symlinks=$(top_builddir)/util/symlinks -DEP_INSTALL_SYMLINK = $(top_builddir)/util/install-symlink \ - $(top_builddir)/util/symlinks - # # Warning flags # @@ -187,7 +152,7 @@ WFLAGS= -std=c99 -D_XOPEN_SOURCE=600 -D_GNU_SOURCE \ -UENABLE_NLS gcc-wall-new: - (make CFLAGS="@CFLAGS@ $(WFLAGS)" > /dev/null) 2>&1 | sed -f $(top_srcdir)/util/gcc-wall-cleanup + (make USE_WFLAGS="$(WFLAGS)" > /dev/null) 2>&1 | sed -f $(top_srcdir)/util/gcc-wall-cleanup gcc-wall: make clean > /dev/null @@ -225,14 +190,6 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(top_builddir)/MCONFIG: $(top_srcdir)/MCONFIG.in $(top_builddir)/config.status cd $(top_builddir); CONFIG_FILES=MCONFIG ./config.status -$(top_builddir)/lib/config.h: $(top_srcdir)/lib/config.h.in \ - $(top_builddir)/config.status - cd $(top_builddir); CONFIG_FILES=lib/config.h ./config.status - -$(top_builddir)/lib/dirpaths.h: $(DEP_SUBSTITUTE) $(top_srcdir)/lib/dirpaths.h.in - $(E) " SUBST $@" - $(Q) $(SUBSTITUTE) $(top_srcdir)/lib/dirpaths.h.in $@ - $(top_builddir)/lib/substitute_sh: $(top_srcdir)/lib/substitute_sh.in \ $(top_builddir)/config.status cd $(top_builddir); CONFIG_FILES=lib/substitute_sh ./config.status @@ -246,7 +203,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/MCONFIG \ cd $(top_builddir); CONFIG_FILES=$(my_dir)/Makefile ./config.status @MAINTAINER_CMT@$(top_srcdir)/configure: $(top_srcdir)/configure.in -@MAINTAINER_CMT@ cd $(top_srcdir) && autoheader && autoconf +@MAINTAINER_CMT@ cd $(top_srcdir) && autoconf # # Make depend magic... diff --git a/MODULE_LICENSE_GPL b/MODULE_LICENSE_GPL new file mode 100644 index 00000000..e69de29b diff --git a/Makefile.in b/Makefile.in index f327d19d..5708efde 100644 --- a/Makefile.in +++ b/Makefile.in @@ -13,14 +13,12 @@ INSTALL = @INSTALL@ @DEBUGFS_CMT@DEBUGFS_DIR= debugfs @UUID_CMT@UUID_LIB_SUBDIR= lib/uuid @BLKID_CMT@BLKID_LIB_SUBDIR= lib/blkid -QUOTA_LIB_SUBDIR= lib/quota -LIB_SUBDIRS=lib/et lib/ss lib/e2p $(UUID_LIB_SUBDIR) lib/ext2fs $(BLKID_LIB_SUBDIR) $(QUOTA_LIB_SUBDIR) intl +LIB_SUBDIRS=lib/et lib/ss lib/e2p $(UUID_LIB_SUBDIR) lib/ext2fs $(BLKID_LIB_SUBDIR) intl PROG_SUBDIRS=e2fsck $(DEBUGFS_DIR) misc $(RESIZE_DIR) tests/progs po SUBDIRS=util $(LIB_SUBDIRS) $(PROG_SUBDIRS) tests -SUBS= util/subst.conf lib/config.h lib/dirpaths.h \ - lib/ext2fs/ext2_types.h lib/blkid/blkid_types.h lib/uuid/uuid_types.h +SUBS= lib/ext2fs/ext2_types.h lib/blkid/blkid_types.h lib/uuid/uuid_types.h TAR=tar @@ -73,8 +71,6 @@ install-libs: install-libs-recursive uninstall-libs: uninstall-libs-recursive -check-recursive: all - TAGS clean-recursive distclean-recursive depend-recursive check-recursive \ mostlyclean-recursive realclean-recursive: @for subdir in $(SUBDIRS); do \ @@ -144,5 +140,5 @@ distclean-local: clean-local realclean-local: distclean-local $(RM) -f configure -check:: all check-recursive +check:: subs check-recursive diff --git a/README b/README index 85645a6d..5abc7890 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ - This is the new version (1.42.9) of the second extended file + This is the new version (1.41.14) of the second extended file system management programs. From time to time, I release new versions of e2fsprogs, to fix diff --git a/README.subset b/README.subset deleted file mode 100644 index 70ed4b20..00000000 --- a/README.subset +++ /dev/null @@ -1,15 +0,0 @@ -This distribution contains a subset of the e2fsprogs package; it -contains the base libraries (ss, et, uuid, blkid) which may be used by -other non-ext2-related applications. - -This may be useful for non-Linux operating systems that need these -libraries for GNOME, but who do not need the ext2/ext3 filesystem -utilities. - -The full e2fsprogs distributions can be found at the e2fsprogs web -page, which is: - - http://e2fsprogs.sourceforge.net - -In case of bugs in these libraries, please contact Ted Ts'o at -tytso@mit.edu or tytso@alum.mit.edu. diff --git a/RELEASE-NOTES b/RELEASE-NOTES index e3db1b0f..574ce91d 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -1,1255 +1,3 @@ -E2fsprogs 1.42.9 (December 28, 2013) -==================================== - -Mke2fs will detect an attempt to create a file system on a loop -mounted file and complain without the -FF option. Also fixed mke2fs -so it allows the creation of a file system on a mounted device with -two -F options, as documented in the man page, instead of three -F -options. - -Fixed a large number of bugs in resize2fs, e2fsck, debugfs, and -libext2fs to correctly handle bigalloc and 64-bit file systems. There -were many corner cases that had not been noticed in previous uses of -these file systems, since they are not as common. Some of the bugs -could cause file system corruption or data loss, so users of 64-bit or -bigalloc file systems are strongly urged to upgrade to e2fsprogs -1.42.9. - -The tune2fs program will now not allow changing the uuid on a mounted -file system which has the uninit_bg feature enabled. This avoids a -nasty race where the kernel and tune2fs are both retrying rewrite the -group descriptors at the same time, with different ideas about what -the UUID should be. - -When e2fsck is rehashing an extent-mapped directory, it's possible -(although very rare) that an extent block will need to be allocated; -fix e2fsck to make sure that the block gets marked as used. - -Mke2fs will now properly set the LARGE_FILE feature when creating a -journal >= 2GB --- which can happen when using 64k block size. - -Fixed debugfs so that its freei command will correctly handle a request -to free a range of consecutive inodes. - -Fixed 2fsck so it will not erroneously complain that an external journal -is invalid if it is exactly 2**32 blocks. - -Fixed e2fsck so it won't try checking for, and adding, a missing -lost+found directory when running in read-only mode. - -Fixed e2image to avoid some buffer overruns which would cause it to when -creating a "standard (non-raw, non-qcow2) image file. Standard -e2image files are actually very rarely used, so we didn't notice when -the changes to enable the qcow2 format broke this e2image mode. - -Fixed mke2fs so that the extended option "-E resize=NNN" will not turn -on the resize_inode feature when the meta_bg feature is set, since -these two features can not be set at the same time. - -Fixed tune2fs so that when it disables the quota feature, it updates all -of the backup superblocks. - -Fixed dumpe2fs that would cause it to abort when run using an image file -when trying to print the journal information (which is not present in -an e2image created image file). - -Fixed a potential integer overflow in e2reefrag. -(Addresses-Debian-Bug: #718205) - -Enhance debugfs so that when copying a sparse file from a native file -system into the file system image using the "write" command, it will -create a sparse file into the destination file system. - -Enhanced debugfs so it can support a command line which is up to 8k -long. - -E2image will refuse (unless the -f option is specified to force the -issue) to create a raw or qcow image using a mounted file system, -unless the -f option is specified to force the issue. - -E2image has been optimized for using it to efficiently copy a file -system by only copying the allocated blocks, by using the options -ra. -New options (-o and -O) have been added so that a source and -destination offset can be given. The -p option will print progress -information so the user will know how far along the copy is going. -And finally, the new option -c is useful for updating a file system on -an SSD, by avoiding unnecessary writes. E2image can also shift a file -system image by doing an in place move. - -Fix a regression introduced in 1.42.8 which would cause e2fsck to -erroneously report uninitialized extents past the EOF (as determined by -i_size) to be invalid. - -Fixed resize2fs so under a corner case when an inode has a complex -extent tree, it will not corrupt an interior node in the extent tree. - -Fixed resize2fs which would sometimes corrupt a file system when -shrinking a file system to a minimum size using resize2fs -M. -(Addresses Debian Bug: #660793) - -Fixed resize2fs so that it will relocate inode table blocks if this -becomes necessary when shrinking the file system. - -Fixed resize2fs and e2fsck so they will not crash when hit a failure -while operating on a file system with the MMP feature enabled. - -Fixed a bug in debugfs which caused it create an invalid inode when -trying to write a zero-length file. - -E2fsck will no longer crash if it tries to delete an invalid -extent-mapped symlink. - -E2fsck will no longer crash if it comes across an directory which is -larger than 2GB (which is not allowed in valid file systems). - -Fixed debugfs's help texts to fully document all options and otherwise -be more helpful. - -Updated/fixed various man pages. (Addresses Debian Bugs: #586218, -#669730, #698076) - -Fixed various Debian Packaging Issues (#698879, #721365) - - -Programmer's Notes ------------------- - -Fix sparse, gcc -Wall and clang nits. - -Update config.{guess,sub} to the latest version - -Fixed various memory and file descriptor leaks on various error paths, -as well as some missing error return checks, which were found using -Coverity. - -Run sparse against source files when building e2fsprogs with 'make -C=1'. If instead C=2, it configures basic ext2 types for bitwise -checking with sparse, which can help find the (many many) spots where -conversion errors are (possibly) happening. - -Allow the regression test to be run in chrooted environments where -/etc/mtab might be missing. - -The ext2fs_punch() function, which was introduced in 1.42, was broken -in many ways, but this was never noticed since it wasn't used for -anything significant. Some of the bugs include failing when trying to -punch a completely sparse file, failing when punching an extent-mapped -inode when the starting block was at the beginning of the inode, and -not being able to punch a single block (where start_blk == end_block). -It also didn't handle being passed an invalid, too-large ending block -number, and didn't handle properly terminate at the right place when -operating on an indirect-mapped inode. - -Fixed some minor typo's in the error catalog for libext2fs. - -Fixed ext2fs_file_set_size2() so that if it truncates an inode by -setting the file size, to zero the rest of the block to the end of the -file, so that if an ext4 FUSE driver tries to extended the file, that -we don't avoid stale data from being returned. - -Fixed ext2fs_bmap() to disallow clients from trying to map or set -logical blocks which are larger than what an extent-mapped or indirect -block-mapped inode can allow. - -If debugfs (or some userspace program using libext2fs) creates a file -which is larger than 2GB, make sure the large_file feature flag gets -set. - -Fix a bug in ext2fs_link() where if there is multiple empty slots in the -directory which are large enough, the directory entry could get -inserted more than once in the directory. - -If quota support is disabled (which is the default), make sure that -all traces of the quota support is removed from usage messages, man -pages, and tune2fs must not be able to enable the quota file system -feature. (Addresses Red Hat Bugzilla: #1010709) - -The ext2fs_file_write() now updates i_size on a successful write, -instead of only updating i_size wen the file is closed via -ext2fs_file_close(). - -Added a shell script, populate-extfs.sh which uses debugfs to populate -an ext2/3/4 file system image from a given directory. It is similar -to the genext2fs program, but it supports ext3 and ext4 file system. - -Add changes to the libext2fs library to support block group -descriptors larger than 64 bytes (for future compatibility). - -Fixed an off-by-one bug in ext2fs_file_set_size2() so that it will not -leave an extra block in the file when truncating the file down to -size. - -The html version info pages are now built using makeinfo --html -instead of the unmaintained and now-obsolete texi2html program. - - -E2fsprogs 1.42.8 (June 20, 2013) -================================ - -As a part of mke2fs's option parsing cleanup, the use of the -R option -will give a warning that it is depreated (it has been so documented -since 2005) and -E should be used instead. - -Mke2fs will not give warnings about the bigalloc and quota options in -quiet mode. - -If an invalid journal size is given to mke2fs, it will now complain -and exit sooner. - -Debugfs was erroneously giving spurious error messages for certain -extent_inode subcommands which take arguments (split_node, -replace_node, and insert_node). This has been fixed. - -Fix the parsing of the 's' (sectors) in parse_num_blocks2, which among -other programs is used by mke2fs. - -Change mke2fs so that it does not set the root directory to the real -uid/gid of the mke2fs process. Add the extended option root_owner to -override this behavior. - -Fix resize2fs when shrinking file systems to make sure that bitmap -blocks aren't left outside the bounds of the shrunken file system. -This could happen with flex_bg file systems that were grown using -the old online resizing algorithm. - -E2fsck will now detect and repair corrupted extent trees which contain -invalid extents at the end of the extent tree leaf block. - -E2fsck will now longer complain about zero length extended attribute -values. - -Fix a regression introduced in e2fsprogs v1.42 which caused e2image -s -to crash. - -Add safety check so tune2fs will not attempt to set the inode size to -be larger than the block size. - -Fix e2fsck so it can check a read-only root file system with an -external journal. (Addresses Debian Bug: #707030 - -Fix off-line resizing of file systems with flex_bg && !resize_inode -(Addresses Debian Bug: #696746) - -Fix e2image with large (> 32-bit) file systems (Addresses Debian Bug: -#703067) - -Enhance chattr to allow clearing the extent flag if the kernel allows -migrating extent based files to use indirect blocks. - -Update German translation. - -Updated/fixed various man pages. (Addresses Debian Bugs: #712429, -#712430, #707609) - -Fixed various Debian Packaging Issues (Addresses Debian Bug #708307) - -Programmer's Notes ------------------- - -Use secure_getenv() in preference to __secure_getenv(). - -Optimize CPU utilization of ext2fs_bg_has_super(). - -Fix ext2fs_llseek() on 32-bit i386 systems to work correctly when -SEEK_CUR is used with large files. - -The ext2fs_read_inode_full() function will no longer use -fs->read_inode() if the caller has requested more than the base 128 -byte inode structure and the inode size is greater than 128 bytes. - -Fix build failure with --enable-jbd-debug. - -Clean up filtering of outputs for the regression tests by using a -common sed script. - -Fix gcc -Wall and clang nits. - - -E2fsprogs 1.42.7 (January 21, 2013) -=================================== - -Add warnings to mke2fs, resize2fs, and tune2fs that the bigalloc and -quota features are still under development. For more information -please see: - * https://ext4.wiki.kernel.org/index.php/Bigalloc - * https://ext4.wiki.kernel.org/index.php/Quota - -Add some new options to filefrag from Lustre's patches to e2fsprogs: - * add -k option to print extents in kB-sized units (like df -k) - * add -b {blocksize} to print extents in blocksize units - * add -e option to print extent format, even when FIBMAP is used - * add -X option to print extents in hexadecimal format - -Fix resize2fs so that it can handle off-line resizes of file systems -with the flex_bg feature but without a resize_inode (or if we run out -of reserved gdt blocks). This also fixes a problem where if the user -creates a filesystem with a restricted number of reserved gdt blocks, -an off-line resize which grows the file system could potentially -result in file system corruption. - -Fix a resize2fs bug which could cause it to corrupt bigalloc file -systems when doing an off-line resize. - -Further optimize resize2fs so it doesn't use quite as much CPU when -resizing very large file systems. - -Fixed 32-bit overflow bugs which could cause resize2fs to fail and -possibly corrupt the file system while resizing 64-bit file systems. - -Fix a bug in mke2fs where parsing "-E resize=NNN" will result in a -mke2fs crash due to a divide-by-zero if the 64bit file system feature -is enabled. - -Add better error checking to mke2fs to check for invalid parameters -when creating bigalloc file system. - -When creating bigalloc filesystems, the -g option to mke2fs will now -specify the number of clusters per block group. - -Add to debugfs the functionality to corrupt a specific file system -block via the "zap_block" command. - -Add to debugfs the functionality to print out a hex dump of a block in -the file system via the "block_dump" command. - -Add to debugfs the functionality to manipulate the extent tree -directly via the "extent_open" command. - -Fixed debugfs's mknod command so that it updates the block group -statistics. - -Fix e2fsck so it can detect and fix inconsistencies in the interior -nodes of an inode's extent tree. - -Fix a potential memory corruption failure in e2fsck's error path if -the call to ext2fs_open2() fails. - -Fix e2fsck if its logging function is enabled in e2fsck.conf, and the -resulting file name for the log file is longer than 100 bytes, that it -properly handles this situation instead of crashing. - -E2fsck will now report the amount of memory that it attempted to -allocate when a memory allocation request fails, to make it easier to -track down the problem. - -Fix mke2fs's handling of the mmp_update_interval option. (Addresses -Lustre Bug: LU-1888) - -E2image can now include all data blocks in the e2image output file -when the user specifies the -a option. - -If e2fsprogs is compiled without --enable-quota, make sure that -tune2fs can not turn on the feature for new-style quota support, since -afterwards, none of the e2fsprogs tools will be willing to touch that -file system. - -Optimize e2fsck's so that it uses much less CPU for large file -systems. This can result in significant speedups, especially on -CPU-constrained systems. This was primarily done by optimizing -libext2fs's bitmap functions. (Addresses Google Bug: #7534813) - -Fix debugfs's htree command so that all its messages are sent through -the pager. - -Fixed debugfs's "dump_file" and "cat" functions work correctly -on file systems whose block size is greater than 8k. - -Fix e2freefrag so it works on 64-bit file systems, and so it uses much -less memory. (Addresses Google Bug: 7269948) - -Update the spd_readdir.c file in the contrib directory to include some -additions which were made in 2008 that didn't get folded into the -version which we checked into the e2fsprogs source tree. These -enhancements include thread safety, support for readdir64_r(), and -safe_getenv() support in case spd_readdir.so is used for setuid binaries. - -Update Czech, Dutch, French, German, Polish, Sweedish, and Vietnamese -translations - -Add a command to debugfs to create symlinks. - -Document the bigalloc feature in the mke2fs man page. (Addresses -Debian Bug: #669730) - - -Programmer's Notes ------------------- - -Fix gcc -Wall nits. - -Fix a spelling typo in the libext2fs texinfo documentation. - -Change the output from "make check" so that tools such as emacs's "M-x -compile" does not mistake the output as containing a compiler error. - -Export two new functions from libext2fs: ext2fs_extent_node_split() -and ext2fs_extent_goto2(). - -The ext2fs_extents_fix_parents() was fixed so it does not modify the -location of the extent handle if its current location is at an -interior node, rather than a leaf node of an inode's extent tree. - -Add a regression test to assure that e2fsck can correctly fix an -inconsistent interior node in an inode's extent tree. - -The ext2fs_{mark,unmark,test}_block_bitmap_range2() functions now -correctly support bigalloc file systems which use store block usage -information in units of clusters. - -Fixed the help text in the configure script for --enable-quota. - -The m68k-specific bitops code has been removed since they were -incorrectly treating bit numbers with the high bit set as signed -integers. Furthermore, modern compilers do a good enough job -optimizing the generic code there is no point in having the m68k -specific asm statements. - -Fixed how we link the test programs so they always use the static -libraries, so that we test using the libraries which we have just -built. - -Update config.guess and config.sub to the latest versions from the GNU -project. - -Fixed the com_err.texinfo file so that it can produce a valid -postscript/pdf printed output. - -Add a regression test which checks debugfs's ability to create -symlinks, named FIFO's, and device nodes. - -Add a function ext2fs_symlink(), which creates symlinks to the -libext2fs library. - -Add debugging code so we can test old kernel interfaces for online -resize to resize2fs. This backwards compatibility checking is keyed -off of the RESIZE2FS_KERNEL_VERSION, which is designed to allow us to -test the functionality of the kernel's older resize ioctls without -needing to install an old version of resize2fs, and to also test a -modern resize2fs's ability to work with older kernels without having -to install an older version of the kernel. - - -E2fsprogs 1.42.6 (September 21, 2012) -===================================== - -When mke2fs creates file systems with lazy itable initialization, the -progress updates for writing the inode table happens so quickly that -on a serial console, the time to write the progress updates can be the -bottleneck. So mke2fs will now only update its progress indicators -once a second. - -Resize2fs will skip initializing the inode tables if the kernel -supports lazy_itable_init, which speeds up growing off-line growth of -uninit_bg file systems significantly. Resize2fs will now also -correctly set the itable_unused field in the block group descriptor to -speed up the first e2fsck after the file system is grown. - -Resize2fs has been fixed so that on-line resizing of meta_bg file -systems work correctly. This is needed to grow file system which are -larger than 16T. - -Resize2fs will now correctly handle resizing file systems to 16TB on -32-bit file systems when "16TB" is specified on the command line. - -Fix mke2fs so that it will be careful to set the reserved blocks ratio -larger than 50%; this can happen when creating small file systems and -when the last block group is dropped because there are not enough -blocks to support the metadata blocks in the last block group. - -Fixed spelling mistake in debugfs's help message. - -Fixed a potential seg fault in e2fsck when there is an I/O error while -reading the superblock. - -Fixed various Debian Packaging Issues (Addresses Debian Bug #677497) - -Updated/fixed various man pages. (Addresses Sourceforge Bug: -#3559210) - -Programmer's Notes ------------------- - -The configure option --enable-relative-symlink was broken so that it -needed to be --enable-symlink-relative-symlinks. We will support both -for at least two years, but then the worng configure option will be -removed. - -Fixed a regression introduced in 1.42.5 so the link order for -e2fsprogs' libraries will be correct for both static and shared -linking. (Addresses Sourceforge Bug: #3554345) - -Add support for e2fsprogs to be compiled using clang/LLVM. - -Fix portability problems on non-Linux systems: avoid compile failures -on systems that don't have malloc.h - -Fix f_mmp regression test suite so that debugfs gets killed if the -test is interrupted. - - - -E2fsprogs 1.42.5 (July 29, 2012) -================================ - -Fixed a bug with mke2fs where if there is only 8 inodes per block -group, the calculation of the number of uninitialized inodes in the -first block group would go negative. This resulted in "mke2fs -N 256 --t ext4 /tmp/foo.img 256m" trying to write so many blocks that /tmp -would run out of space. (Addresses Sourceforge Bug: #3528892) - -Fixed a bug in how e2fsck would uniquify directory entry names. -(AddressesSourceforge Bug: #3540545) - -Previously, e2fsck would only allow a mounted file system to be -checked if it was the root file system and it was mounted read-only. -Now it will allow any file system mounted read-only to be checked if -the -f option is specified. This makes it easier to test how e2fsck -handles checking file systems which are mounted without having to test -on the root file system. - -Fixed a problem if e2fsck where if the root file system is mounted -read-only, e2fsck would not clear an error indication in the journal -superblock. Combined with a kernel bug, this would cause the e2fsck -to check the file system after every single boot. - -The e4defrag program can now handle device symlinks, such as -/dev/mapper/testvg-testlv, instead of insisting on a less -human-friendly name such as /dev/dm-2. (Addresses Red Hat Bugzilla: -#707209) - -Fixed filefrag so it will not crash with a segfault on files from a -virtual file system such as /proc. (e.g., "filefrag -/proc/partitions") - -Fixed filefrag so that it correctly reports the number of extents. -(Addresses Red Hat Bugzilla: #840848) - -Fixed a file descriptor leak in logsave which could cause it to hang. -(Addresses Debian Bug: #682592) - -Fixed e2fsck so that the file system is marked as containing an error -if the user chooses not to fix the quota usage information. - -Fixed tune2fs so that it correctly removes the quota feature when the -last quota inode is removed. - -Fix tune2fs so that after removing a quota inode, the block bitmap is -updated; otherwise, e2fsck would complain after running 'tune2fs -O -^quota '. - -Fix tune2fs so that when converting a file system from using legacy -quota files to the new quota file system feature with hidden quota -files, the accounting for these files is handled correctly so that -e2fsck doesn't complain. - -Improved e2fsck's verbose reporting statistics, and allow the more -verbose reporting to be enabled via /etc/e2fsck.conf. - -Fixed various Debian Packaging Issues (Addresses Debian Bug #678395) - -Updated/fixed various man pages. (Addresses Debian Bugs: #680114) - - -Programmer's Notes ------------------- - -Fixed portability problems on other operating systems (e.g., Hurd and -FreeBsd) caused by the attempted inclusion of . - -Make sure that shared libraries link with the shared libraries built -in the build tree, instead of the system provided libraries. -Previously, libraries and executables were linked with the system -libraries if present, and possibly using static archives instead of -shared libraries. This was also problematic since if libext2fs.so is -linked with a static libcom_err.a from system, the build system would -attempt to link without -lpthread. (Addresses Sourceforge Bug: -#3542572) - - -E2fsprogs 1.42.4 (June 12, 2012) -================================ - -Fixed more 64-bit block number bugs (which could end up corrupting -file systems!) in e2fsck, debugfs, and libext2fs. - -Fixed e2fsck's handling of the journal's s_errno field. E2fsck was -not properly propagating the journal's s_errno field to the superblock -field; it was not checking this field if the journal had already been -replayed, and if the journal *was* being replayed, the "error bit" -wasn't getting flushed out to disk. - -Fixed a false positive complaint by e2fsck if all of the extents in -the last extent tree block are uninitalized and located after the end -of the file as defined by i_size. - -The dumpe2fs will now display the journal's s_errno field if it is -non-zero, and it will also display the journal's 64-bit feature flag -if present. - -Fix e2fsck so that it always opens the device file in exclusive mode -when it might need to modify the file system, and never if the -n -option is specified. (Previously, there were a few corner cases where -it might get things wrong in either direction.) - -E2fsck now correctly truncates or deallocates extent-mapped inodes on -the orphan list. The root cause was a bug in libext2fs's block -iterator which could end up skipping an extent when the last block in -an extent is removed, causing the current extent to be removed from -the extent tree. - -E2fsck now correctly sets the global free block and inode counts when -truncating or removing inodes on the orphan list in preen mode. -Previously, it would leave these values would be set incorrectly, -which is largely a cosmetic issue since the kernel no longer pays -attention to those fields, but it can cause spurious complaints in -subsequent e2fsck runs. - -Fix i_blocks accounting when the libext2fs library needs to add or -remove an extent tree block on bigalloc file systems. - -The lsattr and chattr programs now support the No_COW flag for the -benefit of btrfs. - -Debugfs now interprets date strings of the form @ddd as ddd seconds -after the beginning of the epoch. This is handy when setting an inode -number into the d_time field when debugging orphan list handling. - -Fix a precedence bug with built-in quota support which might result in -e2fsck paying attention to the quota inode field even if the built-in -quota feature flag is not set. Fortunately, in practice that -superblock field should be zero for non-built-in quota file systems, -so it's unlikely this bug would have caused problems. - -Updated/fixed various man pages. (Addresses Debian Bugs: #674453, -#674694) - -Programmer's Notes ------------------- - -The regression test suite can now run the integration tests in the -tests directory in parallel, via "make -jN check". - -Add new test, f_zero_extent_length which tests e2fsck's handling of -the case where all of the extents in the last extent tree block are -uninitialized extents after i_size. - -Add a new test, f_jnl_errno, which checks handling of an error -indication set in the journal superblock. - -Fix the test f_jnl_64bit so that it properly checks e2fsck's handling -of a 64-bit journal. - -Add two tests, f_orphan_indirect_inode and f_orphan_extent_inode which -tests e2fsck's handling of orphan inodes in preen mode, and truncation -of extent inodes on the orphan list. - -Fixed more OS X portability issues. - - -E2fsprogs 1.42.3 (May 14, 2012) -=============================== - -Fix a bug in the Unix I/O manager which could cause corruption of file -systems with more than 16TB when e2fsprogs is compiled in 32-bit mode -(i.e., when unsigned long is 32-bits). Also fix a bug which caused -dumpe2fs to incorrectly display block numbers > 32-bits. - -Improve the support for integrated quota files (where quota is a first -class supported feature using hidden files in the ext4 file system). -Previously the quota file was getting rewritten even when it was not -necessary, and e2fsck would erroneously try to hide quota files which -were already hidden. - -Quiet complaints in e2fsck when the total free blocks or inodes are -incorrect in the superblock after an system crash, since we don't -update nor depend on the superblock summaries at each commit boundary. - -Fixed a regression introduced in 1.42.2 which would cause applications -outside of e2fsprogs which did not pass the EXT2_FLAG_64BIT (and so -would were still using the legacy 32-bit bitmaps) to crash. This was -due to missing 32-bit compat code in side the function -ext2fs_find_first_zero_generic_bmap(). (Addresses Red Hat Bugzilla: -#808421) - -Fix a bug which would cause mke2fs to fail creating the journal if -/etc/mtab and /proc/mounts are missing. (Addresses Sourceforge Bug: -#3509398) - -Updated/fixed various man pages. - -Update Czech, Dutch, French, German, Polish, Sweedish, and Vietnamese -translations - -Fixed various Debian Packaging issues. - - -Programmer's Notes ------------------- - -Change the nonsensically wrong types in the function signature of the -inline function ext2fs_find_first_zero_block_bitmap2(). This was -caused by a cut and paste error; fortunately no code in e2fsprogs used -this inline function, and there are any users of this functions -outside of e2fsprogs. - -Add support for systems which have valloc(), but which do have -posix_memalign() nor memalign() (such as MacOS 10.5). - -Refactor and clean up the allocation of aligned buffers for Direct I/O -support. Previously some allocations were requesting a greater -alignment factor that what was strictly necessary. Also optimize -reading and writing bitmaps using Direct I/O when the size of the -bitmap did not fully cover the file system blocksize. - -Reserve the codepoints for the INCOMPAT features LARGEDATA and -INLINEDATA. - -Improved the regression test suite by adding some new integration -tests (f_jnl_32bit, f_jnl_64bit) which detect breakage of the on-disk -jbd2 format, as well as f_eofblocks which tests the new handling of -uninitialized and initialized blocks beyond i_size. Also add a new -unit test which verifies 32-bit bitmaps support and the new -find_first_zero primitives. - -Add a few dependencies to fix parallel (make -j) builds. - -Removed bash'isms which were breaking the regression test suite on -systems where /bin/sh is not bash. - -The config.guess and config.sub have been updated to the 2012-02-10 -version. - -Fix a portability problem caused by assuming the present of mntent.h -means that setmntent() exists. Instead, explicitly test for this in -the configure script. - -If the sys/signal.h header file does not exist, don't try to include -it, since it's not available on all systems. - -Add support for systems that do not support getpwuid_r() - -The configure script now supports a new option, ---enable-relative-symlinks, which will install relative symlinks for -the ELF shared library files. (Addresses Sourceforge Bug: #3520767). - -When building BSD shared libraries make sure the LDFLAGS variable is -passed to the linker. Fixing this allows, for example, e2fsprogs to -be built in 32-bit mode on Mac OS X Lion (Addresses Sourceforge Bug: -#3517272) - -Fix gcc -Wall nitpicks - - -E2fsprogs 1.42.2 (March 27, 2012) -================================= - -The resize2fs program uses much less CPU and is much faster for very -large file systems. (Addresses Debian Bug: #663237) - -The seti and freei commands in debugfs can now take an optional length -argument to set and clear a contiguous range of inodes. - -E2fsck will now make explicit checks for the EOFBLOCKS_FL, since we -plan to remove support for it from the kernel file system driver. It -really wasn't very useful and was causing more problems than it -solves. Since e2fsck will complain if inodes that should have -EOFBLOCKS_FL do not have the flag set, we are going to remove this -check from e2fsprogs first, and then only remove the flag from the -kernel much later. - -The mke2fs program can now use direct I/O via "mke2fs -D". This will -slow down the mke2fs, but it makes it more polite on a loaded server -by limiting the amount of memory that gets dirtied by mke2fs when it -is using buffered I/O. - -E2fsck was needlessly closing and re-opening the file system as a side -effect of adding Multiple Mount Protection (MMP). This isn't -necessary for non-MMP file systems, so drop it. - -Print errors returned by ext2fs_open2() and ext2fs_check_desc() so we -can more easily diagnose memory allocation failures caused by -insufficient memory. E2fsck will now abort if there are memory -allocation failures when the file system is initially opened and -during the block group descriptor checks. (Addresses Google Bug: -#6208183) - -If there are incorrect block group checks, e2fsck will now report the -incorrect and corrected checksum values. - -The e2fsck progam can now write log files containing the details of -the problems that were found and fixed directly, via configuration -parameters in /etc/e2fsck.conf. - -Added the ability to limit the number of messages reported by e2fsck -for a given problem type. This avoids a potential bottleneck if there -is a serial console which can cause a boot sequence to take a long -time if e2fsck needs to report many, many file system errors. - -The dumpe2fs, debugfs, and tune2fs now use rbtree bitmaps, which cause -them to use much less memory for large file systems. - -The dumpe2fs program will now print the expected block group checksum -if it is incorrect. This helps to diagnose problems caused by -incorrect block group checksums. - -E2fsck now checks for extents with a zero length, since the kernel -will oops if it comes accross such a corrupted data structure. (See -https://bugzilla.kernel.org/show_bug.cgi?id=42859) - -E2fsck has a number of bugs relating to discard that have been fixed. -(1) Fixed a bug which could cause e2fsck to discard portions of the -inode table which were actually in use. (2) E2fsck will now avoid -using discard if the block device doesn't zero data on discard, since -otherwise this could cause problems if the file system gets corrupted -in the future. (3) E2fsck will now avoid using discard when it is run -in read-only mode. (4) Fixed a bug which caused e2fsck to not issue -discards in the last block group. - -E2fsck's CPU utilization in pass 5 has been optimized, which will -speed up e2fsck slightly. - -E2image will now skip copying uninitialized bitmap and inode table -blocks. - -Fixed mke2fs -S so it does not corrupt the first block group's -information. - -E2fsck will now check the new sysfs interface to determine if we are -using the battery or AC mains. (Addresses SourceForge Bug: #3439277) - -Updated/fixed various man pages. (Addresses Debian Bug: #665427) - -Fixed various Debian Packaging issues. (Addresses Debian Bug: #665885) - -Programmer's Notes ------------------- - -Fixed various portability issues for non-Linux systems, particularly -MacOS X, as well as Linux systems running with the just-released glibc -2.15. - -Fix file descriptor leak in ext2fs_close() if the file system with -uninit_bg is opened read/only with a backup superblock. (Addresses -SourceForge Bug: #3444351) - -Fixed an invalid return in a non-void function in the quota code. -(Addresses SourceForge Bug: #3468423) - -Fixed the debian rules file so that the calls to dpkg-buildflags works -when the shell is dash. - -The debian package build now uses V=1 so that there is more -information about potential build failures in debian buildd logs. - -If the uninit flags get cleared by functions such as -ext2fs_new_inode() or ext2fs_new_block2(), we now make sure the -superblock is marked dirty and the block group descriptor checksum is -updated if necessary. - -The debian rules file will now try to load debian/rules.custom of it -exists. This flie can skip various builds for speed reasons if there -is no need for the e2fsck-static or udeb packages. Available -customizations in the rules file includes SKIP_STATIC=yes, -SKIP_BF=yes, and SKIP_DIETLIBC=yes. - -In addition, if the file misc/mke2fs.conf.custom.in exists in the -source tree, it will be used instead of the standard misc.conf file in -the upstream sources. This makes it easier for Debian-derived systems -to distribute a custom mke2fs.conf file without having to worry about -merge issues if future versions of e2fsprogs makes changes in the -upstream default version of mke2fs.conf. - - -E2fsprogs 1.42.1 (February 17, 2012) -=================================== - -The mke2fs and e2fsck now use significantly less memory when creating -or checking very large file systems. This was enabled by adding -extent-based bitmaps which are stored using a red-block tree, since -block and inode allocations tend to be contiguous. - -The command mke2fs -S is used as a last ditch recovery command to -write new superblock and block group descriptors, but _not_ to destroy -the inode table in hopes of recovering from a badly corrupted file -system. So if the uninit_bg feature is enabled, mke2fs -S will now -set the unused inodes count field to zero. Otherwise, e2fsck -fy -after using mke2fs -S would leave the file system completely empty. - -Since mke2fs recognizes mke3fs in argv[0] to mean "mkfs.ext3", also -honor "mke4fs" to work the same as "mke2fs.ext4", since RHEL5 has -installed an mke2fs binary using that name. - -The usage and help messages for the -G, -t and -T options in mke2fs -have been fixed. - -If e2fsck needs to use the backup group descriptors, the -ext2fs_open2() function clears the UNINIT bits to ensure all of the -inodes in the file systems get scanned. However, the code which reset -the UNINIT flags did not also recalculate the checksum, which produced -many spurious (and scary) e2fsck messages. This has been fixed by -resetting cheksums when the UNINIT bits are cleared. - -Relax a check in e2fsck which required that the block bitmap to be -initialized when the inode bitmap is in use. This will allow us to -eventually eliminate code from the kernel which forcibly initialized -the block bitmap when the inode bitmap is first used, requiring an -extra journal credit and disk write. (Addresses Google Bug: #5944440) - -Make sure rdebugfs (which may be installed setuid or setgid disk) does -not honor environment variables if euid != uid or egid != gid. - -Debugfs's ncheck command has been optimized and now is much more -robust with faced with corrupted file systems. The ncheck command -also now has a -c option which will verify the file type information -in the directory entry to see if matches the inode's mode bits. This -is extremely useful when trying to use debugsfs to determine which -parts of the file system metadata can be trusted. - -E2image will try to use ftruncate64() to set the i_size for raw -images, instead of writing a single null byte. This avoid allocating -an extra block to the raw image, for those file systems and/or -operating systems that support this. (Linux does.) In addition, fix -a logic bug that caused the file to not be properly extended if the -size of the last hole was exactly an multiple of a megabyte. - -Fixed a bug in resize2fs where for 1k and 2k file systems, where -s_first_data_block is non-zero, this wasn't taken into account when -calculate the minimum file system size for use with the -M option. - -Fixed the badblocks program to honor the -s flag when in read-only -t -mode. (Addresses Debian Bug #646629) - -Update Czech, Dutch, French, Polish, and Sweedish translation from the -Translation Project. - -Fixed various Debian Packaging issues so that dpkg-buildflags is used -if present, which allows e2fsprogs to be built with security hardening -flags. (Addresses Debian Bugs: #654457) - -Programmer's Notes ------------------- - -Fix a bug in ext2fs_clear_generic_bmap() when used for 32-bit bitmaps. -This was only an issue for programs compiled against e2fsprogs 1.41 -that manipulate bitmaps directly. (Addresses Sourceforge Bugs: -#3451486) - -The libext2fs library now uses sysconf() to fetch the page size, instead -of the deprecated getpagesize(). - -The ext2fs_get_pathname() function will return a partial path if an a -directory in the path is not a directory, displaying it as an inode -number in angle brackets instead of giving up and displaying an error. -This is much more helpful when a user is trying to debug a corrupted -file system. - -Codepoints for the RO_COMPAT_REPLICA feature has been reserved. - -Added a new library function, ext2fs_file_get_inode_num(), for use by -fuse2fs. - -Fixed a bug in ext2fs_file_set_size2() so that when it is truncating a -file, it actually works. - -The block iterator now properly honors the BLOCK_ABORT flag for -extent-based flags. Previously, it didn't, which generally made code -be less efficient, but it could cause bugs in ext2fs_link(), for -example, by causing it to insert multiple directory entries. - -Fixed an (harmless other than causing a compiler warning) use of an -uninitialized variable in e2fsck's MMP code. - - -E2fsprogs 1.42 (November 29, 2011) -================================== - -This release of e2fsprogs has support for file systems > 16TB. Online -resize requires kernel support which will hopefully be in Linux -version 3.2. Offline support is not yet available for > 16TB file -systems, but will be coming. - -This release of e2fsprogs has support for clustered allocation. This -reduces the number of block (now cluster) bitmaps by allocating and -deallocating space in contiguous power-of-2 collections of blocks, -which are called clustered. This is a file system level feature, -called 'bigalloc', which must be enabled when the file system is -initially formatted. It is not backwards compatible with older -kernels. - -Added support for the Multi-Mount Protection (MMP) feature. - -E2fsck more efficiently uses scratch files for really big file -systems. (This is a feature that has to be turned on explicitly; see -[scratch_files] in the e2fsck.conf man page.) - -Fix a bug in e2fsck where if the free blocks and inodes counts are -incorrect, e2fsck would fix them without printing an error message. -This would cause a "*** FILE SYSTEM WAS MODIFIED ***" message without -any explanation of what was fixed. - -E2fsck will no longer attempt to clone an extended attribute block in -pass1b handling if the file system does not support extended -attributes. - -E2fsck will be more careful accidentally asking the user to continue -if the file system is mounted, so that an escape sequence won't cause -a false positive. (Addresses Debian Bug: #619859) - -E2fsck now uses less cpu time in pass 5 when large portions of the -bitmaps are uninitialized. - -E2fsck will no longer segault when a corrupted file system has a bad -extent, and removing it leads to a block needing to be deallocated. -(Addresses SourceForge Bug: #2971800) - -E2fsck will catch termination signals (segfaults, bus errors, sigfpe) -and print debugging information to make it easier to find potential -problems. - -E2fsck will check to see if the bad block inode looks insane, and will -skip trying to use if it certain fields which should be zero look -non-zero. This is to avoid a corrupted bad block inode causing e2fsck -to get confused and do more harm than good. - -If e2fsck modifies certain superblock fields which the kernel doesn't -look at, it will now mark the superblock as dirty without marking the -file system as changed. This avoids signalling the init scripts that -a reboot is necessary, since the kernel isn't going to look at those -fields, so it won't care if they have been changed. - -Fixed a bug in the libext2fs library (in the binary search routine of -the icount abstraction) that could (very, very rarely) cause e2fsck to -die in the middle of pass 1 or pass 2 processing. - -E2fsck will not try to do a discard operation if the -n option was -specified on the command line. - -E2fsck now supports an extended "discard" option which will cause -e2fsck to attempt discard all unused blocks after a full, successful -file system check. - -E2fsck will check for the bad block inode to make sure it looks sane -before trusting it, to avoid causing more harm than good to the file -system. - -E2fsck now returns additional status bits in its exit code if it -aborts early in the e2fsck run. - -E2fsck now correctly calculates the maximum file size in the case of -the huge_file file system feature enabled without extents. - -The mke2fs and e2fsck programs now tries to use the punch hole command -as a "discard" when operating on normal files. - -The e2image program now supports the qcow2 format, which is a more -efficient way of capturing file system dumps. - -Mke2fs now supports the [devices] stanza in mke2fs.conf which allows -per-device defaults to be specified in the configuration file. - -Mke2fs now supports the reserved_ratio relation in the [defaults] and -[fs_types] section in mke2fs.conf. - -Mke2fs now creates extent-mapped directories for the root and -lost+found directories. - -Mke2fs will skip zero'ing the journal if the extended option -"lazy_journal_init" is specified. This can save a lot of time, but it -does add a small amount of risk if the system crashes before the -journal is overwritten entirely once. It is epsecially useful for -testing. - -Mke2fs will now create file systems that enable user namespace -extended attributes and with time- and mount count-based file -system checks disabled. - -Mke2fs will not set a stride or strip size of one block based on block -device attributes obtained from sysfs. - -Mke2fs now displays a progress report during the discard process. - -Mke2fs now handles extreme file system parameters correctly which -previously caused the inodes per group to drop below 8, leading to a -segfault. (The inodes per group must be a multiple of 8, but the code -didn't correctly deal with an inodes per group count less than 8.) - -Mke2fs and tune2fs previously would give an error if the user tried -setting the stride and stripe-width parameters to zero; but this is -necessary to disable the stride and stripe-width settings. So allow -setting these superblock fields to zero. (Addresses Google Bug: -#4988557) - -Mke2fs now gives a warning if the auto-detected block size exceeds the -system's page size. - -If the enable_periodic_fsck option is false in /etc/mke2fs.conf (which -is the default), mke2fs will now set the s_max_mnt_count superblock -field to -1, instead of 0. Kernels older then 3.0 will print a -spurious message on each mount then they see a s_max_mnt_count set to -0, which will annoy users. (Addresses Debian Bug: #632637) - -The default mke2fs.conf now has entries for "big" and "huge", which -are needed for very big file systems. - -The resize2fs program now has support for a new online resize ioctl -that can support file systems > 16TB, once it arrives in v3.x kernels. - -Fixed bug which caused resize2fs to fail when shrinking an empty file -system down to its minimal size. (Addresses Sourceforge Bug #3404051) - -Fixed tune2fs's mount options parsing. (Addresses Debian Bug: #641667) - -Allow tune2fs to remove external journals if the device can not be -found. - -Debugfs's icheck will now correctly find inodes which use the -searched-for block as an extended attribute block. - -Debugfs now has a new "punch" command which remove blocks from the -middle of an inode. - -Debugfs now has a new "e2freefrag" command which analyzes the free -space fragmentation of the file system, using the same code as the -e2freefrag program. - -Debugfs now has a "filefrag" command which displays information about -a file's fragmentation. - -Add support to build a metadata-only, read-only, stripped-down version -of debugfs called rdebugfs. - -Fixed a potential stack overrun bug in debugfs. - -The badblocks program now correctly recovers from I/O errors when -direct I/O is being used. The badblocks command now also supports a --B option which forces the use of buffered I/O, and the -v option will -provide a more detailed breakdown of read, write, and failed -comparison errors. - -Added e4defrag tool which uses the EXT4_IOC_MOVE_EXT ioctl. - -Added support for journals larger than 2GB. - -Support using both hard links and symlinks when installing e2fsprogs. - -Add overflow checking to tune2fs -i's fsck interval, which must fit in -a 32-bit field. - -The debugfs command now has a new 'blocks' command which prints out -data blocks of a particular inode in a format which is useful for -scripting. - -Filefrag will report 0 extents correctly in verbose mode. (Addresses -RedHat Bugzilla: #653234) - -Filefrag has been fixed so its -v report prints the correct expected -block number (previously there had been an off-by-one error). In -addition, it will now display the number of contiguous extents when -v -is not specified. This makes it consistent with the number of extents -printed when the -v option was specified. In addition, the number of -contiguous extents is far more interesting/useful than the number of -physical extents for very large files. (Addresses Debian Bug: -#631498, #644792) - -Logsave's usage message has been fixed. (Addresses Debian Bug: -#619788) - -Avoid an infinite loop in ext2fs_find_block_device() if there are -symlink loops in /dev caused by a buggy udev. - -Added a useful "fallocate" program to the contrib directory. - -Fixed an ABI compatibility problem in libext2fs which broke the dump -program. Also added back some macros which dump needed so it could -compile against the latest version of ext2_fs.h (Addresses Debian Bug: -#636418) - -Fixed parsing of MNTOPT_ options for tune2fs and debugfs (Addresses -Debian Bug: #641667) - -Added internationalization support for libcom_err error table strings. - -Fixed various spelling mistakes found in various output strings found -by I18N translators. - -Update translations: French, Chinese, Germany, Indonesian, Swedish, -Vietnamese, Polish, Dutch, Czech. (Addresses Debian Bugs: #520985, -#620659) - -Fixed various Debian Packaging issues. (Addresses Debian Bugs: -#614662, #632169, #641838, #627535, #629355) - -Updated/clarified man pages. (Addresses Debian Bugs: #639411, -#642193, #634883) - -Programmer's Notes ------------------- - -Initial support for quota as an integrated feature, where the quota -files are hidden system files that are automatically maintained by -e2fsck is present, although disabled by default. It must be enabled -by using the configure option --enable-quota. - -Reserved the on-disk fields for the metadata checksum and snapshot -features, which are currently in development. - -The ext2fs library now has the new functions ext2fs_punch(), -ext2fs_get_memzero() and ext2fs_file_get_inode(). - -The ext2fs library now has support for calculating the crc32c checksum -(via the new functions ext2fs_crc32c_be and ext2fs_crc32c_le). - -The I/O manager now supports the discard operation. - -Reserved file system code points for new 1st class quota feature. - -Shortened the compilation lines by moving the autoconf defines to -a config.h header file. - -Fixed a potential free of an unitialized pointer in -ext2fs_update_bb_inode(). - -Fixed miscellaneous gcc -Wall and coverity warnings. - -Fixed portability issues for Mac OS X, Hurd, and FreeBSD. - -Fixed a build failure when OMIT_COM_ERR is defined. - -Improved error checking and fixed memory leaks caused by error return -paths. - -Add ext2fs_flush2() and ext2fs_close2() which takes a flag to allow -the fsync() to be skipped. - -Added a test for extent-mapped journals by mke2fs and tune2fs. - -Added a test for creating a large (over 4GB) journal using mke2fs. - -Added a test to make sure the inode size remains constant. - -The regression test script now prints the list of which tests failed. - -The regression test system now uses /tmp for its scratch files, which -is often a tmpfs mounted file system and hence much faster. - -The i_e2image test was fixed so it works with valgrind. - -Tests that rely on debugfs are now skipped if debugfs wasn't built. - -Fixed the dependencies for "make check" so all required dependencies -are built before running the gression tests. - -A link to com_err.h is installed in $(includedir) during a "make install". - -The po/*.gmo files are automatically rebuilt if they are missing or -out of date. This helps out Debian packaging. - -Allow ext2fs_get_memalign() to compile on systems that don't have -posix_memalign(). - -Fixed a namespace leak in libext2fs (tdb_null). - - E2fsprogs 1.41.14 (December 22, 2010) ===================================== @@ -3669,7 +2417,7 @@ loop forever on really big filesystems with a large inode count. Fix memory leak in ext2fs_write_new_inode() Add support for using a scratch files directory to reduce e2fsck's -memory utilization on really big filesystems. This uses the TDB +emory utilization on really big filesystems. This uses the TDB library. See the [scratch_files] section of the e2fsck.conf man page for more details. diff --git a/TODO b/TODO deleted file mode 100644 index d531d175..00000000 --- a/TODO +++ /dev/null @@ -1,277 +0,0 @@ -Need to process the bad block inode *before* doing the inode scan. - -Also check to see if the first block of the inode table is not on the -bad block scan, and fix that. We need to check for an inaccurate -blocks, and fix them before we start doing anything else with the -filesystem! - ---------------------------------------------------- -User request: - -BTW: Could you please add some sort of deleted and possibly corrupted file - and inode list to e2fsck report. There should be filenames deleted - from directory inodes, files with duplicate blocks e.t.c. - It's pretty annoying to filter this information from e2fsck output - by hand :- - ------------------------------------------- - -Add a "answer Yes always to this class of question" response. - ----------------------------------- - -ext2fs_flush() should return a different error message for primary -versus backup superblock flushing, so that mke2fs can print an -appropriate error message. - ---------------------------------- -Date: Mon, 08 Mar 1999 21:46:14 +0100 -From: Sergio Polini - - -I'm reading the sorce code of e2fsck 1.14. -In pass2.c, lines 352-357, I read: - -if ((dirent->name_len & 0xFF) > EXT2_NAME_LEN) { - if (fix_problem(ctx, PR_2_FILENAME_LONG, &cd->pctx)) { - dirent->name_len = EXT2_NAME_LEN; - dir_modified++; - } -} - -I think that I'll never see any messages about too long filenames, -because "whatever & 0xFF" can never be "> 0xFF". -Am I wrong? --------------------------------------- - -Add chmod command to debugfs. - ------------------------------------------- - -Date: Tue, 18 Jan 2000 17:54:53 -0800 (PST) -From: Alan Blanchard -To: tytso@MIT.EDU -Subject: DEBUGFS - thanks and a feature idea -Content-Type: TEXT/PLAIN; charset=US-ASCII - -Theodore: - -First, let me thank you for writing debugfs. Recently, my Linux box -(RH 6.0, 400 MHz PIII, on a DSL line) was hacked into. The intruder did -an "rm -Rf" on a 34 GB drive with about 5GB of data on it. I was able to -restore essentially the entire thing with debugfs and a bit of C code and Perl. -Actually, I could have done the entire thing with debugfs and Perl, but I -thought it would be too slow. - -During this exercise, I noticed that one small feature was lacking that would -have made my job a bit easier. The length of a deleted directory is -reported as 0, hence debugfs won't dump the contents of the directory to a -file using the "dump" command. The only thing that saved me was that the -list of disk blocks is not zeroed out. I was able to dump the contents of the -directories by using debugfs to get the relevant block numbers, then -using dd to get the actual data. - -If debugfs had a feature where it ignored the size of a directory reported by -the inode and instead just dumped all the blocks, it would have facilited -things a bit. This seems like a very easy feature to add. - -Again, thanks for writing debugfs (and all the other Linux stuff you've written!). - -Cheers, -Alan Blanchard -alan@abraxas.to - - -------------------------------------------------------------------- - -Date: Fri, 21 Jan 2000 14:07:12 -0800 -From: "H. Peter Anvin" -Subject: mkfs -cc and fsck -c - -b) An option to mkfs to zero the partition. Yes, it can be done with -dd, but it would be a nicer way of doing it. - ------------------------------------------------------------------- - -Add support for in ext2fs_block_iterate() for a returning the -compressed flag blocks to block_iterate. Change default to not return -EXT2_COMPRESSED_BLKADDR. Change e2fsck to pass this flag in. - -(The old compression patches did this by default all the time, which -is bad, since it meant e2fsck never saw the EXT2_COMPRESSED_BLKADDR -flagword. - ------------------------------------------------------------- - -E2fsck should offer to clear all the blocks in an indirect block, not -the entire inode, so there's better recovery for when an indirect -block gets trashed. - - -------------------------------------------------------------- - -From: Yann Dirson - LOGATIQUE -Date: Thu, 2 Mar 2000 13:52:13 +0100 (MET) - -During my experiments on the broken system, I noticed the following in -the badblocks program (which I'm aware is not designed for IDE drives) -- I'd probably have already fixed them if my home system was up :( - -* the syntax summary documents 2nd arg as blocks_count, which should -probably read something like end_count. - -* testing past end of device is not detected, and lists those blocks -as bad, whereas they simply do not exist. - - -I think I'll probably add a "max count" option to findsuper(8), so -that I do not have to wait for the whole disk to be scanned when the -system had to be launched with "init=/bin/sh", in which case Ctrl-[CZ] -and friends appear to be absolutely ignored. - - -Somewhat unrelated, I just noticed the -http://web.mit.edu/tytso/www/linux/ext2.html could be updated: - -- could mention SGI xfs (http://oss.sgi.com/projects/xfs/ - they just - release 0.03 snapshot) - ----------------------------------------------------------------- - -Return-Path: -Date: Thu, 10 Feb 2000 13:20:14 -0500 -From: "Theodore Y. Ts'o" -To: R.E.Wolff@BitWizard.nl -In-Reply-To: Rogier Wolff's message of Thu, 10 Feb 2000 08:46:30 +0100 (MET), - <200002100746.IAA24573@cave.bitwizard.nl> -Subject: Re: e2fsck request for enhancement. -Phone: (781) 391-3464 - - Date: Thu, 10 Feb 2000 08:46:30 +0100 (MET) - From: R.E.Wolff@BitWizard.nl (Rogier Wolff) - - Lately, while trying to recover a broken disk, my system froze (twice, - until I tried something else) while copying the disk. - - So I had a file of about 50Mb that was growing frantically at the - moment of the crash. - - e2fsck, then finds an indirect block that is completely bogus. It - starts by asking me if it's ok to clear a few of the referenced - blocks. I say yes. Then it comes to the conclusion: - - too many invalid blocks. Clear inode? - - and then I get the option to delete the whole file. Not to truncate - the file to a "working" size. - - - I'd MUCH rather have e2fsck say something like: - - inode 1234 references an invalid block 134345454. Hmm. - inode 1234 references 567 out of 50176 invalid blocks, - all near the end. Truncate file to 49152 blocks? - - Here you can see that of the 1024 blocks near the end of the file, - only 567 were detected as invalid. However now 48Mb of the file will - be recovered, instead of thrown away. - -That's a good point. Actually, the right thing is for e2fsck to offer -to clear all of the bad blocks in a particular indirect block. I don't -know how hard it would be to do that, but I'll put it on my e2fsprogs -TODO list. - - - Ted - ---------------------------------------------------------------- -From e2fsprogs Debian TODO file as of 1.10-13. - -* Maybe make -dbg packages. Look at how others do it. - ---------------------------------------------------------------- - -Add --lba option to debian icheck command, and have ways of making it -easier to translate LBA to filesystem block numbers. - -------------------------------------------------------- - - - -List of projects for e2fsprogs: - - -1) Make debugfs's "ncheck " command list all of the pathnames -to an inode, not just only the first link to the inode which is found. -(A good "intro to libext2fs programming interfaces project) - - Difficulty: Low Priority: Low - -2) Use a code coverage tool such as Rational's PureCoverage to see -what kind of code coverage we have for e2fsck, and try to add test -cases to increase the code coverage for e2fsck. - - Difficulty: Medium Priorty: Low - -3) Use a code coverage tool such as Rational's PureCoverage to see -what kind of code coverage we have for resize2fs, and try to add test -cases to increase the code coverage for resize2fs. - - Difficulty: Medium Priorty: Medium - -4) Create a new I/O manager (i.e., test_io.c, unix_io.c, et.al.) which -layers on top of an existing I/O manager which provides copy-on-write -functionality. This COW I/O manager takes will take two open I/O -managers, call them "base" and "changed". The "base" I/O manager is -opened read/only, so any changes are written instead to the "changed" -I/O manager, in a compact, non-sparse format containing the intended -modification to the "base" filesystem. - -This will allow resize2fs to figure out what changes need to made to -extend a filesystem, or expand the size of inodes in the inode table, -and the changes can be pushed the filesystem in one fell swoop. (If -the system crashes; the program which runs the "changed" file can be -re-run, much like a journal replay. My assumption is that the COW -file will contain the filesystem UUID in a the COW superblock, and the -COW file will be stored in some place such as /var/state/e2fsprogs, -with an init.d file to automate the replay so we can recover cleanly -from a crash during the resize2fs process.) - - Difficulty: Medium Priority: Medium - -5) Create a new I/O manager (i.e., test_io.c, unix_io.c, et.al.) which -layers on top of an existing I/O manager which provides an "undo" -functionality. This undo I/O manager takes will take two open I/O -managers, call them "base" and "undo". The "base" I/O manager is be -opened read/write, and when any writes are sent to the I/O manager, -the I/O manager will check the "undo" I/O manager, using a file format -identical to the one found in (5) above. - -This is useful for allowing e2fsck to create an "undo" file, which -would make things like "e2fsck -y" much safer. - - Difficulty: Low (once 5 is done) Priority: Low - -6) Modify resize2fs so that it can relocate and reorganize the -filesystem in the following ways: (1) increase the inode size, so that -an existing filesystem can use the EA-in-inode kernel patch, (2) -reserve blocks in the resize inode to allow for on-line resizing. Use -the COW I/O manager described in (5) in order to provide robustness in -case of a crash during the resize/reorganization operation. - - Difficulty: High Priority: Medium - -7) Review the EA-in-inode patches to e2fsck for correctness/code -cleanliness. (I will probably have to do this myself -- Ted) - - Difficulty: High Priorty: Medium - -8) Add support for extent maps to e2fsprogs. I need to review the -extent maps first/in parallel. - - Difficulty: High Priority: Medium - ----------------------------------- - -Need to deal with the case where the resize inode overlaps with the -bad blocks inode. - diff --git a/config/config.guess b/config/config.guess old mode 100644 new mode 100755 index 9afd6762..da833146 --- a/config/config.guess +++ b/config/config.guess @@ -1,12 +1,14 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2013 Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. -timestamp='2013-11-29' +timestamp='2009-04-27' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -15,22 +17,26 @@ timestamp='2013-11-29' # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see . +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner. +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. # -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. # -# Please send patches with a ChangeLog entry to config-patches@gnu.org. - +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` @@ -50,7 +56,8 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2013 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -132,33 +139,12 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -case "${UNAME_SYSTEM}" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - eval $set_cc_for_build - cat <<-EOF > $dummy.c - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` - ;; -esac - # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward @@ -184,7 +170,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ + | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -194,7 +180,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in fi ;; *) - os=netbsd + os=netbsd ;; esac # The OS release @@ -215,10 +201,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} - exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} @@ -241,7 +223,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on @@ -287,10 +269,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; + exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead @@ -316,12 +295,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in echo s390-ibm-zvmoe exit ;; *:OS400:*:*) - echo powerpc-ibm-os400 + echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) + arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) @@ -354,9 +333,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" @@ -415,23 +391,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit ;; + exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; @@ -501,8 +477,8 @@ EOF echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ @@ -515,7 +491,7 @@ EOF else echo i586-dg-dgux${UNAME_RELEASE} fi - exit ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; @@ -572,7 +548,7 @@ EOF echo rs6000-ibm-aix3.2 fi exit ;; - *:AIX:*:[4567]) + *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 @@ -615,52 +591,52 @@ EOF 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac + esac ;; + esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + sed 's/^ //' << EOF >$dummy.c - #define _HPUX_SOURCE - #include - #include + #define _HPUX_SOURCE + #include + #include - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa @@ -680,7 +656,7 @@ EOF # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ + grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else @@ -751,22 +727,22 @@ EOF exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd - exit ;; + exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit ;; + exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd - exit ;; + exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd - exit ;; + exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd - exit ;; + exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; @@ -790,14 +766,14 @@ EOF exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} @@ -809,39 +785,34 @@ EOF echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; - *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 - exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; - i*:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - *:Interix*:*) - case ${UNAME_MACHINE} in + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - authenticamd | genuineintel | EM64T) + EM64T | authenticamd | genuineintel) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) @@ -851,9 +822,6 @@ EOF [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we @@ -874,157 +842,210 @@ EOF exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; - aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi - else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf - fi + echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} + echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} + echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} + echo frv-unknown-linux-gnu exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - mips:Linux:*:* | mips64:Linux:*:*) + mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el + #undef mips + #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el + CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} + CPU=mips #else CPU= #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; - or1k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; or32:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo or32-unknown-linux-gnu exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; esac exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} + echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both @@ -1032,11 +1053,11 @@ EOF echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. + # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) @@ -1053,7 +1074,7 @@ EOF i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) @@ -1068,7 +1089,7 @@ EOF fi exit ;; i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. + # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; @@ -1096,13 +1117,13 @@ EOF exit ;; pc:*:*:*) # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp - exit ;; + exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; @@ -1137,8 +1158,8 @@ EOF /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ @@ -1161,7 +1182,7 @@ EOF rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) @@ -1181,10 +1202,10 @@ EOF echo ns32k-sni-sysv fi exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm @@ -1210,11 +1231,11 @@ EOF exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + echo mips-nec-sysv${UNAME_RELEASE} else - echo mips-unknown-sysv${UNAME_RELEASE} + echo mips-unknown-sysv${UNAME_RELEASE} fi - exit ;; + exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; @@ -1227,9 +1248,6 @@ EOF BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1256,31 +1274,9 @@ EOF exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 - fi + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) @@ -1294,10 +1290,7 @@ EOF *:QNX:*:4*) echo i386-pc-qnx exit ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) + NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) @@ -1342,13 +1335,13 @@ EOF echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} + echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` + UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; @@ -1366,11 +1359,11 @@ EOF i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; - x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx - exit ;; esac +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + eval $set_cc_for_build cat >$dummy.c < printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 - "4" + "4" #else - "" + "" #endif - ); exit (0); + ); exit (0); #endif #endif diff --git a/config/config.sub b/config/config.sub old mode 100644 new mode 100755 index 61cb4bc2..a39437d0 --- a/config/config.sub +++ b/config/config.sub @@ -1,40 +1,44 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2013 Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. -timestamp='2013-10-01' +timestamp='2009-04-17' -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, see . +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). +# the same distribution terms that you use for the rest of that program. -# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. @@ -68,7 +72,8 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2013 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -115,18 +120,13 @@ esac # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] @@ -149,13 +149,10 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze*) + -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; - -bluegene*) - os=-cnk - ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 @@ -170,10 +167,10 @@ case $os in os=-chorusos basic_machine=$1 ;; - -chorusrdb) - os=-chorusrdb + -chorusrdb) + os=-chorusrdb basic_machine=$1 - ;; + ;; -hiux*) os=-hiuxwe2 ;; @@ -218,12 +215,6 @@ case $os in -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; -lynx*) os=-lynxos ;; @@ -248,28 +239,20 @@ case $basic_machine in # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ - | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | be32 | be64 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ - | c4x | c8051 | clipper \ + | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ - | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ + | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -287,45 +270,32 @@ case $basic_machine in | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ + | nios | nios2 \ | ns16k | ns32k \ - | open8 \ - | or1k | or32 \ + | or32 \ | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; @@ -335,21 +305,6 @@ case $basic_machine in basic_machine=mt-unknown ;; - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none - ;; - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-unknown - ;; - # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. @@ -364,31 +319,25 @@ case $basic_machine in # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ - | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ - | be32-* | be64-* \ | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -406,34 +355,28 @@ case $basic_machine in | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ + | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ + | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ + | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) @@ -458,7 +401,7 @@ case $basic_machine in basic_machine=a29k-amd os=-udi ;; - abacus) + abacus) basic_machine=abacus-unknown ;; adobe68k) @@ -524,24 +467,11 @@ case $basic_machine in basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; c90) basic_machine=c90-cray os=-unicos ;; - cegcc) + cegcc) basic_machine=arm-unknown os=-cegcc ;; @@ -573,7 +503,7 @@ case $basic_machine in basic_machine=craynv-cray os=-unicosmp ;; - cr16 | cr16-*) + cr16) basic_machine=cr16-unknown os=-elf ;; @@ -731,6 +661,7 @@ case $basic_machine in i370-ibm* | ibm*) basic_machine=i370-ibm ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 @@ -788,15 +719,8 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; mingw32) - basic_machine=i686-pc + basic_machine=i386-pc os=-mingw32 ;; mingw32ce) @@ -831,18 +755,10 @@ case $basic_machine in ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; - msys) - basic_machine=i686-pc - os=-msys - ;; mvs) basic_machine=i370-ibm os=-mvs ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; ncr3000) basic_machine=i486-ncr os=-sysv4 @@ -907,12 +823,6 @@ case $basic_machine in np1) basic_machine=np1-gould ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; nsr-tandem) basic_machine=nsr-tandem ;; @@ -995,10 +905,9 @@ case $basic_machine in ;; power) basic_machine=power-ibm ;; - ppc | ppcbe) basic_machine=powerpc-unknown + ppc) basic_machine=powerpc-unknown ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown @@ -1023,11 +932,7 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) + rdos) basic_machine=i386-pc os=-rdos ;; @@ -1096,9 +1001,6 @@ case $basic_machine in basic_machine=i860-stratus os=-sysv4 ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; sun2) basic_machine=m68000-sun ;; @@ -1155,8 +1057,20 @@ case $basic_machine in basic_machine=t90-cray os=-unicos ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; tile*) - basic_machine=$basic_machine-unknown + basic_machine=tile-unknown os=-linux-gnu ;; tx39) @@ -1226,9 +1140,6 @@ case $basic_machine in xps | xps100) basic_machine=xps100-honeywell ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` - ;; ymp) basic_machine=ymp-cray os=-unicos @@ -1326,12 +1237,9 @@ esac if [ x"$os" != x"" ] then case $os in - # First match some system type aliases - # that might get confused with valid system types. + # First match some system type aliases + # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux - ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; @@ -1352,23 +1260,22 @@ case $os in # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* \ + | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ @@ -1376,7 +1283,7 @@ case $os in | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1415,7 +1322,7 @@ case $os in -opened*) os=-openedition ;; - -os400*) + -os400*) os=-os400 ;; -wince*) @@ -1464,7 +1371,7 @@ case $os in -sinix*) os=-sysv4 ;; - -tpf*) + -tpf*) os=-tpf ;; -triton*) @@ -1500,14 +1407,15 @@ case $os in -aros*) os=-aros ;; + -kaos*) + os=-kaos + ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; - -nacl*) - ;; -none) ;; *) @@ -1530,10 +1438,10 @@ else # system, and we'll never get to this point. case $basic_machine in - score-*) + score-*) os=-elf ;; - spu-*) + spu-*) os=-elf ;; *-acorn) @@ -1545,23 +1453,8 @@ case $basic_machine in arm*-semi) os=-aout ;; - c4x-* | tic4x-*) - os=-coff - ;; - c8051-*) - os=-elf - ;; - hexagon-*) - os=-elf - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - os=-coff + c4x-* | tic4x-*) + os=-coff ;; # This must come before the *-dec entry. pdp10-*) @@ -1581,11 +1474,14 @@ case $basic_machine in ;; m68000-sun) os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 ;; m68*-cisco) os=-aout ;; - mep-*) + mep-*) os=-elf ;; mips*-cisco) @@ -1594,9 +1490,6 @@ case $basic_machine in mips*-*) os=-elf ;; - or1k-*) - os=-elf - ;; or32-*) os=-coff ;; @@ -1615,7 +1508,7 @@ case $basic_machine in *-ibm) os=-aix ;; - *-knuth) + *-knuth) os=-mmixware ;; *-wec) @@ -1720,7 +1613,7 @@ case $basic_machine in -sunos*) vendor=sun ;; - -cnk*|-aix*) + -aix*) vendor=ibm ;; -beos*) diff --git a/config/parse-types.sh b/config/parse-types.sh index 5076f6ca..d7cb9cc1 100755 --- a/config/parse-types.sh +++ b/config/parse-types.sh @@ -16,15 +16,8 @@ if test -z "$CPP"; then CPP="$CC -E" fi -/bin/echo -n "checking for __uNN types... " -# can't check [ -f /usr/include/asm/types.h ] directly, since -# the include path might be different if cross-compiling -if echo '#include ' | $CPP - 2> parse-types.log | \ - sed -f sed.script | grep '^#' > asm_types.h; then - echo "using " -else - echo "using generic types" -fi +echo '#include ' | $CPP - | \ + sed -f sed.script | grep '^#' > asm_types.h rm sed.script @@ -33,83 +26,83 @@ cp asm_types.h asm_types.c cat >> asm_types.c < #include -int main(int argc, char **argv) +main(int argc, char **argv) { #ifdef __U8_TYPEDEF if (sizeof(__U8_TYPEDEF) != 1) { printf("Sizeof(__U8__TYPEDEF) is %d should be 1\n", - (int) sizeof(__U8_TYPEDEF)); + sizeof(__U8_TYPEDEF)); exit(1); } -#elif defined(__linux__) +#else #warning __U8_TYPEDEF not defined #endif #ifdef __S8_TYPEDEF if (sizeof(__S8_TYPEDEF) != 1) { printf("Sizeof(_S8__TYPEDEF) is %d should be 1\n", - (int) sizeof(__S8_TYPEDEF)); + sizeof(__S8_TYPEDEF)); exit(1); } -#elif defined(__linux__) +#else #warning __S8_TYPEDEF not defined #endif #ifdef __U16_TYPEDEF if (sizeof(__U16_TYPEDEF) != 2) { printf("Sizeof(__U16__TYPEDEF) is %d should be 2\n", - (int) sizeof(__U16_TYPEDEF)); + sizeof(__U16_TYPEDEF)); exit(1); } -#elif defined(__linux__) +#else #warning __U16_TYPEDEF not defined #endif #ifdef __S16_TYPEDEF if (sizeof(__S16_TYPEDEF) != 2) { printf("Sizeof(__S16__TYPEDEF) is %d should be 2\n", - (int) sizeof(__S16_TYPEDEF)); + sizeof(__S16_TYPEDEF)); exit(1); } -#elif defined(__linux__) +#else #warning __S16_TYPEDEF not defined #endif #ifdef __U32_TYPEDEF if (sizeof(__U32_TYPEDEF) != 4) { printf("Sizeof(__U32__TYPEDEF) is %d should be 4\n", - (int) sizeof(__U32_TYPEDEF)); + sizeof(__U32_TYPEDEF)); exit(1); } -#elif defined(__linux__) +#else #warning __U32_TYPEDEF not defined #endif #ifdef __S32_TYPEDEF if (sizeof(__S32_TYPEDEF) != 4) { printf("Sizeof(__S32__TYPEDEF) is %d should be 4\n", - (int) sizeof(__S32_TYPEDEF)); + sizeof(__S32_TYPEDEF)); exit(1); } -#elif defined(__linux__) +#else #warning __S32_TYPEDEF not defined #endif #ifdef __U64_TYPEDEF if (sizeof(__U64_TYPEDEF) != 8) { printf("Sizeof(__U64__TYPEDEF) is %d should be 8\n", - (int) sizeof(__U64_TYPEDEF)); + sizeof(__U64_TYPEDEF)); exit(1); } -#elif defined(__linux__) +#else #warning __U64_TYPEDEF not defined #endif #ifdef __S64_TYPEDEF if (sizeof(__S64_TYPEDEF) != 8) { printf("Sizeof(__S64__TYPEDEF) is %d should be 8\n", - (int) sizeof(__S64_TYPEDEF)); + sizeof(__S64_TYPEDEF)); exit(1); } -#elif defined(__linux__) +#else #warning __S64_TYPEDEF not defined #endif - return 0; + exit(0); } EOF diff --git a/configure b/configure index 31ec8d39..aaeb1770 100755 --- a/configure +++ b/configure @@ -1,9 +1,11 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69. +# Generated by GNU Autoconf 2.65. # # -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. # # # This configure script is free software; the Free Software Foundation @@ -87,7 +89,6 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -132,31 +133,6 @@ export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh @@ -190,8 +166,7 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" +test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && @@ -236,25 +211,14 @@ IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : @@ -352,18 +316,10 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" } # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -400,19 +356,19 @@ else fi # as_fn_arith -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- +# as_fn_error ERROR [LINENO LOG_FD] +# --------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. +# script with status $?, using 1 if that was 0. as_fn_error () { - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + as_status=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 fi - $as_echo "$as_me: error: $2" >&2 + $as_echo "$as_me: error: $1" >&2 as_fn_exit $as_status } # as_fn_error @@ -485,10 +441,6 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). @@ -523,16 +475,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' + as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -544,8 +496,28 @@ else as_mkdir_p=false fi -as_test_x='test -x' -as_executable_p=as_fn_executable_p +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -558,7 +530,7 @@ test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` @@ -624,7 +596,7 @@ ac_subst_vars='LTLIBOBJS LIBOBJS BUILD_LDFLAGS BUILD_CFLAGS -INCLUDES +INTL_FLAGS DO_TEST_SUITE ET_DIR SS_DIR @@ -640,7 +612,6 @@ LINUX_CMT UNI_DIFF_OPTS SEM_INIT_LIB SOCKET_LIB -SIZEOF_OFF_T SIZEOF_LONG_LONG SIZEOF_LONG SIZEOF_INT @@ -683,8 +654,6 @@ HAVE_ASPRINTF HAVE_POSIX_PRINTF GLIBC21 ALLOCA -EGREP -GREP RANLIB MSGMERGE XGETTEXT @@ -704,18 +673,9 @@ E2INITRD_MAN E2INITRD_PROG FSCK_MAN FSCK_PROG -DEFRAG_CMT RESIZER_CMT IMAGER_CMT DEBUGFS_CMT -QUOTA_CMT -DEPPROFILED_LIBQUOTA -PROFILED_LIBQUOTA -DEPSTATIC_LIBQUOTA -STATIC_LIBQUOTA -DEPLIBQUOTA -LIBQUOTA -QUOTA_MAN_COMMENT BLKID_CMT DEPPROFILED_LIBBLKID PROFILED_LIBBLKID @@ -743,14 +703,14 @@ BSDLIB_CMT ELF_CMT HTREE_CMT Q -ES E LINK_BUILD_FLAGS -SYMLINK_RELATIVE LINK_INSTALL_FLAGS MAINTAINER_CMT +LINUX_INCLUDE +EGREP +GREP CPP -RDYNAMIC DLOPEN_LIB OBJEXT EXEEXT @@ -827,8 +787,6 @@ with_ldopts with_root_prefix enable_maintainer_mode enable_symlink_install -enable_relative_symlinks -enable_symlink_relative_symlinks enable_symlink_build enable_verbose_makecmds enable_compression @@ -842,12 +800,9 @@ enable_blkid_debug enable_testio_debug enable_libuuid enable_libblkid -enable_quota -enable_backtrace enable_debugfs enable_imager enable_resizer -enable_defrag enable_fsck enable_e2initrd_helper enable_tls @@ -858,7 +813,6 @@ enable_rpath with_libiconv_prefix with_included_gettext with_libintl_prefix -with_multiarch ' ac_precious_vars='build_alias host_alias @@ -932,9 +886,8 @@ do fi case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -979,7 +932,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + as_fn_error "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1005,7 +958,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + as_fn_error "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1209,7 +1162,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + as_fn_error "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1225,7 +1178,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + as_fn_error "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1255,8 +1208,8 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" + -*) as_fn_error "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information." ;; *=*) @@ -1264,7 +1217,7 @@ Try \`$0 --help' for more information" # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + as_fn_error "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1274,7 +1227,7 @@ Try \`$0 --help' for more information" $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac @@ -1282,13 +1235,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" + as_fn_error "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1311,7 +1264,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" + as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1325,6 +1278,8 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe + $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1339,9 +1294,9 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" + as_fn_error "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" + as_fn_error "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1380,11 +1335,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" + as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1424,7 +1379,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages + -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -1483,8 +1438,6 @@ Optional Features: --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-maintainer-mode enable makefile rules useful for maintainers --enable-symlink-install use symlinks when installing instead of hard links - --enable-relative-symlinks use relative symlinks when installing - --enable-symlink-build use symlinks while building instead of hard links --enable-verbose-makecmds enable verbose make command output --enable-compression enable EXPERIMENTAL compression support @@ -1498,12 +1451,9 @@ Optional Features: --disable-testio-debug disable the use of the test I/O manager for debugging --disable-libuuid do not build private uuid library --disable-libblkid do not build private blkid library - --enable-quota enable quota support - --disable-backtrace disable use backtrace --disable-debugfs disable support of debugfs program --disable-imager disable support of e2image program --disable-resizer disable support of e2resize program - --disable-defrag disable support of e4defrag program --enable-fsck build fsck wrapper program --enable-e2initrd-helper build e2initrd-helper program --disable-tls disable use of thread local support @@ -1525,7 +1475,6 @@ Optional Packages: --with-included-gettext use the GNU gettext library included here --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir - --with-multiarch=ARCH specify the multiarch triplet Some influential environment variables: CC C compiler command @@ -1605,9 +1554,9 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure -generated by GNU Autoconf 2.69 +generated by GNU Autoconf 2.65 -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2009 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1651,7 +1600,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_compile @@ -1683,7 +1632,7 @@ $as_echo "$ac_try_echo"; } >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - test -x conftest$ac_exeext + $as_test_x conftest$ac_exeext }; then : ac_retval=0 else @@ -1697,7 +1646,7 @@ fi # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_link @@ -1723,7 +1672,7 @@ $as_echo "$ac_try_echo"; } >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { + test $ac_status = 0; } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : @@ -1734,11 +1683,98 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_cpp +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_mongrel + # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes @@ -1776,11 +1812,42 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_try_run +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_compile + # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache @@ -1790,7 +1857,7 @@ ac_fn_c_check_type () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else eval "$3=no" @@ -1831,41 +1898,10 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_type -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly @@ -1874,7 +1910,7 @@ ac_fn_c_check_func () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1929,97 +1965,10 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_func -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes @@ -2037,8 +1986,7 @@ int main () { static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0; -return test_array [0]; +test_array [0] = 0 ; return 0; @@ -2054,8 +2002,7 @@ int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; +test_array [0] = 0 ; return 0; @@ -2081,8 +2028,7 @@ int main () { static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0; -return test_array [0]; +test_array [0] = 0 ; return 0; @@ -2098,8 +2044,7 @@ int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; +test_array [0] = 0 ; return 0; @@ -2133,8 +2078,7 @@ int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; +test_array [0] = 0 ; return 0; @@ -2198,7 +2142,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ rm -f conftest.val fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} as_fn_set_status $ac_retval } # ac_fn_c_compute_int @@ -2212,7 +2156,7 @@ ac_fn_c_check_member () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 $as_echo_n "checking for $2.$3... " >&6; } -if eval \${$4+:} false; then : +if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2256,22 +2200,19 @@ fi eval ac_res=\$$4 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_member -# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -# --------------------------------------------- -# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -# accordingly. +# ac_fn_c_check_decl LINENO SYMBOL VAR +# ------------------------------------ +# Tests whether SYMBOL is declared, setting cache variable VAR accordingly. ac_fn_c_check_decl () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - as_decl_name=`echo $2|sed 's/ *(.*//'` - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5 +$as_echo_n "checking whether $2 is declared... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2280,12 +2221,8 @@ $4 int main () { -#ifndef $as_decl_name -#ifdef __cplusplus - (void) $as_decl_use; -#else - (void) $as_decl_name; -#endif +#ifndef $2 + (void) $2; #endif ; @@ -2302,7 +2239,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_decl cat >config.log <<_ACEOF @@ -2310,7 +2247,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.69. Invocation command line was +generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -2420,9 +2357,11 @@ trap 'exit_status=$? { echo - $as_echo "## ---------------- ## + cat <<\_ASBOX +## ---------------- ## ## Cache variables. ## -## ---------------- ##" +## ---------------- ## +_ASBOX echo # The following way of writing the cache mishandles newlines in values, ( @@ -2456,9 +2395,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - $as_echo "## ----------------- ## + cat <<\_ASBOX +## ----------------- ## ## Output variables. ## -## ----------------- ##" +## ----------------- ## +_ASBOX echo for ac_var in $ac_subst_vars do @@ -2471,9 +2412,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; echo if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## + cat <<\_ASBOX +## ------------------- ## ## File substitutions. ## -## ------------------- ##" +## ------------------- ## +_ASBOX echo for ac_var in $ac_subst_files do @@ -2487,9 +2430,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; fi if test -s confdefs.h; then - $as_echo "## ----------- ## + cat <<\_ASBOX +## ----------- ## ## confdefs.h. ## -## ----------- ##" +## ----------- ## +_ASBOX echo cat confdefs.h echo @@ -2544,12 +2489,7 @@ _ACEOF ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac + ac_site_file1=$CONFIG_SITE elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -2564,11 +2504,7 @@ do { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } + . "$ac_site_file" fi done @@ -2647,7 +2583,7 @@ if $ac_cache_corrupted; then $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -2663,22 +2599,16 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in config "$srcdir"/config; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi + for ac_t in install-sh install.sh shtool; do + if test -f "$ac_dir/$ac_t"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/$ac_t -c" + break 2 + fi + done done if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5 + as_fn_error "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -2690,9 +2620,6 @@ ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -ac_config_headers="$ac_config_headers lib/config.h" - - MCONFIG=./MCONFIG BINARY_TYPE=bin @@ -2755,27 +2682,27 @@ $as_echo "Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}" >&6; } # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : +if test "${ac_cv_build+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 + as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -2793,14 +2720,14 @@ case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : +if test "${ac_cv_host+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi @@ -2808,7 +2735,7 @@ fi $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -2835,7 +2762,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2847,7 +2774,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2875,7 +2802,7 @@ if test -z "$ac_cv_prog_CC"; then set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -2887,7 +2814,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2928,7 +2855,7 @@ if test -z "$CC"; then set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2940,7 +2867,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2968,7 +2895,7 @@ if test -z "$CC"; then set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2981,7 +2908,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue @@ -3027,7 +2954,7 @@ if test -z "$CC"; then set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3039,7 +2966,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3071,7 +2998,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3083,7 +3010,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3125,8 +3052,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } +as_fn_error "no acceptable C compiler found in \$PATH +See \`config.log' for more details." "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -3240,8 +3167,9 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } +{ as_fn_set_status 77 +as_fn_error "C compiler cannot create executables +See \`config.log' for more details." "$LINENO" 5; }; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -3283,8 +3211,8 @@ done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } +as_fn_error "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -3341,9 +3269,9 @@ $as_echo "$ac_try_echo"; } >&5 else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. +as_fn_error "cannot run C compiled programs. If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } +See \`config.log' for more details." "$LINENO" 5; } fi fi fi @@ -3354,7 +3282,7 @@ rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : +if test "${ac_cv_objext+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -3394,8 +3322,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } +as_fn_error "cannot compute suffix of object files: cannot compile +See \`config.log' for more details." "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@ -3405,7 +3333,7 @@ OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : +if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -3442,7 +3370,7 @@ ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : +if test "${ac_cv_prog_cc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag @@ -3520,7 +3448,7 @@ else fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : +if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no @@ -3529,7 +3457,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -struct stat; +#include +#include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -3617,7 +3546,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : +if test "${ac_cv_lib_dl_dlopen+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -3651,9 +3580,8 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : +if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : DLOPEN_LIB=-ldl - $as_echo "#define HAVE_DLOPEN 1" >>confdefs.h fi @@ -3671,19 +3599,19 @@ fi # Check whether --with-cc was given. if test "${with_cc+set}" = set; then : - withval=$with_cc; as_fn_error $? "--with-cc no longer supported; use CC= instead" "$LINENO" 5 + withval=$with_cc; as_fn_error "--with-cc no longer supported; use CC= instead" "$LINENO" 5 fi # Check whether --with-ccopts was given. if test "${with_ccopts+set}" = set; then : - withval=$with_ccopts; as_fn_error $? "--with-ccopts no longer supported; use CFLAGS= instead" "$LINENO" 5 + withval=$with_ccopts; as_fn_error "--with-ccopts no longer supported; use CFLAGS= instead" "$LINENO" 5 fi # Check whether --with-ldopts was given. if test "${with_ldopts+set}" = set; then : - withval=$with_ldopts; as_fn_error $? "--with-ldopts no longer supported; use LDFLAGS= instead" "$LINENO" 5 + withval=$with_ldopts; as_fn_error "--with-ldopts no longer supported; use LDFLAGS= instead" "$LINENO" 5 fi ac_ext=c @@ -3696,7 +3624,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3708,7 +3636,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3736,7 +3664,7 @@ if test -z "$ac_cv_prog_CC"; then set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3748,7 +3676,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3789,7 +3717,7 @@ if test -z "$CC"; then set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3801,7 +3729,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3829,7 +3757,7 @@ if test -z "$CC"; then set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3842,7 +3770,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue @@ -3888,7 +3816,7 @@ if test -z "$CC"; then set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3900,7 +3828,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3932,7 +3860,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3944,7 +3872,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3986,8 +3914,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } +as_fn_error "no acceptable C compiler found in \$PATH +See \`config.log' for more details." "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -4016,7 +3944,7 @@ done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : +if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4053,7 +3981,7 @@ ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : +if test "${ac_cv_prog_cc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag @@ -4131,7 +4059,7 @@ else fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : +if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no @@ -4140,7 +4068,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -struct stat; +#include +#include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -4225,10 +4154,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test "$GCC" = yes; then - RDYNAMIC="-rdynamic" - -fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4241,7 +4166,7 @@ if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : + if test "${ac_cv_prog_CPP+set}" = set; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -4271,7 +4196,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.i conftest.$ac_ext +rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -4287,11 +4212,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.i conftest.$ac_ext +rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext +rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -4330,7 +4255,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.i conftest.$ac_ext +rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -4346,18 +4271,18 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.i conftest.$ac_ext +rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext +rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } +as_fn_error "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." "$LINENO" 5; } fi ac_ext=c @@ -4366,175 +4291,402 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for additional special compiler flags" >&5 -$as_echo_n "checking for additional special compiler flags... " >&6; } -if test "$GCC" = yes -then - case "$host_cpu" in - alpha) addcflags="-mieee" ;; - esac -fi -if test "x$addcflags" != x -then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $addcflags" >&5 -$as_echo "$addcflags" >&6; } - CFLAGS="$addcflags $CFLAGS" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (none)" >&5 -$as_echo "(none)" >&6; } -fi -LIB_EXT=.a -STATIC_LIB_EXT=.a -PROFILED_LIB_EXT=.a -# Check whether --with-root-prefix was given. -if test "${with_root_prefix+set}" = set; then : - withval=$with_root_prefix; root_prefix=$withval -else - root_prefix=NONE -fi -# Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then : - enableval=$enable_maintainer_mode; if test "$enableval" = "no" -then - MAINTAINER_CMT=# - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling maintainer mode" >&5 -$as_echo "Disabling maintainer mode" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if test "${ac_cv_path_GREP+set}" = set; then : + $as_echo_n "(cached) " >&6 else - MAINTAINER_CMT= - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling maintainer mode" >&5 -$as_echo "Enabling maintainer mode" >&6; } -fi + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi else - MAINTAINER_CMT=# -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling maintainer mode by default" >&5 -$as_echo "Disabling maintainer mode by default" >&6; } + ac_cv_path_GREP=$GREP +fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" -# Check whether --enable-symlink-install was given. -if test "${enable_symlink_install+set}" = set; then : - enableval=$enable_symlink_install; if test "$enableval" = "no" -then - LINK_INSTALL_FLAGS=-f - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for install" >&5 -$as_echo "Disabling symlinks for install" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then : + $as_echo_n "(cached) " >&6 else - LINK_INSTALL_FLAGS=-sf - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling symlinks for install" >&5 -$as_echo "Enabling symlinks for install" >&6; } -fi + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi else - LINK_INSTALL_FLAGS=-f -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for install by default" >&5 -$as_echo "Disabling symlinks for install by default" >&6; } + ac_cv_path_EGREP=$EGREP +fi + fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" -relative_symlink_defined= -# Check whether --enable-relative-symlinks was given. -if test "${enable_relative_symlinks+set}" = set; then : - enableval=$enable_relative_symlinks; if test "$enableval" = "no" -then - SYMLINK_RELATIVE= - relative_symlink_defined=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling relative symlinks for install" >&5 -$as_echo "Disabling relative symlinks for install" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if test "${ac_cv_header_stdc+set}" = set; then : + $as_echo_n "(cached) " >&6 else - SYMLINK_RELATIVE=--relative - relative_symlink_defined=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling relative symlinks for install" >&5 -$as_echo "Enabling relative symlinks for install" >&6; } -fi -fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include -# Check whether --enable-symlink-relative-symlinks was given. -if test "${enable_symlink_relative_symlinks+set}" = set; then : - enableval=$enable_symlink_relative_symlinks; if test "$enableval" = "no" -then - SYMLINK_RELATIVE=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling relative symlinks for install" >&5 -$as_echo "Disabling relative symlinks for install" >&6; } -else - SYMLINK_RELATIVE=--relative - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling relative symlinks for install" >&5 -$as_echo "Enabling relative symlinks for install" >&6; } -fi +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes else - if test -z "$relative_symlink_defined" -then - SYMLINK_RELATIVE= -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling relative symlinks for install by default" >&5 -$as_echo "Disabling relative symlinks for install by default" >&6; } + ac_cv_header_stdc=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : -# Check whether --enable-symlink-build was given. -if test "${enable_symlink_build+set}" = set; then : - enableval=$enable_symlink_build; if test "$enableval" = "no" -then - LINK_BUILD_FLAGS= - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for build" >&5 -$as_echo "Disabling symlinks for build" >&6; } else - LINK_BUILD_FLAGS=-s - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling symlinks for build" >&5 -$as_echo "Enabling symlinks for build" >&6; } + ac_cv_header_stdc=no fi - -else - LINK_BUILD_FLAGS= -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for build by default" >&5 -$as_echo "Disabling symlinks for build by default" >&6; } +rm -f conftest* fi +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : -# Check whether --enable-verbose-makecmds was given. -if test "${enable_verbose_makecmds+set}" = set; then : - enableval=$enable_verbose_makecmds; if test "$enableval" = "no" -then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling verbose make commands" >&5 -$as_echo "Disabling verbose make commands" >&6; } - E=@echo - ES=echo - Q=@ else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling verbose make commands" >&5 -$as_echo "Enabling verbose make commands" >&6; } - E=@\\# - ES=\\# - Q= + ac_cv_header_stdc=no fi - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling verbose make commands" >&5 -$as_echo "Disabling verbose make commands" >&6; } -E=@echo -ES=echo -Q=@ +rm -f conftest* fi - - - -# Check whether --enable-compression was given. +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +ac_fn_c_check_header_mongrel "$LINENO" "linux/fs.h" "ac_cv_header_linux_fs_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_fs_h" = x""yes; then : + linux_headers=yes +else + linux_headers=no +fi + + +if test "$linux_headers" != yes; then + LINUX_INCLUDE='-I$(top_builddir)/include' +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for additional special compiler flags" >&5 +$as_echo_n "checking for additional special compiler flags... " >&6; } +if test "$GCC" = yes +then + case "$host_cpu" in + alpha) addcflags="-mieee" ;; + esac +fi +if test "x$addcflags" != x +then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $addcflags" >&5 +$as_echo "$addcflags" >&6; } + CFLAGS="$addcflags $CFLAGS" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (none)" >&5 +$as_echo "(none)" >&6; } +fi +LIB_EXT=.a +STATIC_LIB_EXT=.a +PROFILED_LIB_EXT=.a + +# Check whether --with-root-prefix was given. +if test "${with_root_prefix+set}" = set; then : + withval=$with_root_prefix; root_prefix=$withval +else + root_prefix=NONE +fi +# Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then : + enableval=$enable_maintainer_mode; if test "$enableval" = "no" +then + MAINTAINER_CMT=# + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling maintainer mode" >&5 +$as_echo "Disabling maintainer mode" >&6; } +else + MAINTAINER_CMT= + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling maintainer mode" >&5 +$as_echo "Enabling maintainer mode" >&6; } +fi + +else + MAINTAINER_CMT=# +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling maintainer mode by default" >&5 +$as_echo "Disabling maintainer mode by default" >&6; } + +fi + + +# Check whether --enable-symlink-install was given. +if test "${enable_symlink_install+set}" = set; then : + enableval=$enable_symlink_install; if test "$enableval" = "no" +then + LINK_INSTALL_FLAGS=-f + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for install" >&5 +$as_echo "Disabling symlinks for install" >&6; } +else + LINK_INSTALL_FLAGS=-sf + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling symlinks for install" >&5 +$as_echo "Enabling symlinks for install" >&6; } +fi + +else + LINK_INSTALL_FLAGS=-f +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for install" >&5 +$as_echo "Disabling symlinks for install" >&6; } + +fi + + +# Check whether --enable-symlink-build was given. +if test "${enable_symlink_build+set}" = set; then : + enableval=$enable_symlink_build; if test "$enableval" = "no" +then + LINK_BUILD_FLAGS= + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for build" >&5 +$as_echo "Disabling symlinks for build" >&6; } +else + LINK_BUILD_FLAGS=-s + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling symlinks for build" >&5 +$as_echo "Enabling symlinks for build" >&6; } +fi + +else + LINK_BUILD_FLAGS= +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling symlinks for build" >&5 +$as_echo "Disabling symlinks for build" >&6; } + +fi + + +# Check whether --enable-verbose-makecmds was given. +if test "${enable_verbose_makecmds+set}" = set; then : + enableval=$enable_verbose_makecmds; if test "$enableval" = "no" +then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling verbose make commands" >&5 +$as_echo "Disabling verbose make commands" >&6; } + E=@echo + Q=@ +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling verbose make commands" >&5 +$as_echo "Enabling verbose make commands" >&6; } + E=@\\# + Q= +fi + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling verbose make commands" >&5 +$as_echo "Disabling verbose make commands" >&6; } +E=@echo +Q=@ + +fi + + + +# Check whether --enable-compression was given. if test "${enable_compression+set}" = set; then : enableval=$enable_compression; if test "$enableval" = "no" then { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling compression support" >&5 $as_echo "Disabling compression support" >&6; } else - -$as_echo "#define ENABLE_COMPRESSION 1" >>confdefs.h + $as_echo "#define ENABLE_COMPRESSION 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling compression support" >&5 $as_echo "Enabling compression support" >&6; } @@ -4548,7 +4700,6 @@ $as_echo "Disabling compression support by default" >&6; } fi - # Check whether --enable-htree was given. if test "${enable_htree+set}" = set; then : enableval=$enable_htree; if test "$enableval" = "no" @@ -4708,8 +4859,7 @@ then { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling journal debugging" >&5 $as_echo "Disabling journal debugging" >&6; } else - -$as_echo "#define CONFIG_JBD_DEBUG 1" >>confdefs.h + $as_echo "#define CONFIG_JBD_DEBUG 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling journal debugging" >&5 $as_echo "Enabling journal debugging" >&6; } @@ -4728,8 +4878,7 @@ then { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling blkid debugging" >&5 $as_echo "Disabling blkid debugging" >&6; } else - -$as_echo "#define CONFIG_BLKID_DEBUG 1" >>confdefs.h + $as_echo "#define CONFIG_BLKID_DEBUG 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling blkid debugging" >&5 $as_echo "Enabling blkid debugging" >&6; } @@ -4743,8 +4892,7 @@ fi # Check whether --enable-testio-debug was given. if test "${enable_testio_debug+set}" = set; then : - enableval=$enable_testio_debug; -if test "$enableval" = "no" + enableval=$enable_testio_debug; if test "$enableval" = "no" then { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling testio debugging" >&5 $as_echo "Disabling testio debugging" >&6; } @@ -4775,7 +4923,7 @@ if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKG_CONFIG+:} false; then : +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in @@ -4789,7 +4937,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4818,7 +4966,7 @@ if test -z "$ac_cv_path_PKG_CONFIG"; then set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : +if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in @@ -4832,7 +4980,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4895,12 +5043,12 @@ if test "${enable_libuuid+set}" = set; then : enableval=$enable_libuuid; if test "$enableval" = "no" then if test -z "$PKG_CONFIG"; then - as_fn_error $? "pkg-config not installed; please install it." "$LINENO" 5 + as_fn_error "pkg-config not installed; please install it." "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate in -luuid" >&5 $as_echo_n "checking for uuid_generate in -luuid... " >&6; } -if ${ac_cv_lib_uuid_uuid_generate+:} false; then : +if test "${ac_cv_lib_uuid_uuid_generate+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -4934,11 +5082,11 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_generate" >&5 $as_echo "$ac_cv_lib_uuid_uuid_generate" >&6; } -if test "x$ac_cv_lib_uuid_uuid_generate" = xyes; then : +if test "x$ac_cv_lib_uuid_uuid_generate" = x""yes; then : LIBUUID=`$PKG_CONFIG --libs uuid`; STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid` else - as_fn_error $? "external uuid library not found" "$LINENO" 5 + as_fn_error "external uuid library not found" "$LINENO" 5 fi UUID_CMT=# @@ -4982,7 +5130,7 @@ if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKG_CONFIG+:} false; then : +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in @@ -4996,7 +5144,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5025,7 +5173,7 @@ if test -z "$ac_cv_path_PKG_CONFIG"; then set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : +if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in @@ -5039,7 +5187,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5097,18 +5245,17 @@ DEPSTATIC_LIBBLKID= PROFILED_LIBBLKID= DEPPROFILED_LIBBLKID= BLKID_CMT= - # Check whether --enable-libblkid was given. if test "${enable_libblkid+set}" = set; then : enableval=$enable_libblkid; if test "$enableval" = "no" then if test -z "$PKG_CONFIG"; then - as_fn_error $? "pkg-config not installed; please install it." "$LINENO" 5 + as_fn_error "pkg-config not installed; please install it." "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for blkid_get_cache in -lblkid" >&5 $as_echo_n "checking for blkid_get_cache in -lblkid... " >&6; } -if ${ac_cv_lib_blkid_blkid_get_cache+:} false; then : +if test "${ac_cv_lib_blkid_blkid_get_cache+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -5142,11 +5289,11 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blkid_blkid_get_cache" >&5 $as_echo "$ac_cv_lib_blkid_blkid_get_cache" >&6; } -if test "x$ac_cv_lib_blkid_blkid_get_cache" = xyes; then : +if test "x$ac_cv_lib_blkid_blkid_get_cache" = x""yes; then : LIBBLKID=`$PKG_CONFIG --libs blkid`; STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid` else - as_fn_error $? "external blkid library not found" "$LINENO" 5 + as_fn_error "external blkid library not found" "$LINENO" 5 fi BLKID_CMT=# @@ -5186,215 +5333,38 @@ fi -QUOTA_MAN_COMMENT='.\"' -QUOTA_CMT= - - - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 +# Check whether --enable-debugfs was given. +if test "${enable_debugfs+set}" = set; then : + enableval=$enable_debugfs; if test "$enableval" = "no" +then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling debugfs support" >&5 +$as_echo "Disabling debugfs support" >&6; } + DEBUGFS_CMT="#" else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac + DEBUGFS_CMT= + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling debugfs support" >&5 +$as_echo "Enabling debugfs support" >&6; } fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -$as_echo "$PKG_CONFIG" >&6; } + else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling debugfs support by default" >&5 +$as_echo "Enabling debugfs support by default" >&6; } +DEBUGFS_CMT= + fi -fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG -if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - PKG_CONFIG=$ac_pt_PKG_CONFIG - fi -else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi - -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.9.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - PKG_CONFIG="" - fi - -fi - -# Check whether --enable-quota was given. -if test "${enable_quota+set}" = set; then : - enableval=$enable_quota; if test "$enableval" = "no" -then - QUOTA_CMT=# - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling quota support" >&5 -$as_echo "Disabling quota support" >&6; } -else - QUOTA_CMT= - $as_echo "#define CONFIG_QUOTA 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling quota support" >&5 -$as_echo "Enabling quota support" >&6; } - QUOTA_MAN_COMMENT="" - -fi - -else - QUOTA_CMT=# -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling quota support by default" >&5 -$as_echo "Disabling quota support by default" >&6; } - -fi - -LIBQUOTA='$(LIB)/libquota'$LIB_EXT -DEPLIBQUOTA=$LIBQUOTA -STATIC_LIBQUOTA='$(LIB)/libquota'$STATIC_LIB_EXT -DEPSTATIC_LIBQUOTA=$STATIC_LIBQUOTA -PROFILED_LIBQUOTA='$(LIB)/libquota'$PROFILED_LIB_EXT -DEPPROFILED_LIBQUOTA=$PROFILED_LIBQUOTA - - - - - - - - -# Check whether --enable-backtrace was given. -if test "${enable_backtrace+set}" = set; then : - enableval=$enable_backtrace; if test "$enableval" = "no" -then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling use of backtrace" >&5 -$as_echo "Disabling use of backtrace" >&6; } - $as_echo "#define DISABLE_BACKTRACE 1" >>confdefs.h - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling use of backtrace" >&5 -$as_echo "Enabling use of backtrace" >&6; } -fi - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling use of backtrace by default" >&5 -$as_echo "Enabling use of backtrace by default" >&6; } - -fi - -# Check whether --enable-debugfs was given. -if test "${enable_debugfs+set}" = set; then : - enableval=$enable_debugfs; if test "$enableval" = "no" -then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling debugfs support" >&5 -$as_echo "Disabling debugfs support" >&6; } - DEBUGFS_CMT="#" -else - DEBUGFS_CMT= - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling debugfs support" >&5 -$as_echo "Enabling debugfs support" >&6; } -fi - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling debugfs support by default" >&5 -$as_echo "Enabling debugfs support by default" >&6; } -DEBUGFS_CMT= - -fi - - -# Check whether --enable-imager was given. -if test "${enable_imager+set}" = set; then : - enableval=$enable_imager; if test "$enableval" = "no" -then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling e2image support" >&5 -$as_echo "Disabling e2image support" >&6; } - IMAGER_CMT="#" -else - IMAGER_CMT= - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling e2image support" >&5 -$as_echo "Enabling e2image support" >&6; } +# Check whether --enable-imager was given. +if test "${enable_imager+set}" = set; then : + enableval=$enable_imager; if test "$enableval" = "no" +then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling e2image support" >&5 +$as_echo "Disabling e2image support" >&6; } + IMAGER_CMT="#" +else + IMAGER_CMT= + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling e2image support" >&5 +$as_echo "Enabling e2image support" >&6; } fi else @@ -5426,27 +5396,6 @@ RESIZER_CMT= fi -# Check whether --enable-defrag was given. -if test "${enable_defrag+set}" = set; then : - enableval=$enable_defrag; if test "$enableval" = "no" -then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling e4defrag support" >&5 -$as_echo "Disabling e4defrag support" >&6; } - DEFRAG_CMT="#" -else - DEFRAG_CMT= - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling e4defrag support" >&5 -$as_echo "Enabling e4defrag support" >&6; } -fi - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling e4defrag support by default" >&5 -$as_echo "Enabling e4defrag support by default" >&6; } -DEFRAG_CMT= - -fi - - # Check whether --enable-fsck was given. if test "${enable_fsck+set}" = set; then : enableval=$enable_fsck; if test "$enableval" = "no" @@ -5531,7 +5480,7 @@ then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for thread local storage (TLS) class" >&5 $as_echo_n "checking for thread local storage (TLS) class... " >&6; } - if ${ac_cv_tls+:} false; then : + if test "${ac_cv_tls+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -5580,7 +5529,6 @@ _ACEOF $as_echo "$ac_cv_tls" >&6; } fi - # Check whether --enable-uuidd was given. if test "${enable_uuidd+set}" = set; then : enableval=$enable_uuidd; if test "$enableval" = "no" @@ -5612,12 +5560,10 @@ GETTEXT_PACKAGE=e2fsprogs PACKAGE=e2fsprogs VERSION="$E2FSPROGS_VERSION" VERSION=0.14.1 - cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF - cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF @@ -5630,7 +5576,7 @@ _ACEOF $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -5638,7 +5584,7 @@ SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; @@ -5674,7 +5620,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : +if test "${ac_cv_path_install+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -5694,7 +5640,7 @@ case $as_dir/ in #(( # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. @@ -5813,7 +5759,7 @@ rm -f conf$$.file set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MSGFMT+:} false; then : +if test "${ac_cv_path_MSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in @@ -5853,7 +5799,7 @@ fi set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_GMSGFMT+:} false; then : +if test "${ac_cv_path_GMSGFMT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in @@ -5867,7 +5813,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5924,7 +5870,7 @@ rm -f conf$$.file set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_XGETTEXT+:} false; then : +if test "${ac_cv_path_XGETTEXT+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in @@ -5995,7 +5941,7 @@ rm -f conf$$.file set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MSGMERGE+:} false; then : +if test "${ac_cv_path_MSGMERGE+set}" = set; then : $as_echo_n "(cached) " >&6 else case "$MSGMERGE" in @@ -6063,7 +6009,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : +if test "${ac_cv_prog_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -6075,370 +6021,127 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strerror in -lcposix" >&5 -$as_echo_n "checking for strerror in -lcposix... " >&6; } -if ${ac_cv_lib_cposix_strerror+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcposix $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char strerror (); -int -main () -{ -return strerror (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_cposix_strerror=yes -else - ac_cv_lib_cposix_strerror=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cposix_strerror" >&5 -$as_echo "$ac_cv_lib_cposix_strerror" >&6; } -if test "x$ac_cv_lib_cposix_strerror" = xyes; then : - LIBS="$LIBS -lcposix" -fi - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : +done + done +IFS=$as_save_IFS -else - ac_cv_header_stdc=no fi -rm -f conftest* - +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } else - ac_cv_header_stdc=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -rm -f conftest* + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" fi -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strerror in -lcposix" >&5 +$as_echo_n "checking for strerror in -lcposix... " >&6; } +if test "${ac_cv_lib_cposix_strerror+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcposix $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char strerror (); int main () { - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; +return strerror (); + ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_cposix_strerror=yes else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cv_lib_cposix_strerror=no fi - +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cposix_strerror" >&5 +$as_echo "$ac_cv_lib_cposix_strerror" >&6; } +if test "x$ac_cv_lib_cposix_strerror" = x""yes; then : + LIBS="$LIBS -lcposix" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then -$as_echo "#define STDC_HEADERS 1" >>confdefs.h -fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if ${ac_cv_c_const+:} false; then : +if test "${ac_cv_c_const+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -6447,11 +6150,11 @@ else int main () { - +/* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus - /* Ultrix mips cc rejects this sort of thing. */ + /* Ultrix mips cc rejects this. */ typedef int charset[2]; - const charset cs = { 0, 0 }; + const charset cs; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; @@ -6468,9 +6171,8 @@ main () ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this sort of thing. */ - char tx; - char *t = &tx; + { /* SCO 3.2v4 cc rejects this. */ + char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; @@ -6486,10 +6188,10 @@ main () iptr p = 0; ++p; } - { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying + { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; } bx; - struct s *b = &bx; b->j = 5; + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; @@ -6520,7 +6222,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for signed" >&5 $as_echo_n "checking for signed... " >&6; } -if ${bh_cv_c_signed+:} false; then : +if test "${bh_cv_c_signed+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -6551,7 +6253,7 @@ $as_echo "#define signed /**/" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } -if ${ac_cv_c_inline+:} false; then : +if test "${ac_cv_c_inline+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no @@ -6591,25 +6293,8 @@ _ACEOF ;; esac -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" -if test "x$ac_cv_type_off_t" = xyes; then : +if test "x$ac_cv_type_off_t" = x""yes; then : else @@ -6620,7 +6305,7 @@ _ACEOF fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes; then : +if test "x$ac_cv_type_size_t" = x""yes; then : else @@ -6633,7 +6318,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long" >&5 $as_echo_n "checking for long long... " >&6; } -if ${ac_cv_type_long_long+:} false; then : +if test "${ac_cv_type_long_long+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -6667,7 +6352,7 @@ $as_echo "#define HAVE_LONG_LONG 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double" >&5 $as_echo_n "checking for long double... " >&6; } -if ${gt_cv_c_long_double+:} false; then : +if test "${gt_cv_c_long_double+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$GCC" = yes; then @@ -6708,7 +6393,7 @@ $as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 $as_echo_n "checking for wchar_t... " >&6; } -if ${gt_cv_c_wchar_t+:} false; then : +if test "${gt_cv_c_wchar_t+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -6741,7 +6426,7 @@ $as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 $as_echo_n "checking for wint_t... " >&6; } -if ${gt_cv_c_wint_t+:} false; then : +if test "${gt_cv_c_wint_t+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -6774,7 +6459,7 @@ $as_echo "#define HAVE_WINT_T 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5 $as_echo_n "checking for inttypes.h... " >&6; } -if ${jm_ac_cv_header_inttypes_h+:} false; then : +if test "${jm_ac_cv_header_inttypes_h+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -6809,7 +6494,7 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5 $as_echo_n "checking for stdint.h... " >&6; } -if ${jm_ac_cv_header_stdint_h+:} false; then : +if test "${jm_ac_cv_header_stdint_h+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -6846,7 +6531,7 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intmax_t" >&5 $as_echo_n "checking for intmax_t... " >&6; } -if ${gt_cv_c_intmax_t+:} false; then : +if test "${gt_cv_c_intmax_t+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -6888,7 +6573,7 @@ $as_echo "#define HAVE_INTMAX_T 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf() supports POSIX/XSI format strings" >&5 $as_echo_n "checking whether printf() supports POSIX/XSI format strings... " >&6; } -if ${gt_cv_func_printf_posix+:} false; then : +if test "${gt_cv_func_printf_posix+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -6952,7 +6637,7 @@ $as_echo "#define HAVE_POSIX_PRINTF 1" >>confdefs.h # for constant arguments. Useless! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 $as_echo_n "checking for working alloca.h... " >&6; } -if ${ac_cv_working_alloca_h+:} false; then : +if test "${ac_cv_working_alloca_h+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -6985,7 +6670,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 $as_echo_n "checking for alloca... " >&6; } -if ${ac_cv_func_alloca_works+:} false; then : +if test "${ac_cv_func_alloca_works+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -7004,7 +6689,7 @@ else #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ -void *alloca (size_t); +char *alloca (); # endif # endif # endif @@ -7048,7 +6733,7 @@ $as_echo "#define C_ALLOCA 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } -if ${ac_cv_os_cray+:} false; then : +if test "${ac_cv_os_cray+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -7075,7 +6760,8 @@ if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func @@ -7089,7 +6775,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 $as_echo_n "checking stack direction for C alloca... " >&6; } -if ${ac_cv_c_stack_direction+:} false; then : +if test "${ac_cv_c_stack_direction+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -7099,20 +6785,23 @@ else /* end confdefs.h. */ $ac_includes_default int -find_stack_direction (int *addr, int depth) +find_stack_direction () { - int dir, dummy = 0; - if (! addr) - addr = &dummy; - *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; - dir = depth ? find_stack_direction (addr, depth - 1) : 0; - return dir + dummy; + static char *addr = 0; + auto char dummy; + if (addr == 0) + { + addr = &dummy; + return find_stack_direction (); + } + else + return (&dummy > addr) ? 1 : -1; } int -main (int argc, char **argv) +main () { - return find_stack_direction (0, argc + !argv + 20) < 0; + return find_stack_direction () < 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : @@ -7142,7 +6831,8 @@ do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -7161,7 +6851,7 @@ done for ac_func in getpagesize do : ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" -if test "x$ac_cv_func_getpagesize" = xyes; then : +if test "x$ac_cv_func_getpagesize" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETPAGESIZE 1 _ACEOF @@ -7171,7 +6861,7 @@ done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 $as_echo_n "checking for working mmap... " >&6; } -if ${ac_cv_func_mmap_fixed_mapped+:} false; then : +if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -7338,7 +7028,7 @@ rm -f conftest.mmap conftest.txt { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library 2.1 or newer" >&5 $as_echo_n "checking whether we are using the GNU C Library 2.1 or newer... " >&6; } -if ${ac_cv_gnu_library_2_1+:} false; then : +if test "${ac_cv_gnu_library_2_1+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -7373,7 +7063,7 @@ $as_echo "$ac_cv_gnu_library_2_1" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether integer division by zero raises SIGFPE" >&5 $as_echo_n "checking whether integer division by zero raises SIGFPE... " >&6; } -if ${gt_cv_int_divbyzero_sigfpe+:} false; then : +if test "${gt_cv_int_divbyzero_sigfpe+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -7454,7 +7144,7 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long" >&5 $as_echo_n "checking for unsigned long long... " >&6; } -if ${ac_cv_type_unsigned_long_long+:} false; then : +if test "${ac_cv_type_unsigned_long_long+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -7507,7 +7197,7 @@ $as_echo "#define HAVE_UINTMAX_T 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5 $as_echo_n "checking for inttypes.h... " >&6; } -if ${gt_cv_header_inttypes_h+:} false; then : +if test "${gt_cv_header_inttypes_h+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -7546,7 +7236,7 @@ _ACEOF if test $gt_cv_header_inttypes_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5 $as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; } -if ${gt_cv_inttypes_pri_broken+:} false; then : +if test "${gt_cv_inttypes_pri_broken+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -7588,7 +7278,7 @@ _ACEOF for ac_header in stdint.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" -if test "x$ac_cv_header_stdint_h" = xyes; then : +if test "x$ac_cv_header_stdint_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDINT_H 1 _ACEOF @@ -7685,7 +7375,7 @@ _ACEOF for ac_header in stdint.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" -if test "x$ac_cv_header_stdint_h" = xyes; then : +if test "x$ac_cv_header_stdint_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDINT_H 1 _ACEOF @@ -7771,7 +7461,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi -if ${acl_cv_path_LD+:} false; then : +if test "${acl_cv_path_LD+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then @@ -7805,10 +7495,10 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${acl_cv_prog_gnu_ld+:} false; then : +if test "${acl_cv_prog_gnu_ld+set}" = set; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. @@ -7827,7 +7517,7 @@ with_gnu_ld=$acl_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 $as_echo_n "checking for shared library run path origin... " >&6; } -if ${acl_cv_rpath+:} false; then : +if test "${acl_cv_rpath+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -8245,7 +7935,7 @@ fi ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" -if test "x$ac_cv_type_ptrdiff_t" = xyes; then : +if test "x$ac_cv_type_ptrdiff_t" = x""yes; then : else @@ -8259,7 +7949,8 @@ stdlib.h string.h unistd.h sys/param.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -8275,7 +7966,8 @@ __fsetlocking do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -8287,7 +7979,7 @@ done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _snprintf is declared" >&5 $as_echo_n "checking whether _snprintf is declared... " >&6; } -if ${ac_cv_have_decl__snprintf+:} false; then : +if test "${ac_cv_have_decl__snprintf+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -8328,7 +8020,7 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _snwprintf is declared" >&5 $as_echo_n "checking whether _snwprintf is declared... " >&6; } -if ${ac_cv_have_decl__snwprintf+:} false; then : +if test "${ac_cv_have_decl__snwprintf+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -8370,7 +8062,7 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether feof_unlocked is declared" >&5 $as_echo_n "checking whether feof_unlocked is declared... " >&6; } -if ${ac_cv_have_decl_feof_unlocked+:} false; then : +if test "${ac_cv_have_decl_feof_unlocked+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -8411,7 +8103,7 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fgets_unlocked is declared" >&5 $as_echo_n "checking whether fgets_unlocked is declared... " >&6; } -if ${ac_cv_have_decl_fgets_unlocked+:} false; then : +if test "${ac_cv_have_decl_fgets_unlocked+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -8452,7 +8144,7 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getc_unlocked is declared" >&5 $as_echo_n "checking whether getc_unlocked is declared... " >&6; } -if ${ac_cv_have_decl_getc_unlocked+:} false; then : +if test "${ac_cv_have_decl_getc_unlocked+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -8547,7 +8239,7 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } -if ${am_cv_func_iconv+:} false; then : +if test "${am_cv_func_iconv+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -8622,7 +8314,7 @@ $as_echo "$LIBICONV" >&6; } if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 $as_echo_n "checking for iconv declaration... " >&6; } - if ${am_cv_proto_iconv+:} false; then : + if test "${am_cv_proto_iconv+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -8673,7 +8365,7 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5 $as_echo_n "checking for nl_langinfo and CODESET... " >&6; } -if ${am_cv_langinfo_codeset+:} false; then : +if test "${am_cv_langinfo_codeset+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -8708,7 +8400,7 @@ $as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5 $as_echo_n "checking for LC_MESSAGES... " >&6; } -if ${am_cv_val_LC_MESSAGES+:} false; then : +if test "${am_cv_val_LC_MESSAGES+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -8746,7 +8438,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_INTLBISON+:} false; then : +if test "${ac_cv_prog_INTLBISON+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$INTLBISON"; then @@ -8758,7 +8450,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_INTLBISON="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -8864,7 +8556,7 @@ $as_echo "$nls_cv_force_use_gnu_gettext" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 $as_echo_n "checking for GNU gettext in libc... " >&6; } -if ${gt_cv_func_gnugettext1_libc+:} false; then : +if test "${gt_cv_func_gnugettext1_libc+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -9274,7 +8966,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } -if ${gt_cv_func_gnugettext1_libintl+:} false; then : +if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" @@ -9489,7 +9181,7 @@ $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -9497,7 +9189,7 @@ SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; @@ -9518,7 +9210,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU make" >&5 $as_echo_n "checking for GNU make... " >&6; } -if ${_cv_gnu_make_command+:} false; then : +if test "${_cv_gnu_make_command+set}" = set; then : $as_echo_n "(cached) " >&6 else _cv_gnu_make_command='' ; @@ -9549,7 +9241,7 @@ $as_echo "\"Not found\"" >&6; }; set dummy ln; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_LN+:} false; then : +if test "${ac_cv_path_LN+set}" = set; then : $as_echo_n "(cached) " >&6 else case $LN in @@ -9563,7 +9255,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_LN="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -9601,7 +9293,7 @@ fi set dummy mv; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MV+:} false; then : +if test "${ac_cv_path_MV+set}" = set; then : $as_echo_n "(cached) " >&6 else case $MV in @@ -9615,7 +9307,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MV="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -9642,7 +9334,7 @@ fi set dummy cp; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CP+:} false; then : +if test "${ac_cv_path_CP+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CP in @@ -9656,7 +9348,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CP="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -9683,7 +9375,7 @@ fi set dummy rm; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_RM+:} false; then : +if test "${ac_cv_path_RM+set}" = set; then : $as_echo_n "(cached) " >&6 else case $RM in @@ -9697,7 +9389,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_RM="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -9724,7 +9416,7 @@ fi set dummy chmod; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CHMOD+:} false; then : +if test "${ac_cv_path_CHMOD+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CHMOD in @@ -9738,7 +9430,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CHMOD="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -9767,7 +9459,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : +if test "${ac_cv_prog_AWK+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -9779,7 +9471,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -9805,7 +9497,7 @@ done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : +if test "${ac_cv_path_EGREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -9822,7 +9514,7 @@ do for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -9857,7 +9549,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -9874,7 +9566,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; } set dummy sed; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SED+:} false; then : +if test "${ac_cv_path_SED+set}" = set; then : $as_echo_n "(cached) " >&6 else case $SED in @@ -9888,7 +9580,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -9915,7 +9607,7 @@ fi set dummy perl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PERL+:} false; then : +if test "${ac_cv_path_PERL+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PERL in @@ -9929,7 +9621,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -9956,7 +9648,7 @@ fi set dummy ldconfig; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_LDCONFIG+:} false; then : +if test "${ac_cv_path_LDCONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $LDCONFIG in @@ -9970,7 +9662,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_LDCONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -9998,7 +9690,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : +if test "${ac_cv_prog_AR+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then @@ -10010,7 +9702,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -10038,7 +9730,7 @@ if test -z "$ac_cv_prog_AR"; then set dummy ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then @@ -10050,7 +9742,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -10090,7 +9782,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : +if test "${ac_cv_prog_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -10102,7 +9794,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -10130,7 +9822,7 @@ if test -z "$ac_cv_prog_RANLIB"; then set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then @@ -10142,7 +9834,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -10182,7 +9874,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : +if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then @@ -10194,7 +9886,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -10222,7 +9914,7 @@ if test -z "$ac_cv_prog_STRIP"; then set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then @@ -10234,7 +9926,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -10273,7 +9965,7 @@ fi set dummy makeinfo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MAKEINFO+:} false; then : +if test "${ac_cv_prog_MAKEINFO+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$MAKEINFO"; then @@ -10285,7 +9977,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MAKEINFO="makeinfo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -10333,7 +10025,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_BUILD_CC+:} false; then : +if test "${ac_cv_prog_BUILD_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$BUILD_CC"; then @@ -10345,7 +10037,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_BUILD_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -10370,11 +10062,12 @@ fi done fi -for ac_header in dirent.h errno.h execinfo.h getopt.h malloc.h mntent.h paths.h semaphore.h setjmp.h signal.h stdarg.h stdint.h stdlib.h termios.h termio.h unistd.h utime.h linux/falloc.h linux/fd.h linux/major.h linux/loop.h net/if_dl.h netinet/in.h sys/disklabel.h sys/file.h sys/ioctl.h sys/mkdev.h sys/mman.h sys/prctl.h sys/queue.h sys/resource.h sys/select.h sys/socket.h sys/sockio.h sys/stat.h sys/syscall.h sys/sysmacros.h sys/time.h sys/types.h sys/un.h sys/wait.h +for ac_header in dirent.h errno.h getopt.h malloc.h mntent.h paths.h semaphore.h setjmp.h signal.h stdarg.h stdint.h stdlib.h termios.h termio.h unistd.h utime.h linux/fd.h linux/major.h net/if_dl.h netinet/in.h sys/disklabel.h sys/file.h sys/ioctl.h sys/mkdev.h sys/mman.h sys/prctl.h sys/queue.h sys/resource.h sys/select.h sys/socket.h sys/sockio.h sys/stat.h sys/syscall.h sys/sysmacros.h sys/time.h sys/types.h sys/un.h sys/wait.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -10392,7 +10085,8 @@ ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" " #endif " -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -10412,7 +10106,7 @@ do : #endif " -if test "x$ac_cv_header_net_if_h" = xyes; then : +if test "x$ac_cv_header_net_if_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_NET_IF_H 1 _ACEOF @@ -10424,13 +10118,13 @@ done for ac_func in vprintf do : ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf" -if test "x$ac_cv_func_vprintf" = xyes; then : +if test "x$ac_cv_func_vprintf" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_VPRINTF 1 _ACEOF ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt" -if test "x$ac_cv_func__doprnt" = xyes; then : +if test "x$ac_cv_func__doprnt" = x""yes; then : $as_echo "#define HAVE_DOPRNT 1" >>confdefs.h @@ -10442,25 +10136,22 @@ done ac_fn_c_check_member "$LINENO" "struct dirent" "d_reclen" "ac_cv_member_struct_dirent_d_reclen" "#include " -if test "x$ac_cv_member_struct_dirent_d_reclen" = xyes; then : - -$as_echo "#define HAVE_RECLEN_DIRENT 1" >>confdefs.h +if test "x$ac_cv_member_struct_dirent_d_reclen" = x""yes; then : + $as_echo "#define HAVE_RECLEN_DIRENT 1" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "#include " -if test "x$ac_cv_type_ssize_t" = xyes; then : - -$as_echo "#define HAVE_TYPE_SSIZE_T 1" >>confdefs.h +if test "x$ac_cv_type_ssize_t" = x""yes; then : + $as_echo "#define HAVE_TYPE_SSIZE_T 1" >>confdefs.h fi ac_fn_c_check_decl "$LINENO" "llseek" "ac_cv_have_decl_llseek" "#include " -if test "x$ac_cv_have_decl_llseek" = xyes; then : - -$as_echo "#define HAVE_LLSEEK_PROTOTYPE 1" >>confdefs.h +if test "x$ac_cv_have_decl_llseek" = x""yes; then : + $as_echo "#define HAVE_LLSEEK_PROTOTYPE 1" >>confdefs.h fi @@ -10468,9 +10159,8 @@ ac_fn_c_check_decl "$LINENO" "lseek64" "ac_cv_have_decl_lseek64" "#define _LARGE #define _LARGEFILE64_SOURCE #include " -if test "x$ac_cv_have_decl_lseek64" = xyes; then : - -$as_echo "#define HAVE_LSEEK64_PROTOTYPE 1" >>confdefs.h +if test "x$ac_cv_have_decl_lseek64" = x""yes; then : + $as_echo "#define HAVE_LSEEK64_PROTOTYPE 1" >>confdefs.h fi @@ -10480,7 +10170,7 @@ fi # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 $as_echo_n "checking size of short... " >&6; } -if ${ac_cv_sizeof_short+:} false; then : +if test "${ac_cv_sizeof_short+set}" = set; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : @@ -10489,8 +10179,9 @@ else if test "$ac_cv_type_short" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (short) -See \`config.log' for more details" "$LINENO" 5; } +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (short) +See \`config.log' for more details." "$LINENO" 5; }; } else ac_cv_sizeof_short=0 fi @@ -10513,7 +10204,7 @@ _ACEOF # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 $as_echo_n "checking size of int... " >&6; } -if ${ac_cv_sizeof_int+:} false; then : +if test "${ac_cv_sizeof_int+set}" = set; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : @@ -10522,8 +10213,9 @@ else if test "$ac_cv_type_int" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (int) -See \`config.log' for more details" "$LINENO" 5; } +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (int) +See \`config.log' for more details." "$LINENO" 5; }; } else ac_cv_sizeof_int=0 fi @@ -10546,7 +10238,7 @@ _ACEOF # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 $as_echo_n "checking size of long... " >&6; } -if ${ac_cv_sizeof_long+:} false; then : +if test "${ac_cv_sizeof_long+set}" = set; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : @@ -10555,8 +10247,9 @@ else if test "$ac_cv_type_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (long) -See \`config.log' for more details" "$LINENO" 5; } +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (long) +See \`config.log' for more details." "$LINENO" 5; }; } else ac_cv_sizeof_long=0 fi @@ -10579,7 +10272,7 @@ _ACEOF # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 $as_echo_n "checking size of long long... " >&6; } -if ${ac_cv_sizeof_long_long+:} false; then : +if test "${ac_cv_sizeof_long_long+set}" = set; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then : @@ -10588,8 +10281,9 @@ else if test "$ac_cv_type_long_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (long long) -See \`config.log' for more details" "$LINENO" 5; } +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (long long) +See \`config.log' for more details." "$LINENO" 5; }; } else ac_cv_sizeof_long_long=0 fi @@ -10606,52 +10300,17 @@ cat >>confdefs.h <<_ACEOF _ACEOF -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5 -$as_echo_n "checking size of off_t... " >&6; } -if ${ac_cv_sizeof_off_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_off_t" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (off_t) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_off_t=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5 -$as_echo "$ac_cv_sizeof_off_t" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_OFF_T $ac_cv_sizeof_off_t -_ACEOF - - SIZEOF_SHORT=$ac_cv_sizeof_short SIZEOF_INT=$ac_cv_sizeof_int SIZEOF_LONG=$ac_cv_sizeof_long SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long -SIZEOF_OFF_T=$ac_cv_sizeof_off_t - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : +if test "${ac_cv_c_bigendian+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown @@ -10869,7 +10528,7 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) - as_fn_error $? "unknown endianness + as_fn_error "unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac @@ -10894,7 +10553,7 @@ PUBLIC_CONFIG_HEADER=./public_config.h for ac_header in inttypes.h do : ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default" -if test "x$ac_cv_header_inttypes_h" = xyes; then : +if test "x$ac_cv_header_inttypes_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_INTTYPES_H 1 _ACEOF @@ -10904,7 +10563,7 @@ fi done ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default" -if test "x$ac_cv_type_intptr_t" = xyes; then : +if test "x$ac_cv_type_intptr_t" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_INTPTR_T 1 @@ -10915,7 +10574,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct stat has a st_flags field" >&5 $as_echo_n "checking whether struct stat has a st_flags field... " >&6; } -if ${e2fsprogs_cv_struct_st_flags+:} false; then : +if test "${e2fsprogs_cv_struct_st_flags+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -10942,7 +10601,7 @@ $as_echo "$e2fsprogs_cv_struct_st_flags" >&6; } if test "$e2fsprogs_cv_struct_st_flags" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether st_flags field is useful" >&5 $as_echo_n "checking whether st_flags field is useful... " >&6; } - if ${e2fsprogs_cv_struct_st_flags_immut+:} false; then : + if test "${e2fsprogs_cv_struct_st_flags_immut+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -10967,15 +10626,14 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $e2fsprogs_cv_struct_st_flags_immut" >&5 $as_echo "$e2fsprogs_cv_struct_st_flags_immut" >&6; } if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then - -$as_echo "#define HAVE_STAT_FLAGS 1" >>confdefs.h + $as_echo "#define HAVE_STAT_FLAGS 1" >>confdefs.h fi fi ac_fn_c_check_member "$LINENO" "struct sockaddr" "sa_len" "ac_cv_member_struct_sockaddr_sa_len" "#include #include " -if test "x$ac_cv_member_struct_sockaddr_sa_len" = xyes; then : +if test "x$ac_cv_member_struct_sockaddr_sa_len" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SA_LEN 1 @@ -10986,7 +10644,7 @@ fi if test -n "$BLKID_CMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing blkid_probe_all" >&5 $as_echo_n "checking for library containing blkid_probe_all... " >&6; } -if ${ac_cv_search_blkid_probe_all+:} false; then : +if test "${ac_cv_search_blkid_probe_all+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -11020,11 +10678,11 @@ for ac_lib in '' blkid; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if ${ac_cv_search_blkid_probe_all+:} false; then : + if test "${ac_cv_search_blkid_probe_all+set}" = set; then : break fi done -if ${ac_cv_search_blkid_probe_all+:} false; then : +if test "${ac_cv_search_blkid_probe_all+set}" = set; then : else ac_cv_search_blkid_probe_all=no @@ -11041,11 +10699,12 @@ if test "$ac_res" != no; then : fi fi -for ac_func in __secure_getenv backtrace blkid_probe_get_topology chflags fallocate fallocate64 fchown fdatasync fstat64 ftruncate64 getdtablesize getmntinfo getpwuid_r getrlimit getrusage jrand48 llseek lseek64 mallinfo mbstowcs memalign mmap msync nanosleep open64 pathconf posix_fadvise posix_memalign prctl secure_getenv setmntent setresgid setresuid srandom strcasecmp strdup strnlen strptime strtoull sync_file_range sysconf usleep utime valloc +for ac_func in chflags getrusage llseek lseek64 open64 fstat64 ftruncate64 getmntinfo strtoull strcasecmp srandom jrand48 fchown mallinfo fdatasync strnlen strptime strdup sysconf pathconf posix_memalign memalign valloc __secure_getenv prctl mmap utime setresuid setresgid usleep nanosleep getdtablesize getrlimit blkid_probe_get_topology mbstowcs do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -11056,7 +10715,7 @@ done SOCKET_LIB='' { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5 $as_echo_n "checking for socket in -lsocket... " >&6; } -if ${ac_cv_lib_socket_socket+:} false; then : +if test "${ac_cv_lib_socket_socket+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11090,14 +10749,14 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5 $as_echo "$ac_cv_lib_socket_socket" >&6; } -if test "x$ac_cv_lib_socket_socket" = xyes; then : +if test "x$ac_cv_lib_socket_socket" = x""yes; then : SOCKET_LIB=-lsocket fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for optreset" >&5 $as_echo_n "checking for optreset... " >&6; } -if ${ac_cv_have_optreset+:} false; then : +if test "${ac_cv_have_optreset+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11117,19 +10776,17 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_optreset" >&5 $as_echo "$ac_cv_have_optreset" >&6; } if test $ac_cv_have_optreset = yes; then - -$as_echo "#define HAVE_OPTRESET 1" >>confdefs.h + $as_echo "#define HAVE_OPTRESET 1" >>confdefs.h fi - SEM_INIT_LIB='' ac_fn_c_check_func "$LINENO" "sem_init" "ac_cv_func_sem_init" -if test "x$ac_cv_func_sem_init" = xyes; then : +if test "x$ac_cv_func_sem_init" = x""yes; then : else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sem_init in -lpthread" >&5 $as_echo_n "checking for sem_init in -lpthread... " >&6; } -if ${ac_cv_lib_pthread_sem_init+:} false; then : +if test "${ac_cv_lib_pthread_sem_init+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11163,14 +10820,14 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_sem_init" >&5 $as_echo "$ac_cv_lib_pthread_sem_init" >&6; } -if test "x$ac_cv_lib_pthread_sem_init" = xyes; then : +if test "x$ac_cv_lib_pthread_sem_init" = x""yes; then : $as_echo "#define HAVE_SEM_INIT 1" >>confdefs.h SEM_INIT_LIB=-lpthread else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sem_init in -lrt" >&5 $as_echo_n "checking for sem_init in -lrt... " >&6; } -if ${ac_cv_lib_rt_sem_init+:} false; then : +if test "${ac_cv_lib_rt_sem_init+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11204,14 +10861,14 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sem_init" >&5 $as_echo "$ac_cv_lib_rt_sem_init" >&6; } -if test "x$ac_cv_lib_rt_sem_init" = xyes; then : +if test "x$ac_cv_lib_rt_sem_init" = x""yes; then : $as_echo "#define HAVE_SEM_INIT 1" >>confdefs.h SEM_INIT_LIB=-lrt else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sem_init in -lposix4" >&5 $as_echo_n "checking for sem_init in -lposix4... " >&6; } -if ${ac_cv_lib_posix4_sem_init+:} false; then : +if test "${ac_cv_lib_posix4_sem_init+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11245,7 +10902,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sem_init" >&5 $as_echo "$ac_cv_lib_posix4_sem_init" >&6; } -if test "x$ac_cv_lib_posix4_sem_init" = xyes; then : +if test "x$ac_cv_lib_posix4_sem_init" = x""yes; then : $as_echo "#define HAVE_SEM_INIT 1" >>confdefs.h SEM_INIT_LIB=-lposix4 @@ -11269,8 +10926,7 @@ $as_echo "$UNI_DIFF_OPTS" >&6; } case "$host_os" in linux*) - -$as_echo "#define HAVE_EXT2_IOCTLS 1" >>confdefs.h + $as_echo "#define HAVE_EXT2_IOCTLS 1" >>confdefs.h ;; esac @@ -11353,16 +11009,9 @@ fi - -# Check whether --with-multiarch was given. -if test "${with_multiarch+set}" = set; then : - withval=$with_multiarch; libdir=$libdir/$withval -root_libdir=$root_libdir/$withval - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can link with -static" >&5 -$as_echo_n "checking whether we can link with -static... " >&6; } -if ${ac_cv_e2fsprogs_use_static+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether linker accepts -static" >&5 +$as_echo_n "checking whether linker accepts -static... " >&6; } +if test "${ac_cv_e2fsprogs_use_static+set}" = set; then : $as_echo_n "(cached) " >&6 else SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static" @@ -11403,8 +11052,7 @@ case "$host_os" in darwin*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using Apple Darwin / GNU libintl workaround" >&5 $as_echo "Using Apple Darwin / GNU libintl workaround" >&6; } - -$as_echo "#define _INTL_REDIRECT_MACROS 1" >>confdefs.h + $as_echo "#define _INTL_REDIRECT_MACROS 1" >>confdefs.h ;; esac @@ -11418,16 +11066,13 @@ else DO_TEST_SUITE=check fi -INCLUDES='-I. -I$(top_builddir)/lib -I$(top_srcdir)/lib' -if test -n "$CPPFLAGS" ; then - INCLUDES="$INCLUDES $CPPFLAGS" -fi +INTL_FLAGS= if test "$USE_INCLUDED_LIBINTL" = "yes" ; then - INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl' + INTL_FLAGS='-I$(top_builddir)/intl -I$(top_srcdir)/intl' fi if test $cross_compiling = no; then - BUILD_CFLAGS="$CFLAGS $CPPFLAGS" + BUILD_CFLAGS="$CFLAGS" BUILD_LDFLAGS="$LDFLAGS" else BUILD_CFLAGS= @@ -11440,11 +11085,11 @@ test -d include || mkdir include test -d include/linux || mkdir include/linux test -d include/asm || mkdir include/asm for i in MCONFIG Makefile e2fsprogs.spec \ - util/Makefile util/subst.conf util/gen-tarball util/install-symlink \ + util/Makefile util/subst.conf util/gen-tarball \ lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \ lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \ lib/uuid/Makefile lib/uuid/uuid_types.h \ - lib/blkid/Makefile lib/blkid/blkid_types.h lib/quota/Makefile \ + lib/blkid/Makefile lib/blkid/blkid_types.h \ lib/ss/ss.pc lib/uuid/uuid.pc lib/et/com_err.pc \ lib/e2p/e2p.pc lib/blkid/blkid.pc lib/ext2fs/ext2fs.pc \ misc/Makefile ext2ed/Makefile e2fsck/Makefile \ @@ -11521,21 +11166,10 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then + test "x$cache_file" != "x/dev/null" && { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi + cat confcache >$cache_file else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} @@ -11547,11 +11181,46 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -DEFS=-DHAVE_CONFIG_H +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.h` + ac_libobjs= ac_ltlibobjs= -U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' @@ -11568,7 +11237,7 @@ LTLIBOBJS=$ac_ltlibobjs -: "${CONFIG_STATUS=./config.status}" +: ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" @@ -11669,7 +11338,6 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -11715,19 +11383,19 @@ export LANGUAGE (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- +# as_fn_error ERROR [LINENO LOG_FD] +# --------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. +# script with status $?, using 1 if that was 0. as_fn_error () { - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + as_status=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 fi - $as_echo "$as_me: error: $2" >&2 + $as_echo "$as_me: error: $1" >&2 as_fn_exit $as_status } # as_fn_error @@ -11865,16 +11533,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' + as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -11923,7 +11591,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -11934,16 +11602,28 @@ else as_mkdir_p=false fi - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -11965,7 +11645,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # values after options handling. ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.69. Invocation command line was +generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -11982,15 +11662,11 @@ case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" -config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF @@ -12012,15 +11688,10 @@ Usage: $0 [OPTION]... [TAG]... --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE Configuration files: $config_files -Configuration headers: -$config_headers - Configuration commands: $config_commands @@ -12031,10 +11702,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.69, +configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2009 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -12051,16 +11722,11 @@ ac_need_defaults=: while test $# != 0 do case $1 in - --*=?*) + --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; *) ac_option=$1 ac_optarg=$2 @@ -12082,29 +11748,17 @@ do $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) + --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' + -*) as_fn_error "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" @@ -12124,7 +11778,7 @@ fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' @@ -12164,11 +11818,10 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 for ac_config_target in $ac_config_targets do case $ac_config_target in - "lib/config.h") CONFIG_HEADERS="$CONFIG_HEADERS lib/config.h" ;; "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "$outlist") CONFIG_FILES="$CONFIG_FILES $outlist" ;; - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done @@ -12179,7 +11832,6 @@ done # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi @@ -12191,10 +11843,9 @@ fi # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= ac_tmp= + tmp= trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } @@ -12202,13 +11853,12 @@ $debug || { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" + test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp +} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -12242,24 +11892,24 @@ if test "x$ac_cr" = x; then fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' + ac_cs_awk_cr='\r' else ac_cs_awk_cr=$ac_cr fi -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF # Create commands to substitute file output variables. { echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && - echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && + echo 'cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&' && echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && echo "_ACAWK" && echo "_ACEOF" } >conf$$files.sh && . ./conf$$files.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 rm -f conf$$files.sh { @@ -12267,18 +11917,18 @@ rm -f conf$$files.sh echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -12286,7 +11936,7 @@ done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h @@ -12334,7 +11984,7 @@ t delim rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && +cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" \$ac_cs_awk_pipe_init @@ -12372,29 +12022,21 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || as_fn_error "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// s/^[^=]*=[ ]*$// }' fi @@ -12402,116 +12044,8 @@ fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" shift for ac_tag do @@ -12520,7 +12054,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -12539,7 +12073,7 @@ do for ac_f do case $ac_f in - -) ac_f="$ac_tmp/stdin";; + -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. @@ -12548,7 +12082,7 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" @@ -12574,8 +12108,8 @@ $as_echo "$as_me: creating $ac_file" >&6;} esac case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + *:-:* | *:-) cat >"$tmp/stdin" \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -12707,53 +12241,29 @@ $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | if $ac_cs_awk_getline; then - $AWK -f "$ac_tmp/subs.awk" + $AWK -f "$tmp/subs.awk" else - $AWK -f "$ac_tmp/subs.awk" | $SHELL -fi \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + $AWK -f "$tmp/subs.awk" | $SHELL +fi >$tmp/out \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 +which seems to be undefined. Please make sure it is defined." >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} +which seems to be undefined. Please make sure it is defined." >&2;} - rm -f "$ac_tmp/stdin" + rm -f "$tmp/stdin" case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi + || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; @@ -12880,7 +12390,7 @@ _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -12901,7 +12411,7 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 + $ac_cs_success || as_fn_exit $? fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 diff --git a/configure.in b/configure.in index 6f39cc98..5c6b8017 100644 --- a/configure.in +++ b/configure.in @@ -1,8 +1,6 @@ AC_INIT(version.h) -AC_PREREQ(2.54) +AC_PREREQ(2.50) AC_CONFIG_AUX_DIR(config) -AC_CONFIG_HEADERS([lib/config.h]) -AH_BOTTOM([#include "dirpaths.h"]) MCONFIG=./MCONFIG AC_SUBST_FILE(MCONFIG) BINARY_TYPE=bin @@ -70,7 +68,7 @@ dnl DLOPEN_LIB='' AC_CHECK_LIB(dl, dlopen, [DLOPEN_LIB=-ldl -AC_DEFINE(HAVE_DLOPEN, 1, [Define to 1 if dlopen/libdl exists])]) +AC_DEFINE(HAVE_DLOPEN)]) AC_SUBST(DLOPEN_LIB) dnl dnl Use diet libc @@ -95,12 +93,18 @@ AC_HELP_STRING([--with-ldopts],[no longer supported, use LDFLAGS= instead]), AC_MSG_ERROR([--with-ldopts no longer supported; use LDFLAGS= instead])) dnl AC_PROG_CC -if test "$GCC" = yes; then - RDYNAMIC="-rdynamic" - AC_SUBST(RDYNAMIC) -fi AC_PROG_CPP dnl +dnl On systems without linux header files, we add an extra include directory +dnl that holds enough to fake it (hopefully). Note that the $(top_srcdir) here +dnl is quoted so that it gets expanded by make, not by configure. +dnl +AC_CHECK_HEADER(linux/fs.h, [linux_headers=yes], [linux_headers=no]) +if test "$linux_headers" != yes; then + LINUX_INCLUDE='-I$(top_builddir)/include' +fi +AC_SUBST(LINUX_INCLUDE) +dnl dnl Alpha computers use fast and imprecise floating point code that may dnl miss exceptions by default. Force sane options if we're using GCC. AC_MSG_CHECKING(for additional special compiler flags) @@ -164,43 +168,10 @@ else fi , LINK_INSTALL_FLAGS=-f -AC_MSG_RESULT([Disabling symlinks for install by default]) +AC_MSG_RESULT([Disabling symlinks for install]) ) AC_SUBST(LINK_INSTALL_FLAGS) dnl -dnl handle --enable-relative-symlinks -dnl -relative_symlink_defined= -AC_ARG_ENABLE([relative-symlinks], -[ --enable-relative-symlinks use relative symlinks when installing], -if test "$enableval" = "no" -then - SYMLINK_RELATIVE= - relative_symlink_defined=yes - AC_MSG_RESULT([Disabling relative symlinks for install]) -else - SYMLINK_RELATIVE=--relative - relative_symlink_defined=yes - AC_MSG_RESULT([Enabling relative symlinks for install]) -fi) -AC_ARG_ENABLE([symlink-relative-symlinks],, -if test "$enableval" = "no" -then - SYMLINK_RELATIVE=yes - AC_MSG_RESULT([Disabling relative symlinks for install]) -else - SYMLINK_RELATIVE=--relative - AC_MSG_RESULT([Enabling relative symlinks for install]) -fi -, -if test -z "$relative_symlink_defined" -then - SYMLINK_RELATIVE= -AC_MSG_RESULT([Disabling relative symlinks for install by default]) -fi -) -AC_SUBST(SYMLINK_RELATIVE) -dnl dnl handle --enable-symlink-build dnl AC_ARG_ENABLE([symlink-build], @@ -215,7 +186,7 @@ else fi , LINK_BUILD_FLAGS= -AC_MSG_RESULT([Disabling symlinks for build by default]) +AC_MSG_RESULT([Disabling symlinks for build]) ) AC_SUBST(LINK_BUILD_FLAGS) dnl @@ -227,22 +198,18 @@ if test "$enableval" = "no" then AC_MSG_RESULT([Disabling verbose make commands]) E=@echo - ES=echo Q=@ else AC_MSG_RESULT([Enabling verbose make commands]) E=@\\# - ES=\\# Q= fi , AC_MSG_RESULT([Disabling verbose make commands]) E=@echo -ES=echo Q=@ ) AC_SUBST(E) -AC_SUBST(ES) AC_SUBST(Q) dnl dnl handle --enable-compression @@ -253,8 +220,7 @@ if test "$enableval" = "no" then AC_MSG_RESULT([Disabling compression support]) else - AC_DEFINE(ENABLE_COMPRESSION, 1, - [Define to 1 if ext2 compression enabled]) + AC_DEFINE(ENABLE_COMPRESSION) AC_MSG_RESULT([Enabling compression support]) AC_MSG_WARN([Compression support is experimental]) fi @@ -264,7 +230,6 @@ AC_MSG_RESULT([Disabling compression support by default]) dnl dnl handle --enable-htree dnl -AH_TEMPLATE([ENABLE_HTREE], [Define to 1 if ext3/4 htree support enabled]) AC_ARG_ENABLE([htree], [ --enable-htree enable EXPERIMENTAL htree directory support], if test "$enableval" = "no" @@ -273,12 +238,12 @@ then AC_MSG_RESULT([Disabling htree directory support]) else HTREE_CMT= - AC_DEFINE(ENABLE_HTREE, 1) + AC_DEFINE(ENABLE_HTREE) AC_MSG_RESULT([Enabling htree directory support]) fi , HTREE_CMT= -AC_DEFINE(ENABLE_HTREE, 1) +AC_DEFINE(ENABLE_HTREE) AC_MSG_RESULT([Enabling htree directory support by default]) ) AC_SUBST(HTREE_CMT) @@ -412,8 +377,7 @@ if test "$enableval" = "no" then AC_MSG_RESULT([Disabling journal debugging]) else - AC_DEFINE(CONFIG_JBD_DEBUG, 1, - [Define to 1 if debugging ext3/4 journal code]) + AC_DEFINE(CONFIG_JBD_DEBUG) AC_MSG_RESULT([Enabling journal debugging]) fi , @@ -428,8 +392,7 @@ if test "$enableval" = "no" then AC_MSG_RESULT([Disabling blkid debugging]) else - AC_DEFINE(CONFIG_BLKID_DEBUG, 1, - [Define to 1 if debugging the blkid library]) + AC_DEFINE(CONFIG_BLKID_DEBUG) AC_MSG_RESULT([Enabling blkid debugging]) fi , @@ -440,20 +403,18 @@ dnl handle --enable-testio-debug dnl AC_ARG_ENABLE([testio-debug], [ --disable-testio-debug disable the use of the test I/O manager for debugging], -AH_TEMPLATE([CONFIG_TESTIO_DEBUG], - [Define to 1 if the testio I/O manager should be enabled]) if test "$enableval" = "no" then AC_MSG_RESULT([Disabling testio debugging]) TEST_IO_CMT="#" else TEST_IO_CMT= - AC_DEFINE(CONFIG_TESTIO_DEBUG, 1) + AC_DEFINE(CONFIG_TESTIO_DEBUG) AC_MSG_RESULT([Enabling testio debugging]) fi , AC_MSG_RESULT([Enabling testio debugging by default]) -AC_DEFINE(CONFIG_TESTIO_DEBUG, 1) +AC_DEFINE(CONFIG_TESTIO_DEBUG) TEST_IO_CMT= ) AC_SUBST(TEST_IO_CMT) @@ -519,7 +480,6 @@ DEPSTATIC_LIBBLKID= PROFILED_LIBBLKID= DEPPROFILED_LIBBLKID= BLKID_CMT= -AH_TEMPLATE([CONFIG_BUILD_FINDFS], [Define to 1 to compile findfs]) AC_ARG_ENABLE([libblkid], [ --disable-libblkid do not build private blkid library], if test "$enableval" = "no" @@ -542,7 +502,7 @@ else DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID - AC_DEFINE(CONFIG_BUILD_FINDFS, 1) + AC_DEFINE(CONFIG_BUILD_FINDFS) AC_MSG_RESULT([Enabling private blkid library]) fi , @@ -552,7 +512,7 @@ STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID -AC_DEFINE(CONFIG_BUILD_FINDFS, 1) +AC_DEFINE(CONFIG_BUILD_FINDFS) AC_MSG_RESULT([Enabling private blkid library by default]) ) AC_SUBST(LIBBLKID) @@ -563,63 +523,6 @@ AC_SUBST(PROFILED_LIBBLKID) AC_SUBST(DEPPROFILED_LIBBLKID) AC_SUBST(BLKID_CMT) dnl -dnl handle --enable-quota -dnl -QUOTA_MAN_COMMENT='.\"' -QUOTA_CMT= -AC_SUBST(QUOTA_MAN_COMMENT) -PKG_PROG_PKG_CONFIG -AH_TEMPLATE([CONFIG_QUOTA], [Define to 1 to enable quota support]) -AC_ARG_ENABLE([quota], -[ --enable-quota enable quota support], -if test "$enableval" = "no" -then - QUOTA_CMT=# - AC_MSG_RESULT([Disabling quota support]) -else - QUOTA_CMT= - AC_DEFINE(CONFIG_QUOTA, 1) - AC_MSG_RESULT([Enabling quota support]) - QUOTA_MAN_COMMENT="" - AC_SUBST(QUOTA_MAN_COMMENT) -fi -, -QUOTA_CMT=# -AC_MSG_RESULT([Disabling quota support by default]) -) -dnl -dnl Define stuff expected for quota library -dnl -LIBQUOTA='$(LIB)/libquota'$LIB_EXT -DEPLIBQUOTA=$LIBQUOTA -STATIC_LIBQUOTA='$(LIB)/libquota'$STATIC_LIB_EXT -DEPSTATIC_LIBQUOTA=$STATIC_LIBQUOTA -PROFILED_LIBQUOTA='$(LIB)/libquota'$PROFILED_LIB_EXT -DEPPROFILED_LIBQUOTA=$PROFILED_LIBQUOTA -AC_SUBST(LIBQUOTA) -AC_SUBST(DEPLIBQUOTA) -AC_SUBST(STATIC_LIBQUOTA) -AC_SUBST(DEPSTATIC_LIBQUOTA) -AC_SUBST(PROFILED_LIBQUOTA) -AC_SUBST(DEPPROFILED_LIBQUOTA) -AC_SUBST(QUOTA_CMT) -dnl -dnl handle --disable-backtrace -dnl -AH_TEMPLATE([DISABLE_BACKTRACE], [Define to 1 to disable use of backtrace]) -AC_ARG_ENABLE([backtrace], -[ --disable-backtrace disable use backtrace], -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling use of backtrace]) - AC_DEFINE(DISABLE_BACKTRACE, 1) -else - AC_MSG_RESULT([Enabling use of backtrace]) -fi -, -AC_MSG_RESULT([Enabling use of backtrace by default]) -) -dnl dnl handle --enable-debugfs dnl AC_ARG_ENABLE([debugfs], @@ -674,24 +577,6 @@ RESIZER_CMT= ) AC_SUBST(RESIZER_CMT) dnl -dnl handle --enable-defrag -dnl -AC_ARG_ENABLE([defrag], -[ --disable-defrag disable support of e4defrag program], -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling e4defrag support]) - DEFRAG_CMT="#" -else - DEFRAG_CMT= - AC_MSG_RESULT([Enabling e4defrag support]) -fi -, -AC_MSG_RESULT([Enabling e4defrag support by default]) -DEFRAG_CMT= -) -AC_SUBST(DEFRAG_CMT) -dnl dnl See whether to install the `fsck' wrapper program (that calls e2fsck) dnl AC_ARG_ENABLE([fsck], @@ -766,7 +651,6 @@ fi dnl dnl dnl -AH_TEMPLATE([USE_UUIDD], [Define to 1 to build uuidd]) AC_ARG_ENABLE([uuidd], [ --disable-uuidd disable building the uuid daemon], [if test "$enableval" = "no" @@ -774,12 +658,12 @@ then AC_MSG_RESULT([Not building uuidd]) UUIDD_CMT="#" else - AC_DEFINE(USE_UUIDD, 1) + AC_DEFINE(USE_UUIDD) UUIDD_CMT="" AC_MSG_RESULT([Building uuidd]) fi] , -AC_DEFINE(USE_UUIDD, 1) +AC_DEFINE(USE_UUIDD) UUIDD_CMT="" AC_MSG_RESULT([Building uuidd by default]) ) @@ -796,8 +680,8 @@ GETTEXT_PACKAGE=e2fsprogs PACKAGE=e2fsprogs VERSION="$E2FSPROGS_VERSION" VERSION=0.14.1 -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [package name for gettext]) -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [version for gettext]) +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") +AC_DEFINE_UNQUOTED(VERSION, "$VERSION") AC_SUBST(GETTEXT_PACKAGE) AC_SUBST(PACKAGE) AC_SUBST(VERSION) @@ -845,49 +729,7 @@ if test $cross_compiling = no; then else AC_CHECK_PROGS(BUILD_CC, gcc cc) fi -AC_CHECK_HEADERS(m4_flatten([ - dirent.h - errno.h - execinfo.h - getopt.h - malloc.h - mntent.h - paths.h - semaphore.h - setjmp.h - signal.h - stdarg.h - stdint.h - stdlib.h - termios.h - termio.h - unistd.h - utime.h - linux/falloc.h - linux/fd.h - linux/major.h - linux/loop.h - net/if_dl.h - netinet/in.h - sys/disklabel.h - sys/file.h - sys/ioctl.h - sys/mkdev.h - sys/mman.h - sys/prctl.h - sys/queue.h - sys/resource.h - sys/select.h - sys/socket.h - sys/sockio.h - sys/stat.h - sys/syscall.h - sys/sysmacros.h - sys/time.h - sys/types.h - sys/un.h - sys/wait.h -])) +AC_CHECK_HEADERS(dirent.h errno.h getopt.h malloc.h mntent.h paths.h semaphore.h setjmp.h signal.h stdarg.h stdint.h stdlib.h termios.h termio.h unistd.h utime.h linux/fd.h linux/major.h net/if_dl.h netinet/in.h sys/disklabel.h sys/file.h sys/ioctl.h sys/mkdev.h sys/mman.h sys/prctl.h sys/queue.h sys/resource.h sys/select.h sys/socket.h sys/sockio.h sys/stat.h sys/syscall.h sys/sysmacros.h sys/time.h sys/types.h sys/un.h sys/wait.h) AC_CHECK_HEADERS(sys/disk.h sys/mount.h,,, [[ #if HAVE_SYS_QUEUE_H @@ -906,19 +748,16 @@ AC_CHECK_HEADERS(net/if.h,,, AC_FUNC_VPRINTF dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen dnl is not decleared. -AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1, - [Define to 1 if dirent has d_reclen])],, +AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT)],, [#include ]) -dnl Check to see if ssize_t was declared -AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T, 1, - [Define to 1 if ssize_t declared])],, +dnl Check to see if ssize_t was decleared +AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T)],, [#include ]) dnl dnl Check to see if llseek() is declared in unistd.h. On some libc's dnl it is, and on others it isn't..... Thank you glibc developers.... dnl -AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE, 1, - [Define to 1 if llseek declared in unistd.h])],, +AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE)],, [#include ]) dnl dnl Check to see if lseek64() is declared in unistd.h. Glibc's header files @@ -929,8 +768,7 @@ dnl dnl Warning! Use of --enable-gcc-wall may throw off this test. dnl dnl -AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1, - [Define to 1 if lseek64 declared in unistd.h])],, +AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE)],, [#define _LARGEFILE_SOURCE #define _LARGEFILE64_SOURCE #include ]) @@ -941,17 +779,14 @@ AC_CHECK_SIZEOF(short) AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) AC_CHECK_SIZEOF(long long) -AC_CHECK_SIZEOF(off_t) SIZEOF_SHORT=$ac_cv_sizeof_short SIZEOF_INT=$ac_cv_sizeof_int SIZEOF_LONG=$ac_cv_sizeof_long SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long -SIZEOF_OFF_T=$ac_cv_sizeof_off_t AC_SUBST(SIZEOF_SHORT) AC_SUBST(SIZEOF_INT) AC_SUBST(SIZEOF_LONG) AC_SUBST(SIZEOF_LONG_LONG) -AC_SUBST(SIZEOF_OFF_T) AC_C_BIGENDIAN BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh ASM_TYPES_HEADER=./asm_types.h @@ -1000,16 +835,14 @@ if test "$e2fsprogs_cv_struct_st_flags" = yes; then [e2fsprogs_cv_struct_st_flags_immut=no])) AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut) if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then - AC_DEFINE(HAVE_STAT_FLAGS, 1, - [Define to 1 if struct stat has st_flags]) + AC_DEFINE(HAVE_STAT_FLAGS) fi fi dnl dnl Check for the presence of SA_LEN dnl AC_CHECK_MEMBER(struct sockaddr.sa_len, - AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1, - [Define to 1 if if struct sockaddr contains sa_len]),, + AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1,[Define if struct sockaddr contains sa_len]),, [#include #include ]) dnl @@ -1020,52 +853,7 @@ if test -n "$BLKID_CMT"; then AC_SEARCH_LIBS([blkid_probe_all], [blkid]) fi dnl -AC_CHECK_FUNCS(m4_flatten([ - __secure_getenv - backtrace - blkid_probe_get_topology - chflags - fallocate - fallocate64 - fchown - fdatasync - fstat64 - ftruncate64 - getdtablesize - getmntinfo - getpwuid_r - getrlimit - getrusage - jrand48 - llseek - lseek64 - mallinfo - mbstowcs - memalign - mmap - msync - nanosleep - open64 - pathconf - posix_fadvise - posix_memalign - prctl - secure_getenv - setmntent - setresgid - setresuid - srandom - strcasecmp - strdup - strnlen - strptime - strtoull - sync_file_range - sysconf - usleep - utime - valloc -])) +AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 fstat64 ftruncate64 getmntinfo strtoull strcasecmp srandom jrand48 fchown mallinfo fdatasync strnlen strptime strdup sysconf pathconf posix_memalign memalign valloc __secure_getenv prctl mmap utime setresuid setresgid usleep nanosleep getdtablesize getrlimit blkid_probe_get_topology mbstowcs) dnl dnl Check to see if -lsocket is required (solaris) to make something dnl that uses socket() to compile; this is needed for the UUID library @@ -1082,22 +870,21 @@ AC_CACHE_VAL(ac_cv_have_optreset, ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl AC_MSG_RESULT($ac_cv_have_optreset) if test $ac_cv_have_optreset = yes; then - AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if optreset for getopt is present]) + AC_DEFINE(HAVE_OPTRESET) fi dnl dnl Test for sem_init, and which library it might require: dnl -AH_TEMPLATE([HAVE_SEM_INIT], [Define to 1 if sem_init() exists]) SEM_INIT_LIB='' AC_CHECK_FUNC(sem_init, , AC_CHECK_LIB(pthread, sem_init, - AC_DEFINE(HAVE_SEM_INIT, 1) + AC_DEFINE(HAVE_SEM_INIT) SEM_INIT_LIB=-lpthread, AC_CHECK_LIB(rt, sem_init, - AC_DEFINE(HAVE_SEM_INIT, 1) + AC_DEFINE(HAVE_SEM_INIT) SEM_INIT_LIB=-lrt, AC_CHECK_LIB(posix4, sem_init, - AC_DEFINE(HAVE_SEM_INIT, 1) + AC_DEFINE(HAVE_SEM_INIT) SEM_INIT_LIB=-lposix4))))dnl AC_SUBST(SEM_INIT_LIB) dnl @@ -1116,7 +903,7 @@ dnl We use the EXT2 ioctls only under Linux dnl case "$host_os" in linux*) - AC_DEFINE(HAVE_EXT2_IOCTLS, 1, [Define to 1 if Ext2 ioctls present]) + AC_DEFINE(HAVE_EXT2_IOCTLS) ;; esac dnl @@ -1201,19 +988,9 @@ AC_SUBST(root_sbindir) AC_SUBST(root_libdir) AC_SUBST(root_sysconfdir) dnl -dnl Allow specification of the multiarch arch +dnl See if -static works. dnl -AC_ARG_WITH([multiarch], -[ --with-multiarch=ARCH specify the multiarch triplet], -libdir=$libdir/$withval -root_libdir=$root_libdir/$withval -)dnl -dnl -dnl See if -static works. This could fail if the linker does not -dnl support -static, or if required external libraries are not available -dnl in static form. -dnl -AC_MSG_CHECKING([whether we can link with -static]) +AC_MSG_CHECKING([whether linker accepts -static]) AC_CACHE_VAL(ac_cv_e2fsprogs_use_static, [SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static" AC_TRY_LINK([#include ],[fflush(stdout);], @@ -1245,8 +1022,7 @@ dnl case "$host_os" in darwin*) AC_MSG_RESULT([Using Apple Darwin / GNU libintl workaround]) - AC_DEFINE(_INTL_REDIRECT_MACROS, 1, - [Define to 1 if Apple Darwin libintl workaround is needed]) + AC_DEFINE(_INTL_REDIRECT_MACROS) ;; esac dnl @@ -1267,20 +1043,17 @@ fi AC_SUBST(DO_TEST_SUITE) dnl dnl Only include the intl include files if we're building with them -dnl -INCLUDES='-I. -I$(top_builddir)/lib -I$(top_srcdir)/lib' -if test -n "$CPPFLAGS" ; then - INCLUDES="$INCLUDES $CPPFLAGS" -fi +dnl +INTL_FLAGS= if test "$USE_INCLUDED_LIBINTL" = "yes" ; then - INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl' + INTL_FLAGS='-I$(top_builddir)/intl -I$(top_srcdir)/intl' fi -AC_SUBST(INCLUDES) +AC_SUBST(INTL_FLAGS) dnl dnl Build CFLAGS dnl if test $cross_compiling = no; then - BUILD_CFLAGS="$CFLAGS $CPPFLAGS" + BUILD_CFLAGS="$CFLAGS" BUILD_LDFLAGS="$LDFLAGS" else BUILD_CFLAGS= @@ -1297,11 +1070,11 @@ test -d include || mkdir include test -d include/linux || mkdir include/linux test -d include/asm || mkdir include/asm for i in MCONFIG Makefile e2fsprogs.spec \ - util/Makefile util/subst.conf util/gen-tarball util/install-symlink \ + util/Makefile util/subst.conf util/gen-tarball \ lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \ lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \ lib/uuid/Makefile lib/uuid/uuid_types.h \ - lib/blkid/Makefile lib/blkid/blkid_types.h lib/quota/Makefile \ + lib/blkid/Makefile lib/blkid/blkid_types.h \ lib/ss/ss.pc lib/uuid/uuid.pc lib/et/com_err.pc \ lib/e2p/e2p.pc lib/blkid/blkid.pc lib/ext2fs/ext2fs.pc \ misc/Makefile ext2ed/Makefile e2fsck/Makefile \ diff --git a/contrib/fallocate.c b/contrib/fallocate.c deleted file mode 100644 index 1f9b59ad..00000000 --- a/contrib/fallocate.c +++ /dev/null @@ -1,174 +0,0 @@ -/* - * fallocate - utility to use the fallocate system call - * - * Copyright (C) 2008 Red Hat, Inc. All rights reserved. - * Written by Eric Sandeen - * - * cvtnum routine taken from xfsprogs, - * Copyright (c) 2003-2005 Silicon Graphics, Inc. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it would be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#define _LARGEFILE_SOURCE -#define _LARGEFILE64_SOURCE - -#include -#include -#include -#include -#include -#include -#include -#include - -// #include -#define FALLOC_FL_KEEP_SIZE 0x01 -#define FALLOC_FL_PUNCH_HOLE 0x02 /* de-allocates range */ - -void usage(void) -{ - printf("Usage: fallocate [-npt] [-o offset] -l length filename\n"); - exit(EXIT_FAILURE); -} - -#define EXABYTES(x) ((long long)(x) << 60) -#define PETABYTES(x) ((long long)(x) << 50) -#define TERABYTES(x) ((long long)(x) << 40) -#define GIGABYTES(x) ((long long)(x) << 30) -#define MEGABYTES(x) ((long long)(x) << 20) -#define KILOBYTES(x) ((long long)(x) << 10) - -long long -cvtnum(char *s) -{ - long long i; - char *sp; - int c; - - i = strtoll(s, &sp, 0); - if (i == 0 && sp == s) - return -1LL; - if (*sp == '\0') - return i; - if (sp[1] != '\0') - return -1LL; - - c = tolower(*sp); - switch (c) { - case 'k': - return KILOBYTES(i); - case 'm': - return MEGABYTES(i); - case 'g': - return GIGABYTES(i); - case 't': - return TERABYTES(i); - case 'p': - return PETABYTES(i); - case 'e': - return EXABYTES(i); - } - - return -1LL; -} - -int main(int argc, char **argv) -{ - int fd; - char *fname; - int opt; - loff_t length = -2LL; - loff_t offset = 0; - int falloc_mode = 0; - int error; - int tflag = 0; - - while ((opt = getopt(argc, argv, "npl:o:t")) != -1) { - switch(opt) { - case 'n': - /* do not change filesize */ - falloc_mode = FALLOC_FL_KEEP_SIZE; - break; - case 'p': - /* punch mode */ - falloc_mode = (FALLOC_FL_PUNCH_HOLE | - FALLOC_FL_KEEP_SIZE); - break; - case 'l': - length = cvtnum(optarg); - break; - case 'o': - offset = cvtnum(optarg); - break; - case 't': - tflag++; - break; - default: - usage(); - } - } - - if (length == -2LL) { - printf("Error: no length argument specified\n"); - usage(); - } - - if (length <= 0) { - printf("Error: invalid length value specified\n"); - usage(); - } - - if (offset < 0) { - printf("Error: invalid offset value specified\n"); - usage(); - } - - if (tflag && (falloc_mode & FALLOC_FL_KEEP_SIZE)) { - printf("-n and -t options incompatible\n"); - usage(); - } - - if (tflag && offset) { - printf("-n and -o options incompatible\n"); - usage(); - } - - if (optind == argc) { - printf("Error: no filename specified\n"); - usage(); - } - - fname = argv[optind++]; - - /* Should we create the file if it doesn't already exist? */ - fd = open(fname, O_WRONLY|O_LARGEFILE); - if (fd < 0) { - perror("Error opening file"); - exit(EXIT_FAILURE); - } - - if (tflag) - error = ftruncate(fd, length); - else - error = syscall(SYS_fallocate, fd, falloc_mode, offset, length); - - if (error < 0) { - perror("fallocate failed"); - exit(EXIT_FAILURE); - } - - close(fd); - return 0; -} diff --git a/contrib/populate-extfs.sh b/contrib/populate-extfs.sh deleted file mode 100755 index b1d3d1f8..00000000 --- a/contrib/populate-extfs.sh +++ /dev/null @@ -1,105 +0,0 @@ -#!/bin/sh -# -# This script uses debugfs command to populate the ext2/3/4 filesystem -# from a given directory. -# - -do_usage () { - cat << _EOF -Usage: populate-extfs.sh -Create an ext2/ext3/ext4 filesystem from a directory or file - - source: The source directory or file - device: The target device - -_EOF - exit 1 -} - -[ $# -ne 2 ] && do_usage - -SRCDIR=${1%%/} -DEVICE=$2 - -# Find where is the debugfs command if not found in the env. -if [ -z "$DEBUGFS" ]; then - CONTRIB_DIR=$(dirname $(readlink -f $0)) - DEBUGFS="$CONTRIB_DIR/../debugfs/debugfs" -fi - -{ - CWD="/" - find $SRCDIR | while read FILE; do - TGT="${FILE##*/}" - DIR="${FILE#$SRCDIR}" - DIR="${DIR%$TGT}" - - # Skip the root dir - [ ! -z "$DIR" ] || continue - [ ! -z "$TGT" ] || continue - - if [ "$DIR" != "$CWD" ]; then - echo "cd $DIR" - CWD="$DIR" - fi - - # Only stat once since stat is a time consuming command - STAT=$(stat -c "TYPE=\"%F\";DEVNO=\"0x%t 0x%T\";MODE=\"%f\";U=\"%u\";G=\"%g\"" $FILE) - eval $STAT - - case $TYPE in - "directory") - echo "mkdir $TGT" - ;; - "regular file" | "regular empty file") - echo "write $FILE $TGT" - ;; - "symbolic link") - LINK_TGT=$(readlink $FILE) - echo "symlink $TGT $LINK_TGT" - ;; - "block special file") - echo "mknod $TGT b $DEVNO" - ;; - "character special file") - echo "mknod $TGT c $DEVNO" - ;; - "fifo") - echo "mknod $TGT p" - ;; - *) - echo "Unknown/unhandled file type '$TYPE' file: $FILE" 1>&2 - ;; - esac - - # Set the file mode - echo "sif $TGT mode 0x$MODE" - - # Set uid and gid - echo "sif $TGT uid $U" - echo "sif $TGT gid $G" - done - - # Handle the hard links. - # Save the hard links to a file, use the inode number as the filename, for example: - # If a and b's inode number is 6775928, save a and b to /tmp/tmp.VrCwHh5gdt/6775928. - INODE_DIR=`mktemp -d` || exit 1 - for i in `find $SRCDIR -type f -links +1 -printf 'INODE=%i###FN=%p\n'`; do - eval `echo $i | sed 's$###$ $'` - echo ${FN#$SRCDIR} >>$INODE_DIR/$INODE - done - # Use the debugfs' ln and "sif links_count" to handle them. - for i in `ls $INODE_DIR`; do - # The link source - SRC=`head -1 $INODE_DIR/$i` - # Remove the files and link them again except the first one - for TGT in `sed -n -e '1!p' $INODE_DIR/$i`; do - echo "rm $TGT" - echo "ln $SRC $TGT" - done - LN_CNT=`cat $INODE_DIR/$i | wc -l` - # Set the links count - echo "sif $SRC links_count $LN_CNT" - done - rm -fr $INODE_DIR -} | $DEBUGFS -w -f - $DEVICE diff --git a/contrib/spd_readdir.c b/contrib/spd_readdir.c deleted file mode 100644 index 8345fa1a..00000000 --- a/contrib/spd_readdir.c +++ /dev/null @@ -1,458 +0,0 @@ -/* - * readdir accelerator - * - * (C) Copyright 2003, 2004, 2008 by Theodore Ts'o. - * - * 2008-06-08 Modified by Ross Boylan - * Added support for readdir_r and readdir64_r calls. Note - * this has not been tested on anything other than GNU/Linux i386, - * and that the regular readdir wrapper will take slightly more - * space than Ted's original since it now includes a lock. - * - * Compile using the command: - * - * gcc -o spd_readdir.so -shared -fpic spd_readdir.c -ldl - * - * Use it by setting the LD_PRELOAD environment variable: - * - * export LD_PRELOAD=/usr/local/sbin/spd_readdir.so - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - * - */ - -#define ALLOC_STEPSIZE 100 -#define MAX_DIRSIZE 0 - -#define DEBUG -/* Util we autoconfiscate spd_readdir... */ -#define HAVE___SECURE_GETENV 1 -#define HAVE_PRCTL 1 -#define HAVE_SYS_PRCTL_H 1 - -#ifdef DEBUG -#define DEBUG_DIR(x) {if (do_debug) { x; }} -#else -#define DEBUG_DIR(x) -#endif - -#define _GNU_SOURCE -#define __USE_LARGEFILE64 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef HAVE_SYS_PRCTL_H -#include -#else -#define PR_GET_DUMPABLE 3 -#endif -#include - -struct dirent_s { - unsigned long long d_ino; - long long d_off; - unsigned short int d_reclen; - unsigned char d_type; - char *d_name; -}; - -struct dir_s { - DIR *dir; - pthread_mutex_t lock; /* Mutex lock for this structure. */ - int num; - int max; - struct dirent_s *dp; - int pos; - int direct; - struct dirent ret_dir; - struct dirent64 ret_dir64; -}; - -static int (*real_closedir)(DIR *dir) = 0; -static DIR *(*real_opendir)(const char *name) = 0; -static DIR *(*real_fdopendir)(int fd) = 0; -static void *(*real_rewinddir)(DIR *dirp) = 0; -static struct dirent *(*real_readdir)(DIR *dir) = 0; -static int (*real_readdir_r)(DIR *dir, struct dirent *entry, - struct dirent **result) = 0; -static struct dirent64 *(*real_readdir64)(DIR *dir) = 0; -static int (*real_readdir64_r)(DIR *dir, struct dirent64 *entry, - struct dirent64 **result) = 0; -static off_t (*real_telldir)(DIR *dir) = 0; -static void (*real_seekdir)(DIR *dir, off_t offset) = 0; -static int (*real_dirfd)(DIR *dir) = 0; -static unsigned long max_dirsize = MAX_DIRSIZE; -static int num_open = 0; -#ifdef DEBUG -static int do_debug = 0; -#endif - -static char *safe_getenv(const char *arg) -{ - if ((getuid() != geteuid()) || (getgid() != getegid())) - return NULL; -#if HAVE_PRCTL - if (prctl(PR_GET_DUMPABLE, 0, 0, 0, 0) == 0) - return NULL; -#else -#if (defined(linux) && defined(SYS_prctl)) - if (syscall(SYS_prctl, PR_GET_DUMPABLE, 0, 0, 0, 0) == 0) - return NULL; -#endif -#endif - -#if HAVE___SECURE_GETENV - return __secure_getenv(arg); -#else - return getenv(arg); -#endif -} - -static void setup_ptr() -{ - char *cp; - - real_opendir = dlsym(RTLD_NEXT, "opendir"); - real_fdopendir = dlsym(RTLD_NEXT, "fdopendir"); - real_closedir = dlsym(RTLD_NEXT, "closedir"); - real_rewinddir = dlsym(RTLD_NEXT, "rewinddir"); - real_readdir = dlsym(RTLD_NEXT, "readdir"); - real_readdir_r = dlsym(RTLD_NEXT, "readdir_r"); - real_readdir64 = dlsym(RTLD_NEXT, "readdir64"); - real_readdir64_r = dlsym(RTLD_NEXT, "readdir64_r"); - real_telldir = dlsym(RTLD_NEXT, "telldir"); - real_seekdir = dlsym(RTLD_NEXT, "seekdir"); - real_dirfd = dlsym(RTLD_NEXT, "dirfd"); - if ((cp = safe_getenv("SPD_READDIR_MAX_SIZE")) != NULL) { - max_dirsize = atol(cp); - } -#ifdef DEBUG - if (safe_getenv("SPD_READDIR_DEBUG")) { - printf("initialized!\n"); - do_debug++; - } -#endif -} - -static void free_cached_dir(struct dir_s *dirstruct) -{ - int i; - - pthread_mutex_destroy(&(dirstruct->lock)); - - if (!dirstruct->dp) - return; - - for (i=0; i < dirstruct->num; i++) { - free(dirstruct->dp[i].d_name); - } - free(dirstruct->dp); - dirstruct->dp = 0; - dirstruct->max = dirstruct->num = 0; -} - -static int ino_cmp(const void *a, const void *b) -{ - const struct dirent_s *ds_a = (const struct dirent_s *) a; - const struct dirent_s *ds_b = (const struct dirent_s *) b; - ino_t i_a, i_b; - - i_a = ds_a->d_ino; - i_b = ds_b->d_ino; - - if (ds_a->d_name[0] == '.') { - if (ds_a->d_name[1] == 0) - i_a = 0; - else if ((ds_a->d_name[1] == '.') && (ds_a->d_name[2] == 0)) - i_a = 1; - } - if (ds_b->d_name[0] == '.') { - if (ds_b->d_name[1] == 0) - i_b = 0; - else if ((ds_b->d_name[1] == '.') && (ds_b->d_name[2] == 0)) - i_b = 1; - } - - return (i_a - i_b); -} - -static struct dir_s *alloc_dirstruct(DIR *dir) -{ - struct dir_s *dirstruct; - static pthread_mutexattr_t mutexattr; - mutexattr.__align = PTHREAD_MUTEX_RECURSIVE; - - dirstruct = malloc(sizeof(struct dir_s)); - if (dirstruct) - memset(dirstruct, 0, sizeof(struct dir_s)); - dirstruct->dir = dir; - pthread_mutex_init(&(dirstruct->lock), &mutexattr); - return dirstruct; -} - -static void cache_dirstruct(struct dir_s *dirstruct) -{ - struct dirent_s *ds, *dnew; - struct dirent64 *d; - - while ((d = (*real_readdir64)(dirstruct->dir)) != NULL) { - if (dirstruct->num >= dirstruct->max) { - dirstruct->max += ALLOC_STEPSIZE; - DEBUG_DIR(printf("Reallocating to size %d\n", - dirstruct->max)); - dnew = realloc(dirstruct->dp, - dirstruct->max * sizeof(struct dir_s)); - if (!dnew) - goto nomem; - dirstruct->dp = dnew; - } - ds = &dirstruct->dp[dirstruct->num++]; - ds->d_ino = d->d_ino; - ds->d_off = d->d_off; - ds->d_reclen = d->d_reclen; - ds->d_type = d->d_type; - if ((ds->d_name = malloc(strlen(d->d_name)+1)) == NULL) { - dirstruct->num--; - goto nomem; - } - strcpy(ds->d_name, d->d_name); - DEBUG_DIR(printf("readdir: %lu %s\n", - (unsigned long) d->d_ino, d->d_name)); - } - qsort(dirstruct->dp, dirstruct->num, sizeof(struct dirent_s), ino_cmp); - return; -nomem: - DEBUG_DIR(printf("No memory, backing off to direct readdir\n")); - free_cached_dir(dirstruct); - dirstruct->direct = 1; -} - -DIR *opendir(const char *name) -{ - DIR *dir; - struct dir_s *dirstruct; - struct stat st; - - if (!real_opendir) - setup_ptr(); - - DEBUG_DIR(printf("Opendir(%s) (%d open)\n", name, num_open++)); - dir = (*real_opendir)(name); - if (!dir) - return NULL; - - dirstruct = alloc_dirstruct(dir); - if (!dirstruct) { - (*real_closedir)(dir); - errno = -ENOMEM; - return NULL; - } - - if (max_dirsize && (stat(name, &st) == 0) && - (st.st_size > max_dirsize)) { - DEBUG_DIR(printf("Directory size %ld, using direct readdir\n", - st.st_size)); - dirstruct->direct = 1; - return (DIR *) dirstruct; - } - - cache_dirstruct(dirstruct); - return ((DIR *) dirstruct); -} - -DIR *fdopendir(int fd) -{ - DIR *dir; - struct dir_s *dirstruct; - struct stat st; - - if (!real_fdopendir) - setup_ptr(); - - DEBUG_DIR(printf("fdopendir(%d) (%d open)\n", fd, num_open++)); - dir = (*real_fdopendir)(fd); - if (!dir) - return NULL; - - dirstruct = alloc_dirstruct(dir); - if (!dirstruct) { - (*real_closedir)(dir); - errno = -ENOMEM; - return NULL; - } - - if (max_dirsize && (fstat(fd, &st) == 0) && - (st.st_size > max_dirsize)) { - DEBUG_DIR(printf("Directory size %ld, using direct readdir\n", - st.st_size)); - dirstruct->dir = dir; - dirstruct->direct = 1; - return (DIR *) dirstruct; - } - - cache_dirstruct(dirstruct); - return ((DIR *) dirstruct); -} - -int closedir(DIR *dir) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - - DEBUG_DIR(printf("Closedir (%d open)\n", --num_open)); - if (dirstruct->dir) - (*real_closedir)(dirstruct->dir); - - free_cached_dir(dirstruct); - free(dirstruct); - return 0; -} - -struct dirent *readdir(DIR *dir) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - struct dirent_s *ds; - - if (dirstruct->direct) - return (*real_readdir)(dirstruct->dir); - - if (dirstruct->pos >= dirstruct->num) - return NULL; - - ds = &dirstruct->dp[dirstruct->pos++]; - dirstruct->ret_dir.d_ino = ds->d_ino; - dirstruct->ret_dir.d_off = ds->d_off; - dirstruct->ret_dir.d_reclen = ds->d_reclen; - dirstruct->ret_dir.d_type = ds->d_type; - strncpy(dirstruct->ret_dir.d_name, ds->d_name, - sizeof(dirstruct->ret_dir.d_name)); - - return (&dirstruct->ret_dir); -} - -int readdir_r(DIR *dir, struct dirent *entry, struct dirent **result) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - struct dirent_s *ds; - - if (dirstruct->direct) - return (*real_readdir_r)(dirstruct->dir, entry, result); - - pthread_mutex_lock(&(dirstruct->lock)); - if (dirstruct->pos >= dirstruct->num) { - *result = NULL; - } else { - ds = &dirstruct->dp[dirstruct->pos++]; - entry->d_ino = ds->d_ino; - entry->d_off = ds->d_off; - entry->d_reclen = ds->d_reclen; - entry->d_type = ds->d_type; - strncpy(entry->d_name, ds->d_name, sizeof(entry->d_name)); - *result = entry; - } - pthread_mutex_unlock(&(dirstruct->lock)); - return 0; -} - -struct dirent64 *readdir64(DIR *dir) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - struct dirent_s *ds; - - if (dirstruct->direct) - return (*real_readdir64)(dirstruct->dir); - - if (dirstruct->pos >= dirstruct->num) - return NULL; - - ds = &dirstruct->dp[dirstruct->pos++]; - dirstruct->ret_dir64.d_ino = ds->d_ino; - dirstruct->ret_dir64.d_off = ds->d_off; - dirstruct->ret_dir64.d_reclen = ds->d_reclen; - dirstruct->ret_dir64.d_type = ds->d_type; - strncpy(dirstruct->ret_dir64.d_name, ds->d_name, - sizeof(dirstruct->ret_dir64.d_name)); - - return (&dirstruct->ret_dir64); -} - -int readdir64_r (DIR *__restrict dir, - struct dirent64 *__restrict entry, - struct dirent64 **__restrict result) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - struct dirent_s *ds; - - if (dirstruct->direct) - return (*real_readdir64_r)(dir, entry, result); - pthread_mutex_lock(&(dirstruct->lock)); - if (dirstruct->pos >= dirstruct->num) { - *result = NULL; - } else { - ds = &dirstruct->dp[dirstruct->pos++]; - entry->d_ino = ds->d_ino; - entry->d_off = ds->d_off; - entry->d_reclen = ds->d_reclen; - entry->d_type = ds->d_type; - strncpy(entry->d_name, ds->d_name, - sizeof(entry->d_name)); - *result = entry; - } - pthread_mutex_unlock(&(dirstruct->lock)); - return 0; -} - -off_t telldir(DIR *dir) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - - if (dirstruct->direct) - return (*real_telldir)(dirstruct->dir); - - return ((off_t) dirstruct->pos); -} - -void seekdir(DIR *dir, off_t offset) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - - if (dirstruct->direct) { - (*real_seekdir)(dirstruct->dir, offset); - return; - } - - dirstruct->pos = offset; -} - -void rewinddir(DIR *dir) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - - (*real_rewinddir)(dirstruct->dir); - if (dirstruct->direct) - return; - - pthread_mutex_lock(&(dirstruct->lock)); - dirstruct->pos = 0; - free_cached_dir(dirstruct); - cache_dirstruct(dirstruct); - pthread_mutex_unlock(&(dirstruct->lock)); -} - -int dirfd(DIR *dir) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - int fd = (*real_dirfd)(dirstruct->dir); - - DEBUG_DIR(printf("dirfd %d, %p\n", fd, real_dirfd)); - return fd; -} diff --git a/debian/changelog b/debian/changelog index 47d58bfa..f2394b04 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,561 +1,3 @@ -e2fsprogs (1.42.9-1) unstable; urgency=low - - * New upstream version - * NMU ack (Closes: #698879) - * Fix cross-build support (Closes: #721365) - * mke2fs will detect an attempt to create a file system on a - loop-mounted image file - * Fixed a large number of bugs in resize2fs, e2fsck, debugfs, to - handle bigalloc and 64-bit file systems. - * Tune2fs will no longer allow changing the uuid on a mounted file - system with the uninit_bg feature enabled. - * E2fsck will properly allocate a new extent tree block in the rare - case where one is needed when rehashing an extent-mapped directory. - * Mke2fs wil now properly set the LARGE_FILE feature when creating a - journal > 2GB. - * Debugfs will now correctly handle free a range of inodes using the - freei command. - * E2fsck will no longer complain if an external journal was exactly - 2**32 blocks. - * E2fsck will not longer try to add a missing lost+found directory - when run in read-only mode. - * Fixed some buffer overrun bugs when creating standard e2image files - * Mke2fs will not try to set both the meta_bg and resize_inode feature - when the extended option "-E resize=NNN" is specified by the user. - * Dumpe2fs will no longer abort when trying to print the journal - information from an e2image-created image file. - * Debugfs's "write" command can now create a sparse files - * Debugfs can now support a command line which is up to 8k long - * E2image will refuse to create a raw or qcomw image using a mounted - file system unless the -f option is given. - * E2image has been made more useful for efficiently copying file - systems using the -ra options. New options to help with this use - case that were added: -o, -O, -p, and -c. - * Fixed a regression introduced in 1.42.8 which would cause e2fsck to - erroneously report uninitialized extents past i_size to be invalid. - * Fixed cases where resize2fs could corrupt a file system, especially - when shrinking a file system. (Closes: #660793) - * Fixed resize2fs and e2fsck to not crash when operating on a file - system with the MMP feature enabled. - * Fixed debugfs's write command to properly create a zero-length file - (instead of creating an invalid inode). - * Fixed e2fsck to not crash when trying to delete an invalid - extent-mapped symlink. - * Improved debugfs's help texts - * Fixed a potential integer overflow problem in e2freefrag - (Closes: #718205) - * The config.guess and config.sub files have been updated to the - latest to help with the ppcle port. (Closes: #732076) - * Updated/fixed various man pages. (Closes: #586218, #669730, - #698076, #731329) - - -- Theodore Y. Ts'o Tue, 28 Dec 2013 23:18:36 -0500 - -e2fsprogs (1.42.8-1) unstable; urgency=low - - * New upstream version - * Work around Debian Bug #712530 (Closes: #708307) - * Fix e2fsck so it can check a read-only root file system with an - external journal. (Closes: #707030) - * Fix off-line resizing of file systems with flex_bg && !resize_inode - (Closes: #696746) - * Change mke2fs so that it does not set the root directory to the real - uid/gid of the mke2fs process. Add the extended option root_owner to - override this behavior. - * If an invalid journal size is given to mke2fs, it will now complain - and exit sooner. - * Fix resize2fs when shrinking file systems to make sure that bitmap - blocks aren't left outside the bounds of the shrunken file system. - This could happen with flex_bg file systems that were grown using - the old online resizing algorithm. - * E2fsck will now detect and repair corrupted extent trees which contain - invalid extents at the end of the extent tree leaf block. - * E2fsck will now longer complain about zero length extended attribute values. - * Fix a regression introduced in e2fsprogs v1.42 which caused e2image -s - to crash. - * Add safety check so tune2fs will not attempt to set the inode size to - be larger than the block size. - * Enhance chattr to allow clearing the extent flag if the kernel allows it - * Fix e2image with large (> 32-bit) file systems (Closes: #703067) - * Mke2fs will not give warnings about the bigalloc and quota options in - quiet mode. - * Debugfs was erroneously giving spurious error messages for certain - extent_inode subcommands which take arguments (split_node, - replace_node, and insert_node). This has been fixed. - * Fix the parsing of the 's' (sectors) in parse_num_blocks2, which among - other programs is used by mke2fs. - * Fix texinfo incompatibilities (Closes: #712365) - * Updated/fixed various man pages (Closes: #712429, #712430, #707609) - * Update German translation - - -- Theodore Y. Ts'o Thu, 20 Jun 2013 23:09:25 -0500 - -e2fsprogs (1.42.7-1) unstable; urgency=low - - * New upstream version - * Add warning indicating that the quota and bigalloc features are - still under development. - * Added new options to filefrag to be consistent with the version from - Lustre - * Optimized e2fsck's CPU utilization - * Fixed e2fsck so it detects and fixes inconsistencies in the interior - nodes of an inode's extent tree - * Fixed a potential memory corruption failure in e2fsck's error path if - the call to ext2fs_open2() fails. - * Fixed e2fsck if its logging function is enabled in e2fsck.conf, and - the resulting file name for the log file is longer than 100 bytes, - that it properly handles this situation instead of crashing. - * E2fsck will now report the amount of memory that it attempted to - allocate when a memory allocation request fails, to make it easier to - track down the problem. - * Fixed a bug in resize2fs which could cause severe file system - corruption when growing an ext4 file system which was formatted with - fewer-than-normal reserved gdt blocks - * Fixed resize2fs to be able to handle off-line resizes of file - systems with the flex_bg feature and without any reserved gdt - blocks or if the file system did not have the resize_inode feature - * Further optimize resize2fs so it doesn't use quite as much CPU when - resizing very large file systems. - * Fixed 32-bit overflow bugs which could cause resize2fs to fail and - possibly corrupt the file system while resizing 64-bit file systems. - * Fixed a big which could cause resize2fs to corrupt bigalloc file systems. - * Fix a crash while mke2fs is parsing "-E resize=NNN" with the 64bit - file system feature enabled - * Added better error checking to mke2fs to check for invalid - parameters when creating bigalloc file system. - * When creating bigalloc filesystems, the -g option to mke2fs will now - specify the number of clusters per block group. - * Added the "symlink", "zap_block", "block_dump", and "extent_open" - commands to debugfs - * Fixed debugfs's htree command so that all its messages are sent - through the pager. - * Fixed debugfs's dump_file and cat functions so they work correctly - on file systems with a block size greater than 8k. - * Fixed mke2fs's handling of the mmp_update_interval option - * Fixed e2freefrag so it works on 64-bit file systems, and so it uses - much less memory. - * E2image can now include all data blocks in the e2image output - file when the user specifies the -a option. - * Fixed debugfs's mknod command so that it updates the block group - statistics - * Document the bigalloc feature in the mke2fs man page. - (Closes: #669730) - * Update Czech, Dutch, French, German, Polish, Sweedish, and - Vietnamese translations - - -- Theodore Y. Ts'o Tue, 21 Jan 2013 21:52:58 -0500 - -e2fsprogs (1.42.6-1) unstable; urgency=low - - * New upstream version - * Fix build dependencies to avoid requiring dc, and to allow - cross-building to work (Closes: #677497) - * Updated/fixed various man pages - * Mke2fs will now update its progress indicators at most once a second - to avoid overwhelming serial consoles. - * Resize2fs will support lazy_itable_init, speeding up off-line growth - of uninit_bg file systems. - * Resize2fs now supports on-line resizing 64-bit file systems beyond - 16TB. A number of bugs in resize2fs which prevented this have been - fixed. - * Resize2fs now correctly handles resizing 32-bit file systems to 16TB. - * Fixed a potential segfault in e2fsck when there is an I/O error - while reading the superblock. - - -- Theodore Y. Ts'o Fri, 21 Sep 2012 12:14:41 -0400 - -e2fsprogs (1.42.5-1.1) unstable; urgency=low - - * Non-maintainer upload. - * e2fsck-static, e2fsprogs: let preinst remove a symbolic link in - /usr/share/doc, that should have been replaced with a directory since - 1.39+1.40-WIP-2006.10.02+dfsg-1. (Closes: #698879). - - -- Nicolas Boulenguez Fri, 22 Feb 2013 23:14:59 +0100 - -e2fsprogs (1.42.5-1) unstable; urgency=low - - * New upstream version - * Mark the e2fsprogs package as Multi-Arch: foreign, so if a package - foo:i386 depends on e2fsprogs and is installed on an amd64 system, - the native e2fsprogs will satisfy the dependency. (Closes: #678395) - * Fix a fd leak which could cause logsave (and hence a boot-time rc - init script) to hang (Closes: #682592) - * Fix a problem if e2fsck where if the root file system is mounted - read-only, e2fsck would not clear an error indication in the journal - superblock. Combined with a kernel bug, this would cause the e2fsck - to check the file system after every single boot - * Fixed filefrag so it would not seg fault on virtual filesystems such - as /proc: e.g., "filefrag /proc/partitions" - * Fix filefrag so that it correctly reports the number of extents - * Fixed a bug which caused "mke2fs -N 256 -t ext4 /tmp/foo.img 256m" - to write blocks out until /tmp filled - * Fixed a bug in how e2fsck would uniquify directory entry names - * Change e2fsck so it will allow file systems mounted read-only to be - checked with the -f option. - * Fix e2fsck so that the file system is marked as containing an - error if the user chooses not to fix the quota usage information. - * Fix tune2fs so that it correctly removes the quota feature when - the last quota inode is removed. - * Fix tune2fs so that after removing a quota inode, the block bitmap - is updated; otherwise, e2fsck would complain after running 'tune2fs - -O ^quota '. - * Fix tune2fs so that when converting a file system from using legacy - quota files to the new quota file system feature with hidden quota - files, the accounting for these files is handled correctly so that - e2fsck doesn't complain. - * The e4defrag program now allows device symlinks, such as - /dev/mapper/testvg-testlv, instead of insisting on less - human-friendly names such as /dev/dm-2 - * Updated/fixed various man pages (Closes: #680114) - - -- Theodore Y. Ts'o Sun, 29 Jul 2012 19:59:56 -0400 - -e2fsprogs (1.42.4-3) unstable; urgency=medium - - * Add the -C option to chattr's usage message - * Fix e2fsprogs so it is blhc (build log hardening check) clean. This - fixed e2fsck.static which previously was not getting built with the - security hardening flags. - - -- Theodore Y. Ts'o Wed, 13 Jun 2012 16:03:24 -0400 - -e2fsprogs (1.42.4-2) unstable; urgency=medium - - * Fix FTBFS problem on the hurd and freebsd platforms - - -- Theodore Y. Ts'o Tue, 12 Jun 2012 18:26:40 -0400 - -e2fsprogs (1.42.4-1) unstable; urgency=medium - - * New upstream version - * Fix 64-bit block number bugs in e2fsck, dumpe2fs, and debugfs which - could corrupt file systems - * Fixed e2fsck's handling of how errors propagate from the journal to - the file system superblock - * Fixed a false positive complaint from e2fsck if all of the extents - in the last extent block are uninitialized and located after the - end of the file. - * dumpe2fs will display the journal's error indicator in the - superblock if it is set - * Fixed a bug which caused e2fsck to incorrectly use O_EXCLUSIVE in - some corner cases. - * Fix truncation of extent-mapped inodes in e2fsck and libext2fs - * Fixed i_blocks accounting in bigalloc file systems. - * Add support for btrfs's No_COW flag to lsattr and chattr - * Debugfs interprets the date strings of the form "@ddd" as ddd - seconds after the epoch - * Updated/fixed various man pages (Closes: #674453, #674694) - - -- Theodore Y. Ts'o Tue, 12 Jun 2012 18:20:55 -0400 - -e2fsprogs (1.42.3-1) unstable; urgency=low - - * New upstream version - * Fix bugs on 32-bit systems which could corrupt > 16TB file systems - * Quiet complaints in e2fsck when the total free blocks or inodes are - incorrect in the superblock after an system crash, since we don't - update nor depend on the superblock summaries at each commit boundary - * Fixed support for (hidden) quota files built into ext4; in - particular, don't rewrite the quota inode unless the quotas are - inconsistent - * Optimized reading and writing bitmaps if direct I/O was enabled - * Update Czech, Dutch, French, German, Polish, Sweedish, and - Vietnamese translations - * Fixed incorrect indentation in tune2fs man page - * Update debian policy compliance to 3.9.3 - - -- Theodore Y. Ts'o Mon, 14 May 2012 14:43:09 -0400 - -e2fsprogs (1.42.2-2) unstable; urgency=low - - * Fixed e2fsck.conf's man page (Closes: #646963) - * Fixed 32-bit binary compatibility problem for the libext2fs shared - library introduced in 1.42.2 - * mke2fs will no longer fail if the /etc/mtab file is not present - - -- Theodore Y. Ts'o Mon, 09 Apr 2012 14:54:33 -0400 - -e2fsprogs (1.42.2-1) unstable; urgency=low - - * New upstream version - * Fixed various man pages (Closes: #665427) - * Speed up resize2fs for large file systems (Closes: #663237) - * Be less strict about the EXT4_EOFBLOCKS_FL flag (which will - eventually be going away in the ext4 file system format) - * Teach mke2fs to use direct I/O if the -D option is given - * Print errors returned by ext2fs_open2() and ext2fs_check_desc() so - we can more easily diagnose memory allocation failures caused by - insufficient memory and abort on memory allocation failures - * E2fsck can now write log files containing the details of the - problems that were found and fixed directly. - * E2fsck can now limit the number of messages issued and printed on - the console - * The dumpe2fs, debugfs, and tune2fs now use rbtree bitmaps, which - cause them to use much less memory for large file systems. - * E2fsck will now check for zero-length extents, since older kernels will - OOPS if they comes across one - * Fix e2fsck's discard behaviour so it does not discard too many - blocks, and it will not use discard if the device advertises - that discard does not persistently zero data. Also, if e2fsck is - run in read-only mode, do not try to discard data. - * Fix mke2fs -S so it does not corrupt the first block group's - information. - * Add pointer for e2fsprogs-udeb to libcomerr2.shlibs (Closes: #665885) - - -- Theodore Y. Ts'o Tue, 27 Mar 2012 15:55:57 -0700 - -e2fsprogs (1.42.1-2) unstable; urgency=low - - * Fix the fact that dpkg-buildflags was being ignored due to a - bash'ism in debian/rules. - * Check the new /sys/class/power_supply/AC/online since - /proc/acpi/ac_adapter/... is deprecated and may not be present on - newer kernels. - - -- Theodore Y. Ts'o Mon, 20 Feb 2012 19:12:20 -0500 - -e2fsprogs (1.42.1-1) unstable; urgency=low - - * New upstream release - * dpkg-buildflags is now used if it is present. This allows Debian - Wheezy to build with security hardened build flags. (Closes: #654457) - * mke2fs and e2fsck now use much less memory for large file systems - * Fixed mke2fs -S so it can be usefully used as a last ditch recovery - command when for ext4 filesystems that have the uninit_bg feature enabled. - * The mke4fs argv[0] is now recognized by mke2fs. - * Fixed usage and help messages for mke2fs. - * Eliminated spurious bad block group checksum warnings when e2fsck - falls back to using the backup group descriptors. - * Debugfs's ncheck command is now much more useful when used to - diagnose badly corrupted file system. Added a new -c option. - * Fixed bug in e2image which could cause it to fail to set i_size - correctly if the last hole in the file is an exact multiple of a - megabyte. - * Fixed a bug with resize2fs where for 1k and 2k file systems, the - minimum file size used for resize2fs -M could be a block too small. - * Fixed the badblocks program to honor the -s flag when in read-only -t - mode. (Closes: #646629) - * Update Czech, Dutch, French, Polish, and Swedish translations - - -- Theodore Y. Ts'o Fri, 17 Feb 2012 15:07:13 -0500 - -e2fsprogs (1.42-1) unstable; urgency=low - - * New upstream release - * Fixed hurd FTBFS (Closes: #649689) - * Optimized e2fsck speed on large file systems when using [scratch_files] - * Fixed e2fsck handling of blocks claimed by multiple inodes in - bigalloc file systems - * Fixed e2fsck's calculation of max file size for non-extent based - files when huge_file is enabled - * Update Czech and Swedish translations - - -- Theodore Y. Ts'o Tue, 29 Nov 2011 15:50:07 -0500 - -e2fsprogs (1.42~WIP-2011-11-20-1) unstable; urgency=low - - * New upstream release - * Fix error checking so resize2fs works when using a 32-bit userspace - and a 64-bit kernel (Closes: #644989) - * e2fsck now returns additional status bits in its exit code if it - aborts early in the e2fsck run - * Fix potential stack overflow in debugfs - * Avoid an infinite loop in ext2fs_find_block_device() if there are - symlink loops in /dev caused by a buggy udev - * Fix test failures on big-endian systems - * Fix gcc -Wall complaints - * Add freefrag and e2freefrag commands to debugfs - * Add a read-only, metadata-only debugfs command called rdebugfs - * Improve first-class quota support - * Fix bigalloc support in e2freefrag - * Clean up mmp handling - * Fix a regression which caused mke2fs to not work correctly on files - > 2GB. (Closes: #647245) - * Fix a namespace leak in libext2fs (tdb_null) - - -- Theodore Y. Ts'o Sun, 20 Nov 2011 21:32:49 -0500 - -e2fsprogs (1.42~WIP-2011-10-16-1) unstable; urgency=low - - * New upstream release - * Fix online resizing with resize2fs (Closes: #644989) - * Fix bug which caused shrinking an empty file system file system to - its minimal size to sometimes fail. - * Don't look at the high 16 bits of i_file_acl if the 64-bit feature - is not enabled; this fixes a Hurd compatibility field since this is - used for the high 16 bits of i_mode on Hurd. - * Update Sweedish, Polish, French, German, and Czech translations - - -- Theodore Y. Ts'o Sun, 16 Oct 2011 22:07:03 -0400 - -e2fsprogs (1.42~WIP-2011-10-09-1) unstable; urgency=low - - * New upstream release - * Fixed infinite loop in filefrag (Closes: #644792) - * Fixed various spelling and translation problems - * Fixed various man pages - * Fixed 64-bit block numbers in e2fsck's journal replay - * Fixed mipsel FTBFS that was fixed for mips - * Update Sweedish, French, and Czech translations - * Convert to debian source 3.0 (quilt) format - - -- Theodore Y. Ts'o Sun, 09 Oct 2011 22:24:31 -0400 - -e2fsprogs (1.42~WIP-2011-10-05-2) unstable; urgency=low - - * Fix portability issues with non-Linux platforms and for the mips - platform, which does some really strange things vis-a-vis - 32/64-bit support without actually having a 64-bit version of - the architecture (Closes: #644502) - * Fix dependency problem which causes the newer version of libcom_err2 - to get pulled in when upgrading to e2fsprogs, which needs the new - interface exported by libcom_err2. (Closes: #644425, #644584) - - -- Theodore Y. Ts'o Fri, 07 Oct 2011 18:27:06 -0400 - -e2fsprogs (1.42~WIP-2011-10-05-1) unstable; urgency=low - - * Update translations: German (Closes: #520985) - * Fixed usage and error text for mke2fs -C option - * Updated e2fsprogs.pot file for translators - * Added support for internationalized error strings for libcom_err - * Fixed various portability nits that were causing FTBFS problems on - Hurd and FreeBSD - * Added "big" and "huge" types to mke2fs.conf, since they are needed - for very large file systems - * Fixed on-line resizing which had been broken in the 1.42 series - (Closes: #451388) - - -- Theodore Y. Ts'o Wed, 05 Oct 2011 02:10:53 -0400 - -e2fsprogs (1.42~WIP-2011-10-01-2) unstable; urgency=low - - * Update translations: French, German (Closes: #620659) - * Fix compilation problems in hermetic environments - * Fix on-line resizing in resize2fs (Closes: #451388) - * Add definitions for "big" and "huge" filesystems to /etc/mke2fs.conf - * Fix mke2fs when there are more than 2**32 block groups - - -- Theodore Y. Ts'o Tue, 04 Oct 2011 00:04:25 -0400 - -e2fsprogs (1.42~WIP-2011-10-01-1) unstable; urgency=low - - * New upstream release - * Avoid unnecessary reboots when checking the root fs in some special cases - * Fix an off-by-one error in filefrag -v's output - * Make filefrag display the number of contiguous (not physical) - extents (Closes: #631498) - * Clarify the mke2fs.conf.5 man page (Closes: #634883) - * Add a hurd-specific mke2fs.conf file (Closes: #629355) - * mke2fs will set s_max_mnt_count to -1 instead of 0 by default to - work around a bug in pre-3.0 kernels which caused a spurious - message to be printed when the file system was mounted (Closes: #632637) - * Fixed portability problems which was causing build failures on - non-Linux/non-x86 systems. - * Verify that the bad block inode looks sane before trusting it, to - avoid it causing more harm than good. - * Fixed the debian/rules file so that it build successfully if - DEB_BUILD_OPTIONS contains "nostrip" (Closes: #627535) - * Fixed some big-endian bugs in the MMP code - - -- Theodore Y. Ts'o Fri, 30 Sep 2011 22:33:41 -0400 - -e2fsprogs (1.42~WIP-2011-09-25-1) unstable; urgency=low - - * New upstream release - * Fix FTBFS on big-endian architectures (Closes: #641838) - * Add support for multiarch (Closes: #632169) - * Clarify and update debian/copyright file (Closes: #614662) - * Add support for Multi-Mount Protection (MMP) - * Allow tune2fs to remove the external journal if the device is not found - * Updated/clarified man pages (Closes: #642193) - * Fix a potential FTBFS caused by overly long compile lines (Closes: #629883) - - -- Theodore Y. Ts'o Sun, 25 Sep 2011 01:28:34 -0400 - -e2fsprogs (1.42~WIP-2011-09-16-1) unstable; urgency=low - - * New upstream release - * Added support for the integrated quota feature - * Improved 64-bit and bigalloc support - * Mke2fs and tune2fs now allows setting the stride and stripe width to zero - * Fixed tune2fs's mount options parsing (Closes: #641667) - * Fixed an ABI compatibility problem which broke the dump program - (Closes: #636418) - * Resize2fs has forward compatibility for a new on-line resize ioctl - for > 16TB file systems. - * Fixed a (very hard to hit) bug that could cause e2fsck to crash in - pass 1 or pass 2 - * Debugfs has a new 'blocks' command - * Mke2fs now gives a warning if the auto-detected block size exceeds - the page size - * Mke2fs and e2fsck now tries to use the punch hole command as a - "discard" when operating on normal files - * Mke2fs will not try to do any discard operations if -n is specified - on the command line - * Updated/clarified man pages (Closes: #639411) - * Fixed parsing of MNTOPT_ options for tune2fs and debugfs (Closes: #641667) - - -- Theodore Y. Ts'o Fri, 16 Sep 2011 10:33:59 -0400 - -e2fsprogs (1.42~WIP-2011-07-02-1) unstable; urgency=low - - * New upstream release - * Add support for 64-bit file systems - * Add support for bigalloc file systems - * Fixed an e2fsck bug which caused "*** FILE SYSTEM WAS MODIFIED ***" - without an explanation of what was fixed. - * E2fsck will no longer attempt to clone an extended attribute block - in pass1b handling if the file system does not support extended - attributes. - * E2fsck will be more careful accidentally asking the user to continue - if the file system is mounted, so that an escape sequence won't - cause a false positive. (Closes: #619859) - * E2fsck now uses less cpu time in pass 5 - * E2fsck will no longer segault when a corrupted file system has a bad - extent, and removing it leads to a block needing to be deallocated. - * E2fsck now supports an extended "discard" option which will cause - e2fsck to attempt discard all unused blocks after a full check - * The e2image program now supports the qcow2 format, a more efficient - way of capturing file system metadata snapshots. - * Mke2fs now supports the [devices] stanza in mke2fs.conf. - * Mke2fs now supports the reserved_ratio relation in mke2fs.conf. - * Mke2fs now creates extent-mapped directories for the root and - lost+found directories. - * Mke2fs will skip zero'ing the journal if the extended option - "lazy_journal_init" is specified. - * Mke2fs will now create file systems that enable user namespace - extended attributes and with time- and mount count-based file - system checks disabled. - * Mke2fs will not set a stride or strip size of one block based on - block bevice attributes obtained from sysfs. - * Mke2fs now displays a progress report during the discard process. - * Mke2fs now handles extreme file system parameters correctly which - previously caused the inodes per group to drop below 8, leading - to a segfault. - * Debugfs's icheck will now correctly find inodes which use the - searched-for block as an extended attribute block. - * Debugfs now has a new "punch" command which remove blocks from the - middle of an inode. - * The badblocks program now correctly recovers from I/O errors when - direct I/O is being used. The badblocks command now also - supports a -B option which forces the use of buffered I/O, and - the -v option will provide a more detailed breakdown of read, - write, and failed comparison errors. - * Added e4defrag tool which uses the EXT4_IOC_MOVE_EXT ioctl. - * Added support for journals larger than 2GB. - * Support using both hard links and symlinks when installing e2fsprogs. - * Add overflow checking to tune2fs -i's fsck interval, which must fit - in a 32-bit field. - * Filefrag will report 0 extents correctly in verbose mode. - * Logsave's usage message has been fixed. (Closes: #619788) - * Update translations: French, Chinese, Germany, Indonesian, Swedish, - Vietnamese, Polish, Dutch, Czech. - * Updated/clarified man pages. - - -- Theodore Y. Ts'o Sat, 02 Jul 2011 22:38:57 -0400 - e2fsprogs (1.41.14-1) experimental; urgency=low * New upstream release diff --git a/debian/comerr-dev.doc-base b/debian/comerr-dev.doc-base index 463eb767..ccde9543 100644 --- a/debian/comerr-dev.doc-base +++ b/debian/comerr-dev.doc-base @@ -8,5 +8,5 @@ Abstract: A library, and associated utilities, Section: Programming Format: HTML -Index: /usr/share/doc/comerr-dev/html-info/com_err.html +Index: /usr/share/doc/comerr-dev/html-info/com_err_toc.html Files: /usr/share/doc/comerr-dev/html-info/*.html diff --git a/debian/comerr-dev.files b/debian/comerr-dev.files new file mode 100644 index 00000000..9e5e1e12 --- /dev/null +++ b/debian/comerr-dev.files @@ -0,0 +1,9 @@ +usr/lib/libcom_err.a +usr/lib/libcom_err.so +usr/include/et/* +usr/include/com_err.h +usr/share/man/man1/compile_et* +usr/share/man/man3/com_err.3* +usr/bin/compile_et +usr/share/et/* +usr/lib/pkgconfig/com_err.pc diff --git a/debian/comerr-dev.files.in b/debian/comerr-dev.files.in deleted file mode 100644 index a3b8b0e4..00000000 --- a/debian/comerr-dev.files.in +++ /dev/null @@ -1,9 +0,0 @@ -usr/lib/*/libcom_err.a -usr/lib/*/libcom_err.so -usr/include/et/* -usr/include/com_err.h -usr/share/man/man1/compile_et* -usr/share/man/man3/com_err.3* -usr/bin/compile_et -usr/share/et/* -usr/lib/*/pkgconfig/com_err.pc diff --git a/debian/control.in b/debian/control.in index 6db7cd96..3c8cf84e 100644 --- a/debian/control.in +++ b/debian/control.in @@ -1,19 +1,15 @@ -define(MULTIARCH_HEADERS,ifdef(`DO_MULTIARCH', -Multi-Arch: same -Pre-Depends: ${misc:Pre-Depends},REMOVE_ME))dnl -define(UTIL_LINUX_NG_DEFINES, -ifdef(`UTIL_LINUX_NG', ``libblkid-dev (>= 2.16), uuid-dev (>= 2.16),''))dnl -define(DIETLIBC_DEFINES, -ifdef(`DIETLIBC', ``dietlibc-dev (>> 0.30) [alpha amd64 arm hppa i386 ia64 powerpc ppc64 s390 sparc],''))dnl Source: e2fsprogs Section: admin Priority: required Maintainer: Theodore Y. Ts'o -Build-Depends: gettext, texinfo, pkg-config, DIETLIBC_DEFINES gcc-multilib [mips mipsel], debhelper (>= 7.0), UTIL_LINUX_NG_DEFINES m4 -Standards-Version: 3.9.5 +ifdef(`UTIL_LINUX_NG', +``Build-Depends: texi2html (>= 1.76), gettext, texinfo, dc, pkg-config, dietlibc-dev (>> 0.30) [alpha amd64 arm hppa i386 ia64 powerpc ppc64 s390 sparc], debhelper (>= 7.0), m4, libblkid-dev (>= 2.16), uuid-dev (>= 2.16) +'', +``Build-Depends: texi2html (>= 1.76), gettext, texinfo, dc, pkg-config, dietlibc-dev (>> 0.30) [alpha amd64 arm hppa i386 ia64 powerpc ppc64 s390 sparc], debhelper (>= 7.0), m4 +'')dnl +Standards-Version: 3.8.4 Homepage: http://e2fsprogs.sourceforge.net -ifdef(`E2FSCK_STATIC',`` Package: e2fsck-static Priority: optional Depends: ${shlibs:Depends}, ${misc:Depends} @@ -28,7 +24,6 @@ Description: statically-linked version of the ext2/ext3/ext4 filesystem checker . You may want to install a statically-linked shell as well, to be able to run this program if something like your C library gets corrupted. -'')dnl Package: libcomerr2 Section: libs @@ -36,7 +31,6 @@ Provides: libcomerr-kth-compat Depends: ${shlibs:Depends}, ${misc:Depends} Replaces: e2fsprogs (<< 1.34-1) Architecture: any -MULTIARCH_HEADERS Description: common error description library libcomerr is an attempt to present a common error-handling mechanism to manipulate the most common form of error code in a fashion that does not @@ -61,11 +55,10 @@ Section: libs Depends: libcomerr2, ${shlibs:Depends}, ${misc:Depends} Replaces: e2fsprogs (<< 1.34-1) Architecture: any -MULTIARCH_HEADERS Description: command-line interface parsing library - libss provides a simple command-line interface parser which will - accept input from the user, parse the command into an argv argument - vector, and then dispatch it to a handler function. + This package includes a tool that parses a command table to generate + a simple command-line interface parser, the include files needed to + compile and use it, and the static libs. . It was originally inspired by the Multics SubSystem library. @@ -89,7 +82,6 @@ Depends: passwd, ${shlibs:Depends}, ${misc:Depends} Recommends: uuid-runtime Replaces: e2fsprogs (<< 1.34-1) Architecture: any -MULTIARCH_HEADERS Description: Universally Unique ID library The libuuid library generates and parses 128-bit universally unique ids (UUIDs). A UUID is an identifier that is unique across both @@ -208,7 +200,6 @@ Depends: ${shlibs:Depends}, ${misc:Depends} Replaces: e2fsprogs (<< 1.34-1) Provides: libext2fs2, libe2p2 Architecture: any -MULTIARCH_HEADERS Description: ext2/ext3/ext4 file system libraries The ext2, ext3 and ext4 file systems are successors of the original ext ("extended") file system. They are the main file system types used for @@ -242,7 +233,6 @@ ifdef(`UTIL_LINUX_NG', '', ``Pre-Depends: ${shlibs:Depends}, ${misc:Depends} '')dnl -Multi-Arch: foreign Suggests: gpart, parted, e2fsck-static Conflicts: dump (<< 0.4b4-4), quota (<< 1.55-8.1), initscripts (<< 2.85-4), sysvinit (<< 2.85-4) Replaces: hurd (<= 20040301-1), libblkid1 (<< 1.38+1.39-WIP-2005.12.10-2), libuuid1 (<< 1.38+1.39-WIP-2005.12.10-2) diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index 94a4d629..00000000 --- a/debian/copyright +++ /dev/null @@ -1,73 +0,0 @@ -This is the Debian GNU/Linux prepackaged version of the EXT2 file -system utilities (e2fsck, mke2fs, etc.). The EXT2 utilities were -written by Theodore Ts'o and Remy Card . - -Sources were obtained from http://sourceforge.net/projects/e2fsprogs - -Packaging is Copyright (c) 2003-2007 Theodore Ts'o - Copyright (c) 1997-2003 Yann Dirson - Copyright (c) 2001 Alcove - Copyright (c) 1997 Klee Dienes - Copyright (c) 1995-1996 Michael Nonweiler - -Upstream Author: Theodore Ts'o - -Copyright notice: - -This package, the EXT2 filesystem utilities, are made available under -the GNU Public License version 2, with the exception of the lib/ext2fs -and lib/e2p libraries, which are made available under the GNU Library -General Public License Version 2, the lib/uuid library which is made -available under a BSD-style license and the lib/et and lib/ss -libraries which are made available under an MIT-style license. - - Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Theodore Ts'o - -On Debian GNU systems, the complete text of the GNU General Public -License can be found in `/usr/share/common-licenses/GPL-2'. The -complete text of the GNU Library General Public License can be found -in '/usr/share/common-licenses/LGPL-2'. - - -The license used for lib/et and lib/ss libraries is: - - Copyright 1987 by the Student Information Processing Board - of the Massachusetts Institute of Technology - - Permission to use, copy, modify, and distribute this software and - its documentation for any purpose is hereby granted, provided that - the names of M.I.T. and the M.I.T. S.I.P.B. not be used in - advertising or publicity pertaining to distribution of the software - without specific, written prior permission. M.I.T. and the - M.I.T. S.I.P.B. make no representations about the suitability of - this software for any purpose. It is provided "as is" without - express or implied warranty. - -The license used for lib/uuid is: - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, and the entire permission notice in its entirety, - including the disclaimer of warranties. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. The name of the author may not be used to endorse or promote - products derived from this software without specific prior - written permission. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF - WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE - USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. diff --git a/debian/e2fsck-static.preinst b/debian/e2fsck-static.preinst deleted file mode 100644 index e756adea..00000000 --- a/debian/e2fsck-static.preinst +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -# Abort on error. -set -e - -PKG=e2fsck-static -DOCLNK=/usr/share/doc/$PKG -if test "$1" = upgrade \ - -a -L $DOCLNK -then - rm $DOCLNK -fi - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/debian/e2fslibs-dev.doc-base b/debian/e2fslibs-dev.doc-base index 19d04f42..d1023155 100644 --- a/debian/e2fslibs-dev.doc-base +++ b/debian/e2fslibs-dev.doc-base @@ -6,5 +6,5 @@ Abstract: The EXT2FS library is designed to allow Section: Programming Format: HTML -Index: /usr/share/doc/e2fslibs/html-info/libext2fs.html +Index: /usr/share/doc/e2fslibs/html-info/libext2fs_toc.html Files: /usr/share/doc/e2fslibs/html-info/*.html diff --git a/debian/e2fslibs-dev.files b/debian/e2fslibs-dev.files new file mode 100644 index 00000000..2755b714 --- /dev/null +++ b/debian/e2fslibs-dev.files @@ -0,0 +1,7 @@ +usr/lib/*.so +usr/lib/*.a +usr/include/ext2fs +usr/include/e2p +usr/share/info/libext2fs.info* +usr/lib/pkgconfig/e2p.pc +usr/lib/pkgconfig/ext2fs.pc diff --git a/debian/e2fslibs-dev.files.in b/debian/e2fslibs-dev.files.in deleted file mode 100644 index b2cd6c92..00000000 --- a/debian/e2fslibs-dev.files.in +++ /dev/null @@ -1,9 +0,0 @@ -usr/lib/*/libext2fs*.so -usr/lib/*/libext2fs*.a -usr/lib/*/libe2p*.so -usr/lib/*/libe2p*.a -usr/include/ext2fs -usr/include/e2p -usr/share/info/libext2fs.info* -usr/lib/*/pkgconfig/e2p.pc -usr/lib/*/pkgconfig/ext2fs.pc diff --git a/debian/e2fslibs.copyright b/debian/e2fslibs.copyright new file mode 100644 index 00000000..5fa3af08 --- /dev/null +++ b/debian/e2fslibs.copyright @@ -0,0 +1,25 @@ +This is the Debian GNU/Linux prepackaged version of the EXT2 file +system utilities (e2fsck, mke2fs, etc.). The EXT2 utilities were +written by Theodore Ts'o and Remy Card . + +Sources were obtained from http://sourceforge.net/projects/e2fsprogs + +Packaging is copyright (c) 2003 Theodore Ts'o + copyright (c) 1997-2003 Yann Dirson + copyright (c) 2001 Alcove + copyright (c) 1997 Klee Dienes + copyright (c) 1995-1996 Michael Nonweiler + +Upstream Author: Theodore Ts'o + +Copyright notice: + +This package, the EXT2 filesystem libraries, are protected by the GNU +Public License. + + Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Theodore Ts'o + +On Debian GNU systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-2'. + diff --git a/debian/e2fslibs.files b/debian/e2fslibs.files new file mode 100644 index 00000000..5678875e --- /dev/null +++ b/debian/e2fslibs.files @@ -0,0 +1,3 @@ +lib/libext2fs* +lib/libe2p* + diff --git a/debian/e2fslibs.files.in b/debian/e2fslibs.files.in deleted file mode 100644 index 11198f76..00000000 --- a/debian/e2fslibs.files.in +++ /dev/null @@ -1,2 +0,0 @@ -lib/*/libext2fs*.so.* -lib/*/libe2p*.so.* diff --git a/debian/e2fslibs.symbols b/debian/e2fslibs.symbols index f95f477d..12d7d325 100644 --- a/debian/e2fslibs.symbols +++ b/debian/e2fslibs.symbols @@ -25,7 +25,7 @@ libe2p.so.2 e2fslibs #MINVER# iterate_on_dir@Base 1.37 list_super2@Base 1.37 list_super@Base 1.37 - parse_num_blocks2@Base 1.42 +#MISSING: 1.41.1# os_tab@Base 1.37 parse_num_blocks@Base 1.37 print_flags@Base 1.37 print_fs_errors@Base 1.37 @@ -40,21 +40,18 @@ libext2fs.so.2 e2fslibs #MINVER# badblocks_list_iterate_begin@Base 1.37 badblocks_list_iterate_end@Base 1.37 badblocks_list_test@Base 1.37 +#MISSING: 1.41.1# crc16@Base 1.41.0 +#MISSING: 1.41.1# crc16_table@Base 1.41.0 et_ext2_error_table@Base 1.37 - ext2fs_add_dir_block2@Base 1.42 ext2fs_add_dir_block@Base 1.37 ext2fs_add_journal_device@Base 1.37 ext2fs_add_journal_inode@Base 1.37 - ext2fs_adjust_ea_refcount2@Base 1.42 ext2fs_adjust_ea_refcount@Base 1.37 - ext2fs_alloc_block2@Base 1.42 ext2fs_alloc_block@Base 1.37 - ext2fs_alloc_generic_bmap@Base 1.42 ext2fs_allocate_block_bitmap@Base 1.37 ext2fs_allocate_generic_bitmap@Base 1.37 ext2fs_allocate_group_table@Base 1.37 ext2fs_allocate_inode_bitmap@Base 1.37 - ext2fs_allocate_subcluster_bitmap@Base 1.42 ext2fs_allocate_tables@Base 1.37 ext2fs_badblocks_copy@Base 1.37 ext2fs_badblocks_equal@Base 1.37 @@ -66,132 +63,76 @@ libext2fs.so.2 e2fslibs #MINVER# ext2fs_badblocks_list_iterate_begin@Base 1.37 ext2fs_badblocks_list_iterate_end@Base 1.37 ext2fs_badblocks_list_test@Base 1.37 - ext2fs_bg_checksum@Base 1.42 - ext2fs_bg_checksum_set@Base 1.42 - ext2fs_bg_flags@Base 1.42 - ext2fs_bg_flags_clear@Base 1.42 - ext2fs_bg_flags_set@Base 1.42 - ext2fs_bg_flags_test@Base 1.42 - ext2fs_bg_flags_zap@Base 1.42 - ext2fs_bg_free_blocks_count@Base 1.42 - ext2fs_bg_free_blocks_count_set@Base 1.42 - ext2fs_bg_free_inodes_count@Base 1.42 - ext2fs_bg_free_inodes_count_set@Base 1.42 ext2fs_bg_has_super@Base 1.37 - ext2fs_bg_itable_unused@Base 1.42 - ext2fs_bg_itable_unused_set@Base 1.42 - ext2fs_bg_used_dirs_count@Base 1.42 - ext2fs_bg_used_dirs_count_set@Base 1.42 - ext2fs_bitcount@Base 1.42.7 - ext2fs_blkmap64_bitarray@Base 1.42 - ext2fs_blkmap64_rbtree@Base 1.42.1 - ext2fs_block_alloc_stats2@Base 1.42 ext2fs_block_alloc_stats@Base 1.37 - ext2fs_block_bitmap_loc@Base 1.42 - ext2fs_block_bitmap_loc_set@Base 1.42 ext2fs_block_iterate2@Base 1.37 - ext2fs_block_iterate3@Base 1.42 ext2fs_block_iterate@Base 1.37 - ext2fs_blocks_count@Base 1.42 - ext2fs_blocks_count_add@Base 1.42 - ext2fs_blocks_count_set@Base 1.42 ext2fs_bmap2@Base 1.41.0 ext2fs_bmap@Base 1.37 ext2fs_check_desc@Base 1.37 ext2fs_check_directory@Base 1.37 ext2fs_check_if_mounted@Base 1.37 ext2fs_check_mount_point@Base 1.37 - ext2fs_clear_bit64@Base 1.42 ext2fs_clear_bit@Base 1.37 ext2fs_clear_block_bitmap@Base 1.37 ext2fs_clear_generic_bitmap@Base 1.41.0 - ext2fs_clear_generic_bmap@Base 1.42 ext2fs_clear_inode_bitmap@Base 1.37 - ext2fs_close2@Base 1.42 ext2fs_close@Base 1.37 ext2fs_close_inode_scan@Base 1.37 ext2fs_compare_block_bitmap@Base 1.37 ext2fs_compare_generic_bitmap@Base 1.41.0 - ext2fs_compare_generic_bmap@Base 1.42 ext2fs_compare_inode_bitmap@Base 1.37 - ext2fs_convert_subcluster_bitmap@Base 1.42 ext2fs_copy_bitmap@Base 1.37 ext2fs_copy_dblist@Base 1.37 ext2fs_copy_generic_bitmap@Base 1.41.0 - ext2fs_copy_generic_bmap@Base 1.42 ext2fs_crc16@Base 1.41.1 - ext2fs_crc32c_be@Base 1.42 - ext2fs_crc32c_le@Base 1.42 ext2fs_create_icount2@Base 1.37 ext2fs_create_icount@Base 1.37 ext2fs_create_icount_tdb@Base 1.40 ext2fs_create_journal_superblock@Base 1.37 ext2fs_create_resize_inode@Base 1.37 - ext2fs_dblist_count2@Base 1.42 ext2fs_dblist_count@Base 1.37 ext2fs_dblist_dir_iterate@Base 1.37 ext2fs_dblist_drop_last@Base 1.40.8 - ext2fs_dblist_get_last2@Base 1.42 ext2fs_dblist_get_last@Base 1.40.8 - ext2fs_dblist_iterate2@Base 1.42 ext2fs_dblist_iterate@Base 1.37 - ext2fs_dblist_sort2@Base 1.42 ext2fs_dblist_sort@Base 1.37 ext2fs_default_journal_size@Base 1.40 - ext2fs_descriptor_block_loc2@Base 1.42 ext2fs_descriptor_block_loc@Base 1.37 + ext2fs_get_rec_len@Base 1.41.7 + ext2fs_set_rec_len@Base 1.41.7 ext2fs_dir_iterate2@Base 1.37 ext2fs_dir_iterate@Base 1.37 ext2fs_dirhash@Base 1.37 - ext2fs_div64_ceil@Base 1.42 ext2fs_div_ceil@Base 1.40 ext2fs_dup_handle@Base 1.37 ext2fs_expand_dir@Base 1.37 ext2fs_ext_attr_hash_entry@Base 1.41.0 ext2fs_extent_delete@Base 1.41.0 - ext2fs_extent_fix_parents@Base 1.42.7 ext2fs_extent_free@Base 1.41.0 ext2fs_extent_get@Base 1.41.0 ext2fs_extent_get_info@Base 1.41.0 ext2fs_extent_goto@Base 1.41.0 - ext2fs_extent_goto2@Base 1.42.7 ext2fs_extent_header_verify@Base 1.41.0 ext2fs_extent_insert@Base 1.41.0 - ext2fs_extent_node_split@Base 1.42.7 ext2fs_extent_open2@Base 1.41.6 ext2fs_extent_open@Base 1.41.0 ext2fs_extent_replace@Base 1.41.0 ext2fs_extent_set_bmap@Base 1.41.0 - ext2fs_fast_clear_bit64@Base 1.42 ext2fs_fast_clear_bit@Base 1.39 - ext2fs_fast_mark_block_bitmap2@Base 1.42 ext2fs_fast_mark_block_bitmap@Base 1.37 - ext2fs_fast_mark_block_bitmap_range2@Base 1.42 ext2fs_fast_mark_block_bitmap_range@Base 1.37 - ext2fs_fast_mark_inode_bitmap2@Base 1.42 ext2fs_fast_mark_inode_bitmap@Base 1.37 - ext2fs_fast_set_bit64@Base 1.42 ext2fs_fast_set_bit@Base 1.39 - ext2fs_fast_test_block_bitmap2@Base 1.42 ext2fs_fast_test_block_bitmap@Base 1.37 - ext2fs_fast_test_block_bitmap_range2@Base 1.42 ext2fs_fast_test_block_bitmap_range@Base 1.37 - ext2fs_fast_test_inode_bitmap2@Base 1.42 ext2fs_fast_test_inode_bitmap@Base 1.37 - ext2fs_fast_unmark_block_bitmap2@Base 1.42 ext2fs_fast_unmark_block_bitmap@Base 1.37 - ext2fs_fast_unmark_block_bitmap_range2@Base 1.42 ext2fs_fast_unmark_block_bitmap_range@Base 1.37 - ext2fs_fast_unmark_inode_bitmap2@Base 1.42 ext2fs_fast_unmark_inode_bitmap@Base 1.37 - ext2fs_file_acl_block@Base 1.42 - ext2fs_file_acl_block_set@Base 1.42 - ext2fs_file_block_offset_too_big@Base 1.42.9 ext2fs_file_close@Base 1.37 ext2fs_file_flush@Base 1.37 ext2fs_file_get_fs@Base 1.37 - ext2fs_file_get_inode@Base 1.42 - ext2fs_file_get_inode_num@Base 1.42.1 ext2fs_file_get_lsize@Base 1.37 ext2fs_file_get_size@Base 1.37 ext2fs_file_llseek@Base 1.37 @@ -199,85 +140,51 @@ libext2fs.so.2 e2fslibs #MINVER# ext2fs_file_open2@Base 1.37 ext2fs_file_open@Base 1.37 ext2fs_file_read@Base 1.37 - ext2fs_file_set_size2@Base 1.42 ext2fs_file_set_size@Base 1.37 ext2fs_file_write@Base 1.37 ext2fs_find_block_device@Base 1.37 - ext2fs_find_first_zero_block_bitmap2@Base 1.42.2 - ext2fs_find_first_zero_generic_bitmap@Base 1.42.3 - ext2fs_find_first_zero_generic_bmap@Base 1.42.2 - ext2fs_find_first_zero_inode_bitmap2@Base 1.42.2 - ext2fs_flush2@Base 1.42 ext2fs_flush@Base 1.37 ext2fs_flush_icache@Base 1.37 ext2fs_follow_link@Base 1.37 ext2fs_free@Base 1.37 ext2fs_free_block_bitmap@Base 1.37 - ext2fs_free_blocks_count@Base 1.42 - ext2fs_free_blocks_count_add@Base 1.42 - ext2fs_free_blocks_count_set@Base 1.42 ext2fs_free_dblist@Base 1.37 ext2fs_free_generic_bitmap@Base 1.37 - ext2fs_free_generic_bmap@Base 1.42 ext2fs_free_icount@Base 1.37 ext2fs_free_inode_bitmap@Base 1.37 ext2fs_free_mem@Base 1.37 - ext2fs_fstat@Base 1.42 - ext2fs_fudge_block_bitmap_end2@Base 1.42 ext2fs_fudge_block_bitmap_end@Base 1.37 ext2fs_fudge_generic_bitmap_end@Base 1.41.0 - ext2fs_fudge_generic_bmap_end@Base 1.42 ext2fs_fudge_inode_bitmap_end@Base 1.37 ext2fs_get_array@Base 1.40.3 - ext2fs_get_arrayzero@Base 1.42 - ext2fs_get_bitmap_granularity@Base 1.42 - ext2fs_get_block_bitmap_end2@Base 1.42 ext2fs_get_block_bitmap_end@Base 1.37 - ext2fs_get_block_bitmap_range2@Base 1.42 ext2fs_get_block_bitmap_range@Base 1.41.0 - ext2fs_get_block_bitmap_start2@Base 1.42 ext2fs_get_block_bitmap_start@Base 1.37 ext2fs_get_blocks@Base 1.37 ext2fs_get_data_io@Base 1.37 - ext2fs_get_device_phys_sectsize@Base 1.41.12 ext2fs_get_device_sectsize@Base 1.37 + ext2fs_get_device_phys_sectsize@Base 1.41.12 ext2fs_get_device_size2@Base 1.41.4 ext2fs_get_device_size@Base 1.37 - ext2fs_get_dio_alignment@Base 1.42.3 - ext2fs_get_free_blocks2@Base 1.42 ext2fs_get_free_blocks@Base 1.37 ext2fs_get_generic_bitmap_end@Base 1.41.0 ext2fs_get_generic_bitmap_range@Base 1.41.0 ext2fs_get_generic_bitmap_start@Base 1.41.0 - ext2fs_get_generic_bmap_end@Base 1.42 - ext2fs_get_generic_bmap_range@Base 1.42 - ext2fs_get_generic_bmap_start@Base 1.42 ext2fs_get_icount_size@Base 1.37 - ext2fs_get_inode_bitmap_end2@Base 1.42 ext2fs_get_inode_bitmap_end@Base 1.37 - ext2fs_get_inode_bitmap_range2@Base 1.42 ext2fs_get_inode_bitmap_range@Base 1.41.0 - ext2fs_get_inode_bitmap_start2@Base 1.42 ext2fs_get_inode_bitmap_start@Base 1.37 ext2fs_get_library_version@Base 1.37 ext2fs_get_mem@Base 1.37 ext2fs_get_memalign@Base 1.41.13 - ext2fs_get_memzero@Base 1.42 ext2fs_get_next_inode@Base 1.37 ext2fs_get_next_inode_full@Base 1.37 ext2fs_get_num_dirs@Base 1.37 ext2fs_get_pathname@Base 1.37 - ext2fs_get_rec_len@Base 1.41.7 - ext2fs_group_blocks_count@Base 1.42 - ext2fs_group_desc_csum@Base 1.42.2 - ext2fs_group_desc@Base 1.42 ext2fs_group_desc_csum_set@Base 1.41.0 ext2fs_group_desc_csum_verify@Base 1.41.0 - ext2fs_group_first_block2@Base 1.42 ext2fs_group_first_block@Base 1.40 - ext2fs_group_last_block2@Base 1.42 ext2fs_group_last_block@Base 1.40 - ext2fs_group_of_blk2@Base 1.42 ext2fs_group_of_blk@Base 1.37 ext2fs_group_of_ino@Base 1.37 ext2fs_iblk_add_blocks@Base 1.41.0 @@ -298,126 +205,76 @@ libext2fs.so.2 e2fslibs #MINVER# ext2fs_initialize@Base 1.37 ext2fs_inode_alloc_stats2@Base 1.37 ext2fs_inode_alloc_stats@Base 1.37 - ext2fs_inode_bitmap_loc@Base 1.42 - ext2fs_inode_bitmap_loc_set@Base 1.42 - ext2fs_inode_data_blocks2@Base 1.42 ext2fs_inode_data_blocks@Base 1.37 ext2fs_inode_has_valid_blocks@Base 1.37 - ext2fs_inode_has_valid_blocks2@Base 1.42 - ext2fs_inode_i_blocks@Base 1.42 ext2fs_inode_io_intern2@Base 1.37 ext2fs_inode_io_intern@Base 1.37 ext2fs_inode_scan_flags@Base 1.37 ext2fs_inode_scan_goto_blockgroup@Base 1.37 - ext2fs_inode_table_loc@Base 1.42 - ext2fs_inode_table_loc_set@Base 1.42 ext2fs_link@Base 1.37 ext2fs_llseek@Base 1.37 ext2fs_lookup@Base 1.37 ext2fs_make_generic_bitmap@Base 1.41.0 - ext2fs_map_cluster_block@Base 1.42.9 ext2fs_mark_bb_dirty@Base 1.37 - ext2fs_mark_block_bitmap2@Base 1.42 ext2fs_mark_block_bitmap@Base 1.37 - ext2fs_mark_block_bitmap_range2@Base 1.42 ext2fs_mark_block_bitmap_range@Base 1.37 ext2fs_mark_changed@Base 1.37 ext2fs_mark_generic_bitmap@Base 1.37 - ext2fs_mark_generic_bmap@Base 1.42 ext2fs_mark_ib_dirty@Base 1.37 - ext2fs_mark_inode_bitmap2@Base 1.42 ext2fs_mark_inode_bitmap@Base 1.37 ext2fs_mark_super_dirty@Base 1.37 ext2fs_mark_valid@Base 1.37 - ext2fs_mem_is_zero@Base 1.42 ext2fs_mkdir@Base 1.37 - ext2fs_mmp_clear@Base 1.42 - ext2fs_mmp_init@Base 1.42 - ext2fs_mmp_new_seq@Base 1.42 - ext2fs_mmp_read@Base 1.42 - ext2fs_mmp_start@Base 1.42 - ext2fs_mmp_stop@Base 1.42 - ext2fs_mmp_update@Base 1.42 - ext2fs_mmp_write@Base 1.42 ext2fs_namei@Base 1.37 ext2fs_namei_follow@Base 1.37 ext2fs_native_flag@Base 1.37 - ext2fs_new_block2@Base 1.42 ext2fs_new_block@Base 1.37 ext2fs_new_dir_block@Base 1.37 ext2fs_new_inode@Base 1.37 - ext2fs_numeric_progress_close@Base 1.42 - ext2fs_numeric_progress_init@Base 1.42 - ext2fs_numeric_progress_update@Base 1.42 ext2fs_open2@Base 1.37 ext2fs_open@Base 1.37 - ext2fs_open_file@Base 1.42 ext2fs_open_inode_scan@Base 1.37 ext2fs_parse_version_string@Base 1.37 ext2fs_process_dir_block@Base 1.37 - ext2fs_punch@Base 1.42 - ext2fs_r_blocks_count@Base 1.42 - ext2fs_r_blocks_count_add@Base 1.42 - ext2fs_r_blocks_count_set@Base 1.42 - ext2fs_rb_augment_erase_begin@Base 1.42.1 - ext2fs_rb_augment_erase_end@Base 1.42.1 - ext2fs_rb_augment_insert@Base 1.42.1 - ext2fs_rb_erase@Base 1.42.1 - ext2fs_rb_first@Base 1.42.1 - ext2fs_rb_insert_color@Base 1.42.1 - ext2fs_rb_last@Base 1.42.1 - ext2fs_rb_next@Base 1.42.1 - ext2fs_rb_prev@Base 1.42.1 - ext2fs_rb_replace_node@Base 1.42.1 ext2fs_read_bb_FILE2@Base 1.37 ext2fs_read_bb_FILE@Base 1.37 ext2fs_read_bb_inode@Base 1.37 ext2fs_read_bitmaps@Base 1.37 ext2fs_read_block_bitmap@Base 1.37 ext2fs_read_dir_block2@Base 1.37 - ext2fs_read_dir_block3@Base 1.42 ext2fs_read_dir_block@Base 1.37 - ext2fs_read_ext_attr2@Base 1.42 ext2fs_read_ext_attr@Base 1.37 ext2fs_read_ind_block@Base 1.37 ext2fs_read_inode@Base 1.37 ext2fs_read_inode_bitmap@Base 1.37 ext2fs_read_inode_full@Base 1.37 ext2fs_reserve_super_and_bgd@Base 1.37 - ext2fs_resize_block_bitmap2@Base 1.42 ext2fs_resize_block_bitmap@Base 1.37 ext2fs_resize_generic_bitmap@Base 1.37 - ext2fs_resize_generic_bmap@Base 1.42 - ext2fs_resize_inode_bitmap2@Base 1.42 ext2fs_resize_inode_bitmap@Base 1.37 ext2fs_resize_mem@Base 1.37 ext2fs_rewrite_to_io@Base 1.37 ext2fs_set_alloc_block_callback@Base 1.41.0 - ext2fs_set_bit64@Base 1.42 ext2fs_set_bit@Base 1.37 ext2fs_set_bitmap_padding@Base 1.37 ext2fs_set_block_alloc_stats_callback@Base 1.41.0 - ext2fs_set_block_bitmap_range2@Base 1.42 ext2fs_set_block_bitmap_range@Base 1.41.0 ext2fs_set_data_io@Base 1.37 - ext2fs_set_dir_block2@Base 1.42 ext2fs_set_dir_block@Base 1.37 ext2fs_set_gdt_csum@Base 1.41.0 ext2fs_set_generic_bitmap_padding@Base 1.41.0 ext2fs_set_generic_bitmap_range@Base 1.41.0 - ext2fs_set_generic_bmap_padding@Base 1.42 - ext2fs_set_generic_bmap_range@Base 1.42 - ext2fs_set_inode_bitmap_range2@Base 1.42 ext2fs_set_inode_bitmap_range@Base 1.41.0 ext2fs_set_inode_callback@Base 1.37 - ext2fs_set_rec_len@Base 1.41.7 - ext2fs_stat@Base 1.42 - ext2fs_super_and_bgd_loc2@Base 1.42 ext2fs_super_and_bgd_loc@Base 1.37 ext2fs_swab16@Base 1.37 ext2fs_swab32@Base 1.37 ext2fs_swab64@Base 1.40 - ext2fs_symlink@Base 1.42.7 +#MISSING: 1.41.0# ext2fs_swap_ext_attr@Base 1.37 +#MISSING: 1.41.0# ext2fs_swap_group_desc@Base 1.37 +#MISSING: 1.41.0# ext2fs_swap_inode@Base 1.37 +#MISSING: 1.41.0# ext2fs_swap_inode_full@Base 1.37 +#MISSING: 1.41.0# ext2fs_swap_super@Base 1.37 ext2fs_sync_device@Base 1.37 ext2fs_tdb_append@Base 1.40 ext2fs_tdb_chainlock@Base 1.40 @@ -472,19 +329,14 @@ libext2fs.so.2 e2fslibs #MINVER# ext2fs_tdb_unlockall_read@Base 1.40 ext2fs_tdb_validate_freelist@Base 1.40 ext2fs_test_bb_dirty@Base 1.37 - ext2fs_test_bit64@Base 1.42 ext2fs_test_bit@Base 1.37 - ext2fs_test_block_bitmap2@Base 1.42 ext2fs_test_block_bitmap@Base 1.37 - ext2fs_test_block_bitmap_range2@Base 1.42 ext2fs_test_block_bitmap_range@Base 1.37 + ext2fs_test_inode_bitmap_range@Base 1.41.8 ext2fs_test_changed@Base 1.37 ext2fs_test_generic_bitmap@Base 1.37 - ext2fs_test_generic_bmap@Base 1.42 ext2fs_test_ib_dirty@Base 1.37 - ext2fs_test_inode_bitmap2@Base 1.42 ext2fs_test_inode_bitmap@Base 1.37 - ext2fs_test_inode_bitmap_range@Base 1.41.8 ext2fs_test_valid@Base 1.37 ext2fs_u32_copy@Base 1.37 ext2fs_u32_list_add@Base 1.37 @@ -499,48 +351,37 @@ libext2fs.so.2 e2fslibs #MINVER# ext2fs_u32_list_iterate_end@Base 1.37 ext2fs_u32_list_test@Base 1.37 ext2fs_unlink@Base 1.37 - ext2fs_unmark_block_bitmap2@Base 1.42 ext2fs_unmark_block_bitmap@Base 1.37 - ext2fs_unmark_block_bitmap_range2@Base 1.42 ext2fs_unmark_block_bitmap_range@Base 1.37 ext2fs_unmark_generic_bitmap@Base 1.37 - ext2fs_unmark_generic_bmap@Base 1.42 - ext2fs_unmark_inode_bitmap2@Base 1.42 ext2fs_unmark_inode_bitmap@Base 1.37 ext2fs_unmark_valid@Base 1.37 ext2fs_update_bb_inode@Base 1.37 ext2fs_update_dynamic_rev@Base 1.37 ext2fs_warn_bitmap2@Base 1.37 - ext2fs_warn_bitmap32@Base 1.42 ext2fs_warn_bitmap@Base 1.37 ext2fs_write_bb_FILE@Base 1.37 ext2fs_write_bitmaps@Base 1.37 ext2fs_write_block_bitmap@Base 1.37 ext2fs_write_dir_block2@Base 1.37 - ext2fs_write_dir_block3@Base 1.42 ext2fs_write_dir_block@Base 1.37 - ext2fs_write_ext_attr2@Base 1.42 ext2fs_write_ext_attr@Base 1.37 ext2fs_write_ind_block@Base 1.37 ext2fs_write_inode@Base 1.37 ext2fs_write_inode_bitmap@Base 1.37 ext2fs_write_inode_full@Base 1.37 ext2fs_write_new_inode@Base 1.37 - ext2fs_zero_blocks2@Base 1.42 ext2fs_zero_blocks@Base 1.41.0 initialize_ext2_error_table@Base 1.37 initialize_ext2_error_table_r@Base 1.37 inode_io_manager@Base 1.37 - io_channel_alloc_buf@Base 1.42.3 - io_channel_discard@Base 1.42 io_channel_read_blk64@Base 1.41.1 io_channel_set_options@Base 1.37 io_channel_write_blk64@Base 1.41.1 io_channel_write_byte@Base 1.37 - qcow2_read_header@Base 1.42 - qcow2_write_raw_image@Base 1.42 set_undo_io_backing_manager@Base 1.41.0 set_undo_io_backup_file@Base 1.41.0 + tdb_null@Base 1.40 test_io_backing_manager@Base 1.37 test_io_cb_read_blk64@Base 1.41.0 test_io_cb_read_blk@Base 1.37 diff --git a/debian/e2fsprogs.copyright b/debian/e2fsprogs.copyright new file mode 100644 index 00000000..def0a6e4 --- /dev/null +++ b/debian/e2fsprogs.copyright @@ -0,0 +1,25 @@ +This is the Debian GNU/Linux prepackaged version of the EXT2 file +system utilities (e2fsck, mke2fs, etc.). The EXT2 utilities were +written by Theodore Ts'o and Remy Card . + +Sources were obtained from http://sourceforge.net/projects/e2fsprogs + +Packaging is Copyright (c) 2003-2007 Theodore Ts'o + Copyright (c) 1997-2003 Yann Dirson + Copyright (c) 2001 Alcove + Copyright (c) 1997 Klee Dienes + Copyright (c) 1995-1996 Michael Nonweiler + +Upstream Author: Theodore Ts'o + +Copyright notice: + +This package, the EXT2 filesystem utilities, is protected by the GNU +Public License. + + Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Theodore Ts'o + +On Debian GNU systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-2'. + diff --git a/debian/e2fsprogs.files b/debian/e2fsprogs.files index 37e54daa..f409a22a 100644 --- a/debian/e2fsprogs.files +++ b/debian/e2fsprogs.files @@ -1,6 +1,8 @@ +lib sbin usr/bin usr/sbin +usr/lib/e2initrd_helper usr/share/man usr/share/locale etc diff --git a/debian/e2fsprogs.preinst b/debian/e2fsprogs.preinst deleted file mode 100644 index bfa9f6b0..00000000 --- a/debian/e2fsprogs.preinst +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -# Abort on error. -set -e - -PKG=e2fsprogs -DOCLNK=/usr/share/doc/$PKG -if test "$1" = upgrade \ - -a -L $DOCLNK -then - rm $DOCLNK -fi - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/debian/e2fsprogs.shlibs.local.in b/debian/e2fsprogs.shlibs.local.in index db1b75a7..e858464a 100644 --- a/debian/e2fsprogs.shlibs.local.in +++ b/debian/e2fsprogs.shlibs.local.in @@ -1,4 +1,4 @@ -libcom_err 2 libcomerr2 (>= 1.42~WIP-2011-10-05-1) +libcom_err 2 libcomerr2 (>= 1.34-1) libss 2 libss2 (>= 1.34-1) ifdef(`UTIL_LINUX_NG',, ``libuuid 1 libuuid1 (>= 1.34-1) diff --git a/debian/libblkid-dev.files b/debian/libblkid-dev.files new file mode 100644 index 00000000..31ec0f01 --- /dev/null +++ b/debian/libblkid-dev.files @@ -0,0 +1,4 @@ +usr/lib/libblkid* +usr/include/blkid +usr/share/man/man3/libblkid.3 +usr/lib/pkgconfig/blkid.pc diff --git a/debian/libblkid-dev.files.in b/debian/libblkid-dev.files.in deleted file mode 100644 index 7b3da368..00000000 --- a/debian/libblkid-dev.files.in +++ /dev/null @@ -1,4 +0,0 @@ -usr/lib/*/libblkid*.so.* -usr/include/blkid -usr/share/man/man3/libblkid.3 -usr/lib/*/pkgconfig/blkid.pc diff --git a/debian/libblkid1.files b/debian/libblkid1.files new file mode 100644 index 00000000..d2f1ccc2 --- /dev/null +++ b/debian/libblkid1.files @@ -0,0 +1 @@ +lib/libblkid* diff --git a/debian/libblkid1.files.in b/debian/libblkid1.files.in deleted file mode 100644 index 54ef86de..00000000 --- a/debian/libblkid1.files.in +++ /dev/null @@ -1 +0,0 @@ -lib/*/libblkid*.so.* diff --git a/debian/libcomerr2.files b/debian/libcomerr2.files new file mode 100644 index 00000000..2600ae0f --- /dev/null +++ b/debian/libcomerr2.files @@ -0,0 +1,2 @@ +lib/libcom_err* + diff --git a/debian/libcomerr2.files.in b/debian/libcomerr2.files.in deleted file mode 100644 index 16b039ef..00000000 --- a/debian/libcomerr2.files.in +++ /dev/null @@ -1 +0,0 @@ -lib/*/libcom_err*.so.* diff --git a/debian/libcomerr2.symbols b/debian/libcomerr2.symbols index ce3b74a1..ea547503 100644 --- a/debian/libcomerr2.symbols +++ b/debian/libcomerr2.symbols @@ -17,5 +17,4 @@ libcom_err.so.2 libcomerr2 #MINVER# initialize_error_table_r@Base 1.34 remove_error_table@Base 1.34 reset_com_err_hook@Base 1.01 - set_com_err_gettext@Base 1.41.99 set_com_err_hook@Base 1.01 diff --git a/debian/libss2.files b/debian/libss2.files new file mode 100644 index 00000000..5f8175a2 --- /dev/null +++ b/debian/libss2.files @@ -0,0 +1 @@ +lib/libss* diff --git a/debian/libss2.files.in b/debian/libss2.files.in deleted file mode 100644 index 386e1854..00000000 --- a/debian/libss2.files.in +++ /dev/null @@ -1 +0,0 @@ -lib/*/libss*.so.* diff --git a/debian/libuuid1.files b/debian/libuuid1.files new file mode 100644 index 00000000..da600dc8 --- /dev/null +++ b/debian/libuuid1.files @@ -0,0 +1 @@ +lib/libuuid* diff --git a/debian/libuuid1.files.in b/debian/libuuid1.files.in deleted file mode 100644 index 0761f3b8..00000000 --- a/debian/libuuid1.files.in +++ /dev/null @@ -1 +0,0 @@ -lib/*/libuuid*.so.* diff --git a/debian/rules b/debian/rules index 245cf508..9fe59e63 100755 --- a/debian/rules +++ b/debian/rules @@ -7,153 +7,128 @@ # The `binary' target must be run as root, as it needs to install files with # specific ownerships. --include debian/rules.custom - # be paranoid -export LC_ALL ?= C - -# These are used for cross-compiling and for saving the configure script -# from having to guess our platform (since we know it already) -DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) -DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) -DEB_HOST_OS ?= $(shell dpkg-architecture -qDEB_HOST_OS) -DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null) +export LC_ALL=C # Allow distro-specific behaviour DISTRO :=$(shell sed -ne '/DISTRIB_ID/s/.*=//p' /etc/lsb-release 2>/dev/null || echo Debian) -SYS_BLKID_VER := $(shell dpkg-query -W libblkid1:$(DEB_HOST_ARCH) | cut -f 2 | cut -b 1) +SYS_BLKID_VER := $(shell dpkg-query -W libblkid1 | cut -f 2 | cut -b 1) ifeq ($(SYS_BLKID_VER),2) UTIL_LINUX_NG ?= yes endif +# These are used for cross-compiling and for saving the configure script +# from having to guess our platform (since we know it already) +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) +DEB_HOST_OS ?= $(shell dpkg-architecture -qDEB_HOST_OS) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + # find the version for the main package, from changelog file MAIN_VERSION = $(shell head -n 1 debian/changelog | cut '-d ' -f 2 | sed 's/[()]//g') # find versions for libraries going into their own packages, from their Makefile.in's, # and sonames for all libs -COMERR_VERSION ?= $(shell grep ELF_VERSION lib/et/Makefile.in | cut '-d ' -f3) -COMERR_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/et/Makefile.in | cut '-d ' -f3) -SS_VERSION ?= $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3) -SS_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/ss/Makefile.in | cut '-d ' -f3) +COMERR_VERSION = $(shell grep ELF_VERSION lib/et/Makefile.in | cut '-d ' -f3) +COMERR_SOVERSION = $(shell grep ELF_SO_VERSION lib/et/Makefile.in | cut '-d ' -f3) +SS_VERSION = $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3) +SS_SOVERSION = $(shell grep ELF_SO_VERSION lib/ss/Makefile.in | cut '-d ' -f3) ifneq ($(UTIL_LINUX_NG),yes) -UUID_VERSION ?= $(shell grep ELF_VERSION lib/uuid/Makefile.in | cut '-d ' -f3) -UUID_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/uuid/Makefile.in | cut '-d ' -f3) +UUID_VERSION = $(shell grep ELF_VERSION lib/uuid/Makefile.in | cut '-d ' -f3) +UUID_SOVERSION = $(shell grep ELF_SO_VERSION lib/uuid/Makefile.in | cut '-d ' -f3) -BLKID_VERSION ?= $(shell grep ELF_VERSION lib/blkid/Makefile.in | cut '-d ' -f3) -BLKID_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/blkid/Makefile.in | cut '-d ' -f3) +BLKID_VERSION = $(shell grep ELF_VERSION lib/blkid/Makefile.in | cut '-d ' -f3) +BLKID_SOVERSION = $(shell grep ELF_SO_VERSION lib/blkid/Makefile.in | cut '-d ' -f3) endif -EXT2FS_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/ext2fs/Makefile.in | cut '-d ' -f3) -E2P_SOVERSION ?= $(shell grep ELF_SO_VERSION lib/e2p/Makefile.in | cut '-d ' -f3) +EXT2FS_SOVERSION = $(shell grep ELF_SO_VERSION lib/ext2fs/Makefile.in | cut '-d ' -f3) +E2P_SOVERSION = $(shell grep ELF_SO_VERSION lib/e2p/Makefile.in | cut '-d ' -f3) -package ?= e2fsprogs +package=e2fsprogs -topdir ?= $(shell pwd) -debdir ?= ${topdir}/debian -tmpdir ?= ${debdir}/tmp -udebdir ?= ${debdir}/e2fsprogs-udeb +topdir=$(shell pwd) +debdir=${topdir}/debian +tmpdir=${debdir}/tmp +udebdir=${debdir}/e2fsprogs-udeb ifneq ($(UTIL_LINUX_NG),yes) -blkidudebdir ?= ${debdir}/libblkid1-udeb -uuidudebdir ?= ${debdir}/libuuid1-udeb -endif -libcomerrdir ?= ${debdir}/libcomerr${COMERR_SOVERSION} -comerrdevdir ?= ${debdir}/comerr-dev -libcomerrdbgdir ?= ${debdir}/libcomerr2-dbg -libssdir ?= ${debdir}/libss${SS_SOVERSION} -ssdevdir ?= ${debdir}/ss-dev -libssdbgdir ?= ${debdir}/libss2-dbg +blkidudebdir=${debdir}/libblkid1-udeb +uuidudebdir=${debdir}/libuuid1-udeb +endif +libcomerrdir=${debdir}/libcomerr${COMERR_SOVERSION} +comerrdevdir=${debdir}/comerr-dev +libcomerrdbgdir=${debdir}/libcomerr2-dbg +libssdir=${debdir}/libss${SS_SOVERSION} +ssdevdir=${debdir}/ss-dev +libssdbgdir=${debdir}/libss2-dbg ifneq ($(UTIL_LINUX_NG),yes) -libblkiddir ?= ${debdir}/libblkid${BLKID_SOVERSION} -libblkiddevdir ?= ${debdir}/libblkid-dev -libblkiddbgdir ?= ${debdir}/libblkid1-dbg -libuuiddir ?= ${debdir}/libuuid${UUID_SOVERSION} -uuiddevdir ?= ${debdir}/uuid-dev -libuuiddbgdir ?= ${debdir}/libuuid1-dbg -uuidruntimedir ?= ${debdir}/uuid-runtime -uuidruntimedbgdir ?= ${debdir}/uuid-runtime-dbg -endif -libext2dir ?= ${debdir}/e2fslibs -libext2devdir ?= ${debdir}/e2fslibs-dev -libext2dbgdir ?= ${debdir}/e2fslibs-dbg -maindir ?= ${debdir}/e2fsprogs -e2fsckstaticdir ?= ${debdir}/e2fsck-static -debugdir ?= ${debdir}/e2fsprogs-dbg -stdbuilddir ?= ${debdir}/BUILD-STD -staticbuilddir ?= ${debdir}/BUILD-STATIC -mipsbuilddir ?= ${debdir}/BUILD-MIPS -mipsbuilddir64 ?= ${debdir}/BUILD-MIPS-64 -# docdir ?= ${maindir}/usr/share/doc/${package} -MANDIR ?= /usr/share/man -mandir ?= ${tmpdir}${MANDIR} - -UDEB_NAME ?= $(package)-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb -UDEB_PRIORITY ?= $(shell grep '^Package: e2fsprogs-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2) +libblkiddir=${debdir}/libblkid${BLKID_SOVERSION} +libblkiddevdir=${debdir}/libblkid-dev +libblkiddbgdir=${debdir}/libblkid1-dbg +libuuiddir=${debdir}/libuuid${UUID_SOVERSION} +uuiddevdir=${debdir}/uuid-dev +libuuiddbgdir=${debdir}/libuuid1-dbg +uuidruntimedir=${debdir}/uuid-runtime +uuidruntimedbgdir=${debdir}/uuid-runtime-dbg +endif +libext2dir=${debdir}/e2fslibs +libext2devdir=${debdir}/e2fslibs-dev +libext2dbgdir=${debdir}/e2fslibs-dbg +maindir=${debdir}/e2fsprogs +e2fsckstaticdir=${debdir}/e2fsck-static +debugdir=${debdir}/e2fsprogs-dbg +stdbuilddir=${debdir}/BUILD-STD +bfbuilddir=${debdir}/BUILD-BF +staticbuilddir=${debdir}/BUILD-STATIC +mipsbuilddir=${debdir}/BUILD-MIPS +mipsbuilddir64=${debdir}/BUILD-MIPS-64 +# docdir=${maindir}/usr/share/doc/${package} +MANDIR=/usr/share/man +mandir=${tmpdir}${MANDIR} + +UDEB_NAME = $(package)-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb +UDEB_PRIORITY = $(shell grep '^Package: e2fsprogs-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2) ifneq ($(UTIL_LINUX_NG),yes) -BLKID_UDEB_NAME ?= libblkid1-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb -BLKID_UDEB_PRIORITY ?= $(shell grep '^Package: libblkid1-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2) +BLKID_UDEB_NAME = libblkid1-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb +BLKID_UDEB_PRIORITY = $(shell grep '^Package: libblkid1-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2) -UUID_UDEB_NAME ?= libuuid1-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb -UUID_UDEB_PRIORITY ?= $(shell grep '^Package: libuuid1-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2) +UUID_UDEB_NAME = libuuid1-udeb_$(MAIN_VERSION)_$(DEB_HOST_ARCH).udeb +UUID_UDEB_PRIORITY = $(shell grep '^Package: libuuid1-udeb' debian/control.in -A 10 | grep ^Priority: | cut -d ' ' -f 2) endif -STAMPSDIR ?= debian/stampdir -CFGSTDSTAMP ?= ${STAMPSDIR}/configure-std-stamp -CFGBFSTAMP ?= ${STAMPSDIR}/configure-bf-stamp -CFGSTATICSTAMP ?= ${STAMPSDIR}/configure-static-stamp -BUILDSTDSTAMP ?= ${STAMPSDIR}/build-std-stamp -BUILDBFSTAMP ?= ${STAMPSDIR}/build-bf-stamp -BUILDSTATICSTAMP ?=${STAMPSDIR}/build-static-stamp +STAMPSDIR=debian/stampdir +CFGSTDSTAMP=${STAMPSDIR}/configure-std-stamp +CFGBFSTAMP=${STAMPSDIR}/configure-bf-stamp +CFGSTATICSTAMP=${STAMPSDIR}/configure-static-stamp +BUILDSTDSTAMP=${STAMPSDIR}/build-std-stamp +BUILDBFSTAMP=${STAMPSDIR}/build-bf-stamp +BUILDSTATICSTAMP=${STAMPSDIR}/build-static-stamp -INSTALL ?= install -INSTALL_PROGRAM ?= $(INSTALL) -p -o root -g root -m 0755 +INSTALL = install +INSTALL_PROGRAM = $(INSTALL) -p -o root -g root -m 0755 #ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) #INSTALL_PROGRAM += -s #endif -DEFAULT_CFLAGS ?= -g -O2 -DEFAULT_LDFLAGS ?= -Wl,-Bsymbolic-functions - -CFLAGS ?= $(shell if dpkg-buildflags > /dev/null 2>&1 ; then \ - dpkg-buildflags --get CFLAGS; else echo $(DEFAULT_CFLAGS) ; fi) -LDFLAGS ?= $(shell if dpkg-buildflags > /dev/null 2>&1 ; then \ - dpkg-buildflags --get LDFLAGS; else echo $(DEFAULT_LDFLAGS) ; fi) -CPPFLAGS ?= $(shell if dpkg-buildflags > /dev/null 2>&1 ; then \ - dpkg-buildflags --get CPPFLAGS; fi) - ifeq (${DEB_HOST_ARCH},alpha) CFLAGS += -DHAVE_NETINET_IN_H else CFLAGS += -D__NO_STRING_INLINES endif -ifneq (${DEB_HOST_ARCH_OS},linux) -SKIP_STATIC = yes -endif - -ifeq ($(SKIP_STATIC),yes) -BUILD_STATIC = -E2FSCK_STATIC = ${stdbuilddir}/e2fsck/e2fsck.static -else +ifeq (${DEB_HOST_ARCH_OS},linux) BUILD_STATIC = build-static E2FSCK_STATIC = ${staticbuilddir}/e2fsck/e2fsck.static -endif - -ifeq ($(SKIP_BF),yes) -BUILD_BF = -bfbuilddir ?= ${stdbuilddir} else -BUILD_BF = build-bf -bfbuilddir ?= ${debdir}/BUILD-BF +E2FSCK_STATIC = ${stdbuilddir}/e2fsck/e2fsck.static endif BF_CFLAGS = -Os -fomit-frame-pointer -COMMON_CONF_FLAGS = --disable-e2initrd-helper --enable-elf-shlibs \ - --enable-quota --infodir=/usr/share/info +COMMON_CONF_FLAGS = \ + --enable-elf-shlibs --infodir=/usr/share/info ifeq ($(UTIL_LINUX_NG),yes) COMMON_CONF_FLAGS += --disable-fsck --disable-libblkid \ --disable-libuuid --disable-uuidd @@ -161,33 +136,23 @@ else COMMON_CONF_FLAGS += --enable-fsck endif -ifneq ($(strip $(DEB_HOST_MULTIARCH)),) -MULTIARCH_CONF ?= --with-multiarch=$(DEB_HOST_MULTIARCH) -# This doesn't work yet because gdb and lintian don't expect and/or -# don't work with /usr/lib//debug -#USRLIB = /usr/lib/$(DEB_HOST_MULTIARCH) -USRLIB ?= /usr/lib -else -USRLIB ?= /usr/lib -endif - -BACKTRACE_CONF_FLAGS ?= $(shell if ${debdir}/scripts/test-backtrace ; then echo --disable-backtrace ; fi) - -STD_CONF_FLAGS ?= --enable-symlink-install $(MULTIARCH_CONF) $(BACKTRACE_CONF_FLAGS) +STD_CONF_FLAGS = --enable-compression -BF_CONF_FLAGS ?= --disable-nls --disable-imager --disable-testio-debug \ - --disable-uuidd --disable-tls --disable-debugfs +BF_CONF_FLAGS = --disable-nls --disable-imager --disable-testio-debug \ + --disable-uuidd --disable-tls \ + --disable-debugfs --disable-e2initrd-helper -STATIC_CONF_FLAGS ?= --disable-nls --disable-imager \ - --disable-uuidd --disable-tls +STATIC_CONF_FLAGS = --disable-nls --disable-imager \ + --disable-uuidd --disable-tls \ + --disable-e2initrd-helper -MIPS_NOPIC_CONF_FLAGS ?= --disable-nls --disable-imager \ +MIPS_NOPIC_CONF_FLAGS = --disable-nls --disable-imager \ --disable-uuidd --disable-tls \ --disable-resizer # --disable-debugfs # we can't use those flags at configure time -MIPS_CFLAGS ?= -G 0 -fno-pic -mno-abicalls -MIPS_CFLAGS_64 ?= -mabi=64 -G 0 -fno-pic -mno-abicalls +MIPS_CFLAGS= -G 0 -fno-pic -mno-abicalls +MIPS_CFLAGS_64= -mabi=64 -G 0 -fno-pic -mno-abicalls ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) ifneq (,$(findstring $(DEB_BUILD_ARCH),mips mipsel)) @@ -202,44 +167,13 @@ else M4_ARGS+=-UUTIL_LINUX_NG endif -ifneq ($(strip $(DEB_HOST_MULTIARCH)),) -M4_ARGS+=-DDO_MULTIARCH -else -M4_ARGS+=-UDO_MULTIARCH -endif - -ifneq ($(SKIP_DIETLIBC),) -M4_ARGS+=-UDIETLIBC -WITH_DIET_LIBC = -else -M4_ARGS+=-DDIETLIBC -WITH_DIET_LIBC = --with-diet-libc -endif - -ifneq ($(BUILD_E2FSCK_STATIC),no) -M4_ARGS+=-DE2FSCK_STATIC -else -M4_ARGS+=-UE2FSCK_STATIC -endif - -FILES_FIXUP= libcomerr2.files comerr-dev.files libss2.files ss-dev.files \ - libuuid1.files uuid-dev.files libblkid1.files libblkid-dev.files \ - e2fslibs.files e2fslibs-dev.files - debian-files: debian/control debian/e2fsprogs.shlibs.local -ifeq ($(strip $(DEB_HOST_MULTIARCH)),) - for i in $(FILES_FIXUP); do \ - sed -e 's;lib/\*/;lib/;' debian/$$i.in > debian/$$i; \ - done -else - for i in $(FILES_FIXUP); do cp debian/$$i.in debian/$$i; done -endif mrproper: clean rm debian/control debian/e2fsprogs.shlibs.local debian/control: debian/control.in debian/rules - m4 $(M4_ARGS) < debian/control.in | grep -v ^REMOVE_ME$$ > $@ + m4 $(M4_ARGS) < debian/control.in > $@ debian/e2fsprogs.shlibs.local: debian/e2fsprogs.shlibs.local.in m4 $(M4_ARGS) < debian/e2fsprogs.shlibs.local.in > $@ @@ -253,24 +187,22 @@ ${CFGSTDSTAMP}: mkdir -p ${stdbuilddir} ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) cd ${stdbuilddir} && AWK=/usr/bin/awk \ - ${topdir}/configure ${COMMON_CONF_FLAGS} ${STD_CONF_FLAGS} ${EXTRA_CONF_FLAGS} \ - CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" + ${topdir}/configure ${COMMON_CONF_FLAGS} ${STD_CONF_FLAGS} \ + CFLAGS="${CFLAGS}" else cd ${stdbuilddir} && AWK=/usr/bin/awk CC="${DEB_HOST_GNU_TYPE}-gcc" \ - ${topdir}/configure ${COMMON_CONF_FLAGS} ${STD_CONF_FLAGS} ${EXTRA_CONF_FLAGS} \ + ${topdir}/configure ${COMMON_CONF_FLAGS} ${STD_CONF_FLAGS} \ --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \ - CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" + CFLAGS="${CFLAGS}" endif # specially-built MIPS libs ifneq ($(ismips),) mkdir -p ${mipsbuilddir} ${mipsbuilddir64} cd ${mipsbuilddir} && AWK=/usr/bin/awk \ - ${topdir}/configure ${MIPS_NOPIC_CONF_FLAGS} \ - CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" + ${topdir}/configure ${MIPS_NOPIC_CONF_FLAGS} CFLAGS="${CFLAGS}" cd ${mipsbuilddir64} && AWK=/usr/bin/awk \ - ${topdir}/configure ${MIPS_NOPIC_CONF_FLAGS} \ - CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" + ${topdir}/configure ${MIPS_NOPIC_CONF_FLAGS} CFLAGS="${CFLAGS}" endif mkdir -p ${STAMPSDIR} @@ -283,13 +215,13 @@ ${CFGBFSTAMP}: mkdir -p ${bfbuilddir} ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) cd ${bfbuilddir} && AWK=/usr/bin/awk \ - ${topdir}/configure ${COMMON_CONF_FLAGS} ${BF_CONF_FLAGS} ${EXTRA_CONF_FLAGS} \ - CFLAGS="${CFLAGS} ${BF_CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" + ${topdir}/configure ${COMMON_CONF_FLAGS} ${BF_CONF_FLAGS} \ + CFLAGS="${CFLAGS} ${BF_CFLAGS}" else cd ${bfbuilddir} && AWK=/usr/bin/awk CC="${DEB_HOST_GNU_TYPE}-gcc" \ - ${topdir}/configure ${COMMON_CONF_FLAGS} ${BF_CONF_FLAGS} ${EXTRA_CONF_FLAGS} \ + ${topdir}/configure ${COMMON_CONF_FLAGS} ${BF_CONF_FLAGS} \ --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \ - CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" + CFLAGS="${CFLAGS}" endif mkdir -p ${STAMPSDIR} touch ${CFGBFSTAMP} @@ -302,48 +234,41 @@ ${CFGSTATICSTAMP}: ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) if type diet > /dev/null 2>&1 ; then \ cd ${staticbuilddir} && AWK=/usr/bin/awk \ - ${topdir}/configure ${STATIC_CONF_FLAGS} ${EXTRA_CONF_FLAGS} \ - ${WITH_DIET_LIBC} CFLAGS="${CFLAGS}" \ - CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)"; \ + ${topdir}/configure ${STATIC_CONF_FLAGS} \ + --with-diet-libc CFLAGS="${CFLAGS}"; \ else \ cd ${staticbuilddir} && AWK=/usr/bin/awk \ - ${topdir}/configure ${STATIC_CONF_FLAGS} ${EXTRA_CONF_FLAGS} \ - CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" \ - LDFLAGS="$(LDFLAGS)"; \ + ${topdir}/configure ${STATIC_CONF_FLAGS} \ + CFLAGS="${CFLAGS}"; \ fi else cd ${staticbuilddir} && AWK=/usr/bin/awk CC="${DEB_HOST_GNU_TYPE}-gcc" \ - ${topdir}/configure ${COMMON_CONF_FLAGS} ${STATIC_CONF_FLAGS} ${EXTRA_CONF_FLAGS} \ + ${topdir}/configure ${COMMON_CONF_FLAGS} ${STATIC_CONF_FLAGS} \ --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \ - CFLAGS="${CFLAGS}" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" + CFLAGS="${CFLAGS}" endif mkdir -p ${STAMPSDIR} touch ${CFGSTATICSTAMP} -build-arch: build -build-indep: build -build: build-std $(BUILD_BF) $(BUILD_STATIC) +build: build-std build-bf $(BUILD_STATIC) build-std: ${BUILDSTDSTAMP} ${BUILDSTDSTAMP}: ${CFGSTDSTAMP} dh_testdir - $(MAKE) -C ${stdbuilddir} V=1 all -ifneq ($(BUILD_E2FSCK_STATIC),no) - $(MAKE) -C ${stdbuilddir}/e2fsck V=1 e2fsck.static -endif - $(MAKE) -C ${stdbuilddir}/po V=1 update-gmo + $(MAKE) -C ${stdbuilddir} all + $(MAKE) -C ${stdbuilddir}/e2fsck e2fsck.static - ( cd ${stdbuilddir}/doc && $(MAKE) V=1 libext2fs.html ) - ( cd ${stdbuilddir}/lib/et && $(MAKE) V=1 com_err.info com_err.html ) + ( cd ${stdbuilddir}/doc && $(MAKE) libext2fs_abt.html ) + ( cd ${stdbuilddir}/lib/et && $(MAKE) com_err.info com_err_abt.html ) # specially-built MIPS libs ifneq ($(ismips),) - $(MAKE) -C ${mipsbuilddir}/util V=1 - $(MAKE) -C ${mipsbuilddir} V=1 \ + $(MAKE) -C ${mipsbuilddir}/util + $(MAKE) -C ${mipsbuilddir} \ CFLAGS="${CFLAGS} ${MIPS_CFLAGS}" \ LIB_SUBDIRS="lib/et lib/ext2fs" libs - $(MAKE) -C ${mipsbuilddir64}/util V=1 - $(MAKE) -C ${mipsbuilddir64} V=1 \ + $(MAKE) -C ${mipsbuilddir64}/util + $(MAKE) -C ${mipsbuilddir64} \ CFLAGS="${CFLAGS} ${MIPS_CFLAGS_64}" \ LIB_SUBDIRS="lib/et lib/ext2fs" libs endif @@ -353,27 +278,24 @@ endif build-bf: ${BUILDBFSTAMP} ${BUILDBFSTAMP}: ${CFGBFSTAMP} dh_testdir - $(MAKE) -C ${bfbuilddir} V=1 libs - $(MAKE) -C ${bfbuilddir}/e2fsck V=1 all - $(MAKE) -C ${bfbuilddir}/misc V=1 all - $(MAKE) -C ${bfbuilddir}/resize V=1 all + $(MAKE) -C ${bfbuilddir} libs + $(MAKE) -C ${bfbuilddir}/e2fsck all + $(MAKE) -C ${bfbuilddir}/misc all touch ${BUILDBFSTAMP} build-static: ${BUILDSTATICSTAMP} ${BUILDSTATICSTAMP}: ${CFGSTATICSTAMP} dh_testdir - $(MAKE) -C ${staticbuilddir} V=1 libs -ifneq ($(BUILD_E2FSCK_STATIC),no) - $(MAKE) -C ${staticbuilddir}/e2fsck V=1 all e2fsck.static -endif + $(MAKE) -C ${staticbuilddir} libs + $(MAKE) -C ${staticbuilddir}/e2fsck all e2fsck.static touch ${BUILDSTATICSTAMP} clean: dh_testdir rm -rf ${STAMPSDIR} - [ ! -f ${stdbuilddir}/Makefile ] || $(MAKE) -C ${stdbuilddir} V=1 distclean - [ ! -f ${bfbuilddir}/Makefile ] || $(MAKE) -C ${bfbuilddir} V=1 distclean - [ ! -f ${staticbuilddir}/Makefile ] || $(MAKE) -C ${staticbuilddir} V=1 distclean + [ ! -f ${stdbuilddir}/Makefile ] || $(MAKE) -C ${stdbuilddir} distclean + [ ! -f ${bfbuilddir}/Makefile ] || $(MAKE) -C ${bfbuilddir} distclean + [ ! -f ${staticbuilddir}/Makefile ] || $(MAKE) -C ${staticbuilddir} distclean rm -rf ${stdbuilddir} ${bfbuilddir} ${staticbuilddir} ${mipsbuilddir} ${mipsbuilddir64} rm -f debian/*.substvars dh_clean @@ -395,24 +317,16 @@ install-std: build dh_installdirs mkdir -p ${tmpdir}/sbin - $(MAKE) -C ${stdbuilddir} V=1 install DESTDIR=${tmpdir} \ + $(MAKE) -C ${stdbuilddir} install DESTDIR=${tmpdir} \ INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true # static libs and .h files - $(MAKE) -C ${stdbuilddir} V=1 install-libs DESTDIR=${tmpdir} LDCONFIG=true + $(MAKE) -C ${stdbuilddir} install-libs DESTDIR=${tmpdir} LDCONFIG=true -ifneq ($(BUILD_E2FSCK_STATIC),no) # statically-linked fsck ${INSTALL_PROGRAM} $(E2FSCK_STATIC) ${tmpdir}/sbin cp ${mandir}/man8/e2fsck.8 ${mandir}/man8/e2fsck.static.8 -endif - - # remove static quota library for now - rm ${tmpdir}/usr/include/quota/mkquota.h - find ${tmpdir} -name quota.pc -o -name libquota.a | xargs rm -ifeq ($(DEB_BUILD_GNU_SYSTEM), gnu) - ${INSTALL} -m 0644 misc/mke2fs-hurd.conf ${tmpdir}/etc/mke2fs.conf -endif + ln -s et/com_err.h ${tmpdir}/usr/include dh_movefiles test -z "`find ${tmpdir} -type f`" @@ -430,13 +344,13 @@ install-udeb: build dh_testdir dh_testroot - $(MAKE) -C ${bfbuilddir} V=1 install-shlibs-libs-recursive DESTDIR=${udebdir} \ + $(MAKE) -C ${bfbuilddir} install-shlibs-libs-recursive DESTDIR=${udebdir} \ INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true - $(MAKE) -C ${bfbuilddir}/e2fsck V=1 install DESTDIR=${udebdir} \ + $(MAKE) -C ${bfbuilddir}/e2fsck install DESTDIR=${udebdir} \ INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true - $(MAKE) -C ${bfbuilddir}/misc V=1 install DESTDIR=${udebdir} \ + $(MAKE) -C ${bfbuilddir}/misc install DESTDIR=${udebdir} \ INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true - $(MAKE) -C ${bfbuilddir}/resize V=1 install DESTDIR=${udebdir} \ + $(MAKE) -C ${bfbuilddir}/resize install DESTDIR=${udebdir} \ INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true rm -rf ${udebdir}/usr @@ -444,10 +358,10 @@ install-udeb: build -a ! -name mke2fs -a ! -name tune2fs \ -a ! -name resize2fs -a ! -name badblocks -print | xargs rm - (cd ${udebdir}/sbin; ln -sf e2fsck fsck.ext2 ; \ - ln -sf e2fsck fsck.ext3 ; ln -sf e2fsck fsck.ext4 ; \ - ln -sf mke2fs mkfs.ext2 ; ln -sf mke2fs mkfs.ext3 ; \ - ln -sf mke2fs mkfs.ext4) + (cd ${udebdir}/sbin; ln -s e2fsck fsck.ext2 ; \ + ln -s e2fsck fsck.ext3 ; ln -s e2fsck fsck.ext4 ; \ + ln -s mke2fs mkfs.ext2 ; ln -s mke2fs mkfs.ext3 ; \ + ln -s mke2fs mkfs.ext4) ifneq ($(UTIL_LINUX_NG),yes) mkdir -p ${blkidudebdir}/lib @@ -468,9 +382,7 @@ binary-arch: install install-udeb # lintian overrides for i in $$(cd debian && echo *.lintian-overrides); do \ pkg=$${i%.lintian-overrides} ;\ - if test "$${pkg}" != source ; then \ - $(INSTALL) -m 0644 -D -p debian/$$i ${debdir}/$${pkg}/usr/share/lintian/overrides/$${pkg} ;\ - fi ;\ + $(INSTALL) -m 0644 -D -p debian/$$i ${debdir}/$${pkg}/usr/share/lintian/overrides/$${pkg} ;\ done # symlinks to prepare dh_installdocs run @@ -535,12 +447,9 @@ endif DH_OPTIONS= dh_installchangelogs -pe2fsprogs \ -plibcomerr${COMERR_SOVERSION} \ -plibss${SS_SOVERSION} \ - -pe2fslibs \ + -pe2fslibs -pe2fsck-static \ -pe2fsprogs-dbg -pe2fslibs-dbg \ -plibcomerr2-dbg -plibss2-dbg -ifneq ($(BUILD_E2FSCK_STATIC),no) - DH_OPTIONS= dh_installchangelogs -pe2fsck-static -endif ifneq ($(UTIL_LINUX_NG),yes) DH_OPTIONS= dh_installchangelogs -plibuuid${UUID_SOVERSION} \ -puuid-dev -puuid-runtime -puuid-runtime-dbg -plibuuid1-dbg \ @@ -561,44 +470,39 @@ ifneq ($(UTIL_LINUX_NG),yes) rm -rf ${uuidudebdir}/usr endif -ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) - mkdir -p ${debugdir}/$(USRLIB) - mv ${maindir}/usr/lib/debug ${debugdir}/$(USRLIB) + mkdir -p ${debugdir}/usr/lib + mv ${maindir}/usr/lib/debug ${debugdir}/usr/lib rm -rf ${maindir}/usr/lib/debug - -ifneq ($(BUILD_E2FSCK_STATIC),no) mv ${e2fsckstaticdir}/usr/lib/debug/sbin/* \ - ${debugdir}/$(USRLIB)/debug + ${debugdir}/usr/lib/debug rm -rf ${e2fsckstaticdir}/usr/lib -endif ifneq ($(UTIL_LINUX_NG),yes) - mkdir -p ${uuidruntimedbgdir}/$(USRLIB) - mv ${uuidruntimedir}/usr/lib/debug ${uuidruntimedbgdir}/$(USRLIB) + mkdir -p ${uuidruntimedbgdir}/usr/lib + mv ${uuidruntimedir}/usr/lib/debug ${uuidruntimedbgdir}/usr/lib rmdir ${uuidruntimedir}/usr/lib endif - mkdir -p ${libext2dbgdir}/$(USRLIB) - mv ${libext2dir}/usr/lib/debug ${libext2dbgdir}/$(USRLIB) + mkdir -p ${libext2dbgdir}/usr/lib + mv ${libext2dir}/usr/lib/debug ${libext2dbgdir}/usr/lib rmdir ${libext2dir}/usr/lib - mkdir -p ${libcomerrdbgdir}/$(USRLIB) - mv ${libcomerrdir}/usr/lib/debug ${libcomerrdbgdir}/$(USRLIB) + mkdir -p ${libcomerrdbgdir}/usr/lib + mv ${libcomerrdir}/usr/lib/debug ${libcomerrdbgdir}/usr/lib rmdir ${libcomerrdir}/usr/lib - mkdir -p ${libssdbgdir}/$(USRLIB) - mv ${libssdir}/usr/lib/debug ${libssdbgdir}/$(USRLIB) + mkdir -p ${libssdbgdir}/usr/lib + mv ${libssdir}/usr/lib/debug ${libssdbgdir}/usr/lib rmdir ${libssdir}/usr/lib ifneq ($(UTIL_LINUX_NG),yes) - mkdir -p ${libuuiddbgdir}/$(USRLIB) - mv ${libuuiddir}/usr/lib/debug ${libuuiddbgdir}/$(USRLIB) + mkdir -p ${libuuiddbgdir}/usr/lib + mv ${libuuiddir}/usr/lib/debug ${libuuiddbgdir}/usr/lib rmdir ${libuuiddir}/usr/lib - mkdir -p ${libblkiddbgdir}/$(USRLIB) - mv ${libblkiddir}/usr/lib/debug ${libblkiddbgdir}/$(USRLIB) + mkdir -p ${libblkiddbgdir}/usr/lib + mv ${libblkiddir}/usr/lib/debug ${libblkiddbgdir}/usr/lib rmdir ${libblkiddir}/usr/lib -endif endif # dpkg symbol handling @@ -617,16 +521,17 @@ endif done endif - for i in e2fsprogs e2fsprogs-dbg e2fslibs e2fslibs-dbg; do \ - $(INSTALL) -p -m 0644 debian/copyright \ - ${debdir}/$$i/usr/share/doc/$$i/copyright; \ - done + $(INSTALL) -p -m 0644 debian/e2fsprogs.copyright \ + ${debugdir}/usr/share/doc/e2fsprogs-dbg/copyright ifneq ($(UTIL_LINUX_NG),yes) $(INSTALL) -p -m 0644 debian/uuid-runtime.copyright \ ${uuidruntimedbgdir}/usr/share/doc/uuid-runtime-dbg/copyright endif + $(INSTALL) -p -m 0644 debian/e2fslibs.copyright \ + ${libext2dbgdir}/usr/share/doc/e2fslibs-dbg/copyright + $(INSTALL) -p -m 0644 debian/libcomerr2.copyright \ ${libcomerrdbgdir}/usr/share/doc/libcomerr2-dbg/copyright @@ -644,7 +549,7 @@ endif dh_compress dh_makeshlibs -Ne2fsprogs-udeb -Nlibblkid1-udeb -Nlibuuid1-udeb - dh_makeshlibs --add-udeb=e2fsprogs-udeb -plibcomerr${COMERR_SOVERSION} \ + dh_makeshlibs -plibcomerr${COMERR_SOVERSION} \ -V 'libcomerr2 (>= 1.33-3)' ifneq ($(UTIL_LINUX_NG),yes) dh_makeshlibs -plibblkid${BLKID_SOVERSION} -V 'libblkid1 (>= 1.39-1)' @@ -691,10 +596,4 @@ endif binary: binary-indep binary-arch -.PHONY: binary binary-arch binary-indep clean checkroot mrproper \ - debug_flags debian-files - -debug_flags: - @echo CFLAGS is $(CFLAGS) - @echo LDFLAGS is $(LDFLAGS) - @echo CPPFLAGS is $(CPPFLAGS) +.PHONY: binary binary-arch binary-indep clean checkroot mrproper debian-files diff --git a/debian/scripts/test-backtrace b/debian/scripts/test-backtrace deleted file mode 100755 index d90486a0..00000000 --- a/debian/scripts/test-backtrace +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# -# Test to see if backtrace requires a library in /usr/lib -# Returns true if the backtrace command works and requires a library in /usr/lib -# This is a nasty workaround for Debian bug #708307, which is really a glibc bug -# - -cat > /tmp/backtrace$$.c << EOF - -#include - -int main(int argc, char **argv) -{ - void *stack_syms[32]; - int frames; - - frames = backtrace(stack_syms, 32); - backtrace_symbols_fd(stack_syms, frames, 0); -} -EOF - -if ! cc -o /tmp/backtrace$$ /tmp/backtrace$$.c; then - exit 1 -fi - -if ! ldd /tmp/backtrace$$ > /tmp/backtrace$$.ldd 2>&1 ; then - exit 1 -fi - -grep -q /usr/lib /tmp/backtrace$$.ldd -ret=$? - -/bin/rm -f /tmp/backtrace$$* -exit $ret diff --git a/debian/source/format b/debian/source/format deleted file mode 100644 index 163aaf8d..00000000 --- a/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (quilt) diff --git a/debian/ss-dev.files b/debian/ss-dev.files new file mode 100644 index 00000000..fa15221f --- /dev/null +++ b/debian/ss-dev.files @@ -0,0 +1,7 @@ +usr/lib/libss.so +usr/lib/libss.a +usr/include/ss/* +usr/bin/mk_cmds +usr/share/ss/* +usr/share/man/man1/mk_cmds* +usr/lib/pkgconfig/ss.pc diff --git a/debian/ss-dev.files.in b/debian/ss-dev.files.in deleted file mode 100644 index d0c788ee..00000000 --- a/debian/ss-dev.files.in +++ /dev/null @@ -1,7 +0,0 @@ -usr/lib/*/libss.so -usr/lib/*/libss.a -usr/include/ss/* -usr/bin/mk_cmds -usr/share/ss/* -usr/share/man/man1/mk_cmds* -usr/lib/*/pkgconfig/ss.pc diff --git a/debian/uuid-dev.files b/debian/uuid-dev.files new file mode 100644 index 00000000..44b5163d --- /dev/null +++ b/debian/uuid-dev.files @@ -0,0 +1,5 @@ +usr/lib/libuuid.so +usr/lib/libuuid.a +usr/include/uuid/* +usr/share/man/man3/uuid* +usr/lib/pkgconfig/uuid.pc diff --git a/debian/uuid-dev.files.in b/debian/uuid-dev.files.in deleted file mode 100644 index 534b92c1..00000000 --- a/debian/uuid-dev.files.in +++ /dev/null @@ -1,5 +0,0 @@ -usr/lib/*/libuuid.so -usr/lib/*/libuuid.a -usr/include/uuid/* -usr/share/man/man3/uuid* -usr/lib/*/pkgconfig/uuid.pc diff --git a/debugfs/Makefile.in b/debugfs/Makefile.in index bf037e02..e314b910 100644 --- a/debugfs/Makefile.in +++ b/debugfs/Makefile.in @@ -17,34 +17,21 @@ MANPAGES= debugfs.8 MK_CMDS= _SS_DIR_OVERRIDE=../lib/ss ../lib/ss/mk_cmds DEBUG_OBJS= debug_cmds.o debugfs.o util.o ncheck.o icheck.o ls.o \ - lsdel.o dump.o set_fields.o logdump.o htree.o unused.o e2freefrag.o \ - filefrag.o extent_cmds.o extent_inode.o zap.o - -RO_DEBUG_OBJS= ro_debug_cmds.o ro_debugfs.o util.o ncheck.o icheck.o ls.o \ - lsdel.o logdump.o htree.o e2freefrag.o filefrag.o extent_cmds.o \ - extent_inode.o + lsdel.o dump.o set_fields.o logdump.o htree.o unused.o SRCS= debug_cmds.c $(srcdir)/debugfs.c $(srcdir)/util.c $(srcdir)/ls.c \ $(srcdir)/ncheck.c $(srcdir)/icheck.c $(srcdir)/lsdel.c \ $(srcdir)/dump.c $(srcdir)/set_fields.c ${srcdir}/logdump.c \ - $(srcdir)/htree.c $(srcdir)/unused.c ${srcdir}/../misc/e2freefrag.c \ - $(srcdir)/filefrag.c $(srcdir)/extent_inode.c $(srcdir)/zap.c + $(srcdir)/htree.c $(srcdir)/unused.c LIBS= $(LIBEXT2FS) $(LIBE2P) $(LIBSS) $(LIBCOM_ERR) $(LIBBLKID) \ $(LIBUUID) DEPLIBS= $(LIBEXT2FS) $(LIBE2P) $(DEPLIBSS) $(DEPLIBCOM_ERR) \ $(DEPLIBBLKID) $(DEPLIBUUID) -STATIC_LIBS= $(STATIC_LIBEXT2FS) $(STATIC_LIBSS) $(STATIC_LIBCOM_ERR) \ - $(STATIC_LIBBLKID) $(STATIC_LIBUUID) $(STATIC_LIBE2P) -STATIC_DEPLIBS= $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBSS) \ - $(DEPSTATIC_LIBCOM_ERR) $(DEPSTATIC_LIBUUID) \ - $(DEPSTATIC_LIBE2P) - .c.o: $(E) " CC $<" $(Q) $(CC) -c $(ALL_CFLAGS) $< -o $@ - $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< all:: $(PROGS) $(MANPAGES) @@ -52,35 +39,10 @@ debugfs: $(DEBUG_OBJS) $(DEPLIBS) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -o debugfs $(DEBUG_OBJS) $(LIBS) -debugfs.static: $(DEBUG_OBJS) $(STATIC_DEPLIBS) - $(E) " LD $@" - $(Q) $(CC) $(LDFLAGS_STATIC) -o debugfs.static $(DEBUG_OBJS) \ - $(STATIC_LIBS) $(READLINE_LIB) - -rdebugfs: $(RO_DEBUG_OBJS) $(DEPLIBS) - $(E) " LD $@" - $(Q) $(CC) $(ALL_LDFLAGS) -o rdebugfs $(RO_DEBUG_OBJS) $(LIBS) - debug_cmds.c debug_cmds.h: debug_cmds.ct $(E) " MK_CMDS $@" $(Q) $(MK_CMDS) $(srcdir)/debug_cmds.ct -extent_cmds.c extent_cmds.h: extent_cmds.ct - $(E) " MK_CMDS $@" - $(Q) $(MK_CMDS) $(srcdir)/extent_cmds.ct - -ro_debug_cmds.c ro_debug_cmds.h: ro_debug_cmds.ct - $(E) " MK_CMDS $@" - $(Q) $(MK_CMDS) $(srcdir)/ro_debug_cmds.ct - -ro_debugfs.o: debugfs.c - $(E) " CC $@" - $(Q) $(CC) -c $(ALL_CFLAGS) $< -DREAD_ONLY -o $@ - -e2freefrag.o: $(srcdir)/../misc/e2freefrag.c - $(E) " CC $@" - $(Q) $(CC) -c $(ALL_CFLAGS) -I$(srcdir) $< -DDEBUGFS -o $@ - debugfs.8: $(DEP_SUBSTITUTE) $(srcdir)/debugfs.8.in $(E) " SUBST $@" $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/debugfs.8.in debugfs.8 @@ -118,8 +80,7 @@ uninstall: done clean: - $(RM) -f $(PROGS) debugfs.8 \#* *.s *.o *.a *~ debug_cmds.c \ - extent_cmds.c ro_debug_cmds.c core rdebugfs debugfs.static + $(RM) -f debugfs debugfs.8 \#* *.s *.o *.a *~ debug_cmds.c core mostlyclean: clean distclean: clean diff --git a/debugfs/debug_cmds.ct b/debugfs/debug_cmds.ct index 96ff00f0..95dea0df 100644 --- a/debugfs/debug_cmds.ct +++ b/debugfs/debug_cmds.ct @@ -13,9 +13,6 @@ request do_open_filesys, "Open a filesystem", request do_close_filesys, "Close the filesystem", close_filesys, close; -request do_freefrag, "Report free space fragmentation", - freefrag, e2freefrag; - request do_features, "Set/print superblock features", feature, features; @@ -49,12 +46,6 @@ request do_stat, "Show inode information ", request do_dump_extents, "Dump extents information ", dump_extents, extents, ex; -request do_blocks, "Dump blocks used by an inode ", - blocks; - -request do_filefrag, "Report fragmentation information for an inode", - filefrag; - request do_link, "Create directory link", link, ln; @@ -157,38 +148,17 @@ request do_dirsearch, "Search a directory for a particular filename", request do_bmap, "Calculate the logical->physical block mapping for an inode", bmap; -request do_punch, "Punch (or truncate) blocks from an inode by deallocating them", - punch, truncate; - -request do_symlink, "Create a symbolic link", - symlink; - request do_imap, "Calculate the location of an inode", imap; request do_dump_unused, "Dump unused blocks", dump_unused; -request do_set_current_time, "Set current time to use when setting filesystem fields", +request do_set_current_time, "Set current time to use when setting filesystme fields", set_current_time; request do_supported_features, "Print features supported by this version of e2fsprogs", supported_features; -request do_dump_mmp, "Dump MMP information", - dump_mmp; - -request do_set_mmp_value, "Set MMP value", - set_mmp_value, smmp; - -request do_extent_open, "Open inode for extent manipulation", - extent_open, eo; - -request do_zap_block, "Zap block: fill with 0, pattern, flip bits etc.", - zap_block, zap; - -request do_block_dump, "Dump contents of a block", - block_dump, bd; - end; diff --git a/debugfs/debugfs.8.in b/debugfs/debugfs.8.in index 73254d31..b4886850 100644 --- a/debugfs/debugfs.8.in +++ b/debugfs/debugfs.8.in @@ -1,7 +1,7 @@ .\" -*- nroff -*- .\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved. .\" This file may be copied under the terms of the GNU Public License. -.\" +.\" .TH DEBUGFS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@" .SH NAME debugfs \- ext2/ext3/ext4 file system debugger @@ -19,7 +19,7 @@ blocksize superblock ] [ -.B \-f +.B \-f cmd_file ] [ @@ -34,8 +34,8 @@ data_source_device device ] .SH DESCRIPTION -The -.B debugfs +The +.B debugfs program is an interactive file system debugger. It can be used to examine and change the state of an ext2, ext3, or ext4 file system. .br @@ -55,30 +55,30 @@ useful for filesystems with significant corruption, but because of this, catastrophic mode forces the filesystem to be opened read-only. .TP .I \-i -Specifies that +Specifies that .I device represents an ext2 image file created by the .B e2image program. Since the ext2 image file only contains the superblock, block -group descriptor, block and inode allocation bitmaps, and +group descriptor, block and inode allocation bitmaps, and the inode table, many .B debugfs -commands will not function properly. +commands will not function properly. .B Warning: -no safety checks are in place, and -.B debugfs +no safety checks are in place, and +.B debugfs may fail in interesting ways if commands such as -.IR ls ", " dump ", " -etc. are tried without specifying the +.IR ls ", " dump ", " +etc. are tried without specifying the .I data_source_device -using the +using the .I \-d option. -.B debugfs +.B debugfs is a debugging tool. It has rough edges! .TP .I -d data_source_device -Used with the +Used with the .I \-i option, specifies that .I data_source_device @@ -99,11 +99,11 @@ option, you must also provide the blocksize of the filesystem via the option. .TP .I -f cmd_file -Causes +Causes .B debugfs -to read in commands from -.IR cmd_file , -and execute them. When +to read in commands from +.IR cmd_file , +and execute them. When .B debugfs is finished executing those commands, it will exit. .TP @@ -115,14 +115,14 @@ that some Linux devices, notably device mapper as of this writing, do not support Direct I/O. .TP .I -R request -Causes +Causes .B debugfs -to execute the single command +to execute the single command .IR request , and then exit. .TP .I -V -print the version number of +print the version number of .B debugfs and exit. .SH SPECIFYING FILES @@ -130,377 +130,267 @@ Many .B debugfs commands take a .I filespec -as an argument to specify an inode (as opposed to a pathname) -in the filesystem which is currently opened by -.BR debugfs . +as an argument to specify an inode (as opposed to a pathname) +in the filesystem which is currently opened by +.BR debugfs . The .I filespec -argument may be specified in two forms. The first form is an inode -number surrounded by angle brackets, e.g., +argument may be specified in two forms. The first form is an inode +number surrounded by angle brackets, e.g., .IR <2> . The second form is a pathname; if the pathname is prefixed by a forward slash -('/'), then it is interpreted relative to the root of the filesystem -which is currently opened by +('/'), then it is interpreted relative to the root of the filesystem +which is currently opened by .BR debugfs . -If not, the pathname is -interpreted relative to the current working directory as maintained by -.BR debugfs . -This may be modified by using the +If not, the pathname is +interpreted relative to the current working directory as maintained by +.BR debugfs . +This may be modified by using the .B debugfs command .IR cd . -.\" +.\" .\" .\" .SH COMMANDS -This is a list of the commands which +This is a list of the commands which .B debugfs supports. .TP -.BI blocks " filespace" -Print the blocks used by the inode -.I filespec -to stdout. -.TP -.BI bmap " filespec logical_block" +.I bmap filespec logical_block Print the physical block number corresponding to the logical block number .I logical_block in the inode .IR filespec . .TP -.BI block_dump " [-f filespec] block_num" -Dump the filesystem block given by -.I block_num -in hex and ASCII format to the console. If the -.I -f -option is specified, the block number is relative to the start of the given -.BR filespec . -.TP -.BI cat " filespec" -Dump the contents of the inode +.I cat filespec +Dump the contents of the inode .I filespec to stdout. .TP -.BI cd " filespec" -Change the current working directory to +.I cd filespec +Change the current working directory to .IR filespec . .TP -.BI chroot " filespec" -Change the root directory to be the directory +.I chroot filespec +Change the root directory to be the directory .IR filespec . .TP -.BI close " [-a]" -Close the currently open file system. If the +.I close [-a] +Close the currently open file system. If the .I -a option is specified, write out any changes to the superblock and block group descriptors to all of the backup superblocks, not just to the master superblock. .TP -.BI clri " filespec" -Clear the contents of the inode -.IR filespec . +.I clri file +Clear the contents of the inode +.IR file . .TP -.BI dirsearch " filespec filename" -Search the directory +.I dump [-p] filespec out_file +Dump the contents of the inode .I filespec -for -.IR filename . -.TP -.B dirty -Mark the filesystem as dirty, so that the superblocks will be written on exit. -.TP -.BI dump " [-p] filespec out_file" -Dump the contents of the inode -.I filespec -to the output file -.IR out_file . -If the -.I -p -option is given set the owner, group and permissions information on -.I out_file -to match +to the output file +.IR out_file . +If the +.I -p +option is given set the owner, group and permissions information on +.I out_file +to match .IR filespec . .TP -.B dump_mmp -Display the multiple-mount protection (mmp) field values. -.TP -.BI dx_hash " [-h hash_alg] [-s hash_seed] filename" -Calculate the directory hash of -.IR filename . -The hash algorithm specified with -.I -h -may be -.BR legacy , " half_md4" ", or " tea . -The hash seed specified with -.I -s -must be in UUID format. -.TP -.BI dump_extents " [-n] [-l] filespec" +.I dump_extents [-n] [-l] filespec Dump the the extent tree of the inode .IR filespec . -The +The .I -n flag will cause -.B dump_extents +.I dump_extents to only display the interior nodes in the extent tree. The -.I -l -flag will cause -.B dump_extents +.I -l +flag cause +.I dump_extents to only display the leaf nodes in the extent tree. .IP (Please note that the length and range of blocks for the last extent in an interior node is an estimate by the extents library functions, and is -not stored in filesystem data structures. Hence, the values displayed -may not necessarily by accurate and does not indicate a problem or +not stored in file esystem data structures. Hence, the values displayed +may not necessarily by accurate and does not indicate a problem or corruption in the file system.) .TP -.BI expand_dir " filespec" +.I expand_dir filespec Expand the directory .IR filespec . .TP -.BI feature " [fs_feature] [-fs_feature] ..." +.I feature [fs_feature] [-fs_feature] ... Set or clear various filesystem features in the superblock. After setting or clearing any filesystem features that were requested, print the current state of the filesystem feature set. .TP -.BI filefrag " [-dvr] filespec" -Print the number of contiguous extents in -.IR filespec . -If -.I filespec -is a directory and the -.I -d -option is not specified, -.I filefrag -will print the number of contiguous extents for each file in -the directory. The -.I -v -option will cause -.I filefrag -print a tabular listing of the contiguous extents in the -file. The -.I -r -option will cause -.I filefrag -to do a recursive listing of the directory. -.TP -.BI find_free_block " [count [goal]]" -Find the first +.I find_free_block [count [goal]] +Find the first .I count free blocks, starting from .I goal -and allocate it. Also available as -.BR ffb . +and allocate it. .TP -.BI find_free_inode " [dir [mode]]" -Find a free inode and allocate it. If present, +.I find_free_inode [dir [mode]] +Find a free inode and allocate it. If present, .I dir -specifies the inode number of the directory -which the inode is to be located. The second +specifies the inode number of the directory +which the inode is to be located. The second optional argument .I mode specifies the permissions of the new inode. (If the directory bit is set -on the mode, the allocation routine will function differently.) Also -available as -.BR ffi . +on the mode, the allocation routine will function differently.) .TP -.BI freeb " block [count]" +.I freeb block [count] Mark the block number .I block as not allocated. -If the optional argument -.I count -is present, then +If the optional argument +.I count +is present, then .I count blocks starting at block number .I block will be marked as not allocated. .TP -.BI freefrag " [-c chunk_kb]" -Report free space fragmentation on the currently open file system. -If the -.I \-c -option is specified then the filefrag command will print how many free -chunks of size -.I chunk_kb -can be found in the file system. The chunk size must be a power of two -and be larger than the file system block size. -.TP -.BI freei " filespec [num]" -Free the inode specified by +.I freei filespec +Free the inode specified by .IR filespec . -If -.I num -is specified, also clear num-1 inodes after the specified inode. .TP -.B help -Print a list of commands understood by +.I help +Print a list of commands understood by .BR debugfs . .TP -.BI htree_dump " filespec" -Dump the hash-indexed directory -.IR filespec , -showing its tree structure. -.TP -.BI icheck " block ..." +.I icheck block ... Print a listing of the inodes which use the one or more blocks specified on the command line. .TP -.BI imap " filespec" -Print the location of the inode data structure (in the inode table) +.I imap filespec +Print the location of the inode data structure (in the inode table) of the inode .IR filespec . .TP -.BI init_filesys " device blocksize" +.I init_filesys device blocksize Create an ext2 file system on .I device with device size .IR blocksize . -Note that this does not fully initialize all of the data structures; -to do this, use the +Note that this does not fully initialize all of the data structures; +to do this, use the .BR mke2fs (8) program. This is just a call to the low-level library, which sets up the superblock and block descriptors. .TP -.BI kill_file " filespec" -Deallocate the inode +.I kill_file filespec +Deallocate the inode .I filespec and its blocks. Note that this does not remove any directory -entries (if any) to this inode. See the +entries (if any) to this inode. See the .BR rm (1) command if you wish to unlink a file. .TP -.BI lcd " directory" +.I lcd directory Change the current working directory of the .B debugfs process to .I directory on the native filesystem. .TP -.BI ln " filespec dest_file" -Create a link named +.I ln filespec dest_file +Create a link named .I dest_file -which is a hard link to +which is a link to .IR filespec . Note this does not adjust the inode reference counts. .TP -.BI logdump " [-acs] [-b block] [-i filespec] [-f journal_file] [output_file]" -Dump the contents of the ext3 journal. By default, dump the journal inode as -specified in the superblock. However, this can be overridden with the +.I logdump [-acs] [-b] [-i] [-f] [output_file] +Dump the contents of the ext3 journal. By default, the journal inode as +specified in the superblock. However, this can be overridden with the .I \-i -option, which dumps the journal from the internal inode given by -.IR filespec . -A regular file containing journal data can be specified using the +option, which uses an inode specifier to specify the journal to be +used. A file containing journal data can be specified using the .I \-f -option. Finally, the +option. Finally, the .I \-s option utilizes the backup information in the superblock to locate the journal. .IP -The +The .I \-a -option causes the -.B logdump +option causes the +.I logdump program to print the contents of all of the descriptor blocks. -The +The .I \-b -option causes -.B logdump -to print all journal records that are refer to the specified block. -The +option causes +.I logdump +to print all journal records that are refer to the specified block. +The .I \-c option will print out the contents of all of the data blocks selected by -the +the .I \-a -and +and .I \-b options. .TP -.BI ls " [-d] [-l] [-p] filespec" +.I ls [-l] [-d] [-p] filespec Print a listing of the files in the directory .IR filespec . -The -.I \-d -flag will list deleted entries in the directory. -The +The .I \-l flag will list files using a more verbose format. The +.I \-d +flag will list deleted entries in the directory. +The .I \-p flag will list the files in a format which is more easily parsable by scripts, as well as making it more clear when there are spaces or other non-printing characters at the end of filenames. .TP -.BI list_deleted_inodes " [limit]" -List deleted inodes, optionally limited to those deleted within -.I limit -seconds ago. Also available as -.BR lsdel . -.IP -This command was useful for recovering from accidental file deletions -for ext2 file systems. Unfortunately, it is not useful for this purpose -if the files were deleted using ext3 or ext4, since the inode's -data blocks are no longer available after the inode is released. -.TP -.BI modify_inode " filespec" +.I modify_inode filespec Modify the contents of the inode structure in the inode .IR filespec . -Also available as -.BR mi . .TP -.BI mkdir " filespec" +.I mkdir filespec Make a directory. .TP -.BI mknod " filespec [p|[[c|b] major minor]]" +.I mknod filespec [p|[[c|b] major minor]] Create a special device file (a named pipe, character or block device). -If a character or block device is to be made, the +If a character or block device is to be made, the .I major and .I minor device numbers must be specified. .TP -.BI ncheck " [-c] inode_num ..." +.I ncheck inode_num ... Take the requested list of inode numbers, and print a listing of pathnames -to those inodes. The -.I -c -flag will enable checking the file type information in the directory -entry to make sure it matches the inode's type. -.TP -.BI open " [-weficD] [-b blocksize] [-s superblock] device" -Open a filesystem for editing. The -.I -f -flag forces the filesystem to be opened even if there are some unknown -or incompatible filesystem features which would normally +to those inodes. +.TP +.I open [-w] [-e] [-f] [-i] [-c] [-D] [-b blocksize] [-s superblock] device +Open a filesystem for editing. The +.I -f +flag forces the filesystem to be opened even if there are some unknown +or incompatible filesystem features which would normally prevent the filesystem from being opened. The .I -e flag causes the filesystem to be opened in exclusive mode. The .IR -b ", " -c ", " -i ", " -s ", " -w ", and " -D -options behave the same as the command-line options to +options behave the same as the command-line options to .BR debugfs . .TP -.BI punch " filespec start_blk [end_blk]" -Delete the blocks in the inode ranging from -.I start_blk -to -.IR end_blk . -If -.I end_blk -is omitted then this command will function as a truncate command; that -is, all of the blocks starting at -.I start_blk -through to the end of the file will be deallocated. -.TP -.BI symlink " filespec target" -Make a symbolic link. -.TP -.B pwd +.I pwd Print the current working directory. .TP -.B quit +.I quit Quit .B debugfs .TP -.BI rdump " directory destination" +.I rdump directory destination Recursively dump .I directory and all its contents (including regular files, symbolic links, and other @@ -508,202 +398,149 @@ directories) into the named .I destination which should be an existing directory on the native filesystem. .TP -.BI rm " pathname" -Unlink +.I rm pathname +Unlink .IR pathname . -If this causes the inode pointed to by +If this causes the inode pointed to by .I pathname to have no other references, deallocate the file. This command functions as the unlink() system call. -.I +.I .TP -.BI rmdir " filespec" +.I rmdir filespec Remove the directory .IR filespec . .TP -.BI setb " block [count]" +.I setb block [count] Mark the block number .I block as allocated. -If the optional argument -.I count -is present, then +If the optional argument +.I count +is present, then .I count blocks starting at block number .I block will be marked as allocated. .TP -.BI set_block_group " bgnum field value" +.I set_block_group bgnum field value Modify the block group descriptor specified by .I bgnum so that the block group descriptor field .I field has value -.IR value . -Also available as -.BR set_bg . +.I value. .TP -.BI seti " filespec [num]" -Mark inode +.I seti filespec +Mark inode .I filespec -as in use in the inode bitmap. If -.I num -is specified, also set num-1 inodes after the specified inode. +as in use in the inode bitmap. .TP -.BI set_inode_field " filespec field value" -Modify the inode specified by +.I set_inode_field filespec field value +Modify the inode specified by .I filespec so that the inode field .I field -has value +has value .I value. -The list of valid inode fields which can be set via this command +The list of valid inode fields which can be set via this command can be displayed by using the command: .B set_inode_field -l -Also available as -.BR sif . .TP -.BI set_mmp_value " field value" -Modify the multiple-mount protection (MMP) data so that the MMP field -.I field -has value -.I value. -The list of valid MMP fields which can be set via this command -can be displayed by using the command: -.B set_mmp_value -l -Also available as -.BR smmp . -.TP -.BI set_super_value " field value" +.I set_super_value field value Set the superblock field .I field -to +to .I value. -The list of valid superblock fields which can be set via this command +The list of valid superblock fields which can be set via this command can be displayed by using the command: .B set_super_value -l -Also available as -.BR ssv . .TP -.BI show_super_stats " [-h]" +.I show_super_stats [-h] List the contents of the super block and the block group descriptors. If the .I -h -flag is given, only print out the superblock contents. Also available as -.BR stats . +flag is given, only print out the superblock contents. .TP -.BI stat " filespec" +.I stat filespec Display the contents of the inode structure of the inode .IR filespec . .TP -.BI testb " block [count]" +.I testb block [count] Test if the block number .I block is marked as allocated in the block bitmap. -If the optional argument -.I count -is present, then +If the optional argument +.I count +is present, then .I count blocks starting at block number .I block will be tested. .TP -.BI testi " filespec" -Test if the inode +.I testi filespec +Test if the inode .I filespec is marked as allocated in the inode bitmap. .TP -.BI undel " [pathname]" +.I undel [pathname] Undelete the specified inode number (which must be surrounded by angle brackets) so that it and its blocks are marked in use, and optionally -link the recovered inode to the specified pathname. The +link the recovered inode to the specified pathname. The .B e2fsck -command should always be run after using the +command should always be run after using the .B undel command to recover deleted files. .IP Note that if you are recovering a large number of deleted files, linking the inode to a directory may require the directory to be expanded, which could allocate a block that had been used by one of the -yet-to-be-undeleted files. So it is safer to undelete all of the +yet-to-be-undeleted files. So it is safer to undelete all of the inodes without specifying a destination pathname, and then in a separate pass, use the debugfs .B link -command to link the inode to the destination pathname, or use +command to link the inode to the destination pathname, or use .B e2fsck to check the filesystem and link all of the recovered inodes to the lost+found directory. .TP -.BI unlink " pathname" -Remove the link specified by -.I pathname +.I unlink pathname +Remove the link specified by +.I pathname to an inode. Note this does not adjust the inode reference counts. .TP -.BI write " source_file out_file" -Copy the contents of +.I write source_file out_file +Create a file in the filesystem named +.IR out_file , +and copy the contents of .I source_file -into a newly-created file in the filesystem named -.IR out_file . -.TP -.BI zap_block " [-f filespec] [-o offset] [-l length] [-p pattern] block_num" -.TP -Overwrite the block specified by -.I block_num -with zero (NUL) bytes, or if -.I -p -is given use the byte specified by -.IR pattern . -If -.I -f -is given then -.I block_num -is relative to the start of the file given by -.IR filespec . -The -.I -o -and -.I -l -options limit the range of bytes to zap to the specified -.I offset -and -.I length -relative to the start of the block. -.TP -.BI zap_block " [-f filespec] [-b bit] block_num" -Bit-flip portions of the physical -.IR block_num . -If -.I -f -is given, then -.I block_num -is a logical block relative to the start of -.IR filespec . +into the destination file. .SH ENVIRONMENT VARIABLES .TP .B DEBUGFS_PAGER, PAGER The .B debugfs program always pipes the output of the some commands through a -pager program. These commands include: -.IR show_super_stats " (" stats ), -.IR list_directory " (" ls ), -.IR show_inode_info " (" stat ), -.IR list_deleted_inodes " (" lsdel ), +pager program. These commands include: +.IR show_super_stats , +.IR list_directory , +.IR show_inode_info , +.IR list_deleted_inodes , and .IR htree_dump . The specific pager can explicitly specified by the .B DEBUGFS_PAGER environment variable, and if it is not set, by the .B PAGER -environment variable. +environment variable. .IP -Note that since a pager is always used, the +Note that since a pager is always used, the .BR less (1) pager is not particularly appropriate, since it clears the screen before displaying the output of the command and clears the output the screen -when the pager is exited. Many users prefer to use the +when the pager is exited. Many users prefer to use the .BR less (1) -pager for most purposes, which is why the -.B DEBUGFS_PAGER +pager for most purposes, which is why the +.B DEBUGFS_PAGER environment variable is available to override the more general .B PAGER environment variable. @@ -714,5 +551,4 @@ was written by Theodore Ts'o . .BR dumpe2fs (8), .BR tune2fs (8), .BR e2fsck (8), -.BR mke2fs (8), -.BR ext4 (5) +.BR mke2fs (8) diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c index 80662b1b..a10714ab 100644 --- a/debugfs/debugfs.c +++ b/debugfs/debugfs.c @@ -27,6 +27,8 @@ extern char *optarg; #include #include +#include "et/com_err.h" +#include "ss/ss.h" #include "debugfs.h" #include "uuid/uuid.h" #include "e2p/e2p.h" @@ -36,29 +38,15 @@ extern char *optarg; #include "../version.h" #include "jfs_user.h" -#ifndef BUFSIZ -#define BUFSIZ 8192 -#endif - -/* 64KiB is the minimium blksize to best minimize system call overhead. */ -#ifndef IO_BUFSIZE -#define IO_BUFSIZE 64*1024 -#endif - -/* Block size for `st_blocks' */ -#ifndef S_BLKSIZE -#define S_BLKSIZE 512 -#endif - +extern ss_request_table debug_cmds; ss_request_table *extra_cmds; const char *debug_prog_name; -int sci_idx; ext2_filsys current_fs = NULL; ext2_ino_t root, cwd; -static void open_filesystem(char *device, int open_flags, blk64_t superblock, - blk64_t blocksize, int catastrophic, +static void open_filesystem(char *device, int open_flags, blk_t superblock, + blk_t blocksize, int catastrophic, char *data_filename) { int retval; @@ -90,8 +78,6 @@ static void open_filesystem(char *device, int open_flags, blk64_t superblock, "opening read-only because of catastrophic mode"); open_flags &= ~EXT2_FLAG_RW; } - if (catastrophic) - open_flags |= EXT2_FLAG_SKIP_MMP; retval = ext2fs_open(device, open_flags, superblock, blocksize, unix_io_manager, ¤t_fs); @@ -100,7 +86,6 @@ static void open_filesystem(char *device, int open_flags, blk64_t superblock, current_fs = NULL; return; } - current_fs->default_bitmap_type = EXT2FS_BMAP64_RBTREE; if (catastrophic) com_err(device, 0, "catastrophic mode - not reading inode or group bitmaps"); @@ -140,9 +125,9 @@ void do_open_filesys(int argc, char **argv) { int c, err; int catastrophic = 0; - blk64_t superblock = 0; - blk64_t blocksize = 0; - int open_flags = EXT2_FLAG_SOFTSUPP_FEATURES | EXT2_FLAG_64BITS; + blk_t superblock = 0; + blk_t blocksize = 0; + int open_flags = EXT2_FLAG_SOFTSUPP_FEATURES; char *data_filename = 0; reset_getopt(); @@ -152,11 +137,7 @@ void do_open_filesys(int argc, char **argv) open_flags |= EXT2_FLAG_IMAGE_FILE; break; case 'w': -#ifdef READ_ONLY - goto print_usage; -#else open_flags |= EXT2_FLAG_RW; -#endif /* READ_ONLY */ break; case 'f': open_flags |= EXT2_FLAG_FORCE; @@ -180,7 +161,8 @@ void do_open_filesys(int argc, char **argv) return; break; case 's': - err = strtoblk(argv[0], optarg, &superblock); + superblock = parse_ulong(optarg, argv[0], + "superblock number", &err); if (err) return; break; @@ -200,11 +182,7 @@ void do_open_filesys(int argc, char **argv) print_usage: fprintf(stderr, "%s: Usage: open [-s superblock] [-b blocksize] " - "[-d image_filename] [-c] [-i] [-f] [-e] [-D] " -#ifndef READ_ONLY - "[-w] " -#endif - "\n", argv[0]); + "[-c] [-w] \n", argv[0]); } void do_lcd(int argc, char **argv) @@ -270,23 +248,19 @@ void do_close_filesys(int argc, char **argv) close_filesystem(); } -#ifndef READ_ONLY void do_init_filesys(int argc, char **argv) { struct ext2_super_block param; errcode_t retval; int err; - blk64_t blocks; if (common_args_process(argc, argv, 3, 3, "initialize", - " ", CHECK_FS_NOTOPEN)) + " ", CHECK_FS_NOTOPEN)) return; memset(¶m, 0, sizeof(struct ext2_super_block)); - err = strtoblk(argv[0], argv[2], &blocks); - if (err) - return; - ext2fs_blocks_count_set(¶m, blocks); + param.s_blocks_count = parse_ulong(argv[2], argv[0], + "blocks count", &err); if (err) return; retval = ext2fs_initialize(argv[1], 0, ¶m, @@ -318,12 +292,11 @@ static void print_features(struct ext2_super_block * s, FILE *f) fputs("(none)", f); fputs("\n", f); } -#endif /* READ_ONLY */ -static void print_bg_opts(ext2_filsys fs, dgrp_t group, int mask, +static void print_bg_opts(struct ext2_group_desc *gdp, int mask, const char *str, int *first, FILE *f) { - if (ext2fs_bg_flags_test(fs, group, mask)) { + if (gdp->bg_flags & mask) { if (*first) { fputs(" [", f); *first = 0; @@ -335,9 +308,9 @@ static void print_bg_opts(ext2_filsys fs, dgrp_t group, int mask, void do_show_super_stats(int argc, char *argv[]) { - const char *units ="block"; dgrp_t i; FILE *out; + struct ext2_group_desc *gdp; int c, header_only = 0; int numdirs = 0, first, gdt_csum; @@ -358,13 +331,9 @@ void do_show_super_stats(int argc, char *argv[]) return; out = open_pager(); - if (EXT2_HAS_RO_COMPAT_FEATURE(current_fs->super, - EXT4_FEATURE_RO_COMPAT_BIGALLOC)) - units = "cluster"; - list_super2(current_fs->super, out); for (i=0; i < current_fs->group_desc_count; i++) - numdirs += ext2fs_bg_used_dirs_count(current_fs, i); + numdirs += current_fs->group_desc[i].bg_used_dirs_count; fprintf(out, "Directories: %d\n", numdirs); if (header_only) { @@ -374,38 +343,35 @@ void do_show_super_stats(int argc, char *argv[]) gdt_csum = EXT2_HAS_RO_COMPAT_FEATURE(current_fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM); - for (i = 0; i < current_fs->group_desc_count; i++) { - fprintf(out, " Group %2d: block bitmap at %llu, " - "inode bitmap at %llu, " - "inode table at %llu\n" - " %u free %s%s, " - "%u free %s, " - "%u used %s%s", - i, ext2fs_block_bitmap_loc(current_fs, i), - ext2fs_inode_bitmap_loc(current_fs, i), - ext2fs_inode_table_loc(current_fs, i), - ext2fs_bg_free_blocks_count(current_fs, i), units, - ext2fs_bg_free_blocks_count(current_fs, i) != 1 ? - "s" : "", - ext2fs_bg_free_inodes_count(current_fs, i), - ext2fs_bg_free_inodes_count(current_fs, i) != 1 ? - "inodes" : "inode", - ext2fs_bg_used_dirs_count(current_fs, i), - ext2fs_bg_used_dirs_count(current_fs, i) != 1 ? "directories" - : "directory", gdt_csum ? ", " : "\n"); + gdp = ¤t_fs->group_desc[0]; + for (i = 0; i < current_fs->group_desc_count; i++, gdp++) { + fprintf(out, " Group %2d: block bitmap at %u, " + "inode bitmap at %u, " + "inode table at %u\n" + " %d free %s, " + "%d free %s, " + "%d used %s%s", + i, gdp->bg_block_bitmap, + gdp->bg_inode_bitmap, gdp->bg_inode_table, + gdp->bg_free_blocks_count, + gdp->bg_free_blocks_count != 1 ? "blocks" : "block", + gdp->bg_free_inodes_count, + gdp->bg_free_inodes_count != 1 ? "inodes" : "inode", + gdp->bg_used_dirs_count, + gdp->bg_used_dirs_count != 1 ? "directories" + : "directory", gdt_csum ? ", " : "\n"); if (gdt_csum) - fprintf(out, "%u unused %s\n", - ext2fs_bg_itable_unused(current_fs, i), - ext2fs_bg_itable_unused(current_fs, i) != 1 ? - "inodes" : "inode"); + fprintf(out, "%d unused %s\n", + gdp->bg_itable_unused, + gdp->bg_itable_unused != 1 ? "inodes":"inode"); first = 1; - print_bg_opts(current_fs, i, EXT2_BG_INODE_UNINIT, "Inode not init", + print_bg_opts(gdp, EXT2_BG_INODE_UNINIT, "Inode not init", &first, out); - print_bg_opts(current_fs, i, EXT2_BG_BLOCK_UNINIT, "Block not init", + print_bg_opts(gdp, EXT2_BG_BLOCK_UNINIT, "Block not init", &first, out); if (gdt_csum) { fprintf(out, "%sChecksum 0x%04x", - first ? " [":", ", ext2fs_bg_checksum(current_fs, i)); + first ? " [":", ", gdp->bg_checksum); first = 0; } if (!first) @@ -417,7 +383,6 @@ print_usage: fprintf(stderr, "%s: Usage: show_super [-h]\n", argv[0]); } -#ifndef READ_ONLY void do_dirty_filesys(int argc EXT2FS_ATTR((unused)), char **argv EXT2FS_ATTR((unused))) { @@ -432,12 +397,11 @@ void do_dirty_filesys(int argc EXT2FS_ATTR((unused)), current_fs->super->s_state &= ~EXT2_VALID_FS; ext2fs_mark_super_dirty(current_fs); } -#endif /* READ_ONLY */ struct list_blocks_struct { FILE *f; e2_blkcnt_t total; - blk64_t first_block, last_block; + blk_t first_block, last_block; e2_blkcnt_t first_bcnt, last_bcnt; e2_blkcnt_t first; }; @@ -451,18 +415,18 @@ static void finish_range(struct list_blocks_struct *lb) else fprintf(lb->f, ", "); if (lb->first_block == lb->last_block) - fprintf(lb->f, "(%lld):%llu", + fprintf(lb->f, "(%lld):%u", (long long)lb->first_bcnt, lb->first_block); else - fprintf(lb->f, "(%lld-%lld):%llu-%llu", + fprintf(lb->f, "(%lld-%lld):%u-%u", (long long)lb->first_bcnt, (long long)lb->last_bcnt, lb->first_block, lb->last_block); lb->first_block = 0; } static int list_blocks_proc(ext2_filsys fs EXT2FS_ATTR((unused)), - blk64_t *blocknr, e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t *blocknr, e2_blkcnt_t blockcnt, + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *private) { @@ -497,11 +461,11 @@ static int list_blocks_proc(ext2_filsys fs EXT2FS_ATTR((unused)), else fprintf(lb->f, ", "); if (blockcnt == -1) - fprintf(lb->f, "(IND):%llu", (unsigned long long) *blocknr); + fprintf(lb->f, "(IND):%u", *blocknr); else if (blockcnt == -2) - fprintf(lb->f, "(DIND):%llu", (unsigned long long) *blocknr); + fprintf(lb->f, "(DIND):%u", *blocknr); else if (blockcnt == -3) - fprintf(lb->f, "(TIND):%llu", (unsigned long long) *blocknr); + fprintf(lb->f, "(TIND):%u", *blocknr); return 0; } @@ -582,8 +546,8 @@ static void dump_blocks(FILE *f, const char *prefix, ext2_ino_t inode) lb.first_block = 0; lb.f = f; lb.first = 1; - ext2fs_block_iterate3(current_fs, inode, BLOCK_FLAG_READ_ONLY, NULL, - list_blocks_proc, (void *)&lb); + ext2fs_block_iterate2(current_fs, inode, BLOCK_FLAG_READ_ONLY, NULL, + list_blocks_proc, (void *)&lb); finish_range(&lb); if (lb.total) fprintf(f, "\n%sTOTAL: %lld\n", prefix, (long long)lb.total); @@ -756,9 +720,12 @@ void internal_dump_inode(FILE *out, const char *prefix, } fprintf(out, "%sUser: %5d Group: %5d Size: ", prefix, inode_uid(*inode), inode_gid(*inode)); - if (LINUX_S_ISREG(inode->i_mode)) - fprintf(out, "%llu\n", EXT2_I_SIZE(inode)); - else + if (LINUX_S_ISREG(inode->i_mode)) { + unsigned long long i_size = (inode->i_size | + ((unsigned long long)inode->i_size_high << 32)); + + fprintf(out, "%llu\n", i_size); + } else fprintf(out, "%d\n", inode->i_size); if (os == EXT2_OS_HURD) fprintf(out, @@ -886,7 +853,7 @@ void do_stat(int argc, char *argv[]) return; } -void do_dump_extents(int argc, char **argv) +void do_dump_extents(int argc, char *argv[]) { struct ext2_inode inode; ext2_ino_t ino; @@ -907,7 +874,8 @@ void do_dump_extents(int argc, char **argv) } } - if (argc != optind + 1) { + if (argc != optind+1) { + print_usage: com_err(0, 0, "Usage: dump_extents [-n] [-l] file"); return; } @@ -932,11 +900,13 @@ void do_dump_extents(int argc, char **argv) return; } - logical_width = int_log10((EXT2_I_SIZE(&inode)+current_fs->blocksize-1)/ + logical_width = int_log10(((inode.i_size | + (__u64) inode.i_size_high << 32) + + current_fs->blocksize - 1) / current_fs->blocksize) + 1; if (logical_width < 5) logical_width = 5; - physical_width = int_log10(ext2fs_blocks_count(current_fs->super)) + 1; + physical_width = int_log10(current_fs->super->s_blocks_count) + 1; if (physical_width < 5) physical_width = 5; @@ -946,34 +916,6 @@ void do_dump_extents(int argc, char **argv) return; } -static int print_blocks_proc(ext2_filsys fs EXT2FS_ATTR((unused)), - blk64_t *blocknr, - e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), - blk64_t ref_block EXT2FS_ATTR((unused)), - int ref_offset EXT2FS_ATTR((unused)), - void *private EXT2FS_ATTR((unused))) -{ - printf("%llu ", *blocknr); - return 0; -} - -void do_blocks(int argc, char *argv[]) -{ - ext2_ino_t inode; - - if (check_fs_open(argv[0])) - return; - - if (common_inode_args_process(argc, argv, &inode, 0)) { - return; - } - - ext2fs_block_iterate3(current_fs, inode, BLOCK_FLAG_READ_ONLY, NULL, - print_blocks_proc, NULL); - fputc('\n', stdout); - return; -} - void do_chroot(int argc, char *argv[]) { ext2_ino_t inode; @@ -990,7 +932,6 @@ void do_chroot(int argc, char *argv[]) root = inode; } -#ifndef READ_ONLY void do_clri(int argc, char *argv[]) { ext2_ino_t inode; @@ -1008,64 +949,31 @@ void do_clri(int argc, char *argv[]) void do_freei(int argc, char *argv[]) { - unsigned int len = 1; - int err = 0; - ext2_ino_t inode; - - if (common_args_process(argc, argv, 2, 3, argv[0], " [num]", - CHECK_FS_RW | CHECK_FS_BITMAPS)) - return; - if (check_fs_read_write(argv[0])) - return; + ext2_ino_t inode; - inode = string_to_inode(argv[1]); - if (!inode) + if (common_inode_args_process(argc, argv, &inode, + CHECK_FS_RW | CHECK_FS_BITMAPS)) return; - if (argc == 3) { - len = parse_ulong(argv[2], argv[0], "length", &err); - if (err) - return; - } - - if (len == 1 && - !ext2fs_test_inode_bitmap2(current_fs->inode_map,inode)) + if (!ext2fs_test_inode_bitmap(current_fs->inode_map,inode)) com_err(argv[0], 0, "Warning: inode already clear"); - while (len-- > 0) - ext2fs_unmark_inode_bitmap2(current_fs->inode_map, inode++); + ext2fs_unmark_inode_bitmap(current_fs->inode_map,inode); ext2fs_mark_ib_dirty(current_fs); } void do_seti(int argc, char *argv[]) { - unsigned int len = 1; - int err = 0; - ext2_ino_t inode; - - if (common_args_process(argc, argv, 2, 3, argv[0], " [num]", - CHECK_FS_RW | CHECK_FS_BITMAPS)) - return; - if (check_fs_read_write(argv[0])) - return; + ext2_ino_t inode; - inode = string_to_inode(argv[1]); - if (!inode) + if (common_inode_args_process(argc, argv, &inode, + CHECK_FS_RW | CHECK_FS_BITMAPS)) return; - if (argc == 3) { - len = parse_ulong(argv[2], argv[0], "length", &err); - if (err) - return; - } - - if ((len == 1) && - ext2fs_test_inode_bitmap2(current_fs->inode_map,inode)) + if (ext2fs_test_inode_bitmap(current_fs->inode_map,inode)) com_err(argv[0], 0, "Warning: inode already set"); - while (len-- > 0) - ext2fs_mark_inode_bitmap2(current_fs->inode_map, inode++); + ext2fs_mark_inode_bitmap(current_fs->inode_map,inode); ext2fs_mark_ib_dirty(current_fs); } -#endif /* READ_ONLY */ void do_testi(int argc, char *argv[]) { @@ -1074,27 +982,26 @@ void do_testi(int argc, char *argv[]) if (common_inode_args_process(argc, argv, &inode, CHECK_FS_BITMAPS)) return; - if (ext2fs_test_inode_bitmap2(current_fs->inode_map,inode)) + if (ext2fs_test_inode_bitmap(current_fs->inode_map,inode)) printf("Inode %u is marked in use\n", inode); else printf("Inode %u is not in use\n", inode); } -#ifndef READ_ONLY void do_freeb(int argc, char *argv[]) { - blk64_t block; - blk64_t count = 1; + blk_t block; + blk_t count = 1; if (common_block_args_process(argc, argv, &block, &count)) return; if (check_fs_read_write(argv[0])) return; while (count-- > 0) { - if (!ext2fs_test_block_bitmap2(current_fs->block_map,block)) - com_err(argv[0], 0, "Warning: block %llu already clear", + if (!ext2fs_test_block_bitmap(current_fs->block_map,block)) + com_err(argv[0], 0, "Warning: block %u already clear", block); - ext2fs_unmark_block_bitmap2(current_fs->block_map,block); + ext2fs_unmark_block_bitmap(current_fs->block_map,block); block++; } ext2fs_mark_bb_dirty(current_fs); @@ -1102,41 +1009,39 @@ void do_freeb(int argc, char *argv[]) void do_setb(int argc, char *argv[]) { - blk64_t block; - blk64_t count = 1; + blk_t block; + blk_t count = 1; if (common_block_args_process(argc, argv, &block, &count)) return; if (check_fs_read_write(argv[0])) return; while (count-- > 0) { - if (ext2fs_test_block_bitmap2(current_fs->block_map,block)) - com_err(argv[0], 0, "Warning: block %llu already set", + if (ext2fs_test_block_bitmap(current_fs->block_map,block)) + com_err(argv[0], 0, "Warning: block %u already set", block); - ext2fs_mark_block_bitmap2(current_fs->block_map,block); + ext2fs_mark_block_bitmap(current_fs->block_map,block); block++; } ext2fs_mark_bb_dirty(current_fs); } -#endif /* READ_ONLY */ void do_testb(int argc, char *argv[]) { - blk64_t block; - blk64_t count = 1; + blk_t block; + blk_t count = 1; if (common_block_args_process(argc, argv, &block, &count)) return; while (count-- > 0) { - if (ext2fs_test_block_bitmap2(current_fs->block_map,block)) - printf("Block %llu marked in use\n", block); + if (ext2fs_test_block_bitmap(current_fs->block_map,block)) + printf("Block %u marked in use\n", block); else - printf("Block %llu not in use\n", block); + printf("Block %u not in use\n", block); block++; } } -#ifndef READ_ONLY static void modify_u8(char *com, const char *prompt, const char *format, __u8 *val) { @@ -1280,7 +1185,6 @@ void do_modify_inode(int argc, char *argv[]) if (debugfs_write_inode(inode_num, &inode, argv[1])) return; } -#endif /* READ_ONLY */ void do_change_working_dir(int argc, char *argv[]) { @@ -1333,7 +1237,35 @@ void do_print_working_directory(int argc, char *argv[]) return; } -#ifndef READ_ONLY +/* + * Given a mode, return the ext2 file type + */ +static int ext2_file_type(unsigned int mode) +{ + if (LINUX_S_ISREG(mode)) + return EXT2_FT_REG_FILE; + + if (LINUX_S_ISDIR(mode)) + return EXT2_FT_DIR; + + if (LINUX_S_ISCHR(mode)) + return EXT2_FT_CHRDEV; + + if (LINUX_S_ISBLK(mode)) + return EXT2_FT_BLKDEV; + + if (LINUX_S_ISLNK(mode)) + return EXT2_FT_SYMLINK; + + if (LINUX_S_ISFIFO(mode)) + return EXT2_FT_FIFO; + + if (LINUX_S_ISSOCK(mode)) + return EXT2_FT_SOCK; + + return 0; +} + static void make_link(char *sourcename, char *destname) { ext2_ino_t ino; @@ -1397,16 +1329,14 @@ void do_link(int argc, char *argv[]) make_link(argv[1], argv[2]); } -static int mark_blocks_proc(ext2_filsys fs, blk64_t *blocknr, - e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), - blk64_t ref_block EXT2FS_ATTR((unused)), - int ref_offset EXT2FS_ATTR((unused)), +static int mark_blocks_proc(ext2_filsys fs, blk_t *blocknr, + int blockcnt EXT2FS_ATTR((unused)), void *private EXT2FS_ATTR((unused))) { - blk64_t block; + blk_t block; block = *blocknr; - ext2fs_block_alloc_stats2(fs, block, +1); + ext2fs_block_alloc_stats(fs, block, +1); return 0; } @@ -1427,7 +1357,7 @@ void do_undel(int argc, char *argv[]) if (debugfs_read_inode(ino, &inode, argv[1])) return; - if (ext2fs_test_inode_bitmap2(current_fs->inode_map, ino)) { + if (ext2fs_test_inode_bitmap(current_fs->inode_map, ino)) { com_err(argv[1], 0, "Inode is not marked as deleted"); return; } @@ -1442,8 +1372,8 @@ void do_undel(int argc, char *argv[]) if (debugfs_write_inode(ino, &inode, argv[0])) return; - ext2fs_block_iterate3(current_fs, ino, BLOCK_FLAG_READ_ONLY, NULL, - mark_blocks_proc, NULL); + ext2fs_block_iterate(current_fs, ino, BLOCK_FLAG_READ_ONLY, NULL, + mark_blocks_proc, NULL); ext2fs_inode_alloc_stats2(current_fs, ino, +1, 0); @@ -1481,11 +1411,10 @@ void do_unlink(int argc, char *argv[]) unlink_file_by_name(argv[1]); } -#endif /* READ_ONLY */ void do_find_free_block(int argc, char *argv[]) { - blk64_t free_blk, goal, first_free = 0; + blk_t free_blk, goal, first_free = 0; int count; errcode_t retval; char *tmp; @@ -1519,8 +1448,8 @@ void do_find_free_block(int argc, char *argv[]) printf("Free blocks found: "); free_blk = goal - 1; while (count-- > 0) { - retval = ext2fs_new_block2(current_fs, free_blk + 1, 0, - &free_blk); + retval = ext2fs_new_block(current_fs, free_blk + 1, 0, + &free_blk); if (first_free) { if (first_free == free_blk) break; @@ -1530,7 +1459,7 @@ void do_find_free_block(int argc, char *argv[]) com_err("ext2fs_new_block", retval, 0); return; } else - printf("%llu ", free_blk); + printf("%u ", free_blk); } printf("\n"); } @@ -1574,39 +1503,22 @@ void do_find_free_inode(int argc, char *argv[]) printf("Free inode found: %u\n", free_inode); } -#ifndef READ_ONLY -static errcode_t copy_file(int fd, ext2_ino_t newfile, int bufsize, int make_holes) +static errcode_t copy_file(int fd, ext2_ino_t newfile) { ext2_file_t e2_file; errcode_t retval; int got; unsigned int written; - char *buf; + char buf[8192]; char *ptr; - char *zero_buf; - int cmp; retval = ext2fs_file_open(current_fs, newfile, EXT2_FILE_WRITE, &e2_file); if (retval) return retval; - retval = ext2fs_get_mem(bufsize, &buf); - if (retval) { - com_err("copy_file", retval, "can't allocate buffer\n"); - return retval; - } - - /* This is used for checking whether the whole block is zero */ - retval = ext2fs_get_memzero(bufsize, &zero_buf); - if (retval) { - com_err("copy_file", retval, "can't allocate buffer\n"); - ext2fs_free_mem(&buf); - return retval; - } - while (1) { - got = read(fd, buf, bufsize); + got = read(fd, buf, sizeof(buf)); if (got == 0) break; if (got < 0) { @@ -1614,21 +1526,6 @@ static errcode_t copy_file(int fd, ext2_ino_t newfile, int bufsize, int make_hol goto fail; } ptr = buf; - - /* Sparse copy */ - if (make_holes) { - /* Check whether all is zero */ - cmp = memcmp(ptr, zero_buf, got); - if (cmp == 0) { - /* The whole block is zero, make a hole */ - retval = ext2fs_file_lseek(e2_file, got, EXT2_SEEK_CUR, NULL); - if (retval) - goto fail; - got = 0; - } - } - - /* Normal copy */ while (got > 0) { retval = ext2fs_file_write(e2_file, ptr, got, &written); @@ -1639,14 +1536,10 @@ static errcode_t copy_file(int fd, ext2_ino_t newfile, int bufsize, int make_hol ptr += written; } } - ext2fs_free_mem(&buf); - ext2fs_free_mem(&zero_buf); retval = ext2fs_file_close(e2_file); return retval; fail: - ext2fs_free_mem(&buf); - ext2fs_free_mem(&zero_buf); (void) ext2fs_file_close(e2_file); return retval; } @@ -1659,8 +1552,6 @@ void do_write(int argc, char *argv[]) ext2_ino_t newfile; errcode_t retval; struct ext2_inode inode; - int bufsize = IO_BUFSIZE; - int make_holes = 0; if (common_args_process(argc, argv, 3, 3, "write", " ", CHECK_FS_RW)) @@ -1708,7 +1599,7 @@ void do_write(int argc, char *argv[]) close(fd); return; } - if (ext2fs_test_inode_bitmap2(current_fs->inode_map,newfile)) + if (ext2fs_test_inode_bitmap(current_fs->inode_map,newfile)) com_err(argv[0], 0, "Warning: inode already set"); ext2fs_inode_alloc_stats2(current_fs, newfile, +1, 0); memset(&inode, 0, sizeof(inode)); @@ -1718,33 +1609,14 @@ void do_write(int argc, char *argv[]) inode.i_links_count = 1; inode.i_size = statbuf.st_size; if (current_fs->super->s_feature_incompat & - EXT3_FEATURE_INCOMPAT_EXTENTS) { - int i; - struct ext3_extent_header *eh; - - eh = (struct ext3_extent_header *) &inode.i_block[0]; - eh->eh_depth = 0; - eh->eh_entries = 0; - eh->eh_magic = ext2fs_cpu_to_le16(EXT3_EXT_MAGIC); - i = (sizeof(inode.i_block) - sizeof(*eh)) / - sizeof(struct ext3_extent); - eh->eh_max = ext2fs_cpu_to_le16(i); + EXT3_FEATURE_INCOMPAT_EXTENTS) inode.i_flags |= EXT4_EXTENTS_FL; - } if (debugfs_write_new_inode(newfile, &inode, argv[0])) { close(fd); return; } if (LINUX_S_ISREG(inode.i_mode)) { - if (statbuf.st_blocks < statbuf.st_size / S_BLKSIZE) { - make_holes = 1; - /* - * Use I/O blocksize as buffer size when - * copying sparse files. - */ - bufsize = statbuf.st_blksize; - } - retval = copy_file(fd, newfile, bufsize, make_holes); + retval = copy_file(fd, newfile); if (retval) com_err("copy_file", retval, 0); } @@ -1817,9 +1689,10 @@ void do_mknod(int argc, char *argv[]) com_err(argv[1], retval, 0); return; } - if (ext2fs_test_inode_bitmap2(current_fs->inode_map,newfile)) + if (ext2fs_test_inode_bitmap(current_fs->inode_map,newfile)) com_err(argv[0], 0, "Warning: inode already set"); - ext2fs_inode_alloc_stats2(current_fs, newfile, +1, 0); + ext2fs_mark_inode_bitmap(current_fs->inode_map, newfile); + ext2fs_mark_ib_dirty(current_fs); memset(&inode, 0, sizeof(inode)); inode.i_mode = mode; inode.i_atime = inode.i_ctime = inode.i_mtime = @@ -1878,16 +1751,14 @@ try_again: } -static int release_blocks_proc(ext2_filsys fs, blk64_t *blocknr, - e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), - blk64_t ref_block EXT2FS_ATTR((unused)), - int ref_offset EXT2FS_ATTR((unused)), +static int release_blocks_proc(ext2_filsys fs, blk_t *blocknr, + int blockcnt EXT2FS_ATTR((unused)), void *private EXT2FS_ATTR((unused))) { - blk64_t block; + blk_t block; block = *blocknr; - ext2fs_block_alloc_stats2(fs, block, -1); + ext2fs_block_alloc_stats(fs, block, -1); return 0; } @@ -1900,11 +1771,11 @@ static void kill_file_by_inode(ext2_ino_t inode) inode_buf.i_dtime = current_fs->now ? current_fs->now : time(0); if (debugfs_write_inode(inode, &inode_buf, 0)) return; - if (!ext2fs_inode_has_valid_blocks2(current_fs, &inode_buf)) + if (!ext2fs_inode_has_valid_blocks(&inode_buf)) return; - ext2fs_block_iterate3(current_fs, inode, BLOCK_FLAG_READ_ONLY, NULL, - release_blocks_proc, NULL); + ext2fs_block_iterate(current_fs, inode, BLOCK_FLAG_READ_ONLY, NULL, + release_blocks_proc, NULL); printf("\n"); ext2fs_inode_alloc_stats2(current_fs, inode, -1, LINUX_S_ISDIR(inode_buf.i_mode)); @@ -2037,19 +1908,19 @@ void do_rmdir(int argc, char *argv[]) return; } } -#endif /* READ_ONLY */ void do_show_debugfs_params(int argc EXT2FS_ATTR((unused)), char *argv[] EXT2FS_ATTR((unused))) { + FILE *out = stdout; + if (current_fs) - printf("Open mode: read-%s\n", - current_fs->flags & EXT2_FLAG_RW ? "write" : "only"); - printf("Filesystem in use: %s\n", - current_fs ? current_fs->device_name : "--none--"); + fprintf(out, "Open mode: read-%s\n", + current_fs->flags & EXT2_FLAG_RW ? "write" : "only"); + fprintf(out, "Filesystem in use: %s\n", + current_fs ? current_fs->device_name : "--none--"); } -#ifndef READ_ONLY void do_expand_dir(int argc, char *argv[]) { ext2_ino_t inode; @@ -2083,12 +1954,11 @@ void do_features(int argc, char *argv[]) } print_features(current_fs->super, stdout); } -#endif /* READ_ONLY */ void do_bmap(int argc, char *argv[]) { ext2_ino_t ino; - blk64_t blk, pblk; + blk_t blk, pblk; int err; errcode_t errcode; @@ -2099,17 +1969,15 @@ void do_bmap(int argc, char *argv[]) ino = string_to_inode(argv[1]); if (!ino) return; - err = strtoblk(argv[0], argv[2], &blk); - if (err) - return; + blk = parse_ulong(argv[2], argv[0], "logical_block", &err); - errcode = ext2fs_bmap2(current_fs, ino, 0, 0, 0, blk, 0, &pblk); + errcode = ext2fs_bmap(current_fs, ino, 0, 0, 0, blk, &pblk); if (errcode) { - com_err(argv[0], errcode, - "while mapping logical block %llu\n", blk); + com_err("argv[0]", errcode, + "while mapping logical block %u\n", blk); return; } - printf("%llu\n", pblk); + printf("%u\n", pblk); } void do_imap(int argc, char *argv[]) @@ -2128,12 +1996,12 @@ void do_imap(int argc, char *argv[]) offset = ((ino - 1) % EXT2_INODES_PER_GROUP(current_fs->super)) * EXT2_INODE_SIZE(current_fs->super); block = offset >> EXT2_BLOCK_SIZE_BITS(current_fs->super); - if (!ext2fs_inode_table_loc(current_fs, (unsigned)group)) { + if (!current_fs->group_desc[(unsigned)group].bg_inode_table) { com_err(argv[0], 0, "Inode table for group %lu is missing\n", group); return; } - block_nr = ext2fs_inode_table_loc(current_fs, (unsigned)group) + + block_nr = current_fs->group_desc[(unsigned)group].bg_inode_table + block; offset &= (EXT2_BLOCK_SIZE(current_fs->super) - 1); @@ -2143,7 +2011,6 @@ void do_imap(int argc, char *argv[]) } -#ifndef READ_ONLY void do_set_current_time(int argc, char *argv[]) { time_t now; @@ -2163,7 +2030,6 @@ void do_set_current_time(int argc, char *argv[]) current_fs->now = now; } } -#endif /* READ_ONLY */ static int find_supp_feature(__u32 *supp, int feature_type, char *name) { @@ -2230,132 +2096,10 @@ void do_supported_features(int argc, char *argv[]) } } -#ifndef READ_ONLY -void do_punch(int argc, char *argv[]) -{ - ext2_ino_t ino; - blk64_t start, end; - int err; - errcode_t errcode; - - if (common_args_process(argc, argv, 3, 4, argv[0], - " start_blk [end_blk]", - CHECK_FS_RW | CHECK_FS_BITMAPS)) - return; - - ino = string_to_inode(argv[1]); - if (!ino) - return; - err = strtoblk(argv[0], argv[2], &start); - if (err) - return; - if (argc == 4) { - err = strtoblk(argv[0], argv[3], &end); - if (err) - return; - } else - end = ~0; - - errcode = ext2fs_punch(current_fs, ino, 0, 0, start, end); - - if (errcode) { - com_err(argv[0], errcode, - "while truncating inode %u from %llu to %llu\n", ino, - (unsigned long long) start, (unsigned long long) end); - return; - } -} -#endif /* READ_ONLY */ - -void do_symlink(int argc, char *argv[]) -{ - char *cp; - ext2_ino_t parent; - char *name, *target; - errcode_t retval; - - if (common_args_process(argc, argv, 3, 3, "symlink", - " ", CHECK_FS_RW)) - return; - - cp = strrchr(argv[1], '/'); - if (cp) { - *cp = 0; - parent = string_to_inode(argv[1]); - if (!parent) { - com_err(argv[1], ENOENT, 0); - return; - } - name = cp+1; - } else { - parent = cwd; - name = argv[1]; - } - target = argv[2]; - -try_again: - retval = ext2fs_symlink(current_fs, parent, 0, name, target); - if (retval == EXT2_ET_DIR_NO_SPACE) { - retval = ext2fs_expand_dir(current_fs, parent); - if (retval) { - com_err(argv[0], retval, "while expanding directory"); - return; - } - goto try_again; - } - if (retval) { - com_err("ext2fs_symlink", retval, 0); - return; - } - -} - -void do_dump_mmp(int argc EXT2FS_ATTR((unused)), char *argv[]) -{ - struct ext2_super_block *sb; - struct mmp_struct *mmp_s; - time_t t; - errcode_t retval = 0; - - if (check_fs_open(argv[0])) - return; - - sb = current_fs->super; - - if (current_fs->mmp_buf == NULL) { - retval = ext2fs_get_mem(current_fs->blocksize, - ¤t_fs->mmp_buf); - if (retval) { - com_err(argv[0], retval, "allocating MMP buffer.\n"); - return; - } - } - - mmp_s = current_fs->mmp_buf; - - retval = ext2fs_mmp_read(current_fs, current_fs->super->s_mmp_block, - current_fs->mmp_buf); - if (retval) { - com_err(argv[0], retval, "reading MMP block.\n"); - return; - } - - t = mmp_s->mmp_time; - fprintf(stdout, "block_number: %llu\n", current_fs->super->s_mmp_block); - fprintf(stdout, "update_interval: %d\n", - current_fs->super->s_mmp_update_interval); - fprintf(stdout, "check_interval: %d\n", mmp_s->mmp_check_interval); - fprintf(stdout, "sequence: %08x\n", mmp_s->mmp_seq); - fprintf(stdout, "time: %lld -- %s", mmp_s->mmp_time, ctime(&t)); - fprintf(stdout, "node_name: %s\n", mmp_s->mmp_nodename); - fprintf(stdout, "device_name: %s\n", mmp_s->mmp_bdevname); - fprintf(stdout, "magic: 0x%x\n", mmp_s->mmp_magic); -} - -static int source_file(const char *cmd_file, int ss_idx) +static int source_file(const char *cmd_file, int sci_idx) { FILE *f; - char buf[BUFSIZ]; + char buf[256]; char *cp; int exit_status = 0; int retval; @@ -2383,9 +2127,9 @@ static int source_file(const char *cmd_file, int ss_idx) if (cp) *cp = 0; printf("debugfs: %s\n", buf); - retval = ss_execute_line(ss_idx, buf); + retval = ss_execute_line(sci_idx, buf); if (retval) { - ss_perror(ss_idx, retval, buf); + ss_perror(sci_idx, retval, buf); exit_status++; } } @@ -2397,39 +2141,26 @@ static int source_file(const char *cmd_file, int ss_idx) int main(int argc, char **argv) { int retval; - const char *usage = - "Usage: %s [-b blocksize] [-s superblock] [-f cmd_file] " - "[-R request] [-V] [" -#ifndef READ_ONLY - "[-w] " -#endif - "[-c] device]"; + int sci_idx; + const char *usage = "Usage: %s [-b blocksize] [-s superblock] [-f cmd_file] [-R request] [-V] [[-w] [-c] device]"; int c; - int open_flags = EXT2_FLAG_SOFTSUPP_FEATURES | EXT2_FLAG_64BITS; + int open_flags = EXT2_FLAG_SOFTSUPP_FEATURES; char *request = 0; int exit_status = 0; char *cmd_file = 0; - blk64_t superblock = 0; - blk64_t blocksize = 0; + blk_t superblock = 0; + blk_t blocksize = 0; int catastrophic = 0; char *data_filename = 0; -#ifdef READ_ONLY - const char *opt_string = "icR:f:b:s:Vd:D"; -#else - const char *opt_string = "iwcR:f:b:s:Vd:D"; -#endif if (debug_prog_name == 0) -#ifdef READ_ONLY - debug_prog_name = "rdebugfs"; -#else debug_prog_name = "debugfs"; -#endif + add_error_table(&et_ext2_error_table); fprintf (stderr, "%s %s (%s)\n", debug_prog_name, E2FSPROGS_VERSION, E2FSPROGS_DATE); - while ((c = getopt (argc, argv, opt_string)) != EOF) { + while ((c = getopt (argc, argv, "iwcR:f:b:s:Vd:D")) != EOF) { switch (c) { case 'R': request = optarg; @@ -2443,11 +2174,9 @@ int main(int argc, char **argv) case 'i': open_flags |= EXT2_FLAG_IMAGE_FILE; break; -#ifndef READ_ONLY case 'w': open_flags |= EXT2_FLAG_RW; break; -#endif case 'D': open_flags |= EXT2_FLAG_DIRECT_IO; break; @@ -2456,9 +2185,8 @@ int main(int argc, char **argv) "block size", 0); break; case 's': - retval = strtoblk(argv[0], optarg, &superblock); - if (retval) - return 1; + superblock = parse_ulong(optarg, argv[0], + "superblock number", 0); break; case 'c': catastrophic = 1; diff --git a/debugfs/debugfs.h b/debugfs/debugfs.h index 6b4f6ef1..bbfa760b 100644 --- a/debugfs/debugfs.h +++ b/debugfs/debugfs.h @@ -2,7 +2,6 @@ * debugfs.h --- header file for the debugfs program */ -#include "ss/ss.h" #include "ext2fs/ext2_fs.h" #include "ext2fs/ext2fs.h" @@ -22,8 +21,6 @@ extern ext2_filsys current_fs; extern ext2_ino_t root, cwd; -extern int sci_idx; -extern ss_request_table debug_cmds, extent_cmds; extern void reset_getopt(void); extern FILE *open_pager(void); @@ -37,27 +34,22 @@ extern char *time_to_string(__u32); extern time_t string_to_time(const char *); extern unsigned long parse_ulong(const char *str, const char *cmd, const char *descr, int *err); -extern unsigned long long parse_ulonglong(const char *str, const char *cmd, - const char *descr, int *err); -extern int strtoblk(const char *cmd, const char *str, blk64_t *ret); +extern int strtoblk(const char *cmd, const char *str, blk_t *ret); extern int common_args_process(int argc, char *argv[], int min_argc, int max_argc, const char *cmd, const char *usage, int flags); extern int common_inode_args_process(int argc, char *argv[], ext2_ino_t *inode, int flags); extern int common_block_args_process(int argc, char *argv[], - blk64_t *block, blk64_t *count); + blk_t *block, blk_t *count); extern int debugfs_read_inode(ext2_ino_t ino, struct ext2_inode * inode, const char *cmd); extern int debugfs_read_inode_full(ext2_ino_t ino, struct ext2_inode * inode, const char *cmd, int bufsize); extern int debugfs_write_inode(ext2_ino_t ino, struct ext2_inode * inode, const char *cmd); -extern int debugfs_write_inode_full(ext2_ino_t ino, struct ext2_inode * inode, - const char *cmd, int bufsize); extern int debugfs_write_new_inode(ext2_ino_t ino, struct ext2_inode * inode, const char *cmd); -extern int ext2_file_type(unsigned int mode); /* ss command functions */ @@ -66,32 +58,6 @@ extern void do_dump(int argc, char **argv); extern void do_cat(int argc, char **argv); extern void do_rdump(int argc, char **argv); -/* extent_inode.c */ -extern void do_extent_open(int argc, char **argv); -extern void do_extent_close(int argc, char **argv); -extern void do_current_node(int argc, char **argv); -extern void do_root_node(int argc, char **argv); -extern void do_last_leaf(int argc, char **argv); -extern void do_first_sib(int argc, char **argv); -extern void do_last_sib(int argc, char **argv); -extern void do_next_sib(int argc, char **argv); -extern void do_prev_sib(int argc, char **argv); -extern void do_next_leaf(int argc, char **argv); -extern void do_prev_leaf(int argc, char **argv); -extern void do_next(int argc, char **argv); -extern void do_prev(int argc, char **argv); -extern void do_up(int argc, char **argv); -extern void do_down(int argc, char **argv); -extern void do_delete_node(int argc, char **argv); -extern void do_replace_node(int argc, char **argv); -extern void do_split_node(int argc, char **argv); -extern void do_insert_node(int argc, char **argv); -extern void do_set_bmap(int argc, char **argv); -extern void do_print_all(int argc, char **argv); -extern void do_fix_parents(int argc, char **argv); -extern void do_info(int argc, char **argv); -extern void do_goto_block(int argc, char **argv); - /* htree.c */ extern void do_htree_dump(int argc, char **argv); extern void do_dx_hash(int argc, char **argv); @@ -135,8 +101,6 @@ extern void do_unlink(int argc, char **argv); extern void do_find_free_block(int argc, char **argv); extern void do_find_free_inode(int argc, char **argv); extern void do_stat(int argc, char **argv); -extern void do_dump_extents(int argc, char **argv); -extern void do_blocks(int argc, char *argv[]); extern void do_chroot(int argc, char **argv); extern void do_clri(int argc, char **argv); @@ -161,18 +125,4 @@ extern void do_bmap(int argc, char **argv); extern void do_imap(int argc, char **argv); extern void do_set_current_time(int argc, char **argv); extern void do_supported_features(int argc, char **argv); -extern void do_punch(int argc, char **argv); -extern void do_symlink(int argc, char **argv); - -extern void do_dump_mmp(int argc, char **argv); -extern void do_set_mmp_value(int argc, char **argv); - -extern void do_freefrag(int argc, char **argv); -extern void do_filefrag(int argc, char *argv[]); - -/* util.c */ -extern time_t string_to_time(const char *arg); -/* zap.c */ -extern void do_zap_block(int argc, char **argv); -extern void do_block_dump(int argc, char **argv); diff --git a/debugfs/dump.c b/debugfs/dump.c index 750ff3c2..ab0d68b9 100644 --- a/debugfs/dump.c +++ b/debugfs/dump.c @@ -5,9 +5,7 @@ * under the terms of the GNU Public License. */ -#ifndef _GNU_SOURCE #define _GNU_SOURCE /* for O_LARGEFILE */ -#endif #include #include @@ -104,10 +102,10 @@ static void dump_file(const char *cmdname, ext2_ino_t ino, int fd, { errcode_t retval; struct ext2_inode inode; - char *buf = 0; + char buf[8192]; ext2_file_t e2_file; int nbytes; - unsigned int got, blocksize = current_fs->blocksize; + unsigned int got; if (debugfs_read_inode(ino, &inode, cmdname)) return; @@ -117,13 +115,8 @@ static void dump_file(const char *cmdname, ext2_ino_t ino, int fd, com_err(cmdname, retval, "while opening ext2 file"); return; } - retval = ext2fs_get_mem(blocksize, &buf); - if (retval) { - com_err(cmdname, retval, "while allocating memory"); - return; - } while (1) { - retval = ext2fs_file_read(e2_file, buf, blocksize, &got); + retval = ext2fs_file_read(e2_file, buf, sizeof(buf), &got); if (retval) com_err(cmdname, retval, "while reading ext2 file"); if (got == 0) @@ -132,8 +125,6 @@ static void dump_file(const char *cmdname, ext2_ino_t ino, int fd, if ((unsigned) nbytes != got) com_err(cmdname, errno, "while writing file"); } - if (buf) - ext2fs_free_mem(&buf); retval = ext2fs_file_close(e2_file); if (retval) { com_err(cmdname, retval, "while closing ext2 file"); @@ -142,6 +133,8 @@ static void dump_file(const char *cmdname, ext2_ino_t ino, int fd, if (preserve) fix_perms("dump_file", &inode, fd, outname); + else if (fd != 1) + close(fd); return; } @@ -188,11 +181,6 @@ void do_dump(int argc, char **argv) } dump_file(argv[0], inode, fd, preserve, out_fn); - if (close(fd) != 0) { - com_err(argv[0], errno, "while closing %s for dump_inode", - out_fn); - return; - } return; } @@ -275,10 +263,6 @@ static void rdump_inode(ext2_ino_t ino, struct ext2_inode *inode, goto errout; } dump_file("rdump", ino, fd, 1, fullname); - if (close(fd) != 0) { - com_err("rdump", errno, "while dumping %s", fullname); - goto errout; - } } else if (LINUX_S_ISDIR(inode->i_mode) && strcmp(name, ".") && strcmp(name, "..")) { errcode_t retval; @@ -314,7 +298,8 @@ static int rdump_dirent(struct ext2_dir_entry *dirent, const char *dumproot = private; struct ext2_inode inode; - thislen = dirent->name_len & 0xFF; + thislen = ((dirent->name_len & 0xFF) < EXT2_NAME_LEN + ? (dirent->name_len & 0xFF) : EXT2_NAME_LEN); strncpy(name, dirent->name, thislen); name[thislen] = 0; diff --git a/debugfs/extent_cmds.ct b/debugfs/extent_cmds.ct deleted file mode 100644 index e1c4395c..00000000 --- a/debugfs/extent_cmds.ct +++ /dev/null @@ -1,77 +0,0 @@ -# -# Copyright (C) 1993 Theodore Ts'o. This file may be redistributed -# under the terms of the GNU Public License. -# -command_table extent_cmds; - -request do_current_node, "Current extent node", - current_node, current; - -request do_root_node, "Goto root extent", - root_node, root; - -request do_last_leaf, "Goto last leaf", - last_leaf; - -request do_first_sib, "Goto first sibling", - first_sibling, first_sib; - -request do_last_sib, "Goto last sibling", - last_sibling, last_sib; - -request do_next_sib, "Goto next sibling", - next_sibling, next_sib, ns; - -request do_prev_sib, "Goto previous sibling", - prev_sibling, prev_sib, ps; - -request do_next_leaf, "Goto next leaf", - next_leaf, nl; - -request do_prev_leaf, "Goto previous leaf", - prev_leaf, pl; - -request do_next, "Goto next node", - next, n; - -request do_prev, "Goto previous node", - previous, prev, p; - -request do_up, "Up node", - up_node, up, u; - -request do_down, "Down node", - down_node, down, d; - -request do_delete_node, "Delete node", - delete_node, delete; - -request do_insert_node, "Insert node", - insert_node, insert; - -request do_split_node, "Split node", - split_node, split; - -request do_fix_parents, "Fix parents", - fix_parents, fixp; - -request do_set_bmap, "Set block mapping", - set_bmap; - -request do_replace_node, "Insert node", - replace_node, replace; - -request do_print_all, "Iterate over all nodes and print them", - print_all, all; - -request do_goto_block, "Goto extent containing specified block", - goto_block, goto; - -request do_info, "Print extent info", - info; - -request do_extent_close, "Close extent handle", - extent_close, ec; - -end; - diff --git a/debugfs/extent_inode.c b/debugfs/extent_inode.c deleted file mode 100644 index 25b89465..00000000 --- a/debugfs/extent_inode.c +++ /dev/null @@ -1,537 +0,0 @@ -/* - * extent_inode.c --- direct extent tree manipulation - * - * Copyright (C) 2012 Theodore Ts'o. This file may be redistributed - * under the terms of the GNU Public License. - */ - -#include -#include -#include -#include -#include -#include -#ifdef HAVE_ERRNO_H -#include -#endif -#include -#ifdef HAVE_GETOPT_H -#include -#else -extern int optind; -extern char *optarg; -#endif - -#include "debugfs.h" - -static ext2_ino_t current_ino; -static ext2_extent_handle_t current_handle; - -static void dbg_print_extent(char *desc, struct ext2fs_extent *extent) -{ - if (desc) - printf("%s: ", desc); - printf("extent: lblk %llu--%llu, len %u, pblk %llu, flags: ", - extent->e_lblk, extent->e_lblk + extent->e_len - 1, - extent->e_len, extent->e_pblk); - if (extent->e_flags & EXT2_EXTENT_FLAGS_LEAF) - fputs("LEAF ", stdout); - if (extent->e_flags & EXT2_EXTENT_FLAGS_UNINIT) - fputs("UNINIT ", stdout); - if (extent->e_flags & EXT2_EXTENT_FLAGS_SECOND_VISIT) - fputs("2ND_VISIT ", stdout); - if (!extent->e_flags) - fputs("(none)", stdout); - fputc('\n', stdout); - -} - -static int common_extent_args_process(int argc, char *argv[], int min_argc, - int max_argc, const char *cmd, - const char *usage, int flags) -{ - if (common_args_process(argc, argv, min_argc, max_argc, cmd, - usage, flags)) - return 1; - - if (!current_handle) { - com_err(cmd, 0, "Extent handle not open"); - return 1; - } - return 0; -} - -static char *orig_prompt, *extent_prompt; - -void do_extent_open(int argc, char *argv[]) -{ - ext2_ino_t inode; - int ret; - errcode_t retval; - char *cp; - - if (check_fs_open(argv[0])) - return; - - if (argc == 1) { - if (current_ino) - printf("Current inode is %d\n", current_ino); - else - printf("No current inode\n"); - return; - } - - if (common_inode_args_process(argc, argv, &inode, 0)) - return; - - current_ino = 0; - - retval = ext2fs_extent_open(current_fs, inode, ¤t_handle); - if (retval) { - com_err(argv[1], retval, "while opening extent handle"); - return; - } - - current_ino = inode; - - orig_prompt = ss_get_prompt(sci_idx); - extent_prompt = malloc(strlen(orig_prompt) + 32); - strcpy(extent_prompt, orig_prompt); - cp = strchr(extent_prompt, ':'); - if (cp) - *cp = 0; - sprintf(extent_prompt + strlen(extent_prompt), " (extent ino %d): ", - current_ino); - ss_add_request_table(sci_idx, &extent_cmds, 1, &ret); - ss_set_prompt(sci_idx, extent_prompt); - return; -} - -void do_extent_close(int argc, char *argv[]) -{ - int ret; - - if (common_args_process(argc, argv, 1, 1, - "extent_close", "", 0)) - return; - - if (!current_handle) { - com_err(argv[0], 0, "Extent handle not open"); - return; - } - - ext2fs_extent_free(current_handle); - current_handle = NULL; - current_ino = 0; - ss_delete_request_table(sci_idx, &extent_cmds, &ret); - ss_set_prompt(sci_idx, orig_prompt); - free(extent_prompt); - extent_prompt = NULL; -} - -static void generic_goto_node(const char *my_name, int argc, - char **argv, int op) -{ - struct ext2fs_extent extent; - errcode_t retval; - - if (my_name && common_args_process(argc, argv, 1, 1, - my_name, "", 0)) - return; - - if (!current_handle) { - com_err(argv[0], 0, "Extent handle not open"); - return; - } - - retval = ext2fs_extent_get(current_handle, op, &extent); - if (retval) { - com_err(argv[0], retval, 0); - return; - } - dbg_print_extent(0, &extent); -} - -void do_current_node(int argc, char *argv[]) -{ - generic_goto_node("current_node", argc, argv, EXT2_EXTENT_CURRENT); -} - -void do_root_node(int argc, char *argv[]) -{ - generic_goto_node("root_node", argc, argv, EXT2_EXTENT_ROOT); -} - -void do_last_leaf(int argc, char *argv[]) -{ - generic_goto_node("last_leaf", argc, argv, EXT2_EXTENT_LAST_LEAF); -} - -void do_first_sib(int argc, char *argv[]) -{ - generic_goto_node("first_sib", argc, argv, EXT2_EXTENT_FIRST_SIB); -} - -void do_last_sib(int argc, char *argv[]) -{ - generic_goto_node("next_sib", argc, argv, EXT2_EXTENT_LAST_SIB); -} - -void do_next_sib(int argc, char *argv[]) -{ - generic_goto_node("next_sib", argc, argv, EXT2_EXTENT_NEXT_SIB); -} - -void do_prev_sib(int argc, char *argv[]) -{ - generic_goto_node("prev_sib", argc, argv, EXT2_EXTENT_PREV_SIB); -} - -void do_next_leaf(int argc, char *argv[]) -{ - generic_goto_node("next_leaf", argc, argv, EXT2_EXTENT_NEXT_LEAF); -} - -void do_prev_leaf(int argc, char *argv[]) -{ - generic_goto_node("prev_leaf", argc, argv, EXT2_EXTENT_PREV_LEAF); -} - -void do_next(int argc, char *argv[]) -{ - generic_goto_node("next", argc, argv, EXT2_EXTENT_NEXT); -} - -void do_prev(int argc, char *argv[]) -{ - generic_goto_node("prev", argc, argv, EXT2_EXTENT_PREV); -} - -void do_up(int argc, char *argv[]) -{ - generic_goto_node("up", argc, argv, EXT2_EXTENT_UP); -} - -void do_down(int argc, char *argv[]) -{ - generic_goto_node("down", argc, argv, EXT2_EXTENT_DOWN); -} - -void do_delete_node(int argc, char *argv[]) -{ - struct ext2fs_extent extent; - errcode_t retval; - - if (common_extent_args_process(argc, argv, 1, 1, "delete_node", - "", CHECK_FS_RW | CHECK_FS_BITMAPS)) - return; - - retval = ext2fs_extent_delete(current_handle, 0); - if (retval) { - com_err(argv[0], retval, 0); - return; - } - - retval = ext2fs_extent_get(current_handle, EXT2_EXTENT_CURRENT, - &extent); - if (retval) - return; - dbg_print_extent(0, &extent); -} - -void do_replace_node(int argc, char *argv[]) -{ - const char *usage = "[--uninit] "; - errcode_t retval; - struct ext2fs_extent extent; - int err; - - if (common_extent_args_process(argc, argv, 3, 5, "replace_node", - usage, CHECK_FS_RW | CHECK_FS_BITMAPS)) - return; - - extent.e_flags = 0; - - if (!strcmp(argv[1], "--uninit")) { - argc--; - argv++; - extent.e_flags |= EXT2_EXTENT_FLAGS_UNINIT; - } - - if (argc != 4) { - fprintf(stderr, "Usage: %s %s\n", argv[0], usage); - return; - } - - err = strtoblk(argv[0], argv[1], &extent.e_lblk); - if (err) - return; - - extent.e_len = parse_ulong(argv[2], argv[0], "logical block", &err); - if (err) - return; - - err = strtoblk(argv[0], argv[3], &extent.e_pblk); - if (err) - return; - - retval = ext2fs_extent_replace(current_handle, 0, &extent); - if (retval) { - com_err(argv[0], retval, 0); - return; - } - generic_goto_node(NULL, argc, argv, EXT2_EXTENT_CURRENT); -} - -void do_split_node(int argc, char *argv[]) -{ - errcode_t retval; - - if (common_extent_args_process(argc, argv, 1, 1, "split_node", - "", CHECK_FS_RW | CHECK_FS_BITMAPS)) - return; - - retval = ext2fs_extent_node_split(current_handle); - if (retval) { - com_err(argv[0], retval, 0); - return; - } - generic_goto_node(NULL, argc, argv, EXT2_EXTENT_CURRENT); -} - -void do_insert_node(int argc, char *argv[]) -{ - const char *usage = "[--after] [--uninit] "; - errcode_t retval; - struct ext2fs_extent extent; - char *cmd; - int err; - int flags = 0; - - if (common_extent_args_process(argc, argv, 3, 6, "insert_node", - usage, CHECK_FS_RW | CHECK_FS_BITMAPS)) - return; - - cmd = argv[0]; - - extent.e_flags = 0; - - while (argc > 2) { - if (!strcmp(argv[1], "--after")) { - argc--; - argv++; - flags |= EXT2_EXTENT_INSERT_AFTER; - continue; - } - if (!strcmp(argv[1], "--uninit")) { - argc--; - argv++; - extent.e_flags |= EXT2_EXTENT_FLAGS_UNINIT; - continue; - } - break; - } - - if (argc != 4) { - fprintf(stderr, "usage: %s %s\n", cmd, usage); - return; - } - - err = strtoblk(cmd, argv[1], &extent.e_lblk); - if (err) - return; - - extent.e_len = parse_ulong(argv[2], cmd, - "length", &err); - if (err) - return; - - err = strtoblk(cmd, argv[3], &extent.e_pblk); - if (err) - return; - - retval = ext2fs_extent_insert(current_handle, flags, &extent); - if (retval) { - com_err(cmd, retval, 0); - return; - } - generic_goto_node(NULL, argc, argv, EXT2_EXTENT_CURRENT); -} - -void do_set_bmap(int argc, char **argv) -{ - const char *usage = "[--uninit] "; - struct ext2fs_extent extent; - errcode_t retval; - blk64_t logical; - blk64_t physical; - char *cmd = argv[0]; - int flags = 0; - int err; - - if (common_extent_args_process(argc, argv, 3, 5, "set_bmap", - usage, CHECK_FS_RW | CHECK_FS_BITMAPS)) - return; - - if (argc > 2 && !strcmp(argv[1], "--uninit")) { - argc--; - argv++; - flags |= EXT2_EXTENT_SET_BMAP_UNINIT; - } - - if (argc != 3) { - fprintf(stderr, "Usage: %s %s\n", cmd, usage); - return; - } - - err = strtoblk(cmd, argv[1], &logical); - if (err) - return; - - err = strtoblk(cmd, argv[2], &physical); - if (err) - return; - - retval = ext2fs_extent_set_bmap(current_handle, logical, - physical, flags); - if (retval) { - com_err(cmd, retval, 0); - return; - } - - retval = ext2fs_extent_get(current_handle, EXT2_EXTENT_CURRENT, - &extent); - if (retval) - return; - dbg_print_extent(0, &extent); -} - -void do_print_all(int argc, char **argv) -{ - const char *usage = "[--leaf-only|--reverse|--reverse-leaf]"; - struct ext2fs_extent extent; - errcode_t retval; - errcode_t end_err = EXT2_ET_EXTENT_NO_NEXT; - int op = EXT2_EXTENT_NEXT; - int first_op = EXT2_EXTENT_ROOT; - - - if (common_extent_args_process(argc, argv, 1, 2, "print_all", - usage, 0)) - return; - - if (argc == 2) { - if (!strcmp(argv[1], "--leaf-only")) - op = EXT2_EXTENT_NEXT_LEAF; - else if (!strcmp(argv[1], "--reverse")) { - op = EXT2_EXTENT_PREV; - first_op = EXT2_EXTENT_LAST_LEAF; - end_err = EXT2_ET_EXTENT_NO_PREV; - } else if (!strcmp(argv[1], "--reverse-leaf")) { - op = EXT2_EXTENT_PREV_LEAF; - first_op = EXT2_EXTENT_LAST_LEAF; - end_err = EXT2_ET_EXTENT_NO_PREV; - } else { - fprintf(stderr, "Usage: %s %s\n", argv[0], usage); - return; - } - } - - retval = ext2fs_extent_get(current_handle, first_op, &extent); - if (retval) { - com_err(argv[0], retval, 0); - return; - } - dbg_print_extent(0, &extent); - - while (1) { - retval = ext2fs_extent_get(current_handle, op, &extent); - if (retval == end_err) - break; - - if (retval) { - com_err(argv[0], retval, 0); - return; - } - dbg_print_extent(0, &extent); - } -} - -void do_fix_parents(int argc, char **argv) -{ - errcode_t retval; - - if (common_extent_args_process(argc, argv, 1, 1, "fix_parents", "", - CHECK_FS_RW)) - return; - - retval = ext2fs_extent_fix_parents(current_handle); - if (retval) { - com_err(argv[0], retval, 0); - return; - } -} - -void do_info(int argc, char **argv) -{ - struct ext2fs_extent extent; - struct ext2_extent_info info; - errcode_t retval; - - if (common_extent_args_process(argc, argv, 1, 1, "info", "", 0)) - return; - - retval = ext2fs_extent_get_info(current_handle, &info); - if (retval) { - com_err(argv[0], retval, 0); - return; - } - - retval = ext2fs_extent_get(current_handle, - EXT2_EXTENT_CURRENT, &extent); - if (retval) { - com_err(argv[0], retval, 0); - return; - } - - dbg_print_extent(0, &extent); - - printf("Current handle location: %d/%d (max: %d, bytes %d), level %d/%d\n", - info.curr_entry, info.num_entries, info.max_entries, - info.bytes_avail, info.curr_level, info.max_depth); - printf("\tmax lblk: %llu, max pblk: %llu\n", info.max_lblk, - info.max_pblk); - printf("\tmax_len: %u, max_uninit_len: %u\n", info.max_len, - info.max_uninit_len); -} - -void do_goto_block(int argc, char **argv) -{ - errcode_t retval; - blk64_t blk; - int level = 0, err; - - if (common_extent_args_process(argc, argv, 2, 3, "goto_block", - "block [level]", 0)) - return; - - if (strtoblk(argv[0], argv[1], &blk)) - return; - - if (argc == 3) { - level = parse_ulong(argv[2], argv[0], "level", &err); - if (err) - return; - } - - retval = ext2fs_extent_goto2(current_handle, level, (blk64_t) blk); - - if (retval) { - com_err(argv[0], retval, - "while trying to go to block %llu, level %d", - (unsigned long long) blk, level); - return; - } - - generic_goto_node(NULL, argc, argv, EXT2_EXTENT_CURRENT); -} diff --git a/debugfs/filefrag.c b/debugfs/filefrag.c deleted file mode 100644 index 67a76788..00000000 --- a/debugfs/filefrag.c +++ /dev/null @@ -1,323 +0,0 @@ -/* - * filefrag.c --- display the fragmentation information for a file - * - * Copyright (C) 2011 Theodore Ts'o. This file may be redistributed - * under the terms of the GNU Public License. - */ - -#include -#include -#include -#include -#include -#include -#ifdef HAVE_ERRNO_H -#include -#endif -#include -#include -#include -#include -#ifdef HAVE_GETOPT_H -#include -#else -extern int optind; -extern char *optarg; -#endif - -#include "debugfs.h" - -#define VERBOSE_OPT 0x0001 -#define DIR_OPT 0x0002 -#define RECURSIVE_OPT 0x0004 - -struct dir_list { - char *name; - ext2_ino_t ino; - struct dir_list *next; -}; - -struct filefrag_struct { - FILE *f; - const char *name; - const char *dir_name; - int options; - int logical_width; - int physical_width; - int ext; - int cont_ext; - e2_blkcnt_t num; - e2_blkcnt_t logical_start; - blk64_t physical_start; - blk64_t expected; - struct dir_list *dir_list, *dir_last; -}; - -static int int_log10(unsigned long long arg) -{ - int l = 0; - - arg = arg / 10; - while (arg) { - l++; - arg = arg / 10; - } - return l; -} - -static void print_header(struct filefrag_struct *fs) -{ - if (fs->options & VERBOSE_OPT) { - fprintf(fs->f, "%4s %*s %*s %*s %*s\n", "ext", - fs->logical_width, "logical", fs->physical_width, - "physical", fs->physical_width, "expected", - fs->logical_width, "length"); - } -} - -static void report_filefrag(struct filefrag_struct *fs) -{ - if (fs->num == 0) - return; - if (fs->options & VERBOSE_OPT) { - if (fs->expected) - fprintf(fs->f, "%4d %*lu %*llu %*llu %*lu\n", fs->ext, - fs->logical_width, - (unsigned long) fs->logical_start, - fs->physical_width, fs->physical_start, - fs->physical_width, fs->expected, - fs->logical_width, (unsigned long) fs->num); - else - fprintf(fs->f, "%4d %*lu %*llu %*s %*lu\n", fs->ext, - fs->logical_width, - (unsigned long) fs->logical_start, - fs->physical_width, fs->physical_start, - fs->physical_width, "", - fs->logical_width, (unsigned long) fs->num); - } - fs->ext++; -} - -static int filefrag_blocks_proc(ext2_filsys ext4_fs EXT2FS_ATTR((unused)), - blk64_t *blocknr, e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), - int ref_offset EXT2FS_ATTR((unused)), - void *private) -{ - struct filefrag_struct *fs = private; - - if (blockcnt < 0 || *blocknr == 0) - return 0; - - if ((fs->num == 0) || (blockcnt != fs->logical_start + fs->num) || - (*blocknr != fs->physical_start + fs->num)) { - report_filefrag(fs); - if (blockcnt == fs->logical_start + fs->num) - fs->expected = fs->physical_start + fs->num; - else - fs->expected = 0; - fs->logical_start = blockcnt; - fs->physical_start = *blocknr; - fs->num = 1; - fs->cont_ext++; - } else - fs->num++; - return 0; -} - -static void filefrag(ext2_ino_t ino, struct ext2_inode *inode, - struct filefrag_struct *fs) -{ - errcode_t retval; - int blocksize = current_fs->blocksize; - - fs->logical_width = int_log10((EXT2_I_SIZE(inode) + blocksize - 1) / - blocksize) + 1; - if (fs->logical_width < 7) - fs->logical_width = 7; - fs->ext = 0; - fs->cont_ext = 0; - fs->logical_start = 0; - fs->physical_start = 0; - fs->num = 0; - - if (fs->options & VERBOSE_OPT) { - blk64_t num_blocks = ext2fs_inode_i_blocks(current_fs, inode); - - if (!(current_fs->super->s_feature_ro_compat & - EXT4_FEATURE_RO_COMPAT_HUGE_FILE) || - !(inode->i_flags & EXT4_HUGE_FILE_FL)) - num_blocks /= current_fs->blocksize / 512; - - fprintf(fs->f, "\n%s has %llu block(s), i_size is %llu\n", - fs->name, num_blocks, EXT2_I_SIZE(inode)); - } - print_header(fs); - retval = ext2fs_block_iterate3(current_fs, ino, - BLOCK_FLAG_READ_ONLY, NULL, - filefrag_blocks_proc, fs); - if (retval) - com_err("ext2fs_block_iterate3", retval, 0); - - report_filefrag(fs); - fprintf(fs->f, "%s: %d contiguous extents%s\n", fs->name, fs->ext, - LINUX_S_ISDIR(inode->i_mode) ? " (dir)" : ""); -} - -static int filefrag_dir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)), - int entry, - struct ext2_dir_entry *dirent, - int offset EXT2FS_ATTR((unused)), - int blocksize EXT2FS_ATTR((unused)), - char *buf EXT2FS_ATTR((unused)), - void *private) -{ - struct filefrag_struct *fs = private; - struct ext2_inode inode; - ext2_ino_t ino; - char name[EXT2_NAME_LEN + 1]; - char *cp; - int thislen; - - if (entry == DIRENT_DELETED_FILE) - return 0; - - thislen = dirent->name_len & 0xFF; - strncpy(name, dirent->name, thislen); - name[thislen] = '\0'; - ino = dirent->inode; - - if (!strcmp(name, ".") || !strcmp(name, "..")) - return 0; - - cp = malloc(strlen(fs->dir_name) + strlen(name) + 2); - if (!cp) { - fprintf(stderr, "Couldn't allocate memory for %s/%s\n", - fs->dir_name, name); - return 0; - } - - sprintf(cp, "%s/%s", fs->dir_name, name); - fs->name = cp; - - if (debugfs_read_inode(ino, &inode, fs->name)) - goto errout; - - filefrag(ino, &inode, fs); - - if ((fs->options & RECURSIVE_OPT) && LINUX_S_ISDIR(inode.i_mode)) { - struct dir_list *p; - - p = malloc(sizeof(struct dir_list)); - if (!p) { - fprintf(stderr, "Couldn't allocate dir_list for %s\n", - fs->name); - goto errout; - } - memset(p, 0, sizeof(struct dir_list)); - p->name = cp; - p->ino = ino; - if (fs->dir_last) - fs->dir_last->next = p; - else - fs->dir_list = p; - fs->dir_last = p; - return 0; - } -errout: - free(cp); - fs->name = 0; - return 0; -} - - -static void dir_iterate(ext2_ino_t ino, struct filefrag_struct *fs) -{ - errcode_t retval; - struct dir_list *p = NULL; - - fs->dir_name = fs->name; - - while (1) { - retval = ext2fs_dir_iterate2(current_fs, ino, 0, - 0, filefrag_dir_proc, fs); - if (retval) - com_err("ext2fs_dir_iterate2", retval, 0); - if (p) { - free(p->name); - fs->dir_list = p->next; - if (!fs->dir_list) - fs->dir_last = 0; - free(p); - } - p = fs->dir_list; - if (!p) - break; - ino = p->ino; - fs->dir_name = p->name; - } -} - -void do_filefrag(int argc, char *argv[]) -{ - struct filefrag_struct fs; - struct ext2_inode inode; - ext2_ino_t ino; - int c; - - memset(&fs, 0, sizeof(fs)); - if (check_fs_open(argv[0])) - return; - - reset_getopt(); - while ((c = getopt(argc, argv, "dvr")) != EOF) { - switch (c) { - case 'd': - fs.options |= DIR_OPT; - break; - case 'v': - fs.options |= VERBOSE_OPT; - break; - case 'r': - fs.options |= RECURSIVE_OPT; - break; - default: - goto print_usage; - } - } - - if (argc > optind+1) { - print_usage: - com_err(0, 0, "Usage: filefrag [-dvr] file"); - return; - } - - if (argc == optind) { - ino = cwd; - fs.name = "."; - } else { - ino = string_to_inode(argv[optind]); - fs.name = argv[optind]; - } - if (!ino) - return; - - if (debugfs_read_inode(ino, &inode, argv[0])) - return; - - fs.f = open_pager(); - fs.physical_width = int_log10(ext2fs_blocks_count(current_fs->super)); - fs.physical_width++; - if (fs.physical_width < 8) - fs.physical_width = 8; - - if (!LINUX_S_ISDIR(inode.i_mode) || (fs.options & DIR_OPT)) - filefrag(ino, &inode, &fs); - else - dir_iterate(ino, &fs); - - fprintf(fs.f, "\n"); - close_pager(fs.f); - - return; -} diff --git a/debugfs/htree.c b/debugfs/htree.c index 03b62a75..77dc88bc 100644 --- a/debugfs/htree.c +++ b/debugfs/htree.c @@ -31,32 +31,33 @@ static FILE *pager; static void htree_dump_leaf_node(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode *inode, struct ext2_dx_root_info * rootnode, - blk64_t blk, char *buf) + blk_t blk, char *buf) { errcode_t errcode; struct ext2_dir_entry *dirent; int thislen, col = 0; unsigned int offset = 0; char name[EXT2_NAME_LEN + 1]; - char tmp[EXT2_NAME_LEN + 64]; - blk64_t pblk; + char tmp[EXT2_NAME_LEN + 16]; + blk_t pblk; ext2_dirhash_t hash, minor_hash; unsigned int rec_len; int hash_alg; - errcode = ext2fs_bmap2(fs, ino, inode, buf, 0, blk, 0, &pblk); + errcode = ext2fs_bmap(fs, ino, inode, buf, 0, blk, &pblk); if (errcode) { com_err("htree_dump_leaf_node", errcode, - "while mapping logical block %llu\n", blk); + "while mapping logical block %u\n", blk); return; } - fprintf(pager, "Reading directory block %llu, phys %llu\n", blk, pblk); + printf("Reading directory block %lu, phys %lu\n", + (unsigned long) blk, (unsigned long) pblk); errcode = ext2fs_read_dir_block2(current_fs, pblk, buf, 0); if (errcode) { com_err("htree_dump_leaf_node", errcode, - "while reading block %llu (%llu)\n", - blk, pblk); + "while reading block %lu (%lu)\n", + (unsigned long) blk, (unsigned long) pblk); return; } hash_alg = rootnode->hash_version; @@ -77,11 +78,11 @@ static void htree_dump_leaf_node(ext2_filsys fs, ext2_ino_t ino, (rec_len < 8) || ((rec_len % 4) != 0) || ((((unsigned) dirent->name_len & 0xFF)+8) > rec_len)) { - fprintf(pager, "Corrupted directory block (%llu)!\n", - blk); + fprintf(pager, "Corrupted directory block (%u)!\n", blk); break; } - thislen = dirent->name_len & 0xFF; + thislen = ((dirent->name_len & 0xFF) < EXT2_NAME_LEN) ? + (dirent->name_len & 0xFF) : EXT2_NAME_LEN; strncpy(name, dirent->name, thislen); name[thislen] = '\0'; errcode = ext2fs_dirhash(hash_alg, name, @@ -90,8 +91,8 @@ static void htree_dump_leaf_node(ext2_filsys fs, ext2_ino_t ino, if (errcode) com_err("htree_dump_leaf_node", errcode, "while calculating hash"); - snprintf(tmp, EXT2_NAME_LEN + 64, "%u 0x%08x-%08x (%d) %s ", - dirent->inode, hash, minor_hash, rec_len, name); + sprintf(tmp, "%u 0x%08x-%08x (%d) %s ", dirent->inode, + hash, minor_hash, rec_len, name); thislen = strlen(tmp); if (col + thislen > 80) { fprintf(pager, "\n"); @@ -108,7 +109,7 @@ static void htree_dump_leaf_node(ext2_filsys fs, ext2_ino_t ino, static void htree_dump_int_block(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode *inode, struct ext2_dx_root_info * rootnode, - blk64_t blk, char *buf, int level); + blk_t blk, char *buf, int level); static void htree_dump_int_node(ext2_filsys fs, ext2_ino_t ino, @@ -157,11 +158,11 @@ static void htree_dump_int_node(ext2_filsys fs, ext2_ino_t ino, static void htree_dump_int_block(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode *inode, struct ext2_dx_root_info * rootnode, - blk64_t blk, char *buf, int level) + blk_t blk, char *buf, int level) { char *cbuf; errcode_t errcode; - blk64_t pblk; + blk_t pblk; cbuf = malloc(fs->blocksize); if (!cbuf) { @@ -169,17 +170,17 @@ static void htree_dump_int_block(ext2_filsys fs, ext2_ino_t ino, return; } - errcode = ext2fs_bmap2(fs, ino, inode, buf, 0, blk, 0, &pblk); + errcode = ext2fs_bmap(fs, ino, inode, buf, 0, blk, &pblk); if (errcode) { com_err("htree_dump_int_block", errcode, - "while mapping logical block %llu\n", blk); + "while mapping logical block %u\n", blk); goto errout; } - errcode = io_channel_read_blk64(current_fs->io, pblk, 1, buf); + errcode = io_channel_read_blk(current_fs->io, pblk, 1, buf); if (errcode) { com_err("htree_dump_int_block", errcode, - "while reading block %llu\n", blk); + "while reading block %u\n", blk); goto errout; } @@ -196,10 +197,13 @@ void do_htree_dump(int argc, char *argv[]) { ext2_ino_t ino; struct ext2_inode inode; - blk64_t blk; + int c; + int long_opt = 0; + blk_t blk; char *buf = NULL; struct ext2_dx_root_info *rootnode; struct ext2_dx_entry *ent; + struct ext2_dx_countlimit *limit; errcode_t errcode; if (check_fs_open(argv[0])) @@ -207,7 +211,28 @@ void do_htree_dump(int argc, char *argv[]) pager = open_pager(); - if (common_inode_args_process(argc, argv, &ino, 0)) + reset_getopt(); + while ((c = getopt (argc, argv, "l")) != EOF) { + switch (c) { + case 'l': + long_opt++; + break; + default: + goto print_usage; + } + } + + if (argc > optind+1) { + print_usage: + com_err(0, 0, "Usage: htree_dump [-l] file"); + goto errout; + } + + if (argc == optind) + ino = cwd; + else + ino = string_to_inode(argv[optind]); + if (!ino) goto errout; if (debugfs_read_inode(ino, &inode, argv[1])) @@ -229,15 +254,15 @@ void do_htree_dump(int argc, char *argv[]) goto errout; } - errcode = ext2fs_bmap2(current_fs, ino, &inode, buf, 0, 0, 0, &blk); + errcode = ext2fs_bmap(current_fs, ino, &inode, buf, 0, 0, &blk); if (errcode) { com_err("do_htree_block", errcode, "while mapping logical block 0\n"); goto errout; } - errcode = io_channel_read_blk64(current_fs->io, blk, - 1, buf); + errcode = io_channel_read_blk(current_fs->io, blk, + 1, buf); if (errcode) { com_err(argv[0], errcode, "Error reading root node"); goto errout; @@ -253,6 +278,7 @@ void do_htree_dump(int argc, char *argv[]) fprintf(pager, "\t Flags: %d\n", rootnode->unused_flags); ent = (struct ext2_dx_entry *) (buf + 24 + rootnode->info_length); + limit = (struct ext2_dx_countlimit *) ent; htree_dump_int_node(current_fs, ino, &inode, rootnode, ent, buf + current_fs->blocksize, @@ -322,8 +348,8 @@ struct process_block_struct { int len; }; -static int search_dir_block(ext2_filsys fs, blk64_t *blocknr, - e2_blkcnt_t blockcnt, blk64_t ref_blk, +static int search_dir_block(ext2_filsys fs, blk_t *blocknr, + e2_blkcnt_t blockcnt, blk_t ref_blk, int ref_offset, void *priv_data); void do_dirsearch(int argc, char *argv[]) @@ -351,16 +377,16 @@ void do_dirsearch(int argc, char *argv[]) pb.search_name = argv[2]; pb.len = strlen(pb.search_name); - ext2fs_block_iterate3(current_fs, inode, BLOCK_FLAG_READ_ONLY, 0, + ext2fs_block_iterate2(current_fs, inode, BLOCK_FLAG_READ_ONLY, 0, search_dir_block, &pb); free(pb.buf); } -static int search_dir_block(ext2_filsys fs, blk64_t *blocknr, +static int search_dir_block(ext2_filsys fs, blk_t *blocknr, e2_blkcnt_t blockcnt, - blk64_t ref_blk EXT2FS_ATTR((unused)), + blk_t ref_blk EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { @@ -375,7 +401,7 @@ static int search_dir_block(ext2_filsys fs, blk64_t *blocknr, p = (struct process_block_struct *) priv_data; - errcode = io_channel_read_blk64(current_fs->io, *blocknr, 1, p->buf); + errcode = io_channel_read_blk(current_fs->io, *blocknr, 1, p->buf); if (errcode) { com_err("search_dir_block", errcode, "while reading block %lu", (unsigned long) *blocknr); @@ -396,7 +422,7 @@ static int search_dir_block(ext2_filsys fs, blk64_t *blocknr, strncmp(p->search_name, dirent->name, p->len) == 0) { printf("Entry found at logical block %lld, " - "phys %llu, offset %u\n", (long long)blockcnt, + "phys %u, offset %u\n", (long long)blockcnt, *blocknr, offset); printf("offset %u\n", offset); return BLOCK_ABORT; diff --git a/debugfs/icheck.c b/debugfs/icheck.c index 57fa80b1..4b090a9c 100644 --- a/debugfs/icheck.c +++ b/debugfs/icheck.c @@ -19,7 +19,7 @@ #include "debugfs.h" struct block_info { - blk64_t blk; + blk_t blk; ext2_ino_t ino; }; @@ -31,9 +31,9 @@ struct block_walk_struct { }; static int icheck_proc(ext2_filsys fs EXT2FS_ATTR((unused)), - blk64_t *block_nr, + blk_t *block_nr, e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *private) { @@ -106,23 +106,19 @@ void do_icheck(int argc, char **argv) } while (ino) { - blk64_t blk; - if (!inode.i_links_count) goto next; bw.inode = ino; - blk = ext2fs_file_acl_block(current_fs, &inode); - if (blk) { - icheck_proc(current_fs, &blk, 0, + if (inode.i_file_acl) { + icheck_proc(current_fs, &inode.i_file_acl, 0, 0, 0, &bw); if (bw.blocks_left == 0) break; - ext2fs_file_acl_block_set(current_fs, &inode, blk); } - if (!ext2fs_inode_has_valid_blocks2(current_fs, &inode)) + if (!ext2fs_inode_has_valid_blocks(&inode)) goto next; /* * To handle filesystems touched by 0.3c extfs; can be @@ -131,7 +127,7 @@ void do_icheck(int argc, char **argv) if (inode.i_dtime) goto next; - retval = ext2fs_block_iterate3(current_fs, ino, + retval = ext2fs_block_iterate2(current_fs, ino, BLOCK_FLAG_READ_ONLY, block_buf, icheck_proc, &bw); if (retval) { @@ -157,10 +153,10 @@ void do_icheck(int argc, char **argv) printf("Block\tInode number\n"); for (i=0, binfo = bw.barray; i < bw.num_blocks; i++, binfo++) { if (binfo->ino == 0) { - printf("%llu\t\n", binfo->blk); + printf("%u\t\n", binfo->blk); continue; } - printf("%llu\t%u\n", binfo->blk, binfo->ino); + printf("%u\t%u\n", binfo->blk, binfo->ino); } error_out: diff --git a/debugfs/logdump.c b/debugfs/logdump.c index f257171c..9364ce46 100644 --- a/debugfs/logdump.c +++ b/debugfs/logdump.c @@ -36,12 +36,12 @@ extern char *optarg; enum journal_location {JOURNAL_IS_INTERNAL, JOURNAL_IS_EXTERNAL}; -#define ANY_BLOCK ((blk64_t) -1) +#define ANY_BLOCK ((blk_t) -1) -static int dump_all, dump_contents, dump_descriptors; -static blk64_t block_to_dump, bitmap_to_dump, inode_block_to_dump; -static unsigned int group_to_dump, inode_offset_to_dump; -static ext2_ino_t inode_to_dump; +int dump_all, dump_contents, dump_descriptors; +blk_t block_to_dump, bitmap_to_dump, inode_block_to_dump; +unsigned int group_to_dump, inode_offset_to_dump; +ext2_ino_t inode_to_dump; struct journal_source { @@ -157,11 +157,11 @@ void do_logdump(int argc, char **argv) / sizeof(struct ext2_inode)); inode_block_to_dump = - ext2fs_inode_table_loc(current_fs, inode_group) + + current_fs->group_desc[inode_group].bg_inode_table + (group_offset / inodes_per_block); inode_offset_to_dump = ((group_offset % inodes_per_block) * sizeof(struct ext2_inode)); - printf("Inode %u is at group %u, block %llu, offset %u\n", + printf("Inode %u is at group %u, block %u, offset %u\n", inode_to_dump, inode_group, inode_block_to_dump, inode_offset_to_dump); } @@ -182,7 +182,7 @@ void do_logdump(int argc, char **argv) group_to_dump = ((block_to_dump - es->s_first_data_block) / es->s_blocks_per_group); - bitmap_to_dump = ext2fs_block_bitmap_loc(current_fs, group_to_dump); + bitmap_to_dump = current_fs->group_desc[group_to_dump].bg_block_bitmap; } if (!journal_fn && check_fs_open(argv[0])) @@ -209,7 +209,6 @@ void do_logdump(int argc, char **argv) memset(&journal_inode, 0, sizeof(struct ext2_inode)); memcpy(&journal_inode.i_block[0], es->s_jnl_blocks, EXT2_N_BLOCKS*4); - journal_inode.i_size_high = es->s_jnl_blocks[15]; journal_inode.i_size = es->s_jnl_blocks[16]; journal_inode.i_links_count = 1; journal_inode.i_mode = LINUX_S_IFREG | 0600; @@ -369,7 +368,7 @@ static void dump_journal(char *cmdname, FILE *out_file, fprintf(out_file, "\tuuid=%s\n", jsb_buffer); fprintf(out_file, "\tblocksize=%d\n", blocksize); fprintf(out_file, "\tjournal data size %lu\n", - (unsigned long) ext2fs_blocks_count(sb)); + (unsigned long) sb->s_blocks_count); } } @@ -623,7 +622,7 @@ static void dump_metadata_block(FILE *out_file, struct journal_source *source, offset = ((block_to_dump - super->s_first_data_block) % super->s_blocks_per_group); - fprintf(out_file, " (block bitmap for block %llu: " + fprintf(out_file, " (block bitmap for block %u: " "block is %s)\n", block_to_dump, ext2fs_test_bit(offset, buf) ? "SET" : "CLEAR"); diff --git a/debugfs/ls.c b/debugfs/ls.c index f21e96ed..906504e7 100644 --- a/debugfs/ls.c +++ b/debugfs/ls.c @@ -60,7 +60,8 @@ static int list_dir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)), int thislen; struct list_dir_struct *ls = (struct list_dir_struct *) private; - thislen = dirent->name_len & 0xFF; + thislen = ((dirent->name_len & 0xFF) < EXT2_NAME_LEN) ? + (dirent->name_len & 0xFF) : EXT2_NAME_LEN; strncpy(name, dirent->name, thislen); name[thislen] = '\0'; ino = dirent->inode; @@ -73,18 +74,15 @@ static int list_dir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)), lbr = rbr = ' '; } if (ls->options & PARSE_OPT) { - if (ino) { - if (debugfs_read_inode(ino, &inode, name)) - return 0; - } else - memset(&inode, 0, sizeof(struct ext2_inode)); + if (ino && debugfs_read_inode(ino, &inode, name)) return 0; fprintf(ls->f,"/%u/%06o/%d/%d/%s/",ino,inode.i_mode,inode.i_uid, inode.i_gid,name); if (LINUX_S_ISDIR(inode.i_mode)) fprintf(ls->f, "/"); else - fprintf(ls->f, "%lld/", EXT2_I_SIZE(&inode)); + fprintf(ls->f, "%lld/", inode.i_size | ((__u64)inode.i_size_high << 32)); fprintf(ls->f, "\n"); - } else if (ls->options & LONG_OPT) { + } + else if (ls->options & LONG_OPT) { if (ino) { if (debugfs_read_inode(ino, &inode, name)) return 0; @@ -104,7 +102,8 @@ static int list_dir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)), if (LINUX_S_ISDIR(inode.i_mode)) fprintf(ls->f, "%5d", inode.i_size); else - fprintf(ls->f, "%5llu", EXT2_I_SIZE(&inode)); + fprintf(ls->f, "%5llu", inode.i_size | + ((unsigned long long) inode.i_size_high << 32)); fprintf (ls->f, " %s %s\n", datestr, name); } else { sprintf(tmp, "%c%u%c (%d) %s ", lbr, dirent->inode, rbr, diff --git a/debugfs/lsdel.c b/debugfs/lsdel.c index ecc8a880..265753b4 100644 --- a/debugfs/lsdel.c +++ b/debugfs/lsdel.c @@ -48,9 +48,9 @@ static int deleted_info_compare(const void *a, const void *b) } static int lsdel_proc(ext2_filsys fs, - blk64_t *block_nr, + blk_t *block_nr, e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *private) { @@ -59,12 +59,12 @@ static int lsdel_proc(ext2_filsys fs, lsd->num_blocks++; if (*block_nr < fs->super->s_first_data_block || - *block_nr >= ext2fs_blocks_count(fs->super)) { + *block_nr >= fs->super->s_blocks_count) { lsd->bad_blocks++; return BLOCK_ABORT; } - if (!ext2fs_test_block_bitmap2(fs->block_map,*block_nr)) + if (!ext2fs_test_block_bitmap(fs->block_map,*block_nr)) lsd->free_blocks++; return 0; @@ -86,7 +86,7 @@ void do_lsdel(int argc, char **argv) time_t now; FILE *out; - if (common_args_process(argc, argv, 1, 2, "list_deleted_inodes", + if (common_args_process(argc, argv, 1, 2, "ls_deleted_inodes", "[secs]", 0)) return; @@ -140,7 +140,7 @@ void do_lsdel(int argc, char **argv) lsd.free_blocks = 0; lsd.bad_blocks = 0; - retval = ext2fs_block_iterate3(current_fs, ino, + retval = ext2fs_block_iterate2(current_fs, ino, BLOCK_FLAG_READ_ONLY, block_buf, lsdel_proc, &lsd); if (retval) { @@ -164,7 +164,10 @@ void do_lsdel(int argc, char **argv) delarray[num_delarray].ino = ino; delarray[num_delarray].mode = inode.i_mode; delarray[num_delarray].uid = inode_uid(inode); - delarray[num_delarray].size = EXT2_I_SIZE(&inode); + delarray[num_delarray].size = inode.i_size; + if (!LINUX_S_ISDIR(inode.i_mode)) + delarray[num_delarray].size |= + ((__u64) inode.i_size_high << 32); delarray[num_delarray].dtime = inode.i_dtime; delarray[num_delarray].num_blocks = lsd.num_blocks; delarray[num_delarray].free_blocks = lsd.free_blocks; diff --git a/debugfs/ncheck.c b/debugfs/ncheck.c index b7faa639..a366281e 100644 --- a/debugfs/ncheck.c +++ b/debugfs/ncheck.c @@ -15,24 +15,15 @@ #include #endif #include -#ifdef HAVE_GETOPT_H -#include -#else -extern int optind; -extern char *optarg; -#endif #include "debugfs.h" struct inode_walk_struct { - ext2_ino_t dir; ext2_ino_t *iarray; int inodes_left; int num_inodes; int position; char *parent; - unsigned int get_pathname_failed:1; - unsigned int check_dirent:1; }; static int ncheck_proc(struct ext2_dir_entry *dirent, @@ -42,42 +33,15 @@ static int ncheck_proc(struct ext2_dir_entry *dirent, void *private) { struct inode_walk_struct *iw = (struct inode_walk_struct *) private; - struct ext2_inode inode; - errcode_t retval; - int filetype = dirent->name_len >> 8; - int i; + int i; iw->position++; if (iw->position <= 2) return 0; for (i=0; i < iw->num_inodes; i++) { if (iw->iarray[i] == dirent->inode) { - if (!iw->parent && !iw->get_pathname_failed) { - retval = ext2fs_get_pathname(current_fs, - iw->dir, - 0, &iw->parent); - if (retval) { - com_err("ncheck", retval, - "while calling ext2fs_get_pathname for inode #%u", iw->dir); - iw->get_pathname_failed = 1; - } - } - if (iw->parent) - printf("%u\t%s/%.*s", iw->iarray[i], - iw->parent, - (dirent->name_len & 0xFF), dirent->name); - else - printf("%u\t<%u>/%.*s", iw->iarray[i], - iw->dir, - (dirent->name_len & 0xFF), dirent->name); - if (iw->check_dirent && filetype) { - if (!debugfs_read_inode(dirent->inode, &inode, - "ncheck") && - filetype != ext2_file_type(inode.i_mode)) { - printf(" <--- BAD FILETYPE"); - } - } - putc('\n', stdout); + printf("%u\t%s/%.*s\n", iw->iarray[i], iw->parent, + (dirent->name_len & 0xFF), dirent->name); } } if (!iw->inodes_left) @@ -89,31 +53,15 @@ static int ncheck_proc(struct ext2_dir_entry *dirent, void do_ncheck(int argc, char **argv) { struct inode_walk_struct iw; - int c, i; + int i; ext2_inode_scan scan = 0; ext2_ino_t ino; struct ext2_inode inode; errcode_t retval; char *tmp; - iw.check_dirent = 0; - - reset_getopt(); - while ((c = getopt (argc, argv, "c")) != EOF) { - switch (c) { - case 'c': - iw.check_dirent = 1; - break; - default: - goto print_usage; - } - } - argc -= optind; - argv += optind; - - if (argc < 1) { - print_usage: - com_err(argv[0], 0, "Usage: ncheck [-c] ..."); + if (argc < 2) { + com_err(argv[0], 0, "Usage: ncheck ..."); return; } if (check_fs_open(argv[0])) @@ -122,20 +70,20 @@ void do_ncheck(int argc, char **argv) iw.iarray = malloc(sizeof(ext2_ino_t) * argc); if (!iw.iarray) { com_err("ncheck", ENOMEM, - "while allocating inode number array"); + "while allocating inode info array"); return; } memset(iw.iarray, 0, sizeof(ext2_ino_t) * argc); - for (i=0; i < argc; i++) { - iw.iarray[i] = strtol(argv[i], &tmp, 0); + for (i=1; i < argc; i++) { + iw.iarray[i-1] = strtol(argv[i], &tmp, 0); if (*tmp) { com_err(argv[0], 0, "Bad inode - %s", argv[i]); goto error_out; } } - iw.num_inodes = iw.inodes_left = argc; + iw.num_inodes = iw.inodes_left = argc-1; retval = ext2fs_open_inode_scan(current_fs, 0, &scan); if (retval) { @@ -166,9 +114,13 @@ void do_ncheck(int argc, char **argv) goto next; iw.position = 0; - iw.parent = 0; - iw.dir = ino; - iw.get_pathname_failed = 0; + + retval = ext2fs_get_pathname(current_fs, ino, 0, &iw.parent); + if (retval) { + com_err("ncheck", retval, + "while calling ext2fs_get_pathname"); + goto next; + } retval = ext2fs_dir_iterate(current_fs, ino, 0, 0, ncheck_proc, &iw); diff --git a/debugfs/ro_debug_cmds.ct b/debugfs/ro_debug_cmds.ct deleted file mode 100644 index 8226d1ad..00000000 --- a/debugfs/ro_debug_cmds.ct +++ /dev/null @@ -1,94 +0,0 @@ -# -# Restricted set of debugfs commands -# -# Copyright (C) 1993 Theodore Ts'o. This file may be redistributed -# under the terms of the GNU Public License. -# -command_table debug_cmds; - -request do_show_debugfs_params, "Show debugfs parameters", - show_debugfs_params, params; - -request do_open_filesys, "Open a filesystem", - open_filesys, open; - -request do_close_filesys, "Close the filesystem", - close_filesys, close; - -request do_freefrag, "Report free space fragmentation", - freefrag, e2freefrag; - -request do_show_super_stats, "Show superblock statistics", - show_super_stats, stats; - -request do_ncheck, "Do inode->name translation", - ncheck; - -request do_icheck, "Do block->inode translation", - icheck; - -request do_chroot, "Change root directory", - change_root_directory, chroot; - -request do_change_working_dir, "Change working directory", - change_working_directory, cd; - -request do_list_dir, "List directory", - list_directory, ls; - -request do_stat, "Show inode information ", - show_inode_info, stat; - -request do_dump_extents, "Dump extents information ", - dump_extents, extents, ex; - -request do_blocks, "Dump blocks used by an inode ", - blocks; - -request do_filefrag, "Report fragmentation information for an inode", - filefrag; - -request do_testi, "Test an inode's in-use flag", - testi; - -request do_find_free_block, "Find free block(s)", - find_free_block, ffb; - -request do_find_free_inode, "Find free inode(s)", - find_free_inode, ffi; - -request do_print_working_directory, "Print current working directory", - print_working_directory, pwd; - -request do_lsdel, "List deleted inodes", - list_deleted_inodes, lsdel; - -request do_logdump, "Dump the contents of the journal", - logdump; - -request do_htree_dump, "Dump a hash-indexed directory", - htree_dump, htree; - -request do_dx_hash, "Calculate the directory hash of a filename", - dx_hash, hash; - -request do_dirsearch, "Search a directory for a particular filename", - dirsearch; - -request do_bmap, "Calculate the logical->physical block mapping for an inode", - bmap; - -request do_imap, "Calculate the location of an inode", - imap; - -request do_supported_features, "Print features supported by this version of e2fsprogs", - supported_features; - -request do_dump_mmp, "Dump MMP information", - dump_mmp; - -request do_extent_open, "Open inode for extent manipulation", - extent_open, eo; - -end; - diff --git a/debugfs/set_fields.c b/debugfs/set_fields.c index 116a15ac..db1a99b7 100644 --- a/debugfs/set_fields.c +++ b/debugfs/set_fields.c @@ -40,10 +40,8 @@ #include "e2p/e2p.h" static struct ext2_super_block set_sb; -static struct ext2_inode_large set_inode; +static struct ext2_inode set_inode; static struct ext2_group_desc set_gd; -static struct ext4_group_desc set_gd4; -static struct mmp_struct set_mmp; static dgrp_t set_bg; static ext2_ino_t set_ino; static int array_idx; @@ -53,222 +51,149 @@ static int array_idx; struct field_set_info { const char *name; void *ptr; - void *ptr2; unsigned int size; - errcode_t (*func)(struct field_set_info *info, char *field, char *arg); + errcode_t (*func)(struct field_set_info *info, char *arg); int flags; int max_idx; }; -static errcode_t parse_uint(struct field_set_info *info, char *field, char *arg); -static errcode_t parse_int(struct field_set_info *info, char *field, char *arg); -static errcode_t parse_string(struct field_set_info *info, char *field, char *arg); -static errcode_t parse_uuid(struct field_set_info *info, char *field, char *arg); -static errcode_t parse_hashalg(struct field_set_info *info, char *field, char *arg); -static errcode_t parse_time(struct field_set_info *info, char *field, char *arg); -static errcode_t parse_bmap(struct field_set_info *info, char *field, char *arg); -static errcode_t parse_gd_csum(struct field_set_info *info, char *field, char *arg); -static errcode_t parse_mmp_clear(struct field_set_info *info, char *field, - char *arg); +static errcode_t parse_uint(struct field_set_info *info, char *arg); +static errcode_t parse_int(struct field_set_info *info, char *arg); +static errcode_t parse_string(struct field_set_info *info, char *arg); +static errcode_t parse_uuid(struct field_set_info *info, char *arg); +static errcode_t parse_hashalg(struct field_set_info *info, char *arg); +static errcode_t parse_time(struct field_set_info *info, char *arg); +static errcode_t parse_bmap(struct field_set_info *info, char *arg); +static errcode_t parse_gd_csum(struct field_set_info *info, char *arg); static struct field_set_info super_fields[] = { - { "inodes_count", &set_sb.s_inodes_count, NULL, 4, parse_uint }, - { "blocks_count", &set_sb.s_blocks_count, &set_sb.s_blocks_count_hi, - 4, parse_uint }, - { "r_blocks_count", &set_sb.s_r_blocks_count, - &set_sb.s_r_blocks_count_hi, 4, parse_uint }, - { "free_blocks_count", &set_sb.s_free_blocks_count, - &set_sb.s_free_blocks_hi, 4, parse_uint }, - { "free_inodes_count", &set_sb.s_free_inodes_count, NULL, 4, parse_uint }, - { "first_data_block", &set_sb.s_first_data_block, NULL, 4, parse_uint }, - { "log_block_size", &set_sb.s_log_block_size, NULL, 4, parse_uint }, - { "log_cluster_size", &set_sb.s_log_cluster_size, NULL, 4, parse_int }, - { "blocks_per_group", &set_sb.s_blocks_per_group, NULL, 4, parse_uint }, - { "clusters_per_group", &set_sb.s_clusters_per_group, NULL, 4, parse_uint }, - { "inodes_per_group", &set_sb.s_inodes_per_group, NULL, 4, parse_uint }, - { "mtime", &set_sb.s_mtime, NULL, 4, parse_time }, - { "wtime", &set_sb.s_wtime, NULL, 4, parse_time }, - { "mnt_count", &set_sb.s_mnt_count, NULL, 2, parse_uint }, - { "max_mnt_count", &set_sb.s_max_mnt_count, NULL, 2, parse_int }, + { "inodes_count", &set_sb.s_inodes_count, 4, parse_uint }, + { "blocks_count", &set_sb.s_blocks_count, 4, parse_uint }, + { "r_blocks_count", &set_sb.s_r_blocks_count, 4, parse_uint }, + { "free_blocks_count", &set_sb.s_free_blocks_count, 4, parse_uint }, + { "free_inodes_count", &set_sb.s_free_inodes_count, 4, parse_uint }, + { "first_data_block", &set_sb.s_first_data_block, 4, parse_uint }, + { "log_block_size", &set_sb.s_log_block_size, 4, parse_uint }, + { "log_frag_size", &set_sb.s_log_frag_size, 4, parse_int }, + { "blocks_per_group", &set_sb.s_blocks_per_group, 4, parse_uint }, + { "frags_per_group", &set_sb.s_frags_per_group, 4, parse_uint }, + { "inodes_per_group", &set_sb.s_inodes_per_group, 4, parse_uint }, + { "mtime", &set_sb.s_mtime, 4, parse_time }, + { "wtime", &set_sb.s_wtime, 4, parse_time }, + { "mnt_count", &set_sb.s_mnt_count, 2, parse_uint }, + { "max_mnt_count", &set_sb.s_max_mnt_count, 2, parse_int }, /* s_magic */ - { "state", &set_sb.s_state, NULL, 2, parse_uint }, - { "errors", &set_sb.s_errors, NULL, 2, parse_uint }, - { "minor_rev_level", &set_sb.s_minor_rev_level, NULL, 2, parse_uint }, - { "lastcheck", &set_sb.s_lastcheck, NULL, 4, parse_time }, - { "checkinterval", &set_sb.s_checkinterval, NULL, 4, parse_uint }, - { "creator_os", &set_sb.s_creator_os, NULL, 4, parse_uint }, - { "rev_level", &set_sb.s_rev_level, NULL, 4, parse_uint }, - { "def_resuid", &set_sb.s_def_resuid, NULL, 2, parse_uint }, - { "def_resgid", &set_sb.s_def_resgid, NULL, 2, parse_uint }, - { "first_ino", &set_sb.s_first_ino, NULL, 4, parse_uint }, - { "inode_size", &set_sb.s_inode_size, NULL, 2, parse_uint }, - { "block_group_nr", &set_sb.s_block_group_nr, NULL, 2, parse_uint }, - { "feature_compat", &set_sb.s_feature_compat, NULL, 4, parse_uint }, - { "feature_incompat", &set_sb.s_feature_incompat, NULL, 4, parse_uint }, - { "feature_ro_compat", &set_sb.s_feature_ro_compat, NULL, 4, parse_uint }, - { "uuid", &set_sb.s_uuid, NULL, 16, parse_uuid }, - { "volume_name", &set_sb.s_volume_name, NULL, 16, parse_string }, - { "last_mounted", &set_sb.s_last_mounted, NULL, 64, parse_string }, - { "lastcheck", &set_sb.s_lastcheck, NULL, 4, parse_uint }, - { "algorithm_usage_bitmap", &set_sb.s_algorithm_usage_bitmap, NULL, + { "state", &set_sb.s_state, 2, parse_uint }, + { "errors", &set_sb.s_errors, 2, parse_uint }, + { "minor_rev_level", &set_sb.s_minor_rev_level, 2, parse_uint }, + { "lastcheck", &set_sb.s_lastcheck, 4, parse_time }, + { "checkinterval", &set_sb.s_checkinterval, 4, parse_uint }, + { "creator_os", &set_sb.s_creator_os, 4, parse_uint }, + { "rev_level", &set_sb.s_rev_level, 4, parse_uint }, + { "def_resuid", &set_sb.s_def_resuid, 2, parse_uint }, + { "def_resgid", &set_sb.s_def_resgid, 2, parse_uint }, + { "first_ino", &set_sb.s_first_ino, 4, parse_uint }, + { "inode_size", &set_sb.s_inode_size, 2, parse_uint }, + { "block_group_nr", &set_sb.s_block_group_nr, 2, parse_uint }, + { "feature_compat", &set_sb.s_feature_compat, 4, parse_uint }, + { "feature_incompat", &set_sb.s_feature_incompat, 4, parse_uint }, + { "feature_ro_compat", &set_sb.s_feature_ro_compat, 4, parse_uint }, + { "uuid", &set_sb.s_uuid, 16, parse_uuid }, + { "volume_name", &set_sb.s_volume_name, 16, parse_string }, + { "last_mounted", &set_sb.s_last_mounted, 64, parse_string }, + { "lastcheck", &set_sb.s_lastcheck, 4, parse_uint }, + { "algorithm_usage_bitmap", &set_sb.s_algorithm_usage_bitmap, 4, parse_uint }, - { "prealloc_blocks", &set_sb.s_prealloc_blocks, NULL, 1, parse_uint }, - { "prealloc_dir_blocks", &set_sb.s_prealloc_dir_blocks, NULL, 1, + { "prealloc_blocks", &set_sb.s_prealloc_blocks, 1, parse_uint }, + { "prealloc_dir_blocks", &set_sb.s_prealloc_dir_blocks, 1, parse_uint }, - { "reserved_gdt_blocks", &set_sb.s_reserved_gdt_blocks, NULL, 2, + { "reserved_gdt_blocks", &set_sb.s_reserved_gdt_blocks, 2, parse_uint }, - { "journal_uuid", &set_sb.s_journal_uuid, NULL, 16, parse_uuid }, - { "journal_inum", &set_sb.s_journal_inum, NULL, 4, parse_uint }, - { "journal_dev", &set_sb.s_journal_dev, NULL, 4, parse_uint }, - { "last_orphan", &set_sb.s_last_orphan, NULL, 4, parse_uint }, - { "hash_seed", &set_sb.s_hash_seed, NULL, 16, parse_uuid }, - { "def_hash_version", &set_sb.s_def_hash_version, NULL, 1, parse_hashalg }, - { "jnl_backup_type", &set_sb.s_jnl_backup_type, NULL, 1, parse_uint }, - { "desc_size", &set_sb.s_desc_size, NULL, 2, parse_uint }, - { "default_mount_opts", &set_sb.s_default_mount_opts, NULL, 4, parse_uint }, - { "first_meta_bg", &set_sb.s_first_meta_bg, NULL, 4, parse_uint }, - { "mkfs_time", &set_sb.s_mkfs_time, NULL, 4, parse_time }, - { "jnl_blocks", &set_sb.s_jnl_blocks[0], NULL, 4, parse_uint, FLAG_ARRAY, + { "journal_uuid", &set_sb.s_journal_uuid, 16, parse_uuid }, + { "journal_inum", &set_sb.s_journal_inum, 4, parse_uint }, + { "journal_dev", &set_sb.s_journal_dev, 4, parse_uint }, + { "last_orphan", &set_sb.s_last_orphan, 4, parse_uint }, + { "hash_seed", &set_sb.s_hash_seed, 16, parse_uuid }, + { "def_hash_version", &set_sb.s_def_hash_version, 1, parse_hashalg }, + { "jnl_backup_type", &set_sb.s_jnl_backup_type, 1, parse_uint }, + { "desc_size", &set_sb.s_desc_size, 2, parse_uint }, + { "default_mount_opts", &set_sb.s_default_mount_opts, 4, parse_uint }, + { "first_meta_bg", &set_sb.s_first_meta_bg, 4, parse_uint }, + { "mkfs_time", &set_sb.s_mkfs_time, 4, parse_time }, + { "jnl_blocks", &set_sb.s_jnl_blocks[0], 4, parse_uint, FLAG_ARRAY, 17 }, - { "min_extra_isize", &set_sb.s_min_extra_isize, NULL, 2, parse_uint }, - { "want_extra_isize", &set_sb.s_want_extra_isize, NULL, 2, parse_uint }, - { "flags", &set_sb.s_flags, NULL, 4, parse_uint }, - { "raid_stride", &set_sb.s_raid_stride, NULL, 2, parse_uint }, - { "min_extra_isize", &set_sb.s_min_extra_isize, NULL, 4, parse_uint }, - { "mmp_interval", &set_sb.s_mmp_update_interval, NULL, 2, parse_uint }, - { "mmp_block", &set_sb.s_mmp_block, NULL, 8, parse_uint }, - { "raid_stripe_width", &set_sb.s_raid_stripe_width, NULL, 4, parse_uint }, - { "log_groups_per_flex", &set_sb.s_log_groups_per_flex, NULL, 1, parse_uint }, - { "kbytes_written", &set_sb.s_kbytes_written, NULL, 8, parse_uint }, - { "snapshot_inum", &set_sb.s_snapshot_inum, NULL, 4, parse_uint }, - { "snapshot_id", &set_sb.s_snapshot_id, NULL, 4, parse_uint }, - { "snapshot_r_blocks_count", &set_sb.s_snapshot_r_blocks_count, - NULL, 8, parse_uint }, - { "snapshot_list", &set_sb.s_snapshot_list, NULL, 4, parse_uint }, - { "mount_opts", &set_sb.s_mount_opts, NULL, 64, parse_string }, - { "usr_quota_inum", &set_sb.s_usr_quota_inum, NULL, 4, parse_uint }, - { "grp_quota_inum", &set_sb.s_grp_quota_inum, NULL, 4, parse_uint }, - { "overhead_blocks", &set_sb.s_overhead_blocks, NULL, 4, parse_uint }, - { "checksum", &set_sb.s_checksum, NULL, 4, parse_uint }, + { "blocks_count_hi", &set_sb.s_blocks_count_hi, 4, parse_uint }, + { "r_blocks_count_hi", &set_sb.s_r_blocks_count_hi, 4, parse_uint }, + { "min_extra_isize", &set_sb.s_min_extra_isize, 2, parse_uint }, + { "want_extra_isize", &set_sb.s_want_extra_isize, 2, parse_uint }, + { "flags", &set_sb.s_flags, 4, parse_uint }, + { "raid_stride", &set_sb.s_raid_stride, 2, parse_uint }, + { "min_extra_isize", &set_sb.s_min_extra_isize, 4, parse_uint }, + { "mmp_interval", &set_sb.s_mmp_interval, 2, parse_uint }, + { "mmp_block", &set_sb.s_mmp_block, 8, parse_uint }, + { "raid_stripe_width", &set_sb.s_raid_stripe_width, 4, parse_uint }, + { "log_groups_per_flex", &set_sb.s_log_groups_per_flex, 1, parse_uint }, + { "kbytes_written", &set_sb.s_kbytes_written, 8, parse_uint }, + { "snapshot_inum", &set_sb.s_snapshot_inum, 4, parse_uint }, + { "snapshot_id", &set_sb.s_snapshot_id, 4, parse_uint }, + { "snapshot_r_blocks_count", &set_sb.s_snapshot_r_blocks_count, 8, + parse_uint }, + { "snapshot_list", &set_sb.s_snapshot_list, 4, parse_uint }, + { "mount_opts", &set_sb.s_mount_opts, 64, parse_string }, { 0, 0, 0, 0 } }; static struct field_set_info inode_fields[] = { - { "inodes_count", &set_sb.s_inodes_count, NULL, 4, parse_uint }, - { "mode", &set_inode.i_mode, NULL, 2, parse_uint }, - { "uid", &set_inode.i_uid, &set_inode.osd2.linux2.l_i_uid_high, - 2, parse_uint }, - { "size", &set_inode.i_size, &set_inode.i_size_high, 4, parse_uint }, - { "atime", &set_inode.i_atime, NULL, 4, parse_time }, - { "ctime", &set_inode.i_ctime, NULL, 4, parse_time }, - { "mtime", &set_inode.i_mtime, NULL, 4, parse_time }, - { "dtime", &set_inode.i_dtime, NULL, 4, parse_time }, - { "gid", &set_inode.i_gid, &set_inode.osd2.linux2.l_i_gid_high, - 2, parse_uint }, - { "links_count", &set_inode.i_links_count, NULL, 2, parse_uint }, - /* Special case: i_blocks is 4 bytes, i_blocks_high is 2 bytes */ - { "blocks", &set_inode.i_blocks, &set_inode.osd2.linux2.l_i_blocks_hi, - 6, parse_uint }, - { "flags", &set_inode.i_flags, NULL, 4, parse_uint }, - { "version", &set_inode.osd1.linux1.l_i_version, - &set_inode.i_version_hi, 4, parse_uint }, - { "translator", &set_inode.osd1.hurd1.h_i_translator, NULL, 4, parse_uint }, - { "block", &set_inode.i_block[0], NULL, 4, parse_uint, FLAG_ARRAY, + { "inodes_count", &set_sb.s_inodes_count, 4, parse_uint }, + { "mode", &set_inode.i_mode, 2, parse_uint }, + { "uid", &set_inode.i_uid, 2, parse_uint }, + { "size", &set_inode.i_size, 4, parse_uint }, + { "atime", &set_inode.i_atime, 4, parse_time }, + { "ctime", &set_inode.i_ctime, 4, parse_time }, + { "mtime", &set_inode.i_mtime, 4, parse_time }, + { "dtime", &set_inode.i_dtime, 4, parse_time }, + { "gid", &set_inode.i_gid, 2, parse_uint }, + { "links_count", &set_inode.i_links_count, 2, parse_uint }, + { "blocks", &set_inode.i_blocks, 4, parse_uint }, + { "flags", &set_inode.i_flags, 4, parse_uint }, + { "version", &set_inode.osd1.linux1.l_i_version, 4, parse_uint }, + { "translator", &set_inode.osd1.hurd1.h_i_translator, 4, parse_uint }, + { "block", &set_inode.i_block[0], 4, parse_uint, FLAG_ARRAY, EXT2_NDIR_BLOCKS }, - { "block[IND]", &set_inode.i_block[EXT2_IND_BLOCK], NULL, 4, parse_uint }, - { "block[DIND]", &set_inode.i_block[EXT2_DIND_BLOCK], NULL, 4, parse_uint }, - { "block[TIND]", &set_inode.i_block[EXT2_TIND_BLOCK], NULL, 4, parse_uint }, - { "generation", &set_inode.i_generation, NULL, 4, parse_uint }, - /* Special case: i_file_acl_high is 2 bytes */ - { "file_acl", &set_inode.i_file_acl, - &set_inode.osd2.linux2.l_i_file_acl_high, 6, parse_uint }, - { "dir_acl", &set_inode.i_dir_acl, NULL, 4, parse_uint }, - { "faddr", &set_inode.i_faddr, NULL, 4, parse_uint }, - { "frag", &set_inode.osd2.hurd2.h_i_frag, NULL, 1, parse_uint }, - { "fsize", &set_inode.osd2.hurd2.h_i_fsize, NULL, 1, parse_uint }, - { "checksum", &set_inode.osd2.linux2.l_i_checksum_lo, - &set_inode.i_checksum_hi, 2, parse_uint }, - { "author", &set_inode.osd2.hurd2.h_i_author, NULL, - 4, parse_uint }, - { "extra_isize", &set_inode.i_extra_isize, NULL, - 2, parse_uint }, - { "ctime_extra", &set_inode.i_ctime_extra, NULL, - 4, parse_uint }, - { "mtime_extra", &set_inode.i_mtime_extra, NULL, - 4, parse_uint }, - { "atime_extra", &set_inode.i_atime_extra, NULL, - 4, parse_uint }, - { "crtime", &set_inode.i_crtime, NULL, 4, parse_uint }, - { "crtime_extra", &set_inode.i_crtime_extra, NULL, - 4, parse_uint }, - { "bmap", NULL, NULL, 4, parse_bmap, FLAG_ARRAY }, + { "block[IND]", &set_inode.i_block[EXT2_IND_BLOCK], 4, parse_uint }, + { "block[DIND]", &set_inode.i_block[EXT2_DIND_BLOCK], 4, parse_uint }, + { "block[TIND]", &set_inode.i_block[EXT2_TIND_BLOCK], 4, parse_uint }, + { "generation", &set_inode.i_generation, 4, parse_uint }, + { "file_acl", &set_inode.i_file_acl, 4, parse_uint }, + { "file_acl_high", &set_inode.osd2.linux2.l_i_file_acl_high, 2, + parse_uint }, + { "dir_acl", &set_inode.i_dir_acl, 4, parse_uint }, + { "size_high", &set_inode.i_size_high, 4, parse_uint }, + { "faddr", &set_inode.i_faddr, 4, parse_uint }, + { "blocks_hi", &set_inode.osd2.linux2.l_i_blocks_hi, 2, parse_uint }, + { "frag", &set_inode.osd2.hurd2.h_i_frag, 1, parse_uint }, + { "fsize", &set_inode.osd2.hurd2.h_i_fsize, 1, parse_uint }, + { "uid_high", &set_inode.osd2.linux2.l_i_uid_high, 2, parse_uint }, + { "gid_high", &set_inode.osd2.linux2.l_i_gid_high, 2, parse_uint }, + { "author", &set_inode.osd2.hurd2.h_i_author, 4, parse_uint }, + { "bmap", NULL, 4, parse_bmap, FLAG_ARRAY }, { 0, 0, 0, 0 } }; static struct field_set_info ext2_bg_fields[] = { - { "block_bitmap", &set_gd.bg_block_bitmap, NULL, 4, parse_uint }, - { "inode_bitmap", &set_gd.bg_inode_bitmap, NULL, 4, parse_uint }, - { "inode_table", &set_gd.bg_inode_table, NULL, 4, parse_uint }, - { "free_blocks_count", &set_gd.bg_free_blocks_count, NULL, 2, parse_uint }, - { "free_inodes_count", &set_gd.bg_free_inodes_count, NULL, 2, parse_uint }, - { "used_dirs_count", &set_gd.bg_used_dirs_count, NULL, 2, parse_uint }, - { "flags", &set_gd.bg_flags, NULL, 2, parse_uint }, - { "itable_unused", &set_gd.bg_itable_unused, NULL, 2, parse_uint }, - { "checksum", &set_gd.bg_checksum, NULL, 2, parse_gd_csum }, + { "block_bitmap", &set_gd.bg_block_bitmap, 4, parse_uint }, + { "inode_bitmap", &set_gd.bg_inode_bitmap, 4, parse_uint }, + { "inode_table", &set_gd.bg_inode_table, 4, parse_uint }, + { "free_blocks_count", &set_gd.bg_free_blocks_count, 2, parse_uint }, + { "free_inodes_count", &set_gd.bg_free_inodes_count, 2, parse_uint }, + { "used_dirs_count", &set_gd.bg_used_dirs_count, 2, parse_uint }, + { "flags", &set_gd.bg_flags, 2, parse_uint }, + { "reserved", &set_gd.bg_reserved, 2, parse_uint, FLAG_ARRAY, 2 }, + { "itable_unused", &set_gd.bg_itable_unused, 2, parse_uint }, + { "checksum", &set_gd.bg_checksum, 2, parse_gd_csum }, { 0, 0, 0, 0 } }; -static struct field_set_info ext4_bg_fields[] = { - { "block_bitmap", &set_gd4.bg_block_bitmap, - &set_gd4.bg_block_bitmap_hi, 4, parse_uint }, - { "inode_bitmap", &set_gd4.bg_inode_bitmap, - &set_gd4.bg_inode_bitmap_hi, 4, parse_uint }, - { "inode_table", &set_gd4.bg_inode_table, - &set_gd4.bg_inode_table_hi, 4, parse_uint }, - { "free_blocks_count", &set_gd4.bg_free_blocks_count, - &set_gd4.bg_free_blocks_count_hi, 2, parse_uint }, - { "free_inodes_count", &set_gd4.bg_free_inodes_count, - &set_gd4.bg_free_inodes_count_hi, 2, parse_uint }, - { "used_dirs_count", &set_gd4.bg_used_dirs_count, - &set_gd4.bg_used_dirs_count_hi, 2, parse_uint }, - { "flags", &set_gd4.bg_flags, NULL, 2, parse_uint }, - { "exclude_bitmap", &set_gd4.bg_exclude_bitmap_lo, - &set_gd4.bg_exclude_bitmap_hi, 4, parse_uint }, - { "block_bitmap_csum", &set_gd4.bg_block_bitmap_csum_lo, - &set_gd4.bg_block_bitmap_csum_hi, 2, parse_uint }, - { "inode_bitmap_csum", &set_gd4.bg_inode_bitmap_csum_lo, - &set_gd4.bg_inode_bitmap_csum_hi, 2, parse_uint }, - { "itable_unused", &set_gd4.bg_itable_unused, - &set_gd4.bg_itable_unused_hi, 2, parse_uint }, - { "checksum", &set_gd4.bg_checksum, NULL, 2, parse_gd_csum }, - { 0, 0, 0, 0 } -}; - -static struct field_set_info mmp_fields[] = { - { "clear", &set_mmp.mmp_magic, NULL, sizeof(set_mmp), parse_mmp_clear }, - { "magic", &set_mmp.mmp_magic, NULL, 4, parse_uint }, - { "seq", &set_mmp.mmp_seq, NULL, 4, parse_uint }, - { "time", &set_mmp.mmp_time, NULL, 8, parse_uint }, - { "nodename", &set_mmp.mmp_nodename, NULL, sizeof(set_mmp.mmp_nodename), - parse_string }, - { "bdevname", &set_mmp.mmp_bdevname, NULL, sizeof(set_mmp.mmp_bdevname), - parse_string }, - { "check_interval", &set_mmp.mmp_check_interval, NULL, 2, parse_uint }, -}; - -static int check_suffix(const char *field) -{ - int len = strlen(field); - - if (len <= 3) - return 0; - field += len-3; - if (!strcmp(field, "_lo")) - return 1; - if (!strcmp(field, "_hi")) - return 2; - return 0; -} static struct field_set_info *find_field(struct field_set_info *fields, char *field) @@ -276,7 +201,7 @@ static struct field_set_info *find_field(struct field_set_info *fields, struct field_set_info *ss; const char *prefix; char *arg, *delim, *idx, *tmp; - int suffix, prefix_len; + int prefix_len; if (fields == super_fields) prefix = "s_"; @@ -311,23 +236,14 @@ static struct field_set_info *find_field(struct field_set_info *fields, idx = 0; } - /* - * If there is a valid _hi or a _lo suffix, strip it off - */ - suffix = check_suffix(arg); - if (suffix > 0) - arg[strlen(arg)-3] = 0; - for (ss = fields ; ss->name ; ss++) { - if (suffix && ss->ptr2 == 0) - continue; if (ss->flags & FLAG_ARRAY) { if (!idx || (strcmp(ss->name, arg) != 0)) continue; if (ss->max_idx > 0 && array_idx >= ss->max_idx) continue; } else { - if (strcmp(ss->name, arg) != 0) + if (strcmp(ss->name, field) != 0) continue; } free(arg); @@ -337,19 +253,10 @@ static struct field_set_info *find_field(struct field_set_info *fields, return NULL; } -/* - * Note: info->size == 6 is special; this means a base size 4 bytes, - * and secondiory (high) size of 2 bytes. This is needed for the - * special case of i_blocks_high and i_file_acl_high. - */ -static errcode_t parse_uint(struct field_set_info *info, char *field, - char *arg) +static errcode_t parse_uint(struct field_set_info *info, char *arg) { - unsigned long long n, num, mask, limit; - int suffix = check_suffix(field); + unsigned long long num, limit; char *tmp; - void *field1 = info->ptr, *field2 = info->ptr2; - int size = (info->size == 6) ? 4 : info->size; union { __u64 *ptr64; __u32 *ptr32; @@ -357,14 +264,7 @@ static errcode_t parse_uint(struct field_set_info *info, char *field, __u8 *ptr8; } u; - if (suffix == 1) - field2 = 0; - if (suffix == 2) { - field1 = field2; - field2 = 0; - } - - u.ptr8 = (__u8 *) field1; + u.ptr8 = (__u8 *) info->ptr; if (info->flags & FLAG_ARRAY) u.ptr8 += array_idx * info->size; @@ -375,59 +275,30 @@ static errcode_t parse_uint(struct field_set_info *info, char *field, arg, info->name); return EINVAL; } - mask = ~0ULL >> ((8 - size) * 8); limit = ~0ULL >> ((8 - info->size) * 8); - if (field2 && info->size != 6) - limit = ~0ULL >> ((8 - info->size*2) * 8); - if (num > limit) { fprintf(stderr, "Value '%s' exceeds field %s maximum %llu.\n", arg, info->name, limit); return EINVAL; } - n = num & mask; - switch (size) { - case 8: - /* Should never get here */ - fprintf(stderr, "64-bit field %s has a second 64-bit field\n" - "defined; BUG?!?\n", info->name); - *u.ptr64 = 0; - break; - case 4: - *u.ptr32 = n; - break; - case 2: - *u.ptr16 = n; - break; - case 1: - *u.ptr8 = n; - break; - } - if (!field2) - return 0; - n = num >> (size*8); - u.ptr8 = (__u8 *) field2; - if (info->size == 6) - size = 2; - switch (size) { + switch (info->size) { case 8: - *u.ptr64 = n; + *u.ptr64 = num; break; case 4: - *u.ptr32 = n; + *u.ptr32 = num; break; case 2: - *u.ptr16 = n; + *u.ptr16 = num; break; case 1: - *u.ptr8 = n; + *u.ptr8 = num; break; } return 0; } -static errcode_t parse_int(struct field_set_info *info, - char *field EXT2FS_ATTR((unused)), char *arg) +static errcode_t parse_int(struct field_set_info *info, char *arg) { long num; char *tmp; @@ -458,8 +329,7 @@ static errcode_t parse_int(struct field_set_info *info, return 0; } -static errcode_t parse_string(struct field_set_info *info, - char *field EXT2FS_ATTR((unused)), char *arg) +static errcode_t parse_string(struct field_set_info *info, char *arg) { char *cp = (char *) info->ptr; @@ -472,8 +342,7 @@ static errcode_t parse_string(struct field_set_info *info, return 0; } -static errcode_t parse_time(struct field_set_info *info, - char *field EXT2FS_ATTR((unused)), char *arg) +static errcode_t parse_time(struct field_set_info *info, char *arg) { time_t t; __u32 *ptr32; @@ -491,8 +360,7 @@ static errcode_t parse_time(struct field_set_info *info, return 0; } -static errcode_t parse_uuid(struct field_set_info *info, - char *field EXT2FS_ATTR((unused)), char *arg) +static errcode_t parse_uuid(struct field_set_info *info, char *arg) { unsigned char * p = (unsigned char *) info->ptr; @@ -510,8 +378,7 @@ static errcode_t parse_uuid(struct field_set_info *info, return 0; } -static errcode_t parse_hashalg(struct field_set_info *info, - char *field EXT2FS_ATTR((unused)), char *arg) +static errcode_t parse_hashalg(struct field_set_info *info, char *arg) { int hashv; unsigned char *p = (unsigned char *) info->ptr; @@ -525,45 +392,41 @@ static errcode_t parse_hashalg(struct field_set_info *info, return 0; } -static errcode_t parse_bmap(struct field_set_info *info, - char *field EXT2FS_ATTR((unused)), char *arg) +static errcode_t parse_bmap(struct field_set_info *info, char *arg) { - blk64_t blk; + unsigned long num; + blk_t blk; errcode_t retval; char *tmp; - blk = strtoull(arg, &tmp, 0); + num = strtoul(arg, &tmp, 0); if (*tmp) { fprintf(stderr, "Couldn't parse '%s' for field %s.\n", arg, info->name); return EINVAL; } + blk = num; - retval = ext2fs_bmap2(current_fs, set_ino, - (struct ext2_inode *) &set_inode, - NULL, BMAP_SET, array_idx, NULL, &blk); + retval = ext2fs_bmap(current_fs, set_ino, &set_inode, 0, BMAP_SET, + array_idx, &blk); if (retval) { com_err("set_inode", retval, "while setting block map"); } return retval; } -static errcode_t parse_gd_csum(struct field_set_info *info, char *field, - char *arg) +static errcode_t parse_gd_csum(struct field_set_info *info, char *arg) { if (strcmp(arg, "calc") == 0) { ext2fs_group_desc_csum_set(current_fs, set_bg); - memcpy(&set_gd, ext2fs_group_desc(current_fs, - current_fs->group_desc, - set_bg), - sizeof(set_gd)); + set_gd = current_fs->group_desc[set_bg]; printf("Checksum set to 0x%04x\n", - ext2fs_bg_checksum(current_fs, set_bg)); + current_fs->group_desc[set_bg].bg_checksum); return 0; } - return parse_uint(info, field, arg); + return parse_uint(info, arg); } static void print_possible_fields(struct field_set_info *fields) @@ -579,9 +442,6 @@ static void print_possible_fields(struct field_set_info *fields) } else if (fields == inode_fields) { type = "Inode"; cmd = "set_inode"; - } else if (fields == mmp_fields) { - type = "MMP"; - cmd = "set_mmp_value"; } else { type = "Block group descriptor"; cmd = "set_block_group"; @@ -606,8 +466,6 @@ static void print_possible_fields(struct field_set_info *fields) type = "date/time"; else if (ss->func == parse_bmap) type = "set physical->logical block map"; - else if (ss->func == parse_gd_csum) - type = "unsigned integer OR \"calc\""; strcpy(name, ss->name); if (ss->flags & FLAG_ARRAY) { if (ss->max_idx > 0) @@ -616,9 +474,7 @@ static void print_possible_fields(struct field_set_info *fields) strcpy(idx, "[]"); strcat(name, idx); } - if (ss->ptr2) - strcat(name, "[_hi|_lo]"); - fprintf(f, "\t%-25s\t%s\n", name, type); + fprintf(f, "\t%-20s\t%s\n", name, type); } close_pager(f); } @@ -645,7 +501,7 @@ void do_set_super(int argc, char *argv[]) return; } set_sb = *current_fs->super; - if (ss->func(ss, argv[1], argv[2]) == 0) { + if (ss->func(ss, argv[2]) == 0) { *current_fs->super = set_sb; ext2fs_mark_super_dirty(current_fs); } @@ -676,15 +532,11 @@ void do_set_inode(int argc, char *argv[]) if (!set_ino) return; - if (debugfs_read_inode_full(set_ino, - (struct ext2_inode *) &set_inode, argv[1], - sizeof(set_inode))) + if (debugfs_read_inode(set_ino, &set_inode, argv[1])) return; - if (ss->func(ss, argv[2], argv[3]) == 0) { - if (debugfs_write_inode_full(set_ino, - (struct ext2_inode *) &set_inode, - argv[1], sizeof(set_inode))) + if (ss->func(ss, argv[3]) == 0) { + if (debugfs_write_inode(set_ino, &set_inode, argv[1])) return; } } @@ -694,32 +546,11 @@ void do_set_block_group_descriptor(int argc, char *argv[]) const char *usage = " \n" "\t\"set_block_group_descriptor -l\" will list the names of " "the fields in a block group descriptor\n\twhich can be set."; - struct field_set_info *table; struct field_set_info *ss; char *end; - void *edit, *target; - int size; - - /* - * Determine whether we are editing an ext2 or ext4 block group - * descriptor. Descriptors larger than ext4_group_desc cannot - * have their fields edited yet, because they do not have any - * names assigned. When that happens, this function needs to - * be updated for the new descriptor struct and fields. - */ - if (current_fs && - EXT2_DESC_SIZE(current_fs->super) >= EXT2_MIN_DESC_SIZE_64BIT) { - table = ext4_bg_fields; - edit = &set_gd4; - size = sizeof(set_gd4); - } else { - table = ext2_bg_fields; - edit = &set_gd; - size = sizeof(set_gd); - } if ((argc == 2) && !strcmp(argv[1], "-l")) { - print_possible_fields(table); + print_possible_fields(ext2_bg_fields); return; } @@ -738,89 +569,16 @@ void do_set_block_group_descriptor(int argc, char *argv[]) return; } - if ((ss = find_field(table, argv[2])) == 0) { - com_err(argv[0], 0, "invalid field specifier: %s", argv[2]); - return; - } - - target = ext2fs_group_desc(current_fs, current_fs->group_desc, set_bg); - memcpy(edit, target, size); - if (ss->func(ss, argv[2], argv[3]) == 0) { - memcpy(target, edit, size); - ext2fs_mark_super_dirty(current_fs); - } -} - -static errcode_t parse_mmp_clear(struct field_set_info *info, - char *field EXT2FS_ATTR((unused)), - char *arg EXT2FS_ATTR((unused))) -{ - errcode_t retval; - - retval = ext2fs_mmp_clear(current_fs); - if (retval != 0) - com_err("set_mmp_value", retval, "while clearing MMP block\n"); - else - memcpy(info->ptr, current_fs->mmp_buf, info->size); - - return 1; /* we don't need the MMP block written again */ -} - -void do_set_mmp_value(int argc, char *argv[]) -{ - const char *usage = " \n" - "\t\"set_mmp_value -l\" will list the names of " - "MMP fields\n\twhich can be set."; - static struct field_set_info *smmp; - struct mmp_struct *mmp_s; - errcode_t retval; - - if (argc == 2 && strcmp(argv[1], "-l") == 0) { - print_possible_fields(mmp_fields); - return; - } - if (check_fs_open(argv[0])) - return; - - if (current_fs->super->s_mmp_block == 0) { - com_err(argv[0], 0, "no MMP block allocated\n"); + if ((ss = find_field(ext2_bg_fields, argv[2])) == 0) { + com_err(argv[0], 0, "invalid field specifier: %s", argv[2]); return; } - if (common_args_process(argc, argv, 2, 3, "set_mmp_value", - usage, CHECK_FS_RW)) - return; + set_gd = current_fs->group_desc[set_bg]; - mmp_s = current_fs->mmp_buf; - if (mmp_s == NULL) { - retval = ext2fs_get_mem(current_fs->blocksize, &mmp_s); - if (retval) { - com_err(argv[0], retval, "allocating MMP buffer\n"); - return; - } - retval = ext2fs_mmp_read(current_fs, - current_fs->super->s_mmp_block, mmp_s); - if (retval) { - com_err(argv[0], retval, "reading MMP block %llu.\n", - (long long)current_fs->super->s_mmp_block); - ext2fs_free_mem(&mmp_s); - return; - } - current_fs->mmp_buf = mmp_s; - } - - smmp = find_field(mmp_fields, argv[1]); - if (smmp == 0) { - com_err(argv[0], 0, "invalid field specifier: %s", argv[1]); - return; - } - - set_mmp = *mmp_s; - if (smmp->func(smmp, argv[1], argv[2]) == 0) { - ext2fs_mmp_write(current_fs, current_fs->super->s_mmp_block, - &set_mmp); - *mmp_s = set_mmp; + if (ss->func(ss, argv[3]) == 0) { + current_fs->group_desc[set_bg] = set_gd; + ext2fs_mark_super_dirty(current_fs); } } - diff --git a/debugfs/unused.c b/debugfs/unused.c index b78d70b8..818fef13 100644 --- a/debugfs/unused.c +++ b/debugfs/unused.c @@ -26,8 +26,8 @@ extern char *optarg; void do_dump_unused(int argc EXT2FS_ATTR((unused)), char **argv) { - blk64_t blk; - unsigned char buf[EXT2_MAX_BLOCK_SIZE]; + unsigned long blk; + unsigned char buf[EXT2_MAX_BLOCK_SIZE]; unsigned int i; errcode_t retval; @@ -36,10 +36,10 @@ void do_dump_unused(int argc EXT2FS_ATTR((unused)), char **argv) return; for (blk=current_fs->super->s_first_data_block; - blk < ext2fs_blocks_count(current_fs->super); blk++) { - if (ext2fs_test_block_bitmap2(current_fs->block_map,blk)) + blk < current_fs->super->s_blocks_count; blk++) { + if (ext2fs_test_block_bitmap(current_fs->block_map,blk)) continue; - retval = io_channel_read_blk64(current_fs->io, blk, 1, buf); + retval = io_channel_read_blk(current_fs->io, blk, 1, buf); if (retval) { com_err(argv[0], retval, "While reading block\n"); return; @@ -49,7 +49,7 @@ void do_dump_unused(int argc EXT2FS_ATTR((unused)), char **argv) break; if (i >= current_fs->blocksize) continue; - printf("\nUnused block %llu contains non-zero data:\n\n", + printf("\nUnused block %lu contains non-zero data:\n\n", blk); for (i=0; i < current_fs->blocksize; i++) fputc(buf[i], stdout); diff --git a/debugfs/util.c b/debugfs/util.c index 8b344906..e4ecb1fe 100644 --- a/debugfs/util.c +++ b/debugfs/util.c @@ -25,7 +25,6 @@ extern char *optarg; extern int optreset; /* defined by BSD, but not others */ #endif -#include "ss/ss.h" #include "debugfs.h" /* @@ -79,14 +78,14 @@ static const char *find_pager(char *buf) FILE *open_pager(void) { FILE *outfile = 0; - const char *pager = ss_safe_getenv("DEBUGFS_PAGER"); + const char *pager = getenv("DEBUGFS_PAGER"); char buf[80]; signal(SIGPIPE, SIG_IGN); if (!isatty(1)) return stdout; if (!pager) - pager = ss_safe_getenv("PAGER"); + pager = getenv("PAGER"); if (!pager) pager = find_pager(buf); if (!pager || @@ -197,7 +196,7 @@ char *time_to_string(__u32 cl) if (do_gmt == -1) { /* The diet libc doesn't respect the TZ environemnt variable */ - tz = ss_safe_getenv("TZ"); + tz = getenv("TZ"); if (!tz) tz = ""; do_gmt = !strcmp(tz, "GMT"); @@ -210,7 +209,7 @@ char *time_to_string(__u32 cl) * Parse a string as a time. Return ((time_t)-1) if the string * doesn't appear to be a sane time. */ -time_t string_to_time(const char *arg) +extern time_t string_to_time(const char *arg) { struct tm ts; time_t ret; @@ -219,13 +218,6 @@ time_t string_to_time(const char *arg) if (strcmp(arg, "now") == 0) { return time(0); } - if (arg[0] == '@') { - /* interpret it as an integer */ - ret = strtoul(arg+1, &tmp, 0); - if (*tmp) - return ((time_t) -1); - return ret; - } memset(&ts, 0, sizeof(ts)); #ifdef HAVE_STRPTIME strptime(arg, "%Y%m%d%H%M%S", &ts); @@ -274,40 +266,16 @@ unsigned long parse_ulong(const char *str, const char *cmd, return 0; } -/* - * This function will convert a string to an unsigned long long, printing - * an error message if it fails, and returning success or failure in err. - */ -unsigned long long parse_ulonglong(const char *str, const char *cmd, - const char *descr, int *err) -{ - char *tmp; - unsigned long long ret; - - ret = strtoull(str, &tmp, 0); - if (*tmp == 0) { - if (err) - *err = 0; - return ret; - } - com_err(cmd, 0, "Bad %s - %s", descr, str); - if (err) - *err = 1; - else - exit(1); - return 0; -} - /* * This function will convert a string to a block number. It returns * 0 on success, 1 on failure. */ -int strtoblk(const char *cmd, const char *str, blk64_t *ret) +int strtoblk(const char *cmd, const char *str, blk_t *ret) { - blk64_t blk; + blk_t blk; int err; - blk = parse_ulonglong(str, cmd, "block number", &err); + blk = parse_ulong(str, cmd, "block number", &err); *ret = blk; if (err) com_err(cmd, 0, "Invalid block number: %s", str); @@ -360,7 +328,7 @@ int common_inode_args_process(int argc, char *argv[], * This is a helper function used by do_freeb, do_setb, and do_testb */ int common_block_args_process(int argc, char *argv[], - blk64_t *block, blk64_t *count) + blk_t *block, blk_t *count) { int err; @@ -376,7 +344,7 @@ int common_block_args_process(int argc, char *argv[], } if (argc > 2) { - err = strtoblk(argv[0], argv[2], count); + *count = parse_ulong(argv[2], argv[0], "count", &err); if (err) return 1; } @@ -409,22 +377,6 @@ int debugfs_read_inode(ext2_ino_t ino, struct ext2_inode * inode, return 0; } -int debugfs_write_inode_full(ext2_ino_t ino, - struct ext2_inode *inode, - const char *cmd, - int bufsize) -{ - int retval; - - retval = ext2fs_write_inode_full(current_fs, ino, - inode, bufsize); - if (retval) { - com_err(cmd, retval, "while writing inode %u", ino); - return 1; - } - return 0; -} - int debugfs_write_inode(ext2_ino_t ino, struct ext2_inode * inode, const char *cmd) { @@ -450,32 +402,3 @@ int debugfs_write_new_inode(ext2_ino_t ino, struct ext2_inode * inode, } return 0; } - -/* - * Given a mode, return the ext2 file type - */ -int ext2_file_type(unsigned int mode) -{ - if (LINUX_S_ISREG(mode)) - return EXT2_FT_REG_FILE; - - if (LINUX_S_ISDIR(mode)) - return EXT2_FT_DIR; - - if (LINUX_S_ISCHR(mode)) - return EXT2_FT_CHRDEV; - - if (LINUX_S_ISBLK(mode)) - return EXT2_FT_BLKDEV; - - if (LINUX_S_ISLNK(mode)) - return EXT2_FT_SYMLINK; - - if (LINUX_S_ISFIFO(mode)) - return EXT2_FT_FIFO; - - if (LINUX_S_ISSOCK(mode)) - return EXT2_FT_SOCK; - - return 0; -} diff --git a/debugfs/zap.c b/debugfs/zap.c deleted file mode 100644 index 1d4d02e0..00000000 --- a/debugfs/zap.c +++ /dev/null @@ -1,259 +0,0 @@ -/* - * zap.c --- zap block - * - * Copyright (C) 2012 Theodore Ts'o. This file may be redistributed - * under the terms of the GNU Public License. - */ - -#include -#include -#include -#include -#include -#include -#ifdef HAVE_ERRNO_H -#include -#endif -#include -#ifdef HAVE_GETOPT_H -#include -#else -extern int optind; -extern char *optarg; -#endif - -#include "debugfs.h" - -void do_zap_block(int argc, char *argv[]) -{ - unsigned long pattern = 0; - unsigned char *buf; - ext2_ino_t inode; - errcode_t errcode; - blk64_t block; - char *file = NULL; - int c, err; - int offset = -1; - int length = -1; - int bit = -1; - - if (check_fs_open(argv[0])) - return; - if (check_fs_read_write(argv[0])) - return; - - reset_getopt(); - while ((c = getopt (argc, argv, "b:f:l:o:p:")) != EOF) { - switch (c) { - case 'f': - file = optarg; - break; - case 'b': - bit = parse_ulong(optarg, argv[0], - "bit", &err); - if (err) - return; - if (bit >= (int) current_fs->blocksize * 8) { - com_err(argv[0], 0, "The bit to flip " - "must be within a %d block\n", - current_fs->blocksize); - return; - } - break; - case 'p': - pattern = parse_ulong(optarg, argv[0], - "pattern", &err); - if (err) - return; - if (pattern >= 256) { - com_err(argv[0], 0, "The fill pattern must " - "be an 8-bit value\n"); - return; - } - break; - case 'o': - offset = parse_ulong(optarg, argv[0], - "offset", &err); - if (err) - return; - if (offset >= (int) current_fs->blocksize) { - com_err(argv[0], 0, "The offset must be " - "within a %d block\n", - current_fs->blocksize); - return; - } - break; - - break; - case 'l': - length = parse_ulong(optarg, argv[0], - "length", &err); - if (err) - return; - break; - default: - goto print_usage; - } - } - - if (bit > 0 && offset > 0) { - com_err(argv[0], 0, "The -o and -b options can not be mixed."); - return; - } - - if (offset < 0) - offset = 0; - if (length < 0) - length = current_fs->blocksize - offset; - if ((offset + length) > (int) current_fs->blocksize) { - com_err(argv[0], 0, "The specified length is too bug\n"); - return; - } - - if (argc != optind+1) { - print_usage: - com_err(0, 0, "Usage:\tzap_block [-f file] [-o offset] " - "[-l length] [-p pattern] block_num"); - com_err(0, 0, "\tzap_block [-f file] [-b bit] " - "block_num"); - return; - } - - block = parse_ulonglong(argv[optind], argv[0], "block", &err); - if (err) - return; - - if (file) { - inode = string_to_inode(file); - if (!inode) - return; - errcode = ext2fs_bmap2(current_fs, inode, 0, 0, 0, - block, 0, &block); - if (errcode) { - com_err(argv[0], errcode, - "while mapping logical block %llu\n", block); - return; - } - } - - buf = malloc(current_fs->blocksize); - if (!buf) { - com_err(argv[0], 0, "Couldn't allocate block buffer"); - return; - } - - errcode = io_channel_read_blk64(current_fs->io, block, 1, buf); - if (errcode) { - com_err(argv[0], errcode, - "while reading block %llu\n", block); - goto errout; - } - - if (bit >= 0) - buf[bit >> 3] ^= 1 << (bit & 7); - else - memset(buf+offset, pattern, length); - - errcode = io_channel_write_blk64(current_fs->io, block, 1, buf); - if (errcode) { - com_err(argv[0], errcode, - "while write block %llu\n", block); - goto errout; - } - -errout: - free(buf); - return; -} - -void do_block_dump(int argc, char *argv[]) -{ - unsigned char *buf; - ext2_ino_t inode; - errcode_t errcode; - blk64_t block; - char *file = NULL; - unsigned int i, j; - int c, err; - int suppress = -1; - - if (check_fs_open(argv[0])) - return; - - reset_getopt(); - while ((c = getopt (argc, argv, "f:")) != EOF) { - switch (c) { - case 'f': - file = optarg; - break; - - default: - goto print_usage; - } - } - - if (argc != optind + 1) { - print_usage: - com_err(0, 0, "Usage: block_dump [-f inode] block_num"); - return; - } - - block = parse_ulonglong(argv[optind], argv[0], "block", &err); - if (err) - return; - - if (file) { - inode = string_to_inode(file); - if (!inode) - return; - errcode = ext2fs_bmap2(current_fs, inode, 0, 0, 0, - block, 0, &block); - if (errcode) { - com_err(argv[0], errcode, - "while mapping logical block %llu\n", block); - return; - } - } - - buf = malloc(current_fs->blocksize); - if (!buf) { - com_err(argv[0], 0, "Couldn't allocate block buffer"); - return; - } - - errcode = io_channel_read_blk64(current_fs->io, block, 1, buf); - if (errcode) { - com_err(argv[0], errcode, - "while reading block %llu\n", block); - goto errout; - } - - for (i=0; i < current_fs->blocksize; i += 16) { - if (suppress < 0) { - if (i && memcmp(buf + i, buf + i - 16, 16) == 0) { - suppress = i; - printf("*\n"); - continue; - } - } else { - if (memcmp(buf + i, buf + suppress, 16) == 0) - continue; - suppress = -1; - } - printf("%04o ", i); - for (j = 0; j < 16; j++) { - printf("%02x", buf[i+j]); - if ((j % 2) == 1) - putchar(' '); - } - putchar(' '); - for (j = 0; j < 16; j++) - printf("%c", isprint(buf[i+j]) ? buf[i+j] : '.'); - putchar('\n'); - } - putchar('\n'); - -errout: - free(buf); - return; -} diff --git a/depfix.sed b/depfix.sed index 582d79fd..c73a8938 100644 --- a/depfix.sed +++ b/depfix.sed @@ -25,8 +25,8 @@ s/ */ /g s;/usr/include/[^ ]* *;;g s;/usr/lib/[^ ]* *;;g s;/mit/cygnus[^ ]* *;;g -s;\.\./[^ ]*lib/blkid/blkid[^ ]* *;;g -s;\.\./[^ ]*lib/uuid/uuid.h[^ ]* *;;g +s;../[^ ]*lib/blkid/blkid[^ ]* *;;g +s;../[^ ]*lib/uuid/uuid.h[^ ]* *;;g # # Now insert a trailing newline... diff --git a/doc/Makefile.in b/doc/Makefile.in index a2b26123..3398d5f8 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -14,10 +14,9 @@ INSTALL = @INSTALL@ DVI=texi2dvi DVIPS=dvips -o "$@" INFO=@MAKEINFO@ -HTML=makeinfo --html --no-split -PS2PDF=ps2pdf +HTML=texi2html -split_chapter -all:: libext2fs.info libext2fs.dvi libext2fs.html +all:: libext2fs.info libext2fs.dvi install-doc-libs: libext2fs.info libext2fs.dvi $(Q) $(RM) -rf $(DESTDIR)$(infodir)/libext2fs.info* @@ -41,17 +40,12 @@ libext2fs.dvi: $(srcdir)/libext2fs.texinfo $(E) " TEXI2DVI $@" -$(Q) $(DVI) $(srcdir)/libext2fs.texinfo -libext2fs.ps: libext2fs.dvi - $(E) " DVIPS $@" - -$(Q) $(DVIPS) libext2fs.dvi - -libext2fs.pdf: libext2fs.ps - $(E) " PS2PDF $@" - -$(Q) $(PS2PDF) libext2fs.ps - -libext2fs.html: $(srcdir)/libext2fs.texinfo +libext2fs_abt.html: $(srcdir)/libext2fs.texinfo $(E) " TEXI2HTML $@" -$(Q) $(HTML) $(srcdir)/libext2fs.texinfo + -$(Q) if test -d libext2fs ; then \ + mv libext2fs/* . ; rmdir libext2fs ; \ + fi .PHONY: distclean distclean:: clean @@ -65,7 +59,7 @@ clean-all:: clean-tex clean-backup clean-final clean-tarfiles clean-html .PHONY: clean-final clean-final:: - $(RM) -f *.ps *.info *.info-? *.html *.pdf + $(RM) -f *.ps *.info *.info-? *.html .PHONY: clean-tex clean-tex:: diff --git a/doc/libext2fs.texinfo b/doc/libext2fs.texinfo index 2c76673f..d607396b 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.42.9) +@settitle The EXT2FS Library (version 1.41.14) @synindex tp fn @comment %**end of header @@ -30,7 +30,7 @@ This file documents the ext2fs library, a library for manipulating the ext2 filesystem. Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 by Theodore Ts'o +2006, 2007, 2008, 2009 by Theodore Ts'o Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -60,8 +60,8 @@ by the author. @title The EXT2FS Library @subtitle The EXT2FS Library -@subtitle Version 1.42.9 -@subtitle December 2013 +@subtitle Version 1.41.14 +@subtitle December 2010 @author by Theodore Ts'o @@ -77,7 +77,7 @@ by the author. @page @vskip 0pt plus 1filll Copyright @copyright{} 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Theodore Ts'o +2005 Theodore Ts'o @sp 2 @@ -97,11 +97,14 @@ by the Foundation. @end titlepage @headings double +@ifinfo @node Top, Introduction to the EXT2FS Library, (dir), (dir) @top The EXT2FS Library -This manual documents the EXT2FS Library, version 1.42.9. +This manual documents the EXT2FS Library, version 1.41.14. + +@end ifinfo @menu * Introduction to the EXT2FS Library:: @@ -764,7 +767,7 @@ to initialize directory entries for @file{.} and @file{..}, respectively. @deftypefun errcode_t ext2fs_dir_iterate (ext2_filsys @var{fs}, ext2_ino_t @var{dir}, int @var{flags}, char *@var{block_buf}, int (*@var{func})(struct ext2_dir_entry *@var{dirent}, int @var{offset}, int @var{blocksize}, char *@var{buf}, void *@var{private}), void *@var{private}) -This function iterates over all of the directory entries in the +This function interates over all of the directory entries in the directory @var{dir}, calling the callback function @var{func} for each directory entry in the directory. The @var{block_buf} parameter should either be NULL, or if the @code{ext2fs_dir_iterate} function is diff --git a/e2fsck/Android.mk b/e2fsck/Android.mk index c6e08c22..ed7d94db 100644 --- a/e2fsck/Android.mk +++ b/e2fsck/Android.mk @@ -38,8 +38,7 @@ libext2_profile_cflags := -O2 -g -W -Wall \ -DHAVE_TYPE_SSIZE_T \ -DHAVE_SYS_TIME_H \ -DHAVE_SYS_PARAM_H \ - -DHAVE_SYSCONF \ - -DDISABLE_BACKTRACE=1 + -DHAVE_SYSCONF include $(CLEAR_VARS) @@ -79,7 +78,6 @@ e2fsck_src_files := \ pass3.c \ pass4.c \ pass5.c \ - logfile.c \ journal.c \ recovery.c \ revoke.c \ @@ -92,24 +90,21 @@ e2fsck_src_files := \ problem.c \ message.c \ ea_refcount.c \ - quota.c \ rehash.c \ - region.c \ - sigcatcher.c + region.c e2fsck_shared_libraries := \ libext2fs \ libext2_blkid \ libext2_uuid \ libext2_profile \ - libext2_quota \ libext2_com_err \ libext2_e2p e2fsck_system_shared_libraries := libc e2fsck_c_includes := external/e2fsprogs/lib -e2fsck_cflags := -O2 -g -W -Wall -fno-strict-aliasing \ +e2fsck_cflags := -O2 -g -W -Wall \ -DHAVE_DIRENT_H \ -DHAVE_ERRNO_H \ -DHAVE_INTTYPES_H \ @@ -138,8 +133,7 @@ e2fsck_cflags := -O2 -g -W -Wall -fno-strict-aliasing \ -DENABLE_HTREE=1 \ -DHAVE_SYS_TIME_H \ -DHAVE_SYS_PARAM_H \ - -DHAVE_SYSCONF \ - -DDISABLE_BACKTRACE=1 + -DHAVE_SYSCONF include $(CLEAR_VARS) diff --git a/e2fsck/MODULE_LICENSE_GPL b/e2fsck/MODULE_LICENSE_GPL new file mode 100644 index 00000000..e69de29b diff --git a/e2fsck/Makefile.in b/e2fsck/Makefile.in index 8e1c891e..91f3ddf2 100644 --- a/e2fsck/Makefile.in +++ b/e2fsck/Makefile.in @@ -14,31 +14,27 @@ INSTALL = @INSTALL@ PROGS= e2fsck MANPAGES= e2fsck.8 FMANPAGES= e2fsck.conf.5 +XTRA_CFLAGS= -DRESOURCE_TRACK -I. -LIBS= $(LIBQUOTA) $(LIBEXT2FS) $(LIBCOM_ERR) $(LIBBLKID) $(LIBUUID) \ - $(LIBINTL) $(LIBE2P) -DEPLIBS= $(DEPLIBQUOTA) $(LIBEXT2FS) $(DEPLIBCOM_ERR) $(DEPLIBBLKID) \ - $(DEPLIBUUID) $(DEPLIBE2P) +LIBS= $(LIBEXT2FS) $(LIBCOM_ERR) $(LIBBLKID) $(LIBUUID) $(LIBINTL) $(LIBE2P) +DEPLIBS= $(LIBEXT2FS) $(DEPLIBCOM_ERR) $(DEPLIBBLKID) $(DEPLIBUUID) \ + $(DEPLIBE2P) -STATIC_LIBS= $(STATIC_LIBQUOTA) $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) \ - $(STATIC_LIBBLKID) $(STATIC_LIBUUID) $(LIBINTL) $(STATIC_LIBE2P) -STATIC_DEPLIBS= $(DEPSTATIC_LIBQUOTA) $(STATIC_LIBEXT2FS) \ - $(DEPSTATIC_LIBCOM_ERR) $(DEPSTATIC_LIBBLKID) \ - $(DEPSTATIC_LIBUUID) $(DEPSTATIC_LIBE2P) +STATIC_LIBS= $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) $(STATIC_LIBBLKID) \ + $(STATIC_LIBUUID) $(LIBINTL) $(STATIC_LIBE2P) +STATIC_DEPLIBS= $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR) \ + $(DEPSTATIC_LIBBLKID) $(DEPSTATIC_LIBUUID) $(DEPSTATIC_LIBE2P) -PROFILED_LIBS= $(PROFILED_LIBQUOTA) $(PROFILED_LIBEXT2FS) \ - $(PROFILED_LIBCOM_ERR) $(PROFILED_LIBBLKID) $(PROFILED_LIBUUID) \ - $(PROFILED_LIBE2P) $(LIBINTL) -PROFILED_DEPLIBS= $(DEPPROFILED_LIBQUOTA) $(PROFILED_LIBEXT2FS) \ - $(DEPPROFILED_LIBCOM_ERR) $(DEPPROFILED_LIBBLKID) \ - $(DEPPROFILED_LIBUUID) $(DEPPROFILED_LIBE2P) +PROFILED_LIBS= $(PROFILED_LIBEXT2FS) $(PROFILED_LIBCOM_ERR) \ + $(PROFILED_LIBBLKID) $(PROFILED_LIBUUID) $(PROFILED_LIBE2P) $(LIBINTL) +PROFILED_DEPLIBS= $(PROFILED_LIBEXT2FS) $(DEPPROFILED_LIBCOM_ERR) \ + $(DEPPROFILED_LIBBLKID) $(DEPPROFILED_LIBUUID) $(DEPPROFILED_LIBE2P) COMPILE_ET=$(top_builddir)/lib/et/compile_et --build-tree .c.o: $(E) " CC $<" $(Q) $(CC) -c $(ALL_CFLAGS) $< -o $@ - $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< @PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $< # @@ -67,20 +63,18 @@ COMPILE_ET=$(top_builddir)/lib/et/compile_et --build-tree OBJS= crc32.o dict.o unix.o e2fsck.o super.o pass1.o pass1b.o pass2.o \ pass3.o pass4.o pass5.o journal.o badblocks.o util.o dirinfo.o \ - dx_dirinfo.o ehandler.o problem.o message.o quota.o recovery.o \ - region.o revoke.o ea_refcount.o rehash.o profile.o prof_err.o \ - logfile.o sigcatcher.o $(MTRACE_OBJ) + dx_dirinfo.o ehandler.o problem.o message.o recovery.o region.o \ + revoke.o ea_refcount.o rehash.o profile.o prof_err.o $(MTRACE_OBJ) PROFILED_OBJS= profiled/dict.o profiled/unix.o profiled/e2fsck.o \ profiled/super.o profiled/pass1.o profiled/pass1b.o \ profiled/pass2.o profiled/pass3.o profiled/pass4.o profiled/pass5.o \ profiled/journal.o profiled/badblocks.o profiled/util.o \ profiled/dirinfo.o profiled/dx_dirinfo.o profiled/ehandler.o \ - profiled/message.o profiled/problem.o profiled/quota.o \ + profiled/message.o profiled/problem.o \ profiled/recovery.o profiled/region.o profiled/revoke.o \ profiled/ea_refcount.o profiled/rehash.o profiled/profile.o \ - profiled/crc32.o profiled/prof_err.o profiled/logfile.o \ - profiled/sigcatcher.o + profiled/crc32.o profiled/prof_err.o SRCS= $(srcdir)/e2fsck.c \ $(srcdir)/crc32.c \ @@ -108,10 +102,7 @@ SRCS= $(srcdir)/e2fsck.c \ $(srcdir)/rehash.c \ $(srcdir)/region.c \ $(srcdir)/profile.c \ - $(srcdir)/sigcatcher.c \ - $(srcdir)/logfile.c \ prof_err.c \ - $(srcdir)/quota.c \ $(MTRACE_SRC) all:: profiled $(PROGS) e2fsck $(MANPAGES) $(FMANPAGES) @@ -124,36 +115,30 @@ prof_err.c prof_err.h: prof_err.et e2fsck: $(OBJS) $(DEPLIBS) $(E) " LD $@" - $(Q) $(LD) $(ALL_LDFLAGS) $(RDYNAMIC) -o e2fsck $(OBJS) $(LIBS) + $(Q) $(LD) $(ALL_LDFLAGS) -o e2fsck $(OBJS) $(LIBS) e2fsck.static: $(OBJS) $(STATIC_DEPLIBS) $(E) " LD $@" $(Q) $(LD) $(LDFLAGS_STATIC) -o e2fsck.static $(OBJS) $(STATIC_LIBS) -e2fsck.profiled: $(OBJS) $(PROFILED_DEPLIBS) +e2fsck.profiled: $(PROFILED_OBJS) $(PROFILED_DEPLIBS) $(E) " LD $@" $(Q) $(LD) $(ALL_LDFLAGS) -g -pg -o e2fsck.profiled $(PROFILED_OBJS) \ $(PROFILED_LIBS) gen_crc32table: $(srcdir)/gen_crc32table.c $(E) " CC $@" - $(Q) $(BUILD_CC) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o gen_crc32table \ + $(Q) $(BUILD_CC) $(BUILD_CFLAGS) -o gen_crc32table \ $(srcdir)/gen_crc32table.c crc32table.h: gen_crc32table $(E) " GEN32TABLE $@" $(Q) ./gen_crc32table > crc32table.h -tst_sigcatcher: $(srcdir)/sigcatcher.c sigcatcher.o - $(E) " CC $@" - $(Q) $(CC) $(BUILD_LDFLAGS) $(ALL_CFLAGS) $(RDYNAMIC) \ - $(srcdir)/sigcatcher.c -DDEBUG -o tst_sigcatcher - tst_problem: $(srcdir)/problem.c $(srcdir)/problem.h $(LIBEXT2FS) \ $(DEPLIBCOM_ERR) $(Q) $(CC) $(BUILD_LDFLAGS) $(ALL_CFLAGS) -o tst_problem \ - $(srcdir)/problem.c -DUNITTEST $(LIBEXT2FS) $(LIBCOM_ERR) \ - $(LIBINTL) + $(srcdir)/problem.c -DUNITTEST $(LIBEXT2FS) $(LIBCOM_ERR) tst_crc32: $(srcdir)/crc32.c $(LIBEXT2FS) $(DEPLIBCOM_ERR) $(Q) $(CC) $(BUILD_LDFLAGS) $(ALL_CFLAGS) -o tst_crc32 $(srcdir)/crc32.c \ @@ -164,11 +149,6 @@ tst_refcount: ea_refcount.c $(DEPLIBCOM_ERR) $(Q) $(CC) -o tst_refcount $(srcdir)/ea_refcount.c \ $(ALL_CFLAGS) -DTEST_PROGRAM $(LIBCOM_ERR) $(LIBEXT2FS) -tst_logfile: $(srcdir)/logfile.c - $(E) " LD $@" - $(Q) $(CC) -o tst_logfile $(srcdir)/logfile.c $(ALL_CFLAGS) \ - -DTEST_PROGRAM - tst_region: region.c $(DEPLIBCOM_ERR) $(E) " LD $@" $(Q) $(CC) -o tst_region $(srcdir)/region.c \ @@ -218,11 +198,11 @@ installdirs: install: $(PROGS) $(MANPAGES) $(FMANPAGES) installdirs $(Q) for i in $(PROGS); do \ - $(ES) " INSTALL $(root_sbindir)/$$i"; \ + echo " INSTALL $(root_sbindir)/$$i"; \ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(root_sbindir)/$$i; \ done $(Q) for i in ext2 ext3 ext4 ext4dev; do \ - $(ES) " LINK $(root_sbindir)/fsck.$$i"; \ + echo " LINK $(root_sbindir)/fsck.$$i"; \ (cd $(DESTDIR)$(root_sbindir); \ $(LN) $(LINK_INSTALL_FLAGS) e2fsck fsck.$$i); \ done @@ -230,25 +210,25 @@ install: $(PROGS) $(MANPAGES) $(FMANPAGES) installdirs for j in $(COMPRESS_EXT); do \ $(RM) -f $(DESTDIR)$(man8dir)/$$i.$$j; \ done; \ - $(ES) " INSTALL_DATA $(man8dir)/$$i"; \ + echo " INSTALL_DATA $(man8dir)/$$i"; \ $(INSTALL_DATA) $$i $(DESTDIR)$(man8dir)/$$i; \ done $(Q) for i in $(FMANPAGES); do \ for j in $(COMPRESS_EXT); do \ $(RM) -f $(DESTDIR)$(man5dir)/$$i.$$j; \ done; \ - $(ES) " INSTALL_DATA $(man5dir)/$$i"; \ + echo " INSTALL_DATA $(man5dir)/$$i"; \ $(INSTALL_DATA) $$i $(DESTDIR)$(man5dir)/$$i; \ done $(Q) for i in ext2 ext3 ext4 ext4dev; do \ - $(ES) " LINK $(man8dir)/fsck.$$i.8"; \ + echo " LINK $(man8dir)/fsck.$$i.8"; \ (cd $(DESTDIR)$(man8dir); \ $(LN) $(LINK_INSTALL_FLAGS) e2fsck.8 fsck.$$i.8); \ done install-strip: install $(Q) for i in $(PROGS); do \ - $(ES) " STRIP $(root_sbindir)/$$i"; \ + echo " STRIP $(root_sbindir)/$$i"; \ $(STRIP) $(DESTDIR)$(root_sbindir)/$$i; \ done @@ -288,291 +268,173 @@ distclean: clean # Makefile dependencies follow. This must be the last section in # the Makefile.in file # -e2fsck.o: $(srcdir)/e2fsck.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ +e2fsck.o: $(srcdir)/e2fsck.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(srcdir)/problem.h -crc32.o: $(srcdir)/crc32.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h $(srcdir)/problem.h +crc32.o: $(srcdir)/crc32.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(srcdir)/crc32defs.h crc32table.h + $(srcdir)/profile.h prof_err.h $(srcdir)/crc32defs.h crc32table.h gen_crc32table.o: $(srcdir)/gen_crc32table.c $(srcdir)/crc32defs.h -dict.o: $(srcdir)/dict.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/dict.h -super.o: $(srcdir)/super.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ +dict.o: $(srcdir)/dict.c $(srcdir)/dict.h +super.o: $(srcdir)/super.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(srcdir)/problem.h -pass1.o: $(srcdir)/pass1.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h $(srcdir)/problem.h +pass1.o: $(srcdir)/pass1.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(srcdir)/problem.h -pass1b.o: $(srcdir)/pass1b.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \ + $(srcdir)/profile.h prof_err.h $(srcdir)/problem.h +pass1b.o: $(srcdir)/pass1b.c $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(srcdir)/problem.h $(srcdir)/dict.h -pass2.o: $(srcdir)/pass2.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h $(srcdir)/problem.h $(srcdir)/dict.h +pass2.o: $(srcdir)/pass2.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(srcdir)/problem.h $(srcdir)/dict.h -pass3.o: $(srcdir)/pass3.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h $(srcdir)/problem.h $(srcdir)/dict.h +pass3.o: $(srcdir)/pass3.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(srcdir)/problem.h -pass4.o: $(srcdir)/pass4.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h $(srcdir)/problem.h +pass4.o: $(srcdir)/pass4.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(srcdir)/problem.h -pass5.o: $(srcdir)/pass5.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h $(srcdir)/problem.h +pass5.o: $(srcdir)/pass5.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(srcdir)/problem.h -journal.o: $(srcdir)/journal.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/jfs_user.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h $(srcdir)/problem.h +journal.o: $(srcdir)/journal.c $(srcdir)/jfs_user.h $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(top_srcdir)/lib/ext2fs/kernel-jbd.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \ - $(top_srcdir)/lib/ext2fs/kernel-list.h $(srcdir)/problem.h -recovery.o: $(srcdir)/recovery.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/jfs_user.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/ext2fs/kernel-jbd.h \ + $(top_srcdir)/lib/ext2fs/jfs_compat.h $(top_srcdir)/lib/ext2fs/kernel-list.h \ + $(srcdir)/problem.h +recovery.o: $(srcdir)/recovery.c $(srcdir)/jfs_user.h $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(top_srcdir)/lib/ext2fs/kernel-jbd.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \ - $(top_srcdir)/lib/ext2fs/kernel-list.h -revoke.o: $(srcdir)/revoke.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/jfs_user.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/ext2fs/kernel-jbd.h \ + $(top_srcdir)/lib/ext2fs/jfs_compat.h $(top_srcdir)/lib/ext2fs/kernel-list.h +revoke.o: $(srcdir)/revoke.c $(srcdir)/jfs_user.h $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(top_srcdir)/lib/ext2fs/kernel-jbd.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \ - $(top_srcdir)/lib/ext2fs/kernel-list.h -badblocks.o: $(srcdir)/badblocks.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \ + $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/ext2fs/kernel-jbd.h \ + $(top_srcdir)/lib/ext2fs/jfs_compat.h $(top_srcdir)/lib/ext2fs/kernel-list.h +badblocks.o: $(srcdir)/badblocks.c $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h -util.o: $(srcdir)/util.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h +util.o: $(srcdir)/util.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h -unix.o: $(srcdir)/unix.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/e2p/e2p.h \ + $(srcdir)/profile.h prof_err.h +unix.o: $(srcdir)/unix.c $(top_srcdir)/lib/e2p/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/et/com_err.h $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(srcdir)/problem.h $(top_srcdir)/version.h -dirinfo.o: $(srcdir)/dirinfo.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ - $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ - $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ - $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ - $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(top_srcdir)/lib/ext2fs/tdb.h -dx_dirinfo.o: $(srcdir)/dx_dirinfo.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h $(srcdir)/problem.h $(top_srcdir)/version.h +dirinfo.o: $(srcdir)/dirinfo.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h -ehandler.o: $(srcdir)/ehandler.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/ext2fs/tdb.h +dx_dirinfo.o: $(srcdir)/dx_dirinfo.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h -problem.o: $(srcdir)/problem.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h +ehandler.o: $(srcdir)/ehandler.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(srcdir)/problem.h $(srcdir)/problemP.h -message.o: $(srcdir)/message.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h +problem.o: $(srcdir)/problem.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(srcdir)/problem.h -ea_refcount.o: $(srcdir)/ea_refcount.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h $(srcdir)/problem.h $(srcdir)/problemP.h +message.o: $(srcdir)/message.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h -rehash.o: $(srcdir)/rehash.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h $(srcdir)/problem.h +ea_refcount.o: $(srcdir)/ea_refcount.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(srcdir)/problem.h -region.o: $(srcdir)/region.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ - $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ - $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ - $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ - $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h -profile.o: $(srcdir)/profile.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/profile.h prof_err.h -sigcatcher.o: $(srcdir)/sigcatcher.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ +rehash.o: $(srcdir)/rehash.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h -logfile.o: $(srcdir)/logfile.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ + $(srcdir)/profile.h prof_err.h $(srcdir)/problem.h +region.o: $(srcdir)/region.c $(srcdir)/e2fsck.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h + $(srcdir)/profile.h prof_err.h +profile.o: $(srcdir)/profile.c $(top_srcdir)/lib/et/com_err.h \ + $(srcdir)/profile.h prof_err.h prof_err.o: prof_err.c -quota.o: $(srcdir)/quota.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2fsck.h \ - $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ - $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ - $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ - $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/profile.h prof_err.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h \ - $(srcdir)/problem.h $(top_srcdir)/lib/quota/quotaio.h diff --git a/e2fsck/Makefile.pq b/e2fsck/Makefile.pq deleted file mode 100644 index 18a3cd31..00000000 --- a/e2fsck/Makefile.pq +++ /dev/null @@ -1,9 +0,0 @@ -TOPSRC=.. -LIBNAME=E2FSCK.LIB -OBJFILE=E2FSCK.LST - -OBJS= e2fsck.obj super.obj pass1.obj pass2.obj pass3.obj \ - pass4.obj pass5.obj dirinfo.obj - -!include $(TOPSRC)\powerquest\MCONFIG - diff --git a/e2fsck/badblocks.c b/e2fsck/badblocks.c index 74e414bf..87c69953 100644 --- a/e2fsck/badblocks.c +++ b/e2fsck/badblocks.c @@ -41,7 +41,7 @@ void read_bad_blocks_file(e2fsck_t ctx, const char *bad_blocks_file, retval = ext2fs_block_iterate(fs, EXT2_BAD_INO, 0, 0, check_bb_inode_blocks, 0); if (retval) { - com_err("ext2fs_block_iterate", retval, "%s", + com_err("ext2fs_block_iterate", retval, _("while sanity checking the bad blocks inode")); goto fatal; } @@ -53,7 +53,7 @@ void read_bad_blocks_file(e2fsck_t ctx, const char *bad_blocks_file, if (!replace_bad_blocks) { retval = ext2fs_read_bb_inode(fs, &bb_list); if (retval) { - com_err("ext2fs_read_bb_inode", retval, "%s", + com_err("ext2fs_read_bb_inode", retval, _("while reading the bad blocks inode")); goto fatal; } @@ -72,10 +72,10 @@ void read_bad_blocks_file(e2fsck_t ctx, const char *bad_blocks_file, goto fatal; } } else { - sprintf(buf, "badblocks -b %d -X %s%s%s %llu", fs->blocksize, + sprintf(buf, "badblocks -b %d -X %s%s%s %d", fs->blocksize, (ctx->options & E2F_OPT_PREEN) ? "" : "-s ", (ctx->options & E2F_OPT_WRITECHECK) ? "-n " : "", - fs->device_name, ext2fs_blocks_count(fs->super)-1); + fs->device_name, fs->super->s_blocks_count-1); f = popen(buf, "r"); if (!f) { com_err("read_bad_blocks_file", errno, @@ -89,7 +89,7 @@ void read_bad_blocks_file(e2fsck_t ctx, const char *bad_blocks_file, else pclose(f); if (retval) { - com_err("ext2fs_read_bb_FILE", retval, "%s", + com_err("ext2fs_read_bb_FILE", retval, _("while reading in list of bad blocks from file")); goto fatal; } @@ -100,7 +100,7 @@ void read_bad_blocks_file(e2fsck_t ctx, const char *bad_blocks_file, printf("%s: Updating bad block inode.\n", ctx->device_name); retval = ext2fs_update_bb_inode(fs, bb_list); if (retval) { - com_err("ext2fs_update_bb_inode", retval, "%s", + com_err("ext2fs_update_bb_inode", retval, _("while updating bad block inode")); goto fatal; } @@ -125,7 +125,7 @@ static int check_bb_inode_blocks(ext2_filsys fs, /* * If the block number is outrageous, clear it and ignore it. */ - if (*block_nr >= ext2fs_blocks_count(fs->super) || + if (*block_nr >= fs->super->s_blocks_count || *block_nr < fs->super->s_first_data_block) { printf(_("Warning: illegal block %u found in bad block inode. " "Cleared.\n"), *block_nr); diff --git a/e2fsck/dirinfo.c b/e2fsck/dirinfo.c index 3c183937..901235c7 100644 --- a/e2fsck/dirinfo.c +++ b/e2fsck/dirinfo.c @@ -62,15 +62,7 @@ static void setup_tdb(e2fsck_t ctx, ext2_ino_t num_dirs) uuid_unparse(ctx->fs->super->s_uuid, uuid); sprintf(db->tdb_fn, "%s/%s-dirinfo-XXXXXX", tdb_dir, uuid); fd = mkstemp(db->tdb_fn); - if (fd < 0) { - db->tdb = NULL; - return; - } - - if (num_dirs < 99991) - num_dirs = 99991; /* largest 5 digit prime */ - - db->tdb = tdb_open(db->tdb_fn, num_dirs, TDB_NOLOCK | TDB_NOSYNC, + db->tdb = tdb_open(db->tdb_fn, 0, TDB_CLEAR_IF_FIRST, O_RDWR | O_CREAT | O_TRUNC, 0600); close(fd); } @@ -319,13 +311,14 @@ int e2fsck_get_num_dirinfo(e2fsck_t ctx) return ctx->dir_info ? ctx->dir_info->count : 0; } -struct dir_info_iter *e2fsck_dir_info_iter_begin(e2fsck_t ctx) +extern struct dir_info_iter *e2fsck_dir_info_iter_begin(e2fsck_t ctx) { struct dir_info_iter *iter; struct dir_info_db *db = ctx->dir_info; iter = e2fsck_allocate_memory(ctx, sizeof(struct dir_info_iter), "dir_info iterator"); + memset(iter, 0, sizeof(iter)); if (db->tdb) iter->tdb_iter = tdb_firstkey(db->tdb); @@ -333,8 +326,8 @@ struct dir_info_iter *e2fsck_dir_info_iter_begin(e2fsck_t ctx) return iter; } -void e2fsck_dir_info_iter_end(e2fsck_t ctx EXT2FS_ATTR((unused)), - struct dir_info_iter *iter) +extern void e2fsck_dir_info_iter_end(e2fsck_t ctx EXT2FS_ATTR((unused)), + struct dir_info_iter *iter) { free(iter->tdb_iter.dptr); ext2fs_free_mem(&iter); diff --git a/e2fsck/e2fsck.8.in b/e2fsck/e2fsck.8.in index f5ed7582..c554717f 100644 --- a/e2fsck/e2fsck.8.in +++ b/e2fsck/e2fsck.8.in @@ -193,20 +193,6 @@ or repairs. .BI fragcheck During pass 1, print a detailed report of any discontiguous blocks for files in the filesystem. -.TP -.BI discard -Attempt to discard free blocks and unused inode blocks after the full -filesystem check (discarding blocks is useful on solid state devices and sparse -/ thin-provisioned storage). Note that discard is done in pass 5 AFTER the -filesystem has been fully checked and only if it does not contain recognizable -errors. However there might be cases where -.B e2fsck -does not fully recognize a problem and hence in this case this -option may prevent you from further manual data recovery. -.TP -.BI nodiscard -Do not attempt to discard free blocks and unused inode blocks. This option is -exactly the opposite of discard option. This is set as default. .RE .TP .B \-f diff --git a/e2fsck/e2fsck.c b/e2fsck/e2fsck.c index 36931244..f1da97a3 100644 --- a/e2fsck/e2fsck.c +++ b/e2fsck/e2fsck.c @@ -186,9 +186,6 @@ void e2fsck_free_context(e2fsck_t ctx) if (ctx->device_name) ext2fs_free_mem(&ctx->device_name); - if (ctx->log_fn) - free(ctx->log_fn); - ext2fs_free_mem(&ctx); } @@ -198,7 +195,7 @@ void e2fsck_free_context(e2fsck_t ctx) */ typedef void (*pass_t)(e2fsck_t ctx); -static pass_t e2fsck_passes[] = { +pass_t e2fsck_passes[] = { e2fsck_pass1, e2fsck_pass2, e2fsck_pass3, e2fsck_pass4, e2fsck_pass5, 0 }; @@ -220,8 +217,6 @@ int e2fsck_run(e2fsck_t ctx) for (i=0; (e2fsck_pass = e2fsck_passes[i]); i++) { if (ctx->flags & E2F_FLAG_RUN_RETURN) break; - if (e2fsck_mmp_update(ctx->fs)) - fatal_error(ctx, 0); e2fsck_pass(ctx); if (ctx->progress) (void) (ctx->progress)(ctx, 0, 0, 0); diff --git a/e2fsck/e2fsck.conf.5.in b/e2fsck/e2fsck.conf.5.in index 085a9517..e09cd6d7 100644 --- a/e2fsck/e2fsck.conf.5.in +++ b/e2fsck/e2fsck.conf.5.in @@ -112,29 +112,17 @@ boolean value of false. This setting defaults to true. .I broken_system_clock The .BR e2fsck (8) -program has some heuristics that assume that the system clock is +program has some hueristics that assume that the system clock is correct. In addition, many system programs make similar assumptions. For example, the UUID library depends on time not going backwards in order for it to be able to make its guarantees about issuing universally unique ID's. Systems with broken system clocks, are well, broken. However, broken system clocks, particularly in embedded systems, do -exist. E2fsck will attempt to use heuristics to determine if the time -can not be trusted; and to skip time-based checks if this is true. If +exist. E2fsck will attempt to use hueristics to determine if the time +can no tbe trusted; and to skip time-based checks if this is true. If this boolean is set to true, then e2fsck will always assume that the system clock can not be trusted. .TP -.I buggy_init_scripts -This boolean relation is an alias for -.I accept_time_fudge -for backwards compatibility; it used to -be that the behavior defined by -.I accept_time_fudge -above defaulted to false, and -.I buggy_init_scripts -would enable superblock time field to be wrong by up to 24 hours. When -we changed the default, we also renamed this boolean relation to -.IR accept_time_fudge. -.TP .I clear_test_fs_flag This boolean relation controls whether or not .BR e2fsck (8) @@ -157,72 +145,6 @@ be added to the directory without splitting leaf nodes, so that the average fill ratio of directories can be maintained at a higher, more efficient level. This relation defaults to 20 percent. -.TP -.I log_dir -If the -.I log_filename -relation contains a relative pathname, then the log file will be placed -in the directory named by the -.I log_dir -relation. -.TP -.I log_dir_fallback -This relation contains an alternate directory that will be used if the -directory specified by -.I log_dir -is not available or is not writeable. -.TP -.I log_dir_wait -If this boolean relation is true, them if the directories specified by -.I log_dir -or -.I log_dir_fallback -are not available or are not yet writeable, e2fsck will save the output -in a memory buffer, and a child process will periodically test to see if -the log directory has become available after the boot sequence has -mounted the requiste filesytem for reading/writing. This implements the -functionality provided by -.BR logsave (8) -for e2fsck log files. -.TP -.I log_filename -This relation specifies the file name where a copy of e2fsck's output -will be written. If certain problem reports are suppressed using the -.I max_count_problems -relation, (or on a per-problem basis using the -.I max_count -relation), the full set of problem reports will be written to the log -file. The filename may contain various percent-expressions (%D, %T, %N, -etc.) which will be expanded so that the file name for the log file can -include things like date, time, device name, and other run-time -parameters. See the -.B LOGGING -section for more details. -.TP -.I max_count_problems -This relation specifies the maximum number of problem reports of a -particular type will be printed to stdout before further problem reports -of that type are squelched. This can be useful if the console is slow -(i.e., connected to a serial port) and so a large amount of output could -end up delaying the boot process for a long time (potentially hours). -.TP -.I report_features -If this boolean relation is true, e2fsck will print the file system -features as part of its verbose reporting (i.e., if the -.B -v -option is specified) -.TP -.I report_time -If this boolean relation is true, e2fsck will run as if the options -.B -tt -are always specified. This will cause e2fsck to print timing statistics -on a pass by pass basis for full file system checks. -.TP -.I report_verbose -If this boolean relation is true, e2fsck will run as if the option -.B -v -is always specified. This will cause e2fsck to print some additional -information at the end of each full file system check. .SH THE [problems] STANZA Each tag in the .I [problems] @@ -249,11 +171,6 @@ whether this filesystem problem should be automatically fixed when .B e2fsck is running in preen mode. .TP -.I max_count -This integer relation overrides the -.I max_count_problems -parameter (set in the options section) for this particular problem. -.TP .I no_ok This boolean relation overrides the default behavior determining whether or not the filesystem will be marked as inconsistent if the user @@ -312,76 +229,6 @@ defaults to true. This relation controls whether or not the scratch file directory is used instead of an in-memory data structure when tracking inode counts. It defaults to true. -.SH LOGGING -E2fsck has the facility to save the information from an e2fsck run in a -directory so that a system administrator can review its output at their -leisure. This allows information captured during the automatic e2fsck -preen run, as well as a manually started e2fsck run, to be saved for -posterity. This facility is controlled by the -.IR log_filename , -.IR log_dir , -.IR log_dir_fallback , -and -.I log_dir_wait -relations in the -.I [options] -stanza. -.PP -The filename in -.I log_filename -may contain the following percent-expressions that will be expanded as -follows. -.TP -.B %d -The current day of the month -.TP -.B %D -The current date; this is a equivalent of -.B %Y%m%d -.TP -.B %h -The hostname of the system. -.TP -.B %H -The current hour in 24-hour format (00..23) -.TP -.B %m -The current month as a two-digit number (01..12) -.TP -.B %M -The current minute (00..59) -.TP -.B %N -The name of the block device containing the file system, with any -directory pathname stripped off. -.TP -.B %p -The pid of the e2fsck process -.TP -.B %s -The current time expressed as the number of seconds since 1970-01-01 -00:00:00 UTC -.TP -.B %S -The current second (00..59) -.TP -.B %T -The current time; this is equivalent of -.B %H%M%S -.TP -.B %u -The name of the user running e2fsck. -.TP -.B %U -This percent expression does not expand to anything, but it signals that -any following date or time expressions should be expressed in UTC time -instead of the local timzeone. -.TP -.B %y -The last two digits of the current year (00..99) -.TP -.B %Y -The current year (i.e., 2012). .SH EXAMPLES The following recipe will prevent e2fsck from aborting during the boot process when a filesystem contains orphaned files. (Of course, this is @@ -400,29 +247,6 @@ things out may be dangerous.) description = "@u @i %i. " .br } -.P -The following recipe will cause an e2fsck logfile to be written to the -directory /var/log/e2fsck, with a filename that contains the device -name, the hostname of the system, the date, and time: e.g., -"e2fsck-sda3.server.INFO.20120314-112142". If the directory containing -/var/log is located on the root file system -which is initially mounted read-only, then the output will be saved in -memory and written out once the root file system has been remounted -read/write. To avoid too much detail from being written to the serial -console (which could potentially slow down the boot sequence), only print -no more than 16 instances of each type of file system corruption. -.P -.br - [options] -.br - max_count_problems = 16 -.br - log_dir = /var/log/e2fsck -.br - log_filename = e2fsck-%N.%h.INFO.%D-%T -.br - log_dir_wait = true -.P .SH FILES .TP .I /etc/e2fsck.conf diff --git a/e2fsck/e2fsck.h b/e2fsck/e2fsck.h index 913a596a..4e7fc72b 100644 --- a/e2fsck/e2fsck.h +++ b/e2fsck/e2fsck.h @@ -61,14 +61,6 @@ #define P_(singular, plural, n) ((n) == 1 ? (singular) : (plural)) #endif -#ifdef __GNUC__ -#define E2FSCK_ATTR(x) __attribute__(x) -#else -#define E2FSCK_ATTR(x) -#endif - -#include "quota/mkquota.h" - /* * Exit codes used by fsck-type programs */ @@ -119,9 +111,9 @@ struct dx_dir_info { struct dx_dirblock_info { int type; - blk64_t phys; + blk_t phys; int flags; - blk64_t parent; + blk_t parent; ext2_dirhash_t min_hash; ext2_dirhash_t max_hash; ext2_dirhash_t node_min_hash; @@ -133,8 +125,6 @@ struct dx_dirblock_info { #define DX_FLAG_FIRST 4 #define DX_FLAG_LAST 8 -#define RESOURCE_TRACK - #ifdef RESOURCE_TRACK /* * This structure is used for keeping track of how much resources have @@ -166,7 +156,6 @@ struct resource_track { #define E2F_OPT_COMPRESS_DIRS 0x0400 #define E2F_OPT_FRAGCHECK 0x0800 #define E2F_OPT_JOURNAL_ONLY 0x1000 /* only replay the journal */ -#define E2F_OPT_DISCARD 0x2000 /* * E2fsck flags @@ -220,16 +209,12 @@ struct e2fsck_struct { char *filesystem_name; char *device_name; char *io_options; - FILE *logf; - char *log_fn; int flags; /* E2fsck internal flags */ int options; + blk_t use_superblock; /* sb requested by user */ + blk_t superblock; /* sb used to open fs */ int blocksize; /* blocksize */ - blk64_t use_superblock; /* sb requested by user */ - blk64_t superblock; /* sb used to open fs */ blk64_t num_blocks; /* Total number of blocks */ - blk64_t free_blocks; - ino_t free_inodes; int mount_flags; blkid_cache blkid; /* blkid cache */ @@ -317,10 +302,6 @@ struct e2fsck_struct { io_channel journal_io; char *journal_name; - /* - * Ext4 quota support - */ - quota_ctx_t qctx; #ifdef RESOURCE_TRACK /* * For timing purposes @@ -435,37 +416,32 @@ extern struct dx_dir_info *e2fsck_dx_dir_info_iter(e2fsck_t ctx, int *control); /* ea_refcount.c */ extern errcode_t ea_refcount_create(int size, ext2_refcount_t *ret); extern void ea_refcount_free(ext2_refcount_t refcount); -extern errcode_t ea_refcount_fetch(ext2_refcount_t refcount, blk64_t blk, int *ret); +extern errcode_t ea_refcount_fetch(ext2_refcount_t refcount, blk_t blk, + int *ret); extern errcode_t ea_refcount_increment(ext2_refcount_t refcount, - blk64_t blk, int *ret); + blk_t blk, int *ret); extern errcode_t ea_refcount_decrement(ext2_refcount_t refcount, - blk64_t blk, int *ret); + blk_t blk, int *ret); extern errcode_t ea_refcount_store(ext2_refcount_t refcount, - blk64_t blk, int count); + blk_t blk, int count); extern blk_t ext2fs_get_refcount_size(ext2_refcount_t refcount); extern void ea_refcount_intr_begin(ext2_refcount_t refcount); -extern blk64_t ea_refcount_intr_next(ext2_refcount_t refcount, int *ret); +extern blk_t ea_refcount_intr_next(ext2_refcount_t refcount, int *ret); /* ehandler.c */ extern const char *ehandler_operation(const char *op); extern void ehandler_init(io_channel channel); /* journal.c */ -extern errcode_t e2fsck_check_ext3_journal(e2fsck_t ctx); -extern errcode_t e2fsck_run_ext3_journal(e2fsck_t ctx); +extern int e2fsck_check_ext3_journal(e2fsck_t ctx); +extern int e2fsck_run_ext3_journal(e2fsck_t ctx); extern void e2fsck_move_ext3_journal(e2fsck_t ctx); extern int e2fsck_fix_ext3_journal_hint(e2fsck_t ctx); -/* logfile.c */ -extern void set_up_logging(e2fsck_t ctx); - -/* quota.c */ -extern void e2fsck_hide_quota(e2fsck_t ctx); - /* pass1.c */ extern void e2fsck_setup_tdb_icount(e2fsck_t ctx, int flags, ext2_icount_t *ret); -extern void e2fsck_use_inode_shortcuts(e2fsck_t ctx, int use_shortcuts); +extern void e2fsck_use_inode_shortcuts(e2fsck_t ctx, int bool); extern int e2fsck_pass1_check_device_inode(ext2_filsys fs, struct ext2_inode *inode); extern int e2fsck_pass1_check_symlink(ext2_filsys fs, ext2_ino_t ino, @@ -496,9 +472,6 @@ extern int region_allocate(region_t region, region_addr_t start, int n); errcode_t e2fsck_rehash_dir(e2fsck_t ctx, ext2_ino_t ino); void e2fsck_rehash_directories(e2fsck_t ctx); -/* sigcatcher.c */ -void sigcatcher_setup(void); - /* super.c */ void check_super_block(e2fsck_t ctx); int check_backup_super_block(e2fsck_t ctx); @@ -508,12 +481,8 @@ void check_resize_inode(e2fsck_t ctx); extern void *e2fsck_allocate_memory(e2fsck_t ctx, unsigned int size, const char *description); extern int ask(e2fsck_t ctx, const char * string, int def); -extern int ask_yn(e2fsck_t ctx, const char * string, int def); +extern int ask_yn(const char * string, int def); extern void fatal_error(e2fsck_t ctx, const char * fmt_string); -extern void log_out(e2fsck_t ctx, const char *fmt, ...) - E2FSCK_ATTR((format(printf, 2, 3))); -extern void log_err(e2fsck_t ctx, const char *fmt, ...) - E2FSCK_ATTR((format(printf, 2, 3))); extern void e2fsck_read_bitmaps(e2fsck_t ctx); extern void e2fsck_write_bitmaps(e2fsck_t ctx); extern void preenhalt(e2fsck_t ctx); @@ -547,32 +516,10 @@ extern void e2fsck_write_inode_full(e2fsck_t ctx, unsigned long ino, #ifdef MTRACE extern void mtrace_print(char *mesg); #endif -extern blk64_t get_backup_sb(e2fsck_t ctx, ext2_filsys fs, +extern blk_t get_backup_sb(e2fsck_t ctx, ext2_filsys fs, const char *name, io_manager manager); extern int ext2_file_type(unsigned int mode); extern int write_all(int fd, char *buf, size_t count); -void dump_mmp_msg(struct mmp_struct *mmp, const char *msg); -errcode_t e2fsck_mmp_update(ext2_filsys fs); - -extern void e2fsck_set_bitmap_type(ext2_filsys fs, - unsigned int default_type, - const char *profile_name, - unsigned int *old_type); -extern errcode_t e2fsck_allocate_inode_bitmap(ext2_filsys fs, - const char *descr, - int default_type, - const char *profile_name, - ext2fs_inode_bitmap *ret); -extern errcode_t e2fsck_allocate_block_bitmap(ext2_filsys fs, - const char *descr, - int default_type, - const char *profile_name, - ext2fs_block_bitmap *ret); -extern errcode_t e2fsck_allocate_subcluster_bitmap(ext2_filsys fs, - const char *descr, - int default_type, - const char *profile_name, - ext2fs_block_bitmap *ret); /* unix.c */ extern void e2fsck_clear_progbar(e2fsck_t ctx); diff --git a/e2fsck/ea_refcount.c b/e2fsck/ea_refcount.c index e4ccd6db..b10cfffa 100644 --- a/e2fsck/ea_refcount.c +++ b/e2fsck/ea_refcount.c @@ -24,7 +24,7 @@ * checked, its bit is set in the block_ea_map bitmap. */ struct ea_refcount_el { - blk64_t ea_blk; + blk_t ea_blk; int ea_count; }; @@ -110,7 +110,7 @@ static void refcount_collapse(ext2_refcount_t refcount) * specified position. */ static struct ea_refcount_el *insert_refcount_el(ext2_refcount_t refcount, - blk64_t blk, int pos) + blk_t blk, int pos) { struct ea_refcount_el *el; errcode_t retval; @@ -152,9 +152,11 @@ static struct ea_refcount_el *insert_refcount_el(ext2_refcount_t refcount, * and we can't find an entry, create one in the sorted list. */ static struct ea_refcount_el *get_refcount_el(ext2_refcount_t refcount, - blk64_t blk, int create) + blk_t blk, int create) { + float range; int low, high, mid; + blk_t lowval, highval; if (!refcount || !refcount->list) return 0; @@ -180,7 +182,31 @@ retry: printf("Non-cursor get_refcount_el: %u\n", blk); #endif while (low <= high) { +#if 0 mid = (low+high)/2; +#else + if (low == high) + mid = low; + else { + /* Interpolate for efficiency */ + lowval = refcount->list[low].ea_blk; + highval = refcount->list[high].ea_blk; + + if (blk < lowval) + range = 0; + else if (blk > highval) + range = 1; + else { + range = ((float) (blk - lowval)) / + (highval - lowval); + if (range > 0.9) + range = 0.9; + if (range < 0.1) + range = 0.1; + } + mid = low + ((int) (range * (high-low))); + } +#endif if (blk == refcount->list[mid].ea_blk) { refcount->cursor = mid+1; return &refcount->list[mid]; @@ -205,7 +231,7 @@ retry: return 0; } -errcode_t ea_refcount_fetch(ext2_refcount_t refcount, blk64_t blk, +errcode_t ea_refcount_fetch(ext2_refcount_t refcount, blk_t blk, int *ret) { struct ea_refcount_el *el; @@ -219,7 +245,7 @@ errcode_t ea_refcount_fetch(ext2_refcount_t refcount, blk64_t blk, return 0; } -errcode_t ea_refcount_increment(ext2_refcount_t refcount, blk64_t blk, int *ret) +errcode_t ea_refcount_increment(ext2_refcount_t refcount, blk_t blk, int *ret) { struct ea_refcount_el *el; @@ -233,7 +259,7 @@ errcode_t ea_refcount_increment(ext2_refcount_t refcount, blk64_t blk, int *ret) return 0; } -errcode_t ea_refcount_decrement(ext2_refcount_t refcount, blk64_t blk, int *ret) +errcode_t ea_refcount_decrement(ext2_refcount_t refcount, blk_t blk, int *ret) { struct ea_refcount_el *el; @@ -248,7 +274,7 @@ errcode_t ea_refcount_decrement(ext2_refcount_t refcount, blk64_t blk, int *ret) return 0; } -errcode_t ea_refcount_store(ext2_refcount_t refcount, blk64_t blk, int count) +errcode_t ea_refcount_store(ext2_refcount_t refcount, blk_t blk, int count) { struct ea_refcount_el *el; @@ -276,7 +302,7 @@ void ea_refcount_intr_begin(ext2_refcount_t refcount) } -blk64_t ea_refcount_intr_next(ext2_refcount_t refcount, +blk_t ea_refcount_intr_next(ext2_refcount_t refcount, int *ret) { struct ea_refcount_el *list; @@ -309,8 +335,7 @@ errcode_t ea_refcount_validate(ext2_refcount_t refcount, FILE *out) } for (i=1; i < refcount->count; i++) { if (refcount->list[i-1].ea_blk >= refcount->list[i].ea_blk) { - fprintf(out, - "%s: list[%d].blk=%llu, list[%d].blk=%llu\n", + fprintf(out, "%s: list[%d].blk=%u, list[%d].blk=%u\n", bad, i-1, refcount->list[i-1].ea_blk, i, refcount->list[i].ea_blk); ret = EXT2_ET_INVALID_ARGUMENT; @@ -370,7 +395,7 @@ int main(int argc, char **argv) int i = 0; ext2_refcount_t refcount; int size, arg; - blk64_t blk; + blk_t blk; errcode_t retval; while (1) { @@ -381,8 +406,8 @@ int main(int argc, char **argv) size = bcode_program[i++]; retval = ea_refcount_create(size, &refcount); if (retval) { - com_err("ea_refcount_create", retval, - "while creating size %d", size); + com_err("ea_refcount_create", + retval, ""); exit(1); } else printf("Creating refcount with size %d\n", @@ -396,57 +421,59 @@ int main(int argc, char **argv) case BCODE_STORE: blk = (blk_t) bcode_program[i++]; arg = bcode_program[i++]; - printf("Storing blk %llu with value %d\n", blk, arg); retval = ea_refcount_store(refcount, blk, arg); + printf("Storing blk %u with value %d\n", blk, arg); if (retval) - com_err("ea_refcount_store", retval, - "while storing blk %llu", blk); + com_err("ea_refcount_store", retval, ""); break; case BCODE_FETCH: blk = (blk_t) bcode_program[i++]; retval = ea_refcount_fetch(refcount, blk, &arg); if (retval) - com_err("ea_refcount_fetch", retval, - "while fetching blk %llu", blk); + com_err("ea_refcount_fetch", retval, ""); else - printf("bcode_fetch(%llu) returns %d\n", + printf("bcode_fetch(%u) returns %d\n", blk, arg); break; case BCODE_INCR: blk = (blk_t) bcode_program[i++]; - retval = ea_refcount_increment(refcount, blk, &arg); + retval = ea_refcount_increment(refcount, blk, + &arg); if (retval) com_err("ea_refcount_increment", retval, - "while incrementing blk %llu", blk); + ""); else - printf("bcode_increment(%llu) returns %d\n", + printf("bcode_increment(%u) returns %d\n", blk, arg); break; case BCODE_DECR: blk = (blk_t) bcode_program[i++]; - retval = ea_refcount_decrement(refcount, blk, &arg); + retval = ea_refcount_decrement(refcount, blk, + &arg); if (retval) com_err("ea_refcount_decrement", retval, - "while decrementing blk %llu", blk); + "while decrementing blk %u", blk); else - printf("bcode_decrement(%llu) returns %d\n", + printf("bcode_decrement(%u) returns %d\n", blk, arg); break; case BCODE_VALIDATE: retval = ea_refcount_validate(refcount, stderr); if (retval) - com_err("ea_refcount_validate", retval, - "while validating"); + com_err("ea_refcount_validate", + retval, ""); else printf("Refcount validation OK.\n"); break; case BCODE_LIST: ea_refcount_intr_begin(refcount); while (1) { - blk = ea_refcount_intr_next(refcount, &arg); + blk = ea_refcount_intr_next(refcount, + &arg); if (!blk) break; - printf("\tblk=%llu, count=%d\n", blk, arg); + printf("\tblk=%u, count=%d\n", blk, + arg); } break; case BCODE_COLLAPSE: diff --git a/e2fsck/ehandler.c b/e2fsck/ehandler.c index 6e2f23cb..f9021f06 100644 --- a/e2fsck/ehandler.c +++ b/e2fsck/ehandler.c @@ -43,7 +43,7 @@ static errcode_t e2fsck_handle_read_error(io_channel channel, if (count > 1) { p = (char *) data; for (i=0; i < count; i++, p += channel->block_size, block++) { - error = io_channel_read_blk64(channel, block, + error = io_channel_read_blk(channel, block, 1, p); if (error) return error; @@ -59,7 +59,7 @@ static errcode_t e2fsck_handle_read_error(io_channel channel, preenhalt(ctx); if (ask(ctx, _("Ignore error"), 1)) { if (ask(ctx, _("Force rewrite"), 1)) - io_channel_write_blk64(channel, block, count, data); + io_channel_write_blk(channel, block, 1, data); return 0; } @@ -91,7 +91,7 @@ static errcode_t e2fsck_handle_write_error(io_channel channel, if (count > 1) { p = (const char *) data; for (i=0; i < count; i++, p += channel->block_size, block++) { - error = io_channel_write_blk64(channel, block, + error = io_channel_write_blk(channel, block, 1, p); if (error) return error; diff --git a/e2fsck/emptydir.c b/e2fsck/emptydir.c index cf9b521e..e03db564 100644 --- a/e2fsck/emptydir.c +++ b/e2fsck/emptydir.c @@ -25,8 +25,8 @@ struct empty_dir_info_struct { char *block_buf; ext2_ino_t ino; struct ext2_inode inode; - blk64_t logblk; - blk64_t freed_blocks; + blk_t logblk; + blk_t freed_blocks; }; typedef struct empty_dir_info_struct *empty_dir_info; @@ -34,7 +34,7 @@ typedef struct empty_dir_info_struct *empty_dir_info; extern empty_dir_info init_empty_dir(e2fsck_t ctx); extern void free_empty_dirblock(empty_dir_info edi); extern void add_empty_dirblock(empty_dir_info edi, - struct ext2_db_entry2 *db); + struct ext2_db_entry *db); extern void process_empty_dirblock(e2fsck_t ctx, empty_dir_info edi); @@ -86,7 +86,7 @@ void free_empty_dirblock(empty_dir_info edi) } void add_empty_dirblock(empty_dir_info edi, - struct ext2_db_entry2 *db) + struct ext2_db_entry *db) { if (!edi || !db) return; @@ -97,13 +97,13 @@ void add_empty_dirblock(empty_dir_info edi, printf(_("Empty directory block %u (#%d) in inode %u\n"), db->blk, db->blockcnt, db->ino); - ext2fs_mark_block_bitmap2(edi->empty_dir_blocks, db->blk); + ext2fs_mark_block_bitmap(edi->empty_dir_blocks, db->blk); if (ext2fs_test_inode_bitmap(edi->dir_map, db->ino)) return; ext2fs_mark_inode_bitmap(edi->dir_map, db->ino); - ext2fs_add_dir_block2(edi->empty_dblist, db->ino, - db->blk, db->blockcnt); + ext2fs_add_dir_block(edi->empty_dblist, db->ino, + db->blk, db->blockcnt); } /* @@ -116,26 +116,26 @@ void add_empty_dirblock(empty_dir_info edi, * * Also question --- how to free the indirect blocks. */ -int empty_pass1(ext2_filsys fs, blk64_t *block_nr, e2_blkcnt_t blockcnt, - blk64_t ref_block, int ref_offset, void *priv_data) +int empty_pass1(ext2_filsys fs, blk_t *block_nr, e2_blkcnt_t blockcnt, + blk_t ref_block, int ref_offset, void *priv_data) { empty_dir_info edi = (empty_dir_info) priv_data; - blk64_t block, new_block; + blk_t block, new_block; errcode_t retval; if (blockcnt < 0) return 0; block = *block_nr; do { - retval = ext2fs_bmap2(fs, edi->ino, &edi->inode, - edi->block_buf, 0, edi->logblk, 0, - &new_block); + retval = ext2fs_bmap(fs, edi->ino, &edi->inode, + edi->block_buf, 0, edi->logblk, + &new_block); if (retval) return DIRENT_ABORT; /* XXX what to do? */ if (new_block == 0) break; edi->logblk++; - } while (ext2fs_test_block_bitmap2(edi->empty_dir_blocks, new_block)); + } while (ext2fs_test_block_bitmap(edi->empty_dir_blocks, new_block)); if (new_block == block) return 0; @@ -146,7 +146,7 @@ int empty_pass1(ext2_filsys fs, blk64_t *block_nr, e2_blkcnt_t blockcnt, } static int fix_directory(ext2_filsys fs, - struct ext2_db_entry2 *db, + struct ext2_db_entry *db, void *priv_data) { errcode_t retval; @@ -161,7 +161,7 @@ static int fix_directory(ext2_filsys fs, if (retval) return 0; - retval = ext2fs_block_iterate3(fs, db->ino, 0, edi->block_buf, + retval = ext2fs_block_iterate2(fs, db->ino, 0, edi->block_buf, empty_pass1, edi); if (retval) return 0; @@ -184,8 +184,8 @@ void process_empty_dirblock(e2fsck_t ctx, empty_dir_info edi) edi->block_buf = malloc(ctx->fs->blocksize * 3); if (edi->block_buf) { - (void) ext2fs_dblist_iterate2(edi->empty_dblist, - fix_directory, &edi); + (void) ext2fs_dblist_iterate(edi->empty_dblist, + fix_directory, &edi); } free(edi->block_buf); free_empty_dirblock(edi); diff --git a/e2fsck/iscan.c b/e2fsck/iscan.c index 3d33c1f2..84e2cc17 100644 --- a/e2fsck/iscan.c +++ b/e2fsck/iscan.c @@ -15,6 +15,9 @@ #ifdef HAVE_ERRNO_H #include #endif +#ifdef HAVE_MNTENT_H +#include +#endif #include #ifdef HAVE_MALLOC_H #include @@ -106,7 +109,7 @@ int main (int argc, char *argv[]) retval = ext2fs_open(device_name, 0, 0, 0, unix_io_manager, &fs); if (retval) { - com_err(program_name, retval, _("while trying to open '%s'"), + com_err(program_name, retval, _("while trying to open %s"), device_name); exit(1); } diff --git a/e2fsck/jfs_user.h b/e2fsck/jfs_user.h index bb2c6302..eedf21ee 100644 --- a/e2fsck/jfs_user.h +++ b/e2fsck/jfs_user.h @@ -18,7 +18,7 @@ struct buffer_head { e2fsck_t b_ctx; io_channel b_io; int b_size; - unsigned long long b_blocknr; + blk_t b_blocknr; int b_dirty; int b_uptodate; int b_err; @@ -63,7 +63,6 @@ typedef struct { #ifndef __BIONIC__ typedef unsigned int __be32; -typedef __u64 __be64; #endif #define __init @@ -77,31 +76,20 @@ typedef __u64 __be64; * We use the standard libext2fs portability tricks for inline * functions. */ -#ifdef NO_INLINE_FUNCS extern lkmem_cache_t * do_cache_create(int len); extern void do_cache_destroy(lkmem_cache_t *cache); extern size_t journal_tag_bytes(journal_t *journal); -#endif #if (defined(E2FSCK_INCLUDE_INLINE_FUNCS) || !defined(NO_INLINE_FUNCS)) #ifdef E2FSCK_INCLUDE_INLINE_FUNCS -#if (__STDC_VERSION__ >= 199901L) -#define _INLINE_ extern inline +#define _INLINE_ extern #else -#define _INLINE_ inline -#endif -#else /* !E2FSCK_INCLUDE_INLINE FUNCS */ -#if (__STDC_VERSION__ >= 199901L) -#define _INLINE_ inline -#else /* not C99 */ #ifdef __GNUC__ #define _INLINE_ extern __inline__ #else /* For Watcom C */ #define _INLINE_ extern inline -#endif /* __GNUC__ */ -#endif /* __STDC_VERSION__ >= 199901L */ -#endif /* E2FSCK_INCLUDE_INLINE_FUNCS */ - +#endif +#endif _INLINE_ lkmem_cache_t * do_cache_create(int len) { @@ -134,8 +122,8 @@ _INLINE_ size_t journal_tag_bytes(journal_t *journal) /* * Kernel compatibility functions are defined in journal.c */ -int journal_bmap(journal_t *journal, blk64_t block, unsigned long long *phys); -struct buffer_head *getblk(kdev_t ctx, blk64_t blocknr, int blocksize); +int journal_bmap(journal_t *journal, blk_t block, unsigned long *phys); +struct buffer_head *getblk(kdev_t ctx, blk_t blocknr, int blocksize); void sync_blockdev(kdev_t kdev); void ll_rw_block(int rw, int dummy, struct buffer_head *bh[]); void mark_buffer_dirty(struct buffer_head *bh); diff --git a/e2fsck/journal.c b/e2fsck/journal.c index c806ae21..169aa401 100644 --- a/e2fsck/journal.c +++ b/e2fsck/journal.c @@ -43,7 +43,7 @@ static int bh_count = 0; * to use the recovery.c file virtually unchanged from the kernel, so we * don't have to do much to keep kernel and user recovery in sync. */ -int journal_bmap(journal_t *journal, blk64_t block, unsigned long long *phys) +int journal_bmap(journal_t *journal, blk_t block, unsigned long *phys) { #ifdef USE_INODE_IO *phys = block; @@ -51,21 +51,21 @@ int journal_bmap(journal_t *journal, blk64_t block, unsigned long long *phys) #else struct inode *inode = journal->j_inode; errcode_t retval; - blk64_t pblk; + blk_t pblk; if (!inode) { *phys = block; return 0; } - retval= ext2fs_bmap2(inode->i_ctx->fs, inode->i_ino, - &inode->i_ext2, NULL, 0, block, 0, &pblk); + retval= ext2fs_bmap(inode->i_ctx->fs, inode->i_ino, + &inode->i_ext2, NULL, 0, block, &pblk); *phys = pblk; - return (int) retval; + return (retval); #endif } -struct buffer_head *getblk(kdev_t kdev, blk64_t blocknr, int blocksize) +struct buffer_head *getblk(kdev_t kdev, blk_t blocknr, int blocksize) { struct buffer_head *bh; int bufsize = sizeof(*bh) + kdev->k_ctx->fs->blocksize - @@ -79,8 +79,8 @@ struct buffer_head *getblk(kdev_t kdev, blk64_t blocknr, int blocksize) if (journal_enable_debug >= 3) bh_count++; #endif - jfs_debug(4, "getblk for block %llu (%d bytes)(total %d)\n", - (unsigned long long) blocknr, blocksize, bh_count); + jfs_debug(4, "getblk for block %lu (%d bytes)(total %d)\n", + (unsigned long) blocknr, blocksize, bh_count); bh->b_ctx = kdev->k_ctx; if (kdev->k_dev == K_DEV_FS) @@ -107,45 +107,44 @@ void sync_blockdev(kdev_t kdev) void ll_rw_block(int rw, int nr, struct buffer_head *bhp[]) { - errcode_t retval; + int retval; struct buffer_head *bh; for (; nr > 0; --nr) { bh = *bhp++; if (rw == READ && !bh->b_uptodate) { - jfs_debug(3, "reading block %llu/%p\n", - bh->b_blocknr, (void *) bh); - retval = io_channel_read_blk64(bh->b_io, + jfs_debug(3, "reading block %lu/%p\n", + (unsigned long) bh->b_blocknr, (void *) bh); + retval = io_channel_read_blk(bh->b_io, bh->b_blocknr, 1, bh->b_data); if (retval) { com_err(bh->b_ctx->device_name, retval, - "while reading block %llu\n", - bh->b_blocknr); - bh->b_err = (int) retval; + "while reading block %lu\n", + (unsigned long) bh->b_blocknr); + bh->b_err = retval; continue; } bh->b_uptodate = 1; } else if (rw == WRITE && bh->b_dirty) { - jfs_debug(3, "writing block %llu/%p\n", - bh->b_blocknr, - (void *) bh); - retval = io_channel_write_blk64(bh->b_io, + jfs_debug(3, "writing block %lu/%p\n", + (unsigned long) bh->b_blocknr, (void *) bh); + retval = io_channel_write_blk(bh->b_io, bh->b_blocknr, 1, bh->b_data); if (retval) { com_err(bh->b_ctx->device_name, retval, - "while writing block %llu\n", - bh->b_blocknr); - bh->b_err = (int) retval; + "while writing block %lu\n", + (unsigned long) bh->b_blocknr); + bh->b_err = retval; continue; } bh->b_dirty = 0; bh->b_uptodate = 1; } else { - jfs_debug(3, "no-op %s for block %llu\n", + jfs_debug(3, "no-op %s for block %lu\n", rw == READ ? "read" : "write", - bh->b_blocknr); + (unsigned long) bh->b_blocknr); } } } @@ -164,8 +163,8 @@ void brelse(struct buffer_head *bh) { if (bh->b_dirty) ll_rw_block(WRITE, 1, &bh); - jfs_debug(3, "freeing block %llu/%p (total %d)\n", - bh->b_blocknr, (void *) bh, --bh_count); + jfs_debug(3, "freeing block %lu/%p (total %d)\n", + (unsigned long) bh->b_blocknr, (void *) bh, --bh_count); ext2fs_free_mem(&bh); } @@ -204,19 +203,19 @@ struct process_block_struct { }; static int process_journal_block(ext2_filsys fs, - blk64_t *block_nr, + blk_t *block_nr, e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { struct process_block_struct *p; - blk64_t blk = *block_nr; + blk_t blk = *block_nr; p = (struct process_block_struct *) priv_data; if (!blk || blk < fs->super->s_first_data_block || - blk >= ext2fs_blocks_count(fs->super)) + blk >= fs->super->s_blocks_count) return BLOCK_ABORT; if (blockcnt >= 0) @@ -237,7 +236,7 @@ static errcode_t e2fsck_get_journal(e2fsck_t ctx, journal_t **ret_journal) journal_t *journal = NULL; errcode_t retval = 0; io_manager io_ptr = 0; - unsigned long long start = 0; + unsigned long start = 0; int ext_journal = 0; int tried_backup_jnl = 0; @@ -289,7 +288,6 @@ static errcode_t e2fsck_get_journal(e2fsck_t ctx, journal_t **ret_journal) memset(&j_inode->i_ext2, 0, sizeof(struct ext2_inode)); memcpy(&j_inode->i_ext2.i_block[0], sb->s_jnl_blocks, EXT2_N_BLOCKS*4); - j_inode->i_ext2.i_size_high = sb->s_jnl_blocks[15]; j_inode->i_ext2.i_size = sb->s_jnl_blocks[16]; j_inode->i_ext2.i_links_count = 1; j_inode->i_ext2.i_mode = LINUX_S_IFREG | 0600; @@ -303,17 +301,17 @@ static errcode_t e2fsck_get_journal(e2fsck_t ctx, journal_t **ret_journal) retval = EXT2_ET_NO_JOURNAL; goto try_backup_journal; } - if (EXT2_I_SIZE(&j_inode->i_ext2) / journal->j_blocksize < + if (j_inode->i_ext2.i_size / journal->j_blocksize < JFS_MIN_JOURNAL_BLOCKS) { retval = EXT2_ET_JOURNAL_TOO_SMALL; goto try_backup_journal; } pb.last_block = -1; - retval = ext2fs_block_iterate3(ctx->fs, j_inode->i_ino, + retval = ext2fs_block_iterate2(ctx->fs, j_inode->i_ino, BLOCK_FLAG_HOLE, 0, process_journal_block, &pb); - if ((pb.last_block + 1) * ctx->fs->blocksize < - (int) EXT2_I_SIZE(&j_inode->i_ext2)) { + if ((pb.last_block+1) * ctx->fs->blocksize < + j_inode->i_ext2.i_size) { retval = EXT2_ET_JOURNAL_TOO_SMALL; goto try_backup_journal; } @@ -324,8 +322,7 @@ static errcode_t e2fsck_get_journal(e2fsck_t ctx, journal_t **ret_journal) goto errout; } - journal->j_maxlen = EXT2_I_SIZE(&j_inode->i_ext2) / - journal->j_blocksize; + journal->j_maxlen = j_inode->i_ext2.i_size / journal->j_blocksize; #ifdef USE_INODE_IO retval = ext2fs_inode_io_intern2(ctx->fs, sb->s_journal_inum, @@ -338,7 +335,7 @@ static errcode_t e2fsck_get_journal(e2fsck_t ctx, journal_t **ret_journal) #else journal->j_inode = j_inode; ctx->journal_io = ctx->fs->io; - if ((retval = (errcode_t) journal_bmap(journal, 0, &start)) != 0) + if ((retval = journal_bmap(journal, 0, &start)) != 0) goto errout; #endif } else { @@ -371,27 +368,15 @@ static errcode_t e2fsck_get_journal(e2fsck_t ctx, journal_t **ret_journal) #ifndef USE_INODE_IO if (ext_journal) #endif - { - int flags = IO_FLAG_RW; - if (!(ctx->mount_flags & EXT2_MF_ISROOT && - ctx->mount_flags & EXT2_MF_READONLY)) - flags |= IO_FLAG_EXCLUSIVE; - if ((ctx->mount_flags & EXT2_MF_READONLY) && - (ctx->options & E2F_OPT_FORCE)) - flags &= ~IO_FLAG_EXCLUSIVE; - - - retval = io_ptr->open(journal_name, flags, + retval = io_ptr->open(journal_name, + IO_FLAG_RW | IO_FLAG_EXCLUSIVE, &ctx->journal_io); - } if (retval) goto errout; io_channel_set_blksize(ctx->journal_io, ctx->fs->blocksize); if (ext_journal) { - blk64_t maxlen; - if (ctx->fs->blocksize == 1024) start = 1; bh = getblk(dev_journal, start, ctx->fs->blocksize); @@ -425,8 +410,7 @@ static errcode_t e2fsck_get_journal(e2fsck_t ctx, journal_t **ret_journal) goto errout; } - maxlen = ext2fs_blocks_count(&jsuper); - journal->j_maxlen = (maxlen < 1ULL << 32) ? maxlen : (1ULL << 32) - 1; + journal->j_maxlen = jsuper.s_blocks_count; start++; } @@ -520,7 +504,7 @@ static errcode_t e2fsck_journal_load(journal_t *journal) ll_rw_block(READ, 1, &jbh); if (jbh->b_err) { - com_err(ctx->device_name, jbh->b_err, "%s", + com_err(ctx->device_name, jbh->b_err, _("reading journal superblock\n")); return jbh->b_err; } @@ -703,7 +687,7 @@ static void e2fsck_journal_release(e2fsck_t ctx, journal_t *journal, * This function makes sure that the superblock fields regarding the * journal are consistent. */ -errcode_t e2fsck_check_ext3_journal(e2fsck_t ctx) +int e2fsck_check_ext3_journal(e2fsck_t ctx) { struct ext2_super_block *sb = ctx->fs->super; journal_t *journal; @@ -712,7 +696,7 @@ errcode_t e2fsck_check_ext3_journal(e2fsck_t ctx) struct problem_context pctx; problem_t problem; int reset = 0, force_fsck = 0; - errcode_t retval; + int retval; /* If we don't have any journal features, don't do anything more */ if (!(sb->s_feature_compat & EXT3_FEATURE_COMPAT_HAS_JOURNAL) && @@ -836,7 +820,7 @@ static errcode_t recover_ext3_journal(e2fsck_t ctx) { struct problem_context pctx; journal_t *journal; - errcode_t retval; + int retval; clear_problem_context(&pctx); @@ -871,7 +855,7 @@ errout: return retval; } -errcode_t e2fsck_run_ext3_journal(e2fsck_t ctx) +int e2fsck_run_ext3_journal(e2fsck_t ctx) { io_manager io_ptr = ctx->fs->io->manager; int blocksize = ctx->fs->blocksize; @@ -900,8 +884,6 @@ errcode_t e2fsck_run_ext3_journal(e2fsck_t ctx) ctx->fs->io->manager->get_stats(ctx->fs->io, &stats); if (stats && stats->bytes_written) kbytes_written = stats->bytes_written >> 10; - - ext2fs_mmp_stop(ctx->fs); ext2fs_free(ctx->fs); retval = ext2fs_open(ctx->filesystem_name, EXT2_FLAG_RW, ctx->superblock, blocksize, io_ptr, @@ -918,7 +900,7 @@ errcode_t e2fsck_run_ext3_journal(e2fsck_t ctx) ctx->fs->super->s_kbytes_written += kbytes_written; /* Set the superblock flags */ - e2fsck_clear_recover(ctx, recover_retval != 0); + e2fsck_clear_recover(ctx, recover_retval); /* * Do one last sanity check, and propagate journal->s_errno to @@ -944,8 +926,7 @@ void e2fsck_move_ext3_journal(e2fsck_t ctx) ext2_ino_t ino; errcode_t retval; const char * const * cpp; - dgrp_t group; - int mount_flags; + int group, mount_flags; clear_problem_context(&pctx); @@ -973,7 +954,6 @@ void e2fsck_move_ext3_journal(e2fsck_t ctx) if (fix_problem(ctx, PR_0_BACKUP_JNL, &pctx)) { memcpy(sb->s_jnl_blocks, inode.i_block, EXT2_N_BLOCKS*4); - sb->s_jnl_blocks[15] = inode.i_size_high; sb->s_jnl_blocks[16] = inode.i_size; sb->s_jnl_backup_type = EXT3_JNL_BACKUP_BLOCKS; ext2fs_mark_super_dirty(fs); @@ -1041,9 +1021,9 @@ void e2fsck_move_ext3_journal(e2fsck_t ctx) goto err_out; group = ext2fs_group_of_ino(fs, ino); - ext2fs_unmark_inode_bitmap2(fs->inode_map, ino); + ext2fs_unmark_inode_bitmap(fs->inode_map, ino); ext2fs_mark_ib_dirty(fs); - ext2fs_bg_free_inodes_count_set(fs, group, ext2fs_bg_free_inodes_count(fs, group) + 1); + fs->group_desc[group].bg_free_inodes_count++; ext2fs_group_desc_csum_set(fs, group); fs->super->s_free_inodes_count++; return; @@ -1076,10 +1056,8 @@ int e2fsck_fix_ext3_journal_hint(e2fsck_t ctx) if (!journal_name) return 0; - if (stat(journal_name, &st) < 0) { - free(journal_name); + if (stat(journal_name, &st) < 0) return 0; - } if (st.st_rdev != sb->s_journal_dev) { clear_problem_context(&pctx); diff --git a/e2fsck/logfile.c b/e2fsck/logfile.c deleted file mode 100644 index 40e5acb7..00000000 --- a/e2fsck/logfile.c +++ /dev/null @@ -1,395 +0,0 @@ -/* - * logfile.c --- set up e2fsck log files - * - * Copyright 1996, 1997 by Theodore Ts'o - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - */ - -#ifdef HAVE_ERRNO_H -#include -#endif -#include -#include -#include - -#include "e2fsck.h" -#include - -struct string { - char *s; - int len; - int end; -}; - -static void alloc_string(struct string *s, int len) -{ - s->s = malloc(len); -/* e2fsck_allocate_memory(ctx, len, "logfile name"); */ - s->len = len; - s->end = 0; -} - -static void append_string(struct string *s, const char *a, int len) -{ - int needlen; - - if (!len) - len = strlen(a); - - needlen = s->end + len + 1; - if (needlen > s->len) { - char *n; - - if (s->len * 2 > needlen) - needlen = s->len * 2; - n = realloc(s->s, needlen); - - if (n) { - s->s = n; - s->len = needlen; - } else { - /* Don't append if we ran out of memory */ - return; - } - } - memcpy(s->s + s->end, a, len); - s->end += len; - s->s[s->end] = 0; -} - -#define FLAG_UTC 0x0001 - -static void expand_percent_expression(e2fsck_t ctx, char ch, - struct string *s, int *flags) -{ - struct tm *tm = NULL, tm_struct; - struct passwd *pw = NULL, pw_struct; - char *cp; - char buf[256]; - - if ((ch == 'D') || (ch == 'd') || (ch == 'm') || (ch == 'y') || - (ch == 'Y') || - (ch == 'T') || (ch == 'H') || (ch == 'M') || (ch == 'S')) { - tzset(); - tm = (*flags & FLAG_UTC) ? gmtime_r(&ctx->now, &tm_struct) : - localtime_r(&ctx->now, &tm_struct); - } - - switch (ch) { - case '%': - append_string(s, "%", 1); - return; - case 'd': - sprintf(buf, "%02d", tm->tm_mday); - break; - case 'D': - sprintf(buf, "%d%02d%02d", tm->tm_year + 1900, tm->tm_mon + 1, - tm->tm_mday); - break; - case 'h': -#ifdef TEST_PROGRAM - strcpy(buf, "server"); -#else - buf[0] = 0; - gethostname(buf, sizeof(buf)); - buf[sizeof(buf)-1] = 0; -#endif - break; - case 'H': - sprintf(buf, "%02d", tm->tm_hour); - break; - case 'm': - sprintf(buf, "%02d", tm->tm_mon + 1); - break; - case 'M': - sprintf(buf, "%02d", tm->tm_min); - break; - case 'N': /* block device name */ - cp = strrchr(ctx->filesystem_name, '/'); - if (cp) - cp++; - else - cp = ctx->filesystem_name; - append_string(s, cp, 0); - return; - case 'p': - sprintf(buf, "%lu", (unsigned long) getpid()); - break; - case 's': - sprintf(buf, "%lu", (unsigned long) ctx->now); - break; - case 'S': - sprintf(buf, "%02d", tm->tm_sec); - break; - case 'T': - sprintf(buf, "%02d%02d%02d", tm->tm_hour, tm->tm_min, - tm->tm_sec); - break; - case 'u': -#ifdef TEST_PROGRAM - strcpy(buf, "tytso"); - break; -#else -#ifdef HAVE_GETPWUID_R - getpwuid_r(getuid(), &pw_struct, buf, sizeof(buf), &pw); -#else - pw = getpwuid(getuid()); -#endif - if (pw) - append_string(s, pw->pw_name, 0); - return; -#endif - case 'U': - *flags |= FLAG_UTC; - return; - case 'y': - sprintf(buf, "%02d", tm->tm_year % 100); - break; - case 'Y': - sprintf(buf, "%d", tm->tm_year + 1900); - break; - } - append_string(s, buf, 0); -} - -static void expand_logfn(e2fsck_t ctx, const char *log_fn, struct string *s) -{ - const char *cp; - int i; - int flags = 0; - - alloc_string(s, 100); - for (cp = log_fn; *cp; cp++) { - if (cp[0] == '%') { - cp++; - expand_percent_expression(ctx, *cp, s, &flags); - continue; - } - for (i = 0; cp[i]; i++) - if (cp[i] == '%') - break; - append_string(s, cp, i); - cp += i-1; - } -} - -static int outbufsize; -static void *outbuf; - -static int do_read(int fd) -{ - int c; - char *n; - char buffer[4096]; - - c = read(fd, buffer, sizeof(buffer)-1); - if (c <= 0) - return c; - - n = realloc(outbuf, outbufsize + c); - if (n) { - outbuf = n; - memcpy(((char *)outbuf)+outbufsize, buffer, c); - outbufsize += c; - } - return c; -} - -/* - * Fork a child process to save the output of the logfile until the - * appropriate file system is mounted read/write. - */ -static FILE *save_output(const char *s0, const char *s1, const char *s2) -{ - int c, fd, fds[2]; - char *cp; - pid_t pid; - FILE *ret; - - if (s0 && *s0 == 0) - s0 = 0; - if (s1 && *s1 == 0) - s1 = 0; - if (s2 && *s2 == 0) - s2 = 0; - - /* At least one potential output file name is valid */ - if (!s0 && !s1 && !s2) - return NULL; - if (pipe(fds) < 0) { - perror("pipe"); - exit(1); - } - - pid = fork(); - if (pid < 0) { - perror("fork"); - exit(1); - } - - if (pid == 0) { - if (daemon(0, 0) < 0) { - perror("daemon"); - exit(1); - } - /* - * Grab the output from our parent - */ - close(fds[1]); - while (do_read(fds[0]) > 0) - ; - close(fds[0]); - - /* OK, now let's try to open the output file */ - fd = -1; - while (1) { - if (fd < 0 && s0) - fd = open(s0, O_WRONLY|O_CREAT|O_TRUNC, 0644); - if (fd < 0 && s1) - fd = open(s1, O_WRONLY|O_CREAT|O_TRUNC, 0644); - if (fd < 0 && s2) - fd = open(s2, O_WRONLY|O_CREAT|O_TRUNC, 0644); - if (fd >= 0) - break; - sleep(1); - } - - cp = outbuf; - while (outbufsize > 0) { - c = write(fd, cp, outbufsize); - if (c < 0) { - if ((errno == EAGAIN) || (errno == EINTR)) - continue; - break; - } - outbufsize -= c; - cp += c; - } - exit(0); - } - - close(fds[0]); - ret = fdopen(fds[1], "w"); - if (!ret) - close(fds[1]); - return ret; -} - -#ifndef TEST_PROGRAM -void set_up_logging(e2fsck_t ctx) -{ - struct string s, s1, s2; - char *s0 = 0, *log_dir = 0, *log_fn = 0; - int log_dir_wait = 0; - - s.s = s1.s = s2.s = 0; - - profile_get_boolean(ctx->profile, "options", "log_dir_wait", 0, 0, - &log_dir_wait); - if (ctx->log_fn) - log_fn = string_copy(ctx, ctx->log_fn, 0); - else - profile_get_string(ctx->profile, "options", "log_filename", - 0, 0, &log_fn); - profile_get_string(ctx->profile, "options", "log_dir", 0, 0, &log_dir); - - if (!log_fn || !log_fn[0]) - goto out; - - expand_logfn(ctx, log_fn, &s); - if ((log_fn[0] == '/') || !log_dir || !log_dir[0]) - s0 = s.s; - - if (log_dir && log_dir[0]) { - alloc_string(&s1, strlen(log_dir) + strlen(s.s) + 2); - append_string(&s1, log_dir, 0); - append_string(&s1, "/", 1); - append_string(&s1, s.s, 0); - } - - free(log_dir); - profile_get_string(ctx->profile, "options", "log_dir_fallback", 0, 0, - &log_dir); - if (log_dir && log_dir[0]) { - alloc_string(&s2, strlen(log_dir) + strlen(s.s) + 2); - append_string(&s2, log_dir, 0); - append_string(&s2, "/", 1); - append_string(&s2, s.s, 0); - printf("%s\n", s2.s); - } - - if (s0) - ctx->logf = fopen(s0, "w"); - if (!ctx->logf && s1.s) - ctx->logf = fopen(s1.s, "w"); - if (!ctx->logf && s2.s) - ctx->logf = fopen(s2.s, "w"); - if (!ctx->logf && log_dir_wait) - ctx->logf = save_output(s0, s1.s, s2.s); - -out: - free(s.s); - free(s1.s); - free(s2.s); - free(log_fn); - free(log_dir); - return; -} -#else -void *e2fsck_allocate_memory(e2fsck_t ctx, unsigned int size, - const char *description) -{ - void *ret; - char buf[256]; - - ret = malloc(size); - if (!ret) { - sprintf(buf, "Can't allocate %s\n", description); - exit(1); - } - memset(ret, 0, size); - return ret; -} - -errcode_t e2fsck_allocate_context(e2fsck_t *ret) -{ - e2fsck_t context; - errcode_t retval; - char *time_env; - - context = malloc(sizeof(struct e2fsck_struct)); - if (!context) - return ENOMEM; - - memset(context, 0, sizeof(struct e2fsck_struct)); - - context->now = 1332006474; - - context->filesystem_name = "/dev/sda3"; - context->device_name = "fslabel"; - - *ret = context; - return 0; -} - -int main(int argc, char **argv) -{ - e2fsck_t ctx; - struct string s; - - putenv("TZ=EST+5:00"); - e2fsck_allocate_context(&ctx); - expand_logfn(ctx, "e2fsck-%N.%h.%u.%D-%T", &s); - printf("%s\n", s.s); - free(s.s); - expand_logfn(ctx, "e2fsck-%N.%h.%u.%Y%m%d-%H%M%S", &s); - printf("%s\n", s.s); - free(s.s); - - return 0; -} -#endif diff --git a/e2fsck/message.c b/e2fsck/message.c index 5b20a164..9aaedc50 100644 --- a/e2fsck/message.c +++ b/e2fsck/message.c @@ -76,7 +76,6 @@ * @n invalid * @o orphaned * @p problem in - * @q quota * @r root inode * @s should be * @S superblock @@ -132,7 +131,6 @@ static const char *abbrevs[] = { N_("ninvalid"), N_("oorphaned"), N_("pproblem in"), - N_("qquota"), N_("rroot @i"), N_("sshould be"), N_("Ssuper@b"), @@ -153,8 +151,8 @@ static const char *special_inode_name[] = N_(""), /* 0 */ N_(""), /* 1 */ "/", /* 2 */ - N_(""), /* 3 */ - N_(""), /* 4 */ + N_(""), /* 3 */ + N_(""), /* 4 */ N_(""), /* 5 */ N_(""), /* 6 */ N_(""), /* 7 */ @@ -167,7 +165,7 @@ static const char *special_inode_name[] = * This function does "safe" printing. It will convert non-printable * ASCII characters using '^' and M- notation. */ -static void safe_print(FILE *f, const char *cp, int len) +static void safe_print(const char *cp, int len) { unsigned char ch; @@ -177,14 +175,14 @@ static void safe_print(FILE *f, const char *cp, int len) while (len--) { ch = *cp++; if (ch > 128) { - fputs("M-", f); + fputs("M-", stdout); ch -= 128; } if ((ch < 32) || (ch == 0x7f)) { - fputc('^', f); + fputc('^', stdout); ch ^= 0x40; /* ^@, ^A, ^B; ^? for DEL */ } - fputc(ch, f); + fputc(ch, stdout); } } @@ -193,28 +191,26 @@ static void safe_print(FILE *f, const char *cp, int len) * This function prints a pathname, using the ext2fs_get_pathname * function */ -static void print_pathname(FILE *f, ext2_filsys fs, ext2_ino_t dir, - ext2_ino_t ino) +static void print_pathname(ext2_filsys fs, ext2_ino_t dir, ext2_ino_t ino) { - errcode_t retval = 0; + errcode_t retval; char *path; if (!dir && (ino < num_special_inodes)) { - fputs(_(special_inode_name[ino]), f); + fputs(_(special_inode_name[ino]), stdout); return; } - if (fs) - retval = ext2fs_get_pathname(fs, dir, ino, &path); - if (!fs || retval) - fputs("???", f); + retval = ext2fs_get_pathname(fs, dir, ino, &path); + if (retval) + fputs("???", stdout); else { - safe_print(f, path, -1); + safe_print(path, -1); ext2fs_free_mem(&path); } } -static void print_time(FILE *f, time_t t) +static void print_time(time_t t) { const char * time_str; static int do_gmt = -1; @@ -229,7 +225,7 @@ static void print_time(FILE *f, time_t t) } #endif time_str = asctime((do_gmt > 0) ? gmtime(&t) : localtime(&t)); - fprintf(f, "%.24s", time_str); + printf("%.24s", time_str); } /* @@ -237,7 +233,7 @@ static void print_time(FILE *f, time_t t) * expansion; an @ expression can contain further '@' and '%' * expressions. */ -static _INLINE_ void expand_at_expression(FILE *f, e2fsck_t ctx, char ch, +static _INLINE_ void expand_at_expression(e2fsck_t ctx, char ch, struct problem_context *pctx, int *first, int recurse) { @@ -252,21 +248,22 @@ static _INLINE_ void expand_at_expression(FILE *f, e2fsck_t ctx, char ch, str = _(*cpp) + 1; if (*first && islower(*str)) { *first = 0; - fputc(toupper(*str++), f); + fputc(toupper(*str++), stdout); } - print_e2fsck_message(f, ctx, str, pctx, *first, recurse+1); + print_e2fsck_message(ctx, str, pctx, *first, recurse+1); } else - fprintf(f, "@%c", ch); + printf("@%c", ch); } /* * This function expands '%IX' expressions */ -static _INLINE_ void expand_inode_expression(FILE *f, ext2_filsys fs, char ch, +static _INLINE_ void expand_inode_expression(ext2_filsys fs, char ch, struct problem_context *ctx) { struct ext2_inode *inode; struct ext2_inode_large *large_inode; + time_t t; if (!ctx || !ctx->inode) goto no_inode; @@ -277,78 +274,79 @@ static _INLINE_ void expand_inode_expression(FILE *f, ext2_filsys fs, char ch, switch (ch) { case 's': if (LINUX_S_ISDIR(inode->i_mode)) - fprintf(f, "%u", inode->i_size); + printf("%u", inode->i_size); else { #ifdef EXT2_NO_64_TYPE if (inode->i_size_high) - fprintf(f, "0x%x%08x", inode->i_size_high, - inode->i_size); + printf("0x%x%08x", inode->i_size_high, + inode->i_size); else - fprintf(f, "%u", inode->i_size); + printf("%u", inode->i_size); #else - fprintf(f, "%llu", EXT2_I_SIZE(inode)); + printf("%llu", inode->i_size | + ((long long)inode->i_size_high << 32)); #endif } break; case 'S': - fprintf(f, "%u", large_inode->i_extra_isize); + printf("%u", large_inode->i_extra_isize); break; case 'b': if (fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_HUGE_FILE) - fprintf(f, "%llu", inode->i_blocks + - (((long long) inode->osd2.linux2.l_i_blocks_hi) - << 32)); + printf("%llu", inode->i_blocks + + (((long long) inode->osd2.linux2.l_i_blocks_hi) + << 32)); else - fprintf(f, "%u", inode->i_blocks); + printf("%u", inode->i_blocks); break; case 'l': - fprintf(f, "%d", inode->i_links_count); + printf("%d", inode->i_links_count); break; case 'm': - fprintf(f, "0%o", inode->i_mode); + printf("0%o", inode->i_mode); break; case 'M': - print_time(f, inode->i_mtime); + print_time(inode->i_mtime); break; case 'F': - fprintf(f, "%u", inode->i_faddr); + printf("%u", inode->i_faddr); break; case 'f': - fprintf(f, "%llu", ext2fs_file_acl_block(fs, inode)); + printf("%u", inode->i_file_acl); break; case 'd': - fprintf(f, "%u", (LINUX_S_ISDIR(inode->i_mode) ? - inode->i_dir_acl : 0)); + printf("%u", (LINUX_S_ISDIR(inode->i_mode) ? + inode->i_dir_acl : 0)); break; case 'u': - fprintf(f, "%d", inode_uid(*inode)); + printf("%d", inode_uid(*inode)); break; case 'g': - fprintf(f, "%d", inode_gid(*inode)); + printf("%d", inode_gid(*inode)); break; case 't': if (LINUX_S_ISREG(inode->i_mode)) - fputs(_("regular file"), f); + printf(_("regular file")); else if (LINUX_S_ISDIR(inode->i_mode)) - fputs(_("directory"), f); + printf(_("directory")); else if (LINUX_S_ISCHR(inode->i_mode)) - fputs(_("character device"), f); + printf(_("character device")); else if (LINUX_S_ISBLK(inode->i_mode)) - fputs(_("block device"), f); + printf(_("block device")); else if (LINUX_S_ISFIFO(inode->i_mode)) - fputs(_("named pipe"), f); + printf(_("named pipe")); else if (LINUX_S_ISLNK(inode->i_mode)) - fputs(_("symbolic link"), f); + printf(_("symbolic link")); else if (LINUX_S_ISSOCK(inode->i_mode)) - fputs(_("socket"), f); + printf(_("socket")); else - fprintf(f, _("unknown file type with mode 0%o"), - inode->i_mode); + printf(_("unknown file type with mode 0%o"), + inode->i_mode); break; default: no_inode: - fprintf(f, "%%I%c", ch); + printf("%%I%c", ch); break; } } @@ -356,11 +354,12 @@ static _INLINE_ void expand_inode_expression(FILE *f, ext2_filsys fs, char ch, /* * This function expands '%dX' expressions */ -static _INLINE_ void expand_dirent_expression(FILE *f, ext2_filsys fs, char ch, +static _INLINE_ void expand_dirent_expression(ext2_filsys fs, char ch, struct problem_context *ctx) { struct ext2_dir_entry *dirent; - unsigned int rec_len, len; + unsigned int rec_len; + int len; if (!ctx || !ctx->dirent) goto no_dirent; @@ -369,34 +368,36 @@ static _INLINE_ void expand_dirent_expression(FILE *f, ext2_filsys fs, char ch, switch (ch) { case 'i': - fprintf(f, "%u", dirent->inode); + printf("%u", dirent->inode); break; case 'n': len = dirent->name_len & 0xFF; + if (len > EXT2_NAME_LEN) + len = EXT2_NAME_LEN; if ((ext2fs_get_rec_len(fs, dirent, &rec_len) == 0) && (len > rec_len)) len = rec_len; - safe_print(f, dirent->name, len); + safe_print(dirent->name, len); break; case 'r': (void) ext2fs_get_rec_len(fs, dirent, &rec_len); - fprintf(f, "%u", rec_len); + printf("%u", rec_len); break; case 'l': - fprintf(f, "%u", dirent->name_len & 0xFF); + printf("%u", dirent->name_len & 0xFF); break; case 't': - fprintf(f, "%u", dirent->name_len >> 8); + printf("%u", dirent->name_len >> 8); break; default: no_dirent: - fprintf(f, "%%D%c", ch); + printf("%%D%c", ch); break; } } -static _INLINE_ void expand_percent_expression(FILE *f, ext2_filsys fs, - char ch, int width, int *first, +static _INLINE_ void expand_percent_expression(ext2_filsys fs, char ch, + int *first, struct problem_context *ctx) { e2fsck_t e2fsck_ctx = fs ? (e2fsck_t) fs->priv_data : NULL; @@ -407,13 +408,13 @@ static _INLINE_ void expand_percent_expression(FILE *f, ext2_filsys fs, switch (ch) { case '%': - fputc('%', f); + fputc('%', stdout); break; case 'b': #ifdef EXT2_NO_64_TYPE - fprintf(f, "%*u", width, (unsigned long) ctx->blk); + printf("%u", (unsigned long) ctx->blk); #else - fprintf(f, "%*llu", width, (unsigned long long) ctx->blk); + printf("%llu", (unsigned long long) ctx->blk); #endif break; case 'B': @@ -428,133 +429,118 @@ static _INLINE_ void expand_percent_expression(FILE *f, ext2_filsys fs, else m = _("block #"); if (*first && islower(m[0])) - fputc(toupper(*m++), f); - fputs(m, f); + fputc(toupper(*m++), stdout); + fputs(m, stdout); if (ctx->blkcount >= 0) { #ifdef EXT2_NO_64_TYPE - fprintf(f, "%d", ctx->blkcount); + printf("%d", ctx->blkcount); #else - fprintf(f, "%lld", (long long) ctx->blkcount); + printf("%lld", (long long) ctx->blkcount); #endif } break; case 'c': #ifdef EXT2_NO_64_TYPE - fprintf(f, "%*u", width, (unsigned long) ctx->blk2); + printf("%u", (unsigned long) ctx->blk2); #else - fprintf(f, "%*llu", width, (unsigned long long) ctx->blk2); + printf("%llu", (unsigned long long) ctx->blk2); #endif break; case 'd': - fprintf(f, "%*u", width, ctx->dir); + printf("%u", ctx->dir); break; case 'g': - fprintf(f, "%*u", width, ctx->group); + printf("%d", ctx->group); break; case 'i': - fprintf(f, "%*u", width, ctx->ino); + printf("%u", ctx->ino); break; case 'j': - fprintf(f, "%*u", width, ctx->ino2); + printf("%u", ctx->ino2); break; case 'm': - fprintf(f, "%*s", width, error_message(ctx->errcode)); + printf("%s", error_message(ctx->errcode)); break; case 'N': #ifdef EXT2_NO_64_TYPE - fprintf(f, "%*u", width, ctx->num); + printf("%u", ctx->num); #else - fprintf(f, "%*llu", width, (long long)ctx->num); + printf("%llu", (long long)ctx->num); #endif break; case 'p': - print_pathname(f, fs, ctx->ino, 0); + print_pathname(fs, ctx->ino, 0); break; case 'P': - print_pathname(f, fs, ctx->ino2, + print_pathname(fs, ctx->ino2, ctx->dirent ? ctx->dirent->inode : 0); break; case 'q': - print_pathname(f, fs, ctx->dir, 0); + print_pathname(fs, ctx->dir, 0); break; case 'Q': - print_pathname(f, fs, ctx->dir, ctx->ino); + print_pathname(fs, ctx->dir, ctx->ino); break; case 'r': #ifdef EXT2_NO_64_TYPE - fprintf(f, "%*d", width, ctx->blkcount); + printf("%d", ctx->blkcount); #else - fprintf(f, "%*lld", width, (long long) ctx->blkcount); + printf("%lld", (long long) ctx->blkcount); #endif break; case 'S': - fprintf(f, "%llu", get_backup_sb(NULL, fs, NULL, NULL)); + printf("%u", get_backup_sb(NULL, fs, NULL, NULL)); break; case 's': - fprintf(f, "%*s", width, ctx->str ? ctx->str : "NULL"); + printf("%s", ctx->str ? ctx->str : "NULL"); break; case 't': - print_time(f, (time_t) ctx->num); + print_time((time_t) ctx->num); break; case 'T': - print_time(f, e2fsck_ctx ? e2fsck_ctx->now : time(0)); - break; - case 'x': - fprintf(f, "0x%0*x", width, ctx->csum1); + print_time(e2fsck_ctx ? e2fsck_ctx->now : time(0)); break; case 'X': #ifdef EXT2_NO_64_TYPE - fprintf(f, "0x%0*x", width, ctx->num); + printf("0x%x", ctx->num); #else - fprintf(f, "0x%0*llx", width, (long long)ctx->num); + printf("0x%llx", (long long)ctx->num); #endif break; - case 'y': - fprintf(f, "0x%0*x", width, ctx->csum2); - break; default: no_context: - fprintf(f, "%%%c", ch); + printf("%%%c", ch); break; } } -void print_e2fsck_message(FILE *f, e2fsck_t ctx, const char *msg, +void print_e2fsck_message(e2fsck_t ctx, const char *msg, struct problem_context *pctx, int first, int recurse) { ext2_filsys fs = ctx->fs; const char * cp; - int i, width; + int i; e2fsck_clear_progbar(ctx); for (cp = msg; *cp; cp++) { if (cp[0] == '@') { cp++; - expand_at_expression(f, ctx, *cp, pctx, &first, - recurse); - } else if (cp[0] == '%') { + expand_at_expression(ctx, *cp, pctx, &first, recurse); + } else if (cp[0] == '%' && cp[1] == 'I') { + cp += 2; + expand_inode_expression(fs, *cp, pctx); + } else if (cp[0] == '%' && cp[1] == 'D') { + cp += 2; + expand_dirent_expression(fs, *cp, pctx); + } else if ((cp[0] == '%')) { cp++; - width = 0; - while (isdigit(cp[0])) { - width = (width * 10) + cp[0] - '0'; - cp++; - } - if (cp[0] == 'I') { - cp++; - expand_inode_expression(f, fs, *cp, pctx); - } else if (cp[0] == 'D') { - cp++; - expand_dirent_expression(f, fs, *cp, pctx); - } else { - expand_percent_expression(f, fs, *cp, width, - &first, pctx); - } + expand_percent_expression(fs, *cp, &first, pctx); } else { for (i=0; cp[i]; i++) if ((cp[i] == '@') || cp[i] == '%') break; - fprintf(f, "%.*s", i, cp); + printf("%.*s", i, cp); cp += i-1; } first = 0; diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c index 50715aab..4bf80d25 100644 --- a/e2fsck/pass1.c +++ b/e2fsck/pass1.c @@ -55,11 +55,11 @@ #define _INLINE_ inline #endif -static int process_block(ext2_filsys fs, blk64_t *blocknr, - e2_blkcnt_t blockcnt, blk64_t ref_blk, +static int process_block(ext2_filsys fs, blk_t *blocknr, + e2_blkcnt_t blockcnt, blk_t ref_blk, int ref_offset, void *priv_data); -static int process_bad_block(ext2_filsys fs, blk64_t *block_nr, - e2_blkcnt_t blockcnt, blk64_t ref_blk, +static int process_bad_block(ext2_filsys fs, blk_t *block_nr, + e2_blkcnt_t blockcnt, blk_t ref_blk, int ref_offset, void *priv_data); static void check_blocks(e2fsck_t ctx, struct problem_context *pctx, char *block_buf); @@ -74,19 +74,18 @@ static errcode_t scan_callback(ext2_filsys fs, ext2_inode_scan scan, dgrp_t group, void * priv_data); static void adjust_extattr_refcount(e2fsck_t ctx, ext2_refcount_t refcount, char *block_buf, int adjust_sign); -/* static char *describe_illegal_block(ext2_filsys fs, blk64_t block); */ +/* static char *describe_illegal_block(ext2_filsys fs, blk_t block); */ struct process_block_struct { ext2_ino_t ino; unsigned is_dir:1, is_reg:1, clear:1, suppress:1, fragmented:1, compressed:1, bbcheck:1; blk64_t num_blocks; - blk64_t max_blocks; + blk_t max_blocks; e2_blkcnt_t last_block; - e2_blkcnt_t last_init_lblock; e2_blkcnt_t last_db_block; int num_illegal_blocks; - blk64_t previous_block; + blk_t previous_block; struct ext2_inode *inode; struct problem_context *pctx; ext2fs_block_bitmap fs_meta_blocks; @@ -170,7 +169,7 @@ int e2fsck_pass1_check_symlink(ext2_filsys fs, ext2_ino_t ino, { unsigned int len; int i; - blk64_t blocks; + blk_t blocks; ext2_extent_handle_t handle; struct ext2_extent_info info; struct ext2fs_extent extent; @@ -193,7 +192,7 @@ int e2fsck_pass1_check_symlink(ext2_filsys fs, ext2_ino_t ino, (extent.e_lblk != 0) || (extent.e_len != 1) || (extent.e_pblk < fs->super->s_first_data_block) || - (extent.e_pblk >= ext2fs_blocks_count(fs->super))) + (extent.e_pblk >= fs->super->s_blocks_count)) goto exit_extent; i = 1; exit_extent: @@ -201,19 +200,19 @@ int e2fsck_pass1_check_symlink(ext2_filsys fs, ext2_ino_t ino, return i; } - blocks = ext2fs_inode_data_blocks2(fs, inode); + blocks = ext2fs_inode_data_blocks(fs, inode); if (blocks) { if ((inode->i_size >= fs->blocksize) || (blocks != fs->blocksize >> 9) || (inode->i_block[0] < fs->super->s_first_data_block) || - (inode->i_block[0] >= ext2fs_blocks_count(fs->super))) + (inode->i_block[0] >= fs->super->s_blocks_count)) return 0; for (i = 1; i < EXT2_N_BLOCKS; i++) if (inode->i_block[i]) return 0; - if (io_channel_read_blk64(fs->io, inode->i_block[0], 1, buf)) + if (io_channel_read_blk(fs->io, inode->i_block[0], 1, buf)) return 0; len = strnlen(buf, fs->blocksize); @@ -257,7 +256,7 @@ static void check_size(e2fsck_t ctx, struct problem_context *pctx) { struct ext2_inode *inode = pctx->inode; - if (EXT2_I_SIZE(inode) == 0) + if ((inode->i_size == 0) && (inode->i_size_high == 0)) return; if (!fix_problem(ctx, PR_1_SET_NONZSIZE, pctx)) @@ -273,15 +272,16 @@ static void check_ea_in_inode(e2fsck_t ctx, struct problem_context *pctx) struct ext2_super_block *sb = ctx->fs->super; struct ext2_inode_large *inode; struct ext2_ext_attr_entry *entry; - char *start; + char *start, *end; unsigned int storage_size, remain; - problem_t problem = 0; + int problem = 0; inode = (struct ext2_inode_large *) pctx->inode; storage_size = EXT2_INODE_SIZE(ctx->fs->super) - EXT2_GOOD_OLD_INODE_SIZE - inode->i_extra_isize; start = ((char *) inode) + EXT2_GOOD_OLD_INODE_SIZE + inode->i_extra_isize + sizeof(__u32); + end = (char *) inode + EXT2_INODE_SIZE(ctx->fs->super); entry = (struct ext2_ext_attr_entry *) start; /* scan all entry's headers first */ @@ -306,7 +306,7 @@ static void check_ea_in_inode(e2fsck_t ctx, struct problem_context *pctx) remain -= EXT2_EXT_ATTR_SIZE(entry->e_name_len); /* check value size */ - if (entry->e_value_size > remain) { + if (entry->e_value_size == 0 || entry->e_value_size > remain) { pctx->num = entry->e_value_size; problem = PR_1_ATTR_VALUE_SIZE; goto fix; @@ -364,8 +364,8 @@ static void check_inode_extra_space(e2fsck_t ctx, struct problem_context *pctx) printf("inode #%u, i_extra_size %d\n", pctx->ino, inode->i_extra_isize); #endif - /* i_extra_isize must cover i_extra_isize + i_checksum_hi at least */ - min = sizeof(inode->i_extra_isize) + sizeof(inode->i_checksum_hi); + /* i_extra_isize must cover i_extra_isize + i_pad1 at least */ + min = sizeof(inode->i_extra_isize) + sizeof(inode->i_pad1); max = EXT2_INODE_SIZE(sb) - EXT2_GOOD_OLD_INODE_SIZE; /* * For now we will allow i_extra_isize to be 0, but really @@ -402,8 +402,10 @@ static void check_is_really_dir(e2fsck_t ctx, struct problem_context *pctx, { struct ext2_inode *inode = pctx->inode; struct ext2_dir_entry *dirent; + const char *old_op; errcode_t retval; - blk64_t blk; + blk_t blk; + blk64_t first_dir_blk; unsigned int i, rec_len, not_device = 0; int extent_fs; @@ -435,11 +437,10 @@ static void check_is_really_dir(e2fsck_t ctx, struct problem_context *pctx, * with it. */ - extent_fs = (ctx->fs->super->s_feature_incompat & - EXT3_FEATURE_INCOMPAT_EXTENTS); + extent_fs = (ctx->fs->super->s_feature_incompat & EXT3_FEATURE_INCOMPAT_EXTENTS); if (extent_fs && (inode->i_flags & EXT4_EXTENTS_FL)) { /* extent mapped */ - if (ext2fs_bmap2(ctx->fs, pctx->ino, inode, 0, 0, 0, 0, + if (ext2fs_bmap(ctx->fs, pctx->ino, inode, 0, 0, 0, &blk)) return; /* device files are never extent mapped */ @@ -453,9 +454,9 @@ static void check_is_really_dir(e2fsck_t ctx, struct problem_context *pctx, not_device++; if (blk < ctx->fs->super->s_first_data_block || - blk >= ext2fs_blocks_count(ctx->fs->super) || - ext2fs_fast_test_block_bitmap2(ctx->block_found_map, - blk)) + blk >= ctx->fs->super->s_blocks_count || + ext2fs_fast_test_block_bitmap(ctx->block_found_map, + blk)) return; /* Invalid block, can't be dir */ } blk = inode->i_block[0]; @@ -471,8 +472,8 @@ static void check_is_really_dir(e2fsck_t ctx, struct problem_context *pctx, return; /* read the first block */ - ehandler_operation(_("reading directory block")); - retval = ext2fs_read_dir_block3(ctx->fs, blk, buf, 0); + old_op = ehandler_operation(_("reading directory block")); + retval = ext2fs_read_dir_block(ctx->fs, blk, buf); ehandler_operation(0); if (retval) return; @@ -508,8 +509,8 @@ static void check_is_really_dir(e2fsck_t ctx, struct problem_context *pctx, } } -void e2fsck_setup_tdb_icount(e2fsck_t ctx, int flags, - ext2_icount_t *ret) +extern void e2fsck_setup_tdb_icount(e2fsck_t ctx, int flags, + ext2_icount_t *ret) { unsigned int threshold; ext2_ino_t num_dirs; @@ -544,7 +545,7 @@ void e2fsck_pass1(e2fsck_t ctx) int i; __u64 max_sizes; ext2_filsys fs = ctx->fs; - ext2_ino_t ino = 0; + ext2_ino_t ino; struct ext2_inode *inode; ext2_inode_scan scan; char *block_buf; @@ -556,7 +557,6 @@ void e2fsck_pass1(e2fsck_t ctx) struct scan_callback_struct scan_struct; struct ext2_super_block *sb = ctx->fs->super; const char *old_op; - unsigned int save_type; int imagic_fs, extent_fs; int busted_fs_time = 0; int inode_size; @@ -583,7 +583,7 @@ void e2fsck_pass1(e2fsck_t ctx) max_sizes = EXT2_NDIR_BLOCKS + EXT2_BPP(i); max_sizes = max_sizes + EXT2_BPP(i) * EXT2_BPP(i); max_sizes = max_sizes + EXT2_BPP(i) * EXT2_BPP(i) * EXT2_BPP(i); - max_sizes = (max_sizes * (1UL << i)); + max_sizes = (max_sizes * (1UL << i)) - 1; ext2_max_sizes[i - EXT2_MIN_BLOCK_LOG_SIZE] = max_sizes; } #undef EXT2_BPP @@ -594,38 +594,32 @@ void e2fsck_pass1(e2fsck_t ctx) /* * Allocate bitmaps structures */ - pctx.errcode = e2fsck_allocate_inode_bitmap(fs, _("in-use inode map"), - EXT2FS_BMAP64_RBTREE, - "inode_used_map", - &ctx->inode_used_map); + pctx.errcode = ext2fs_allocate_inode_bitmap(fs, _("in-use inode map"), + &ctx->inode_used_map); if (pctx.errcode) { pctx.num = 1; fix_problem(ctx, PR_1_ALLOCATE_IBITMAP_ERROR, &pctx); ctx->flags |= E2F_FLAG_ABORT; return; } - pctx.errcode = e2fsck_allocate_inode_bitmap(fs, - _("directory inode map"), - EXT2FS_BMAP64_AUTODIR, - "inode_dir_map", &ctx->inode_dir_map); + pctx.errcode = ext2fs_allocate_inode_bitmap(fs, + _("directory inode map"), &ctx->inode_dir_map); if (pctx.errcode) { pctx.num = 2; fix_problem(ctx, PR_1_ALLOCATE_IBITMAP_ERROR, &pctx); ctx->flags |= E2F_FLAG_ABORT; return; } - pctx.errcode = e2fsck_allocate_inode_bitmap(fs, - _("regular file inode map"), EXT2FS_BMAP64_RBTREE, - "inode_reg_map", &ctx->inode_reg_map); + pctx.errcode = ext2fs_allocate_inode_bitmap(fs, + _("regular file inode map"), &ctx->inode_reg_map); if (pctx.errcode) { pctx.num = 6; fix_problem(ctx, PR_1_ALLOCATE_IBITMAP_ERROR, &pctx); ctx->flags |= E2F_FLAG_ABORT; return; } - pctx.errcode = e2fsck_allocate_subcluster_bitmap(fs, - _("in-use block map"), EXT2FS_BMAP64_RBTREE, - "block_found_map", &ctx->block_found_map); + pctx.errcode = ext2fs_allocate_block_bitmap(fs, _("in-use block map"), + &ctx->block_found_map); if (pctx.errcode) { pctx.num = 1; fix_problem(ctx, PR_1_ALLOCATE_BBITMAP_ERROR, &pctx); @@ -633,14 +627,9 @@ void e2fsck_pass1(e2fsck_t ctx) return; } e2fsck_setup_tdb_icount(ctx, 0, &ctx->inode_link_info); - if (!ctx->inode_link_info) { - e2fsck_set_bitmap_type(fs, EXT2FS_BMAP64_RBTREE, - "inode_link_info", &save_type); + if (!ctx->inode_link_info) pctx.errcode = ext2fs_create_icount2(fs, 0, 0, 0, &ctx->inode_link_info); - fs->default_bitmap_type = save_type; - } - if (pctx.errcode) { fix_problem(ctx, PR_1_ALLOCATE_ICOUNT, &pctx); ctx->flags |= E2F_FLAG_ABORT; @@ -680,14 +669,6 @@ void e2fsck_pass1(e2fsck_t ctx) } mark_table_blocks(ctx); - pctx.errcode = ext2fs_convert_subcluster_bitmap(fs, - &ctx->block_found_map); - if (pctx.errcode) { - fix_problem(ctx, PR_1_CONVERT_SUBCLUSTER, &pctx); - ctx->flags |= E2F_FLAG_ABORT; - ext2fs_free_mem(&inode); - return; - } block_buf = (char *) e2fsck_allocate_memory(ctx, fs->blocksize * 3, "block interate buffer"); e2fsck_use_inode_shortcuts(ctx, 1); @@ -714,17 +695,7 @@ void e2fsck_pass1(e2fsck_t ctx) (fs->super->s_mtime < fs->super->s_inodes_count)) busted_fs_time = 1; - if ((fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_MMP) && - fs->super->s_mmp_block > fs->super->s_first_data_block && - fs->super->s_mmp_block < ext2fs_blocks_count(fs->super)) - ext2fs_mark_block_bitmap2(ctx->block_found_map, - fs->super->s_mmp_block); - while (1) { - if (ino % (fs->super->s_inodes_per_group * 4) == 1) { - if (e2fsck_mmp_update(fs)) - fatal_error(ctx, 0); - } old_op = ehandler_operation(_("getting next inode from scan")); pctx.errcode = ext2fs_get_next_inode_full(scan, &ino, inode, inode_size); @@ -734,8 +705,8 @@ void e2fsck_pass1(e2fsck_t ctx) if (pctx.errcode == EXT2_ET_BAD_BLOCK_IN_INODE_TABLE) { if (!ctx->inode_bb_map) alloc_bb_map(ctx); - ext2fs_mark_inode_bitmap2(ctx->inode_bb_map, ino); - ext2fs_mark_inode_bitmap2(ctx->inode_used_map, ino); + ext2fs_mark_inode_bitmap(ctx->inode_bb_map, ino); + ext2fs_mark_inode_bitmap(ctx->inode_used_map, ino); continue; } if (pctx.errcode) { @@ -787,7 +758,7 @@ void e2fsck_pass1(e2fsck_t ctx) clear_inode: e2fsck_clear_inode(ctx, ino, inode, 0, "pass1"); if (ino == EXT2_BAD_INO) - ext2fs_mark_inode_bitmap2(ctx->inode_used_map, + ext2fs_mark_inode_bitmap(ctx->inode_used_map, ino); continue; } @@ -831,14 +802,6 @@ void e2fsck_pass1(e2fsck_t ctx) if (ino == EXT2_BAD_INO) { struct process_block_struct pb; - if ((inode->i_mode || inode->i_uid || inode->i_gid || - inode->i_links_count || inode->i_file_acl) && - fix_problem(ctx, PR_1_INVALID_BAD_INODE, &pctx)) { - memset(inode, 0, sizeof(struct ext2_inode)); - e2fsck_write_inode(ctx, ino, inode, - "clear bad inode"); - } - pctx.errcode = ext2fs_copy_bitmap(ctx->block_found_map, &pb.fs_meta_blocks); if (pctx.errcode) { @@ -856,7 +819,7 @@ void e2fsck_pass1(e2fsck_t ctx) pb.inode = inode; pb.pctx = &pctx; pb.ctx = ctx; - pctx.errcode = ext2fs_block_iterate3(fs, ino, 0, + pctx.errcode = ext2fs_block_iterate2(fs, ino, 0, block_buf, process_bad_block, &pb); ext2fs_free_block_bitmap(pb.fs_meta_blocks); if (pctx.errcode) { @@ -869,7 +832,7 @@ void e2fsck_pass1(e2fsck_t ctx) ctx->flags |= E2F_FLAG_ABORT; return; } - ext2fs_mark_inode_bitmap2(ctx->inode_used_map, ino); + ext2fs_mark_inode_bitmap(ctx->inode_used_map, ino); clear_problem_context(&pctx); continue; } else if (ino == EXT2_ROOT_INO) { @@ -899,7 +862,7 @@ void e2fsck_pass1(e2fsck_t ctx) } } } else if (ino == EXT2_JOURNAL_INO) { - ext2fs_mark_inode_bitmap2(ctx->inode_used_map, ino); + ext2fs_mark_inode_bitmap(ctx->inode_used_map, ino); if (fs->super->s_journal_inum == EXT2_JOURNAL_INO) { if (!LINUX_S_ISREG(inode->i_mode) && fix_problem(ctx, PR_1_JOURNAL_BAD_MODE, @@ -911,7 +874,7 @@ void e2fsck_pass1(e2fsck_t ctx) check_blocks(ctx, &pctx, block_buf); continue; } - if ((inode->i_links_count || + if ((inode->i_links_count || inode->i_blocks || inode->i_blocks || inode->i_block[0]) && fix_problem(ctx, PR_1_JOURNAL_INODE_NOT_CLEAR, &pctx)) { @@ -921,37 +884,10 @@ void e2fsck_pass1(e2fsck_t ctx) e2fsck_write_inode_full(ctx, ino, inode, inode_size, "pass1"); } - } else if ((ino == EXT4_USR_QUOTA_INO) || - (ino == EXT4_GRP_QUOTA_INO)) { - ext2fs_mark_inode_bitmap2(ctx->inode_used_map, ino); - if ((fs->super->s_feature_ro_compat & - EXT4_FEATURE_RO_COMPAT_QUOTA) && - ((fs->super->s_usr_quota_inum == ino) || - (fs->super->s_grp_quota_inum == ino))) { - if (!LINUX_S_ISREG(inode->i_mode) && - fix_problem(ctx, PR_1_QUOTA_BAD_MODE, - &pctx)) { - inode->i_mode = LINUX_S_IFREG; - e2fsck_write_inode(ctx, ino, inode, - "pass1"); - } - check_blocks(ctx, &pctx, block_buf); - continue; - } - if ((inode->i_links_count || - inode->i_blocks || inode->i_block[0]) && - fix_problem(ctx, PR_1_QUOTA_INODE_NOT_CLEAR, - &pctx)) { - memset(inode, 0, inode_size); - ext2fs_icount_store(ctx->inode_link_info, - ino, 0); - e2fsck_write_inode_full(ctx, ino, inode, - inode_size, "pass1"); - } } else if (ino < EXT2_FIRST_INODE(fs->super)) { - problem_t problem = 0; + int problem = 0; - ext2fs_mark_inode_bitmap2(ctx->inode_used_map, ino); + ext2fs_mark_inode_bitmap(ctx->inode_used_map, ino); if (ino == EXT2_BOOT_LOADER_INO) { if (LINUX_S_ISDIR(inode->i_mode)) problem = PR_1_RESERVED_BAD_MODE; @@ -973,7 +909,6 @@ void e2fsck_pass1(e2fsck_t ctx) check_blocks(ctx, &pctx, block_buf); continue; } - /* * Check for inodes who might have been part of the * orphaned list linked list. They should have gotten @@ -1033,7 +968,7 @@ void e2fsck_pass1(e2fsck_t ctx) } } - ext2fs_mark_inode_bitmap2(ctx->inode_used_map, ino); + ext2fs_mark_inode_bitmap(ctx->inode_used_map, ino); switch (fs->super->s_creator_os) { case EXT2_OS_HURD: frag = inode->osd2.hurd2.h_i_frag; @@ -1059,7 +994,7 @@ void e2fsck_pass1(e2fsck_t ctx) if (imagic_fs) { if (!ctx->inode_imagic_map) alloc_imagic_map(ctx); - ext2fs_mark_inode_bitmap2(ctx->inode_imagic_map, + ext2fs_mark_inode_bitmap(ctx->inode_imagic_map, ino); } else { if (fix_problem(ctx, PR_1_SET_IMAGIC, &pctx)) { @@ -1074,23 +1009,23 @@ void e2fsck_pass1(e2fsck_t ctx) check_is_really_dir(ctx, &pctx, block_buf); /* - * ext2fs_inode_has_valid_blocks2 does not actually look + * ext2fs_inode_has_valid_blocks does not actually look * at i_block[] values, so not endian-sensitive here. */ if (extent_fs && (inode->i_flags & EXT4_EXTENTS_FL) && LINUX_S_ISLNK(inode->i_mode) && - !ext2fs_inode_has_valid_blocks2(fs, inode) && + !ext2fs_inode_has_valid_blocks(inode) && fix_problem(ctx, PR_1_FAST_SYMLINK_EXTENT_FL, &pctx)) { inode->i_flags &= ~EXT4_EXTENTS_FL; e2fsck_write_inode(ctx, ino, inode, "pass1"); } if (LINUX_S_ISDIR(inode->i_mode)) { - ext2fs_mark_inode_bitmap2(ctx->inode_dir_map, ino); + ext2fs_mark_inode_bitmap(ctx->inode_dir_map, ino); e2fsck_add_dir_info(ctx, ino, 0); ctx->fs_directory_count++; } else if (LINUX_S_ISREG (inode->i_mode)) { - ext2fs_mark_inode_bitmap2(ctx->inode_reg_map, ino); + ext2fs_mark_inode_bitmap(ctx->inode_reg_map, ino); ctx->fs_regular_count++; } else if (LINUX_S_ISCHR (inode->i_mode) && e2fsck_pass1_check_device_inode(fs, inode)) { @@ -1137,7 +1072,7 @@ void e2fsck_pass1(e2fsck_t ctx) (inode->i_block[EXT2_IND_BLOCK] || inode->i_block[EXT2_DIND_BLOCK] || inode->i_block[EXT2_TIND_BLOCK] || - ext2fs_file_acl_block(fs, inode))) { + inode->i_file_acl)) { inodes_to_process[process_inode_count].ino = ino; inodes_to_process[process_inode_count].inode = *inode; process_inode_count++; @@ -1319,13 +1254,7 @@ static EXT2_QSORT_TYPE process_inode_cmp(const void *a, const void *b) ret = (ib_a->inode.i_block[EXT2_IND_BLOCK] - ib_b->inode.i_block[EXT2_IND_BLOCK]); if (ret == 0) - /* - * We only call process_inodes() for non-extent - * inodes, so it's OK to pass NULL to - * ext2fs_file_acl_block() here. - */ - ret = ext2fs_file_acl_block(0, &(ib_a->inode)) - - ext2fs_file_acl_block(0, &(ib_b->inode)); + ret = ib_a->inode.i_file_acl - ib_b->inode.i_file_acl; if (ret == 0) ret = ib_a->ino - ib_b->ino; return ret; @@ -1341,9 +1270,8 @@ static void mark_inode_bad(e2fsck_t ctx, ino_t ino) if (!ctx->inode_bad_map) { clear_problem_context(&pctx); - pctx.errcode = e2fsck_allocate_inode_bitmap(ctx->fs, - _("bad inode map"), EXT2FS_BMAP64_RBTREE, - "inode_bad_map", &ctx->inode_bad_map); + pctx.errcode = ext2fs_allocate_inode_bitmap(ctx->fs, + _("bad inode map"), &ctx->inode_bad_map); if (pctx.errcode) { pctx.num = 3; fix_problem(ctx, PR_1_ALLOCATE_IBITMAP_ERROR, &pctx); @@ -1352,7 +1280,7 @@ static void mark_inode_bad(e2fsck_t ctx, ino_t ino) return; } } - ext2fs_mark_inode_bitmap2(ctx->inode_bad_map, ino); + ext2fs_mark_inode_bitmap(ctx->inode_bad_map, ino); } @@ -1364,9 +1292,9 @@ static void alloc_bb_map(e2fsck_t ctx) struct problem_context pctx; clear_problem_context(&pctx); - pctx.errcode = e2fsck_allocate_inode_bitmap(ctx->fs, - _("inode in bad block map"), EXT2FS_BMAP64_RBTREE, - "inode_bb_map", &ctx->inode_bb_map); + pctx.errcode = ext2fs_allocate_inode_bitmap(ctx->fs, + _("inode in bad block map"), + &ctx->inode_bb_map); if (pctx.errcode) { pctx.num = 4; fix_problem(ctx, PR_1_ALLOCATE_IBITMAP_ERROR, &pctx); @@ -1384,9 +1312,9 @@ static void alloc_imagic_map(e2fsck_t ctx) struct problem_context pctx; clear_problem_context(&pctx); - pctx.errcode = e2fsck_allocate_inode_bitmap(ctx->fs, - _("imagic inode map"), EXT2FS_BMAP64_RBTREE, - "inode_imagic_map", &ctx->inode_imagic_map); + pctx.errcode = ext2fs_allocate_inode_bitmap(ctx->fs, + _("imagic inode map"), + &ctx->inode_imagic_map); if (pctx.errcode) { pctx.num = 5; fix_problem(ctx, PR_1_ALLOCATE_IBITMAP_ERROR, &pctx); @@ -1403,18 +1331,17 @@ static void alloc_imagic_map(e2fsck_t ctx) * WARNING: Assumes checks have already been done to make sure block * is valid. This is true in both process_block and process_bad_block. */ -static _INLINE_ void mark_block_used(e2fsck_t ctx, blk64_t block) +static _INLINE_ void mark_block_used(e2fsck_t ctx, blk_t block) { struct problem_context pctx; clear_problem_context(&pctx); - if (ext2fs_fast_test_block_bitmap2(ctx->block_found_map, block)) { + if (ext2fs_fast_test_block_bitmap(ctx->block_found_map, block)) { if (!ctx->block_dup_map) { - pctx.errcode = e2fsck_allocate_block_bitmap(ctx->fs, - _("multiply claimed block map"), - EXT2FS_BMAP64_RBTREE, "block_dup_map", - &ctx->block_dup_map); + pctx.errcode = ext2fs_allocate_block_bitmap(ctx->fs, + _("multiply claimed block map"), + &ctx->block_dup_map); if (pctx.errcode) { pctx.num = 3; fix_problem(ctx, PR_1_ALLOCATE_BBITMAP_ERROR, @@ -1424,22 +1351,12 @@ static _INLINE_ void mark_block_used(e2fsck_t ctx, blk64_t block) return; } } - ext2fs_fast_mark_block_bitmap2(ctx->block_dup_map, block); + ext2fs_fast_mark_block_bitmap(ctx->block_dup_map, block); } else { - ext2fs_fast_mark_block_bitmap2(ctx->block_found_map, block); + ext2fs_fast_mark_block_bitmap(ctx->block_found_map, block); } } -static _INLINE_ void mark_blocks_used(e2fsck_t ctx, blk64_t block, - unsigned int num) -{ - if (ext2fs_test_block_bitmap_range2(ctx->block_found_map, block, num)) - ext2fs_mark_block_bitmap_range2(ctx->block_found_map, block, num); - else - while (num--) - mark_block_used(ctx, block++); -} - /* * Adjust the extended attribute block's reference counts at the end * of pass 1, either by subtracting out references for EA blocks that @@ -1453,7 +1370,7 @@ static void adjust_extattr_refcount(e2fsck_t ctx, ext2_refcount_t refcount, struct ext2_ext_attr_header *header; struct problem_context pctx; ext2_filsys fs = ctx->fs; - blk64_t blk; + blk_t blk; __u32 should_be; int count; @@ -1464,7 +1381,7 @@ static void adjust_extattr_refcount(e2fsck_t ctx, ext2_refcount_t refcount, if ((blk = ea_refcount_intr_next(refcount, &count)) == 0) break; pctx.blk = blk; - pctx.errcode = ext2fs_read_ext_attr2(fs, blk, block_buf); + pctx.errcode = ext2fs_read_ext_attr(fs, blk, block_buf); if (pctx.errcode) { fix_problem(ctx, PR_1_EXTATTR_READ_ABORT, &pctx); return; @@ -1475,7 +1392,7 @@ static void adjust_extattr_refcount(e2fsck_t ctx, ext2_refcount_t refcount, pctx.num = should_be; if (fix_problem(ctx, PR_1_EXTATTR_REFCOUNT, &pctx)) { header->h_refcount = should_be; - pctx.errcode = ext2fs_write_ext_attr2(fs, blk, + pctx.errcode = ext2fs_write_ext_attr(fs, blk, block_buf); if (pctx.errcode) { fix_problem(ctx, PR_1_EXTATTR_WRITE_ABORT, @@ -1495,14 +1412,14 @@ static int check_ext_attr(e2fsck_t ctx, struct problem_context *pctx, ext2_filsys fs = ctx->fs; ext2_ino_t ino = pctx->ino; struct ext2_inode *inode = pctx->inode; - blk64_t blk; + blk_t blk; char * end; struct ext2_ext_attr_header *header; struct ext2_ext_attr_entry *entry; int count; region_t region = 0; - blk = ext2fs_file_acl_block(fs, inode); + blk = inode->i_file_acl; if (blk == 0) return 0; @@ -1515,17 +1432,16 @@ static int check_ext_attr(e2fsck_t ctx, struct problem_context *pctx, */ if (!(fs->super->s_feature_compat & EXT2_FEATURE_COMPAT_EXT_ATTR) || (blk < fs->super->s_first_data_block) || - (blk >= ext2fs_blocks_count(fs->super))) { + (blk >= fs->super->s_blocks_count)) { mark_inode_bad(ctx, ino); return 0; } /* If ea bitmap hasn't been allocated, create it */ if (!ctx->block_ea_map) { - pctx->errcode = e2fsck_allocate_block_bitmap(fs, - _("ext attr block map"), - EXT2FS_BMAP64_RBTREE, "block_ea_map", - &ctx->block_ea_map); + pctx->errcode = ext2fs_allocate_block_bitmap(fs, + _("ext attr block map"), + &ctx->block_ea_map); if (pctx->errcode) { pctx->num = 2; fix_problem(ctx, PR_1_ALLOCATE_BBITMAP_ERROR, pctx); @@ -1551,7 +1467,7 @@ static int check_ext_attr(e2fsck_t ctx, struct problem_context *pctx, #endif /* Have we seen this EA block before? */ - if (ext2fs_fast_test_block_bitmap2(ctx->block_ea_map, blk)) { + if (ext2fs_fast_test_block_bitmap(ctx->block_ea_map, blk)) { if (ea_refcount_decrement(ctx->refcount, blk, 0) == 0) return 1; /* Ooops, this EA was referenced more than it stated */ @@ -1574,11 +1490,11 @@ static int check_ext_attr(e2fsck_t ctx, struct problem_context *pctx, * validate it */ pctx->blk = blk; - pctx->errcode = ext2fs_read_ext_attr2(fs, blk, block_buf); + pctx->errcode = ext2fs_read_ext_attr(fs, blk, block_buf); if (pctx->errcode && fix_problem(ctx, PR_1_READ_EA_BLOCK, pctx)) goto clear_extattr; header = (struct ext2_ext_attr_header *) block_buf; - pctx->blk = ext2fs_file_acl_block(fs, inode); + pctx->blk = inode->i_file_acl; if (((ctx->ext_attr_ver == 1) && (header->h_magic != EXT2_EXT_ATTR_MAGIC_v1)) || ((ctx->ext_attr_ver == 2) && @@ -1660,13 +1576,13 @@ static int check_ext_attr(e2fsck_t ctx, struct problem_context *pctx, if (count) ea_refcount_store(ctx->refcount, blk, count); mark_block_used(ctx, blk); - ext2fs_fast_mark_block_bitmap2(ctx->block_ea_map, blk); + ext2fs_fast_mark_block_bitmap(ctx->block_ea_map, blk); return 1; clear_extattr: if (region) region_free(region); - ext2fs_file_acl_block_set(fs, inode, 0); + inode->i_file_acl = 0; e2fsck_write_inode(ctx, ino, inode, "check_ext_attr"); return 0; } @@ -1679,7 +1595,7 @@ static int handle_htree(e2fsck_t ctx, struct problem_context *pctx, struct ext2_dx_root_info *root; ext2_filsys fs = ctx->fs; errcode_t retval; - blk64_t blk; + blk_t blk; if ((!LINUX_S_ISDIR(inode->i_mode) && fix_problem(ctx, PR_1_HTREE_NODIR, pctx)) || @@ -1687,19 +1603,19 @@ static int handle_htree(e2fsck_t ctx, struct problem_context *pctx, fix_problem(ctx, PR_1_HTREE_SET, pctx))) return 1; - pctx->errcode = ext2fs_bmap2(fs, ino, inode, 0, 0, 0, 0, &blk); + pctx->errcode = ext2fs_bmap(fs, ino, inode, 0, 0, 0, &blk); if ((pctx->errcode) || (blk == 0) || (blk < fs->super->s_first_data_block) || - (blk >= ext2fs_blocks_count(fs->super))) { + (blk >= fs->super->s_blocks_count)) { if (fix_problem(ctx, PR_1_HTREE_BADROOT, pctx)) return 1; else return 0; } - retval = io_channel_read_blk64(fs->io, blk, 1, block_buf); + retval = io_channel_read_blk(fs->io, blk, 1, block_buf); if (retval && fix_problem(ctx, PR_1_HTREE_BADROOT, pctx)) return 1; @@ -1738,12 +1654,12 @@ void e2fsck_clear_inode(e2fsck_t ctx, ext2_ino_t ino, ext2fs_icount_store(ctx->inode_link_info, ino, 0); inode->i_dtime = ctx->now; - ext2fs_unmark_inode_bitmap2(ctx->inode_dir_map, ino); - ext2fs_unmark_inode_bitmap2(ctx->inode_used_map, ino); + ext2fs_unmark_inode_bitmap(ctx->inode_dir_map, ino); + ext2fs_unmark_inode_bitmap(ctx->inode_used_map, ino); if (ctx->inode_reg_map) - ext2fs_unmark_inode_bitmap2(ctx->inode_reg_map, ino); + ext2fs_unmark_inode_bitmap(ctx->inode_reg_map, ino); if (ctx->inode_bad_map) - ext2fs_unmark_inode_bitmap2(ctx->inode_bad_map, ino); + ext2fs_unmark_inode_bitmap(ctx->inode_bad_map, ino); /* * If the inode was partially accounted for before processing @@ -1751,24 +1667,20 @@ void e2fsck_clear_inode(e2fsck_t ctx, ext2_ino_t ino, */ ctx->flags |= restart_flag; - if (ino == EXT2_BAD_INO) - memset(inode, 0, sizeof(struct ext2_inode)); - e2fsck_write_inode(ctx, ino, inode, source); } static void scan_extent_node(e2fsck_t ctx, struct problem_context *pctx, struct process_block_struct *pb, - blk64_t start_block, blk64_t end_block, - blk64_t eof_block, + blk64_t start_block, ext2_extent_handle_t ehandle) { struct ext2fs_extent extent; - blk64_t blk, last_lblk; + blk_t blk; e2_blkcnt_t blockcnt; unsigned int i; int is_dir, is_leaf; - problem_t problem; + errcode_t problem; struct ext2_extent_info info; pctx->errcode = ext2fs_extent_get_info(ehandle, &info); @@ -1780,36 +1692,24 @@ static void scan_extent_node(e2fsck_t ctx, struct problem_context *pctx, while (!pctx->errcode && info.num_entries-- > 0) { is_leaf = extent.e_flags & EXT2_EXTENT_FLAGS_LEAF; is_dir = LINUX_S_ISDIR(pctx->inode->i_mode); - last_lblk = extent.e_lblk + extent.e_len - 1; problem = 0; if (extent.e_pblk == 0 || extent.e_pblk < ctx->fs->super->s_first_data_block || - extent.e_pblk >= ext2fs_blocks_count(ctx->fs->super)) + extent.e_pblk >= ctx->fs->super->s_blocks_count) problem = PR_1_EXTENT_BAD_START_BLK; else if (extent.e_lblk < start_block) problem = PR_1_OUT_OF_ORDER_EXTENTS; - else if ((end_block && last_lblk > end_block) && - (!(extent.e_flags & EXT2_EXTENT_FLAGS_UNINIT && - last_lblk > eof_block))) - problem = PR_1_EXTENT_END_OUT_OF_BOUNDS; - else if (is_leaf && extent.e_len == 0) - problem = PR_1_EXTENT_LENGTH_ZERO; else if (is_leaf && (extent.e_pblk + extent.e_len) > - ext2fs_blocks_count(ctx->fs->super)) + ctx->fs->super->s_blocks_count) problem = PR_1_EXTENT_ENDS_BEYOND; - else if (is_leaf && is_dir && - ((extent.e_lblk + extent.e_len) > - (1 << (21 - ctx->fs->super->s_log_block_size)))) - problem = PR_1_TOOBIG_DIR; if (problem) { -report_problem: + report_problem: pctx->blk = extent.e_pblk; pctx->blk2 = extent.e_lblk; pctx->num = extent.e_len; - pctx->blkcount = extent.e_lblk + extent.e_len; if (fix_problem(ctx, problem, pctx)) { e2fsck_read_bitmaps(ctx); pctx->errcode = @@ -1818,7 +1718,6 @@ report_problem: pctx->str = "ext2fs_extent_delete"; return; } - ext2fs_extent_fix_parents(ehandle); pctx->errcode = ext2fs_extent_get(ehandle, EXT2_EXTENT_CURRENT, &extent); @@ -1832,8 +1731,6 @@ report_problem: } if (!is_leaf) { - blk64_t lblk = extent.e_lblk; - blk = extent.e_pblk; pctx->errcode = ext2fs_extent_get(ehandle, EXT2_EXTENT_DOWN, &extent); @@ -1844,20 +1741,7 @@ report_problem: goto report_problem; return; } - /* The next extent should match this index's logical start */ - if (extent.e_lblk != lblk) { - struct ext2_extent_info e_info; - - ext2fs_extent_get_info(ehandle, &e_info); - pctx->blk = lblk; - pctx->blk2 = extent.e_lblk; - pctx->num = e_info.curr_level - 1; - problem = PR_1_EXTENT_INDEX_START_INVALID; - if (fix_problem(ctx, problem, pctx)) - ext2fs_extent_fix_parents(ehandle); - } - scan_extent_node(ctx, pctx, pb, extent.e_lblk, - last_lblk, eof_block, ehandle); + scan_extent_node(ctx, pctx, pb, extent.e_lblk, ehandle); if (pctx->errcode) return; pctx->errcode = ext2fs_extent_get(ehandle, @@ -1892,38 +1776,23 @@ report_problem: } pb->fragmented = 1; } - while (is_dir && (++pb->last_db_block < - (e2_blkcnt_t) extent.e_lblk)) { - pctx->errcode = ext2fs_add_dir_block2(ctx->fs->dblist, - pb->ino, 0, - pb->last_db_block); + while (is_dir && ++pb->last_db_block < extent.e_lblk) { + pctx->errcode = ext2fs_add_dir_block(ctx->fs->dblist, + pb->ino, 0, + pb->last_db_block); if (pctx->errcode) { pctx->blk = 0; pctx->num = pb->last_db_block; goto failed_add_dir_block; } } - if (!ctx->fs->cluster_ratio_bits) { - mark_blocks_used(ctx, extent.e_pblk, extent.e_len); - pb->num_blocks += extent.e_len; - } for (blk = extent.e_pblk, blockcnt = extent.e_lblk, i = 0; i < extent.e_len; blk++, blockcnt++, i++) { - if (ctx->fs->cluster_ratio_bits && - !(pb->previous_block && - (EXT2FS_B2C(ctx->fs, blk) == - EXT2FS_B2C(ctx->fs, pb->previous_block)) && - (blk & EXT2FS_CLUSTER_MASK(ctx->fs)) == - ((unsigned) blockcnt & EXT2FS_CLUSTER_MASK(ctx->fs)))) { - mark_block_used(ctx, blk); - pb->num_blocks++; - } - - pb->previous_block = blk; + mark_block_used(ctx, blk); if (is_dir) { - pctx->errcode = ext2fs_add_dir_block2(ctx->fs->dblist, pctx->ino, blk, blockcnt); + pctx->errcode = ext2fs_add_dir_block(ctx->fs->dblist, pctx->ino, blk, blockcnt); if (pctx->errcode) { pctx->blk = blk; pctx->num = blockcnt; @@ -1937,11 +1806,9 @@ report_problem: } if (is_dir && extent.e_len > 0) pb->last_db_block = blockcnt - 1; + pb->num_blocks += extent.e_len; pb->previous_block = extent.e_pblk + extent.e_len - 1; - start_block = pb->last_block = last_lblk; - if (is_leaf && !is_dir && - !(extent.e_flags & EXT2_EXTENT_FLAGS_UNINIT)) - pb->last_init_lblock = last_lblk; + start_block = pb->last_block = extent.e_lblk + extent.e_len - 1; next: pctx->errcode = ext2fs_extent_get(ehandle, EXT2_EXTENT_NEXT_SIB, @@ -1960,7 +1827,6 @@ static void check_blocks_extents(e2fsck_t ctx, struct problem_context *pctx, ext2_filsys fs = ctx->fs; ext2_ino_t ino = pctx->ino; errcode_t retval; - blk64_t eof_lblk; pctx->errcode = ext2fs_extent_open2(fs, ino, inode, &ehandle); if (pctx->errcode) { @@ -1978,9 +1844,7 @@ static void check_blocks_extents(e2fsck_t ctx, struct problem_context *pctx, ctx->extent_depth_count[info.max_depth]++; } - eof_lblk = ((EXT2_I_SIZE(inode) + fs->blocksize - 1) >> - EXT2_BLOCK_SIZE_BITS(fs->super)) - 1; - scan_extent_node(ctx, pctx, pb, 0, 0, eof_lblk, ehandle); + scan_extent_node(ctx, pctx, pb, 0, ehandle); if (pctx->errcode && fix_problem(ctx, PR_1_EXTENT_ITERATE_FAILURE, pctx)) { pb->num_blocks = 0; @@ -1992,6 +1856,15 @@ static void check_blocks_extents(e2fsck_t ctx, struct problem_context *pctx, ext2fs_extent_free(ehandle); } +static blk64_t ext2fs_inode_i_blocks(ext2_filsys fs, + struct ext2_inode *inode) +{ + return (inode->i_blocks | + (fs->super->s_feature_ro_compat & + EXT4_FEATURE_RO_COMPAT_HUGE_FILE ? + (__u64)inode->osd2.linux2.l_i_blocks_hi << 32 : 0)); +} + /* * This subroutine is called on each inode to account for all of the * blocks used by that inode. @@ -2003,7 +1876,7 @@ static void check_blocks(e2fsck_t ctx, struct problem_context *pctx, struct process_block_struct pb; ext2_ino_t ino = pctx->ino; struct ext2_inode *inode = pctx->inode; - unsigned bad_size = 0; + int bad_size = 0; int dirty_inode = 0; int extent_fs; __u64 size; @@ -2011,7 +1884,6 @@ static void check_blocks(e2fsck_t ctx, struct problem_context *pctx, pb.ino = ino; pb.num_blocks = 0; pb.last_block = -1; - pb.last_init_lblock = -1; pb.last_db_block = -1; pb.num_illegal_blocks = 0; pb.suppress = 0; pb.clear = 0; @@ -2042,26 +1914,19 @@ static void check_blocks(e2fsck_t ctx, struct problem_context *pctx, } } - if (ext2fs_file_acl_block(fs, inode) && - check_ext_attr(ctx, pctx, block_buf)) { + if (inode->i_file_acl && check_ext_attr(ctx, pctx, block_buf)) { if (ctx->flags & E2F_FLAG_SIGNAL_MASK) goto out; pb.num_blocks++; } - if (ext2fs_inode_has_valid_blocks2(fs, inode)) { + if (ext2fs_inode_has_valid_blocks(inode)) { if (extent_fs && (inode->i_flags & EXT4_EXTENTS_FL)) check_blocks_extents(ctx, pctx, &pb); - else { - pctx->errcode = ext2fs_block_iterate3(fs, ino, + else + pctx->errcode = ext2fs_block_iterate2(fs, ino, pb.is_dir ? BLOCK_FLAG_HOLE : 0, block_buf, process_block, &pb); - /* - * We do not have uninitialized extents in non extent - * files. - */ - pb.last_init_lblock = pb.last_block; - } } end_problem_latch(ctx, PR_LATCH_BLOCK); end_problem_latch(ctx, PR_LATCH_TOOBIG); @@ -2102,20 +1967,13 @@ static void check_blocks(e2fsck_t ctx, struct problem_context *pctx, } } - if (ino == EXT2_ROOT_INO || ino >= EXT2_FIRST_INODE(ctx->fs->super)) { - quota_data_add(ctx->qctx, inode, ino, - pb.num_blocks * fs->blocksize); - quota_data_inodes(ctx->qctx, inode, ino, +1); - } - if (!(fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_HUGE_FILE) || !(inode->i_flags & EXT4_HUGE_FILE_FL)) pb.num_blocks *= (fs->blocksize / 512); - pb.num_blocks *= EXT2FS_CLUSTER_RATIO(fs); #if 0 - printf("inode %u, i_size = %u, last_block = %lld, i_blocks=%llu, num_blocks = %llu\n", - ino, inode->i_size, pb.last_block, ext2fs_inode_i_blocks(fs, inode), + printf("inode %u, i_size = %lu, last_block = %lld, i_blocks=%lu, num_blocks = %lu\n", + ino, inode->i_size, pb.last_block, inode->i_blocks, pb.num_blocks); #endif if (pb.is_dir) { @@ -2133,12 +1991,12 @@ static void check_blocks(e2fsck_t ctx, struct problem_context *pctx, e2_blkcnt_t blkpg = ctx->blocks_per_page; size = EXT2_I_SIZE(inode); - if ((pb.last_init_lblock >= 0) && + if ((pb.last_block >= 0) && /* allow allocated blocks to end of PAGE_SIZE */ - (size < (__u64)pb.last_init_lblock * fs->blocksize) && - (pb.last_init_lblock / blkpg * blkpg != pb.last_init_lblock || - size < (__u64)(pb.last_init_lblock & ~(blkpg-1)) * - fs->blocksize)) + (size < (__u64)pb.last_block * fs->blocksize) && + (pb.last_block / blkpg * blkpg != pb.last_block || + size < (__u64)(pb.last_block & ~(blkpg-1)) *fs->blocksize) && + !(inode->i_flags & EXT4_EOFBLOCKS_FL)) bad_size = 3; else if (!(extent_fs && (inode->i_flags & EXT4_EXTENTS_FL)) && size > ext2_max_sizes[fs->super->s_log_block_size]) @@ -2149,6 +2007,19 @@ static void check_blocks(e2fsck_t ctx, struct problem_context *pctx, ((1ULL << (32 + EXT2_BLOCK_SIZE_BITS(fs->super))) - 1)) /* too big for an extent-based file - 32bit ee_block */ bad_size = 6; + + /* + * Check to see if the EOFBLOCKS flag is set where it + * doesn't need to be. + */ + if ((inode->i_flags & EXT4_EOFBLOCKS_FL) && + (size >= (((__u64)pb.last_block + 1) * fs->blocksize))) { + pctx->blkcount = pb.last_block; + if (fix_problem(ctx, PR_1_EOFBLOCKS_FL_SET, pctx)) { + inode->i_flags &= ~EXT4_EOFBLOCKS_FL; + dirty_inode++; + } + } } /* i_size for symlinks is checked elsewhere */ if (bad_size && !LINUX_S_ISLNK(inode->i_mode)) { @@ -2163,7 +2034,7 @@ static void check_blocks(e2fsck_t ctx, struct problem_context *pctx, pctx->num = 0; } if (LINUX_S_ISREG(inode->i_mode) && - ext2fs_needs_large_file_feature(EXT2_I_SIZE(inode))) + (inode->i_size_high || inode->i_size & 0x80000000UL)) ctx->large_files++; if ((pb.num_blocks != ext2fs_inode_i_blocks(fs, inode)) || ((fs->super->s_feature_ro_compat & @@ -2173,7 +2044,7 @@ static void check_blocks(e2fsck_t ctx, struct problem_context *pctx, pctx->num = pb.num_blocks; if (fix_problem(ctx, PR_1_BAD_I_BLOCKS, pctx)) { inode->i_blocks = pb.num_blocks; - inode->osd2.linux2.l_i_blocks_hi = pb.num_blocks >> 32; + inode->osd2.linux2.l_i_blocks_hi = 0; dirty_inode++; } pctx->num = 0; @@ -2194,9 +2065,9 @@ out: * Helper function called by process block when an illegal block is * found. It returns a description about why the block is illegal */ -static char *describe_illegal_block(ext2_filsys fs, blk64_t block) +static char *describe_illegal_block(ext2_filsys fs, blk_t block) { - blk64_t super; + blk_t super; int i; static char problem[80]; @@ -2205,8 +2076,8 @@ static char *describe_illegal_block(ext2_filsys fs, blk64_t block) if (block < super) { sprintf(problem, "< FIRSTBLOCK (%u)", super); return(problem); - } else if (block >= ext2fs_blocks_count(fs->super)) { - sprintf(problem, "> BLOCKS (%u)", ext2fs_blocks_count(fs->super)); + } else if (block >= fs->super->s_blocks_count) { + sprintf(problem, "> BLOCKS (%u)", fs->super->s_blocks_count); return(problem); } for (i = 0; i < fs->group_desc_count; i++) { @@ -2220,16 +2091,16 @@ static char *describe_illegal_block(ext2_filsys fs, blk64_t block) "of group %d", i); break; } - if (block == ext2fs_block_bitmap_loc(fs, i)) { + if (block == fs->group_desc[i].bg_block_bitmap) { sprintf(problem, "is the block bitmap of group %d", i); break; } - if (block == ext2fs_inode_bitmap_loc(fs, i)) { + if (block == fs->group_desc[i].bg_inode_bitmap) { sprintf(problem, "is the inode bitmap of group %d", i); break; } - if (block >= ext2fs_inode_table_loc(fs, i) && - (block < ext2fs_inode_table_loc(fs, i) + if (block >= fs->group_desc[i].bg_inode_table && + (block < fs->group_desc[i].bg_inode_table + fs->inode_blocks_per_group)) { sprintf(problem, "is in the inode table of group %d", i); @@ -2245,17 +2116,17 @@ static char *describe_illegal_block(ext2_filsys fs, blk64_t block) * This is a helper function for check_blocks(). */ static int process_block(ext2_filsys fs, - blk64_t *block_nr, + blk_t *block_nr, e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { struct process_block_struct *p; struct problem_context *pctx; - blk64_t blk = *block_nr; + blk_t blk = *block_nr; int ret_code = 0; - problem_t problem = 0; + int problem = 0; e2fsck_t ctx; p = (struct process_block_struct *) priv_data; @@ -2317,6 +2188,7 @@ static int process_block(ext2_filsys fs, p->fragmented = 1; } } + p->previous_block = blk; if (p->is_dir && blockcnt > (1 << (21 - fs->super->s_log_block_size))) problem = PR_1_TOOBIG_DIR; @@ -2326,7 +2198,7 @@ static int process_block(ext2_filsys fs, problem = PR_1_TOOBIG_SYMLINK; if (blk < fs->super->s_first_data_block || - blk >= ext2fs_blocks_count(fs->super)) + blk >= fs->super->s_blocks_count) problem = PR_1_ILLEGAL_BLOCK_NUM; if (problem) { @@ -2362,33 +2234,25 @@ static int process_block(ext2_filsys fs, */ if (blockcnt == BLOCK_COUNT_DIND) mark_block_used(ctx, blk); - p->num_blocks++; - } else if (!(ctx->fs->cluster_ratio_bits && - p->previous_block && - (EXT2FS_B2C(ctx->fs, blk) == - EXT2FS_B2C(ctx->fs, p->previous_block)) && - (blk & EXT2FS_CLUSTER_MASK(ctx->fs)) == - ((unsigned) blockcnt & EXT2FS_CLUSTER_MASK(ctx->fs)))) { + } else mark_block_used(ctx, blk); - p->num_blocks++; - } + p->num_blocks++; if (blockcnt >= 0) p->last_block = blockcnt; - p->previous_block = blk; mark_dir: if (p->is_dir && (blockcnt >= 0)) { while (++p->last_db_block < blockcnt) { - pctx->errcode = ext2fs_add_dir_block2(fs->dblist, - p->ino, 0, - p->last_db_block); + pctx->errcode = ext2fs_add_dir_block(fs->dblist, + p->ino, 0, + p->last_db_block); if (pctx->errcode) { pctx->blk = 0; pctx->num = p->last_db_block; goto failed_add_dir_block; } } - pctx->errcode = ext2fs_add_dir_block2(fs->dblist, p->ino, - blk, blockcnt); + pctx->errcode = ext2fs_add_dir_block(fs->dblist, p->ino, + blk, blockcnt); if (pctx->errcode) { pctx->blk = blk; pctx->num = blockcnt; @@ -2403,15 +2267,15 @@ mark_dir: } static int process_bad_block(ext2_filsys fs, - blk64_t *block_nr, + blk_t *block_nr, e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { struct process_block_struct *p; - blk64_t blk = *block_nr; - blk64_t first_block; + blk_t blk = *block_nr; + blk_t first_block; dgrp_t i; struct problem_context *pctx; e2fsck_t ctx; @@ -2433,7 +2297,7 @@ static int process_bad_block(ext2_filsys fs, pctx->blkcount = blockcnt; if ((blk < fs->super->s_first_data_block) || - (blk >= ext2fs_blocks_count(fs->super))) { + (blk >= fs->super->s_blocks_count)) { if (fix_problem(ctx, PR_1_BB_ILLEGAL_BLOCK_NUM, pctx)) { *block_nr = 0; return BLOCK_CHANGED; @@ -2442,13 +2306,13 @@ static int process_bad_block(ext2_filsys fs, } if (blockcnt < 0) { - if (ext2fs_test_block_bitmap2(p->fs_meta_blocks, blk)) { + if (ext2fs_test_block_bitmap(p->fs_meta_blocks, blk)) { p->bbcheck = 1; if (fix_problem(ctx, PR_1_BB_FS_BLOCK, pctx)) { *block_nr = 0; return BLOCK_CHANGED; } - } else if (ext2fs_test_block_bitmap2(ctx->block_found_map, + } else if (ext2fs_test_block_bitmap(ctx->block_found_map, blk)) { p->bbcheck = 1; if (fix_problem(ctx, PR_1_BBINODE_BAD_METABLOCK, @@ -2472,8 +2336,8 @@ static int process_bad_block(ext2_filsys fs, * there's an overlap between the filesystem table blocks * (bitmaps and inode table) and the bad block list. */ - if (!ext2fs_test_block_bitmap2(ctx->block_found_map, blk)) { - ext2fs_mark_block_bitmap2(ctx->block_found_map, blk); + if (!ext2fs_test_block_bitmap(ctx->block_found_map, blk)) { + ext2fs_mark_block_bitmap(ctx->block_found_map, blk); return 0; } /* @@ -2514,22 +2378,22 @@ static int process_bad_block(ext2_filsys fs, return 0; } skip_super: - if (blk == ext2fs_block_bitmap_loc(fs, i)) { + if (blk == fs->group_desc[i].bg_block_bitmap) { if (fix_problem(ctx, PR_1_BB_BAD_BLOCK, pctx)) { ctx->invalid_block_bitmap_flag[i]++; ctx->invalid_bitmaps++; } return 0; } - if (blk == ext2fs_inode_bitmap_loc(fs, i)) { + if (blk == fs->group_desc[i].bg_inode_bitmap) { if (fix_problem(ctx, PR_1_IB_BAD_BLOCK, pctx)) { ctx->invalid_inode_bitmap_flag[i]++; ctx->invalid_bitmaps++; } return 0; } - if ((blk >= ext2fs_inode_table_loc(fs, i)) && - (blk < (ext2fs_inode_table_loc(fs, i) + + if ((blk >= fs->group_desc[i].bg_inode_table) && + (blk < (fs->group_desc[i].bg_inode_table + fs->inode_blocks_per_group))) { /* * If there are bad blocks in the inode table, @@ -2566,16 +2430,14 @@ static int process_bad_block(ext2_filsys fs, return 0; } -static void new_table_block(e2fsck_t ctx, blk64_t first_block, dgrp_t group, - const char *name, int num, blk64_t *new_block) +static void new_table_block(e2fsck_t ctx, blk_t first_block, int group, + const char *name, int num, blk_t *new_block) { ext2_filsys fs = ctx->fs; dgrp_t last_grp; - blk64_t old_block = *new_block; - blk64_t last_block; - dgrp_t flexbg; - unsigned flexbg_size; - int i, is_flexbg; + blk_t old_block = *new_block; + blk_t last_block; + int i, is_flexbg, flexbg, flexbg_size; char *buf; struct problem_context pctx; @@ -2595,21 +2457,21 @@ static void new_table_block(e2fsck_t ctx, blk64_t first_block, dgrp_t group, if (is_flexbg) { flexbg_size = 1 << fs->super->s_log_groups_per_flex; flexbg = group / flexbg_size; - first_block = ext2fs_group_first_block2(fs, - flexbg_size * flexbg); + first_block = ext2fs_group_first_block(fs, + flexbg_size * flexbg); last_grp = group | (flexbg_size - 1); if (last_grp > fs->group_desc_count) last_grp = fs->group_desc_count; - last_block = ext2fs_group_last_block2(fs, last_grp); + last_block = ext2fs_group_last_block(fs, last_grp); } else - last_block = ext2fs_group_last_block2(fs, group); - pctx.errcode = ext2fs_get_free_blocks2(fs, first_block, last_block, - num, ctx->block_found_map, - new_block); + last_block = ext2fs_group_last_block(fs, group); + pctx.errcode = ext2fs_get_free_blocks(fs, first_block, last_block, + num, ctx->block_found_map, + new_block); if (is_flexbg && (pctx.errcode == EXT2_ET_BLOCK_ALLOC_FAIL)) - pctx.errcode = ext2fs_get_free_blocks2(fs, + pctx.errcode = ext2fs_get_free_blocks(fs, fs->super->s_first_data_block, - ext2fs_blocks_count(fs->super), + fs->super->s_blocks_count, num, ctx->block_found_map, new_block); if (pctx.errcode) { pctx.num = num; @@ -2633,9 +2495,9 @@ static void new_table_block(e2fsck_t ctx, blk64_t first_block, dgrp_t group, pctx.blk2 = 0; for (i = 0; i < num; i++) { pctx.blk = i; - ext2fs_mark_block_bitmap2(ctx->block_found_map, (*new_block)+i); + ext2fs_mark_block_bitmap(ctx->block_found_map, (*new_block)+i); if (old_block) { - pctx.errcode = io_channel_read_blk64(fs->io, + pctx.errcode = io_channel_read_blk(fs->io, old_block + i, 1, buf); if (pctx.errcode) fix_problem(ctx, PR_1_RELOC_READ_ERR, &pctx); @@ -2643,7 +2505,7 @@ static void new_table_block(e2fsck_t ctx, blk64_t first_block, dgrp_t group, memset(buf, 0, fs->blocksize); pctx.blk = (*new_block) + i; - pctx.errcode = io_channel_write_blk64(fs->io, pctx.blk, + pctx.errcode = io_channel_write_blk(fs->io, pctx.blk, 1, buf); if (pctx.errcode) fix_problem(ctx, PR_1_RELOC_WRITE_ERR, &pctx); @@ -2662,30 +2524,23 @@ static void handle_fs_bad_blocks(e2fsck_t ctx) { ext2_filsys fs = ctx->fs; dgrp_t i; - blk64_t first_block; - blk64_t new_blk; + blk_t first_block; for (i = 0; i < fs->group_desc_count; i++) { - first_block = ext2fs_group_first_block2(fs, i); + first_block = ext2fs_group_first_block(fs, i); if (ctx->invalid_block_bitmap_flag[i]) { - new_blk = ext2fs_block_bitmap_loc(fs, i); new_table_block(ctx, first_block, i, _("block bitmap"), - 1, &new_blk); - ext2fs_block_bitmap_loc_set(fs, i, new_blk); + 1, &fs->group_desc[i].bg_block_bitmap); } if (ctx->invalid_inode_bitmap_flag[i]) { - new_blk = ext2fs_inode_bitmap_loc(fs, i); new_table_block(ctx, first_block, i, _("inode bitmap"), - 1, &new_blk); - ext2fs_inode_bitmap_loc_set(fs, i, new_blk); + 1, &fs->group_desc[i].bg_inode_bitmap); } if (ctx->invalid_inode_table_flag[i]) { - new_blk = ext2fs_inode_table_loc(fs, i); new_table_block(ctx, first_block, i, _("inode table"), fs->inode_blocks_per_group, - &new_blk); - ext2fs_inode_table_loc_set(fs, i, new_blk); + &fs->group_desc[i].bg_inode_table); ctx->flags |= E2F_FLAG_RESTART; } } @@ -2699,9 +2554,9 @@ static void handle_fs_bad_blocks(e2fsck_t ctx) static void mark_table_blocks(e2fsck_t ctx) { ext2_filsys fs = ctx->fs; - blk64_t b; + blk_t b; dgrp_t i; - unsigned int j; + int j; struct problem_context pctx; clear_problem_context(&pctx); @@ -2714,11 +2569,11 @@ static void mark_table_blocks(e2fsck_t ctx) /* * Mark the blocks used for the inode table */ - if (ext2fs_inode_table_loc(fs, i)) { - for (j = 0, b = ext2fs_inode_table_loc(fs, i); + if (fs->group_desc[i].bg_inode_table) { + for (j = 0, b = fs->group_desc[i].bg_inode_table; j < fs->inode_blocks_per_group; j++, b++) { - if (ext2fs_test_block_bitmap2(ctx->block_found_map, + if (ext2fs_test_block_bitmap(ctx->block_found_map, b)) { pctx.blk = b; if (!ctx->invalid_inode_table_flag[i] && @@ -2728,7 +2583,7 @@ static void mark_table_blocks(e2fsck_t ctx) ctx->invalid_bitmaps++; } } else { - ext2fs_mark_block_bitmap2(ctx->block_found_map, + ext2fs_mark_block_bitmap(ctx->block_found_map, b); } } @@ -2737,34 +2592,34 @@ static void mark_table_blocks(e2fsck_t ctx) /* * Mark block used for the block bitmap */ - if (ext2fs_block_bitmap_loc(fs, i)) { - if (ext2fs_test_block_bitmap2(ctx->block_found_map, - ext2fs_block_bitmap_loc(fs, i))) { - pctx.blk = ext2fs_block_bitmap_loc(fs, i); + if (fs->group_desc[i].bg_block_bitmap) { + if (ext2fs_test_block_bitmap(ctx->block_found_map, + fs->group_desc[i].bg_block_bitmap)) { + pctx.blk = fs->group_desc[i].bg_block_bitmap; if (fix_problem(ctx, PR_1_BB_CONFLICT, &pctx)) { ctx->invalid_block_bitmap_flag[i]++; ctx->invalid_bitmaps++; } } else { - ext2fs_mark_block_bitmap2(ctx->block_found_map, - ext2fs_block_bitmap_loc(fs, i)); + ext2fs_mark_block_bitmap(ctx->block_found_map, + fs->group_desc[i].bg_block_bitmap); } } /* * Mark block used for the inode bitmap */ - if (ext2fs_inode_bitmap_loc(fs, i)) { - if (ext2fs_test_block_bitmap2(ctx->block_found_map, - ext2fs_inode_bitmap_loc(fs, i))) { - pctx.blk = ext2fs_inode_bitmap_loc(fs, i); + if (fs->group_desc[i].bg_inode_bitmap) { + if (ext2fs_test_block_bitmap(ctx->block_found_map, + fs->group_desc[i].bg_inode_bitmap)) { + pctx.blk = fs->group_desc[i].bg_inode_bitmap; if (fix_problem(ctx, PR_1_IB_CONFLICT, &pctx)) { ctx->invalid_inode_bitmap_flag[i]++; ctx->invalid_bitmaps++; } } else { - ext2fs_mark_block_bitmap2(ctx->block_found_map, - ext2fs_inode_bitmap_loc(fs, i)); + ext2fs_mark_block_bitmap(ctx->block_found_map, + fs->group_desc[i].bg_inode_bitmap); } } } @@ -2829,15 +2684,15 @@ static errcode_t e2fsck_get_alloc_block(ext2_filsys fs, blk64_t goal, { e2fsck_t ctx = (e2fsck_t) fs->priv_data; errcode_t retval; - blk64_t new_block; + blk_t new_block; if (ctx->block_found_map) { - retval = ext2fs_new_block2(fs, goal, ctx->block_found_map, - &new_block); + retval = ext2fs_new_block(fs, (blk_t) goal, + ctx->block_found_map, &new_block); if (retval) return retval; if (fs->block_map) { - ext2fs_mark_block_bitmap2(fs->block_map, new_block); + ext2fs_mark_block_bitmap(fs->block_map, new_block); ext2fs_mark_bb_dirty(fs); } } else { @@ -2847,7 +2702,7 @@ static errcode_t e2fsck_get_alloc_block(ext2_filsys fs, blk64_t goal, return retval; } - retval = ext2fs_new_block2(fs, goal, 0, &new_block); + retval = ext2fs_new_block(fs, (blk_t) goal, 0, &new_block); if (retval) return retval; } @@ -2862,17 +2717,19 @@ static void e2fsck_block_alloc_stats(ext2_filsys fs, blk64_t blk, int inuse) if (ctx->block_found_map) { if (inuse > 0) - ext2fs_mark_block_bitmap2(ctx->block_found_map, blk); + ext2fs_mark_block_bitmap(ctx->block_found_map, + (blk_t) blk); else - ext2fs_unmark_block_bitmap2(ctx->block_found_map, blk); + ext2fs_unmark_block_bitmap(ctx->block_found_map, + (blk_t) blk); } } -void e2fsck_use_inode_shortcuts(e2fsck_t ctx, int use_shortcuts) +void e2fsck_use_inode_shortcuts(e2fsck_t ctx, int bool) { ext2_filsys fs = ctx->fs; - if (use_shortcuts) { + if (bool) { fs->get_blocks = pass1_get_blocks; fs->check_directory = pass1_check_directory; fs->read_inode = pass1_read_inode; diff --git a/e2fsck/pass1b.c b/e2fsck/pass1b.c index 932a171e..99f0a3c1 100644 --- a/e2fsck/pass1b.c +++ b/e2fsck/pass1b.c @@ -53,9 +53,9 @@ typedef long intptr_t; /* Define an extension to the ext2 library's block count information */ #define BLOCK_COUNT_EXTATTR (-5) -struct cluster_el { - blk64_t cluster; - struct cluster_el *next; +struct block_el { + blk_t block; + struct block_el *next; }; struct inode_el { @@ -63,7 +63,7 @@ struct inode_el { struct inode_el *next; }; -struct dup_cluster { +struct dup_block { int num_bad; struct inode_el *inode_list; }; @@ -79,18 +79,17 @@ struct dup_inode { ext2_ino_t dir; int num_dupblocks; struct ext2_inode inode; - struct cluster_el *cluster_list; + struct block_el *block_list; }; -static int process_pass1b_block(ext2_filsys fs, blk64_t *blocknr, - e2_blkcnt_t blockcnt, blk64_t ref_blk, +static int process_pass1b_block(ext2_filsys fs, blk_t *blocknr, + e2_blkcnt_t blockcnt, blk_t ref_blk, int ref_offset, void *priv_data); static void delete_file(e2fsck_t ctx, ext2_ino_t ino, struct dup_inode *dp, char *block_buf); -static errcode_t clone_file(e2fsck_t ctx, ext2_ino_t ino, - struct dup_inode *dp, char* block_buf); -static int check_if_fs_block(e2fsck_t ctx, blk64_t test_block); -static int check_if_fs_cluster(e2fsck_t ctx, blk64_t cluster); +static int clone_file(e2fsck_t ctx, ext2_ino_t ino, + struct dup_inode *dp, char* block_buf); +static int check_if_fs_block(e2fsck_t ctx, blk_t test_blk); static void pass1b(e2fsck_t ctx, char *block_buf); static void pass1c(e2fsck_t ctx, char *block_buf); @@ -99,7 +98,7 @@ static void pass1d(e2fsck_t ctx, char *block_buf); static int dup_inode_count = 0; static int dup_inode_founddir = 0; -static dict_t clstr_dict, ino_dict; +static dict_t blk_dict, ino_dict; static ext2fs_inode_bitmap inode_dup_map; @@ -116,24 +115,24 @@ static int dict_int_cmp(const void *a, const void *b) /* * Add a duplicate block record */ -static void add_dupe(e2fsck_t ctx, ext2_ino_t ino, blk64_t cluster, +static void add_dupe(e2fsck_t ctx, ext2_ino_t ino, blk_t blk, struct ext2_inode *inode) { dnode_t *n; - struct dup_cluster *db; + struct dup_block *db; struct dup_inode *di; - struct cluster_el *cluster_el; + struct block_el *blk_el; struct inode_el *ino_el; - n = dict_lookup(&clstr_dict, INT_TO_VOIDPTR(cluster)); + n = dict_lookup(&blk_dict, INT_TO_VOIDPTR(blk)); if (n) - db = (struct dup_cluster *) dnode_get(n); + db = (struct dup_block *) dnode_get(n); else { - db = (struct dup_cluster *) e2fsck_allocate_memory(ctx, - sizeof(struct dup_cluster), "duplicate cluster header"); + db = (struct dup_block *) e2fsck_allocate_memory(ctx, + sizeof(struct dup_block), "duplicate block header"); db->num_bad = 0; db->inode_list = 0; - dict_alloc_insert(&clstr_dict, INT_TO_VOIDPTR(cluster), db); + dict_alloc_insert(&blk_dict, INT_TO_VOIDPTR(blk), db); } ino_el = (struct inode_el *) e2fsck_allocate_memory(ctx, sizeof(struct inode_el), "inode element"); @@ -155,15 +154,15 @@ static void add_dupe(e2fsck_t ctx, ext2_ino_t ino, blk64_t cluster, di->dir = 0; di->num_dupblocks = 0; - di->cluster_list = 0; + di->block_list = 0; di->inode = *inode; dict_alloc_insert(&ino_dict, INT_TO_VOIDPTR(ino), di); } - cluster_el = (struct cluster_el *) e2fsck_allocate_memory(ctx, - sizeof(struct cluster_el), "cluster element"); - cluster_el->cluster = cluster; - cluster_el->next = di->cluster_list; - di->cluster_list = cluster_el; + blk_el = (struct block_el *) e2fsck_allocate_memory(ctx, + sizeof(struct block_el), "block element"); + blk_el->block = blk; + blk_el->next = di->block_list; + di->block_list = blk_el; di->num_dupblocks++; } @@ -174,10 +173,10 @@ static void inode_dnode_free(dnode_t *node, void *context EXT2FS_ATTR((unused))) { struct dup_inode *di; - struct cluster_el *p, *next; + struct block_el *p, *next; di = (struct dup_inode *) dnode_get(node); - for (p = di->cluster_list; p; p = next) { + for (p = di->block_list; p; p = next) { next = p->next; free(p); } @@ -186,20 +185,20 @@ static void inode_dnode_free(dnode_t *node, } /* - * Free a duplicate cluster record + * Free a duplicate block record */ -static void cluster_dnode_free(dnode_t *node, - void *context EXT2FS_ATTR((unused))) +static void block_dnode_free(dnode_t *node, + void *context EXT2FS_ATTR((unused))) { - struct dup_cluster *dc; + struct dup_block *db; struct inode_el *p, *next; - dc = (struct dup_cluster *) dnode_get(node); - for (p = dc->inode_list; p; p = next) { + db = (struct dup_block *) dnode_get(node); + for (p = db->inode_list; p; p = next) { next = p->next; free(p); } - free(dc); + free(db); free(node); } @@ -217,10 +216,8 @@ void e2fsck_pass1_dupblocks(e2fsck_t ctx, char *block_buf) clear_problem_context(&pctx); - pctx.errcode = e2fsck_allocate_inode_bitmap(fs, - _("multiply claimed inode map"), - EXT2FS_BMAP64_RBTREE, "inode_dup_map", - &inode_dup_map); + pctx.errcode = ext2fs_allocate_inode_bitmap(fs, + _("multiply claimed inode map"), &inode_dup_map); if (pctx.errcode) { fix_problem(ctx, PR_1B_ALLOCATE_IBITMAP_ERROR, &pctx); ctx->flags |= E2F_FLAG_ABORT; @@ -228,9 +225,9 @@ void e2fsck_pass1_dupblocks(e2fsck_t ctx, char *block_buf) } dict_init(&ino_dict, DICTCOUNT_T_MAX, dict_int_cmp); - dict_init(&clstr_dict, DICTCOUNT_T_MAX, dict_int_cmp); + dict_init(&blk_dict, DICTCOUNT_T_MAX, dict_int_cmp); dict_set_allocator(&ino_dict, NULL, inode_dnode_free, NULL); - dict_set_allocator(&clstr_dict, NULL, cluster_dnode_free, NULL); + dict_set_allocator(&blk_dict, NULL, block_dnode_free, NULL); init_resource_track(&rtrack, ctx->fs->io); pass1b(ctx, block_buf); @@ -249,7 +246,7 @@ void e2fsck_pass1_dupblocks(e2fsck_t ctx, char *block_buf) * don't need anymore. */ dict_free_nodes(&ino_dict); - dict_free_nodes(&clstr_dict); + dict_free_nodes(&blk_dict); ext2fs_free_inode_bitmap(inode_dup_map); } @@ -260,7 +257,6 @@ struct process_block_struct { e2fsck_t ctx; ext2_ino_t ino; int dup_blocks; - blk64_t cur_cluster; struct ext2_inode *inode; struct problem_context *pctx; }; @@ -268,7 +264,7 @@ struct process_block_struct { static void pass1b(e2fsck_t ctx, char *block_buf) { ext2_filsys fs = ctx->fs; - ext2_ino_t ino = 0; + ext2_ino_t ino; struct ext2_inode inode; ext2_inode_scan scan; struct process_block_struct pb; @@ -290,10 +286,6 @@ static void pass1b(e2fsck_t ctx, char *block_buf) pb.pctx = &pctx; pctx.str = "pass1b"; while (1) { - if (ino % (fs->super->s_inodes_per_group * 4) == 1) { - if (e2fsck_mmp_update(fs)) - fatal_error(ctx, 0); - } pctx.errcode = ext2fs_get_next_inode(scan, &ino, &inode); if (pctx.errcode == EXT2_ET_BAD_BLOCK_IN_INODE_TABLE) continue; @@ -306,27 +298,21 @@ static void pass1b(e2fsck_t ctx, char *block_buf) break; pctx.ino = ctx->stashed_ino = ino; if ((ino != EXT2_BAD_INO) && - !ext2fs_test_inode_bitmap2(ctx->inode_used_map, ino)) + !ext2fs_test_inode_bitmap(ctx->inode_used_map, ino)) continue; pb.ino = ino; pb.dup_blocks = 0; pb.inode = &inode; - pb.cur_cluster = ~0; - if (ext2fs_inode_has_valid_blocks2(fs, &inode) || + if (ext2fs_inode_has_valid_blocks(&inode) || (ino == EXT2_BAD_INO)) - pctx.errcode = ext2fs_block_iterate3(fs, ino, + pctx.errcode = ext2fs_block_iterate2(fs, ino, BLOCK_FLAG_READ_ONLY, block_buf, process_pass1b_block, &pb); - /* If the feature is not set, attrs will be cleared later anyway */ - if ((fs->super->s_feature_compat & EXT2_FEATURE_COMPAT_EXT_ATTR) && - ext2fs_file_acl_block(fs, &inode)) { - blk64_t blk = ext2fs_file_acl_block(fs, &inode); - process_pass1b_block(fs, &blk, + if (inode.i_file_acl) + process_pass1b_block(fs, &inode.i_file_acl, BLOCK_COUNT_EXTATTR, 0, 0, &pb); - ext2fs_file_acl_block_set(fs, &inode, blk); - } if (pb.dup_blocks) { end_problem_latch(ctx, PR_LATCH_DBLOCK); if (ino >= EXT2_FIRST_INODE(fs->super) || @@ -341,24 +327,22 @@ static void pass1b(e2fsck_t ctx, char *block_buf) } static int process_pass1b_block(ext2_filsys fs EXT2FS_ATTR((unused)), - blk64_t *block_nr, - e2_blkcnt_t blockcnt, - blk64_t ref_blk EXT2FS_ATTR((unused)), + blk_t *block_nr, + e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), + blk_t ref_blk EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { struct process_block_struct *p; e2fsck_t ctx; - blk64_t lc; if (HOLE_BLKADDR(*block_nr)) return 0; p = (struct process_block_struct *) priv_data; ctx = p->ctx; - lc = EXT2FS_B2C(fs, blockcnt); - if (!ext2fs_test_block_bitmap2(ctx->block_dup_map, *block_nr)) - goto finish; + if (!ext2fs_test_block_bitmap(ctx->block_dup_map, *block_nr)) + return 0; /* OK, this is a duplicate block */ if (p->ino != EXT2_BAD_INO) { @@ -366,13 +350,10 @@ static int process_pass1b_block(ext2_filsys fs EXT2FS_ATTR((unused)), fix_problem(ctx, PR_1B_DUP_BLOCK, p->pctx); } p->dup_blocks++; - ext2fs_mark_inode_bitmap2(inode_dup_map, p->ino); + ext2fs_mark_inode_bitmap(inode_dup_map, p->ino); - if (lc != p->cur_cluster) - add_dupe(ctx, p->ino, EXT2FS_B2C(fs, *block_nr), p->inode); + add_dupe(ctx, p->ino, *block_nr, p->inode); -finish: - p->cur_cluster = lc; return 0; } @@ -405,7 +386,7 @@ static int search_dirent_proc(ext2_ino_t dir, int entry, return 0; if ((dirent->inode < sd->first_inode) || (entry < DIRENT_OTHER_FILE) || - !ext2fs_test_inode_bitmap2(inode_dup_map, dirent->inode)) + !ext2fs_test_inode_bitmap(inode_dup_map, dirent->inode)) return 0; n = dict_lookup(&ino_dict, INT_TO_VOIDPTR(dirent->inode)); @@ -447,7 +428,7 @@ static void pass1d(e2fsck_t ctx, char *block_buf) { ext2_filsys fs = ctx->fs; struct dup_inode *p, *t; - struct dup_cluster *q; + struct dup_block *q; ext2_ino_t *shared, ino; int shared_len; int i; @@ -455,7 +436,7 @@ static void pass1d(e2fsck_t ctx, char *block_buf) int meta_data = 0; struct problem_context pctx; dnode_t *n, *m; - struct cluster_el *s; + struct block_el *s; struct inode_el *r; clear_problem_context(&pctx); @@ -483,15 +464,14 @@ static void pass1d(e2fsck_t ctx, char *block_buf) * belonging to this inode, and then search each block * get the list of inodes, and merge them together. */ - for (s = p->cluster_list; s; s = s->next) { - m = dict_lookup(&clstr_dict, - INT_TO_VOIDPTR(s->cluster)); + for (s = p->block_list; s; s = s->next) { + m = dict_lookup(&blk_dict, INT_TO_VOIDPTR(s->block)); if (!m) continue; /* Should never happen... */ - q = (struct dup_cluster *) dnode_get(m); + q = (struct dup_block *) dnode_get(m); if (q->num_bad > 1) file_ok = 0; - if (check_if_fs_cluster(ctx, s->cluster)) { + if (check_if_fs_block(ctx, s->block)) { file_ok = 0; meta_data = 1; } @@ -565,30 +545,25 @@ static void pass1d(e2fsck_t ctx, char *block_buf) * Drop the refcount on the dup_block structure, and clear the entry * in the block_dup_map if appropriate. */ -static void decrement_badcount(e2fsck_t ctx, blk64_t block, - struct dup_cluster *p) +static void decrement_badcount(e2fsck_t ctx, blk_t block, struct dup_block *p) { p->num_bad--; if (p->num_bad <= 0 || - (p->num_bad == 1 && !check_if_fs_block(ctx, block))) { - if (check_if_fs_cluster(ctx, EXT2FS_B2C(ctx->fs, block))) - return; - ext2fs_unmark_block_bitmap2(ctx->block_dup_map, block); - } + (p->num_bad == 1 && !check_if_fs_block(ctx, block))) + ext2fs_unmark_block_bitmap(ctx->block_dup_map, block); } static int delete_file_block(ext2_filsys fs, - blk64_t *block_nr, - e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t *block_nr, + e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { struct process_block_struct *pb; - struct dup_cluster *p; + struct dup_block *p; dnode_t *n; e2fsck_t ctx; - blk64_t c, lc; pb = (struct process_block_struct *) priv_data; ctx = pb->ctx; @@ -596,24 +571,19 @@ static int delete_file_block(ext2_filsys fs, if (HOLE_BLKADDR(*block_nr)) return 0; - c = EXT2FS_B2C(fs, *block_nr); - lc = EXT2FS_B2C(fs, blockcnt); - if (ext2fs_test_block_bitmap2(ctx->block_dup_map, *block_nr)) { - n = dict_lookup(&clstr_dict, INT_TO_VOIDPTR(c)); + if (ext2fs_test_block_bitmap(ctx->block_dup_map, *block_nr)) { + n = dict_lookup(&blk_dict, INT_TO_VOIDPTR(*block_nr)); if (n) { - p = (struct dup_cluster *) dnode_get(n); - if (lc != pb->cur_cluster) - decrement_badcount(ctx, *block_nr, p); + p = (struct dup_block *) dnode_get(n); + decrement_badcount(ctx, *block_nr, p); } else com_err("delete_file_block", 0, - _("internal error: can't find dup_blk for %llu\n"), + _("internal error: can't find dup_blk for %u\n"), *block_nr); } else { - ext2fs_unmark_block_bitmap2(ctx->block_found_map, *block_nr); - ext2fs_block_alloc_stats2(fs, *block_nr, -1); - pb->dup_blocks++; + ext2fs_unmark_block_bitmap(ctx->block_found_map, *block_nr); + ext2fs_block_alloc_stats(fs, *block_nr, -1); } - pb->cur_cluster = lc; return 0; } @@ -623,45 +593,40 @@ static void delete_file(e2fsck_t ctx, ext2_ino_t ino, { ext2_filsys fs = ctx->fs; struct process_block_struct pb; + struct ext2_inode inode; struct problem_context pctx; unsigned int count; clear_problem_context(&pctx); pctx.ino = pb.ino = ino; - pb.dup_blocks = 0; + pb.dup_blocks = dp->num_dupblocks; pb.ctx = ctx; pctx.str = "delete_file"; - pb.cur_cluster = ~0; - if (ext2fs_inode_has_valid_blocks2(fs, &dp->inode)) - pctx.errcode = ext2fs_block_iterate3(fs, ino, - BLOCK_FLAG_READ_ONLY, - block_buf, - delete_file_block, &pb); + e2fsck_read_inode(ctx, ino, &inode, "delete_file"); + if (ext2fs_inode_has_valid_blocks(&inode)) + pctx.errcode = ext2fs_block_iterate2(fs, ino, BLOCK_FLAG_READ_ONLY, + block_buf, delete_file_block, &pb); if (pctx.errcode) fix_problem(ctx, PR_1B_BLOCK_ITERATE, &pctx); if (ctx->inode_bad_map) - ext2fs_unmark_inode_bitmap2(ctx->inode_bad_map, ino); - ext2fs_inode_alloc_stats2(fs, ino, -1, LINUX_S_ISDIR(dp->inode.i_mode)); - quota_data_sub(ctx->qctx, &dp->inode, ino, - pb.dup_blocks * fs->blocksize); - quota_data_inodes(ctx->qctx, &dp->inode, ino, -1); + ext2fs_unmark_inode_bitmap(ctx->inode_bad_map, ino); + ext2fs_inode_alloc_stats2(fs, ino, -1, LINUX_S_ISDIR(inode.i_mode)); /* Inode may have changed by block_iterate, so reread it */ - e2fsck_read_inode(ctx, ino, &dp->inode, "delete_file"); - e2fsck_clear_inode(ctx, ino, &dp->inode, 0, "delete_file"); - if (ext2fs_file_acl_block(fs, &dp->inode) && + e2fsck_read_inode(ctx, ino, &inode, "delete_file"); + e2fsck_clear_inode(ctx, ino, &inode, 0, "delete_file"); + if (inode.i_file_acl && (fs->super->s_feature_compat & EXT2_FEATURE_COMPAT_EXT_ATTR)) { count = 1; - pctx.errcode = ext2fs_adjust_ea_refcount2(fs, - ext2fs_file_acl_block(fs, &dp->inode), + pctx.errcode = ext2fs_adjust_ea_refcount(fs, inode.i_file_acl, block_buf, -1, &count); if (pctx.errcode == EXT2_ET_BAD_EA_BLOCK_NUM) { pctx.errcode = 0; count = 1; } if (pctx.errcode) { - pctx.blk = ext2fs_file_acl_block(fs, &dp->inode); + pctx.blk = inode.i_file_acl; fix_problem(ctx, PR_1B_ADJ_EA_REFCOUNT, &pctx); } /* @@ -671,143 +636,115 @@ static void delete_file(e2fsck_t ctx, ext2_ino_t ino, * of keeping the accounting straight. */ if ((count == 0) || - ext2fs_test_block_bitmap2(ctx->block_dup_map, - ext2fs_file_acl_block(fs, &dp->inode))) { - blk64_t blk = ext2fs_file_acl_block(fs, &dp->inode); - delete_file_block(fs, &blk, + ext2fs_test_block_bitmap(ctx->block_dup_map, + inode.i_file_acl)) + delete_file_block(fs, &inode.i_file_acl, BLOCK_COUNT_EXTATTR, 0, 0, &pb); - ext2fs_file_acl_block_set(fs, &dp->inode, blk); - quota_data_sub(ctx->qctx, &dp->inode, ino, fs->blocksize); - } } } struct clone_struct { errcode_t errcode; - blk64_t dup_cluster; - blk64_t alloc_block; ext2_ino_t dir; char *buf; e2fsck_t ctx; }; static int clone_file_block(ext2_filsys fs, - blk64_t *block_nr, + blk_t *block_nr, e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { - struct dup_cluster *p; - blk64_t new_block; + struct dup_block *p; + blk_t new_block; errcode_t retval; struct clone_struct *cs = (struct clone_struct *) priv_data; dnode_t *n; e2fsck_t ctx; - blk64_t c; - int is_meta = 0; ctx = cs->ctx; if (HOLE_BLKADDR(*block_nr)) return 0; - c = EXT2FS_B2C(fs, blockcnt); - if (check_if_fs_cluster(ctx, EXT2FS_B2C(fs, *block_nr))) - is_meta = 1; - - if (c == cs->dup_cluster && cs->alloc_block) { - new_block = cs->alloc_block; - goto got_block; - } - - if (ext2fs_test_block_bitmap2(ctx->block_dup_map, *block_nr)) { - n = dict_lookup(&clstr_dict, - INT_TO_VOIDPTR(EXT2FS_B2C(fs, *block_nr))); - if (!n) { - com_err("clone_file_block", 0, - _("internal error: can't find dup_blk for %llu\n"), - *block_nr); - return 0; - } - - p = (struct dup_cluster *) dnode_get(n); - if (!is_meta) - decrement_badcount(ctx, *block_nr, p); - - cs->dup_cluster = c; - - retval = ext2fs_new_block2(fs, 0, ctx->block_found_map, - &new_block); - if (retval) { - cs->errcode = retval; - return BLOCK_ABORT; - } - cs->alloc_block = new_block; - - got_block: - new_block &= ~EXT2FS_CLUSTER_MASK(fs); - new_block += EXT2FS_CLUSTER_MASK(fs) & blockcnt; - if (cs->dir && (blockcnt >= 0)) { - retval = ext2fs_set_dir_block2(fs->dblist, - cs->dir, new_block, blockcnt); + if (ext2fs_test_block_bitmap(ctx->block_dup_map, *block_nr)) { + n = dict_lookup(&blk_dict, INT_TO_VOIDPTR(*block_nr)); + if (n) { + p = (struct dup_block *) dnode_get(n); + retval = ext2fs_new_block(fs, 0, ctx->block_found_map, + &new_block); if (retval) { cs->errcode = retval; return BLOCK_ABORT; } - } + if (cs->dir && (blockcnt >= 0)) { + retval = ext2fs_set_dir_block(fs->dblist, + cs->dir, new_block, blockcnt); + if (retval) { + cs->errcode = retval; + return BLOCK_ABORT; + } + } #if 0 - printf("Cloning block #%lld from %llu to %llu\n", - blockcnt, *block_nr, new_block); + printf("Cloning block %u to %u\n", *block_nr, + new_block); #endif - retval = io_channel_read_blk64(fs->io, *block_nr, 1, cs->buf); - if (retval) { - cs->errcode = retval; - return BLOCK_ABORT; - } - retval = io_channel_write_blk64(fs->io, new_block, 1, cs->buf); - if (retval) { - cs->errcode = retval; - return BLOCK_ABORT; - } - *block_nr = new_block; - ext2fs_mark_block_bitmap2(ctx->block_found_map, new_block); - ext2fs_mark_block_bitmap2(fs->block_map, new_block); - return BLOCK_CHANGED; + retval = io_channel_read_blk(fs->io, *block_nr, 1, + cs->buf); + if (retval) { + cs->errcode = retval; + return BLOCK_ABORT; + } + retval = io_channel_write_blk(fs->io, new_block, 1, + cs->buf); + if (retval) { + cs->errcode = retval; + return BLOCK_ABORT; + } + decrement_badcount(ctx, *block_nr, p); + *block_nr = new_block; + ext2fs_mark_block_bitmap(ctx->block_found_map, + new_block); + ext2fs_mark_block_bitmap(fs->block_map, new_block); + return BLOCK_CHANGED; + } else + com_err("clone_file_block", 0, + _("internal error: can't find dup_blk for %u\n"), + *block_nr); } return 0; } -static errcode_t clone_file(e2fsck_t ctx, ext2_ino_t ino, - struct dup_inode *dp, char* block_buf) +static int clone_file(e2fsck_t ctx, ext2_ino_t ino, + struct dup_inode *dp, char* block_buf) { ext2_filsys fs = ctx->fs; errcode_t retval; struct clone_struct cs; struct problem_context pctx; - blk64_t blk, new_blk; + blk_t blk; dnode_t *n; struct inode_el *ino_el; - struct dup_cluster *dc; + struct dup_block *db; struct dup_inode *di; clear_problem_context(&pctx); cs.errcode = 0; cs.dir = 0; - cs.dup_cluster = ~0; - cs.alloc_block = 0; cs.ctx = ctx; retval = ext2fs_get_mem(fs->blocksize, &cs.buf); if (retval) return retval; - if (ext2fs_test_inode_bitmap2(ctx->inode_dir_map, ino)) + if (ext2fs_test_inode_bitmap(ctx->inode_dir_map, ino)) cs.dir = ino; pctx.ino = ino; pctx.str = "clone_file"; - if (ext2fs_inode_has_valid_blocks2(fs, &dp->inode)) - pctx.errcode = ext2fs_block_iterate3(fs, ino, 0, block_buf, + if (ext2fs_inode_has_valid_blocks(&dp->inode)) + pctx.errcode = ext2fs_block_iterate2(fs, ino, 0, block_buf, clone_file_block, &cs); ext2fs_mark_bb_dirty(fs); if (pctx.errcode) { @@ -816,36 +753,33 @@ static errcode_t clone_file(e2fsck_t ctx, ext2_ino_t ino, goto errout; } if (cs.errcode) { - com_err("clone_file", cs.errcode, "%s", + com_err("clone_file", cs.errcode, _("returned from clone_file_block")); retval = cs.errcode; goto errout; } /* The inode may have changed on disk, so we have to re-read it */ e2fsck_read_inode(ctx, ino, &dp->inode, "clone file EA"); - blk = ext2fs_file_acl_block(fs, &dp->inode); - new_blk = blk; - if (blk && (clone_file_block(fs, &new_blk, + blk = dp->inode.i_file_acl; + if (blk && (clone_file_block(fs, &dp->inode.i_file_acl, BLOCK_COUNT_EXTATTR, 0, 0, &cs) == BLOCK_CHANGED)) { - ext2fs_file_acl_block_set(fs, &dp->inode, new_blk); e2fsck_write_inode(ctx, ino, &dp->inode, "clone file EA"); /* * If we cloned the EA block, find all other inodes * which refered to that EA block, and modify * them to point to the new EA block. */ - n = dict_lookup(&clstr_dict, - INT_TO_VOIDPTR(EXT2FS_B2C(fs, blk))); + n = dict_lookup(&blk_dict, INT_TO_VOIDPTR(blk)); if (!n) { com_err("clone_file", 0, _("internal error: couldn't lookup EA " - "block record for %llu"), blk); + "block record for %u"), blk); retval = 0; /* OK to stumble on... */ goto errout; } - dc = (struct dup_cluster *) dnode_get(n); - for (ino_el = dc->inode_list; ino_el; ino_el = ino_el->next) { + db = (struct dup_block *) dnode_get(n); + for (ino_el = db->inode_list; ino_el; ino_el = ino_el->next) { if (ino_el->inode == ino) continue; n = dict_lookup(&ino_dict, INT_TO_VOIDPTR(ino_el->inode)); @@ -858,12 +792,11 @@ static errcode_t clone_file(e2fsck_t ctx, ext2_ino_t ino, goto errout; } di = (struct dup_inode *) dnode_get(n); - if (ext2fs_file_acl_block(fs, &di->inode) == blk) { - ext2fs_file_acl_block_set(fs, &di->inode, - ext2fs_file_acl_block(fs, &dp->inode)); + if (di->inode.i_file_acl == blk) { + di->inode.i_file_acl = dp->inode.i_file_acl; e2fsck_write_inode(ctx, ino_el->inode, &di->inode, "clone file EA"); - decrement_badcount(ctx, blk, dc); + decrement_badcount(ctx, blk, db); } } } @@ -877,10 +810,10 @@ errout: * This routine returns 1 if a block overlaps with one of the superblocks, * group descriptors, inode bitmaps, or block bitmaps. */ -static int check_if_fs_block(e2fsck_t ctx, blk64_t test_block) +static int check_if_fs_block(e2fsck_t ctx, blk_t test_block) { ext2_filsys fs = ctx->fs; - blk64_t first_block; + blk_t first_block; dgrp_t i; first_block = fs->super->s_first_data_block; @@ -894,57 +827,15 @@ static int check_if_fs_block(e2fsck_t ctx, blk64_t test_block) } /* Check the inode table */ - if ((ext2fs_inode_table_loc(fs, i)) && - (test_block >= ext2fs_inode_table_loc(fs, i)) && - (test_block < (ext2fs_inode_table_loc(fs, i) + + if ((fs->group_desc[i].bg_inode_table) && + (test_block >= fs->group_desc[i].bg_inode_table) && + (test_block < (fs->group_desc[i].bg_inode_table + fs->inode_blocks_per_group))) return 1; /* Check the bitmap blocks */ - if ((test_block == ext2fs_block_bitmap_loc(fs, i)) || - (test_block == ext2fs_inode_bitmap_loc(fs, i))) - return 1; - - first_block += fs->super->s_blocks_per_group; - } - return 0; -} - -/* - * This routine returns 1 if a cluster overlaps with one of the superblocks, - * group descriptors, inode bitmaps, or block bitmaps. - */ -static int check_if_fs_cluster(e2fsck_t ctx, blk64_t cluster) -{ - ext2_filsys fs = ctx->fs; - blk64_t first_block; - dgrp_t i; - - first_block = fs->super->s_first_data_block; - for (i = 0; i < fs->group_desc_count; i++) { - - /* Check superblocks/block group descriptors */ - if (ext2fs_bg_has_super(fs, i)) { - if (cluster >= EXT2FS_B2C(fs, first_block) && - (cluster <= EXT2FS_B2C(fs, first_block + - fs->desc_blocks))) - return 1; - } - - /* Check the inode table */ - if ((ext2fs_inode_table_loc(fs, i)) && - (cluster >= EXT2FS_B2C(fs, - ext2fs_inode_table_loc(fs, i))) && - (cluster <= EXT2FS_B2C(fs, - ext2fs_inode_table_loc(fs, i) + - fs->inode_blocks_per_group - 1))) - return 1; - - /* Check the bitmap blocks */ - if ((cluster == EXT2FS_B2C(fs, - ext2fs_block_bitmap_loc(fs, i))) || - (cluster == EXT2FS_B2C(fs, - ext2fs_inode_bitmap_loc(fs, i)))) + if ((test_block == fs->group_desc[i].bg_block_bitmap) || + (test_block == fs->group_desc[i].bg_inode_bitmap)) return 1; first_block += fs->super->s_blocks_per_group; diff --git a/e2fsck/pass2.c b/e2fsck/pass2.c index f0873885..2847901b 100644 --- a/e2fsck/pass2.c +++ b/e2fsck/pass2.c @@ -61,10 +61,10 @@ */ static void deallocate_inode(e2fsck_t ctx, ext2_ino_t ino, char* block_buf); static int check_dir_block(ext2_filsys fs, - struct ext2_db_entry2 *dir_blocks_info, + struct ext2_db_entry *dir_blocks_info, void *priv_data); static int allocate_dir_block(e2fsck_t ctx, - struct ext2_db_entry2 *dir_blocks_info, + struct ext2_db_entry *dir_blocks_info, char *buf, struct problem_context *pctx); static void clear_htree(e2fsck_t ctx, ext2_ino_t ino); static int htree_depth(struct dx_dir_info *dx_dir, @@ -90,7 +90,6 @@ void e2fsck_pass2(e2fsck_t ctx) struct check_dir_struct cd; struct dx_dir_info *dx_dir; struct dx_dirblock_info *dx_db, *dx_parent; - unsigned int save_type; int b; int i, depth; problem_t code; @@ -110,15 +109,11 @@ void e2fsck_pass2(e2fsck_t ctx) &ctx->inode_count); if (ctx->inode_count) cd.pctx.errcode = 0; - else { - e2fsck_set_bitmap_type(fs, EXT2FS_BMAP64_RBTREE, - "inode_count", &save_type); + else cd.pctx.errcode = ext2fs_create_icount2(fs, EXT2_ICOUNT_OPT_INCREMENT, 0, ctx->inode_link_info, &ctx->inode_count); - fs->default_bitmap_type = save_type; - } if (cd.pctx.errcode) { fix_problem(ctx, PR_2_ALLOCATE_ICOUNT, &cd.pctx); ctx->flags |= E2F_FLAG_ABORT; @@ -137,16 +132,16 @@ void e2fsck_pass2(e2fsck_t ctx) cd.buf = buf; cd.ctx = ctx; cd.count = 1; - cd.max = ext2fs_dblist_count2(fs->dblist); + cd.max = ext2fs_dblist_count(fs->dblist); if (ctx->progress) (void) (ctx->progress)(ctx, 2, 0, cd.max); if (fs->super->s_feature_compat & EXT2_FEATURE_COMPAT_DIR_INDEX) - ext2fs_dblist_sort2(fs->dblist, special_dir_block_cmp); + ext2fs_dblist_sort(fs->dblist, special_dir_block_cmp); - cd.pctx.errcode = ext2fs_dblist_iterate2(fs->dblist, check_dir_block, - &cd); + cd.pctx.errcode = ext2fs_dblist_iterate(fs->dblist, check_dir_block, + &cd); if (ctx->flags & E2F_FLAG_SIGNAL_MASK || ctx->flags & E2F_FLAG_RESTART) return; @@ -319,10 +314,10 @@ static int dict_de_cmp(const void *a, const void *b) */ static EXT2_QSORT_TYPE special_dir_block_cmp(const void *a, const void *b) { - const struct ext2_db_entry2 *db_a = - (const struct ext2_db_entry2 *) a; - const struct ext2_db_entry2 *db_b = - (const struct ext2_db_entry2 *) b; + const struct ext2_db_entry *db_a = + (const struct ext2_db_entry *) a; + const struct ext2_db_entry *db_b = + (const struct ext2_db_entry *) b; if (db_a->blockcnt && !db_b->blockcnt) return 1; @@ -350,9 +345,9 @@ static int check_dot(e2fsck_t ctx, { struct ext2_dir_entry *nextdir; unsigned int rec_len, new_len; - int status = 0; - int created = 0; - problem_t problem = 0; + int status = 0; + int created = 0; + int problem = 0; if (!dirent->inode) problem = PR_2_MISSING_DOT; @@ -409,8 +404,7 @@ static int check_dotdot(e2fsck_t ctx, struct ext2_dir_entry *dirent, ext2_ino_t ino, struct problem_context *pctx) { - problem_t problem = 0; - unsigned int rec_len; + int rec_len, problem = 0; if (!dirent->inode) problem = PR_2_MISSING_DOT_DOT; @@ -495,13 +489,13 @@ static _INLINE_ int check_filetype(e2fsck_t ctx, return 1; } - if (ext2fs_test_inode_bitmap2(ctx->inode_dir_map, dirent->inode)) { + if (ext2fs_test_inode_bitmap(ctx->inode_dir_map, dirent->inode)) { should_be = EXT2_FT_DIR; - } else if (ext2fs_test_inode_bitmap2(ctx->inode_reg_map, + } else if (ext2fs_test_inode_bitmap(ctx->inode_reg_map, dirent->inode)) { should_be = EXT2_FT_REG_FILE; } else if (ctx->inode_bad_map && - ext2fs_test_inode_bitmap2(ctx->inode_bad_map, + ext2fs_test_inode_bitmap(ctx->inode_bad_map, dirent->inode)) should_be = 0; else { @@ -523,7 +517,7 @@ static _INLINE_ int check_filetype(e2fsck_t ctx, #ifdef ENABLE_HTREE static void parse_int_node(ext2_filsys fs, - struct ext2_db_entry2 *db, + struct ext2_db_entry *db, struct check_dir_struct *cd, struct dx_dir_info *dx_dir, char *block_buf) @@ -667,7 +661,7 @@ static void salvage_directory(ext2_filsys fs, */ if ((left < 0) && ((int) rec_len + left > 8) && - ((int) name_len + 8 <= (int) rec_len + left) && + (name_len + 8 <= (int) rec_len + left) && dirent->inode <= fs->super->s_inodes_count && strnlen(dirent->name, name_len) == name_len) { (void) ext2fs_set_rec_len(fs, (int) rec_len + left, dirent); @@ -706,7 +700,7 @@ static void salvage_directory(ext2_filsys fs, } static int check_dir_block(ext2_filsys fs, - struct ext2_db_entry2 *db, + struct ext2_db_entry *db, void *priv_data) { struct dx_dir_info *dx_dir; @@ -716,17 +710,18 @@ static int check_dir_block(ext2_filsys fs, struct ext2_dir_entry *dirent, *prev; ext2_dirhash_t hash; unsigned int offset = 0; + const char * old_op; int dir_modified = 0; int dot_state; unsigned int rec_len; - blk64_t block_nr = db->blk; + blk_t block_nr = db->blk; ext2_ino_t ino = db->ino; ext2_ino_t subdir_parent; __u16 links; struct check_dir_struct *cd; char *buf; e2fsck_t ctx; - problem_t problem; + int problem; struct ext2_dx_root_info *root; struct ext2_dx_countlimit *limit; static dict_t de_dict; @@ -748,7 +743,7 @@ static int check_dir_block(ext2_filsys fs, * Make sure the inode is still in use (could have been * deleted in the duplicate/bad blocks pass. */ - if (!(ext2fs_test_inode_bitmap2(ctx->inode_used_map, ino))) + if (!(ext2fs_test_inode_bitmap(ctx->inode_used_map, ino))) return 0; cd->pctx.ino = ino; @@ -778,8 +773,8 @@ static int check_dir_block(ext2_filsys fs, db->blockcnt, ino); #endif - ehandler_operation(_("reading directory block")); - cd->pctx.errcode = ext2fs_read_dir_block3(fs, block_nr, buf, 0); + old_op = ehandler_operation(_("reading directory block")); + cd->pctx.errcode = ext2fs_read_dir_block(fs, block_nr, buf); ehandler_operation(0); if (cd->pctx.errcode == EXT2_ET_DIR_CORRUPTED) cd->pctx.errcode = 0; /* We'll handle this ourselves */ @@ -843,7 +838,7 @@ out_htree: dict_init(&de_dict, DICTCOUNT_T_MAX, dict_de_cmp); prev = 0; do { - dgrp_t group; + int group; ext2_ino_t first_unused_inode; problem = 0; @@ -862,6 +857,12 @@ out_htree: } else goto abort_free_dict; } + if ((dirent->name_len & 0xFF) > EXT2_NAME_LEN) { + if (fix_problem(ctx, PR_2_FILENAME_LONG, &cd->pctx)) { + dirent->name_len = EXT2_NAME_LEN; + dir_modified++; + } + } if (dot_state == 0) { if (check_dot(ctx, dirent, ino, &cd->pctx)) @@ -891,7 +892,7 @@ out_htree: (dirent->inode > fs->super->s_inodes_count)) { problem = PR_2_BAD_INO; } else if (ctx->inode_bb_map && - (ext2fs_test_inode_bitmap2(ctx->inode_bb_map, + (ext2fs_test_inode_bitmap(ctx->inode_bb_map, dirent->inode))) { /* * If the inode is in a bad block, offer to @@ -953,7 +954,7 @@ out_htree: * pathname to the user.) */ if (ctx->inode_bad_map && - ext2fs_test_inode_bitmap2(ctx->inode_bad_map, + ext2fs_test_inode_bitmap(ctx->inode_bad_map, dirent->inode)) { if (e2fsck_process_bad_inode(ctx, ino, dirent->inode, @@ -969,7 +970,7 @@ out_htree: group = ext2fs_group_of_ino(fs, dirent->inode); first_unused_inode = group * fs->super->s_inodes_per_group + 1 + fs->super->s_inodes_per_group - - ext2fs_bg_itable_unused(fs, group); + fs->group_desc[group].bg_itable_unused; cd->pctx.group = group; /* @@ -980,12 +981,12 @@ out_htree: * we could call a function in pass1.c that checks the * newly visible inodes. */ - if (ext2fs_bg_flags_test(fs, group, EXT2_BG_INODE_UNINIT)) { + if (fs->group_desc[group].bg_flags & EXT2_BG_INODE_UNINIT) { pctx.num = dirent->inode; if (fix_problem(ctx, PR_2_INOREF_BG_INO_UNINIT, &cd->pctx)){ - ext2fs_bg_flags_clear(fs, group, - EXT2_BG_INODE_UNINIT); + fs->group_desc[group].bg_flags &= + ~EXT2_BG_INODE_UNINIT; ext2fs_mark_super_dirty(fs); ctx->flags |= E2F_FLAG_RESTART_LATER; } else { @@ -996,7 +997,7 @@ out_htree: } else if (dirent->inode >= first_unused_inode) { pctx.num = dirent->inode; if (fix_problem(ctx, PR_2_INOREF_IN_UNUSED, &cd->pctx)){ - ext2fs_bg_itable_unused_set(fs, group, 0); + fs->group_desc[group].bg_itable_unused = 0; ext2fs_mark_super_dirty(fs); ctx->flags |= E2F_FLAG_RESTART_LATER; } else { @@ -1015,8 +1016,8 @@ out_htree: * problems after we restart. */ if (!(ctx->flags & E2F_FLAG_RESTART_LATER) && - !(ext2fs_test_inode_bitmap2(ctx->inode_used_map, - dirent->inode))) + !(ext2fs_test_inode_bitmap(ctx->inode_used_map, + dirent->inode))) problem = PR_2_UNUSED_INODE; if (problem) { @@ -1057,7 +1058,7 @@ out_htree: * and ask the user if he/she wants to clear this one. */ if ((dot_state > 1) && - (ext2fs_test_inode_bitmap2(ctx->inode_dir_map, + (ext2fs_test_inode_bitmap(ctx->inode_dir_map, dirent->inode))) { if (e2fsck_dir_info_get_parent(ctx, dirent->inode, &subdir_parent)) { @@ -1131,7 +1132,7 @@ out_htree: } } if (dir_modified) { - cd->pctx.errcode = ext2fs_write_dir_block3(fs, block_nr, buf, 0); + cd->pctx.errcode = ext2fs_write_dir_block(fs, block_nr, buf); if (cd->pctx.errcode) { if (!fix_problem(ctx, PR_2_WRITE_DIRBLOCK, &cd->pctx)) @@ -1147,32 +1148,26 @@ abort_free_dict: return DIRENT_ABORT; } -struct del_block { - e2fsck_t ctx; - e2_blkcnt_t num; -}; - /* * This function is called to deallocate a block, and is an interator * functioned called by deallocate inode via ext2fs_iterate_block(). */ static int deallocate_inode_block(ext2_filsys fs, - blk64_t *block_nr, + blk_t *block_nr, e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { - struct del_block *p = priv_data; + e2fsck_t ctx = (e2fsck_t) priv_data; if (HOLE_BLKADDR(*block_nr)) return 0; if ((*block_nr < fs->super->s_first_data_block) || - (*block_nr >= ext2fs_blocks_count(fs->super))) + (*block_nr >= fs->super->s_blocks_count)) return 0; - ext2fs_unmark_block_bitmap2(p->ctx->block_found_map, *block_nr); - ext2fs_block_alloc_stats2(fs, *block_nr, -1); - p->num++; + ext2fs_unmark_block_bitmap(ctx->block_found_map, *block_nr); + ext2fs_block_alloc_stats(fs, *block_nr, -1); return 0; } @@ -1185,9 +1180,9 @@ static void deallocate_inode(e2fsck_t ctx, ext2_ino_t ino, char* block_buf) struct ext2_inode inode; struct problem_context pctx; __u32 count; - struct del_block del_block; e2fsck_read_inode(ctx, ino, &inode, "deallocate_inode"); + e2fsck_clear_inode(ctx, ino, &inode, 0, "deallocate_inode"); clear_problem_context(&pctx); pctx.ino = ino; @@ -1197,51 +1192,42 @@ static void deallocate_inode(e2fsck_t ctx, ext2_ino_t ino, char* block_buf) e2fsck_read_bitmaps(ctx); ext2fs_inode_alloc_stats2(fs, ino, -1, LINUX_S_ISDIR(inode.i_mode)); - if (ext2fs_file_acl_block(fs, &inode) && + if (inode.i_file_acl && (fs->super->s_feature_compat & EXT2_FEATURE_COMPAT_EXT_ATTR)) { - pctx.errcode = ext2fs_adjust_ea_refcount2(fs, - ext2fs_file_acl_block(fs, &inode), - block_buf, -1, &count); + pctx.errcode = ext2fs_adjust_ea_refcount(fs, inode.i_file_acl, + block_buf, -1, &count); if (pctx.errcode == EXT2_ET_BAD_EA_BLOCK_NUM) { pctx.errcode = 0; count = 1; } if (pctx.errcode) { - pctx.blk = ext2fs_file_acl_block(fs, &inode); + pctx.blk = inode.i_file_acl; fix_problem(ctx, PR_2_ADJ_EA_REFCOUNT, &pctx); ctx->flags |= E2F_FLAG_ABORT; return; } if (count == 0) { - ext2fs_unmark_block_bitmap2(ctx->block_found_map, - ext2fs_file_acl_block(fs, &inode)); - ext2fs_block_alloc_stats2(fs, - ext2fs_file_acl_block(fs, &inode), -1); + ext2fs_unmark_block_bitmap(ctx->block_found_map, + inode.i_file_acl); + ext2fs_block_alloc_stats(fs, inode.i_file_acl, -1); } - ext2fs_file_acl_block_set(fs, &inode, 0); + inode.i_file_acl = 0; } - if (!ext2fs_inode_has_valid_blocks2(fs, &inode)) - goto clear_inode; + if (!ext2fs_inode_has_valid_blocks(&inode)) + return; if (LINUX_S_ISREG(inode.i_mode) && - ext2fs_needs_large_file_feature(EXT2_I_SIZE(&inode))) + (inode.i_size_high || inode.i_size & 0x80000000UL)) ctx->large_files--; - del_block.ctx = ctx; - del_block.num = 0; - pctx.errcode = ext2fs_block_iterate3(fs, ino, 0, block_buf, - deallocate_inode_block, - &del_block); + pctx.errcode = ext2fs_block_iterate2(fs, ino, 0, block_buf, + deallocate_inode_block, ctx); if (pctx.errcode) { fix_problem(ctx, PR_2_DEALLOC_INODE, &pctx); ctx->flags |= E2F_FLAG_ABORT; return; } -clear_inode: - /* Inode may have changed by block_iterate, so reread it */ - e2fsck_read_inode(ctx, ino, &inode, "deallocate_inode"); - e2fsck_clear_inode(ctx, ino, &inode, 0, "deallocate_inode"); } /* @@ -1259,8 +1245,8 @@ static void clear_htree(e2fsck_t ctx, ext2_ino_t ino) } -int e2fsck_process_bad_inode(e2fsck_t ctx, ext2_ino_t dir, - ext2_ino_t ino, char *buf) +extern int e2fsck_process_bad_inode(e2fsck_t ctx, ext2_ino_t dir, + ext2_ino_t ino, char *buf) { ext2_filsys fs = ctx->fs; struct ext2_inode inode; @@ -1268,7 +1254,7 @@ int e2fsck_process_bad_inode(e2fsck_t ctx, ext2_ino_t dir, int not_fixed = 0; unsigned char *frag, *fsize; struct problem_context pctx; - problem_t problem = 0; + int problem = 0; e2fsck_read_inode(ctx, ino, &inode, "process_bad_inode"); @@ -1277,10 +1263,10 @@ int e2fsck_process_bad_inode(e2fsck_t ctx, ext2_ino_t dir, pctx.dir = dir; pctx.inode = &inode; - if (ext2fs_file_acl_block(fs, &inode) && + if (inode.i_file_acl && !(fs->super->s_feature_compat & EXT2_FEATURE_COMPAT_EXT_ATTR)) { if (fix_problem(ctx, PR_2_FILE_ACL_ZERO, &pctx)) { - ext2fs_file_acl_block_set(fs, &inode, 0); + inode.i_file_acl = 0; inode_modified++; } else not_fixed++; @@ -1376,11 +1362,11 @@ int e2fsck_process_bad_inode(e2fsck_t ctx, ext2_ino_t dir, not_fixed++; } - if (ext2fs_file_acl_block(fs, &inode) && - ((ext2fs_file_acl_block(fs, &inode) < fs->super->s_first_data_block) || - (ext2fs_file_acl_block(fs, &inode) >= ext2fs_blocks_count(fs->super)))) { + if (inode.i_file_acl && + ((inode.i_file_acl < fs->super->s_first_data_block) || + (inode.i_file_acl >= fs->super->s_blocks_count))) { if (fix_problem(ctx, PR_2_FILE_ACL_BAD, &pctx)) { - ext2fs_file_acl_block_set(fs, &inode, 0); + inode.i_file_acl = 0; inode_modified++; } else not_fixed++; @@ -1397,7 +1383,7 @@ int e2fsck_process_bad_inode(e2fsck_t ctx, ext2_ino_t dir, if (inode_modified) e2fsck_write_inode(ctx, ino, &inode, "process_bad_inode"); if (!not_fixed && ctx->inode_bad_map) - ext2fs_unmark_inode_bitmap2(ctx->inode_bad_map, ino); + ext2fs_unmark_inode_bitmap(ctx->inode_bad_map, ino); return 0; } @@ -1409,12 +1395,12 @@ int e2fsck_process_bad_inode(e2fsck_t ctx, ext2_ino_t dir, * that was zeroed out and now needs to be replaced. */ static int allocate_dir_block(e2fsck_t ctx, - struct ext2_db_entry2 *db, + struct ext2_db_entry *db, char *buf EXT2FS_ATTR((unused)), struct problem_context *pctx) { ext2_filsys fs = ctx->fs; - blk64_t blk; + blk_t blk; char *block; struct ext2_inode inode; @@ -1430,14 +1416,14 @@ static int allocate_dir_block(e2fsck_t ctx, /* * First, find a free block */ - pctx->errcode = ext2fs_new_block2(fs, 0, ctx->block_found_map, &blk); + pctx->errcode = ext2fs_new_block(fs, 0, ctx->block_found_map, &blk); if (pctx->errcode) { pctx->str = "ext2fs_new_block"; fix_problem(ctx, PR_2_ALLOC_DIRBOCK, pctx); return 1; } - ext2fs_mark_block_bitmap2(ctx->block_found_map, blk); - ext2fs_mark_block_bitmap2(fs->block_map, blk); + ext2fs_mark_block_bitmap(ctx->block_found_map, blk); + ext2fs_mark_block_bitmap(fs->block_map, blk); ext2fs_mark_bb_dirty(fs); /* @@ -1455,7 +1441,7 @@ static int allocate_dir_block(e2fsck_t ctx, return 1; } - pctx->errcode = ext2fs_write_dir_block3(fs, blk, block, 0); + pctx->errcode = ext2fs_write_dir_block(fs, blk, block); ext2fs_free_mem(&block); if (pctx->errcode) { pctx->str = "ext2fs_write_dir_block"; @@ -1476,8 +1462,8 @@ static int allocate_dir_block(e2fsck_t ctx, * Finally, update the block pointers for the inode */ db->blk = blk; - pctx->errcode = ext2fs_bmap2(fs, db->ino, &inode, 0, BMAP_SET, - db->blockcnt, 0, &blk); + pctx->errcode = ext2fs_bmap(fs, db->ino, &inode, 0, BMAP_SET, + db->blockcnt, &blk); if (pctx->errcode) { pctx->str = "ext2fs_block_iterate"; fix_problem(ctx, PR_2_ALLOC_DIRBOCK, pctx); diff --git a/e2fsck/pass3.c b/e2fsck/pass3.c index 8f1898a0..476fbc83 100644 --- a/e2fsck/pass3.c +++ b/e2fsck/pass3.c @@ -52,7 +52,7 @@ static ext2fs_inode_bitmap inode_done_map = 0; void e2fsck_pass3(e2fsck_t ctx) { ext2_filsys fs = ctx->fs; - struct dir_info_iter *iter = NULL; + struct dir_info_iter *iter; #ifdef RESOURCE_TRACK struct resource_track rtrack; #endif @@ -73,9 +73,8 @@ void e2fsck_pass3(e2fsck_t ctx) /* * Allocate some bitmaps to do loop detection. */ - pctx.errcode = e2fsck_allocate_inode_bitmap(fs, _("inode done bitmap"), - EXT2FS_BMAP64_AUTODIR, - "inode_done_map", &inode_done_map); + pctx.errcode = ext2fs_allocate_inode_bitmap(fs, _("inode done bitmap"), + &inode_done_map); if (pctx.errcode) { pctx.num = 2; fix_problem(ctx, PR_3_ALLOCATE_IBITMAP_ERROR, &pctx); @@ -88,7 +87,7 @@ void e2fsck_pass3(e2fsck_t ctx) if (ctx->flags & E2F_FLAG_SIGNAL_MASK) goto abort_exit; - ext2fs_mark_inode_bitmap2(inode_done_map, EXT2_ROOT_INO); + ext2fs_mark_inode_bitmap(inode_done_map, EXT2_ROOT_INO); maxdirs = e2fsck_get_num_dirinfo(ctx); count = 1; @@ -103,10 +102,11 @@ void e2fsck_pass3(e2fsck_t ctx) goto abort_exit; if (ctx->progress && (ctx->progress)(ctx, 3, count++, maxdirs)) goto abort_exit; - if (ext2fs_test_inode_bitmap2(ctx->inode_dir_map, dir->ino)) + if (ext2fs_test_inode_bitmap(ctx->inode_dir_map, dir->ino)) if (check_directory(ctx, dir->ino, &pctx)) goto abort_exit; } + e2fsck_dir_info_iter_end(ctx, iter); /* * Force the creation of /lost+found if not present @@ -121,8 +121,6 @@ void e2fsck_pass3(e2fsck_t ctx) e2fsck_rehash_directories(ctx); abort_exit: - if (iter) - e2fsck_dir_info_iter_end(ctx, iter); e2fsck_free_dir_info(ctx); if (inode_loop_detect) { ext2fs_free_inode_bitmap(inode_loop_detect); @@ -143,20 +141,20 @@ abort_exit: static void check_root(e2fsck_t ctx) { ext2_filsys fs = ctx->fs; - blk64_t blk; + blk_t blk; struct ext2_inode inode; char * block; struct problem_context pctx; clear_problem_context(&pctx); - if (ext2fs_test_inode_bitmap2(ctx->inode_used_map, EXT2_ROOT_INO)) { + if (ext2fs_test_inode_bitmap(ctx->inode_used_map, EXT2_ROOT_INO)) { /* * If the root inode is not a directory, die here. The * user must have answered 'no' in pass1 when we * offered to clear it. */ - if (!(ext2fs_test_inode_bitmap2(ctx->inode_dir_map, + if (!(ext2fs_test_inode_bitmap(ctx->inode_dir_map, EXT2_ROOT_INO))) { fix_problem(ctx, PR_3_ROOT_NOT_DIR_ABORT, &pctx); ctx->flags |= E2F_FLAG_ABORT; @@ -175,15 +173,15 @@ static void check_root(e2fsck_t ctx) /* * First, find a free block */ - pctx.errcode = ext2fs_new_block2(fs, 0, ctx->block_found_map, &blk); + pctx.errcode = ext2fs_new_block(fs, 0, ctx->block_found_map, &blk); if (pctx.errcode) { pctx.str = "ext2fs_new_block"; fix_problem(ctx, PR_3_CREATE_ROOT_ERROR, &pctx); ctx->flags |= E2F_FLAG_ABORT; return; } - ext2fs_mark_block_bitmap2(ctx->block_found_map, blk); - ext2fs_mark_block_bitmap2(fs->block_map, blk); + ext2fs_mark_block_bitmap(ctx->block_found_map, blk); + ext2fs_mark_block_bitmap(fs->block_map, blk); ext2fs_mark_bb_dirty(fs); /* @@ -198,9 +196,9 @@ static void check_root(e2fsck_t ctx) return; } - pctx.errcode = ext2fs_write_dir_block3(fs, blk, block, 0); + pctx.errcode = ext2fs_write_dir_block(fs, blk, block); if (pctx.errcode) { - pctx.str = "ext2fs_write_dir_block3"; + pctx.str = "ext2fs_write_dir_block"; fix_problem(ctx, PR_3_CREATE_ROOT_ERROR, &pctx); ctx->flags |= E2F_FLAG_ABORT; return; @@ -236,9 +234,9 @@ static void check_root(e2fsck_t ctx) ext2fs_icount_store(ctx->inode_count, EXT2_ROOT_INO, 2); ext2fs_icount_store(ctx->inode_link_info, EXT2_ROOT_INO, 2); - ext2fs_mark_inode_bitmap2(ctx->inode_used_map, EXT2_ROOT_INO); - ext2fs_mark_inode_bitmap2(ctx->inode_dir_map, EXT2_ROOT_INO); - ext2fs_mark_inode_bitmap2(fs->inode_map, EXT2_ROOT_INO); + ext2fs_mark_inode_bitmap(ctx->inode_used_map, EXT2_ROOT_INO); + ext2fs_mark_inode_bitmap(ctx->inode_dir_map, EXT2_ROOT_INO); + ext2fs_mark_inode_bitmap(fs->inode_map, EXT2_ROOT_INO); ext2fs_mark_ib_dirty(fs); } @@ -276,7 +274,7 @@ static int check_directory(e2fsck_t ctx, ext2_ino_t dir, * If it was marked done already, then we've reached a * parent we've already checked. */ - if (ext2fs_mark_inode_bitmap2(inode_done_map, ino)) + if (ext2fs_mark_inode_bitmap(inode_done_map, ino)) break; if (e2fsck_dir_info_get_parent(ctx, ino, &parent)) { @@ -291,7 +289,7 @@ static int check_directory(e2fsck_t ctx, ext2_ino_t dir, */ if (!parent || (loop_pass && - (ext2fs_test_inode_bitmap2(inode_loop_detect, + (ext2fs_test_inode_bitmap(inode_loop_detect, parent)))) { pctx->ino = ino; if (fix_problem(ctx, PR_3_UNCONNECTED_DIR, pctx)) { @@ -307,7 +305,7 @@ static int check_directory(e2fsck_t ctx, ext2_ino_t dir, } ino = parent; if (loop_pass) { - ext2fs_mark_inode_bitmap2(inode_loop_detect, ino); + ext2fs_mark_inode_bitmap(inode_loop_detect, ino); } else if (parent_count++ > 2048) { /* * If we've run into a path depth that's @@ -319,7 +317,7 @@ static int check_directory(e2fsck_t ctx, ext2_ino_t dir, if (inode_loop_detect) ext2fs_clear_inode_bitmap(inode_loop_detect); else { - pctx->errcode = e2fsck_allocate_inode_bitmap(fs, _("inode loop detection bitmap"), EXT2FS_BMAP64_AUTODIR, "inode_loop_detect", &inode_loop_detect); + pctx->errcode = ext2fs_allocate_inode_bitmap(fs, _("inode loop detection bitmap"), &inode_loop_detect); if (pctx->errcode) { pctx->num = 1; fix_problem(ctx, @@ -357,7 +355,7 @@ ext2_ino_t e2fsck_get_lost_and_found(e2fsck_t ctx, int fix) { ext2_filsys fs = ctx->fs; ext2_ino_t ino; - blk64_t blk; + blk_t blk; errcode_t retval; struct ext2_inode inode; char * block; @@ -374,7 +372,7 @@ ext2_ino_t e2fsck_get_lost_and_found(e2fsck_t ctx, int fix) if (retval && !fix) return 0; if (!retval) { - if (ext2fs_test_inode_bitmap2(ctx->inode_dir_map, ino)) { + if (ext2fs_test_inode_bitmap(ctx->inode_dir_map, ino)) { ctx->lost_and_found = ino; return ino; } @@ -411,14 +409,14 @@ ext2_ino_t e2fsck_get_lost_and_found(e2fsck_t ctx, int fix) /* * First, find a free block */ - retval = ext2fs_new_block2(fs, 0, ctx->block_found_map, &blk); + retval = ext2fs_new_block(fs, 0, ctx->block_found_map, &blk); if (retval) { pctx.errcode = retval; fix_problem(ctx, PR_3_ERR_LPF_NEW_BLOCK, &pctx); return 0; } - ext2fs_mark_block_bitmap2(ctx->block_found_map, blk); - ext2fs_block_alloc_stats2(fs, blk, +1); + ext2fs_mark_block_bitmap(ctx->block_found_map, blk); + ext2fs_block_alloc_stats(fs, blk, +1); /* * Next find a free inode. @@ -430,8 +428,8 @@ ext2_ino_t e2fsck_get_lost_and_found(e2fsck_t ctx, int fix) fix_problem(ctx, PR_3_ERR_LPF_NEW_INODE, &pctx); return 0; } - ext2fs_mark_inode_bitmap2(ctx->inode_used_map, ino); - ext2fs_mark_inode_bitmap2(ctx->inode_dir_map, ino); + ext2fs_mark_inode_bitmap(ctx->inode_used_map, ino); + ext2fs_mark_inode_bitmap(ctx->inode_dir_map, ino); ext2fs_inode_alloc_stats2(fs, ino, +1, 1); /* @@ -444,7 +442,7 @@ ext2_ino_t e2fsck_get_lost_and_found(e2fsck_t ctx, int fix) return 0; } - retval = ext2fs_write_dir_block3(fs, blk, block, 0); + retval = ext2fs_write_dir_block(fs, blk, block); ext2fs_free_mem(&block); if (retval) { pctx.errcode = retval; @@ -490,8 +488,6 @@ ext2_ino_t e2fsck_get_lost_and_found(e2fsck_t ctx, int fix) ext2fs_icount_store(ctx->inode_count, ino, 2); ext2fs_icount_store(ctx->inode_link_info, ino, 2); ctx->lost_and_found = ino; - quota_data_add(ctx->qctx, &inode, ino, fs->blocksize); - quota_data_inodes(ctx->qctx, &inode, ino, +1); #if 0 printf("/lost+found created; inode #%lu\n", ino); #endif @@ -679,24 +675,24 @@ static void fix_dotdot(e2fsck_t ctx, ext2_ino_t ino, ext2_ino_t parent) */ struct expand_dir_struct { - blk64_t num; - e2_blkcnt_t guaranteed_size; - blk64_t newblocks; - blk64_t last_block; + int num; + int guaranteed_size; + int newblocks; + int last_block; errcode_t err; e2fsck_t ctx; }; static int expand_dir_proc(ext2_filsys fs, - blk64_t *blocknr, + blk_t *blocknr, e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { struct expand_dir_struct *es = (struct expand_dir_struct *) priv_data; - blk64_t new_blk; - static blk64_t last_blk = 0; + blk_t new_blk; + static blk_t last_blk = 0; char *block; errcode_t retval; e2fsck_t ctx; @@ -712,23 +708,12 @@ static int expand_dir_proc(ext2_filsys fs, last_blk = *blocknr; return 0; } - - if (blockcnt && - (EXT2FS_B2C(fs, last_blk) == EXT2FS_B2C(fs, last_blk + 1))) - new_blk = last_blk + 1; - else { - last_blk &= ~EXT2FS_CLUSTER_MASK(fs); - retval = ext2fs_new_block2(fs, last_blk, ctx->block_found_map, - &new_blk); - if (retval) { - es->err = retval; - return BLOCK_ABORT; - } - es->newblocks++; - ext2fs_block_alloc_stats2(fs, new_blk, +1); + retval = ext2fs_new_block(fs, last_blk, ctx->block_found_map, + &new_blk); + if (retval) { + es->err = retval; + return BLOCK_ABORT; } - last_blk = new_blk; - if (blockcnt > 0) { retval = ext2fs_new_dir_block(fs, 0, 0, &block); if (retval) { @@ -736,7 +721,7 @@ static int expand_dir_proc(ext2_filsys fs, return BLOCK_ABORT; } es->num--; - retval = ext2fs_write_dir_block3(fs, new_blk, block, 0); + retval = ext2fs_write_dir_block(fs, new_blk, block); } else { retval = ext2fs_get_mem(fs->blocksize, &block); if (retval) { @@ -744,7 +729,7 @@ static int expand_dir_proc(ext2_filsys fs, return BLOCK_ABORT; } memset(block, 0, fs->blocksize); - retval = io_channel_write_blk64(fs->io, new_blk, 1, block); + retval = io_channel_write_blk(fs->io, new_blk, 1, block); } if (retval) { es->err = retval; @@ -752,7 +737,9 @@ static int expand_dir_proc(ext2_filsys fs, } ext2fs_free_mem(&block); *blocknr = new_blk; - ext2fs_mark_block_bitmap2(ctx->block_found_map, new_blk); + ext2fs_mark_block_bitmap(ctx->block_found_map, new_blk); + ext2fs_block_alloc_stats(fs, new_blk, +1); + es->newblocks++; if (es->num == 0) return (BLOCK_CHANGED | BLOCK_ABORT); @@ -760,27 +747,6 @@ static int expand_dir_proc(ext2_filsys fs, return BLOCK_CHANGED; } -/* - * Ensure that all blocks are marked in the block_found_map, since it's - * possible that the library allocated an extent node block or a block map - * block during the directory rebuilding; these new allocations are not - * captured in block_found_map. This is bad since we could later use - * block_found_map to allocate more blocks. - */ -static int find_new_blocks_proc(ext2_filsys fs, - blk64_t *blocknr, - e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), - int ref_offset EXT2FS_ATTR((unused)), - void *priv_data) -{ - struct expand_dir_struct *es = (struct expand_dir_struct *) priv_data; - e2fsck_t ctx = es->ctx; - - ext2fs_mark_block_bitmap2(ctx->block_found_map, *blocknr); - return 0; -} - errcode_t e2fsck_expand_directory(e2fsck_t ctx, ext2_ino_t dir, int num, int guaranteed_size) { @@ -788,7 +754,6 @@ errcode_t e2fsck_expand_directory(e2fsck_t ctx, ext2_ino_t dir, errcode_t retval; struct expand_dir_struct es; struct ext2_inode inode; - blk64_t sz, before, after; if (!(fs->flags & EXT2_FLAG_RW)) return EXT2_ET_RO_FILSYS; @@ -810,27 +775,11 @@ errcode_t e2fsck_expand_directory(e2fsck_t ctx, ext2_ino_t dir, es.newblocks = 0; es.ctx = ctx; - before = ext2fs_free_blocks_count(fs->super); - retval = ext2fs_block_iterate3(fs, dir, BLOCK_FLAG_APPEND, + retval = ext2fs_block_iterate2(fs, dir, BLOCK_FLAG_APPEND, 0, expand_dir_proc, &es); if (es.err) return es.err; - after = ext2fs_free_blocks_count(fs->super); - - /* - * If the free block count has dropped by more than the blocks we - * allocated ourselves, then we must've allocated some extent/map - * blocks. Therefore, we must iterate this dir's blocks again to - * ensure that all newly allocated blocks are captured in - * block_found_map. - */ - if ((before - after) > es.newblocks) { - retval = ext2fs_block_iterate3(fs, dir, BLOCK_FLAG_READ_ONLY, - 0, find_new_blocks_proc, &es); - if (es.err) - return es.err; - } /* * Update the size and block count fields in the inode. @@ -839,11 +788,8 @@ errcode_t e2fsck_expand_directory(e2fsck_t ctx, ext2_ino_t dir, if (retval) return retval; - sz = (es.last_block + 1) * fs->blocksize; - inode.i_size = sz; - inode.i_size_high = sz >> 32; + inode.i_size = (es.last_block + 1) * fs->blocksize; ext2fs_iblk_add_blocks(fs, &inode, es.newblocks); - quota_data_add(ctx->qctx, &inode, dir, es.newblocks * fs->blocksize); e2fsck_write_inode(ctx, dir, &inode, "expand_directory"); diff --git a/e2fsck/pass4.c b/e2fsck/pass4.c index d47b662f..515cb84d 100644 --- a/e2fsck/pass4.c +++ b/e2fsck/pass4.c @@ -63,7 +63,6 @@ static int disconnect_inode(e2fsck_t ctx, ext2_ino_t i, e2fsck_read_bitmaps(ctx); ext2fs_inode_alloc_stats2(fs, i, -1, LINUX_S_ISDIR(inode->i_mode)); - quota_data_inodes(ctx->qctx, inode, i, -1); return 0; } } @@ -98,7 +97,7 @@ void e2fsck_pass4(e2fsck_t ctx) struct problem_context pctx; __u16 link_count, link_counted; char *buf = 0; - dgrp_t group, maxgroup; + int group, maxgroup; init_resource_track(&rtrack, ctx->fs->io); @@ -122,7 +121,7 @@ void e2fsck_pass4(e2fsck_t ctx) /* Protect loop from wrap-around if s_inodes_count maxed */ for (i=1; i <= fs->super->s_inodes_count && i > 0; i++) { - int isdir; + int isdir = ext2fs_test_inode_bitmap(ctx->inode_dir_map, i); if (ctx->flags & E2F_FLAG_SIGNAL_MASK) goto errout; @@ -135,11 +134,11 @@ void e2fsck_pass4(e2fsck_t ctx) if (i == EXT2_BAD_INO || (i > EXT2_ROOT_INO && i < EXT2_FIRST_INODE(fs->super))) continue; - if (!(ext2fs_test_inode_bitmap2(ctx->inode_used_map, i)) || + if (!(ext2fs_test_inode_bitmap(ctx->inode_used_map, i)) || (ctx->inode_imagic_map && - ext2fs_test_inode_bitmap2(ctx->inode_imagic_map, i)) || + ext2fs_test_inode_bitmap(ctx->inode_imagic_map, i)) || (ctx->inode_bb_map && - ext2fs_test_inode_bitmap2(ctx->inode_bb_map, i))) + ext2fs_test_inode_bitmap(ctx->inode_bb_map, i))) continue; ext2fs_icount_fetch(ctx->inode_link_info, i, &link_count); ext2fs_icount_fetch(ctx->inode_count, i, &link_counted); @@ -156,7 +155,6 @@ void e2fsck_pass4(e2fsck_t ctx) ext2fs_icount_fetch(ctx->inode_count, i, &link_counted); } - isdir = ext2fs_test_inode_bitmap2(ctx->inode_dir_map, i); if (isdir && (link_counted > EXT2_LINK_MAX)) link_counted = 1; if (link_counted != link_count) { diff --git a/e2fsck/pass5.c b/e2fsck/pass5.c index c04ffbd2..bc3bf028 100644 --- a/e2fsck/pass5.c +++ b/e2fsck/pass5.c @@ -10,18 +10,9 @@ * */ -#include -#include -#include -#include -#include -#include - #include "e2fsck.h" #include "problem.h" -#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) - static void check_block_bitmaps(e2fsck_t ctx); static void check_inode_bitmaps(e2fsck_t ctx); static void check_inode_end(e2fsck_t ctx); @@ -73,84 +64,9 @@ void e2fsck_pass5(e2fsck_t ctx) print_resource_track(ctx, _("Pass 5"), &rtrack, ctx->fs->io); } -static void e2fsck_discard_blocks(e2fsck_t ctx, blk64_t start, - blk64_t count) -{ - ext2_filsys fs = ctx->fs; - - /* - * If the filesystem has changed it means that there was an corruption - * which should be repaired, but in some cases just one e2fsck run is - * not enough to fix the problem, hence it is not safe to run discard - * in this case. - */ - if (ext2fs_test_changed(fs)) - ctx->options &= ~E2F_OPT_DISCARD; - - if ((ctx->options & E2F_OPT_DISCARD) && - (io_channel_discard(fs->io, start, count))) - ctx->options &= ~E2F_OPT_DISCARD; -} +#define NO_BLK ((blk_t) -1) -/* - * This will try to discard number 'count' inodes starting at - * inode number 'start' within the 'group'. Note that 'start' - * is 1-based, it means that we need to adjust it by -1 in this - * function to compute right offset in the particular inode table. - */ -static void e2fsck_discard_inodes(e2fsck_t ctx, dgrp_t group, - ext2_ino_t start, int count) -{ - ext2_filsys fs = ctx->fs; - blk64_t blk, num; - - /* - * Sanity check for 'start' - */ - if ((start < 1) || (start > EXT2_INODES_PER_GROUP(fs->super))) { - printf("PROGRAMMING ERROR: Got start %d outside of group %d!" - " Disabling discard\n", - start, group); - ctx->options &= ~E2F_OPT_DISCARD; - } - - /* - * Do not attempt to discard if E2F_OPT_DISCARD is not set. And also - * skip the discard on this group if discard does not zero data. - * The reason is that if the inode table is not zeroed discard would - * no help us since we need to zero it anyway, or if the inode table - * is zeroed then the read after discard would not be deterministic - * anyway and we would not be able to assume that this inode table - * was zeroed anymore so we would have to zero it again, which does - * not really make sense. - */ - if (!(ctx->options & E2F_OPT_DISCARD) || - !io_channel_discard_zeroes_data(fs->io)) - return; - - /* - * Start is inode number within the group which starts - * counting from 1, so we need to adjust it. - */ - start -= 1; - - /* - * We can discard only blocks containing only unused - * inodes in the table. - */ - blk = DIV_ROUND_UP(start, - EXT2_INODES_PER_BLOCK(fs->super)); - count -= (blk * EXT2_INODES_PER_BLOCK(fs->super) - start); - blk += ext2fs_inode_table_loc(fs, group); - num = count / EXT2_INODES_PER_BLOCK(fs->super); - - if (num > 0) - e2fsck_discard_blocks(ctx, blk, num); -} - -#define NO_BLK ((blk64_t) -1) - -static void print_bitmap_problem(e2fsck_t ctx, problem_t problem, +static void print_bitmap_problem(e2fsck_t ctx, int problem, struct problem_context *pctx) { switch (problem) { @@ -184,69 +100,50 @@ static void print_bitmap_problem(e2fsck_t ctx, problem_t problem, pctx->ino = pctx->ino2 = 0; } -/* Just to be more succint */ -#define B2C(x) EXT2FS_B2C(fs, (x)) -#define EQ_CLSTR(x, y) (B2C(x) == B2C(y)) -#define LE_CLSTR(x, y) (B2C(x) <= B2C(y)) -#define GE_CLSTR(x, y) (B2C(x) >= B2C(y)) - static void check_block_bitmaps(e2fsck_t ctx) { ext2_filsys fs = ctx->fs; - blk64_t i; - unsigned int *free_array; - dgrp_t g, group = 0; - unsigned int blocks = 0; - blk64_t free_blocks = 0; - blk64_t first_free = ext2fs_blocks_count(fs->super); - unsigned int group_free = 0; + blk_t i; + int *free_array; + int group = 0; + blk_t blocks = 0; + blk_t free_blocks = 0; + int group_free = 0; int actual, bitmap; struct problem_context pctx; - problem_t problem, save_problem; - int fixit, had_problem; + int problem, save_problem, fixit, had_problem; errcode_t retval; int csum_flag; int skip_group = 0; - int old_desc_blocks = 0; - int count = 0; - int cmp_block = 0; - int redo_flag = 0; - blk64_t super_blk, old_desc_blk, new_desc_blk; - char *actual_buf, *bitmap_buf; - - actual_buf = (char *) e2fsck_allocate_memory(ctx, fs->blocksize, - "actual bitmap buffer"); - bitmap_buf = (char *) e2fsck_allocate_memory(ctx, fs->blocksize, - "bitmap block buffer"); clear_problem_context(&pctx); - free_array = (unsigned int *) e2fsck_allocate_memory(ctx, - fs->group_desc_count * sizeof(unsigned int), "free block count array"); + free_array = (int *) e2fsck_allocate_memory(ctx, + fs->group_desc_count * sizeof(int), "free block count array"); - if ((B2C(fs->super->s_first_data_block) < - ext2fs_get_block_bitmap_start2(ctx->block_found_map)) || - (B2C(ext2fs_blocks_count(fs->super)-1) > - ext2fs_get_block_bitmap_end2(ctx->block_found_map))) { + if ((fs->super->s_first_data_block < + ext2fs_get_block_bitmap_start(ctx->block_found_map)) || + (fs->super->s_blocks_count-1 > + ext2fs_get_block_bitmap_end(ctx->block_found_map))) { pctx.num = 1; - pctx.blk = B2C(fs->super->s_first_data_block); - pctx.blk2 = B2C(ext2fs_blocks_count(fs->super) - 1); - pctx.ino = ext2fs_get_block_bitmap_start2(ctx->block_found_map); - pctx.ino2 = ext2fs_get_block_bitmap_end2(ctx->block_found_map); + pctx.blk = fs->super->s_first_data_block; + pctx.blk2 = fs->super->s_blocks_count -1; + pctx.ino = ext2fs_get_block_bitmap_start(ctx->block_found_map); + pctx.ino2 = ext2fs_get_block_bitmap_end(ctx->block_found_map); fix_problem(ctx, PR_5_BMAP_ENDPOINTS, &pctx); ctx->flags |= E2F_FLAG_ABORT; /* fatal */ goto errout; } - if ((B2C(fs->super->s_first_data_block) < - ext2fs_get_block_bitmap_start2(fs->block_map)) || - (B2C(ext2fs_blocks_count(fs->super)-1) > - ext2fs_get_block_bitmap_end2(fs->block_map))) { + if ((fs->super->s_first_data_block < + ext2fs_get_block_bitmap_start(fs->block_map)) || + (fs->super->s_blocks_count-1 > + ext2fs_get_block_bitmap_end(fs->block_map))) { pctx.num = 2; - pctx.blk = B2C(fs->super->s_first_data_block); - pctx.blk2 = B2C(ext2fs_blocks_count(fs->super) - 1); - pctx.ino = ext2fs_get_block_bitmap_start2(fs->block_map); - pctx.ino2 = ext2fs_get_block_bitmap_end2(fs->block_map); + pctx.blk = fs->super->s_first_data_block; + pctx.blk2 = fs->super->s_blocks_count -1; + pctx.ino = ext2fs_get_block_bitmap_start(fs->block_map); + pctx.ino2 = ext2fs_get_block_bitmap_end(fs->block_map); fix_problem(ctx, PR_5_BMAP_ENDPOINTS, &pctx); ctx->flags |= E2F_FLAG_ABORT; /* fatal */ @@ -260,128 +157,50 @@ redo_counts: save_problem = 0; pctx.blk = pctx.blk2 = NO_BLK; if (csum_flag && - (ext2fs_bg_flags_test(fs, group, EXT2_BG_BLOCK_UNINIT))) + (fs->group_desc[group].bg_flags & EXT2_BG_BLOCK_UNINIT)) skip_group++; - for (i = B2C(fs->super->s_first_data_block); - i < ext2fs_blocks_count(fs->super); - i += EXT2FS_CLUSTER_RATIO(fs)) { - int first_block_in_bg = (B2C(i) - - B2C(fs->super->s_first_data_block)) % - fs->super->s_clusters_per_group == 0; - int n, nbytes = fs->super->s_clusters_per_group / 8; - - actual = ext2fs_fast_test_block_bitmap2(ctx->block_found_map, i); - - /* - * Try to optimize pass5 by extracting a bitmap block - * as expected from what we have on disk, and then - * comparing the two. If they are identical, then - * update the free block counts and go on to the next - * block group. This is much faster than doing the - * individual bit-by-bit comparison. The one downside - * is that this doesn't work if we are asking e2fsck - * to do a discard operation. - */ - if (!first_block_in_bg || - (group == (int)fs->group_desc_count - 1) || - (ctx->options & E2F_OPT_DISCARD)) - goto no_optimize; - - retval = ext2fs_get_block_bitmap_range2(ctx->block_found_map, - B2C(i), fs->super->s_clusters_per_group, - actual_buf); - if (retval) - goto no_optimize; - if (ext2fs_bg_flags_test(fs, group, EXT2_BG_BLOCK_UNINIT)) - memset(bitmap_buf, 0, nbytes); - else { - retval = ext2fs_get_block_bitmap_range2(fs->block_map, - B2C(i), fs->super->s_clusters_per_group, - bitmap_buf); - if (retval) - goto no_optimize; - } - if (memcmp(actual_buf, bitmap_buf, nbytes) != 0) - goto no_optimize; - n = ext2fs_bitcount(actual_buf, nbytes); - group_free = fs->super->s_clusters_per_group - n; - free_blocks += group_free; - i += EXT2FS_C2B(fs, fs->super->s_clusters_per_group - 1); - goto next_group; - no_optimize: + for (i = fs->super->s_first_data_block; + i < fs->super->s_blocks_count; + i++) { + actual = ext2fs_fast_test_block_bitmap(ctx->block_found_map, i); if (skip_group) { - if (first_block_in_bg) { - super_blk = 0; - old_desc_blk = 0; - new_desc_blk = 0; - ext2fs_super_and_bgd_loc2(fs, group, &super_blk, + blk_t super_blk, old_desc_blk, new_desc_blk; + int old_desc_blocks; + + ext2fs_super_and_bgd_loc(fs, group, &super_blk, &old_desc_blk, &new_desc_blk, 0); - if (fs->super->s_feature_incompat & - EXT2_FEATURE_INCOMPAT_META_BG) - old_desc_blocks = - fs->super->s_first_meta_bg; - else - old_desc_blocks = fs->desc_blocks + + if (fs->super->s_feature_incompat & + EXT2_FEATURE_INCOMPAT_META_BG) + old_desc_blocks = fs->super->s_first_meta_bg; + else + old_desc_blocks = fs->desc_blocks + fs->super->s_reserved_gdt_blocks; - count = 0; - cmp_block = fs->super->s_clusters_per_group; - if (group == (int)fs->group_desc_count - 1) - cmp_block = EXT2FS_NUM_B2C(fs, - ext2fs_group_blocks_count(fs, group)); - } - bitmap = 0; - if (EQ_CLSTR(i, super_blk) || - (old_desc_blk && old_desc_blocks && - GE_CLSTR(i, old_desc_blk) && - LE_CLSTR(i, old_desc_blk + old_desc_blocks-1)) || - (new_desc_blk && EQ_CLSTR(i, new_desc_blk)) || - EQ_CLSTR(i, ext2fs_block_bitmap_loc(fs, group)) || - EQ_CLSTR(i, ext2fs_inode_bitmap_loc(fs, group)) || - (GE_CLSTR(i, ext2fs_inode_table_loc(fs, group)) && - LE_CLSTR(i, (ext2fs_inode_table_loc(fs, group) + - fs->inode_blocks_per_group - 1)))) { + if (i == super_blk) bitmap = 1; - actual = (actual != 0); - count++; - cmp_block--; - } else if ((EXT2FS_B2C(fs, i) - count - - EXT2FS_B2C(fs, fs->super->s_first_data_block)) % - fs->super->s_clusters_per_group == 0) { - /* - * When the compare data blocks in block bitmap - * are 0, count the free block, - * skip the current block group. - */ - if (ext2fs_test_block_bitmap_range2( - ctx->block_found_map, - EXT2FS_B2C(fs, i), - cmp_block)) { - /* - * -1 means to skip the current block - * group. - */ - blocks = fs->super->s_clusters_per_group - 1; - group_free = cmp_block; - free_blocks += cmp_block; - /* - * The current block group's last block - * is set to i. - */ - i += EXT2FS_C2B(fs, cmp_block - 1); - bitmap = 1; - goto do_counts; - } - } - } else if (redo_flag) - bitmap = actual; - else - bitmap = ext2fs_fast_test_block_bitmap2(fs->block_map, i); + if (old_desc_blk && old_desc_blocks && + (i >= old_desc_blk) && + (i < old_desc_blk + old_desc_blocks)) + bitmap = 1; + if (new_desc_blk && + (i == new_desc_blk)) + bitmap = 1; + if (i == fs->group_desc[group].bg_block_bitmap) + bitmap = 1; + else if (i == fs->group_desc[group].bg_inode_bitmap) + bitmap = 1; + else if (i >= fs->group_desc[group].bg_inode_table && + (i < fs->group_desc[group].bg_inode_table + + fs->inode_blocks_per_group)) + bitmap = 1; + actual = (actual != 0); + } else + bitmap = ext2fs_fast_test_block_bitmap(fs->block_map, i); - if (!actual == !bitmap) + if (actual == bitmap) goto do_counts; if (!actual && bitmap) { @@ -400,7 +219,8 @@ redo_counts: pctx2.blk = i; pctx2.group = group; if (fix_problem(ctx, PR_5_BLOCK_UNINIT,&pctx2)){ - ext2fs_bg_flags_clear(fs, group, EXT2_BG_BLOCK_UNINIT); + fs->group_desc[group].bg_flags &= + ~EXT2_BG_BLOCK_UNINIT; skip_group = 0; } } @@ -410,8 +230,8 @@ redo_counts: save_problem = problem; } else { if ((problem == save_problem) && - (pctx.blk2 == i - EXT2FS_CLUSTER_RATIO(fs))) - pctx.blk2 += EXT2FS_CLUSTER_RATIO(fs); + (pctx.blk2 == i-1)) + pctx.blk2++; else { print_bitmap_problem(ctx, save_problem, &pctx); pctx.blk = pctx.blk2 = i; @@ -421,37 +241,14 @@ redo_counts: ctx->flags |= E2F_FLAG_PROG_SUPPRESS; had_problem++; - /* - * If there a problem we should turn off the discard so we - * do not compromise the filesystem. - */ - ctx->options &= ~E2F_OPT_DISCARD; - do_counts: - if (!bitmap) { + if (!bitmap && (!skip_group || csum_flag)) { group_free++; free_blocks++; - if (first_free > i) - first_free = i; - } else if (i > first_free) { - e2fsck_discard_blocks(ctx, first_free, - (i - first_free)); - first_free = ext2fs_blocks_count(fs->super); } blocks ++; - if ((blocks == fs->super->s_clusters_per_group) || - (EXT2FS_B2C(fs, i) == - EXT2FS_B2C(fs, ext2fs_blocks_count(fs->super)-1))) { - /* - * If the last block of this group is free, then we can - * discard it as well. - */ - if (!bitmap && i >= first_free) - e2fsck_discard_blocks(ctx, first_free, - (i - first_free) + 1); - next_group: - first_free = ext2fs_blocks_count(fs->super); - + if ((blocks == fs->super->s_blocks_per_group) || + (i == fs->super->s_blocks_count-1)) { free_array[group] = group_free; group ++; blocks = 0; @@ -462,9 +259,9 @@ redo_counts: fs->group_desc_count*2)) goto errout; if (csum_flag && - (i != ext2fs_blocks_count(fs->super)-1) && - ext2fs_bg_flags_test(fs, group, - EXT2_BG_BLOCK_UNINIT)) + (i != fs->super->s_blocks_count-1) && + (fs->group_desc[group].bg_flags & + EXT2_BG_BLOCK_UNINIT)) skip_group++; } } @@ -492,40 +289,38 @@ redo_counts: /* Redo the counts */ blocks = 0; free_blocks = 0; group_free = 0; group = 0; memset(free_array, 0, fs->group_desc_count * sizeof(int)); - redo_flag++; goto redo_counts; } else if (fixit == 0) ext2fs_unmark_valid(fs); - for (g = 0; g < fs->group_desc_count; g++) { - if (free_array[g] != ext2fs_bg_free_blocks_count(fs, g)) { - pctx.group = g; - pctx.blk = ext2fs_bg_free_blocks_count(fs, g); - pctx.blk2 = free_array[g]; + for (i = 0; i < fs->group_desc_count; i++) { + if (free_array[i] != fs->group_desc[i].bg_free_blocks_count) { + pctx.group = i; + pctx.blk = fs->group_desc[i].bg_free_blocks_count; + pctx.blk2 = free_array[i]; if (fix_problem(ctx, PR_5_FREE_BLOCK_COUNT_GROUP, &pctx)) { - ext2fs_bg_free_blocks_count_set(fs, g, free_array[g]); + fs->group_desc[i].bg_free_blocks_count = + free_array[i]; ext2fs_mark_super_dirty(fs); } else ext2fs_unmark_valid(fs); } } - free_blocks = EXT2FS_C2B(fs, free_blocks); - if (free_blocks != ext2fs_free_blocks_count(fs->super)) { + if (free_blocks != fs->super->s_free_blocks_count) { pctx.group = 0; - pctx.blk = ext2fs_free_blocks_count(fs->super); + pctx.blk = fs->super->s_free_blocks_count; pctx.blk2 = free_blocks; if (fix_problem(ctx, PR_5_FREE_BLOCK_COUNT, &pctx)) { - ext2fs_free_blocks_count_set(fs->super, free_blocks); + fs->super->s_free_blocks_count = free_blocks; ext2fs_mark_super_dirty(fs); - } + } else + ext2fs_unmark_valid(fs); } errout: ext2fs_free_mem(&free_array); - ext2fs_free_mem(&actual_buf); - ext2fs_free_mem(&bitmap_buf); } static void check_inode_bitmaps(e2fsck_t ctx) @@ -535,48 +330,45 @@ static void check_inode_bitmaps(e2fsck_t ctx) unsigned int free_inodes = 0; int group_free = 0; int dirs_count = 0; - dgrp_t group = 0; + int group = 0; unsigned int inodes = 0; - ext2_ino_t *free_array; - ext2_ino_t *dir_array; + int *free_array; + int *dir_array; int actual, bitmap; errcode_t retval; struct problem_context pctx; - problem_t problem, save_problem; - int fixit, had_problem; + int problem, save_problem, fixit, had_problem; int csum_flag; int skip_group = 0; - int redo_flag = 0; - ext2_ino_t first_free = fs->super->s_inodes_per_group + 1; clear_problem_context(&pctx); - free_array = (ext2_ino_t *) e2fsck_allocate_memory(ctx, - fs->group_desc_count * sizeof(ext2_ino_t), "free inode count array"); + free_array = (int *) e2fsck_allocate_memory(ctx, + fs->group_desc_count * sizeof(int), "free inode count array"); - dir_array = (ext2_ino_t *) e2fsck_allocate_memory(ctx, - fs->group_desc_count * sizeof(ext2_ino_t), "directory count array"); + dir_array = (int *) e2fsck_allocate_memory(ctx, + fs->group_desc_count * sizeof(int), "directory count array"); - if ((1 < ext2fs_get_inode_bitmap_start2(ctx->inode_used_map)) || + if ((1 < ext2fs_get_inode_bitmap_start(ctx->inode_used_map)) || (fs->super->s_inodes_count > - ext2fs_get_inode_bitmap_end2(ctx->inode_used_map))) { + ext2fs_get_inode_bitmap_end(ctx->inode_used_map))) { pctx.num = 3; pctx.blk = 1; pctx.blk2 = fs->super->s_inodes_count; - pctx.ino = ext2fs_get_inode_bitmap_start2(ctx->inode_used_map); - pctx.ino2 = ext2fs_get_inode_bitmap_end2(ctx->inode_used_map); + pctx.ino = ext2fs_get_inode_bitmap_start(ctx->inode_used_map); + pctx.ino2 = ext2fs_get_inode_bitmap_end(ctx->inode_used_map); fix_problem(ctx, PR_5_BMAP_ENDPOINTS, &pctx); ctx->flags |= E2F_FLAG_ABORT; /* fatal */ goto errout; } - if ((1 < ext2fs_get_inode_bitmap_start2(fs->inode_map)) || + if ((1 < ext2fs_get_inode_bitmap_start(fs->inode_map)) || (fs->super->s_inodes_count > - ext2fs_get_inode_bitmap_end2(fs->inode_map))) { + ext2fs_get_inode_bitmap_end(fs->inode_map))) { pctx.num = 4; pctx.blk = 1; pctx.blk2 = fs->super->s_inodes_count; - pctx.ino = ext2fs_get_inode_bitmap_start2(fs->inode_map); - pctx.ino2 = ext2fs_get_inode_bitmap_end2(fs->inode_map); + pctx.ino = ext2fs_get_inode_bitmap_start(fs->inode_map); + pctx.ino2 = ext2fs_get_inode_bitmap_end(fs->inode_map); fix_problem(ctx, PR_5_BMAP_ENDPOINTS, &pctx); ctx->flags |= E2F_FLAG_ABORT; /* fatal */ @@ -590,42 +382,17 @@ redo_counts: save_problem = 0; pctx.ino = pctx.ino2 = 0; if (csum_flag && - (ext2fs_bg_flags_test(fs, group, EXT2_BG_INODE_UNINIT))) + (fs->group_desc[group].bg_flags & EXT2_BG_INODE_UNINIT)) skip_group++; /* Protect loop from wrap-around if inodes_count is maxed */ for (i = 1; i <= fs->super->s_inodes_count && i > 0; i++) { - bitmap = 0; - if (skip_group && - i % fs->super->s_inodes_per_group == 1) { - /* - * Current inode is the first inode - * in the current block group. - */ - if (ext2fs_test_inode_bitmap_range( - ctx->inode_used_map, i, - fs->super->s_inodes_per_group)) { - /* - * When the compared inodes in inodes bitmap - * are 0, count the free inode, - * skip the current block group. - */ - first_free = 1; - inodes = fs->super->s_inodes_per_group - 1; - group_free = inodes; - free_inodes += inodes; - i += inodes; - skip_group = 0; - goto do_counts; - } - } - - actual = ext2fs_fast_test_inode_bitmap2(ctx->inode_used_map, i); - if (redo_flag) - bitmap = actual; - else if (!skip_group) - bitmap = ext2fs_fast_test_inode_bitmap2(fs->inode_map, i); - if (!actual == !bitmap) + actual = ext2fs_fast_test_inode_bitmap(ctx->inode_used_map, i); + if (skip_group) + bitmap = 0; + else + bitmap = ext2fs_fast_test_inode_bitmap(fs->inode_map, i); + if (actual == bitmap) goto do_counts; if (!actual && bitmap) { @@ -648,7 +415,8 @@ redo_counts: pctx2.blk = i; pctx2.group = group; if (fix_problem(ctx, PR_5_INODE_UNINIT,&pctx2)){ - ext2fs_bg_flags_clear(fs, group, EXT2_BG_INODE_UNINIT); + fs->group_desc[group].bg_flags &= + ~EXT2_BG_INODE_UNINIT; skip_group = 0; } } @@ -668,51 +436,18 @@ redo_counts: } ctx->flags |= E2F_FLAG_PROG_SUPPRESS; had_problem++; - /* - * If there a problem we should turn off the discard so we - * do not compromise the filesystem. - */ - ctx->options &= ~E2F_OPT_DISCARD; do_counts: - inodes++; if (bitmap) { - if (ext2fs_test_inode_bitmap2(ctx->inode_dir_map, i)) + if (ext2fs_test_inode_bitmap(ctx->inode_dir_map, i)) dirs_count++; - if (inodes > first_free) { - e2fsck_discard_inodes(ctx, group, first_free, - inodes - first_free); - first_free = fs->super->s_inodes_per_group + 1; - } - } else { + } else if (!skip_group || csum_flag) { group_free++; free_inodes++; - if (first_free > inodes) - first_free = inodes; } - + inodes++; if ((inodes == fs->super->s_inodes_per_group) || (i == fs->super->s_inodes_count)) { - /* - * If the last inode is free, we can discard it as well. - */ - if (!bitmap && inodes >= first_free) - e2fsck_discard_inodes(ctx, group, first_free, - inodes - first_free + 1); - /* - * If discard zeroes data and the group inode table - * was not zeroed yet, set itable as zeroed - */ - if ((ctx->options & E2F_OPT_DISCARD) && - io_channel_discard_zeroes_data(fs->io) && - !(ext2fs_bg_flags_test(fs, group, - EXT2_BG_INODE_ZEROED))) { - ext2fs_bg_flags_set(fs, group, - EXT2_BG_INODE_ZEROED); - ext2fs_group_desc_csum_set(fs, group); - } - - first_free = fs->super->s_inodes_per_group + 1; free_array[group] = group_free; dir_array[group] = dirs_count; group ++; @@ -727,8 +462,8 @@ do_counts: goto errout; if (csum_flag && (i != fs->super->s_inodes_count) && - (ext2fs_bg_flags_test(fs, group, EXT2_BG_INODE_UNINIT) - )) + (fs->group_desc[group].bg_flags & + EXT2_BG_INODE_UNINIT)) skip_group++; } } @@ -759,31 +494,32 @@ do_counts: dirs_count = 0; group = 0; memset(free_array, 0, fs->group_desc_count * sizeof(int)); memset(dir_array, 0, fs->group_desc_count * sizeof(int)); - redo_flag++; goto redo_counts; } else if (fixit == 0) ext2fs_unmark_valid(fs); for (i = 0; i < fs->group_desc_count; i++) { - if (free_array[i] != ext2fs_bg_free_inodes_count(fs, i)) { + if (free_array[i] != fs->group_desc[i].bg_free_inodes_count) { pctx.group = i; - pctx.ino = ext2fs_bg_free_inodes_count(fs, i); + pctx.ino = fs->group_desc[i].bg_free_inodes_count; pctx.ino2 = free_array[i]; if (fix_problem(ctx, PR_5_FREE_INODE_COUNT_GROUP, &pctx)) { - ext2fs_bg_free_inodes_count_set(fs, i, free_array[i]); + fs->group_desc[i].bg_free_inodes_count = + free_array[i]; ext2fs_mark_super_dirty(fs); } else ext2fs_unmark_valid(fs); } - if (dir_array[i] != ext2fs_bg_used_dirs_count(fs, i)) { + if (dir_array[i] != fs->group_desc[i].bg_used_dirs_count) { pctx.group = i; - pctx.ino = ext2fs_bg_used_dirs_count(fs, i); + pctx.ino = fs->group_desc[i].bg_used_dirs_count; pctx.ino2 = dir_array[i]; if (fix_problem(ctx, PR_5_FREE_DIR_COUNT_GROUP, &pctx)) { - ext2fs_bg_used_dirs_count_set(fs, i, dir_array[i]); + fs->group_desc[i].bg_used_dirs_count = + dir_array[i]; ext2fs_mark_super_dirty(fs); } else ext2fs_unmark_valid(fs); @@ -797,7 +533,8 @@ do_counts: if (fix_problem(ctx, PR_5_FREE_INODE_COUNT, &pctx)) { fs->super->s_free_inodes_count = free_inodes; ext2fs_mark_super_dirty(fs); - } + } else + ext2fs_unmark_valid(fs); } errout: ext2fs_free_mem(&free_array); @@ -851,14 +588,14 @@ static void check_inode_end(e2fsck_t ctx) static void check_block_end(e2fsck_t ctx) { ext2_filsys fs = ctx->fs; - blk64_t end, save_blocks_count, i; + blk_t end, save_blocks_count, i; struct problem_context pctx; clear_problem_context(&pctx); - end = ext2fs_get_block_bitmap_start2(fs->block_map) + - ((blk64_t)EXT2_CLUSTERS_PER_GROUP(fs->super) * fs->group_desc_count) - 1; - pctx.errcode = ext2fs_fudge_block_bitmap_end2(fs->block_map, end, + end = ext2fs_get_block_bitmap_start(fs->block_map) + + (EXT2_BLOCKS_PER_GROUP(fs->super) * fs->group_desc_count) - 1; + pctx.errcode = ext2fs_fudge_block_bitmap_end(fs->block_map, end, &save_blocks_count); if (pctx.errcode) { pctx.num = 3; @@ -871,12 +608,11 @@ static void check_block_end(e2fsck_t ctx) /* Protect loop from wrap-around if end is maxed */ for (i = save_blocks_count + 1; i <= end && i > save_blocks_count; i++) { - if (!ext2fs_test_block_bitmap2(fs->block_map, - EXT2FS_C2B(fs, i))) { + if (!ext2fs_test_block_bitmap(fs->block_map, i)) { if (fix_problem(ctx, PR_5_BLOCK_BMAP_PADDING, &pctx)) { for (; i <= end; i++) - ext2fs_mark_block_bitmap2(fs->block_map, - EXT2FS_C2B(fs, i)); + ext2fs_mark_block_bitmap(fs->block_map, + i); ext2fs_mark_bb_dirty(fs); } else ext2fs_unmark_valid(fs); @@ -884,7 +620,7 @@ static void check_block_end(e2fsck_t ctx) } } - pctx.errcode = ext2fs_fudge_block_bitmap_end2(fs->block_map, + pctx.errcode = ext2fs_fudge_block_bitmap_end(fs->block_map, save_blocks_count, 0); if (pctx.errcode) { pctx.num = 4; diff --git a/e2fsck/problem.c b/e2fsck/problem.c index b78b56ea..8f0b211a 100644 --- a/e2fsck/problem.c +++ b/e2fsck/problem.c @@ -353,7 +353,7 @@ static struct e2fsck_problem problem_table[] = { /* group descriptor N checksum is invalid. */ { PR_0_GDT_CSUM, - N_("@g descriptor %g checksum is %04x, should be %04y. "), + N_("@g descriptor %g checksum is invalid. "), PROMPT_FIX, PR_LATCH_BG_CHECKSUM }, /* group descriptor N marked uninitialized without feature set. */ @@ -361,6 +361,11 @@ static struct e2fsck_problem problem_table[] = { N_("@g descriptor %g marked uninitialized without feature set.\n"), PROMPT_FIX, PR_PREEN_OK }, + /* group N block bitmap uninitialized but inode bitmap in use. */ + { PR_0_BB_UNINIT_IB_INIT, + N_("@g %g @b @B uninitialized but @i @B in use.\n"), + PROMPT_FIX, PR_PREEN_OK }, + /* Group descriptor N has invalid unused inodes count. */ { PR_0_GDT_ITABLE_UNUSED, N_("@g descriptor %g has invalid unused inodes count %b. "), @@ -397,46 +402,6 @@ static struct e2fsck_problem problem_table[] = { N_("One or more @b @g descriptor checksums are invalid. "), PROMPT_FIX, PR_PREEN_OK }, - /* Free inodes count wrong */ - { PR_0_FREE_INODE_COUNT, - N_("Setting free @is count to %j (was %i)\n"), - PROMPT_NONE, PR_PREEN_NOMSG }, - - /* Free blocks count wrong */ - { PR_0_FREE_BLOCK_COUNT, - N_("Setting free @bs count to %c (was %b)\n"), - PROMPT_NONE, PR_PREEN_NOMSG }, - - /* Making quota file hidden */ - { PR_0_HIDE_QUOTA, - N_("Making @q @i %i (%Q) hidden.\n"), - PROMPT_NONE, PR_PREEN_OK }, - - /* Superblock has invalid MMP block. */ - { PR_0_MMP_INVALID_BLK, - N_("@S has invalid MMP block. "), - PROMPT_CLEAR, PR_PREEN_OK }, - - /* Superblock has invalid MMP magic. */ - { PR_0_MMP_INVALID_MAGIC, - N_("@S has invalid MMP magic. "), - PROMPT_FIX, PR_PREEN_OK | PR_NO_OK}, - - /* Opening file system failed */ - { PR_0_OPEN_FAILED, - N_("ext2fs_open2: %m\n"), - PROMPT_NONE, 0 }, - - /* Checking group descriptor failed */ - { PR_0_CHECK_DESC_FAILED, - N_("ext2fs_check_desc: %m\n"), - PROMPT_NONE, 0 }, - - /* 64bit is set but extents is unset. */ - { PR_0_64BIT_WITHOUT_EXTENTS, - N_("@S 64bit filesystems needs extents to access the whole disk. "), - PROMPT_FIX, PR_PREEN_OK | PR_NO_OK}, - /* Pass 1 errors */ /* Pass 1: Checking inodes, blocks, and sizes */ @@ -920,50 +885,11 @@ static struct e2fsck_problem problem_table[] = { N_("@i %i has an invalid extent node (blk %b, lblk %c)\n"), PROMPT_CLEAR, 0 }, - /* Failed to convert subcluster bitmap */ - { PR_1_CONVERT_SUBCLUSTER, - N_("Error converting subcluster @b @B: %m\n"), - PROMPT_NONE, PR_FATAL }, - - /* Quota inode has bad mode */ - { PR_1_QUOTA_BAD_MODE, - N_("@q @i is not regular file. "), - PROMPT_CLEAR, PR_PREEN_OK }, - - /* Quota inode is not in use, but contains data */ - { PR_1_QUOTA_INODE_NOT_CLEAR, - N_("@q @i is not in use, but contains data. "), + { PR_1_EOFBLOCKS_FL_SET, + N_("@i %i should not have EOFBLOCKS_FL set " + "(size %Is, lblk %r)\n"), PROMPT_CLEAR, PR_PREEN_OK }, - /* Quota inode is user visible */ - { PR_1_QUOTA_INODE_NOT_HIDDEN, - N_("@q @i is visible to the user. "), - PROMPT_CLEAR, PR_PREEN_OK }, - - /* Invalid bad inode */ - { PR_1_INVALID_BAD_INODE, - N_("The bad @b @i looks @n. "), - PROMPT_CLEAR, 0 }, - - /* Extent has zero length */ - { PR_1_EXTENT_LENGTH_ZERO, - N_("@i %i has zero length extent\n\t(@n logical @b %c, physical @b %b)\n"), - PROMPT_CLEAR, 0 }, - - /* - * Interior extent node logical offset doesn't match first node below it - */ - { PR_1_EXTENT_INDEX_START_INVALID, - N_("Interior @x node level %N of @i %i:\n" - "Logical start %b does not match logical start %c at next level. "), - PROMPT_FIX, 0 }, - - /* Extent end is out of bounds for the tree */ - { PR_1_EXTENT_END_OUT_OF_BOUNDS, - N_("@i %i, end of extent exceeds allowed value\n\t(logical @b %c, physical @b %b, len %N)\n"), - PROMPT_CLEAR, 0 }, - - /* Pass 1b errors */ /* Pass 1B: Rescan for duplicate/bad blocks */ @@ -1007,6 +933,7 @@ static struct e2fsck_problem problem_table[] = { N_("Error adjusting refcount for @a @b %b (@i %i): %m\n"), PROMPT_NONE, 0 }, + /* Pass 1C: Scan directories for inodes with multiply-claimed blocks. */ { PR_1C_PASS_HEADER, N_("Pass 1C: Scanning directories for @is with @m @bs\n"), @@ -1068,12 +995,12 @@ static struct e2fsck_problem problem_table[] = { N_("@n @i number for '.' in @d @i %i.\n"), PROMPT_FIX, 0 }, - /* Entry 'xxxx' in /a/b/c has bad inode number.*/ + /* Directory entry has bad inode number */ { PR_2_BAD_INO, N_("@E has @n @i #: %Di.\n"), PROMPT_CLEAR, 0 }, - /* Entry 'xxxx' in /a/b/c has deleted/unused inode nnnnn.*/ + /* Directory entry has deleted or unused inode */ { PR_2_UNUSED_INODE, N_("@E has @D/unused @i %Di. "), PROMPT_CLEAR, PR_PREEN_OK }, @@ -1639,7 +1566,7 @@ static struct e2fsck_problem problem_table[] = { /* Free inodes count wrong */ { PR_5_FREE_INODE_COUNT, N_("Free @is count wrong (%i, counted=%j).\n"), - PROMPT_FIX, PR_PREEN_OK | PR_NO_OK | PR_PREEN_NOMSG }, + PROMPT_FIX, PR_PREEN_OK | PR_PREEN_NOMSG }, /* Free blocks count for group wrong */ { PR_5_FREE_BLOCK_COUNT_GROUP, @@ -1649,7 +1576,7 @@ static struct e2fsck_problem problem_table[] = { /* Free blocks count wrong */ { PR_5_FREE_BLOCK_COUNT, N_("Free @bs count wrong (%b, counted=%c).\n"), - PROMPT_FIX, PR_PREEN_OK | PR_NO_OK | PR_PREEN_NOMSG }, + PROMPT_FIX, PR_PREEN_OK | PR_PREEN_NOMSG }, /* Programming error: bitmap endpoints don't match */ { PR_5_BMAP_ENDPOINTS, @@ -1709,11 +1636,6 @@ static struct e2fsck_problem problem_table[] = { N_("Recreate @j"), PROMPT_NULL, PR_PREEN_OK | PR_NO_OK }, - /* Update quota information if it is inconsistent */ - { PR_6_UPDATE_QUOTAS, - N_("Update quota info for quota type %N"), - PROMPT_NULL, PR_PREEN_OK }, - { 0 } }; @@ -1807,11 +1729,11 @@ void clear_problem_context(struct problem_context *ctx) static void reconfigure_bool(e2fsck_t ctx, struct e2fsck_problem *ptr, const char *key, int mask, const char *name) { - int val; + int bool; - val = (ptr->flags & mask); - profile_get_boolean(ctx->profile, "problems", key, name, val, &val); - if (val) + bool = (ptr->flags & mask); + profile_get_boolean(ctx->profile, "problems", key, name, bool, &bool); + if (bool) ptr->flags |= mask; else ptr->flags &= ~mask; @@ -1834,7 +1756,7 @@ int fix_problem(e2fsck_t ctx, problem_t code, struct problem_context *pctx) return 0; } if (!(ptr->flags & PR_CONFIG)) { - char key[9], *new_desc = NULL; + char key[9], *new_desc; sprintf(key, "0x%06x", code); @@ -1852,16 +1774,10 @@ int fix_problem(e2fsck_t ctx, problem_t code, struct problem_context *pctx) reconfigure_bool(ctx, ptr, key, PR_NO_NOMSG, "no_nomsg"); reconfigure_bool(ctx, ptr, key, PR_PREEN_NOHDR, "preen_noheader"); reconfigure_bool(ctx, ptr, key, PR_FORCE_NO, "force_no"); - profile_get_integer(ctx->profile, "options", - "max_count_problems", 0, 0, - &ptr->max_count); - profile_get_integer(ctx->profile, "problems", key, "max_count", - ptr->max_count, &ptr->max_count); ptr->flags |= PR_CONFIG; } def_yn = 1; - ptr->count++; if ((ptr->flags & PR_NO_DEFAULT) || ((ptr->flags & PR_PREEN_NO) && (ctx->options & E2F_OPT_PREEN)) || (ctx->options & E2F_OPT_NO)) @@ -1890,35 +1806,16 @@ int fix_problem(e2fsck_t ctx, problem_t code, struct problem_context *pctx) if ((ptr->flags & PR_NO_NOMSG) && ((ctx->options & E2F_OPT_NO) || (ptr->flags & PR_FORCE_NO))) suppress++; - if (ptr->max_count && (ptr->count > ptr->max_count)) { - if (ctx->options & (E2F_OPT_NO | E2F_OPT_YES)) - suppress++; - if ((ctx->options & E2F_OPT_PREEN) && - (ptr->flags & PR_PREEN_OK)) - suppress++; - if ((ptr->flags & PR_LATCH_MASK) && - (ldesc->flags & (PRL_YES | PRL_NO))) - suppress++; - if (ptr->count == ptr->max_count + 1) { - printf("...problem 0x%06x suppressed\n", - ptr->e2p_code); - fflush(stdout); - } - } - message = ptr->e2p_description; - if (*message) - message = _(message); if (!suppress) { + message = ptr->e2p_description; if ((ctx->options & E2F_OPT_PREEN) && !(ptr->flags & PR_PREEN_NOHDR)) { printf("%s: ", ctx->device_name ? ctx->device_name : ctx->filesystem_name); } if (*message) - print_e2fsck_message(stdout, ctx, message, pctx, 1, 0); + print_e2fsck_message(ctx, _(message), pctx, 1, 0); } - if (ctx->logf && message) - print_e2fsck_message(ctx->logf, ctx, message, pctx, 1, 0); if (!(ptr->flags & PR_PREEN_OK) && (ptr->prompt != PROMPT_NONE)) preenhalt(ctx); @@ -1933,14 +1830,16 @@ int fix_problem(e2fsck_t ctx, problem_t code, struct problem_context *pctx) } else { if (ptr->flags & PR_FORCE_NO) { answer = 0; - print_answer = 1; + if (!suppress) + print_answer = 1; } else if (ctx->options & E2F_OPT_PREEN) { answer = def_yn; if (!(ptr->flags & PR_PREEN_NOMSG)) print_answer = 1; } else if ((ptr->flags & PR_LATCH_MASK) && (ldesc->flags & (PRL_YES | PRL_NO))) { - print_answer = 1; + if (!suppress) + print_answer = 1; if (ldesc->flags & PRL_YES) answer = 1; else @@ -1951,16 +1850,10 @@ int fix_problem(e2fsck_t ctx, problem_t code, struct problem_context *pctx) if (!answer && !(ptr->flags & PR_NO_OK)) ext2fs_unmark_valid(fs); - if (print_answer) { - if (!suppress) - printf("%s.\n", answer ? - _(preen_msg[(int) ptr->prompt]) : - _("IGNORED")); - if (ctx->logf) - fprintf(ctx->logf, "%s.\n", answer ? - _(preen_msg[(int) ptr->prompt]) : - _("IGNORED")); - } + if (print_answer) + printf("%s.\n", answer ? + _(preen_msg[(int) ptr->prompt]) : _("IGNORED")); + } if ((ptr->prompt == PROMPT_ABORT) && answer) @@ -1984,14 +1877,7 @@ profile_get_boolean(profile_t profile, const char *name, const char *subname, return 0; } -errcode_t -profile_get_integer(profile_t profile, const char *name, const char *subname, - const char *subsubname, int def_val, int *ret_int) -{ - return 0; -} - -void print_e2fsck_message(FILE *f, e2fsck_t ctx, const char *msg, +void print_e2fsck_message(e2fsck_t ctx, const char *msg, struct problem_context *pctx, int first, int recurse) { @@ -2057,7 +1943,6 @@ int main(int argc, char *argv[]) e2fsck_t ctx; int rc; - memset(&ctx, 0, sizeof(ctx)); /* just to quiet compiler */ rc = verify_problem_table(ctx); if (rc == 0) printf("e2fsck problem table verified\n"); diff --git a/e2fsck/problem.h b/e2fsck/problem.h index e03d38b8..7c4c1566 100644 --- a/e2fsck/problem.h +++ b/e2fsck/problem.h @@ -9,9 +9,6 @@ * %End-Header% */ -#include -typedef uint32_t __u32; -typedef long errcode_t; typedef __u32 problem_t; struct problem_context { @@ -21,8 +18,7 @@ struct problem_context { struct ext2_dir_entry *dirent; blk64_t blk, blk2; e2_blkcnt_t blkcount; - dgrp_t group; - __u32 csum1, csum2; + int group; __u64 num; const char *str; }; @@ -207,8 +203,8 @@ struct problem_context { /* Group descriptor N marked uninitialized without feature set. */ #define PR_0_GDT_UNINIT 0x000036 -/* Block bitmap is not initialised and Inode bitmap is -- NO LONGER USED */ -/* #define PR_0_BB_UNINIT_IB_INIT 0x000037 */ +/* Block bitmap is not initialised and Inode bitmap is */ +#define PR_0_BB_UNINIT_IB_INIT 0x000037 /* Group descriptor N has invalid unused inodes count. */ #define PR_0_GDT_ITABLE_UNUSED 0x000038 @@ -231,29 +227,6 @@ struct problem_context { /* Block group checksum (latch question) */ #define PR_0_GDT_CSUM_LATCH 0x00003E -/* Free inodes count wrong */ -#define PR_0_FREE_INODE_COUNT 0x00003F - -/* Free blocks count wrong */ -#define PR_0_FREE_BLOCK_COUNT 0x000040 - -/* Make quota file hidden */ -#define PR_0_HIDE_QUOTA 0x000041 - -/* Superblock has invalid MMP block. */ -#define PR_0_MMP_INVALID_BLK 0x000042 - -/* Superblock has invalid MMP magic. */ -#define PR_0_MMP_INVALID_MAGIC 0x000043 - -/* Opening file system failed */ -#define PR_0_OPEN_FAILED 0x000044 - -/* Checking group descriptor failed */ -#define PR_0_CHECK_DESC_FAILED 0x000045 - -/* 64bit is set but extents are not set. */ -#define PR_0_64BIT_WITHOUT_EXTENTS 0x000048 /* * Pass 1 errors @@ -544,30 +517,9 @@ struct problem_context { /* Extent node header invalid */ #define PR_1_EXTENT_HEADER_INVALID 0x01005F -/* PR_1_EOFBLOCKS_FL_SET 0x010060 was here */ +/* EOFBLOCKS flag set when not necessary */ +#define PR_1_EOFBLOCKS_FL_SET 0x010060 -/* Failed to convert subcluster bitmap */ -#define PR_1_CONVERT_SUBCLUSTER 0x010061 - -/* Quota inode has wrong mode */ -#define PR_1_QUOTA_BAD_MODE 0x010062 - -/* Quota inode is not in use, but contains data */ -#define PR_1_QUOTA_INODE_NOT_CLEAR 0x010063 - -/* Quota inode is user visible */ -#define PR_1_QUOTA_INODE_NOT_HIDDEN 0x010064 - -/* Invalid bad inode */ -#define PR_1_INVALID_BAD_INODE 0x010065 - -/* Extent has zero length */ -#define PR_1_EXTENT_LENGTH_ZERO 0x010066 - -/* Index start doesn't match start of next extent down */ -#define PR_1_EXTENT_INDEX_START_INVALID 0x01006D - -#define PR_1_EXTENT_END_OUT_OF_BOUNDS 0x01006E /* * Pass 1b errors */ @@ -596,6 +548,7 @@ struct problem_context { /* Error adjusting EA refcount */ #define PR_1B_ADJ_EA_REFCOUNT 0x011007 + /* Pass 1C: Scan directories for inodes with dup blocks. */ #define PR_1C_PASS_HEADER 0x012000 @@ -1037,9 +990,6 @@ struct problem_context { /* Recreate the journal if E2F_FLAG_JOURNAL_INODE flag is set */ #define PR_6_RECREATE_JOURNAL 0x060001 -/* Update quota information if it is inconsistent */ -#define PR_6_UPDATE_QUOTAS 0x060002 - /* * Function declarations */ @@ -1050,7 +1000,7 @@ int get_latch_flags(int mask, int *value); void clear_problem_context(struct problem_context *pctx); /* message.c */ -void print_e2fsck_message(FILE *f, e2fsck_t ctx, const char *msg, +void print_e2fsck_message(e2fsck_t ctx, const char *msg, struct problem_context *pctx, int first, int recurse); diff --git a/e2fsck/problemP.h b/e2fsck/problemP.h index 7944cd6c..a2ed35e5 100644 --- a/e2fsck/problemP.h +++ b/e2fsck/problemP.h @@ -15,8 +15,6 @@ struct e2fsck_problem { char prompt; int flags; problem_t second_code; - int count; - int max_count; }; struct latch_descr { diff --git a/e2fsck/prof_err.c b/e2fsck/prof_err.c index 2c8d43bf..456074ba 100644 --- a/e2fsck/prof_err.c +++ b/e2fsck/prof_err.c @@ -5,40 +5,38 @@ #include -#define N_(a) a - static const char * const text[] = { - N_("Profile version 0.0"), - N_("Bad magic value in profile_node"), - N_("Profile section not found"), - N_("Profile relation not found"), - N_( "Attempt to add a relation to node which is not a section"), - N_( "A profile section header has a non-zero value"), - N_("Bad linked list in profile structures"), - N_("Bad group level in profile structures"), - N_( "Bad parent pointer in profile structures"), - N_("Bad magic value in profile iterator"), - N_("Can't set value on section node"), - N_("Invalid argument passed to profile library"), - N_("Attempt to modify read-only profile"), - N_("Profile section header not at top level"), - N_("Syntax error in profile section header"), - N_("Syntax error in profile relation"), - N_("Extra closing brace in profile"), - N_("Missing open brace in profile"), - N_("Bad magic value in profile_t"), - N_("Bad magic value in profile_section_t"), - N_( "Iteration through all top level section not supported"), - N_("Invalid profile_section object"), - N_("No more sections"), - N_("Bad nameset passed to query routine"), - N_("No profile file open"), - N_("Bad magic value in profile_file_t"), - N_("Couldn't open profile file"), - N_("Section already exists"), - N_("Invalid boolean value"), - N_("Invalid integer value"), - N_("Bad magic value in profile_file_data_t"), + "Profile version 0.0", + "Bad magic value in profile_node", + "Profile section not found", + "Profile relation not found", + "Attempt to add a relation to node which is not a section", + "A profile section header has a non-zero value", + "Bad linked list in profile structures", + "Bad group level in profile strctures", + "Bad parent pointer in profile strctures", + "Bad magic value in profile iterator", + "Can't set value on section node", + "Invalid argument passed to profile library", + "Attempt to modify read-only profile", + "Profile section header not at top level", + "Syntax error in profile section header", + "Syntax error in profile relation", + "Extra closing brace in profile", + "Missing open brace in profile", + "Bad magic value in profile_t", + "Bad magic value in profile_section_t", + "Iteration through all top level section not supported", + "Invalid profile_section object", + "No more sections", + "Bad nameset passed to query routine", + "No profile file open", + "Bad magic value in profile_file_t", + "Couldn't open profile file", + "Section already exists", + "Invalid boolean value", + "Invalid integer value", + "Bad magic value in profile_file_data_t", 0 }; diff --git a/e2fsck/prof_err.et b/e2fsck/prof_err.et index c9316c70..af7801ee 100644 --- a/e2fsck/prof_err.et +++ b/e2fsck/prof_err.et @@ -13,9 +13,9 @@ error_code PROF_ADD_NOT_SECTION, error_code PROF_SECTION_WITH_VALUE, "A profile section header has a non-zero value" error_code PROF_BAD_LINK_LIST, "Bad linked list in profile structures" -error_code PROF_BAD_GROUP_LVL, "Bad group level in profile structures" +error_code PROF_BAD_GROUP_LVL, "Bad group level in profile strctures" error_code PROF_BAD_PARENT_PTR, - "Bad parent pointer in profile structures" + "Bad parent pointer in profile strctures" error_code PROF_MAGIC_ITERATOR, "Bad magic value in profile iterator" error_code PROF_SET_SECTION_VALUE, "Can't set value on section node" error_code PROF_EINVAL, "Invalid argument passed to profile library" diff --git a/e2fsck/profile.c b/e2fsck/profile.c index 845b061b..5e9dc531 100644 --- a/e2fsck/profile.c +++ b/e2fsck/profile.c @@ -276,7 +276,6 @@ static errcode_t get_dirlist(const char *dirname, char***ret_array) new_array = realloc(array, sizeof(char *) * (max+1)); if (!new_array) { retval = ENOMEM; - free(fn); goto errout; } array = new_array; @@ -291,8 +290,6 @@ static errcode_t get_dirlist(const char *dirname, char***ret_array) closedir(dir); return 0; errout: - if (array) - array[num] = 0; closedir(dir); free_list(array); return retval; @@ -317,8 +314,6 @@ profile_init(const char **files, profile_t *ret_profile) /* if the filenames list is not specified return an empty profile */ if ( files ) { for (fs = files; !PROFILE_LAST_FILESPEC(*fs); fs++) { - if (array) - free_list(array); retval = get_dirlist(*fs, &array); if (retval == 0) { if (!array) @@ -350,8 +345,8 @@ profile_init(const char **files, profile_t *ret_profile) * If all the files were not found, return the appropriate error. */ if (!profile->first_file) { - retval = ENOENT; - goto errout; + profile_release(profile); + return ENOENT; } } @@ -1601,43 +1596,6 @@ profile_get_uint(profile_t profile, const char *name, const char *subname, return 0; } -errcode_t -profile_get_double(profile_t profile, const char *name, const char *subname, - const char *subsubname, double def_val, double *ret_double) -{ - const char *value; - errcode_t retval; - char *end_value; - double double_val; - - *ret_double = def_val; - if (profile == 0) - return 0; - - retval = profile_get_value(profile, name, subname, subsubname, &value); - if (retval == PROF_NO_SECTION || retval == PROF_NO_RELATION) { - *ret_double = def_val; - return 0; - } else if (retval) - return retval; - - if (value[0] == 0) - /* Empty string is no good. */ - return PROF_BAD_INTEGER; - errno = 0; - double_val = strtod(value, &end_value); - - /* Overflow or underflow. */ - if (errno != 0) - return PROF_BAD_INTEGER; - /* Garbage in string. */ - if (end_value != value + strlen(value)) - return PROF_BAD_INTEGER; - - *ret_double = double_val; - return 0; -} - static const char *const conf_yes[] = { "y", "yes", "true", "t", "1", "on", 0, diff --git a/e2fsck/profile.h b/e2fsck/profile.h index 4cc10ebc..0c17732e 100644 --- a/e2fsck/profile.h +++ b/e2fsck/profile.h @@ -78,11 +78,6 @@ long profile_get_uint const char *subsubname, unsigned int def_val, unsigned int *ret_int); -long profile_get_double - (profile_t profile, const char *name, const char *subname, - const char *subsubname, double def_val, - double *ret_float); - long profile_get_boolean (profile_t profile, const char *name, const char *subname, const char *subsubname, int def_val, diff --git a/e2fsck/quota.c b/e2fsck/quota.c deleted file mode 100644 index 7d24ccf4..00000000 --- a/e2fsck/quota.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * quota.c --- code for handling ext4 quota inodes - * - */ - -#ifdef HAVE_SYS_MOUNT_H -#include -#include -#define MNT_FL (MS_MGC_VAL | MS_RDONLY) -#endif -#ifdef HAVE_SYS_STAT_H -#include -#endif - -#include "e2fsck.h" -#include "problem.h" -#include "quota/mkquota.h" -#include "quota/quotaio.h" - -static void move_quota_inode(ext2_filsys fs, ext2_ino_t from_ino, - ext2_ino_t to_ino, int qtype) -{ - struct ext2_inode inode; - char qf_name[QUOTA_NAME_LEN]; - - /* We need the inode bitmap to be loaded */ - if (ext2fs_read_bitmaps(fs)) - return; - - if (ext2fs_read_inode(fs, from_ino, &inode)) - return; - - inode.i_links_count = 1; - inode.i_mode = LINUX_S_IFREG | 0600; - inode.i_flags = EXT2_IMMUTABLE_FL; - if (fs->super->s_feature_incompat & - EXT3_FEATURE_INCOMPAT_EXTENTS) - inode.i_flags |= EXT4_EXTENTS_FL; - - ext2fs_write_new_inode(fs, to_ino, &inode); - /* unlink the old inode */ - quota_get_qf_name(qtype, QFMT_VFS_V1, qf_name); - ext2fs_unlink(fs, EXT2_ROOT_INO, qf_name, from_ino, 0); - ext2fs_inode_alloc_stats(fs, from_ino, -1); - /* Clear out the original inode in the inode-table block. */ - memset(&inode, 0, sizeof(struct ext2_inode)); - ext2fs_write_inode(fs, from_ino, &inode); -} - -void e2fsck_hide_quota(e2fsck_t ctx) -{ - struct ext2_super_block *sb = ctx->fs->super; - struct problem_context pctx; - ext2_filsys fs = ctx->fs; - - clear_problem_context(&pctx); - - if ((ctx->options & E2F_OPT_READONLY) || - !(sb->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_QUOTA)) - return; - - pctx.ino = sb->s_usr_quota_inum; - if (sb->s_usr_quota_inum && - (sb->s_usr_quota_inum != EXT4_USR_QUOTA_INO) && - fix_problem(ctx, PR_0_HIDE_QUOTA, &pctx)) { - move_quota_inode(fs, sb->s_usr_quota_inum, EXT4_USR_QUOTA_INO, - USRQUOTA); - sb->s_usr_quota_inum = EXT4_USR_QUOTA_INO; - } - - pctx.ino = sb->s_grp_quota_inum; - if (sb->s_grp_quota_inum && - (sb->s_grp_quota_inum != EXT4_GRP_QUOTA_INO) && - fix_problem(ctx, PR_0_HIDE_QUOTA, &pctx)) { - move_quota_inode(fs, sb->s_grp_quota_inum, EXT4_GRP_QUOTA_INO, - GRPQUOTA); - sb->s_grp_quota_inum = EXT4_GRP_QUOTA_INO; - } - - return; -} diff --git a/e2fsck/recovery.c b/e2fsck/recovery.c index 905edd91..cac9294c 100644 --- a/e2fsck/recovery.c +++ b/e2fsck/recovery.c @@ -70,7 +70,7 @@ static int do_readahead(journal_t *journal, unsigned int start) { int err; unsigned int max, nbufs, next; - unsigned long long blocknr; + unsigned long blocknr; struct buffer_head *bh; struct buffer_head * bufs[MAXBUF]; @@ -132,7 +132,7 @@ static int jread(struct buffer_head **bhp, journal_t *journal, unsigned int offset) { int err; - unsigned long long blocknr; + unsigned long blocknr; struct buffer_head *bh; *bhp = NULL; @@ -282,9 +282,12 @@ int journal_recover(journal_t *journal) int journal_skip_recovery(journal_t *journal) { int err; + journal_superblock_t * sb; + struct recovery_info info; memset (&info, 0, sizeof(info)); + sb = journal->j_superblock; err = do_one_pass(journal, &info, PASS_SCAN); @@ -293,8 +296,6 @@ int journal_skip_recovery(journal_t *journal) ++journal->j_transaction_sequence; } else { #ifdef CONFIG_JBD_DEBUG - journal_superblock_t *sb = journal->j_superblock; - int dropped = info.end_transaction - be32_to_cpu(sb->s_sequence); #endif jbd_debug(1, @@ -307,6 +308,7 @@ int journal_skip_recovery(journal_t *journal) return err; } +#if 0 static inline unsigned long long read_tag_block(int tag_bytes, journal_block_tag_t *tag) { unsigned long long block = be32_to_cpu(tag->t_blocknr); @@ -314,16 +316,17 @@ static inline unsigned long long read_tag_block(int tag_bytes, journal_block_tag block |= (__u64)be32_to_cpu(tag->t_blocknr_high) << 32; return block; } +#endif /* * calc_chksums calculates the checksums for the blocks described in the * descriptor block. */ static int calc_chksums(journal_t *journal, struct buffer_head *bh, - unsigned long long *next_log_block, __u32 *crc32_sum) + unsigned long *next_log_block, __u32 *crc32_sum) { int i, num_blks, err; - unsigned long long io_block; + unsigned long io_block; struct buffer_head *obh; num_blks = count_tags(journal, bh); @@ -336,7 +339,7 @@ static int calc_chksums(journal_t *journal, struct buffer_head *bh, err = jread(&obh, journal, io_block); if (err) { printk(KERN_ERR "JBD: IO error %d recovering block " - "%llu in log\n", err, io_block); + "%lu in log\n", err, io_block); return 1; } else { *crc32_sum = crc32_be(*crc32_sum, (void *)obh->b_data, @@ -351,7 +354,7 @@ static int do_one_pass(journal_t *journal, struct recovery_info *info, enum passtype pass) { unsigned int first_commit_ID, next_commit_ID; - unsigned long long next_log_block; + unsigned long next_log_block; int err, success = 0; journal_superblock_t * sb; journal_header_t * tmp; @@ -361,6 +364,11 @@ static int do_one_pass(journal_t *journal, int tag_bytes = journal_tag_bytes(journal); __u32 crc32_sum = ~0; /* Transactional Checksums */ + /* Precompute the maximum metadata descriptors in a descriptor block */ + int MAX_BLOCKS_PER_DESC; + MAX_BLOCKS_PER_DESC = ((journal->j_blocksize-sizeof(journal_header_t)) + / tag_bytes); + /* * First thing is to establish what we expect to find in the log * (in terms of transaction IDs), and where (in terms of log @@ -401,14 +409,14 @@ static int do_one_pass(journal_t *journal, if (tid_geq(next_commit_ID, info->end_transaction)) break; - jbd_debug(2, "Scanning for sequence ID %u at %llu/%lu\n", + jbd_debug(2, "Scanning for sequence ID %u at %lu/%lu\n", next_commit_ID, next_log_block, journal->j_last); /* Skip over each chunk of the transaction looking * either the next descriptor block or the final commit * record. */ - jbd_debug(3, "JBD: checking block %llu\n", next_log_block); + jbd_debug(3, "JBD: checking block %ld\n", next_log_block); err = jread(&bh, journal, next_log_block); if (err) goto failed; @@ -476,7 +484,7 @@ static int do_one_pass(journal_t *journal, tagp = &bh->b_data[sizeof(journal_header_t)]; while ((tagp - bh->b_data + tag_bytes) <= journal->j_blocksize) { - unsigned long long io_block; + unsigned long io_block; tag = (journal_block_tag_t *) tagp; flags = be32_to_cpu(tag->t_flags); @@ -490,14 +498,13 @@ static int do_one_pass(journal_t *journal, success = err; printk (KERN_ERR "JBD: IO error %d recovering " - "block %llu in log\n", + "block %ld in log\n", err, io_block); } else { - unsigned long long blocknr; + unsigned long blocknr; J_ASSERT(obh != NULL); - blocknr = read_tag_block(tag_bytes, - tag); + blocknr = be32_to_cpu(tag->t_blocknr); /* If the block has been * revoked, then we're all done @@ -715,30 +722,17 @@ static int scan_revoke_records(journal_t *journal, struct buffer_head *bh, { journal_revoke_header_t *header; int offset, max; - int record_len = 4; header = (journal_revoke_header_t *) bh->b_data; offset = sizeof(journal_revoke_header_t); max = be32_to_cpu(header->r_count); - if (JFS_HAS_INCOMPAT_FEATURE(journal, JFS_FEATURE_INCOMPAT_64BIT)) - record_len = 8; - while (offset < max) { - unsigned long long blocknr; + unsigned long blocknr; int err; - if (record_len == 4) { - __be32 b; - memcpy(&b, bh->b_data + offset, sizeof(__be32)); - blocknr = ext2fs_be32_to_cpu(b); - } else { - __be64 b; - memcpy(&b, bh->b_data + offset, sizeof(__be64)); - blocknr = ext2fs_be64_to_cpu(b); - } - - offset += record_len; + blocknr = be32_to_cpu(* ((__be32 *) (bh->b_data+offset))); + offset += 4; err = journal_set_revoke(journal, blocknr, sequence); if (err) return err; diff --git a/e2fsck/region.c b/e2fsck/region.c index 547d3de3..e50c8a44 100644 --- a/e2fsck/region.c +++ b/e2fsck/region.c @@ -170,9 +170,9 @@ void region_print(region_t region, FILE *f) int main(int argc, char **argv) { - region_t r = NULL; + region_t r; int pc = 0, ret; - region_addr_t start, end; + region_addr_t start, end, len; while (1) { diff --git a/e2fsck/rehash.c b/e2fsck/rehash.c index fdfea21d..ceb8543a 100644 --- a/e2fsck/rehash.c +++ b/e2fsck/rehash.c @@ -54,11 +54,11 @@ struct fill_dir_struct { char *buf; struct ext2_inode *inode; - errcode_t err; + int err; e2fsck_t ctx; struct hash_entry *harray; int max_array, num_array; - unsigned int dir_size; + int dir_size; int compress; ino_t parent; }; @@ -78,9 +78,9 @@ struct out_dir { }; static int fill_dir_block(ext2_filsys fs, - blk64_t *block_nr, + blk_t *block_nr, e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { @@ -105,7 +105,7 @@ static int fill_dir_block(ext2_filsys fs, dirent = (struct ext2_dir_entry *) dir; (void) ext2fs_set_rec_len(fs, fs->blocksize, dirent); } else { - fd->err = ext2fs_read_dir_block3(fs, *block_nr, dir, 0); + fd->err = ext2fs_read_dir_block(fs, *block_nr, dir); if (fd->err) return BLOCK_ABORT; } @@ -121,7 +121,7 @@ static int fill_dir_block(ext2_filsys fs, if (((dir_offset + rec_len) > fs->blocksize) || (rec_len < 8) || ((rec_len % 4) != 0) || - (((dirent->name_len & 0xFF)+8U) > rec_len)) { + (((dirent->name_len & 0xFF)+8) > rec_len)) { fd->err = EXT2_ET_DIR_CORRUPTED; return BLOCK_ABORT; } @@ -369,7 +369,7 @@ static int duplicate_search_and_fix(e2fsck_t ctx, ext2_filsys fs, mutate_name(new_name, &new_len); for (j=0; j < fd->num_array; j++) { if ((i==j) || - ((new_len & 0xFF) != + ((ent->dir->name_len & 0xFF) != (fd->harray[j].dir->name_len & 0xFF)) || (strncmp(new_name, fd->harray[j].dir->name, new_len & 0xFF))) @@ -403,9 +403,10 @@ static errcode_t copy_dir_entries(e2fsck_t ctx, char *block_start; struct hash_entry *ent; struct ext2_dir_entry *dirent; - unsigned int rec_len, prev_rec_len, left, slack, offset; - int i; + unsigned int rec_len, prev_rec_len; + int i, left; ext2_dirhash_t prev_hash; + int offset, slack; if (ctx->htree_slack_percentage == 255) { profile_get_uint(ctx->profile, "options", @@ -429,13 +430,12 @@ static errcode_t copy_dir_entries(e2fsck_t ctx, return retval; dirent = (struct ext2_dir_entry *) block_start; prev_rec_len = 0; - rec_len = 0; left = fs->blocksize; slack = fd->compress ? 12 : (fs->blocksize * ctx->htree_slack_percentage)/100; if (slack < 12) slack = 12; - for (i = 0; i < fd->num_array; i++) { + for (i=0; i < fd->num_array; i++) { ent = fd->harray + i; if (ent->dir->inode == 0) continue; @@ -625,21 +625,21 @@ struct write_dir_struct { struct out_dir *outdir; errcode_t err; e2fsck_t ctx; - blk64_t cleared; + int cleared; }; /* * Helper function which writes out a directory block. */ static int write_dir_block(ext2_filsys fs, - blk64_t *block_nr, + blk_t *block_nr, e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { struct write_dir_struct *wd = (struct write_dir_struct *) priv_data; - blk64_t blk; + blk_t blk; char *dir; if (*block_nr == 0) @@ -647,25 +647,17 @@ static int write_dir_block(ext2_filsys fs, if (blockcnt >= wd->outdir->num) { e2fsck_read_bitmaps(wd->ctx); blk = *block_nr; - /* - * In theory, we only release blocks from the end of the - * directory file, so it's fine to clobber a whole cluster at - * once. - */ - if (blk % EXT2FS_CLUSTER_RATIO(fs) == 0) { - ext2fs_unmark_block_bitmap2(wd->ctx->block_found_map, - blk); - ext2fs_block_alloc_stats2(fs, blk, -1); - wd->cleared++; - } + ext2fs_unmark_block_bitmap(wd->ctx->block_found_map, blk); + ext2fs_block_alloc_stats(fs, blk, -1); *block_nr = 0; + wd->cleared++; return BLOCK_CHANGED; } if (blockcnt < 0) return 0; dir = wd->outdir->buf + (blockcnt * fs->blocksize); - wd->err = ext2fs_write_dir_block3(fs, *block_nr, dir, 0); + wd->err = ext2fs_write_dir_block(fs, *block_nr, dir); if (wd->err) return BLOCK_ABORT; return 0; @@ -688,7 +680,7 @@ static errcode_t write_directory(e2fsck_t ctx, ext2_filsys fs, wd.ctx = ctx; wd.cleared = 0; - retval = ext2fs_block_iterate3(fs, ino, 0, 0, + retval = ext2fs_block_iterate2(fs, ino, 0, 0, write_dir_block, &wd); if (retval) return retval; @@ -746,7 +738,7 @@ errcode_t e2fsck_rehash_dir(e2fsck_t ctx, ext2_ino_t ino) retry_nohash: /* Read in the entire directory into memory */ - retval = ext2fs_block_iterate3(fs, ino, 0, 0, + retval = ext2fs_block_iterate2(fs, ino, 0, 0, fill_dir_block, &fd); if (fd.err) { retval = fd.err; @@ -834,7 +826,7 @@ void e2fsck_rehash_directories(e2fsck_t ctx) struct dir_info_iter * dirinfo_iter = 0; ext2_ino_t ino; errcode_t retval; - int cur, max, all_dirs, first = 1; + int cur, max, all_dirs, dir_index, first = 1; init_resource_track(&rtrack, ctx->fs->io); all_dirs = ctx->options & E2F_OPT_COMPRESS_DIRS; @@ -846,6 +838,7 @@ void e2fsck_rehash_directories(e2fsck_t ctx) clear_problem_context(&pctx); + dir_index = ctx->fs->super->s_feature_compat & EXT2_FEATURE_COMPAT_DIR_INDEX; cur = 0; if (all_dirs) { dirinfo_iter = e2fsck_dir_info_iter_begin(ctx); diff --git a/e2fsck/scantest.c b/e2fsck/scantest.c index 5ab97db6..ed586b1c 100644 --- a/e2fsck/scantest.c +++ b/e2fsck/scantest.c @@ -11,6 +11,9 @@ #include #endif #include +#ifdef HAVE_MNTENT_H +#include +#endif #include #ifdef HAVE_MALLOC_H #include diff --git a/e2fsck/sigcatcher.c b/e2fsck/sigcatcher.c deleted file mode 100644 index 183b1dff..00000000 --- a/e2fsck/sigcatcher.c +++ /dev/null @@ -1,441 +0,0 @@ -/* - * sigcatcher.c --- print a backtrace on a SIGSEGV, et. al - * - * Copyright (C) 2011 Theodore Ts'o. - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - */ - -#include -#include -#include -#include -#ifdef HAVE_EXECINFO_H -#include -#endif - -#include "e2fsck.h" - -struct str_table { - int num; - const char *name; -}; - -#define DEFINE_ENTRY(SYM) { SYM, #SYM }, -#define END_TABLE { 0, 0 } - -static struct str_table sig_table[] = { -#ifdef SIGHUP - DEFINE_ENTRY(SIGHUP) -#endif -#ifdef SIGINT - DEFINE_ENTRY(SIGINT) -#endif -#ifdef SIGQUIT - DEFINE_ENTRY(SIGQUIT) -#endif -#ifdef SIGILL - DEFINE_ENTRY(SIGILL) -#endif -#ifdef SIGTRAP - DEFINE_ENTRY(SIGTRAP) -#endif -#ifdef SIGABRT - DEFINE_ENTRY(SIGABRT) -#endif -#ifdef SIGIOT - DEFINE_ENTRY(SIGIOT) -#endif -#ifdef SIGBUS - DEFINE_ENTRY(SIGBUS) -#endif -#ifdef SIGFPE - DEFINE_ENTRY(SIGFPE) -#endif -#ifdef SIGKILL - DEFINE_ENTRY(SIGKILL) -#endif -#ifdef SIGUSR1 - DEFINE_ENTRY(SIGUSR1) -#endif -#ifdef SIGSEGV - DEFINE_ENTRY(SIGSEGV) -#endif -#ifdef SIGUSR2 - DEFINE_ENTRY(SIGUSR2) -#endif -#ifdef SIGPIPE - DEFINE_ENTRY(SIGPIPE) -#endif -#ifdef SIGALRM - DEFINE_ENTRY(SIGALRM) -#endif -#ifdef SIGTERM - DEFINE_ENTRY(SIGTERM) -#endif -#ifdef SIGSTKFLT - DEFINE_ENTRY(SIGSTKFLT) -#endif -#ifdef SIGCHLD - DEFINE_ENTRY(SIGCHLD) -#endif -#ifdef SIGCONT - DEFINE_ENTRY(SIGCONT) -#endif -#ifdef SIGSTOP - DEFINE_ENTRY(SIGSTOP) -#endif -#ifdef SIGTSTP - DEFINE_ENTRY(SIGTSTP) -#endif -#ifdef SIGTTIN - DEFINE_ENTRY(SIGTTIN) -#endif -#ifdef SIGTTOU - DEFINE_ENTRY(SIGTTOU) -#endif -#ifdef SIGURG - DEFINE_ENTRY(SIGURG) -#endif -#ifdef SIGXCPU - DEFINE_ENTRY(SIGXCPU) -#endif -#ifdef SIGXFSZ - DEFINE_ENTRY(SIGXFSZ) -#endif -#ifdef SIGVTALRM - DEFINE_ENTRY(SIGVTALRM) -#endif -#ifdef SIGPROF - DEFINE_ENTRY(SIGPROF) -#endif -#ifdef SIGWINCH - DEFINE_ENTRY(SIGWINCH) -#endif -#ifdef SIGIO - DEFINE_ENTRY(SIGIO) -#endif -#ifdef SIGPOLL - DEFINE_ENTRY(SIGPOLL) -#endif -#ifdef SIGPWR - DEFINE_ENTRY(SIGPWR) -#endif -#ifdef SIGSYS - DEFINE_ENTRY(SIGSYS) -#endif - END_TABLE -}; - -static struct str_table generic_code_table[] = { -#ifdef SI_ASYNCNL - DEFINE_ENTRY(SI_ASYNCNL) -#endif -#ifdef SI_TKILL - DEFINE_ENTRY(SI_TKILL) -#endif -#ifdef SI_SIGIO - DEFINE_ENTRY(SI_SIGIO) -#endif -#ifdef SI_ASYNCIO - DEFINE_ENTRY(SI_ASYNCIO) -#endif -#ifdef SI_MESGQ - DEFINE_ENTRY(SI_MESGQ) -#endif -#ifdef SI_TIMER - DEFINE_ENTRY(SI_TIMER) -#endif -#ifdef SI_QUEUE - DEFINE_ENTRY(SI_QUEUE) -#endif -#ifdef SI_USER - DEFINE_ENTRY(SI_USER) -#endif -#ifdef SI_KERNEL - DEFINE_ENTRY(SI_KERNEL) -#endif - END_TABLE -}; - -static struct str_table sigill_code_table[] = { -#ifdef ILL_ILLOPC - DEFINE_ENTRY(ILL_ILLOPC) -#endif -#ifdef ILL_ILLOPN - DEFINE_ENTRY(ILL_ILLOPN) -#endif -#ifdef ILL_ILLADR - DEFINE_ENTRY(ILL_ILLADR) -#endif -#ifdef ILL_ILLTRP - DEFINE_ENTRY(ILL_ILLTRP) -#endif -#ifdef ILL_PRVOPC - DEFINE_ENTRY(ILL_PRVOPC) -#endif -#ifdef ILL_PRVREG - DEFINE_ENTRY(ILL_PRVREG) -#endif -#ifdef ILL_COPROC - DEFINE_ENTRY(ILL_COPROC) -#endif -#ifdef ILL_BADSTK - DEFINE_ENTRY(ILL_BADSTK) -#endif -#ifdef BUS_ADRALN - DEFINE_ENTRY(BUS_ADRALN) -#endif -#ifdef BUS_ADRERR - DEFINE_ENTRY(BUS_ADRERR) -#endif -#ifdef BUS_OBJERR - DEFINE_ENTRY(BUS_OBJERR) -#endif - END_TABLE -}; - -static struct str_table sigfpe_code_table[] = { -#ifdef FPE_INTDIV - DEFINE_ENTRY(FPE_INTDIV) -#endif -#ifdef FPE_INTOVF - DEFINE_ENTRY(FPE_INTOVF) -#endif -#ifdef FPE_FLTDIV - DEFINE_ENTRY(FPE_FLTDIV) -#endif -#ifdef FPE_FLTOVF - DEFINE_ENTRY(FPE_FLTOVF) -#endif -#ifdef FPE_FLTUND - DEFINE_ENTRY(FPE_FLTUND) -#endif -#ifdef FPE_FLTRES - DEFINE_ENTRY(FPE_FLTRES) -#endif -#ifdef FPE_FLTINV - DEFINE_ENTRY(FPE_FLTINV) -#endif -#ifdef FPE_FLTSUB - DEFINE_ENTRY(FPE_FLTSUB) -#endif - END_TABLE -}; - -static struct str_table sigsegv_code_table[] = { -#ifdef SEGV_MAPERR - DEFINE_ENTRY(SEGV_MAPERR) -#endif -#ifdef SEGV_ACCERR - DEFINE_ENTRY(SEGV_ACCERR) -#endif - END_TABLE -}; - - -static struct str_table sigbus_code_table[] = { -#ifdef BUS_ADRALN - DEFINE_ENTRY(BUS_ADRALN) -#endif -#ifdef BUS_ADRERR - DEFINE_ENTRY(BUS_ADRERR) -#endif -#ifdef BUS_OBJERR - DEFINE_ENTRY(BUS_OBJERR) -#endif - END_TABLE -}; - -#if 0 /* should this be hooked in somewhere? */ -static struct str_table sigstrap_code_table[] = { -#ifdef TRAP_BRKPT - DEFINE_ENTRY(TRAP_BRKPT) -#endif -#ifdef TRAP_TRACE - DEFINE_ENTRY(TRAP_TRACE) -#endif - END_TABLE -}; -#endif - -static struct str_table sigcld_code_table[] = { -#ifdef CLD_EXITED - DEFINE_ENTRY(CLD_EXITED) -#endif -#ifdef CLD_KILLED - DEFINE_ENTRY(CLD_KILLED) -#endif -#ifdef CLD_DUMPED - DEFINE_ENTRY(CLD_DUMPED) -#endif -#ifdef CLD_TRAPPED - DEFINE_ENTRY(CLD_TRAPPED) -#endif -#ifdef CLD_STOPPED - DEFINE_ENTRY(CLD_STOPPED) -#endif -#ifdef CLD_CONTINUED - DEFINE_ENTRY(CLD_CONTINUED) -#endif - END_TABLE -}; - -#if 0 /* should this be hooked in somewhere? */ -static struct str_table sigpoll_code_table[] = { -#ifdef POLL_IN - DEFINE_ENTRY(POLL_IN) -#endif -#ifdef POLL_OUT - DEFINE_ENTRY(POLL_OUT) -#endif -#ifdef POLL_MSG - DEFINE_ENTRY(POLL_MSG) -#endif -#ifdef POLL_ERR - DEFINE_ENTRY(POLL_ERR) -#endif -#ifdef POLL_PRI - DEFINE_ENTRY(POLL_PRI) -#endif -#ifdef POLL_HUP - DEFINE_ENTRY(POLL_HUP) -#endif - END_TABLE -}; -#endif - -static const char *lookup_table(int num, struct str_table *table) -{ - struct str_table *p; - - for (p=table; p->name; p++) - if (num == p->num) - return(p->name); - return NULL; -} - -static const char *lookup_table_fallback(int num, struct str_table *table) -{ - static char buf[32]; - const char *ret = lookup_table(num, table); - - if (ret) - return ret; - snprintf(buf, sizeof(buf), "%d", num); - buf[sizeof(buf)-1] = 0; - return buf; -} - -static void die_signal_handler(int signum, siginfo_t *siginfo, - void *context EXT2FS_ATTR((unused))) -{ - void *stack_syms[32]; - int frames; - const char *cp; - - fprintf(stderr, "Signal (%d) %s ", signum, - lookup_table_fallback(signum, sig_table)); - if (siginfo->si_code == SI_USER) - fprintf(stderr, "(sent from pid %u) ", siginfo->si_pid); - cp = lookup_table(siginfo->si_code, generic_code_table); - if (cp) - fprintf(stderr, "si_code=%s ", cp); - else if (signum == SIGILL) - fprintf(stderr, "si_code=%s ", - lookup_table_fallback(siginfo->si_code, - sigill_code_table)); - else if (signum == SIGFPE) - fprintf(stderr, "si_code=%s ", - lookup_table_fallback(siginfo->si_code, - sigfpe_code_table)); - else if (signum == SIGSEGV) - fprintf(stderr, "si_code=%s ", - lookup_table_fallback(siginfo->si_code, - sigsegv_code_table)); - else if (signum == SIGBUS) - fprintf(stderr, "si_code=%s ", - lookup_table_fallback(siginfo->si_code, - sigbus_code_table)); - else if (signum == SIGCHLD) - fprintf(stderr, "si_code=%s ", - lookup_table_fallback(siginfo->si_code, - sigcld_code_table)); - else - fprintf(stderr, "si code=%d ", siginfo->si_code); - if ((siginfo->si_code != SI_USER) && - (signum == SIGILL || signum == SIGFPE || - signum == SIGSEGV || signum == SIGBUS)) - fprintf(stderr, "fault addr=%p", siginfo->si_addr); - fprintf(stderr, "\n"); - -#if defined(HAVE_BACKTRACE) && !defined(DISABLE_BACKTRACE) - frames = backtrace(stack_syms, 32); - backtrace_symbols_fd(stack_syms, frames, 2); -#endif - exit(FSCK_ERROR); -} - -void sigcatcher_setup(void) -{ - struct sigaction sa; - - memset(&sa, 0, sizeof(struct sigaction)); - sa.sa_sigaction = die_signal_handler; - sa.sa_flags = SA_SIGINFO; - - sigaction(SIGFPE, &sa, 0); - sigaction(SIGILL, &sa, 0); - sigaction(SIGBUS, &sa, 0); - sigaction(SIGSEGV, &sa, 0); -} - - -#ifdef DEBUG -#include - -void usage(void) -{ - fprintf(stderr, "tst_sigcatcher: [-akfn]\n"); - exit(1); -} - -int main(int argc, char** argv) -{ - struct sigaction sa; - char *p = 0; - int i, c; - volatile x=0; - - memset(&sa, 0, sizeof(struct sigaction)); - sa.sa_sigaction = die_signal_handler; - sa.sa_flags = SA_SIGINFO; - for (i=1; i < 31; i++) - sigaction(i, &sa, 0); - - while ((c = getopt (argc, argv, "afkn")) != EOF) - switch (c) { - case 'a': - abort(); - break; - case 'f': - printf("%d\n", 42/x); - case 'k': - kill(getpid(), SIGTERM); - break; - case 'n': - *p = 42; - default: - usage (); - } - - printf("Sleeping for 10 seconds, send kill signal to pid %u...\n", - getpid()); - fflush(stdout); - sleep(10); - exit(0); -} -#endif diff --git a/e2fsck/super.c b/e2fsck/super.c index d05c90e5..accc2f11 100644 --- a/e2fsck/super.c +++ b/e2fsck/super.c @@ -21,7 +21,6 @@ #define MIN_CHECK 1 #define MAX_CHECK 2 -#define LOG2_CHECK 4 static void check_super_value(e2fsck_t ctx, const char *descr, unsigned long value, int flags, @@ -30,8 +29,7 @@ static void check_super_value(e2fsck_t ctx, const char *descr, struct problem_context pctx; if (((flags & MIN_CHECK) && (value < min_val)) || - ((flags & MAX_CHECK) && (value > max_val)) || - ((flags & LOG2_CHECK) && (value & (value - 1) != 0))) { + ((flags & MAX_CHECK) && (value > max_val))) { clear_problem_context(&pctx); pctx.num = value; pctx.str = descr; @@ -56,16 +54,16 @@ struct process_block_struct { }; static int release_inode_block(ext2_filsys fs, - blk64_t *block_nr, + blk_t *block_nr, e2_blkcnt_t blockcnt, - blk64_t ref_blk EXT2FS_ATTR((unused)), + blk_t ref_blk EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { struct process_block_struct *pb; e2fsck_t ctx; struct problem_context *pctx; - blk64_t blk = *block_nr; + blk_t blk = *block_nr; int retval = 0; pb = (struct process_block_struct *) priv_data; @@ -79,14 +77,14 @@ static int release_inode_block(ext2_filsys fs, return 0; if ((blk < fs->super->s_first_data_block) || - (blk >= ext2fs_blocks_count(fs->super))) { + (blk >= fs->super->s_blocks_count)) { fix_problem(ctx, PR_0_ORPHAN_ILLEGAL_BLOCK_NUM, pctx); return_abort: pb->abort = 1; return BLOCK_ABORT; } - if (!ext2fs_test_block_bitmap2(fs->block_map, blk)) { + if (!ext2fs_test_block_bitmap(fs->block_map, blk)) { fix_problem(ctx, PR_0_ORPHAN_ALREADY_CLEARED_BLOCK, pctx); goto return_abort; } @@ -105,7 +103,7 @@ static int release_inode_block(ext2_filsys fs, int i, limit; blk_t *bp; - pb->errcode = io_channel_read_blk64(fs->io, blk, 1, + pb->errcode = io_channel_read_blk(fs->io, blk, 1, pb->buf); if (pb->errcode) goto return_abort; @@ -127,13 +125,13 @@ static int release_inode_block(ext2_filsys fs, * it here. */ if ((blockcnt == pb->truncate_block) && pb->truncate_offset) { - pb->errcode = io_channel_read_blk64(fs->io, blk, 1, + pb->errcode = io_channel_read_blk(fs->io, blk, 1, pb->buf); if (pb->errcode) goto return_abort; memset(pb->buf + pb->truncate_offset, 0, fs->blocksize - pb->truncate_offset); - pb->errcode = io_channel_write_blk64(fs->io, blk, 1, + pb->errcode = io_channel_write_blk(fs->io, blk, 1, pb->buf); if (pb->errcode) goto return_abort; @@ -143,8 +141,7 @@ static int release_inode_block(ext2_filsys fs, retval |= BLOCK_CHANGED; } - ext2fs_block_alloc_stats2(fs, blk, -1); - ctx->free_blocks++; + ext2fs_block_alloc_stats(fs, blk, -1); return retval; } @@ -162,7 +159,7 @@ static int release_inode_blocks(e2fsck_t ctx, ext2_ino_t ino, errcode_t retval; __u32 count; - if (!ext2fs_inode_has_valid_blocks2(fs, inode)) + if (!ext2fs_inode_has_valid_blocks(inode)) return 0; pb.buf = block_buf + 3 * ctx->fs->blocksize; @@ -173,7 +170,8 @@ static int release_inode_blocks(e2fsck_t ctx, ext2_ino_t ino, if (inode->i_links_count) { pb.truncating = 1; pb.truncate_block = (e2_blkcnt_t) - ((EXT2_I_SIZE(inode) + fs->blocksize - 1) / + ((((long long)inode->i_size_high << 32) + + inode->i_size + fs->blocksize - 1) / fs->blocksize); pb.truncate_offset = inode->i_size % fs->blocksize; } else { @@ -182,7 +180,7 @@ static int release_inode_blocks(e2fsck_t ctx, ext2_ino_t ino, pb.truncate_offset = 0; } pb.truncated_blocks = 0; - retval = ext2fs_block_iterate3(fs, ino, BLOCK_FLAG_DEPTH_TRAVERSE, + retval = ext2fs_block_iterate2(fs, ino, BLOCK_FLAG_DEPTH_TRAVERSE, block_buf, release_inode_block, &pb); if (retval) { com_err("release_inode_blocks", retval, @@ -199,26 +197,22 @@ static int release_inode_blocks(e2fsck_t ctx, ext2_ino_t ino, if (pb.truncated_blocks) ext2fs_iblk_sub_blocks(fs, inode, pb.truncated_blocks); - if (ext2fs_file_acl_block(fs, inode)) { - retval = ext2fs_adjust_ea_refcount2(fs, - ext2fs_file_acl_block(fs, inode), - block_buf, -1, &count); + if (inode->i_file_acl) { + retval = ext2fs_adjust_ea_refcount(fs, inode->i_file_acl, + block_buf, -1, &count); if (retval == EXT2_ET_BAD_EA_BLOCK_NUM) { retval = 0; count = 1; } if (retval) { com_err("release_inode_blocks", retval, - _("while calling ext2fs_adjust_ea_refcount2 for inode %d"), + _("while calling ext2fs_adjust_ea_refcount for inode %d"), ino); return 1; } - if (count == 0) { - ext2fs_block_alloc_stats2(fs, - ext2fs_file_acl_block(fs, inode), -1); - ctx->free_blocks++; - } - ext2fs_file_acl_block_set(fs, inode, 0); + if (count == 0) + ext2fs_block_alloc_stats(fs, inode->i_file_acl, -1); + inode->i_file_acl = 0; } return 0; } @@ -290,7 +284,6 @@ static int release_orphan_inodes(e2fsck_t ctx) if (!inode.i_links_count) { ext2fs_inode_alloc_stats2(fs, ino, -1, LINUX_S_ISDIR(inode.i_mode)); - ctx->free_inodes++; inode.i_dtime = ctx->now; } else { inode.i_dtime = 0; @@ -318,8 +311,7 @@ void check_resize_inode(e2fsck_t ctx) struct problem_context pctx; int i, gdt_off, ind_off; dgrp_t j; - blk_t blk, pblk; - blk_t expect; /* for resize inode, which is 32-bit only */ + blk_t blk, pblk, expect; __u32 *dind_buf = 0, *ind_buf; errcode_t retval; @@ -382,7 +374,7 @@ void check_resize_inode(e2fsck_t ctx) if ((i < EXT2_N_BLOCKS) || !blk || !inode.i_links_count || !(inode.i_mode & LINUX_S_IFREG) || (blk < fs->super->s_first_data_block || - blk >= ext2fs_blocks_count(fs->super))) { + blk >= fs->super->s_blocks_count)) { resize_inode_invalid: if (fix_problem(ctx, PR_0_RESIZE_INODE_INVALID, &pctx)) { memset(&inode, 0, sizeof(inode)); @@ -406,8 +398,6 @@ void check_resize_inode(e2fsck_t ctx) gdt_off = fs->desc_blocks; pblk = fs->super->s_first_data_block + 1 + fs->desc_blocks; - if (fs->blocksize == 1024 && fs->super->s_first_data_block == 0) - pblk++; /* Deal with 1024 blocksize bigalloc fs */ for (i = 0; i < fs->super->s_reserved_gdt_blocks / 4; i++, gdt_off++, pblk++) { gdt_off %= fs->blocksize/4; @@ -464,20 +454,21 @@ static void e2fsck_fix_dirhash_hint(e2fsck_t ctx) void check_super_block(e2fsck_t ctx) { ext2_filsys fs = ctx->fs; - blk64_t first_block, last_block; + blk_t first_block, last_block; struct ext2_super_block *sb = fs->super; - unsigned int ipg_max; + struct ext2_group_desc *gd; problem_t problem; - blk64_t blocks_per_group = fs->super->s_blocks_per_group; - __u32 bpg_max, cpg_max; + blk_t blocks_per_group = fs->super->s_blocks_per_group; + blk_t bpg_max; int inodes_per_block; + int ipg_max; int inode_size; int accept_time_fudge; int broken_system_clock; dgrp_t i; - blk64_t should_be; + blk_t should_be; struct problem_context pctx; - blk64_t free_blocks = 0; + blk_t free_blocks = 0; ino_t free_inodes = 0; int csum_flag, clear_test_fs_flag; @@ -485,10 +476,7 @@ void check_super_block(e2fsck_t ctx) ipg_max = inodes_per_block * (blocks_per_group - 4); if (ipg_max > EXT2_MAX_INODES_PER_GROUP(sb)) ipg_max = EXT2_MAX_INODES_PER_GROUP(sb); - cpg_max = 8 * EXT2_BLOCK_SIZE(sb); - if (cpg_max > EXT2_MAX_CLUSTERS_PER_GROUP(sb)) - cpg_max = EXT2_MAX_CLUSTERS_PER_GROUP(sb); - bpg_max = 8 * EXT2_BLOCK_SIZE(sb) * EXT2FS_CLUSTER_RATIO(fs); + bpg_max = 8 * EXT2_BLOCK_SIZE(sb); if (bpg_max > EXT2_MAX_BLOCKS_PER_GROUP(sb)) bpg_max = EXT2_MAX_BLOCKS_PER_GROUP(sb); @@ -506,52 +494,46 @@ void check_super_block(e2fsck_t ctx) */ check_super_value(ctx, "inodes_count", sb->s_inodes_count, MIN_CHECK, 1, 0); - check_super_value(ctx, "blocks_count", ext2fs_blocks_count(sb), + check_super_value(ctx, "blocks_count", sb->s_blocks_count, MIN_CHECK, 1, 0); check_super_value(ctx, "first_data_block", sb->s_first_data_block, - MAX_CHECK, 0, ext2fs_blocks_count(sb)); + MAX_CHECK, 0, sb->s_blocks_count); check_super_value(ctx, "log_block_size", sb->s_log_block_size, MIN_CHECK | MAX_CHECK, 0, EXT2_MAX_BLOCK_LOG_SIZE - EXT2_MIN_BLOCK_LOG_SIZE); - check_super_value(ctx, "log_cluster_size", - sb->s_log_cluster_size, - MIN_CHECK | MAX_CHECK, sb->s_log_block_size, - (EXT2_MAX_CLUSTER_LOG_SIZE - - EXT2_MIN_CLUSTER_LOG_SIZE)); - check_super_value(ctx, "clusters_per_group", sb->s_clusters_per_group, - MIN_CHECK | MAX_CHECK, 8, cpg_max); + check_super_value(ctx, "log_frag_size", sb->s_log_frag_size, + MIN_CHECK | MAX_CHECK, 0, sb->s_log_block_size); + check_super_value(ctx, "frags_per_group", sb->s_frags_per_group, + MIN_CHECK | MAX_CHECK, sb->s_blocks_per_group, + bpg_max); check_super_value(ctx, "blocks_per_group", sb->s_blocks_per_group, MIN_CHECK | MAX_CHECK, 8, bpg_max); check_super_value(ctx, "inodes_per_group", sb->s_inodes_per_group, MIN_CHECK | MAX_CHECK, inodes_per_block, ipg_max); - check_super_value(ctx, "r_blocks_count", ext2fs_r_blocks_count(sb), - MAX_CHECK, 0, ext2fs_blocks_count(sb) / 2); + check_super_value(ctx, "r_blocks_count", sb->s_r_blocks_count, + MAX_CHECK, 0, sb->s_blocks_count / 2); check_super_value(ctx, "reserved_gdt_blocks", sb->s_reserved_gdt_blocks, MAX_CHECK, 0, - fs->blocksize / sizeof(__u32)); - check_super_value(ctx, "desc_size", - sb->s_desc_size, MAX_CHECK | LOG2_CHECK, 0, - EXT2_MAX_DESC_SIZE); + fs->blocksize/4); if (sb->s_rev_level > EXT2_GOOD_OLD_REV) check_super_value(ctx, "first_ino", sb->s_first_ino, MIN_CHECK | MAX_CHECK, EXT2_GOOD_OLD_FIRST_INO, sb->s_inodes_count); inode_size = EXT2_INODE_SIZE(sb); check_super_value(ctx, "inode_size", - inode_size, MIN_CHECK | MAX_CHECK | LOG2_CHECK, + inode_size, MIN_CHECK | MAX_CHECK, EXT2_GOOD_OLD_INODE_SIZE, fs->blocksize); - if (sb->s_blocks_per_group != (sb->s_clusters_per_group * - EXT2FS_CLUSTER_RATIO(fs))) { - pctx.num = sb->s_clusters_per_group * EXT2FS_CLUSTER_RATIO(fs); - pctx.str = "block_size"; + if (inode_size & (inode_size - 1)) { + pctx.num = inode_size; + pctx.str = "inode_size"; fix_problem(ctx, PR_0_MISC_CORRUPT_SUPER, &pctx); ctx->flags |= E2F_FLAG_ABORT; /* never get here! */ return; } if ((ctx->flags & E2F_FLAG_GOT_DEVSIZE) && - (ctx->num_blocks < ext2fs_blocks_count(sb))) { - pctx.blk = ext2fs_blocks_count(sb); + (ctx->num_blocks < sb->s_blocks_count)) { + pctx.blk = sb->s_blocks_count; pctx.blk2 = ctx->num_blocks; if (fix_problem(ctx, PR_0_FS_SIZE_WRONG, &pctx)) { ctx->flags |= E2F_FLAG_ABORT; @@ -559,8 +541,25 @@ void check_super_block(e2fsck_t ctx) } } - should_be = (sb->s_log_block_size == 0 && - EXT2FS_CLUSTER_RATIO(fs) == 1) ? 1 : 0; + if (sb->s_log_block_size != (__u32) sb->s_log_frag_size) { + pctx.blk = EXT2_BLOCK_SIZE(sb); + pctx.blk2 = EXT2_FRAG_SIZE(sb); + fix_problem(ctx, PR_0_NO_FRAGMENTS, &pctx); + ctx->flags |= E2F_FLAG_ABORT; + return; + } + + should_be = sb->s_frags_per_group >> + (sb->s_log_block_size - sb->s_log_frag_size); + if (sb->s_blocks_per_group != should_be) { + pctx.blk = sb->s_blocks_per_group; + pctx.blk2 = should_be; + fix_problem(ctx, PR_0_BLOCKS_PER_GROUP, &pctx); + ctx->flags |= E2F_FLAG_ABORT; + return; + } + + should_be = (sb->s_log_block_size == 0) ? 1 : 0; if (sb->s_first_data_block != should_be) { pctx.blk = sb->s_first_data_block; pctx.blk2 = should_be; @@ -579,114 +578,109 @@ void check_super_block(e2fsck_t ctx) } } - /* Is 64bit set and extents unset? */ - if (EXT2_HAS_INCOMPAT_FEATURE(fs->super, - EXT4_FEATURE_INCOMPAT_64BIT) && - !EXT2_HAS_INCOMPAT_FEATURE(fs->super, - EXT3_FEATURE_INCOMPAT_EXTENTS) && - fix_problem(ctx, PR_0_64BIT_WITHOUT_EXTENTS, &pctx)) { - fs->super->s_feature_incompat |= - EXT3_FEATURE_INCOMPAT_EXTENTS; - ext2fs_mark_super_dirty(fs); - } - /* * Verify the group descriptors.... */ first_block = sb->s_first_data_block; - last_block = ext2fs_blocks_count(sb)-1; + last_block = sb->s_blocks_count-1; csum_flag = EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM); - for (i = 0; i < fs->group_desc_count; i++) { + for (i = 0, gd=fs->group_desc; i < fs->group_desc_count; i++, gd++) { pctx.group = i; if (!EXT2_HAS_INCOMPAT_FEATURE(fs->super, EXT4_FEATURE_INCOMPAT_FLEX_BG)) { - first_block = ext2fs_group_first_block2(fs, i); - last_block = ext2fs_group_last_block2(fs, i); + first_block = ext2fs_group_first_block(fs, i); + last_block = ext2fs_group_last_block(fs, i); } - if ((ext2fs_block_bitmap_loc(fs, i) < first_block) || - (ext2fs_block_bitmap_loc(fs, i) > last_block)) { - pctx.blk = ext2fs_block_bitmap_loc(fs, i); + if ((gd->bg_block_bitmap < first_block) || + (gd->bg_block_bitmap > last_block)) { + pctx.blk = gd->bg_block_bitmap; if (fix_problem(ctx, PR_0_BB_NOT_GROUP, &pctx)) - ext2fs_block_bitmap_loc_set(fs, i, 0); + gd->bg_block_bitmap = 0; } - if (ext2fs_block_bitmap_loc(fs, i) == 0) { + if (gd->bg_block_bitmap == 0) { ctx->invalid_block_bitmap_flag[i]++; ctx->invalid_bitmaps++; } - if ((ext2fs_inode_bitmap_loc(fs, i) < first_block) || - (ext2fs_inode_bitmap_loc(fs, i) > last_block)) { - pctx.blk = ext2fs_inode_bitmap_loc(fs, i); + if ((gd->bg_inode_bitmap < first_block) || + (gd->bg_inode_bitmap > last_block)) { + pctx.blk = gd->bg_inode_bitmap; if (fix_problem(ctx, PR_0_IB_NOT_GROUP, &pctx)) - ext2fs_inode_bitmap_loc_set(fs, i, 0); + gd->bg_inode_bitmap = 0; } - if (ext2fs_inode_bitmap_loc(fs, i) == 0) { + if (gd->bg_inode_bitmap == 0) { ctx->invalid_inode_bitmap_flag[i]++; ctx->invalid_bitmaps++; } - if ((ext2fs_inode_table_loc(fs, i) < first_block) || - ((ext2fs_inode_table_loc(fs, i) + + if ((gd->bg_inode_table < first_block) || + ((gd->bg_inode_table + fs->inode_blocks_per_group - 1) > last_block)) { - pctx.blk = ext2fs_inode_table_loc(fs, i); + pctx.blk = gd->bg_inode_table; if (fix_problem(ctx, PR_0_ITABLE_NOT_GROUP, &pctx)) - ext2fs_inode_table_loc_set(fs, i, 0); + gd->bg_inode_table = 0; } - if (ext2fs_inode_table_loc(fs, i) == 0) { + if (gd->bg_inode_table == 0) { ctx->invalid_inode_table_flag[i]++; ctx->invalid_bitmaps++; } - free_blocks += ext2fs_bg_free_blocks_count(fs, i); - free_inodes += ext2fs_bg_free_inodes_count(fs, i); + free_blocks += gd->bg_free_blocks_count; + free_inodes += gd->bg_free_inodes_count; - if ((ext2fs_bg_free_blocks_count(fs, i) > sb->s_blocks_per_group) || - (ext2fs_bg_free_inodes_count(fs, i) > sb->s_inodes_per_group) || - (ext2fs_bg_used_dirs_count(fs, i) > sb->s_inodes_per_group)) + if ((gd->bg_free_blocks_count > sb->s_blocks_per_group) || + (gd->bg_free_inodes_count > sb->s_inodes_per_group) || + (gd->bg_used_dirs_count > sb->s_inodes_per_group)) ext2fs_unmark_valid(fs); should_be = 0; if (!ext2fs_group_desc_csum_verify(fs, i)) { - pctx.csum1 = ext2fs_bg_checksum(fs, i); - pctx.csum2 = ext2fs_group_desc_csum(fs, i); if (fix_problem(ctx, PR_0_GDT_CSUM, &pctx)) { - ext2fs_bg_flags_clear(fs, i, EXT2_BG_BLOCK_UNINIT); - ext2fs_bg_flags_clear(fs, i, EXT2_BG_INODE_UNINIT); - ext2fs_bg_itable_unused_set(fs, i, 0); + gd->bg_flags &= ~(EXT2_BG_BLOCK_UNINIT | + EXT2_BG_INODE_UNINIT); + gd->bg_itable_unused = 0; should_be = 1; } ext2fs_unmark_valid(fs); } if (!csum_flag && - (ext2fs_bg_flags_test(fs, i, EXT2_BG_BLOCK_UNINIT) || - ext2fs_bg_flags_test(fs, i, EXT2_BG_INODE_UNINIT) || - ext2fs_bg_itable_unused(fs, i) != 0)) { + (gd->bg_flags &(EXT2_BG_BLOCK_UNINIT|EXT2_BG_INODE_UNINIT)|| + gd->bg_itable_unused != 0)){ if (fix_problem(ctx, PR_0_GDT_UNINIT, &pctx)) { - ext2fs_bg_flags_clear(fs, i, EXT2_BG_BLOCK_UNINIT); - ext2fs_bg_flags_clear(fs, i, EXT2_BG_INODE_UNINIT); - ext2fs_bg_itable_unused_set(fs, i, 0); + gd->bg_flags &= ~(EXT2_BG_BLOCK_UNINIT | + EXT2_BG_INODE_UNINIT); + gd->bg_itable_unused = 0; should_be = 1; } ext2fs_unmark_valid(fs); } if (i == fs->group_desc_count - 1 && - ext2fs_bg_flags_test(fs, i, EXT2_BG_BLOCK_UNINIT)) { + gd->bg_flags & EXT2_BG_BLOCK_UNINIT) { if (fix_problem(ctx, PR_0_BB_UNINIT_LAST, &pctx)) { - ext2fs_bg_flags_clear(fs, i, EXT2_BG_BLOCK_UNINIT); + gd->bg_flags &= ~EXT2_BG_BLOCK_UNINIT; + should_be = 1; + } + ext2fs_unmark_valid(fs); + } + + if (gd->bg_flags & EXT2_BG_BLOCK_UNINIT && + !(gd->bg_flags & EXT2_BG_INODE_UNINIT)) { + if (fix_problem(ctx, PR_0_BB_UNINIT_IB_INIT, &pctx)) { + gd->bg_flags &= ~EXT2_BG_BLOCK_UNINIT; should_be = 1; } ext2fs_unmark_valid(fs); } if (csum_flag && - (ext2fs_bg_itable_unused(fs, i) > ext2fs_bg_free_inodes_count(fs, i) || - ext2fs_bg_itable_unused(fs, i) > sb->s_inodes_per_group)) { - pctx.blk = ext2fs_bg_itable_unused(fs, i); + (gd->bg_itable_unused > gd->bg_free_inodes_count || + gd->bg_itable_unused > sb->s_inodes_per_group)) { + pctx.blk = gd->bg_itable_unused; if (fix_problem(ctx, PR_0_GDT_ITABLE_UNUSED, &pctx)) { - ext2fs_bg_itable_unused_set(fs, i, 0); + gd->bg_itable_unused = 0; should_be = 1; } ext2fs_unmark_valid(fs); @@ -694,15 +688,27 @@ void check_super_block(e2fsck_t ctx) if (should_be) ext2fs_group_desc_csum_set(fs, i); - /* If the user aborts e2fsck by typing ^C, stop right away */ - if (ctx->flags & E2F_FLAG_SIGNAL_MASK) - return; } - ctx->free_blocks = EXT2FS_C2B(fs, free_blocks); - ctx->free_inodes = free_inodes; + /* + * Update the global counts from the block group counts. This + * is needed for an experimental patch which eliminates + * locking the entire filesystem when allocating blocks or + * inodes; if the filesystem is not unmounted cleanly, the + * global counts may not be accurate. + */ + if ((free_blocks != sb->s_free_blocks_count) || + (free_inodes != sb->s_free_inodes_count)) { + if (ctx->options & E2F_OPT_READONLY) + ext2fs_unmark_valid(fs); + else { + sb->s_free_blocks_count = free_blocks; + sb->s_free_inodes_count = free_inodes; + ext2fs_mark_super_dirty(fs); + } + } - if ((ext2fs_free_blocks_count(sb) > ext2fs_blocks_count(sb)) || + if ((sb->s_free_blocks_count > sb->s_blocks_count) || (sb->s_free_inodes_count > sb->s_inodes_count)) ext2fs_unmark_valid(fs); @@ -725,7 +731,7 @@ void check_super_block(e2fsck_t ctx) if (!(ctx->options & E2F_OPT_READONLY) && uuid_is_null(sb->s_uuid)) { if (fix_problem(ctx, PR_0_ADD_UUID, &pctx)) { uuid_generate(sb->s_uuid); - fs->flags |= EXT2_FLAG_DIRTY; + ext2fs_mark_super_dirty(fs); fs->flags &= ~EXT2_FLAG_MASTER_SB_ONLY; } } @@ -743,7 +749,7 @@ void check_super_block(e2fsck_t ctx) (fs_proc_check("ext4") || check_for_modules("ext4"))) { if (fix_problem(ctx, PR_0_CLEAR_TESTFS_FLAG, &pctx)) { fs->super->s_flags &= ~EXT2_FLAGS_TEST_FILESYS; - fs->flags |= EXT2_FLAG_DIRTY; + ext2fs_mark_super_dirty(fs); fs->flags &= ~EXT2_FLAG_MASTER_SB_ONLY; } } @@ -832,7 +838,7 @@ void check_super_block(e2fsck_t ctx) problem = PR_0_FUTURE_SB_LAST_MOUNT_FUDGED; if (fix_problem(ctx, problem, &pctx)) { fs->super->s_mtime = ctx->now; - fs->flags |= EXT2_FLAG_DIRTY; + ext2fs_mark_super_dirty(fs); } } if (!broken_system_clock && @@ -844,7 +850,7 @@ void check_super_block(e2fsck_t ctx) problem = PR_0_FUTURE_SB_LAST_WRITE_FUDGED; if (fix_problem(ctx, problem, &pctx)) { fs->super->s_wtime = ctx->now; - fs->flags |= EXT2_FLAG_DIRTY; + ext2fs_mark_super_dirty(fs); } } @@ -863,11 +869,6 @@ void check_super_block(e2fsck_t ctx) */ e2fsck_fix_dirhash_hint(ctx); - /* - * Hide quota inodes if necessary. - */ - e2fsck_hide_quota(ctx); - return; } @@ -900,7 +901,7 @@ int check_backup_super_block(e2fsck_t ctx) ext2_filsys fs = ctx->fs; errcode_t retval; dgrp_t g; - blk64_t sb; + blk_t sb; int ret = 0; char buf[SUPERBLOCK_SIZE]; struct ext2_super_block *backup_sb; @@ -923,7 +924,8 @@ int check_backup_super_block(e2fsck_t ctx) if (!ext2fs_bg_has_super(fs, g)) continue; - sb = ext2fs_group_first_block2(fs, g); + sb = fs->super->s_first_data_block + + (g * fs->super->s_blocks_per_group); retval = io_channel_read_blk(fs->io, sb, -SUPERBLOCK_SIZE, buf); @@ -953,7 +955,6 @@ int check_backup_super_block(e2fsck_t ctx) SUPER_INCOMPAT_DIFFERENT(s_feature_incompat) || SUPER_RO_COMPAT_DIFFERENT(s_feature_ro_compat) || SUPER_DIFFERENT(s_blocks_count) || - SUPER_DIFFERENT(s_blocks_count_hi) || SUPER_DIFFERENT(s_inodes_count) || memcmp(fs->super->s_uuid, backup_sb->s_uuid, sizeof(fs->super->s_uuid))) diff --git a/e2fsck/unix.c b/e2fsck/unix.c index 56f4924e..62a3d7a5 100644 --- a/e2fsck/unix.c +++ b/e2fsck/unix.c @@ -32,6 +32,9 @@ extern int optind; #ifdef HAVE_ERRNO_H #include #endif +#ifdef HAVE_MNTENT_H +#include +#endif #ifdef HAVE_SYS_IOCTL_H #include #endif @@ -68,7 +71,7 @@ int journal_enable_debug = -1; #endif #ifndef ROOT_SYSCONFDIR -#define ROOT_SYSCONFDIR "/etc" +#define ROOT_SYSCONFDIR "/etc/" #endif static void usage(e2fsck_t ctx) @@ -80,13 +83,13 @@ static void usage(e2fsck_t ctx) "\t\t[-E extended-options] device\n"), ctx->program_name); - fprintf(stderr, "%s", _("\nEmergency help:\n" + fprintf(stderr, _("\nEmergency help:\n" " -p Automatic repair (no questions)\n" " -n Make no changes to the filesystem\n" " -y Assume \"yes\" to all questions\n" " -c Check for bad blocks and add them to the badblock list\n" " -f Force checking even if filesystem is marked clean\n")); - fprintf(stderr, "%s", _("" + fprintf(stderr, _("" " -v Be verbose\n" " -b superblock Use alternative superblock\n" " -B blocksize Force blocksize when looking for superblock\n" @@ -102,12 +105,11 @@ static void show_stats(e2fsck_t ctx) { ext2_filsys fs = ctx->fs; ext2_ino_t inodes, inodes_used; - blk64_t blocks, blocks_used; - unsigned int dir_links; - unsigned int num_files, num_links; - __u32 *mask, m; + blk_t blocks, blocks_used; + int dir_links; + int num_files, num_links; int frag_percent_file, frag_percent_dir, frag_percent_total; - int i, j, printed = 0; + int i, j; dir_links = 2 * ctx->fs_directory_count - 1; num_files = ctx->fs_total_count - dir_links; @@ -115,9 +117,9 @@ static void show_stats(e2fsck_t ctx) inodes = fs->super->s_inodes_count; inodes_used = (fs->super->s_inodes_count - fs->super->s_free_inodes_count); - blocks = ext2fs_blocks_count(fs->super); - blocks_used = (ext2fs_blocks_count(fs->super) - - ext2fs_free_blocks_count(fs->super)); + blocks = fs->super->s_blocks_count; + blocks_used = (fs->super->s_blocks_count - + fs->super->s_free_blocks_count); frag_percent_file = (10000 * ctx->fs_fragmented) / inodes_used; frag_percent_file = (frag_percent_file + 5) / 10; @@ -131,96 +133,70 @@ static void show_stats(e2fsck_t ctx) frag_percent_total = (frag_percent_total + 5) / 10; if (!verbose) { - log_out(ctx, _("%s: %u/%u files (%0d.%d%% non-contiguous), " - "%llu/%llu blocks\n"), - ctx->device_name, inodes_used, inodes, - frag_percent_total / 10, frag_percent_total % 10, - blocks_used, blocks); + printf(_("%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n"), + ctx->device_name, inodes_used, inodes, + frag_percent_total / 10, frag_percent_total % 10, + blocks_used, blocks); return; } - profile_get_boolean(ctx->profile, "options", "report_features", 0, 0, - &i); - if (verbose && i) { - log_out(ctx, "\nFilesystem features:"); - mask = &ctx->fs->super->s_feature_compat; - for (i = 0; i < 3; i++, mask++) { - for (j = 0, m = 1; j < 32; j++, m <<= 1) { - if (*mask & m) { - log_out(ctx, " %s", - e2p_feature2string(i, m)); - printed++; - } - } - } - if (printed == 0) - log_out(ctx, " (none)"); - log_out(ctx, "\n"); - } - - log_out(ctx, P_("\n%12u inode used (%2.2f%%, out of %u)\n", - "\n%12u inodes used (%2.2f%%, out of %u)\n", - inodes_used), inodes_used, - 100.0 * inodes_used / inodes, inodes); - log_out(ctx, P_("%12u non-contiguous file (%0d.%d%%)\n", - "%12u non-contiguous files (%0d.%d%%)\n", - ctx->fs_fragmented), + printf (P_("\n%8u inode used (%2.2f%%)\n", "\n%8u inodes used (%2.2f%%)\n", + inodes_used), inodes_used, 100.0 * inodes_used / inodes); + printf (P_("%8u non-contiguous file (%0d.%d%%)\n", + "%8u non-contiguous files (%0d.%d%%)\n", + ctx->fs_fragmented), ctx->fs_fragmented, frag_percent_file / 10, frag_percent_file % 10); - log_out(ctx, P_("%12u non-contiguous directory (%0d.%d%%)\n", - "%12u non-contiguous directories (%0d.%d%%)\n", - ctx->fs_fragmented_dir), + printf (P_("%8u non-contiguous directory (%0d.%d%%)\n", + "%8u non-contiguous directories (%0d.%d%%)\n", + ctx->fs_fragmented_dir), ctx->fs_fragmented_dir, frag_percent_dir / 10, frag_percent_dir % 10); - log_out(ctx, _(" # of inodes with ind/dind/tind blocks: " - "%u/%u/%u\n"), + printf (_(" # of inodes with ind/dind/tind blocks: %u/%u/%u\n"), ctx->fs_ind_count, ctx->fs_dind_count, ctx->fs_tind_count); for (j=MAX_EXTENT_DEPTH_COUNT-1; j >=0; j--) if (ctx->extent_depth_count[j]) break; if (++j) { - log_out(ctx, "%s", _(" Extent depth histogram: ")); + printf (_(" Extent depth histogram: ")); for (i=0; i < j; i++) { if (i) fputc('/', stdout); - log_out(ctx, "%u", ctx->extent_depth_count[i]); + printf("%u", ctx->extent_depth_count[i]); } - log_out(ctx, "\n"); + fputc('\n', stdout); } - log_out(ctx, P_("%12llu block used (%2.2f%%, out of %llu)\n", - "%12llu blocks used (%2.2f%%, out of %llu)\n", - blocks_used), - blocks_used, 100.0 * blocks_used / blocks, blocks); - log_out(ctx, P_("%12u bad block\n", "%12u bad blocks\n", - ctx->fs_badblocks_count), ctx->fs_badblocks_count); - log_out(ctx, P_("%12u large file\n", "%12u large files\n", - ctx->large_files), ctx->large_files); - log_out(ctx, P_("\n%12u regular file\n", "\n%12u regular files\n", - ctx->fs_regular_count), ctx->fs_regular_count); - log_out(ctx, P_("%12u directory\n", "%12u directories\n", - ctx->fs_directory_count), ctx->fs_directory_count); - log_out(ctx, P_("%12u character device file\n", - "%12u character device files\n", ctx->fs_chardev_count), + printf (P_("%8u block used (%2.2f%%)\n", "%8u blocks used (%2.2f%%)\n", + blocks_used), blocks_used, 100.0 * blocks_used / blocks); + printf (P_("%8u bad block\n", "%8u bad blocks\n", + ctx->fs_badblocks_count), ctx->fs_badblocks_count); + printf (P_("%8u large file\n", "%8u large files\n", + ctx->large_files), ctx->large_files); + printf (P_("\n%8u regular file\n", "\n%8u regular files\n", + ctx->fs_regular_count), ctx->fs_regular_count); + printf (P_("%8u directory\n", "%8u directories\n", + ctx->fs_directory_count), ctx->fs_directory_count); + printf (P_("%8u character device file\n", + "%8u character device files\n", ctx->fs_chardev_count), ctx->fs_chardev_count); - log_out(ctx, P_("%12u block device file\n", "%12u block device files\n", - ctx->fs_blockdev_count), ctx->fs_blockdev_count); - log_out(ctx, P_("%12u fifo\n", "%12u fifos\n", ctx->fs_fifo_count), + printf (P_("%8u block device file\n", "%8u block device files\n", + ctx->fs_blockdev_count), ctx->fs_blockdev_count); + printf (P_("%8u fifo\n", "%8u fifos\n", ctx->fs_fifo_count), ctx->fs_fifo_count); - log_out(ctx, P_("%12u link\n", "%12u links\n", num_links), + printf (P_("%8u link\n", "%8u links\n", + ctx->fs_links_count - dir_links), ctx->fs_links_count - dir_links); - log_out(ctx, P_("%12u symbolic link", "%12u symbolic links", - ctx->fs_symlinks_count), ctx->fs_symlinks_count); - log_out(ctx, P_(" (%u fast symbolic link)\n", - " (%u fast symbolic links)\n", - ctx->fs_fast_symlinks_count), - ctx->fs_fast_symlinks_count); - log_out(ctx, P_("%12u socket\n", "%12u sockets\n", - ctx->fs_sockets_count), + printf (P_("%8u symbolic link", "%8u symbolic links", + ctx->fs_symlinks_count), ctx->fs_symlinks_count); + printf (P_(" (%u fast symbolic link)\n", " (%u fast symbolic links)\n", + ctx->fs_fast_symlinks_count), ctx->fs_fast_symlinks_count); + printf (P_("%8u socket\n", "%8u sockets\n", ctx->fs_sockets_count), ctx->fs_sockets_count); - log_out(ctx, "------------\n"); - log_out(ctx, P_("%12u file\n", "%12u files\n", num_files), - num_files); + printf ("--------\n"); + printf (P_("%8u file\n", "%8u files\n", + ctx->fs_total_count - dir_links), + ctx->fs_total_count - dir_links); } static void check_mount(e2fsck_t ctx) @@ -242,36 +218,27 @@ static void check_mount(e2fsck_t ctx) * filesystem and it's mounted read-only, and we're not doing * a read/write check, then everything's fine. */ - if ((!(ctx->mount_flags & (EXT2_MF_MOUNTED | EXT2_MF_BUSY))) || + if ((!(ctx->mount_flags & EXT2_MF_MOUNTED)) || ((ctx->mount_flags & EXT2_MF_ISROOT) && (ctx->mount_flags & EXT2_MF_READONLY) && !(ctx->options & E2F_OPT_WRITECHECK))) return; - if (((ctx->options & E2F_OPT_READONLY) || - ((ctx->options & E2F_OPT_FORCE) && - (ctx->mount_flags & EXT2_MF_READONLY))) && + if ((ctx->options & E2F_OPT_READONLY) && !(ctx->options & E2F_OPT_WRITECHECK)) { - log_out(ctx, _("Warning! %s is %s.\n"), - ctx->filesystem_name, - ctx->mount_flags & EXT2_MF_MOUNTED ? - "mounted" : "in use"); + printf(_("Warning! %s is mounted.\n"), ctx->filesystem_name); return; } - log_out(ctx, _("%s is %s.\n"), ctx->filesystem_name, - ctx->mount_flags & EXT2_MF_MOUNTED ? "mounted" : "in use"); - if (!ctx->interactive || ctx->mount_flags & EXT2_MF_BUSY) + printf(_("%s is mounted. "), ctx->filesystem_name); + if (!ctx->interactive) fatal_error(ctx, _("Cannot continue, aborting.\n\n")); - puts("\007\007\007\007"); - log_out(ctx, "%s", _("\n\nWARNING!!! " - "The filesystem is mounted. " - "If you continue you ***WILL***\n" - "cause ***SEVERE*** filesystem damage.\n\n")); - puts("\007\007\007"); - cont = ask_yn(ctx, _("Do you really want to continue"), 0); + printf(_("\n\n\007\007\007\007WARNING!!! " + "The filesystem is mounted. If you continue you ***WILL***\n" + "cause ***SEVERE*** filesystem damage.\007\007\007\n\n")); + cont = ask_yn(_("Do you really want to continue"), -1); if (!cont) { - printf("%s", _("check aborted.\n")); + printf (_("check aborted.\n")); exit (0); } return; @@ -285,14 +252,6 @@ static int is_on_batt(void) unsigned int acflag; struct dirent* de; - f = fopen("/sys/class/power_supply/AC/online", "r"); - if (f) { - if (fscanf(f, "%u\n", &acflag) == 1) { - fclose(f); - return (!acflag); - } - fclose(f); - } f = fopen("/proc/apm", "r"); if (f) { if (fscanf(f, "%s %s %s %x", tmp, tmp, tmp, &acflag) != 4) @@ -331,7 +290,6 @@ static int is_on_batt(void) static void check_if_skip(e2fsck_t ctx) { ext2_filsys fs = ctx->fs; - struct problem_context pctx; const char *reason = NULL; unsigned int reason_arg = 0; long next_check; @@ -389,48 +347,16 @@ static void check_if_skip(e2fsck_t ctx) reason = 0; } if (reason) { - log_out(ctx, "%s", ctx->device_name); - log_out(ctx, reason, reason_arg); - log_out(ctx, "%s", _(", check forced.\n")); + fputs(ctx->device_name, stdout); + printf(reason, reason_arg); + fputs(_(", check forced.\n"), stdout); return; } - - /* - * Update the global counts from the block group counts. This - * is needed since modern kernels don't update the global - * counts so as to avoid locking the entire file system. So - * if the filesystem is not unmounted cleanly, the global - * counts may not be accurate. Update them here if we can, - * for the benefit of users who might examine the file system - * using dumpe2fs. (This is for cosmetic reasons only.) - */ - clear_problem_context(&pctx); - pctx.ino = fs->super->s_free_inodes_count; - pctx.ino2 = ctx->free_inodes; - if ((pctx.ino != pctx.ino2) && - !(ctx->options & E2F_OPT_READONLY) && - fix_problem(ctx, PR_0_FREE_INODE_COUNT, &pctx)) { - fs->super->s_free_inodes_count = ctx->free_inodes; - ext2fs_mark_super_dirty(fs); - } - clear_problem_context(&pctx); - pctx.blk = ext2fs_free_blocks_count(fs->super); - pctx.blk2 = ctx->free_blocks; - if ((pctx.blk != pctx.blk2) && - !(ctx->options & E2F_OPT_READONLY) && - fix_problem(ctx, PR_0_FREE_BLOCK_COUNT, &pctx)) { - ext2fs_free_blocks_count_set(fs->super, ctx->free_blocks); - ext2fs_mark_super_dirty(fs); - } - - /* Print the summary message when we're skipping a full check */ - log_out(ctx, _("%s: clean, %u/%u files, %llu/%llu blocks"), - ctx->device_name, - fs->super->s_inodes_count - fs->super->s_free_inodes_count, - fs->super->s_inodes_count, - ext2fs_blocks_count(fs->super) - - ext2fs_free_blocks_count(fs->super), - ext2fs_blocks_count(fs->super)); + printf(_("%s: clean, %u/%u files, %u/%u blocks"), ctx->device_name, + fs->super->s_inodes_count - fs->super->s_free_inodes_count, + fs->super->s_inodes_count, + fs->super->s_blocks_count - fs->super->s_free_blocks_count, + fs->super->s_blocks_count); next_check = 100000; if (fs->super->s_max_mnt_count > 0) { next_check = fs->super->s_max_mnt_count - fs->super->s_mnt_count; @@ -443,16 +369,14 @@ static void check_if_skip(e2fsck_t ctx) if (next_check <= 5) { if (next_check == 1) { if (batt) - log_out(ctx, "%s", - _(" (check deferred; on battery)")); + fputs(_(" (check deferred; on battery)"), + stdout); else - log_out(ctx, "%s", - _(" (check after next mount)")); + fputs(_(" (check after next mount)"), stdout); } else - log_out(ctx, _(" (check in %ld mounts)"), - next_check); + printf(_(" (check in %ld mounts)"), next_check); } - log_out(ctx, "\n"); + fputc('\n', stdout); skip: ext2fs_close(fs); ctx->fs = NULL; @@ -467,7 +391,7 @@ struct percent_tbl { int max_pass; int table[32]; }; -static struct percent_tbl e2fsck_tbl = { +struct percent_tbl e2fsck_tbl = { 5, { 0, 70, 90, 92, 95, 100 } }; static char bar[128], spaces[128]; @@ -486,7 +410,7 @@ static float calc_percent(struct percent_tbl *tbl, int pass, int curr, + tbl->table[pass-1]); } -void e2fsck_clear_progbar(e2fsck_t ctx) +extern void e2fsck_clear_progbar(e2fsck_t ctx) { if (!(ctx->flags & E2F_FLAG_PROG_BAR)) return; @@ -589,16 +513,14 @@ static int e2fsck_update_progress(e2fsck_t ctx, int pass, #define PATH_SET "PATH=/sbin" -/* - * Make sure 0,1,2 file descriptors are open, so that we don't open - * the filesystem using the same file descriptor as stdout or stderr. - */ static void reserve_stdio_fds(void) { - int fd = 0; + int fd; - while (fd <= 2) { + while (1) { fd = open("/dev/null", O_RDWR); + if (fd > 2) + break; if (fd < 0) { fprintf(stderr, _("ERROR: Couldn't open " "/dev/null (%s)\n"), @@ -606,6 +528,7 @@ static void reserve_stdio_fds(void) break; } } + close(fd); } #ifdef HAVE_SIGNAL_H @@ -668,7 +591,7 @@ static void parse_extended_opts(e2fsck_t ctx, const char *opts) ea_ver = strtoul(arg, &p, 0); if (*p || ((ea_ver != 1) && (ea_ver != 2))) { - fprintf(stderr, "%s", + fprintf(stderr, _("Invalid EA version.\n")); extended_usage++; continue; @@ -683,18 +606,6 @@ static void parse_extended_opts(e2fsck_t ctx, const char *opts) continue; } ctx->options |= E2F_OPT_JOURNAL_ONLY; - } else if (strcmp(token, "discard") == 0) { - ctx->options |= E2F_OPT_DISCARD; - continue; - } else if (strcmp(token, "nodiscard") == 0) { - ctx->options &= ~E2F_OPT_DISCARD; - continue; - } else if (strcmp(token, "log_filename") == 0) { - if (!arg) - extended_usage++; - else - ctx->log_fn = string_copy(ctx, arg, 0); - continue; } else { fprintf(stderr, _("Unknown extended option: %s\n"), token); @@ -711,8 +622,6 @@ static void parse_extended_opts(e2fsck_t ctx, const char *opts) fputs(("\tea_ver=\n"), stderr); fputs(("\tfragcheck\n"), stderr); fputs(("\tjournal_only\n"), stderr); - fputs(("\tdiscard\n"), stderr); - fputs(("\tnodiscard\n"), stderr); fputc('\n', stderr); exit(1); } @@ -771,7 +680,6 @@ static errcode_t PRS(int argc, char *argv[], e2fsck_t *ret_ctx) ctx->program_name = *argv; else ctx->program_name = "e2fsck"; - while ((c = getopt (argc, argv, "panyrcC:B:dE:fvtFVM:b:I:j:P:l:L:N:SsDk")) != EOF) switch (c) { case 'C': @@ -843,7 +751,7 @@ static errcode_t PRS(int argc, char *argv[], e2fsck_t *ret_ctx) /* What we do by default, anyway! */ break; case 'b': - res = sscanf(optarg, "%llu", &ctx->use_superblock); + res = sscanf(optarg, "%u", &ctx->use_superblock); if (res != 1) goto sscanf_err; ctx->flags |= E2F_FLAG_SB_SPECIFIED; @@ -874,8 +782,6 @@ static errcode_t PRS(int argc, char *argv[], e2fsck_t *ret_ctx) case 'L': replace_bad_blocks++; case 'l': - if (bad_blocks_file) - free(bad_blocks_file); bad_blocks_file = string_copy(ctx, optarg, 0); break; case 'd': @@ -913,17 +819,17 @@ static errcode_t PRS(int argc, char *argv[], e2fsck_t *ret_ctx) usage(ctx); if ((ctx->options & E2F_OPT_NO) && (ctx->options & E2F_OPT_COMPRESS_DIRS)) { - com_err(ctx->program_name, 0, "%s", + com_err(ctx->program_name, 0, _("The -n and -D options are incompatible.")); fatal_error(ctx, 0); } if ((ctx->options & E2F_OPT_NO) && cflag) { - com_err(ctx->program_name, 0, "%s", + com_err(ctx->program_name, 0, _("The -n and -c options are incompatible.")); fatal_error(ctx, 0); } if ((ctx->options & E2F_OPT_NO) && bad_blocks_file) { - com_err(ctx->program_name, 0, "%s", + com_err(ctx->program_name, 0, _("The -n and -l/-L options are incompatible.")); fatal_error(ctx, 0); } @@ -947,20 +853,6 @@ static errcode_t PRS(int argc, char *argv[], e2fsck_t *ret_ctx) profile_set_syntax_err_cb(syntax_err_report); profile_init(config_fn, &ctx->profile); - profile_get_boolean(ctx->profile, "options", "report_time", 0, 0, - &c); - if (c) - ctx->options |= E2F_OPT_TIME | E2F_OPT_TIME2; - profile_get_boolean(ctx->profile, "options", "report_verbose", 0, 0, - &c); - if (c) - verbose = 1; - - /* Turn off discard in read-only mode */ - if ((ctx->options & E2F_OPT_NO) && - (ctx->options & E2F_OPT_DISCARD)) - ctx->options &= ~E2F_OPT_DISCARD; - if (flush) { fd = open(ctx->filesystem_name, O_RDONLY, 0); if (fd < 0) { @@ -978,8 +870,8 @@ static errcode_t PRS(int argc, char *argv[], e2fsck_t *ret_ctx) close(fd); } if (cflag && bad_blocks_file) { - fprintf(stderr, "%s", _("The -c and the -l/-L options may not " - "be both used at the same time.\n")); + fprintf(stderr, _("The -c and the -l/-L options may " + "not be both used at the same time.\n")); exit(FSCK_USAGE); } #ifdef HAVE_SIGNAL_H @@ -1068,98 +960,13 @@ static errcode_t try_open_fs(e2fsck_t ctx, int flags, io_manager io_ptr, } else retval = ext2fs_open2(ctx->filesystem_name, ctx->io_options, flags, 0, 0, io_ptr, ret_fs); - - if (retval == 0) - e2fsck_set_bitmap_type(*ret_fs, EXT2FS_BMAP64_RBTREE, - "default", NULL); return retval; } + static const char *my_ver_string = E2FSPROGS_VERSION; static const char *my_ver_date = E2FSPROGS_DATE; -static errcode_t e2fsck_check_mmp(ext2_filsys fs, e2fsck_t ctx) -{ - struct mmp_struct *mmp_s; - unsigned int mmp_check_interval; - errcode_t retval = 0; - struct problem_context pctx; - unsigned int wait_time = 0; - - clear_problem_context(&pctx); - if (fs->mmp_buf == NULL) { - retval = ext2fs_get_mem(fs->blocksize, &fs->mmp_buf); - if (retval) - goto check_error; - } - - retval = ext2fs_mmp_read(fs, fs->super->s_mmp_block, fs->mmp_buf); - if (retval) - goto check_error; - - mmp_s = fs->mmp_buf; - - mmp_check_interval = fs->super->s_mmp_update_interval; - if (mmp_check_interval < EXT4_MMP_MIN_CHECK_INTERVAL) - mmp_check_interval = EXT4_MMP_MIN_CHECK_INTERVAL; - - /* - * If check_interval in MMP block is larger, use that instead of - * check_interval from the superblock. - */ - if (mmp_s->mmp_check_interval > mmp_check_interval) - mmp_check_interval = mmp_s->mmp_check_interval; - - wait_time = mmp_check_interval * 2 + 1; - - if (mmp_s->mmp_seq == EXT4_MMP_SEQ_CLEAN) - retval = 0; - else if (mmp_s->mmp_seq == EXT4_MMP_SEQ_FSCK) - retval = EXT2_ET_MMP_FSCK_ON; - else if (mmp_s->mmp_seq > EXT4_MMP_SEQ_MAX) - retval = EXT2_ET_MMP_UNKNOWN_SEQ; - - if (retval) - goto check_error; - - /* Print warning if e2fck will wait for more than 20 secs. */ - if (verbose || wait_time > EXT4_MMP_MIN_CHECK_INTERVAL * 4) { - log_out(ctx, _("MMP interval is %u seconds and total wait " - "time is %u seconds. Please wait...\n"), - mmp_check_interval, wait_time * 2); - } - - return 0; - -check_error: - - if (retval == EXT2_ET_MMP_BAD_BLOCK) { - if (fix_problem(ctx, PR_0_MMP_INVALID_BLK, &pctx)) { - fs->super->s_mmp_block = 0; - ext2fs_mark_super_dirty(fs); - retval = 0; - } - } else if (retval == EXT2_ET_MMP_FAILED) { - com_err(ctx->program_name, retval, "%s", - _("while checking MMP block")); - dump_mmp_msg(fs->mmp_buf, NULL); - } else if (retval == EXT2_ET_MMP_FSCK_ON || - retval == EXT2_ET_MMP_UNKNOWN_SEQ) { - com_err(ctx->program_name, retval, "%s", - _("while checking MMP block")); - dump_mmp_msg(fs->mmp_buf, - _("If you are sure the filesystem is not " - "in use on any node, run:\n" - "'tune2fs -f -E clear_mmp {device}'\n")); - } else if (retval == EXT2_ET_MMP_MAGIC_INVALID) { - if (fix_problem(ctx, PR_0_MMP_INVALID_MAGIC, &pctx)) { - ext2fs_mmp_clear(fs); - retval = 0; - } - } - return retval; -} - int main (int argc, char *argv[]) { errcode_t retval = 0, retval2 = 0, orig_retval = 0; @@ -1170,18 +977,15 @@ int main (int argc, char *argv[]) const char *lib_ver_date; int my_ver, lib_ver; e2fsck_t ctx; - blk64_t orig_superblock; + blk_t orig_superblock; struct problem_context pctx; int flags, run_result; int journal_size; int sysval, sys_page_size = 4096; - int old_bitmaps; __u32 features[3]; char *cp; - int qtype = -99; /* quota type */ clear_problem_context(&pctx); - sigcatcher_setup(); #ifdef MTRACE mtrace(); #endif @@ -1193,43 +997,30 @@ int main (int argc, char *argv[]) setlocale(LC_CTYPE, ""); bindtextdomain(NLS_CAT_NAME, LOCALEDIR); textdomain(NLS_CAT_NAME); - set_com_err_gettext(gettext); #endif my_ver = ext2fs_parse_version_string(my_ver_string); lib_ver = ext2fs_get_library_version(0, &lib_ver_date); if (my_ver > lib_ver) { - fprintf( stderr, "%s", - _("Error: ext2fs library version out of date!\n")); + fprintf( stderr, _("Error: ext2fs library version " + "out of date!\n")); show_version_only++; } retval = PRS(argc, argv, &ctx); if (retval) { - com_err("e2fsck", retval, "%s", + com_err("e2fsck", retval, _("while trying to initialize program")); exit(FSCK_ERROR); } reserve_stdio_fds(); - set_up_logging(ctx); - if (ctx->logf) { - int i; - fputs("E2fsck run: ", ctx->logf); - for (i = 0; i < argc; i++) { - if (i) - fputc(' ', ctx->logf); - fputs(argv[i], ctx->logf); - } - fputc('\n', ctx->logf); - } - init_resource_track(&ctx->global_rtrack, NULL); if (!(ctx->options & E2F_OPT_PREEN) || show_version_only) - log_err(ctx, "e2fsck %s (%s)\n", my_ver_string, + fprintf(stderr, "e2fsck %s (%s)\n", my_ver_string, my_ver_date); if (show_version_only) { - log_err(ctx, _("\tUsing %s, %s\n"), + fprintf(stderr, _("\tUsing %s, %s\n"), error_message(EXT2_ET_BASE), lib_ver_date); exit(FSCK_OK); } @@ -1244,8 +1035,6 @@ int main (int argc, char *argv[]) _("need terminal for interactive repairs")); } ctx->superblock = ctx->use_superblock; - - flags = EXT2_FLAG_SKIP_MMP; restart: #ifdef CONFIG_TESTIO_DEBUG if (getenv("TEST_IO_FLAGS") || getenv("TEST_IO_BLOCK")) { @@ -1254,20 +1043,11 @@ restart: } else #endif io_ptr = unix_io_manager; - flags |= EXT2_FLAG_NOFREE_ON_ERROR; - profile_get_boolean(ctx->profile, "options", "old_bitmaps", 0, 0, - &old_bitmaps); - if (!old_bitmaps) - flags |= EXT2_FLAG_64BITS; - if ((ctx->options & E2F_OPT_READONLY) == 0) { + flags = EXT2_FLAG_NOFREE_ON_ERROR; + if ((ctx->options & E2F_OPT_READONLY) == 0) flags |= EXT2_FLAG_RW; - if (!(ctx->mount_flags & EXT2_MF_ISROOT && - ctx->mount_flags & EXT2_MF_READONLY)) - flags |= EXT2_FLAG_EXCLUSIVE; - if ((ctx->mount_flags & EXT2_MF_READONLY) && - (ctx->options & E2F_OPT_FORCE)) - flags &= ~EXT2_FLAG_EXCLUSIVE; - } + if ((ctx->mount_flags & EXT2_MF_MOUNTED) == 0) + flags |= EXT2_FLAG_EXCLUSIVE; retval = try_open_fs(ctx, flags, io_ptr, &fs); @@ -1276,16 +1056,7 @@ restart: ((retval == EXT2_ET_BAD_MAGIC) || (retval == EXT2_ET_CORRUPT_SUPERBLOCK) || ((retval == 0) && (retval2 = ext2fs_check_desc(fs))))) { - if (retval) { - pctx.errcode = retval; - fix_problem(ctx, PR_0_OPEN_FAILED, &pctx); - } - if (retval2) { - pctx.errcode = retval2; - fix_problem(ctx, PR_0_CHECK_DESC_FAILED, &pctx); - } - pctx.errcode = 0; - if (retval2 == ENOMEM || retval2 == EXT2_ET_NO_MEMORY) { + if (retval2 == ENOMEM) { retval = retval2; goto failure; } @@ -1294,10 +1065,10 @@ restart: fs = NULL; } if (!fs || (fs->group_desc_count > 1)) { - log_out(ctx, _("%s: %s trying backup blocks...\n"), - ctx->program_name, - retval ? _("Superblock invalid,") : - _("Group descriptors look bad...")); + printf(_("%s: %s trying backup blocks...\n"), + ctx->program_name, + retval ? _("Superblock invalid,") : + _("Group descriptors look bad...")); orig_superblock = ctx->superblock; get_backup_sb(ctx, fs, ctx->filesystem_name, io_ptr); if (fs) @@ -1307,13 +1078,10 @@ restart: if ((orig_retval == 0) && retval != 0) { if (fs) ext2fs_close(fs); - log_out(ctx, _("%s: %s while using the " - "backup blocks"), - ctx->program_name, - error_message(retval)); - log_out(ctx, _("%s: going back to original " - "superblock\n"), - ctx->program_name); + com_err(ctx->program_name, retval, + "when using the backup blocks"); + printf(_("%s: going back to original " + "superblock\n"), ctx->program_name); ctx->superblock = orig_superblock; retval = try_open_fs(ctx, flags, io_ptr, &fs); } @@ -1339,34 +1107,30 @@ failure: com_err(ctx->program_name, retval, _("while trying to open %s"), ctx->filesystem_name); if (retval == EXT2_ET_REV_TOO_HIGH) { - log_out(ctx, "%s", - _("The filesystem revision is apparently " - "too high for this version of e2fsck.\n" - "(Or the filesystem superblock " - "is corrupt)\n\n")); + printf(_("The filesystem revision is apparently " + "too high for this version of e2fsck.\n" + "(Or the filesystem superblock " + "is corrupt)\n\n")); fix_problem(ctx, PR_0_SB_CORRUPT, &pctx); } else if (retval == EXT2_ET_SHORT_READ) - log_out(ctx, "%s", - _("Could this be a zero-length partition?\n")); + printf(_("Could this be a zero-length partition?\n")); else if ((retval == EPERM) || (retval == EACCES)) - log_out(ctx, _("You must have %s access to the " - "filesystem or be root\n"), + printf(_("You must have %s access to the " + "filesystem or be root\n"), (ctx->options & E2F_OPT_READONLY) ? "r/o" : "r/w"); else if (retval == ENXIO) - log_out(ctx, "%s", - _("Possibly non-existent or swap device?\n")); + printf(_("Possibly non-existent or swap device?\n")); else if (retval == EBUSY) - log_out(ctx, "%s", _("Filesystem mounted or opened " - "exclusively by another program?\n")); + printf(_("Filesystem mounted or opened exclusively " + "by another program?\n")); else if (retval == ENOENT) - log_out(ctx, "%s", - _("Possibly non-existent device?\n")); + printf(_("Possibly non-existent device?\n")); #ifdef EROFS else if (retval == EROFS) - log_out(ctx, "%s", _("Disk write-protected; use the " - "-n option to do a read-only\n" - "check of the device.\n")); + printf(_("Disk write-protected; use the -n option " + "to do a read-only\n" + "check of the device.\n")); #endif else fix_problem(ctx, PR_0_SB_CORRUPT, &pctx); @@ -1423,7 +1187,6 @@ failure: fs->priv_data = ctx; fs->now = ctx->now; sb = fs->super; - if (sb->s_rev_level > E2FSCK_CURRENT_REV) { com_err(ctx->program_name, EXT2_ET_REV_TOO_HIGH, _("while trying to open %s"), @@ -1449,23 +1212,9 @@ failure: ehandler_init(fs->io); - if ((fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_MMP) && - (flags & EXT2_FLAG_SKIP_MMP)) { - if (e2fsck_check_mmp(fs, ctx)) - fatal_error(ctx, 0); - - /* - * Restart in order to reopen fs but this time start mmp. - */ - ext2fs_close(fs); - ctx->fs = NULL; - flags &= ~EXT2_FLAG_SKIP_MMP; - goto restart; - } - - if (ctx->logf) - fprintf(ctx->logf, "Filesystem UUID: %s\n", - e2p_uuid2str(sb->s_uuid)); + if ((ctx->mount_flags & EXT2_MF_MOUNTED) && + !(sb->s_feature_incompat & EXT3_FEATURE_INCOMPAT_RECOVER)) + goto skip_journal; /* * Make sure the ext3 superblock fields are consistent. @@ -1484,9 +1233,9 @@ failure: */ if (sb->s_feature_incompat & EXT3_FEATURE_INCOMPAT_RECOVER) { if (ctx->options & E2F_OPT_READONLY) { - log_out(ctx, "%s", - _("Warning: skipping journal recovery because " - "doing a read-only filesystem check.\n")); + printf(_("Warning: skipping journal recovery " + "because doing a read-only filesystem " + "check.\n")); io_channel_flush(ctx->fs->io); } else { if (ctx->flags & E2F_FLAG_RESTARTED) { @@ -1497,8 +1246,7 @@ failure: * device driver is being bogus. */ com_err(ctx->program_name, 0, - _("unable to set superblock flags " - "on %s\n"), ctx->device_name); + _("unable to set superblock flags on %s\n"), ctx->device_name); fatal_error(ctx, 0); } retval = e2fsck_run_ext3_journal(ctx); @@ -1515,6 +1263,7 @@ failure: } } +skip_journal: /* * Check for compatibility with the feature sets. We need to * be more stringent than ext2fs_open(). @@ -1528,30 +1277,30 @@ print_unsupp_features: int i, j; __u32 *mask = features, m; - log_err(ctx, _("%s has unsupported feature(s):"), + fprintf(stderr, _("%s has unsupported feature(s):"), ctx->filesystem_name); for (i=0; i <3; i++,mask++) { for (j=0,m=1; j < 32; j++, m<<=1) { if (*mask & m) - log_err(ctx, " %s", + fprintf(stderr, " %s", e2p_feature2string(i, m)); } } - log_err(ctx, "\n"); + putc('\n', stderr); goto get_newer; } #ifdef ENABLE_COMPRESSION if (sb->s_feature_incompat & EXT2_FEATURE_INCOMPAT_COMPRESSION) - log_err(ctx, _("%s: warning: compression support " - "is experimental.\n"), - ctx->program_name); + com_err(ctx->program_name, 0, + _("Warning: compression support is experimental.\n")); #endif #ifndef ENABLE_HTREE if (sb->s_feature_compat & EXT2_FEATURE_COMPAT_DIR_INDEX) { - log_err(ctx, _("%s: e2fsck not compiled with HTREE support,\n\t" + com_err(ctx->program_name, 0, + _("E2fsck not compiled with HTREE support,\n\t" "but filesystem %s has HTREE directories.\n"), - ctx->program_name, ctx->device_name); + ctx->device_name); goto get_newer; } #endif @@ -1601,11 +1350,11 @@ print_unsupp_features: retval = ext2fs_read_bb_inode(fs, &fs->badblocks); if (retval) { - log_out(ctx, _("%s: %s while reading bad blocks inode\n"), - ctx->program_name, error_message(retval)); + com_err(ctx->program_name, retval, + _("while reading bad blocks inode")); preenhalt(ctx); - log_out(ctx, "%s", _("This doesn't bode well, " - "but we'll try to go on...\n")); + printf(_("This doesn't bode well," + " but we'll try to go on...\n")); } /* @@ -1614,77 +1363,47 @@ print_unsupp_features: * find the default journal size. */ if (sb->s_jnl_backup_type == EXT3_JNL_BACKUP_BLOCKS) - journal_size = (sb->s_jnl_blocks[15] << (32 - 20)) | - (sb->s_jnl_blocks[16] >> 20); + journal_size = sb->s_jnl_blocks[16] >> 20; else journal_size = -1; - if (sb->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_QUOTA) { - /* Quotas were enabled. Do quota accounting during fsck. */ - if ((sb->s_usr_quota_inum && sb->s_grp_quota_inum) || - (!sb->s_usr_quota_inum && !sb->s_grp_quota_inum)) - qtype = -1; - else - qtype = sb->s_usr_quota_inum ? USRQUOTA : GRPQUOTA; - - quota_init_context(&ctx->qctx, ctx->fs, qtype); - } - run_result = e2fsck_run(ctx); e2fsck_clear_progbar(ctx); if (ctx->flags & E2F_FLAG_JOURNAL_INODE) { if (fix_problem(ctx, PR_6_RECREATE_JOURNAL, &pctx)) { if (journal_size < 1024) - journal_size = ext2fs_default_journal_size(ext2fs_blocks_count(fs->super)); + journal_size = ext2fs_default_journal_size(fs->super->s_blocks_count); if (journal_size < 0) { fs->super->s_feature_compat &= ~EXT3_FEATURE_COMPAT_HAS_JOURNAL; fs->flags &= ~EXT2_FLAG_MASTER_SB_ONLY; - log_out(ctx, "%s: Couldn't determine " - "journal size\n", ctx->program_name); + com_err(ctx->program_name, 0, + _("Couldn't determine journal size")); goto no_journal; } - log_out(ctx, _("Creating journal (%d blocks): "), + printf(_("Creating journal (%d blocks): "), journal_size); fflush(stdout); retval = ext2fs_add_journal_inode(fs, journal_size, 0); if (retval) { - log_out(ctx, "%s: while trying to create " - "journal\n", error_message(retval)); + com_err("Error ", retval, + _("\n\twhile trying to create journal")); goto no_journal; } - log_out(ctx, "%s", _(" Done.\n")); - log_out(ctx, "%s", - _("\n*** journal has been re-created - " - "filesystem is now ext3 again ***\n")); + printf(_(" Done.\n")); + printf(_("\n*** journal has been re-created - " + "filesystem is now ext3 again ***\n")); } } no_journal: - if (ctx->qctx) { - int i, needs_writeout; - for (i = 0; i < MAXQUOTAS; i++) { - if (qtype != -1 && qtype != i) - continue; - needs_writeout = 0; - pctx.num = i; - retval = quota_compare_and_update(ctx->qctx, i, - &needs_writeout); - if ((retval || needs_writeout) && - fix_problem(ctx, PR_6_UPDATE_QUOTAS, &pctx)) - quota_write_inode(ctx->qctx, i); - } - quota_release_context(&ctx->qctx); - } - if (run_result == E2F_FLAG_RESTART) { - log_out(ctx, "%s", - _("Restarting e2fsck from the beginning...\n")); + printf(_("Restarting e2fsck from the beginning...\n")); retval = e2fsck_reset_context(ctx); if (retval) { - com_err(ctx->program_name, retval, "%s", + com_err(ctx->program_name, retval, _("while resetting context")); fatal_error(ctx, 0); } @@ -1692,8 +1411,8 @@ no_journal: goto restart; } if (run_result & E2F_FLAG_CANCEL) { - log_out(ctx, _("%s: e2fsck canceled.\n"), ctx->device_name ? - ctx->device_name : ctx->filesystem_name); + printf(_("%s: e2fsck canceled.\n"), ctx->device_name ? + ctx->device_name : ctx->filesystem_name); exit_value |= FSCK_CANCELED; } if (run_result & E2F_FLAG_ABORT) @@ -1709,20 +1428,19 @@ no_journal: if (ext2fs_test_changed(fs)) { exit_value |= FSCK_NONDESTRUCT; if (!(ctx->options & E2F_OPT_PREEN)) - log_out(ctx, _("\n%s: ***** FILE SYSTEM WAS " - "MODIFIED *****\n"), - ctx->device_name); + printf(_("\n%s: ***** FILE SYSTEM WAS MODIFIED *****\n"), + ctx->device_name); if (ctx->mount_flags & EXT2_MF_ISROOT) { - log_out(ctx, _("%s: ***** REBOOT LINUX *****\n"), - ctx->device_name); + printf(_("%s: ***** REBOOT LINUX *****\n"), + ctx->device_name); exit_value |= FSCK_REBOOT; } } if (!ext2fs_test_valid(fs) || ((exit_value & FSCK_CANCELED) && (sb->s_state & EXT2_ERROR_FS))) { - log_out(ctx, _("\n%s: ********** WARNING: Filesystem still has " - "errors **********\n\n"), ctx->device_name); + printf(_("\n%s: ********** WARNING: Filesystem still has " + "errors **********\n\n"), ctx->device_name); exit_value |= FSCK_UNCORRECTED; exit_value &= ~FSCK_NONDESTRUCT; } @@ -1760,7 +1478,7 @@ no_journal: !(ctx->options & E2F_OPT_READONLY)) { retval = ext2fs_set_gdt_csum(ctx->fs); if (retval) { - com_err(ctx->program_name, retval, "%s", + com_err(ctx->program_name, retval, _("while setting block group checksum info")); fatal_error(ctx, 0); } diff --git a/e2fsck/util.c b/e2fsck/util.c index 3f2ff5be..56c6b354 100644 --- a/e2fsck/util.c +++ b/e2fsck/util.c @@ -40,73 +40,23 @@ extern e2fsck_t e2fsck_global_ctx; /* Try your very best not to use this! */ -#include -#include #include #include void fatal_error(e2fsck_t ctx, const char *msg) { - ext2_filsys fs = ctx->fs; - int exit_value = FSCK_ERROR; - if (msg) fprintf (stderr, "e2fsck: %s\n", msg); - if (!fs) - goto out; - if (fs->io && fs->super) { - ext2fs_mmp_stop(ctx->fs); + if (ctx->fs && ctx->fs->io) { if (ctx->fs->io->magic == EXT2_ET_MAGIC_IO_CHANNEL) io_channel_flush(ctx->fs->io); else - log_err(ctx, "e2fsck: io manager magic bad!\n"); - } - if (ext2fs_test_changed(fs)) { - exit_value |= FSCK_NONDESTRUCT; - log_out(ctx, _("\n%s: ***** FILE SYSTEM WAS MODIFIED *****\n"), - ctx->device_name); - if (ctx->mount_flags & EXT2_MF_ISROOT) - exit_value |= FSCK_REBOOT; - } - if (!ext2fs_test_valid(fs)) { - log_out(ctx, _("\n%s: ********** WARNING: Filesystem still has " - "errors **********\n\n"), ctx->device_name); - exit_value |= FSCK_UNCORRECTED; - exit_value &= ~FSCK_NONDESTRUCT; + fprintf(stderr, "e2fsck: io manager magic bad!\n"); } -out: ctx->flags |= E2F_FLAG_ABORT; if (ctx->flags & E2F_FLAG_SETJMP_OK) longjmp(ctx->abort_loc, 1); - exit(exit_value); -} - -void log_out(e2fsck_t ctx, const char *fmt, ...) -{ - va_list pvar; - - va_start(pvar, fmt); - vprintf(fmt, pvar); - va_end(pvar); - if (ctx->logf) { - va_start(pvar, fmt); - vfprintf(ctx->logf, fmt, pvar); - va_end(pvar); - } -} - -void log_err(e2fsck_t ctx, const char *fmt, ...) -{ - va_list pvar; - - va_start(pvar, fmt); - vfprintf(stderr, fmt, pvar); - va_end(pvar); - if (ctx->logf) { - va_start(pvar, fmt); - vfprintf(ctx->logf, fmt, pvar); - va_end(pvar); - } + exit(FSCK_ERROR); } void *e2fsck_allocate_memory(e2fsck_t ctx, unsigned int size, @@ -120,8 +70,7 @@ void *e2fsck_allocate_memory(e2fsck_t ctx, unsigned int size, #endif ret = malloc(size); if (!ret) { - sprintf(buf, "Can't allocate %u bytes for %s\n", - size, description); + sprintf(buf, "Can't allocate %s\n", description); fatal_error(ctx, buf); } memset(ret, 0, size); @@ -182,7 +131,7 @@ static int read_a_char(void) } #endif -int ask_yn(e2fsck_t ctx, const char * string, int def) +int ask_yn(const char * string, int def) { int c; const char *defstr; @@ -206,7 +155,7 @@ int ask_yn(e2fsck_t ctx, const char * string, int def) defstr = _(_("")); else defstr = _(" (y/n)"); - log_out(ctx, "%s%s? ", string, defstr); + printf("%s%s? ", string, defstr); while (1) { fflush (stdout); if ((c = read_a_char()) == EOF) @@ -215,11 +164,12 @@ int ask_yn(e2fsck_t ctx, const char * string, int def) #ifdef HAVE_TERMIOS_H tcsetattr (0, TCSANOW, &termios); #endif - if (ctx->flags & E2F_FLAG_SETJMP_OK) { - log_out(ctx, "\n"); + if (e2fsck_global_ctx && + e2fsck_global_ctx->flags & E2F_FLAG_SETJMP_OK) { + puts("\n"); longjmp(e2fsck_global_ctx->abort_loc, 1); } - log_out(ctx, "%s", _("cancelled!\n")); + puts(_("cancelled!\n")); return 0; } if (strchr(short_yes, (char) c)) { @@ -230,13 +180,13 @@ int ask_yn(e2fsck_t ctx, const char * string, int def) def = 0; break; } - else if ((c == 27 || c == ' ' || c == '\n') && (def != -1)) + else if ((c == ' ' || c == '\n') && (def != -1)) break; } if (def) - log_out(ctx, "%s", _("yes\n")); + puts(_("yes\n")); else - log_out(ctx, "%s", _("no\n")); + puts (_("no\n")); #ifdef HAVE_TERMIOS_H tcsetattr (0, TCSANOW, &termios); #endif @@ -246,18 +196,18 @@ int ask_yn(e2fsck_t ctx, const char * string, int def) int ask (e2fsck_t ctx, const char * string, int def) { if (ctx->options & E2F_OPT_NO) { - log_out(ctx, _("%s? no\n\n"), string); + printf (_("%s? no\n\n"), string); return 0; } if (ctx->options & E2F_OPT_YES) { - log_out(ctx, _("%s? yes\n\n"), string); + printf (_("%s? yes\n\n"), string); return 1; } if (ctx->options & E2F_OPT_PREEN) { - log_out(ctx, "%s? %s\n\n", string, def ? _("yes") : _("no")); + printf ("%s? %s\n\n", string, def ? _("yes") : _("no")); return def; } - return ask_yn(ctx, string, def); + return ask_yn(string, def); } void e2fsck_read_bitmaps(e2fsck_t ctx) @@ -265,7 +215,6 @@ void e2fsck_read_bitmaps(e2fsck_t ctx) ext2_filsys fs = ctx->fs; errcode_t retval; const char *old_op; - unsigned int save_type; if (ctx->invalid_bitmaps) { com_err(ctx->program_name, 0, @@ -275,10 +224,7 @@ void e2fsck_read_bitmaps(e2fsck_t ctx) } old_op = ehandler_operation(_("reading inode and block bitmaps")); - e2fsck_set_bitmap_type(fs, EXT2FS_BMAP64_RBTREE, "fs_bitmaps", - &save_type); retval = ext2fs_read_bitmaps(fs); - fs->default_bitmap_type = save_type; ehandler_operation(old_op); if (retval) { com_err(ctx->program_name, retval, @@ -311,7 +257,7 @@ void preenhalt(e2fsck_t ctx) if (!(ctx->options & E2F_OPT_PREEN)) return; - log_err(ctx, _("\n\n%s: UNEXPECTED INCONSISTENCY; " + fprintf(stderr, _("\n\n%s: UNEXPECTED INCONSISTENCY; " "RUN fsck MANUALLY.\n\t(i.e., without -a or -p options)\n"), ctx->device_name); ctx->flags |= E2F_FLAG_EXITING; @@ -386,30 +332,30 @@ void print_resource_track(e2fsck_t ctx, const char *desc, gettimeofday(&time_end, 0); if (desc) - log_out(ctx, "%s: ", desc); + printf("%s: ", desc); #ifdef HAVE_MALLINFO #define kbytes(x) (((unsigned long)(x) + 1023) / 1024) malloc_info = mallinfo(); - log_out(ctx, _("Memory used: %luk/%luk (%luk/%luk), "), - kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd), - kbytes(malloc_info.uordblks), kbytes(malloc_info.fordblks)); + printf(_("Memory used: %luk/%luk (%luk/%luk), "), + kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd), + kbytes(malloc_info.uordblks), kbytes(malloc_info.fordblks)); #else - log_out(ctx, _("Memory used: %lu, "), - (unsigned long) (((char *) sbrk(0)) - - ((char *) track->brk_start))); + printf(_("Memory used: %lu, "), + (unsigned long) (((char *) sbrk(0)) - + ((char *) track->brk_start))); #endif #ifdef HAVE_GETRUSAGE getrusage(RUSAGE_SELF, &r); - log_out(ctx, _("time: %5.2f/%5.2f/%5.2f\n"), - timeval_subtract(&time_end, &track->time_start), - timeval_subtract(&r.ru_utime, &track->user_start), - timeval_subtract(&r.ru_stime, &track->system_start)); + printf(_("time: %5.2f/%5.2f/%5.2f\n"), + timeval_subtract(&time_end, &track->time_start), + timeval_subtract(&r.ru_utime, &track->user_start), + timeval_subtract(&r.ru_stime, &track->system_start)); #else - log_out(ctx, _("elapsed time: %6.3f\n"), - timeval_subtract(&time_end, &track->time_start)); + printf(_("elapsed time: %6.3f\n"), + timeval_subtract(&time_end, &track->time_start)); #endif #define mbytes(x) (((x) + 1048575) / 1048576) if (channel && channel->manager && channel->manager->get_stats) { @@ -418,7 +364,7 @@ void print_resource_track(e2fsck_t ctx, const char *desc, unsigned long long bytes_written = 0; if (desc) - log_out(ctx, "%s: ", desc); + printf("%s: ", desc); channel->manager->get_stats(channel, &delta); if (delta) { @@ -426,11 +372,10 @@ void print_resource_track(e2fsck_t ctx, const char *desc, bytes_written = delta->bytes_written - track->bytes_written; } - log_out(ctx, "I/O read: %lluMB, write: %lluMB, " - "rate: %.2fMB/s\n", - mbytes(bytes_read), mbytes(bytes_written), - (double)mbytes(bytes_read + bytes_written) / - timeval_subtract(&time_end, &track->time_start)); + printf("I/O read: %lluMB, write: %lluMB, rate: %.2fMB/s\n", + mbytes(bytes_read), mbytes(bytes_written), + (double)mbytes(bytes_read + bytes_written) / + timeval_subtract(&time_end, &track->time_start)); } } #endif /* RESOURCE_TRACK */ @@ -438,7 +383,7 @@ void print_resource_track(e2fsck_t ctx, const char *desc, void e2fsck_read_inode(e2fsck_t ctx, unsigned long ino, struct ext2_inode * inode, const char *proc) { - errcode_t retval; + int retval; retval = ext2fs_read_inode(ctx->fs, ino, inode); if (retval) { @@ -452,7 +397,7 @@ void e2fsck_read_inode_full(e2fsck_t ctx, unsigned long ino, struct ext2_inode *inode, int bufsize, const char *proc) { - errcode_t retval; + int retval; retval = ext2fs_read_inode_full(ctx->fs, ino, inode, bufsize); if (retval) { @@ -462,11 +407,11 @@ void e2fsck_read_inode_full(e2fsck_t ctx, unsigned long ino, } } -void e2fsck_write_inode_full(e2fsck_t ctx, unsigned long ino, - struct ext2_inode * inode, int bufsize, - const char *proc) +extern void e2fsck_write_inode_full(e2fsck_t ctx, unsigned long ino, + struct ext2_inode * inode, int bufsize, + const char *proc) { - errcode_t retval; + int retval; retval = ext2fs_write_inode_full(ctx->fs, ino, inode, bufsize); if (retval) { @@ -476,10 +421,10 @@ void e2fsck_write_inode_full(e2fsck_t ctx, unsigned long ino, } } -void e2fsck_write_inode(e2fsck_t ctx, unsigned long ino, - struct ext2_inode * inode, const char *proc) +extern void e2fsck_write_inode(e2fsck_t ctx, unsigned long ino, + struct ext2_inode * inode, const char *proc) { - errcode_t retval; + int retval; retval = ext2fs_write_inode(ctx->fs, ino, inode); if (retval) { @@ -500,14 +445,14 @@ void mtrace_print(char *mesg) } #endif -blk64_t get_backup_sb(e2fsck_t ctx, ext2_filsys fs, const char *name, - io_manager manager) +blk_t get_backup_sb(e2fsck_t ctx, ext2_filsys fs, const char *name, + io_manager manager) { struct ext2_super_block *sb; io_channel io = NULL; void *buf = NULL; int blocksize; - blk64_t superblock, ret_sb = 8193; + blk_t superblock, ret_sb = 8193; if (fs && fs->super) { ret_sb = (fs->super->s_blocks_per_group + @@ -547,7 +492,7 @@ blk64_t get_backup_sb(e2fsck_t ctx, ext2_filsys fs, const char *name, if (blocksize == 1024) superblock++; io_channel_set_blksize(io, blocksize); - if (io_channel_read_blk64(io, superblock, + if (io_channel_read_blk(io, superblock, -SUPERBLOCK_SIZE, buf)) continue; #ifdef WORDS_BIGENDIAN @@ -616,7 +561,7 @@ int ext2_file_type(unsigned int mode) errcode_t e2fsck_zero_blocks(ext2_filsys fs, blk_t blk, int num, blk_t *ret_blk, int *ret_count) { - int j, count; + int j, count, next_update, next_update_incr; static char *buf; errcode_t retval; @@ -632,18 +577,22 @@ errcode_t e2fsck_zero_blocks(ext2_filsys fs, blk_t blk, int num, if (!buf) { buf = malloc(fs->blocksize * STRIDE_LENGTH); if (!buf) { - com_err("malloc", ENOMEM, "%s", + com_err("malloc", ENOMEM, _("while allocating zeroizing buffer")); exit(1); } memset(buf, 0, fs->blocksize * STRIDE_LENGTH); } /* OK, do the write loop */ + next_update = 0; + next_update_incr = num / 100; + if (next_update_incr < 1) + next_update_incr = 1; for (j = 0; j < num; j += STRIDE_LENGTH, blk += STRIDE_LENGTH) { count = num - j; if (count > STRIDE_LENGTH) count = STRIDE_LENGTH; - retval = io_channel_write_blk64(fs->io, blk, count, buf); + retval = io_channel_write_blk(fs->io, blk, count, buf); if (retval) { if (ret_count) *ret_count = count; @@ -760,89 +709,3 @@ int write_all(int fd, char *buf, size_t count) } return c; } - -void dump_mmp_msg(struct mmp_struct *mmp, const char *msg) -{ - - if (msg) - printf("MMP check failed: %s\n", msg); - if (mmp) { - time_t t = mmp->mmp_time; - - printf("MMP error info: last update: %s node: %s device: %s\n", - ctime(&t), mmp->mmp_nodename, mmp->mmp_bdevname); - } -} - -errcode_t e2fsck_mmp_update(ext2_filsys fs) -{ - errcode_t retval; - - retval = ext2fs_mmp_update(fs); - if (retval == EXT2_ET_MMP_CHANGE_ABORT) - dump_mmp_msg(fs->mmp_cmp, - _("UNEXPECTED INCONSISTENCY: the filesystem is " - "being modified while fsck is running.\n")); - - return retval; -} - -void e2fsck_set_bitmap_type(ext2_filsys fs, unsigned int default_type, - const char *profile_name, unsigned int *old_type) -{ - unsigned type; - - if (old_type) - *old_type = fs->default_bitmap_type; -#ifdef HAVE_SIGNAL_H - profile_get_uint(e2fsck_global_ctx->profile, "bitmaps", - profile_name, 0, default_type, &type); - profile_get_uint(e2fsck_global_ctx->profile, "bitmaps", - "all", 0, type, &type); - fs->default_bitmap_type = type ? type : default_type; -#else - fs->default_bitmap_type = default_type; -#endif -} - -errcode_t e2fsck_allocate_inode_bitmap(ext2_filsys fs, const char *descr, - int deftype, - const char *name, - ext2fs_inode_bitmap *ret) -{ - errcode_t retval; - unsigned int save_type; - - e2fsck_set_bitmap_type(fs, deftype, name, &save_type); - retval = ext2fs_allocate_inode_bitmap(fs, descr, ret); - fs->default_bitmap_type = save_type; - return retval; -} - -errcode_t e2fsck_allocate_block_bitmap(ext2_filsys fs, const char *descr, - int deftype, - const char *name, - ext2fs_block_bitmap *ret) -{ - errcode_t retval; - unsigned int save_type; - - e2fsck_set_bitmap_type(fs, deftype, name, &save_type); - retval = ext2fs_allocate_block_bitmap(fs, descr, ret); - fs->default_bitmap_type = save_type; - return retval; -} - -errcode_t e2fsck_allocate_subcluster_bitmap(ext2_filsys fs, const char *descr, - int deftype, - const char *name, - ext2fs_block_bitmap *ret) -{ - errcode_t retval; - unsigned int save_type; - - e2fsck_set_bitmap_type(fs, deftype, name, &save_type); - retval = ext2fs_allocate_subcluster_bitmap(fs, descr, ret); - fs->default_bitmap_type = save_type; - return retval; -} diff --git a/e2fsprogs.lsm b/e2fsprogs.lsm index f980fe63..acf2867a 100644 --- a/e2fsprogs.lsm +++ b/e2fsprogs.lsm @@ -1,17 +1,17 @@ Begin3 Title: EXT2 Filesystem utilities -Version: 1.42.9 -Entered-date: 28Dec2013 -Description: The filesystem utilities for the EXT2, EXT3, and EXT4 - filesystems, including e2fsck, mke2fs, dumpe2fs, and others. -Keywords: utilities, filesystem, Ext2fs, ext3, ext4 +Version: 1.41.14 +Entered-date: 22Dec2010 +Description: The filesystem utilities for the EXT2 filesystem, including + e2fsck, mke2fs, dumpe2fs, fsck, and others. +Keywords: utilities, fsck, filesystem, Ext2fs Author: tytso@mit.edu (Theodore Tso) Maintained-by: tytso@mit.edu (Theodore Tso) Primary-site: download.sourceforge.net /pub/sourceforge/e2fsprogs - 5928kB e2fsprogs-1.42.9.tar.gz - 564kB e2fsprogs-libs-1.42.9.tar.gz - 1kB e2fsprogs-1.42.9.lsm + 4408kB e2fsprogs-1.41.14.tar.gz + 480kB e2fsprogs-libs-1.41.14.tar.gz + 1kB e2fsprogs-1.41.14.lsm Alternate-site: -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 +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 Copying-policy: GPL-2/LGPL-2 End diff --git a/e2fsprogs.spec b/e2fsprogs.spec new file mode 100644 index 00000000..acd13757 --- /dev/null +++ b/e2fsprogs.spec @@ -0,0 +1,241 @@ +%define _root_sbindir /sbin +%define _root_libdir /%{_lib} +%define _root_localedir /usr/share/locale +%define _root_etcdir /etc + +Summary: Utilities for managing ext2/ext3/ext4 filesystems +Name: e2fsprogs +Version: 1.41.13 +Release: 0 +License: GPLv2 +Group: System Environment/Base +Source: ftp://download.sourceforge.net/pub/sourceforge/e2fsprogs/e2fsprogs-%{version}.tar.gz +Url: http://e2fsprogs.sourceforge.net/ +Prereq: /sbin/ldconfig +BuildRoot: %{_tmppath}/%{name}-root + +%description +The e2fsprogs package contains a number of utilities for creating, +checking, modifying, and correcting any inconsistencies in ext2, ext3, +and ext4 filesystems. E2fsprogs contains e2fsck (used to repair +filesystem inconsistencies after an unclean shutdown), mke2fs (used to +initialize a partition to contain an empty ext2 filesystem), debugfs +(used to examine the internal structure of a filesystem, to manually +repair a corrupted filesystem or to create test cases for e2fsck), +tune2fs (used to modify filesystem parameters), resize2fs to grow and +shrink unmounted ext2 filesystems, and most of the other core ext2fs +filesystem utilities. + +You should install the e2fsprogs package if you are using any ext2, +ext3, or ext4 filesystems (if you're not sure, you probably should +install this package). You may also need to install it (even if you +don't use ext2/ext3/ext4) for the libuuid and libblkid libraries and +fsck tool that are included here. + +%package devel +Summary: Ext2 filesystem-specific static libraries and headers. +Group: Development/Libraries +Requires: e2fsprogs = %{version} +Prereq: /sbin/install-info + +%description devel +E2fsprogs-devel contains the libraries and header files needed to +develop ext2, ext3, or ext4 filesystem-specific programs. + +You should install e2fsprogs-devel if you want to develop +ext2. ext3. or ext4 filesystem-specific programs. If you install +e2fsprogs-devel, you'll also want to install e2fsprogs. + +%package -n uuidd +Summary: helper daemon to guarantee uniqueness of time-based UUIDs +Group: System Environment/Daemons +License: GPLv2 +Requires: e2fsprogs = %{version} +Requires(pre): shadow-utils + +%description -n uuidd +The uuidd package contains a userspace daemon (uuidd) which guarantees +uniqueness of time-based UUID generation even at very high rates on +SMP systems. + +%prep +%setup + +%build +%configure --enable-elf-shlibs --enable-nls \ + %{?extra_config_flags:%extra_config_flags} +make +make check + +%install +rm -rf $RPM_BUILD_ROOT +export PATH=/sbin:$PATH +make install install-libs DESTDIR="$RPM_BUILD_ROOT" \ + root_sbindir=%{_root_sbindir} root_libdir=%{_root_libdir} +/sbin/ldconfig -n ${RPM_BUILD_ROOT}%{_libdir} + +# Add a dir that uuidd needs that the Makefiles don't create +install -d $RPM_BUILD_ROOT/var/lib/libuuid + +%find_lang %{name} + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%post devel +if [ -x /sbin/install-info -a -f %{_infodir}/libext2fs.info.gz ]; then + /sbin/install-info %{_infodir}/libext2fs.info.gz %{_infodir}/dir +fi +exit 0 + +%postun devel +if [ $1 = 0 -a -x /sbin/install-info -a -f %{_infodir}/libext2fs.info.gz ]; then + /sbin/install-info --delete %{_infodir}/libext2fs.info.gz %{_infodir}/dir +fi +exit 0 + +%pre -n uuidd +getent group uuidd >/dev/null || groupadd -r uuidd +getent passwd uuidd >/dev/null || \ +useradd -r -g uuidd -d /var/lib/libuuid -s /sbin/nologin \ + -c "UUID generator helper daemon" uuidd +exit 0 + +%files -f %{name}.lang +%defattr(-,root,root) +%doc README RELEASE-NOTES + +%{_root_sbindir}/badblocks +%{_root_sbindir}/blkid +%{_root_sbindir}/debugfs +%{_root_sbindir}/dumpe2fs +%{_root_sbindir}/e2fsck +%{_root_sbindir}/e2image +%{_root_sbindir}/e2label +%{_root_sbindir}/e2undo +%{_root_sbindir}/findfs +%{_root_sbindir}/fsck +%{_root_sbindir}/fsck.ext2 +%{_root_sbindir}/fsck.ext3 +%{_root_sbindir}/fsck.ext4 +%{_root_sbindir}/fsck.ext4dev +%{_root_sbindir}/logsave +%{_root_sbindir}/mke2fs +%{_root_etcdir}/mke2fs.conf +%{_root_sbindir}/mkfs.ext2 +%{_root_sbindir}/mkfs.ext3 +%{_root_sbindir}/mkfs.ext4 +%{_root_sbindir}/mkfs.ext4dev +%{_root_sbindir}/resize2fs +%{_root_sbindir}/tune2fs +%{_sbindir}/filefrag +%{_sbindir}/mklost+found +%{_sbindir}/e2freefrag + +%{_root_libdir}/libblkid.so.* +%{_root_libdir}/libcom_err.so.* +%{_root_libdir}/libe2p.so.* +%{_root_libdir}/libext2fs.so.* +%{_root_libdir}/libss.so.* +%{_root_libdir}/libuuid.so.* + +%{_libdir}/e2initrd_helper + +%{_bindir}/chattr +%{_bindir}/lsattr +%{_bindir}/uuidgen +%{_mandir}/man1/chattr.1* +%{_mandir}/man1/lsattr.1* +%{_mandir}/man1/uuidgen.1* + +%{_mandir}/man5/e2fsck.conf.5* +%{_mandir}/man5/mke2fs.conf.5* + +%{_mandir}/man8/badblocks.8* +%{_mandir}/man8/blkid.8* +%{_mandir}/man8/debugfs.8* +%{_mandir}/man8/dumpe2fs.8* +%{_mandir}/man8/e2fsck.8* +%{_mandir}/man8/findfs.8* +%{_mandir}/man8/fsck.ext2.8* +%{_mandir}/man8/fsck.ext3.8* +%{_mandir}/man8/fsck.ext4.8* +%{_mandir}/man8/fsck.ext4dev.8* +%{_mandir}/man8/e2image.8* +%{_mandir}/man8/e2label.8* +%{_mandir}/man8/e2undo.8* +%{_mandir}/man8/fsck.8* +%{_mandir}/man8/logsave.8* +%{_mandir}/man8/mke2fs.8* +%{_mandir}/man8/mkfs.ext2.8* +%{_mandir}/man8/mkfs.ext3.8* +%{_mandir}/man8/mkfs.ext4.8* +%{_mandir}/man8/mkfs.ext4dev.8* +%{_mandir}/man8/mklost+found.8* +%{_mandir}/man8/resize2fs.8* +%{_mandir}/man8/tune2fs.8* +%{_mandir}/man8/filefrag.8* +%{_mandir}/man8/e2freefrag.8* + +%files devel +%defattr(-,root,root) +%{_infodir}/libext2fs.info* +%{_bindir}/compile_et +%{_bindir}/mk_cmds + +%{_libdir}/libblkid.a +%{_libdir}/libblkid.so +%{_libdir}/libcom_err.a +%{_libdir}/libcom_err.so +%{_libdir}/libe2p.a +%{_libdir}/libe2p.so +%{_libdir}/libext2fs.a +%{_libdir}/libext2fs.so +%{_libdir}/libss.a +%{_libdir}/libss.so +%{_libdir}/libuuid.a +%{_libdir}/libuuid.so + +%{_libdir}/pkgconfig/blkid.pc +%{_libdir}/pkgconfig/com_err.pc +%{_libdir}/pkgconfig/e2p.pc +%{_libdir}/pkgconfig/ext2fs.pc +%{_libdir}/pkgconfig/ss.pc +%{_libdir}/pkgconfig/uuid.pc + +%{_datadir}/et +%{_datadir}/ss +%{_includedir}/blkid +%{_includedir}/e2p +%{_includedir}/et +%{_includedir}/ext2fs +%{_includedir}/ss +%{_includedir}/uuid +%{_mandir}/man1/compile_et.1* +%{_mandir}/man1/mk_cmds.1* +%{_mandir}/man3/com_err.3* +%{_mandir}/man3/libblkid.3* +%{_mandir}/man3/uuid.3* +%{_mandir}/man3/uuid_clear.3* +%{_mandir}/man3/uuid_compare.3* +%{_mandir}/man3/uuid_copy.3* +%{_mandir}/man3/uuid_generate.3* +%{_mandir}/man3/uuid_generate_random.3* +%{_mandir}/man3/uuid_generate_time.3* +%{_mandir}/man3/uuid_is_null.3* +%{_mandir}/man3/uuid_parse.3* +%{_mandir}/man3/uuid_time.3* +%{_mandir}/man3/uuid_unparse.3* + +%files -n uuidd +%defattr(-,root,root) +# if you want to run via init +# /etc/init.d/uuidd +%{_mandir}/man8/uuidd.8* +%attr(6755, uuidd, uuidd) %{_sbindir}/uuidd +%dir %attr(2775, uuidd, uuidd) /var/lib/libuuid + diff --git a/e2fsprogs.spec.in b/e2fsprogs.spec.in index b188b751..6fc23a7e 100644 --- a/e2fsprogs.spec.in +++ b/e2fsprogs.spec.in @@ -212,7 +212,6 @@ exit 0 %{_includedir}/blkid %{_includedir}/e2p %{_includedir}/et -%{_includedir}/com_err.h %{_includedir}/ext2fs %{_includedir}/ss %{_includedir}/uuid diff --git a/ext2ed/Makefile.in b/ext2ed/Makefile.in index 290f06e8..610635a0 100644 --- a/ext2ed/Makefile.in +++ b/ext2ed/Makefile.in @@ -16,7 +16,8 @@ MANPAGES= ext2ed.8 DOC_DIR = $datadir/doc/ext2ed -LIBS = -lncurses $(LIBEXT2FS) +XTRA_CFLAGS = $(FLAGS) -DETC_DIR=\"$(root_sysconfdir)\" +LIBS = -lncurses SRCS= $(srcdir)/main.c $(srcdir)/init.c $(srcdir)/general_com.c \ $(srcdir)/inode_com.c $(srcdir)/dir_com.c $(srcdir)/super_com.c \ @@ -33,7 +34,6 @@ DOCS= doc/ext2ed-design.pdf doc/user-guide.pdf doc/ext2fs-overview.pdf \ .c.o: $(CC) -c $(ALL_CFLAGS) $< -o $@ - $(CHECK_CMD) $(ALL_CFLAGS) $< .SUFFIXES: .sgml .ps .pdf .html diff --git a/ext2ed/ext2ed.h b/ext2ed/ext2ed.h index b9b43b47..2ee483e8 100644 --- a/ext2ed/ext2ed.h +++ b/ext2ed/ext2ed.h @@ -28,6 +28,10 @@ Copyright (C) 1995 Gadi Oxman */ +#ifndef ETC_DIR +#define ETC_DIR "/etc" /* Where to find the config file */ +#endif + #define DEBUG /* Activate self-sanity checks */ #include /* Main kernel ext2 include file */ diff --git a/ext2ed/init.c b/ext2ed/init.c index d4703ed0..41c2a398 100644 --- a/ext2ed/init.c +++ b/ext2ed/init.c @@ -370,6 +370,13 @@ void add_user_command (struct struct_commands *ptr,char *name,char *description, ptr->callback [num]=callback; } +static unsigned int div_ceil(unsigned int a, unsigned int b) +{ + if (!a) + return 0; + return ((a - 1) / b) + 1; +} + int set_file_system_info (void) { @@ -415,13 +422,13 @@ int set_file_system_info (void) file_system_info.first_group_desc_offset=2*EXT2_MIN_BLOCK_SIZE; else file_system_info.first_group_desc_offset=file_system_info.block_size; - file_system_info.groups_count = ext2fs_div64_ceil(ext2fs_blocks_count(sb), + file_system_info.groups_count = div_ceil(sb->s_blocks_count, sb->s_blocks_per_group); file_system_info.inodes_per_block=file_system_info.block_size/sizeof (struct ext2_inode); file_system_info.blocks_per_group=sb->s_inodes_per_group/file_system_info.inodes_per_block; file_system_info.no_blocks_in_group=sb->s_blocks_per_group; - file_system_info.file_system_size=(ext2fs_blocks_count(sb)-1)*file_system_info.block_size; + file_system_info.file_system_size=(sb->s_blocks_count-1)*file_system_info.block_size; } else { @@ -487,7 +494,7 @@ int process_configuration_file (void) char option [80],value [80]; FILE *fp; - strcpy (buffer, ROOT_SYSCONFDIR); + strcpy (buffer, ETC_DIR); strcat (buffer,"/ext2ed.conf"); if ((fp=fopen (buffer,"rt"))==NULL) { diff --git a/ext2ed/inode_com.c b/ext2ed/inode_com.c index 8d4b9f33..843286c5 100644 --- a/ext2ed/inode_com.c +++ b/ext2ed/inode_com.c @@ -222,11 +222,11 @@ void type_ext2_inode___show (char *command_line) case EXT2_ROOT_INO: wprintw (show_win,"Root inode - "); break; - case EXT4_USR_QUOTA_INO: - wprintw (show_win,"User quota inode - "); + case EXT2_ACL_IDX_INO: + wprintw (show_win,"ACL index inode - "); break; - case EXT4_GRP_QUOTA_INO: - wprintw (show_win,"Group quota inode - "); + case EXT2_ACL_DATA_INO: + wprintw (show_win,"ACL data inode - "); break; case EXT2_BOOT_LOADER_INO: wprintw (show_win,"Boot loader inode - "); diff --git a/ext2ed/super_com.c b/ext2ed/super_com.c index 57953ab6..3d30070b 100644 --- a/ext2ed/super_com.c +++ b/ext2ed/super_com.c @@ -29,9 +29,9 @@ void type_ext2_super_block___show (char *command_line) show (command_line); - if (ext2fs_blocks_count(super) != 0) { - wmove (show_pad,2,40);wprintw (show_pad,"%2.2f%%",100*(float) ext2fs_r_blocks_count(super)/ (float) ext2fs_blocks_count(super)); - wmove (show_pad,3,40);wprintw (show_pad,"%2.2f%%",100*(float) ext2fs_free_blocks_count(super)/ (float) ext2fs_blocks_count(super)); + if (super->s_blocks_count != 0) { + wmove (show_pad,2,40);wprintw (show_pad,"%2.2f%%",100*(float) super->s_r_blocks_count/ (float) super->s_blocks_count); + wmove (show_pad,3,40);wprintw (show_pad,"%2.2f%%",100*(float) super->s_free_blocks_count/ (float) super->s_blocks_count); } if (super->s_inodes_count != 0) { diff --git a/intl/Makefile.in b/intl/Makefile.in index bf24f63f..47f6f629 100644 --- a/intl/Makefile.in +++ b/intl/Makefile.in @@ -73,7 +73,7 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \ -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \ -Dset_relocation_prefix=libintl_set_relocation_prefix \ -Drelocate=libintl_relocate \ --DDEPENDS_ON_LIBICONV=1 -DHAVE_CONFIG_H +-DDEPENDS_ON_LIBICONV=1 @DEFS@ CPPFLAGS = @CPPFLAGS@ CFLAGS = @CFLAGS@ LDFLAGS = @LDFLAGS@ @@ -191,7 +191,6 @@ LTV_AGE=4 .c.o: $(E) " CC $<" $(Q) $(COMPILE) $< - $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< .y.c: $(YACC) $(YFLAGS) --output $@ $< @@ -253,7 +252,7 @@ ref-del.sed: $(srcdir)/ref-del.sin $(Q) sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-del.sin > t-ref-del.sed $(Q) mv t-ref-del.sed ref-del.sed -INCLUDES = -I. -I$(srcdir) -I.. -I$(top_builddir)/lib +INCLUDES = -I. -I$(srcdir) -I.. libgnuintl.h: $(srcdir)/libgnuintl.h.in $(E) " SED libgnuintl.h " diff --git a/lib/Makefile.bsd-lib b/lib/Makefile.bsd-lib index 0ca09f8c..51e9dc77 100644 --- a/lib/Makefile.bsd-lib +++ b/lib/Makefile.bsd-lib @@ -22,7 +22,7 @@ BSDLIB_PIC_FLAG = -fpic image: $(BSD_LIB) $(BSD_LIB): $(OBJS) - (cd pic; ld -Bshareable -o $(BSD_LIB) $(LDFLAGS) $(OBJS)) + (cd pic; ld -Bshareable -o $(BSD_LIB) $(OBJS)) $(MV) pic/$(BSD_LIB) . $(RM) -f ../$(BSD_LIB) (cd ..; $(LN) $(LINK_BUILD_FLAGS) \ diff --git a/lib/Makefile.elf-lib b/lib/Makefile.elf-lib index 78479d31..ea600c7a 100644 --- a/lib/Makefile.elf-lib +++ b/lib/Makefile.elf-lib @@ -24,8 +24,7 @@ image: $(ELF_LIB) $(ELF_LIB): $(OBJS) $(E) " GEN_ELF_SOLIB $(ELF_LIB)" - $(Q) (cd elfshared; $(CC) --shared -o $(ELF_LIB) \ - -L$(top_builddir)/../lib $(LDFLAGS) \ + $(Q) (cd elfshared; $(CC) --shared -o $(ELF_LIB) $(LDFLAGS) \ -Wl,-soname,$(ELF_SONAME) $(OBJS) $(ELF_OTHER_LIBS)) $(Q) $(MV) elfshared/$(ELF_LIB) . $(Q) $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME) @@ -41,15 +40,18 @@ installdirs-elf-lib:: installdirs:: installdirs-elf-lib -install-shlibs install:: $(ELF_LIB) installdirs-elf-lib $(DEP_INSTALL_SYMLINK) +install-shlibs install:: $(ELF_LIB) installdirs-elf-lib $(E) " INSTALL-ELF-LIB $(ELF_INSTALL_DIR)/$(ELF_LIB)" $(Q) $(INSTALL_PROGRAM) $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) $(E) " SYMLINK $(ELF_INSTALL_DIR)/$(ELF_SONAME)" - $(Q) $(INSTALL_SYMLINK) $(ELF_INSTALL_DIR)/$(ELF_LIB) \ - $(ELF_INSTALL_DIR)/$(ELF_SONAME) $(DESTDIR) + $(Q) $(LN_S) -f $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_SONAME) $(E) " SYMLINK $(libdir)/$(ELF_IMAGE).so" - $(Q) $(INSTALL_SYMLINK) $(ELF_INSTALL_DIR)/$(ELF_SONAME) \ - $(libdir)/$(ELF_IMAGE).so $(DESTDIR) + $(Q) if test "$(ELF_INSTALL_DIR)" = "$(libdir)"; then \ + $(LN_S) -f $(ELF_SONAME) $(DESTDIR)$(libdir)/$(ELF_IMAGE).so ; \ + else \ + $(LN_S) -f $(ELF_INSTALL_DIR)/$(ELF_SONAME) \ + $(DESTDIR)$(libdir)/$(ELF_IMAGE).so; \ + fi $(E) " LDCONFIG" $(Q) -$(LDCONFIG) diff --git a/lib/Makefile.solaris-lib b/lib/Makefile.solaris-lib index 5990be8a..92bdbe28 100644 --- a/lib/Makefile.solaris-lib +++ b/lib/Makefile.solaris-lib @@ -24,8 +24,7 @@ image: $(ELF_LIB) $(ELF_LIB): $(OBJS) $(E) " GEN_ELF_SOLIB $(ELF_LIB)" - $(Q) (cd elfshared; $(CC) --shared -o $(ELF_LIB) \ - -L$(top_builddir)/../lib $(LDFLAGS) \ + $(Q) (cd elfshared; $(CC) --shared -o $(ELF_LIB) $(LDFLAGS) \ -Wl,-h,$(ELF_SONAME) $(OBJS) $(ELF_OTHER_LIBS)) $(Q) $(MV) elfshared/$(ELF_LIB) . $(Q) $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).so ../$(ELF_SONAME) diff --git a/lib/blkid/Android.mk b/lib/blkid/Android.mk index 92ef7764..e0494e32 100644 --- a/lib/blkid/Android.mk +++ b/lib/blkid/Android.mk @@ -21,7 +21,7 @@ libext2_blkid_system_shared_libraries := libc libext2_blkid_c_includes := external/e2fsprogs/lib -libext2_blkid_cflags := -O2 -g -W -Wall -fno-strict-aliasing \ +libext2_blkid_cflags := -O2 -g -W -Wall \ -DHAVE_UNISTD_H \ -DHAVE_ERRNO_H \ -DHAVE_NETINET_IN_H \ @@ -55,7 +55,7 @@ LOCAL_SRC_FILES := $(libext2_blkid_src_files) LOCAL_SYSTEM_SHARED_LIBRARIES := $(libext2_blkid_system_shared_libraries) LOCAL_SHARED_LIBRARIES := $(libext2_blkid_shared_libraries) LOCAL_C_INCLUDES := $(libext2_blkid_c_includes) -LOCAL_CFLAGS := $(libext2_blkid_cflags) $(libext2_blkid_cflags_linux) -fno-strict-aliasing +LOCAL_CFLAGS := $(libext2_blkid_cflags) $(libext2_blkid_cflags_linux) LOCAL_PRELINK_MODULE := false LOCAL_MODULE := libext2_blkid LOCAL_MODULE_TAGS := optional diff --git a/lib/blkid/MODULE_LICENSE_LGPL b/lib/blkid/MODULE_LICENSE_LGPL new file mode 100644 index 00000000..e69de29b diff --git a/lib/blkid/Makefile.in b/lib/blkid/Makefile.in index 3f15c677..e89318e1 100644 --- a/lib/blkid/Makefile.in +++ b/lib/blkid/Makefile.in @@ -36,7 +36,7 @@ ELF_SO_VERSION = 1 ELF_IMAGE = libblkid ELF_MYDIR = blkid ELF_INSTALL_DIR = $(root_libdir) -ELF_OTHER_LIBS = -luuid +ELF_OTHER_LIBS = -L../.. -luuid BSDLIB_VERSION = 2.0 BSDLIB_IMAGE = libblkid @@ -55,7 +55,6 @@ DEPLIBS_BLKID= $(DEPSTATIC_LIBBLKID) $(DEPSTATIC_LIBUUID) .c.o: $(E) " CC $<" $(Q) $(CC) $(ALL_CFLAGS) -c $< -o $@ - $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< @PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $< @CHECKER_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -checker -g -o checker/$*.o -c $< @ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -fPIC -o elfshared/$*.o -c $< @@ -196,28 +195,15 @@ $(OBJS): subdirs $(HFILES_IN) # Makefile dependencies follow. This must be the last section in # the Makefile.in file # -cache.o: $(srcdir)/cache.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h -dev.o: $(srcdir)/dev.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h -devname.o: $(srcdir)/devname.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h -devno.o: $(srcdir)/devno.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h -getsize.o: $(srcdir)/getsize.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h -llseek.o: $(srcdir)/llseek.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h -probe.o: $(srcdir)/probe.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h \ - $(srcdir)/probe.h -read.o: $(srcdir)/read.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h -resolve.o: $(srcdir)/resolve.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h -save.o: $(srcdir)/save.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h -tag.o: $(srcdir)/tag.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/blkidP.h $(srcdir)/list.h -version.o: $(srcdir)/version.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/version.h +cache.o: $(srcdir)/cache.c $(srcdir)/list.h +dev.o: $(srcdir)/dev.c $(srcdir)/list.h +devname.o: $(srcdir)/devname.c $(srcdir)/list.h +devno.o: $(srcdir)/devno.c $(srcdir)/list.h +getsize.o: $(srcdir)/getsize.c $(srcdir)/list.h +llseek.o: $(srcdir)/llseek.c $(srcdir)/list.h +probe.o: $(srcdir)/probe.c $(srcdir)/list.h $(srcdir)/probe.h +read.o: $(srcdir)/read.c $(srcdir)/list.h +resolve.o: $(srcdir)/resolve.c $(srcdir)/list.h +save.o: $(srcdir)/save.c $(srcdir)/list.h +tag.o: $(srcdir)/tag.c $(srcdir)/list.h +version.o: $(srcdir)/version.c $(top_srcdir)/version.h diff --git a/lib/blkid/blkid.pc.in b/lib/blkid/blkid.pc.in index 808fe229..b984f6d0 100644 --- a/lib/blkid/blkid.pc.in +++ b/lib/blkid/blkid.pc.in @@ -7,5 +7,5 @@ Name: blkid Description: Block device id library Version: @E2FSPROGS_VERSION@ Requires.private: uuid -Cflags: -I${includedir}/blkid -I${includedir} +Cflags: -I${includedir}/blkid Libs: -L${libdir} -lblkid diff --git a/lib/blkid/blkid_types.h b/lib/blkid/blkid_types.h index 3ffaee54..3e287125 100644 --- a/lib/blkid/blkid_types.h +++ b/lib/blkid/blkid_types.h @@ -7,6 +7,14 @@ !defined(_EXT2_TYPES_H)) #define _BLKID_TYPES_H +#define __S8_TYPEDEF __signed__ char +#define __U8_TYPEDEF unsigned char +#define __S16_TYPEDEF __signed__ short +#define __U16_TYPEDEF unsigned short +#define __S32_TYPEDEF __signed__ int +#define __U32_TYPEDEF unsigned int +#define __S64_TYPEDEF __signed__ long long +#define __U64_TYPEDEF unsigned long long #ifdef __U8_TYPEDEF typedef __U8_TYPEDEF __u8; @@ -91,13 +99,13 @@ typedef __U64_TYPEDEF __u64; #if (4 == 8) typedef unsigned int __u64; #else -#if (8 == 8) -typedef unsigned long long __u64; -#else #if (4 == 8) typedef unsigned long __u64; -#endif /* SIZEOF_LONG == 8 */ +#else +#if (8 == 8) +typedef unsigned long long __u64; #endif /* SIZEOF_LONG_LONG == 8 */ +#endif /* SIZEOF_LONG == 8 */ #endif /* SIZEOF_INT == 8 */ #endif /* __U64_TYPEDEF */ @@ -107,17 +115,17 @@ typedef __S64_TYPEDEF __s64; #if (4 == 8) typedef int __s64; #else +#if (4 == 8) +typedef long __s64; +#else #if (8 == 8) #if defined(__GNUC__) typedef __signed__ long long __s64; #else typedef signed long long __s64; #endif /* __GNUC__ */ -#else -#if (4 == 8) -typedef long __s64; -#endif /* SIZEOF_LONG == 8 */ #endif /* SIZEOF_LONG_LONG == 8 */ +#endif /* SIZEOF_LONG == 8 */ #endif /* SIZEOF_INT == 8 */ #endif /* __S64_TYPEDEF */ diff --git a/lib/blkid/blkid_types.h.in b/lib/blkid/blkid_types.h.in index 2edc0dad..cb5b10d5 100644 --- a/lib/blkid/blkid_types.h.in +++ b/lib/blkid/blkid_types.h.in @@ -92,13 +92,13 @@ typedef __U64_TYPEDEF __u64; #if (@SIZEOF_INT@ == 8) typedef unsigned int __u64; #else -#if (@SIZEOF_LONG_LONG@ == 8) -typedef unsigned long long __u64; -#else #if (@SIZEOF_LONG@ == 8) typedef unsigned long __u64; -#endif /* SIZEOF_LONG == 8 */ +#else +#if (@SIZEOF_LONG_LONG@ == 8) +typedef unsigned long long __u64; #endif /* SIZEOF_LONG_LONG == 8 */ +#endif /* SIZEOF_LONG == 8 */ #endif /* SIZEOF_INT == 8 */ #endif /* __U64_TYPEDEF */ @@ -108,17 +108,17 @@ typedef __S64_TYPEDEF __s64; #if (@SIZEOF_INT@ == 8) typedef int __s64; #else +#if (@SIZEOF_LONG@ == 8) +typedef long __s64; +#else #if (@SIZEOF_LONG_LONG@ == 8) #if defined(__GNUC__) typedef __signed__ long long __s64; #else typedef signed long long __s64; #endif /* __GNUC__ */ -#else -#if (@SIZEOF_LONG@ == 8) -typedef long __s64; -#endif /* SIZEOF_LONG == 8 */ #endif /* SIZEOF_LONG_LONG == 8 */ +#endif /* SIZEOF_LONG == 8 */ #endif /* SIZEOF_INT == 8 */ #endif /* __S64_TYPEDEF */ diff --git a/lib/blkid/cache.c b/lib/blkid/cache.c index e2ccafd2..2b818868 100644 --- a/lib/blkid/cache.c +++ b/lib/blkid/cache.c @@ -10,9 +10,6 @@ * %End-Header% */ -#if HAVE_SECURE_GETENV -#define _GNU_SOURCE -#endif #if HAVE_UNISTD_H #include #endif @@ -51,9 +48,7 @@ static char *safe_getenv(const char *arg) #endif #endif -#if defined(HAVE_SECURE_GETENV) - return secure_getenv(arg); -#elif defined(HAVE___SECURE_GETENV) +#ifdef HAVE___SECURE_GETENV return __secure_getenv(arg); #else return getenv(arg); diff --git a/lib/blkid/getsize.c b/lib/blkid/getsize.c index ac4177e2..10ba7ecf 100644 --- a/lib/blkid/getsize.c +++ b/lib/blkid/getsize.c @@ -74,46 +74,52 @@ static int valid_offset(int fd, blkid_loff_t offset) */ blkid_loff_t blkid_get_dev_size(int fd) { + int valid_blkgetsize64 = 1; +#ifdef __linux__ + struct utsname ut; +#endif unsigned long long size64; + unsigned long size; blkid_loff_t high, low; +#ifdef FDGETPRM + struct floppy_struct this_floppy; +#endif +#ifdef HAVE_SYS_DISKLABEL_H + int part = -1; + struct disklabel lab; + struct partition *pp; + char ch; + struct stat st; +#endif /* HAVE_SYS_DISKLABEL_H */ #ifdef DKIOCGETBLOCKCOUNT /* For Apple Darwin */ if (ioctl(fd, DKIOCGETBLOCKCOUNT, &size64) >= 0) { - if (sizeof(blkid_loff_t) < sizeof(unsigned long long) && - (size64 << 9) > 0xFFFFFFFF) + if ((sizeof(blkid_loff_t) < sizeof(unsigned long long)) + && (size64 << 9 > 0xFFFFFFFF)) return 0; /* EFBIG */ - return (blkid_loff_t)size64 << 9; + return (blkid_loff_t) size64 << 9; } #endif #ifdef BLKGETSIZE64 - { - int valid_blkgetsize64 = 1; #ifdef __linux__ - struct utsname ut; - - if ((uname(&ut) == 0) && - ((ut.release[0] == '2') && (ut.release[1] == '.') && - (ut.release[2] < '6') && (ut.release[3] == '.'))) - valid_blkgetsize64 = 0; -#endif - if (valid_blkgetsize64 && - ioctl(fd, BLKGETSIZE64, &size64) >= 0) { - if (sizeof(blkid_loff_t) < sizeof(unsigned long long) && - (size64 > 0xFFFFFFFF)) - return 0; /* EFBIG */ - return size64; - } + if ((uname(&ut) == 0) && + ((ut.release[0] == '2') && (ut.release[1] == '.') && + (ut.release[2] < '6') && (ut.release[3] == '.'))) + valid_blkgetsize64 = 0; +#endif + if (valid_blkgetsize64 && + ioctl(fd, BLKGETSIZE64, &size64) >= 0) { + if ((sizeof(blkid_loff_t) < sizeof(unsigned long long)) + && ((size64) > 0xFFFFFFFF)) + return 0; /* EFBIG */ + return size64; } -#endif /* BLKGETSIZE64 */ +#endif #ifdef BLKGETSIZE - { - unsigned long size; - - if (ioctl(fd, BLKGETSIZE, &size) >= 0) - return (blkid_loff_t)size << 9; - } + if (ioctl(fd, BLKGETSIZE, &size) >= 0) + return (blkid_loff_t)size << 9; #endif /* tested on FreeBSD 6.1-RELEASE i386 */ @@ -123,43 +129,29 @@ blkid_loff_t blkid_get_dev_size(int fd) #endif /* DIOCGMEDIASIZE */ #ifdef FDGETPRM - { - struct floppy_struct this_floppy; - - if (ioctl(fd, FDGETPRM, &this_floppy) >= 0) - return (blkid_loff_t)this_floppy.size << 9; - } + if (ioctl(fd, FDGETPRM, &this_floppy) >= 0) + return (blkid_loff_t)this_floppy.size << 9; #endif #ifdef HAVE_SYS_DISKLABEL_H - { - int part = -1; - struct disklabel lab; - struct partition *pp; - char ch; - struct stat st; - - /* - * This code works for FreeBSD 4.11 i386, except for the full - * device (such as /dev/ad0). It doesn't work properly for - * newer FreeBSD though. FreeBSD >= 5.0 should be covered by - * the DIOCGMEDIASIZE above however. - * - * Note that FreeBSD >= 4.0 has disk devices as unbuffered (raw, - * character) devices, so we need to check for S_ISCHR, too. - */ - if (fstat(fd, &st) >= 0 && - (S_ISBLK(st.st_mode) || S_ISCHR(st.st_mode))) - part = st.st_rdev & 7; - - if (part >= 0 && (ioctl(fd, DIOCGDINFO, (char *)&lab) >= 0)) { - pp = &lab.d_partitions[part]; - if (pp->p_size) - return pp->p_size << 9; - } + /* + * This code works for FreeBSD 4.11 i386, except for the full device + * (such as /dev/ad0). It doesn't work properly for newer FreeBSD + * though. FreeBSD >= 5.0 should be covered by the DIOCGMEDIASIZE + * above however. + * + * Note that FreeBSD >= 4.0 has disk devices as unbuffered (raw, + * character) devices, so we need to check for S_ISCHR, too. + */ + if ((fstat(fd, &st) >= 0) && (S_ISBLK(st.st_mode) || S_ISCHR(st.st_mode))) + part = st.st_rdev & 7; + if (part >= 0 && (ioctl(fd, DIOCGDINFO, (char *)&lab) >= 0)) { + pp = &lab.d_partitions[part]; + if (pp->p_size) + return pp->p_size << 9; } #endif /* HAVE_SYS_DISKLABEL_H */ { -#if defined(HAVE_FSTAT64) && !defined(__OSX_AVAILABLE_BUT_DEPRECATED) +#ifdef HAVE_FSTAT64 struct stat64 st; if (fstat64(fd, &st) == 0) #else @@ -170,6 +162,7 @@ blkid_loff_t blkid_get_dev_size(int fd) return st.st_size; } + /* * OK, we couldn't figure it out by using a specialized ioctl, * which is generally the best way. So do binary search to @@ -178,7 +171,8 @@ blkid_loff_t blkid_get_dev_size(int fd) low = 0; for (high = 1024; valid_offset(fd, high); high *= 2) low = high; - while (low < high - 1) { + while (low < high - 1) + { const blkid_loff_t mid = (low + high) / 2; if (valid_offset(fd, mid)) @@ -205,8 +199,8 @@ int main(int argc, char **argv) perror(argv[0]); bytes = blkid_get_dev_size(fd); - printf("Device %s has %lld 1k blocks.\n", argv[1], - (unsigned long long)bytes >> 10); + printf("Device %s has %Ld 1k blocks.\n", argv[1], + (unsigned long long) bytes >> 10); return 0; } diff --git a/lib/blkid/list.h b/lib/blkid/list.h index 26a5ac1b..c1cbfec5 100644 --- a/lib/blkid/list.h +++ b/lib/blkid/list.h @@ -1,4 +1,4 @@ -#if !defined(_BLKID_LIST_H) && !defined(LIST_HEAD_INIT) +#if !defined(_BLKID_LIST_H) && !defined(LIST_HEAD) #define _BLKID_LIST_H #ifdef __cplusplus @@ -27,6 +27,9 @@ struct list_head { #define LIST_HEAD_INIT(name) { &(name), &(name) } +#define LIST_HEAD(name) \ + struct list_head name = LIST_HEAD_INIT(name) + #define INIT_LIST_HEAD(ptr) do { \ (ptr)->next = (ptr); (ptr)->prev = (ptr); \ } while (0) diff --git a/lib/blkid/probe.c b/lib/blkid/probe.c index 84649df2..6ff942d0 100644 --- a/lib/blkid/probe.c +++ b/lib/blkid/probe.c @@ -42,8 +42,10 @@ static int figure_label_len(const unsigned char *label, int len) while ((*end == ' ' || *end == 0) && end >= label) --end; - if (end >= label) + if (end >= label) { + label = label; return end - label + 1; + } return 0; } @@ -246,7 +248,7 @@ static int linux_version_code() { #ifdef __linux__ struct utsname ut; - static int version_code = -1; + static version_code = -1; int major, minor, rev; char *endptr; const char *cp; @@ -1160,8 +1162,7 @@ static int probe_hfs(struct blkid_probe *probe __BLKID_ATTR((unused)), struct blkid_magic *id __BLKID_ATTR((unused)), unsigned char *buf) { - struct hfs_mdb *hfs = (struct hfs_mdb *)buf; - unsigned long long *uuid_ptr; + struct hfs_mdb *hfs = (struct hfs_mdb *) buf; char uuid_str[17]; __u64 uuid; @@ -1169,13 +1170,12 @@ static int probe_hfs(struct blkid_probe *probe __BLKID_ATTR((unused)), (memcmp(hfs->embed_sig, "HX", 2) == 0)) return 1; /* Not hfs, but an embedded HFS+ */ - uuid_ptr = (unsigned long long *)hfs->finder_info.id; - uuid = blkid_le64(*uuid_ptr); + uuid = blkid_le64(*((unsigned long long *) hfs->finder_info.id)); if (uuid) { sprintf(uuid_str, "%016llX", uuid); blkid_set_tag(probe->dev, "UUID", uuid_str, 0); } - blkid_set_tag(probe->dev, "LABEL", (char *)hfs->label, hfs->label_len); + blkid_set_tag(probe->dev, "LABEL", hfs->label, hfs->label_len); return 0; } @@ -1204,10 +1204,9 @@ static int probe_hfsplus(struct blkid_probe *probe, unsigned int leaf_node_size; unsigned int leaf_block; unsigned int label_len; - unsigned long long *uuid_ptr; + int ext; __u64 leaf_off, uuid; char uuid_str[17], label[512]; - int ext; /* Check for a HFS+ volume embedded in a HFS volume */ if (memcmp(sbd->signature, "BD", 2) == 0) { @@ -1235,8 +1234,7 @@ static int probe_hfsplus(struct blkid_probe *probe, (memcmp(hfsplus->signature, "HX", 2) != 0)) return 1; - uuid_ptr = (unsigned long long *)hfsplus->finder_info.id; - uuid = blkid_le64(*uuid_ptr); + uuid = blkid_le64(*((unsigned long long *) hfsplus->finder_info.id)); if (uuid) { sprintf(uuid_str, "%016llX", uuid); blkid_set_tag(probe->dev, "UUID", uuid_str, 0); @@ -1298,8 +1296,7 @@ static int probe_hfsplus(struct blkid_probe *probe, return 0; label_len = blkid_be16(key->unicode_len) * 2; - unicode_16be_to_utf8((unsigned char *)label, sizeof(label), - key->unicode, label_len); + unicode_16be_to_utf8(label, sizeof(label), key->unicode, label_len); blkid_set_tag(probe->dev, "LABEL", label, 0); return 0; } diff --git a/lib/blkid/probe.h b/lib/blkid/probe.h index 37e80eff..37fc9c06 100644 --- a/lib/blkid/probe.h +++ b/lib/blkid/probe.h @@ -109,7 +109,6 @@ struct ext2_super_block { #define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010 #define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020 #define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 0x0040 -#define EXT4_FEATURE_RO_COMPAT_QUOTA 0x0100 /* for s_feature_incompat */ #define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002 diff --git a/lib/config.h.in b/lib/config.h.in deleted file mode 100644 index b500a2cb..00000000 --- a/lib/config.h.in +++ /dev/null @@ -1,623 +0,0 @@ -/* lib/config.h.in. Generated from configure.in by autoheader. */ - -/* Define if building universal (internal helper macro) */ -#undef AC_APPLE_UNIVERSAL_BUILD - -/* Define to 1 if debugging the blkid library */ -#undef CONFIG_BLKID_DEBUG - -/* Define to 1 to compile findfs */ -#undef CONFIG_BUILD_FINDFS - -/* Define to 1 if debugging ext3/4 journal code */ -#undef CONFIG_JBD_DEBUG - -/* Define to 1 to enable quota support */ -#undef CONFIG_QUOTA - -/* Define to 1 if the testio I/O manager should be enabled */ -#undef CONFIG_TESTIO_DEBUG - -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -#undef CRAY_STACKSEG_END - -/* Define to 1 if using `alloca.c'. */ -#undef C_ALLOCA - -/* Define to 1 to disable use of backtrace */ -#undef DISABLE_BACKTRACE - -/* Define to 1 if ext2 compression enabled */ -#undef ENABLE_COMPRESSION - -/* Define to 1 if ext3/4 htree support enabled */ -#undef ENABLE_HTREE - -/* Define to 1 if translation of program messages to the user's native - language is requested. */ -#undef ENABLE_NLS - -/* Define to 1 if you have `alloca', as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define to 1 if you have and it should be used (not on Ultrix). - */ -#undef HAVE_ALLOCA_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_ARGZ_H - -/* Define to 1 if you have the `asprintf' function. */ -#undef HAVE_ASPRINTF - -/* Define to 1 if you have the `backtrace' function. */ -#undef HAVE_BACKTRACE - -/* Define to 1 if you have the `blkid_probe_get_topology' function. */ -#undef HAVE_BLKID_PROBE_GET_TOPOLOGY - -/* Define to 1 if you have the `chflags' function. */ -#undef HAVE_CHFLAGS - -/* Define if the GNU dcgettext() function is already present or preinstalled. - */ -#undef HAVE_DCGETTEXT - -/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you - don't. */ -#undef HAVE_DECL_FEOF_UNLOCKED - -/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if - you don't. */ -#undef HAVE_DECL_FGETS_UNLOCKED - -/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you - don't. */ -#undef HAVE_DECL_GETC_UNLOCKED - -/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you - don't. */ -#undef HAVE_DECL__SNPRINTF - -/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you - don't. */ -#undef HAVE_DECL__SNWPRINTF - -/* Define to 1 if you have the header file. */ -#undef HAVE_DIRENT_H - -/* Define to 1 if dlopen/libdl exists */ -#undef HAVE_DLOPEN - -/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ -#undef HAVE_DOPRNT - -/* Define to 1 if you have the header file. */ -#undef HAVE_ERRNO_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_EXECINFO_H - -/* Define to 1 if Ext2 ioctls present */ -#undef HAVE_EXT2_IOCTLS - -/* Define to 1 if you have the `fallocate' function. */ -#undef HAVE_FALLOCATE - -/* Define to 1 if you have the `fallocate64' function. */ -#undef HAVE_FALLOCATE64 - -/* Define to 1 if you have the `fchown' function. */ -#undef HAVE_FCHOWN - -/* Define to 1 if you have the `fdatasync' function. */ -#undef HAVE_FDATASYNC - -/* Define to 1 if you have the `fstat64' function. */ -#undef HAVE_FSTAT64 - -/* Define to 1 if you have the `ftruncate64' function. */ -#undef HAVE_FTRUNCATE64 - -/* Define to 1 if you have the `fwprintf' function. */ -#undef HAVE_FWPRINTF - -/* Define to 1 if you have the `getcwd' function. */ -#undef HAVE_GETCWD - -/* Define to 1 if you have the `getdtablesize' function. */ -#undef HAVE_GETDTABLESIZE - -/* Define to 1 if you have the `getegid' function. */ -#undef HAVE_GETEGID - -/* Define to 1 if you have the `geteuid' function. */ -#undef HAVE_GETEUID - -/* Define to 1 if you have the `getgid' function. */ -#undef HAVE_GETGID - -/* Define to 1 if you have the `getmntinfo' function. */ -#undef HAVE_GETMNTINFO - -/* Define to 1 if you have the header file. */ -#undef HAVE_GETOPT_H - -/* Define to 1 if you have the `getpagesize' function. */ -#undef HAVE_GETPAGESIZE - -/* Define to 1 if you have the `getpwuid_r' function. */ -#undef HAVE_GETPWUID_R - -/* Define to 1 if you have the `getrlimit' function. */ -#undef HAVE_GETRLIMIT - -/* Define to 1 if you have the `getrusage' function. */ -#undef HAVE_GETRUSAGE - -/* Define if the GNU gettext() function is already present or preinstalled. */ -#undef HAVE_GETTEXT - -/* Define to 1 if you have the `getuid' function. */ -#undef HAVE_GETUID - -/* Define if you have the iconv() function. */ -#undef HAVE_ICONV - -/* Define if you have the 'intmax_t' type in or . */ -#undef HAVE_INTMAX_T - -/* Define to 1 if the system has the type `intptr_t'. */ -#undef HAVE_INTPTR_T - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define if exists, doesn't clash with , and - declares uintmax_t. */ -#undef HAVE_INTTYPES_H_WITH_UINTMAX - -/* Define to 1 if you have the `jrand48' function. */ -#undef HAVE_JRAND48 - -/* Define if you have and nl_langinfo(CODESET). */ -#undef HAVE_LANGINFO_CODESET - -/* Define if your file defines LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES - -/* Define to 1 if you have the header file. */ -#undef HAVE_LIMITS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_LINUX_FALLOC_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_LINUX_FD_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_LINUX_MAJOR_H - -/* Define to 1 if you have the `llseek' function. */ -#undef HAVE_LLSEEK - -/* Define to 1 if llseek declared in unistd.h */ -#undef HAVE_LLSEEK_PROTOTYPE - -/* Define to 1 if you have the header file. */ -#undef HAVE_LOCALE_H - -/* Define if you have the 'long double' type. */ -#undef HAVE_LONG_DOUBLE - -/* Define if you have the 'long long' type. */ -#undef HAVE_LONG_LONG - -/* Define to 1 if you have the `lseek64' function. */ -#undef HAVE_LSEEK64 - -/* Define to 1 if lseek64 declared in unistd.h */ -#undef HAVE_LSEEK64_PROTOTYPE - -/* Define to 1 if you have the `mallinfo' function. */ -#undef HAVE_MALLINFO - -/* Define to 1 if you have the header file. */ -#undef HAVE_MALLOC_H - -/* Define to 1 if you have the `mbstowcs' function. */ -#undef HAVE_MBSTOWCS - -/* Define to 1 if you have the `memalign' function. */ -#undef HAVE_MEMALIGN - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `mempcpy' function. */ -#undef HAVE_MEMPCPY - -/* Define to 1 if you have the `mmap' function. */ -#undef HAVE_MMAP - -/* Define to 1 if you have the header file. */ -#undef HAVE_MNTENT_H - -/* Define to 1 if you have the `msync' function. */ -#undef HAVE_MSYNC - -/* Define to 1 if you have the `munmap' function. */ -#undef HAVE_MUNMAP - -/* Define to 1 if you have the `nanosleep' function. */ -#undef HAVE_NANOSLEEP - -/* Define to 1 if you have the header file. */ -#undef HAVE_NETINET_IN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_NET_IF_DL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_NET_IF_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_NL_TYPES_H - -/* Define to 1 if you have the `open64' function. */ -#undef HAVE_OPEN64 - -/* Define to 1 if optreset for getopt is present */ -#undef HAVE_OPTRESET - -/* Define to 1 if you have the `pathconf' function. */ -#undef HAVE_PATHCONF - -/* Define to 1 if you have the header file. */ -#undef HAVE_PATHS_H - -/* Define to 1 if you have the `posix_fadvise' function. */ -#undef HAVE_POSIX_FADVISE - -/* Define to 1 if you have the `posix_memalign' function. */ -#undef HAVE_POSIX_MEMALIGN - -/* Define if your printf() function supports format strings with positions. */ -#undef HAVE_POSIX_PRINTF - -/* Define to 1 if you have the `prctl' function. */ -#undef HAVE_PRCTL - -/* Define to 1 if you have the `putenv' function. */ -#undef HAVE_PUTENV - -/* Define to 1 if dirent has d_reclen */ -#undef HAVE_RECLEN_DIRENT - -/* Define to 1 if if struct sockaddr contains sa_len */ -#undef HAVE_SA_LEN - -/* Define to 1 if you have the `secure_getenv' function. */ -#undef HAVE_SECURE_GETENV - -/* Define to 1 if you have the header file. */ -#undef HAVE_SEMAPHORE_H - -/* Define to 1 if sem_init() exists */ -#undef HAVE_SEM_INIT - -/* Define to 1 if you have the `setenv' function. */ -#undef HAVE_SETENV - -/* Define to 1 if you have the header file. */ -#undef HAVE_SETJMP_H - -/* Define to 1 if you have the `setlocale' function. */ -#undef HAVE_SETLOCALE - -/* Define to 1 if you have the `setmntent' function. */ -#undef HAVE_SETMNTENT - -/* Define to 1 if you have the `setresgid' function. */ -#undef HAVE_SETRESGID - -/* Define to 1 if you have the `setresuid' function. */ -#undef HAVE_SETRESUID - -/* Define to 1 if you have the header file. */ -#undef HAVE_SIGNAL_H - -/* Define to 1 if you have the `snprintf' function. */ -#undef HAVE_SNPRINTF - -/* Define to 1 if you have the `srandom' function. */ -#undef HAVE_SRANDOM - -/* Define to 1 if struct stat has st_flags */ -#undef HAVE_STAT_FLAGS - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDARG_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDDEF_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define if exists, doesn't clash with , and declares - uintmax_t. */ -#undef HAVE_STDINT_H_WITH_UINTMAX - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `stpcpy' function. */ -#undef HAVE_STPCPY - -/* Define to 1 if you have the `strcasecmp' function. */ -#undef HAVE_STRCASECMP - -/* Define to 1 if you have the `strdup' function. */ -#undef HAVE_STRDUP - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strnlen' function. */ -#undef HAVE_STRNLEN - -/* Define to 1 if you have the `strptime' function. */ -#undef HAVE_STRPTIME - -/* Define to 1 if you have the `strtoul' function. */ -#undef HAVE_STRTOUL - -/* Define to 1 if you have the `strtoull' function. */ -#undef HAVE_STRTOULL - -/* Define to 1 if you have the `sync_file_range' function. */ -#undef HAVE_SYNC_FILE_RANGE - -/* Define to 1 if you have the `sysconf' function. */ -#undef HAVE_SYSCONF - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_DISKLABEL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_DISK_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_FILE_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_IOCTL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_MKDEV_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_MMAN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_MOUNT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_PRCTL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_QUEUE_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_RESOURCE_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SELECT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SOCKET_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SOCKIO_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SYSCALL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SYSMACROS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TIME_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_UN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_WAIT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_TERMIOS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_TERMIO_H - -/* Define to 1 if you have the `tsearch' function. */ -#undef HAVE_TSEARCH - -/* Define to 1 if ssize_t declared */ -#undef HAVE_TYPE_SSIZE_T - -/* Define if you have the 'uintmax_t' type in or . */ -#undef HAVE_UINTMAX_T - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define if you have the 'unsigned long long' type. */ -#undef HAVE_UNSIGNED_LONG_LONG - -/* Define to 1 if you have the `usleep' function. */ -#undef HAVE_USLEEP - -/* Define to 1 if you have the `utime' function. */ -#undef HAVE_UTIME - -/* Define to 1 if you have the header file. */ -#undef HAVE_UTIME_H - -/* Define to 1 if you have the `valloc' function. */ -#undef HAVE_VALLOC - -/* Define to 1 if you have the `vprintf' function. */ -#undef HAVE_VPRINTF - -/* Define if you have the 'wchar_t' type. */ -#undef HAVE_WCHAR_T - -/* Define to 1 if you have the `wcslen' function. */ -#undef HAVE_WCSLEN - -/* Define if you have the 'wint_t' type. */ -#undef HAVE_WINT_T - -/* Define to 1 if you have the `__argz_count' function. */ -#undef HAVE___ARGZ_COUNT - -/* Define to 1 if you have the `__argz_next' function. */ -#undef HAVE___ARGZ_NEXT - -/* Define to 1 if you have the `__argz_stringify' function. */ -#undef HAVE___ARGZ_STRINGIFY - -/* Define to 1 if you have the `__fsetlocking' function. */ -#undef HAVE___FSETLOCKING - -/* Define to 1 if you have the `__secure_getenv' function. */ -#undef HAVE___SECURE_GETENV - -/* Define as const if the declaration of iconv() needs const. */ -#undef ICONV_CONST - -/* Define if integer division by zero raises signal SIGFPE. */ -#undef INTDIV0_RAISES_SIGFPE - -/* package name for gettext */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define if exists and defines unusable PRI* macros. */ -#undef PRI_MACROS_BROKEN - -/* The size of `int', as computed by sizeof. */ -#undef SIZEOF_INT - -/* The size of `long', as computed by sizeof. */ -#undef SIZEOF_LONG - -/* The size of `long long', as computed by sizeof. */ -#undef SIZEOF_LONG_LONG - -/* The size of `off_t', as computed by sizeof. */ -#undef SIZEOF_OFF_T - -/* The size of `short', as computed by sizeof. */ -#undef SIZEOF_SHORT - -/* Define as the maximum value of type 'size_t', if the system doesn't define - it. */ -#undef SIZE_MAX - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at runtime. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ -#undef STACK_DIRECTION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* If the compiler supports a TLS storage class define it to that here */ -#undef TLS - -/* Define to 1 to build uuidd */ -#undef USE_UUIDD - -/* version for gettext */ -#undef VERSION - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -# undef WORDS_BIGENDIAN -# endif -#endif - -/* Define to 1 if Apple Darwin libintl workaround is needed */ -#undef _INTL_REDIRECT_MACROS - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -#undef inline -#endif - -/* Define to `long int' if does not define. */ -#undef off_t - -/* Define as the type of the result of subtracting two pointers, if the system - doesn't define it. */ -#undef ptrdiff_t - -/* Define to empty if the C compiler doesn't support this keyword. */ -#undef signed - -/* Define to `unsigned int' if does not define. */ -#undef size_t - -/* Define to unsigned long or unsigned long long if and - don't define. */ -#undef uintmax_t - -#include "dirpaths.h" diff --git a/lib/dirpaths.h.in b/lib/dirpaths.h.in deleted file mode 100644 index 6ccb55be..00000000 --- a/lib/dirpaths.h.in +++ /dev/null @@ -1,10 +0,0 @@ -/* - * This file contains the path names for various directories as - * controlled by the configure script. - */ - -/* Where to put the messages file for internationalization support */ -#define LOCALEDIR "@datadir@/locale" - -/* Where to find the mke2fs.conf and e2fsck.conf files */ -#define ROOT_SYSCONFDIR "@root_sysconfdir@" diff --git a/lib/e2p/MODULE_LICENSE_LGPL b/lib/e2p/MODULE_LICENSE_LGPL new file mode 100644 index 00000000..e69de29b diff --git a/lib/e2p/Makefile.in b/lib/e2p/Makefile.in index d6992fc5..9775a987 100644 --- a/lib/e2p/Makefile.in +++ b/lib/e2p/Makefile.in @@ -55,7 +55,6 @@ BSDLIB_INSTALL_DIR = $(root_libdir) .c.o: $(E) " CC $<" $(Q) $(CC) $(ALL_CFLAGS) -c $< -o $@ - $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< @PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $< @CHECKER_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -checker -g -o checker/$*.o -c $< @ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -fPIC -o elfshared/$*.o -c $< @@ -117,8 +116,7 @@ $(OBJS): subdirs # Makefile dependencies follow. This must be the last section in # the Makefile.in file # -feature.o: $(srcdir)/feature.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ +feature.o: $(srcdir)/feature.c $(srcdir)/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ @@ -126,60 +124,41 @@ feature.o: $(srcdir)/feature.c $(top_builddir)/lib/config.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ $(top_srcdir)/lib/ext2fs/jfs_user.h $(top_srcdir)/lib/ext2fs/kernel-jbd.h \ $(top_srcdir)/lib/ext2fs/jfs_compat.h $(top_srcdir)/lib/ext2fs/kernel-list.h -fgetflags.o: $(srcdir)/fgetflags.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ +fgetflags.o: $(srcdir)/fgetflags.c $(srcdir)/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -fsetflags.o: $(srcdir)/fsetflags.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ +fsetflags.o: $(srcdir)/fsetflags.c $(srcdir)/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -fgetversion.o: $(srcdir)/fgetversion.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ +fgetversion.o: $(srcdir)/fgetversion.c $(srcdir)/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -fsetversion.o: $(srcdir)/fsetversion.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ +fsetversion.o: $(srcdir)/fsetversion.c $(srcdir)/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -getflags.o: $(srcdir)/getflags.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ +getflags.o: $(srcdir)/getflags.c $(srcdir)/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -getversion.o: $(srcdir)/getversion.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ +getversion.o: $(srcdir)/getversion.c $(srcdir)/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -hashstr.o: $(srcdir)/hashstr.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ +hashstr.o: $(srcdir)/hashstr.c $(srcdir)/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -iod.o: $(srcdir)/iod.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ +iod.o: $(srcdir)/iod.c $(srcdir)/e2p.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ + $(top_builddir)/lib/ext2fs/ext2_types.h +ls.o: $(srcdir)/ls.c $(srcdir)/e2p.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ + $(top_builddir)/lib/ext2fs/ext2_types.h +mntopts.o: $(srcdir)/mntopts.c $(srcdir)/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -ls.o: $(srcdir)/ls.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ +parse_num.o: $(srcdir)/parse_num.c $(srcdir)/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -mntopts.o: $(srcdir)/mntopts.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ +pe.o: $(srcdir)/pe.c $(srcdir)/e2p.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ + $(top_builddir)/lib/ext2fs/ext2_types.h +pf.o: $(srcdir)/pf.c $(srcdir)/e2p.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ + $(top_builddir)/lib/ext2fs/ext2_types.h +ps.o: $(srcdir)/ps.c $(srcdir)/e2p.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ + $(top_builddir)/lib/ext2fs/ext2_types.h +setflags.o: $(srcdir)/setflags.c $(srcdir)/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -parse_num.o: $(srcdir)/parse_num.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ +setversion.o: $(srcdir)/setversion.c $(srcdir)/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -pe.o: $(srcdir)/pe.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ - $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -pf.o: $(srcdir)/pf.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ - $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -ps.o: $(srcdir)/ps.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ - $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -setflags.o: $(srcdir)/setflags.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ - $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -setversion.o: $(srcdir)/setversion.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ - $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -uuid.o: $(srcdir)/uuid.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_builddir)/lib/ext2fs/ext2_types.h \ +uuid.o: $(srcdir)/uuid.c $(top_builddir)/lib/ext2fs/ext2_types.h \ $(srcdir)/e2p.h $(top_srcdir)/lib/ext2fs/ext2_fs.h -ostype.o: $(srcdir)/ostype.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ +ostype.o: $(srcdir)/ostype.c $(srcdir)/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h -percent.o: $(srcdir)/percent.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/e2p.h \ +percent.o: $(srcdir)/percent.c $(srcdir)/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h diff --git a/lib/e2p/e2p.h b/lib/e2p/e2p.h index 4a68dd9a..7a90c37e 100644 --- a/lib/e2p/e2p.h +++ b/lib/e2p/e2p.h @@ -66,7 +66,6 @@ int e2p_string2mntopt(char *string, unsigned int *mask); int e2p_edit_mntopts(const char *str, __u32 *mntopts, __u32 ok); unsigned long parse_num_blocks(const char *arg, int log_block_size); -unsigned long long parse_num_blocks2(const char *arg, int log_block_size); char *e2p_os2string(int os_type); int e2p_string2os(char *str); diff --git a/lib/e2p/e2p.pc.in b/lib/e2p/e2p.pc.in index c171ae67..98ee9fb7 100644 --- a/lib/e2p/e2p.pc.in +++ b/lib/e2p/e2p.pc.in @@ -7,5 +7,5 @@ Name: e2p Description: Ext2fs userpace programs utility library Version: @E2FSPROGS_VERSION@ Requires: -Cflags: -I${includedir}/e2p -I${includedir} +Cflags: -I${includedir}/e2p Libs: -L${libdir} -le2p diff --git a/lib/e2p/feature.c b/lib/e2p/feature.c index bd8a64af..c7f8a359 100644 --- a/lib/e2p/feature.c +++ b/lib/e2p/feature.c @@ -40,8 +40,6 @@ static struct feature feature_list[] = { "resize_inode" }, { E2P_FEATURE_COMPAT, EXT2_FEATURE_COMPAT_LAZY_BG, "lazy_bg" }, - { E2P_FEATURE_COMPAT, EXT2_FEATURE_COMPAT_EXCLUDE_BITMAP, - "snapshot_bitmap" }, { E2P_FEATURE_RO_INCOMPAT, EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER, "sparse_super" }, @@ -57,14 +55,6 @@ static struct feature feature_list[] = { "dir_nlink" }, { E2P_FEATURE_RO_INCOMPAT, EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE, "extra_isize" }, - { E2P_FEATURE_RO_INCOMPAT, EXT4_FEATURE_RO_COMPAT_QUOTA, - "quota" }, - { E2P_FEATURE_RO_INCOMPAT, EXT4_FEATURE_RO_COMPAT_BIGALLOC, - "bigalloc"}, - { E2P_FEATURE_RO_INCOMPAT, EXT4_FEATURE_RO_COMPAT_METADATA_CSUM, - "metadata_csum"}, - { E2P_FEATURE_RO_INCOMPAT, EXT4_FEATURE_RO_COMPAT_REPLICA, - "replica" }, { E2P_FEATURE_INCOMPAT, EXT2_FEATURE_INCOMPAT_COMPRESSION, "compression" }, @@ -82,18 +72,8 @@ static struct feature feature_list[] = { "meta_bg" }, { E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_64BIT, "64bit" }, - { E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_MMP, - "mmp" }, { E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_FLEX_BG, - "flex_bg"}, - { E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_EA_INODE, - "ea_inode"}, - { E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_DIRDATA, - "dirdata"}, - { E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_LARGEDIR, - "large_dir"}, - { E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_INLINEDATA, - "inline_data"}, + "flex_bg"}, { 0, 0, 0 }, }; @@ -103,8 +83,6 @@ static struct feature jrnl_feature_list[] = { { E2P_FEATURE_INCOMPAT, JFS_FEATURE_INCOMPAT_REVOKE, "journal_incompat_revoke" }, - { E2P_FEATURE_INCOMPAT, JFS_FEATURE_INCOMPAT_64BIT, - "journal_64bit" }, { E2P_FEATURE_INCOMPAT, JFS_FEATURE_INCOMPAT_ASYNC_COMMIT, "journal_async_commit" }, { 0, 0, 0 }, @@ -321,7 +299,6 @@ int e2p_edit_feature2(const char *str, __u32 *compat_array, __u32 *ok_array, case '-': case '^': neg++; - /* fallthrough */ case '+': cp++; break; diff --git a/lib/e2p/fgetflags.c b/lib/e2p/fgetflags.c index ca3ea166..d66f8e18 100644 --- a/lib/e2p/fgetflags.c +++ b/lib/e2p/fgetflags.c @@ -63,7 +63,7 @@ int fgetflags (const char * name, unsigned long * flags) #endif return 0; -#else /* !HAVE_STAT_FLAGS || (APPLE_DARWIN && HAVE_EXT2_IOCTLS) */ +#else #if HAVE_EXT2_IOCTLS int fd, r, f, save_errno = 0; @@ -83,15 +83,15 @@ int fgetflags (const char * name, unsigned long * flags) if (save_errno) errno = save_errno; return r; -#else /* APPLE_DARWIN */ +#else f = -1; save_errno = syscall(SYS_fsctl, name, EXT2_IOC_GETFLAGS, &f, 0); *flags = f; return (save_errno); -#endif /* !APPLE_DARWIN */ -notsupp: +#endif #endif /* HAVE_EXT2_IOCTLS */ #endif +notsupp: errno = EOPNOTSUPP; return -1; } diff --git a/lib/e2p/fsetflags.c b/lib/e2p/fsetflags.c index 08dd114d..30437a20 100644 --- a/lib/e2p/fsetflags.c +++ b/lib/e2p/fsetflags.c @@ -51,6 +51,7 @@ int fsetflags (const char * name, unsigned long flags) { + struct stat buf; #if HAVE_CHFLAGS && !(APPLE_DARWIN && HAVE_EXT2_IOCTLS) unsigned long bsd_flags = 0; @@ -68,10 +69,9 @@ int fsetflags (const char * name, unsigned long flags) #endif return chflags (name, bsd_flags); -#else /* !HAVE_CHFLAGS || (APPLE_DARWIN && HAVE_EXT2_IOCTLS) */ +#else #if HAVE_EXT2_IOCTLS int fd, r, f, save_errno = 0; - struct stat buf; if (!lstat(name, &buf) && !S_ISREG(buf.st_mode) && !S_ISDIR(buf.st_mode)) { @@ -88,15 +88,14 @@ int fsetflags (const char * name, unsigned long flags) close (fd); if (save_errno) errno = save_errno; -#else /* APPLE_DARWIN */ - f = (int) flags; - return syscall(SYS_fsctl, name, EXT2_IOC_SETFLAGS, &f, 0); -#endif /* !APPLE_DARWIN */ +#else + f = (int) flags; + return syscall(SYS_fsctl, name, EXT2_IOC_SETFLAGS, &f, 0); +#endif return r; - -notsupp: #endif /* HAVE_EXT2_IOCTLS */ #endif +notsupp: errno = EOPNOTSUPP; return -1; } diff --git a/lib/e2p/getflags.c b/lib/e2p/getflags.c index e8716848..a738fed3 100644 --- a/lib/e2p/getflags.c +++ b/lib/e2p/getflags.c @@ -57,13 +57,12 @@ int getflags (int fd, unsigned long * flags) if (!fstat(fd, &buf) && !S_ISREG(buf.st_mode) && !S_ISDIR(buf.st_mode)) goto notsupp; - r = ioctl(fd, EXT2_IOC_GETFLAGS, &f); + r = ioctl (fd, EXT2_IOC_GETFLAGS, &f); *flags = f; - return r; -notsupp: #endif /* HAVE_EXT2_IOCTLS */ #endif +notsupp: errno = EOPNOTSUPP; return -1; } diff --git a/lib/e2p/getversion.c b/lib/e2p/getversion.c index ec6621dc..eb0e5202 100644 --- a/lib/e2p/getversion.c +++ b/lib/e2p/getversion.c @@ -30,7 +30,7 @@ int getversion (int fd, unsigned long * version) r = ioctl (fd, EXT2_IOC_GETVERSION, &ver); *version = ver; - return r; + return 0; #else /* ! HAVE_EXT2_IOCTLS */ extern int errno; errno = EOPNOTSUPP; diff --git a/lib/e2p/ls.c b/lib/e2p/ls.c index 78cd335e..5ef80988 100644 --- a/lib/e2p/ls.c +++ b/lib/e2p/ls.c @@ -166,26 +166,6 @@ static void print_super_flags(struct ext2_super_block * s, FILE *f) fputs("(none)\n", f); } -static __u64 e2p_blocks_count(struct ext2_super_block *super) -{ - return super->s_blocks_count | - (super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT ? - (__u64) super->s_blocks_count_hi << 32 : 0); -} - -static __u64 e2p_r_blocks_count(struct ext2_super_block *super) -{ - return super->s_r_blocks_count | - (super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT ? - (__u64) super->s_r_blocks_count_hi << 32 : 0); -} - -static __u64 e2p_free_blocks_count(struct ext2_super_block *super) -{ - return super->s_free_blocks_count | - (super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT ? - (__u64) super->s_free_blocks_hi << 32 : 0); -} #ifndef EXT2_INODE_SIZE #define EXT2_INODE_SIZE(s) sizeof(struct ext2_inode) @@ -243,33 +223,18 @@ void list_super2(struct ext2_super_block * sb, FILE *f) fprintf(f, "Filesystem OS type: %s\n", str); free(str); fprintf(f, "Inode count: %u\n", sb->s_inodes_count); - fprintf(f, "Block count: %llu\n", e2p_blocks_count(sb)); - fprintf(f, "Reserved block count: %llu\n", e2p_r_blocks_count(sb)); - if (sb->s_overhead_blocks) - fprintf(f, "Overhead blocks: %u\n", - sb->s_overhead_blocks); - fprintf(f, "Free blocks: %llu\n", e2p_free_blocks_count(sb)); + fprintf(f, "Block count: %u\n", sb->s_blocks_count); + fprintf(f, "Reserved block count: %u\n", sb->s_r_blocks_count); + fprintf(f, "Free blocks: %u\n", sb->s_free_blocks_count); fprintf(f, "Free inodes: %u\n", sb->s_free_inodes_count); fprintf(f, "First block: %u\n", sb->s_first_data_block); fprintf(f, "Block size: %u\n", EXT2_BLOCK_SIZE(sb)); - if (sb->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_BIGALLOC) - fprintf(f, "Cluster size: %u\n", - EXT2_CLUSTER_SIZE(sb)); - else - fprintf(f, "Fragment size: %u\n", - EXT2_CLUSTER_SIZE(sb)); - if (sb->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - fprintf(f, "Group descriptor size: %u\n", sb->s_desc_size); + fprintf(f, "Fragment size: %u\n", EXT2_FRAG_SIZE(sb)); if (sb->s_reserved_gdt_blocks) fprintf(f, "Reserved GDT blocks: %u\n", sb->s_reserved_gdt_blocks); fprintf(f, "Blocks per group: %u\n", sb->s_blocks_per_group); - if (sb->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_BIGALLOC) - fprintf(f, "Clusters per group: %u\n", - sb->s_clusters_per_group); - else - fprintf(f, "Fragments per group: %u\n", - sb->s_clusters_per_group); + fprintf(f, "Fragments per group: %u\n", sb->s_frags_per_group); fprintf(f, "Inodes per group: %u\n", sb->s_inodes_per_group); fprintf(f, "Inode blocks per group: %u\n", inode_blocks_per_group); if (sb->s_raid_stride) @@ -385,7 +350,7 @@ void list_super2(struct ext2_super_block * sb, FILE *f) tm = sb->s_first_error_time; fprintf(f, "First error time: %s", ctime(&tm)); memset(buf, 0, sizeof(buf)); - strncpy(buf, (char *)sb->s_first_error_func, + strncpy(buf, sb->s_first_error_func, sizeof(sb->s_first_error_func)); fprintf(f, "First error function: %s\n", buf); fprintf(f, "First error line #: %u\n", @@ -399,7 +364,7 @@ void list_super2(struct ext2_super_block * sb, FILE *f) tm = sb->s_last_error_time; fprintf(f, "Last error time: %s", ctime(&tm)); memset(buf, 0, sizeof(buf)); - strncpy(buf, (char *)sb->s_last_error_func, + strncpy(buf, sb->s_last_error_func, sizeof(sb->s_last_error_func)); fprintf(f, "Last error function: %s\n", buf); fprintf(f, "Last error line #: %u\n", @@ -409,22 +374,6 @@ void list_super2(struct ext2_super_block * sb, FILE *f) fprintf(f, "Last error block #: %llu\n", sb->s_last_error_block); } - if (sb->s_feature_incompat & EXT4_FEATURE_INCOMPAT_MMP) { - fprintf(f, "MMP block number: %llu\n", - (long long)sb->s_mmp_block); - fprintf(f, "MMP update interval: %u\n", - sb->s_mmp_update_interval); - } - if (sb->s_usr_quota_inum) - fprintf(f, "User quota inode: %u\n", - sb->s_usr_quota_inum); - if (sb->s_grp_quota_inum) - fprintf(f, "Group quota inode: %u\n", - sb->s_grp_quota_inum); - - if (sb->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_METADATA_CSUM) - fprintf(f, "Checksum: 0x%08x\n", - sb->s_checksum); } void list_super (struct ext2_super_block * s) diff --git a/lib/e2p/mntopts.c b/lib/e2p/mntopts.c index 9d3879e3..ebab7fdf 100644 --- a/lib/e2p/mntopts.c +++ b/lib/e2p/mntopts.c @@ -65,7 +65,7 @@ int e2p_string2mntopt(char *string, unsigned int *mask) return 0; } } - if (strncasecmp(string, "MNTOPT_", 7)) + if (strncasecmp(string, "MNTOPT_", 8)) return 1; if (string[8] == 0) @@ -122,7 +122,6 @@ int e2p_edit_mntopts(const char *str, __u32 *mntopts, __u32 ok) case '-': case '^': neg++; - /* fallthrough */ case '+': cp++; break; diff --git a/lib/e2p/parse_num.c b/lib/e2p/parse_num.c index 4caa3a3c..47f0b5bd 100644 --- a/lib/e2p/parse_num.c +++ b/lib/e2p/parse_num.c @@ -13,7 +13,7 @@ #include -unsigned long long parse_num_blocks2(const char *arg, int log_block_size) +unsigned long parse_num_blocks(const char *arg, int log_block_size) { char *p; unsigned long long num; @@ -26,24 +26,15 @@ unsigned long long parse_num_blocks2(const char *arg, int log_block_size) switch (*p) { /* Using fall-through logic */ case 'T': case 't': num <<= 10; - /* fallthrough */ case 'G': case 'g': num <<= 10; - /* fallthrough */ case 'M': case 'm': num <<= 10; - /* fallthrough */ case 'K': case 'k': - if (log_block_size < 0) - num <<= 10; - else - num >>= log_block_size; + num >>= log_block_size; break; case 's': - if (log_block_size < 0) - num <<= 9; - else - num >>= (1+log_block_size); + num >>= (1+log_block_size); break; case '\0': break; @@ -53,11 +44,6 @@ unsigned long long parse_num_blocks2(const char *arg, int log_block_size) return num; } -unsigned long parse_num_blocks(const char *arg, int log_block_size) -{ - return parse_num_blocks2(arg, log_block_size); -} - #ifdef DEBUG #include #include @@ -67,21 +53,11 @@ main(int argc, char **argv) unsigned long num; int log_block_size = 0; - if (argc != 2 && argc != 3) { - fprintf(stderr, "Usage: %s arg [log_block_size]\n", argv[0]); + if (argc != 2) { + fprintf(stderr, "Usage: %s arg\n", argv[0]); exit(1); } - if (argc == 3) { - char *p; - - log_block_size = strtol(argv[2], &p, 0); - if (*p) { - fprintf(stderr, "Bad log_block_size: %s\n", argv[2]); - exit(1); - } - } - num = parse_num_blocks(argv[1], log_block_size); printf("Parsed number: %lu\n", num); diff --git a/lib/e2p/pf.c b/lib/e2p/pf.c index 6dd29f63..f34a5cc3 100644 --- a/lib/e2p/pf.c +++ b/lib/e2p/pf.c @@ -48,7 +48,6 @@ static struct flags_name flags_array[] = { { EXT2_TOPDIR_FL, "T", "Top_of_Directory_Hierarchies" }, { EXT4_EXTENTS_FL, "e", "Extents" }, { EXT4_HUGE_FILE_FL, "h", "Huge_file" }, - { FS_NOCOW_FL, "C", "No_COW" }, { 0, NULL, NULL } }; diff --git a/lib/e2p/setflags.c b/lib/e2p/setflags.c index b203606f..cc00b203 100644 --- a/lib/e2p/setflags.c +++ b/lib/e2p/setflags.c @@ -38,6 +38,7 @@ int setflags (int fd, unsigned long flags) { + struct stat buf; #if HAVE_CHFLAGS unsigned long bsd_flags = 0; @@ -55,9 +56,8 @@ int setflags (int fd, unsigned long flags) #endif return fchflags (fd, bsd_flags); -#else /* ! HAVE_CHFLAGS */ +#else #if HAVE_EXT2_IOCTLS - struct stat buf; int f; if (!fstat(fd, &buf) && @@ -66,11 +66,9 @@ int setflags (int fd, unsigned long flags) return -1; } f = (int) flags; - - return ioctl(fd, EXT2_IOC_SETFLAGS, &f); -#else + return ioctl (fd, EXT2_IOC_SETFLAGS, &f); +#endif /* HAVE_EXT2_IOCTLS */ +#endif errno = EOPNOTSUPP; return -1; -#endif /* HAVE_EXT2_IOCTLS */ -#endif /* HAVE_CHFLAGS */ } diff --git a/lib/et/MODULE_LICENSE_MIT b/lib/et/MODULE_LICENSE_MIT new file mode 100644 index 00000000..e69de29b diff --git a/lib/et/Makefile.in b/lib/et/Makefile.in index ff99f5d0..a7e273cd 100644 --- a/lib/et/Makefile.in +++ b/lib/et/Makefile.in @@ -43,7 +43,6 @@ BSDLIB_INSTALL_DIR = $(root_libdir) .c.o: $(E) " CC $<" $(Q) $(CC) $(ALL_CFLAGS) -c $< -o $@ - $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< @PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $< @CHECKER_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -checker -g -o checker/$*.o -c $< @ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -fPIC -o elfshared/$*.o -c $< @@ -60,34 +59,15 @@ compile_et: $(DEP_SUBSTITUTE) $(srcdir)/compile_et.sh.in $(Q) $(SUBSTITUTE) $(srcdir)/compile_et.sh.in compile_et $(Q) $(CHMOD) +x compile_et -DVI=texi2dvi -DVIPS=dvips -o "$@" -INFO=@MAKEINFO@ -HTML=makeinfo --html --no-split -PS2PDF=ps2pdf - com_err.ps : com_err.dvi com_err.dvi: com_err.texinfo -com_err.info: $(srcdir)/com_err.texinfo - $(E) " MAKEINFO $@" - -$(Q) $(INFO) $(srcdir)/com_err.texinfo - -com_err.dvi: $(srcdir)/com_err.texinfo - $(E) " TEXI2DVI $@" - -$(Q) $(DVI) $(srcdir)/com_err.texinfo - -com_err.ps: com_err.dvi - $(E) " DVIPS $@" - -$(Q) $(DVIPS) com_err.dvi - -com_err.pdf: com_err.ps - $(E) " PS2PDF $@" - -$(Q) $(PS2PDF) com_err.ps - -com_err.html: $(srcdir)/com_err.texinfo - $(E) " MAKEINFO $@" - -$(Q) $(HTML) $(srcdir)/com_err.texinfo +com_err_abt.html: $(srcdir)/com_err.texinfo + $(E) " TEXI2HTML $@" + -$(Q) texi2html -split_chapter $(srcdir)/com_err.texinfo + -$(Q) if test -d com_err ; then \ + mv com_err/* . ; rmdir com_err ; \ + fi com_err.pc: $(srcdir)/com_err.pc.in $(top_builddir)/config.status $(E) " CONFIG.STATUS $@" @@ -116,8 +96,6 @@ install:: compile_et libcom_err.a $(HFILES) installdirs com_err.pc echo " INSTALL_DATA $(includedir)/et/$$i"; \ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(includedir)/et/$$i; \ done - $(Q) (cd $(DESTDIR)$(includedir) ;\ - $(LN) $(LINK_INSTALL_FLAGS) et/com_err.h . ) $(Q) for i in $(SHARE_FILES); do \ echo " INSTALL_DATA $(datadir)/et/$$i"; \ $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(datadir)/et/$$i; \ @@ -153,9 +131,7 @@ check:: compile_et clean:: $(RM) -f compile_et libcom_err.a libcom_err_p.a com_err.info $(RM) -f $(OBJS) profiled/* - $(RM) -f *~ \#* *.bak *.otl *.aux *.toc *.PS *.dvi *.ps TAGS *.ln \ - *.html *.cp *.fn *.fns *.ky *.log *.pc *.pg *.toc *.tp *.vr \ - *.pdf + $(RM) -f *~ \#* *.bak *.otl *.aux *.toc *.PS *.dvi *.ps TAGS *.ln *.html $(RM) -f ../libcom_err.a ../libcom_err_p.a mostlyclean:: clean @@ -170,16 +146,12 @@ $(OBJS): subdirs # Makefile dependencies follow. This must be the last section in # the Makefile.in file # -error_message.o: $(srcdir)/error_message.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/com_err.h $(srcdir)/error_table.h \ - $(srcdir)/internal.h -et_name.o: $(srcdir)/et_name.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/com_err.h $(srcdir)/error_table.h \ +error_message.o: $(srcdir)/error_message.c $(srcdir)/com_err.h \ + $(srcdir)/error_table.h $(srcdir)/internal.h +et_name.o: $(srcdir)/et_name.c $(srcdir)/com_err.h $(srcdir)/error_table.h \ $(srcdir)/internal.h -init_et.o: $(srcdir)/init_et.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/com_err.h $(srcdir)/error_table.h -com_err.o: $(srcdir)/com_err.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/com_err.h $(srcdir)/error_table.h \ +init_et.o: $(srcdir)/init_et.c $(srcdir)/com_err.h $(srcdir)/error_table.h +com_err.o: $(srcdir)/com_err.c $(srcdir)/com_err.h $(srcdir)/error_table.h \ $(srcdir)/internal.h -com_right.o: $(srcdir)/com_right.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/com_err.h $(srcdir)/error_table.h +com_right.o: $(srcdir)/com_right.c $(srcdir)/com_err.h \ + $(srcdir)/error_table.h diff --git a/lib/et/com_err.c b/lib/et/com_err.c index 5cc5c089..e5af13cd 100644 --- a/lib/et/com_err.c +++ b/lib/et/com_err.c @@ -84,7 +84,8 @@ void com_err (const char *whoami, va_end(pvar); } -errf set_com_err_hook(errf new_proc) +errf set_com_err_hook (new_proc) + errf new_proc; { errf x = com_err_hook; @@ -96,7 +97,7 @@ errf set_com_err_hook(errf new_proc) return x; } -errf reset_com_err_hook(void) { +errf reset_com_err_hook () { errf x = com_err_hook; com_err_hook = default_com_err_proc; return x; diff --git a/lib/et/com_err.h b/lib/et/com_err.h index 27a36ea0..eb2106fa 100644 --- a/lib/et/com_err.h +++ b/lib/et/com_err.h @@ -43,8 +43,6 @@ extern void (*set_com_err_hook (void (*) (const char *, long, extern void (*reset_com_err_hook (void)) (const char *, long, const char *, va_list); extern int init_error_table(const char * const *msgs, long base, int count); -extern char *(*set_com_err_gettext (char *(*) (const char *))) - (const char *); extern errcode_t add_error_table(const struct error_table * et); extern errcode_t remove_error_table(const struct error_table * et); diff --git a/lib/et/com_err.pc.in b/lib/et/com_err.pc.in index 86df8a2a..772efa1c 100644 --- a/lib/et/com_err.pc.in +++ b/lib/et/com_err.pc.in @@ -7,6 +7,6 @@ Name: com_err Description: Common error description library Version: @E2FSPROGS_VERSION@ Requires: -Cflags: -I${includedir}/et -I${includedir} +Cflags: -I${includedir}/et Libs: -L${libdir} -lcom_err Libs.private: @SEM_INIT_LIB@ diff --git a/lib/et/com_err.texinfo b/lib/et/com_err.texinfo index c9d3fcaf..7e6a4944 100644 --- a/lib/et/com_err.texinfo +++ b/lib/et/com_err.texinfo @@ -14,7 +14,7 @@ @c Software Foundation, and is under different copyright restrictions @c from the rest of this package.) -@setfilename com_err.info +@setfilename com_err @settitle A Common Error Description Library for UNIX @ifinfo @@ -24,10 +24,14 @@ @end direntry @end ifinfo -@c smallbook - @iftex -@finalout +@tolerance 10000 + +@c Mutate section headers... +@begingroup + @catcode#=6 + @gdef@secheading#1#2#3{@secheadingi {#3@enspace #1}} +@endgroup @end iftex @ifinfo @@ -57,7 +61,6 @@ notice identical to this one except for the removal of this paragraph (this paragraph not being relevant to the printed manual). @end ignore -@end ifinfo @setchapternewpage odd @@ -111,6 +114,7 @@ from the remainder of this package. @end titlepage + @node Top, Why com_err?, (dir), (dir) @top A Common Error Description Library for UNIX @@ -129,10 +133,12 @@ This manual documents the com_err library. * Acknowledgements:: @end menu +@end ifinfo + @page @node Why com_err?, Error codes, Top, Top -@chapter Why com_err? +@section Why com_err? In building application software packages, a programmer often has to deal with a number of libraries, each of which can use a different @@ -168,7 +174,7 @@ of the form @samp{unknown code foo 32}, where @samp{foo} would be the name of the table. @node Error codes, Error table source file, Why com_err?, Top -@chapter Error codes +@section Error codes Error codes themselves are 32 bit (signed) integers, of which the high order 24 bits are an identifier of which error table the error code is @@ -197,7 +203,7 @@ much other software that assumes an ANSI-C environment base) without significant effort. @node Error table source file, The error-table compiler, Error codes, Top -@chapter Error table source file +@section Error table source file The error table source file begins with the declaration of the table name, as @@ -235,7 +241,7 @@ error table might be: @end example @node The error-table compiler, Run-time support routines, Error table source file, Top -@chapter The error-table compiler +@section The error-table compiler The error table compiler is named @code{compile_et}. It takes one argument, the pathname of a file (ending in @samp{.et}, e.g., @@ -249,7 +255,7 @@ codes defined; the object module generated from the C code may be linked in to a program which wishes to use the printed forms of the error codes. @node Run-time support routines, Coding Conventions, The error-table compiler, Top -@chapter Run-time support routines +@section Run-time support routines Any source file which uses the routines supplied with or produced by the com_err package should include the header file @file{}. It @@ -300,7 +306,9 @@ left to circumstances which render @code{com_err} (below) unusable. @end deftypefun -@deftypefun void com_err (const char *@var{whoami}, long @var{error_code}, const char *@var{format}, ...); +@deftypefun +void com_err (const char *@var{whoami}, long @var{error_code}, + const char *@var{format}, ...); This routine provides an alternate way to print error messages to standard error; it allows the error message to be passed in as a @@ -313,7 +321,8 @@ printed. @var{format} may not be omitted. @end deftypefun -@deftypefun void com_err_va (const char *@var{whoami}, long @var{error_code}, const char *@var{format}, va_list @var{args}); +@deftypefun +void com_err_va (const char *@var{whoami}, long @var{error_code}, const char *@var{format}, va_list @var{args}); This routine provides an interface, equivalent to @code{com_err} above, which may be used by higher-level variadic functions (functions which @@ -321,7 +330,7 @@ accept variable numbers of arguments). @end deftypefun -@deftypefun void *set_com_err_hook (void (*@var{proc}) (const char *@var{whoami}, long @var{error_code}, va_list @var{args}) (const char *@var{whoami}, long @var{error_code}, va_list @var{args})); +@deftypefun void (*set_com_err_hook (void (*@var{proc}) (const char *@var{whoami}, long @var{error_code}, va_list @var{args}))) (const char *@var{whoami}, long @var{error_code}, va_list @var{args}); @deftypefunx void reset_com_err_hook (); @@ -381,7 +390,7 @@ the ANSI C library). @end deftypefun @node Coding Conventions, Building and Installation, Run-time support routines, Top -@chapter Coding Conventions +@section Coding Conventions The following conventions are just some general stylistic conventions to follow when writing robust libraries and programs. Conventions @@ -492,7 +501,7 @@ error: @end example @node Building and Installation, Bug Reports, Coding Conventions, Top -@chapter Building and Installation +@section Building and Installation The distribution of this package will probably be done as a compressed ``tar''-format file available via anonymous FTP from SIPB.MIT.EDU. @@ -505,7 +514,7 @@ installed for use; @samp{com_err.3} and @samp{compile_et.1} can also be installed as manual pages. @node Bug Reports, Acknowledgements, Building and Installation, Top -@chapter Bug Reports +@section Bug Reports The principal author of this library is: Ken Raeburn, @t{raeburn@@MIT.EDU}. @@ -515,7 +524,7 @@ Ts'o, and so bugs and comments should be sent to @t{tytso@@thunk.org}. @node Acknowledgements, , Bug Reports, Top -@chapter Acknowledgements +@section Acknowledgements I would like to thank: Bill Sommerfeld, for his help with some of this documentation, and catching some of the bugs the first time around; diff --git a/lib/et/error_message.c b/lib/et/error_message.c index 16a4bcfb..1b08c166 100644 --- a/lib/et/error_message.c +++ b/lib/et/error_message.c @@ -16,9 +16,6 @@ * express or implied warranty. */ -#if HAVE_SECURE_GETENV -#define _GNU_SOURCE -#endif #include #include #include @@ -100,20 +97,6 @@ int et_list_unlock(void) return 0; } -typedef char *(*gettextf) (const char *); - -static gettextf com_err_gettext = NULL; - -gettextf set_com_err_gettext(gettextf new_proc) -{ - gettextf x = com_err_gettext; - - com_err_gettext = new_proc; - - return x; -} - - const char * error_message (errcode_t code) { int offset; @@ -147,10 +130,7 @@ const char * error_message (errcode_t code) } else { const char *msg = et->table->msgs[offset]; et_list_unlock(); - if (com_err_gettext) - return (*com_err_gettext)(msg); - else - return msg; + return msg; } } } @@ -162,10 +142,7 @@ const char * error_message (errcode_t code) } else { const char *msg = et->table->msgs[offset]; et_list_unlock(); - if (com_err_gettext) - return (*com_err_gettext)(msg); - else - return msg; + return msg; } } } @@ -210,9 +187,7 @@ static char *safe_getenv(const char *arg) #endif #endif -#if defined(HAVE_SECURE_GETENV) - return secure_getenv(arg); -#elif defined(HAVE___SECURE_GETENV) +#ifdef HAVE___SECURE_GETENV return __secure_getenv(arg); #else return getenv(arg); diff --git a/lib/et/error_table.h b/lib/et/error_table.h index 24e4762a..4f109911 100644 --- a/lib/et/error_table.h +++ b/lib/et/error_table.h @@ -18,7 +18,7 @@ struct et_list { struct et_list *next; const struct error_table *table; }; -extern struct et_list *_et_list, *_et_dynamic_list; +extern struct et_list * _et_list; #define ERRCODE_RANGE 8 /* # of bits to shift table number */ #define BITS_PER_CHAR 6 /* # bits to shift per character in name */ diff --git a/lib/et/et_c.awk b/lib/et/et_c.awk index 99c33baf..ea2e6095 100644 --- a/lib/et/et_c.awk +++ b/lib/et/et_c.awk @@ -129,8 +129,6 @@ c2n["_"]=63 print "" > outfile print "#include " > outfile print "" > outfile - print "#define N_(a) a" > outfile - print "" > outfile print "static const char * const text[] = {" > outfile table_item_count = 0 } @@ -143,7 +141,7 @@ c2n["_"]=63 (continuation == 1) && ($0 ~ /"[ \t]*$/) { # printf "\t\t\"%s,\n", $0 > outfile - printf "\tN_(%s),\n", cont_buf $0 > outfile + printf "\t%s,\n", cont_buf $0 > outfile continuation = 0; } @@ -164,7 +162,7 @@ c2n["_"]=63 text = text FS $i } text=substr(text,2,length(text)-1); - printf "\tN_(%s),\n", text > outfile + printf "\t%s,\n", text > outfile table_item_count++ } @@ -192,7 +190,7 @@ c2n["_"]=63 { if (skipone) { - printf "\tN_(%s),\n", $0 > outfile + printf "\t%s,\n", $0 > outfile } skipone=0 } @@ -208,7 +206,7 @@ c2n["_"]=63 /^[ \t]*(index)[ \t]+[A-Z_0-9]+/ { new_idx = $2 for (i = table_item_count ; i < new_idx; i++) { - printf "\tN_(\"Reserved %s error (%d)\"),\n", \ + printf "\t\"Reserved %s error (%d)\",\n", \ table_name, table_item_count++ > outfile } } diff --git a/lib/et/et_name.c b/lib/et/et_name.c index 3a0790e2..18883269 100644 --- a/lib/et/et_name.c +++ b/lib/et/et_name.c @@ -20,7 +20,8 @@ static const char char_set[] = static char buf[6]; -const char * error_table_name(errcode_t num) +const char * error_table_name(num) + errcode_t num; { int ch; int i; diff --git a/lib/et/test_cases/continuation.c b/lib/et/test_cases/continuation.c index 12078977..0529dd08 100644 --- a/lib/et/test_cases/continuation.c +++ b/lib/et/test_cases/continuation.c @@ -5,10 +5,8 @@ #include -#define N_(a) a - static const char * const text[] = { - N_("New password was found in a dictionary of possible passwords and\ntherefore may be easily guessed. Please choose another password.\nSee the ovpasswd man page for help in choosing a good password."), + "New password was found in a dictionary of possible passwords and\ntherefore may be easily guessed. Please choose another password.\nSee the ovpasswd man page for help in choosing a good password.", 0 }; diff --git a/lib/et/test_cases/heimdal.c b/lib/et/test_cases/heimdal.c index d9be4ce1..22c75738 100644 --- a/lib/et/test_cases/heimdal.c +++ b/lib/et/test_cases/heimdal.c @@ -5,91 +5,89 @@ #include -#define N_(a) a - static const char * const text[] = { - N_("Kerberos successful"), - N_("Kerberos principal expired"), - N_("Kerberos service expired"), - N_("Kerberos auth expired"), - N_("Incorrect kerberos master key version"), - N_("Incorrect kerberos master key version"), - N_("Incorrect kerberos master key version"), - N_("Kerberos error: byte order unknown"), - N_("Kerberos principal unknown"), - N_("Kerberos principal not unique"), - N_("Kerberos principal has null key"), - N_("Reserved krb error (11)"), - N_("Reserved krb error (12)"), - N_("Reserved krb error (13)"), - N_("Reserved krb error (14)"), - N_("Reserved krb error (15)"), - N_("Reserved krb error (16)"), - N_("Reserved krb error (17)"), - N_("Reserved krb error (18)"), - N_("Reserved krb error (19)"), - N_("Generic error from Kerberos KDC"), - N_("Can't read Kerberos ticket file"), - N_("Can't find Kerberos ticket or TGT"), - N_("Reserved krb error (23)"), - N_("Reserved krb error (24)"), - N_("Reserved krb error (25)"), - N_("Kerberos TGT Expired"), - N_("Reserved krb error (27)"), - N_("Reserved krb error (28)"), - N_("Reserved krb error (29)"), - N_("Reserved krb error (30)"), - N_("Kerberos error: Can't decode authenticator"), - N_("Kerberos ticket expired"), - N_("Kerberos ticket not yet valid"), - N_("Kerberos error: Repeated request"), - N_("The kerberos ticket isn't for us"), - N_("Kerberos request inconsistent"), - N_("Kerberos error: delta_t too big"), - N_("Kerberos error: incorrect net address"), - N_("Kerberos protocol version mismatch"), - N_("Kerberos error: invalid msg type"), - N_("Kerberos error: message stream modified"), - N_("Kerberos error: message out of order"), - N_("Kerberos error: unauthorized request"), - N_("Reserved krb error (44)"), - N_("Reserved krb error (45)"), - N_("Reserved krb error (46)"), - N_("Reserved krb error (47)"), - N_("Reserved krb error (48)"), - N_("Reserved krb error (49)"), - N_("Reserved krb error (50)"), - N_("Kerberos error: current PW is null"), - N_("Kerberos error: Incorrect current password"), - N_("Kerberos protocol error"), - N_("Error returned by Kerberos KDC"), - N_("Null Kerberos ticket returned by KDC"), - N_("Kerberos error: Retry count exceeded"), - N_("Kerberos error: Can't send request"), - N_("Reserved krb error (58)"), - N_("Reserved krb error (59)"), - N_("Reserved krb error (60)"), - N_("Kerberos error: not all tickets returned"), - N_("Kerberos error: incorrect password"), - N_("Kerberos error: Protocol Error"), - N_("Reserved krb error (64)"), - N_("Reserved krb error (65)"), - N_("Reserved krb error (66)"), - N_("Reserved krb error (67)"), - N_("Reserved krb error (68)"), - N_("Reserved krb error (69)"), - N_("Other error"), - N_("Don't have Kerberos ticket-granting ticket"), - N_("Reserved krb error (72)"), - N_("Reserved krb error (73)"), - N_("Reserved krb error (74)"), - N_("Reserved krb error (75)"), - N_("No ticket file found"), - N_("Couldn't access ticket file"), - N_("Couldn't lock ticket file"), - N_("Bad ticket file format"), - N_("tf_init not called first"), - N_("Bad Kerberos name format"), + "Kerberos successful", + "Kerberos principal expired", + "Kerberos service expired", + "Kerberos auth expired", + "Incorrect kerberos master key version", + "Incorrect kerberos master key version", + "Incorrect kerberos master key version", + "Kerberos error: byte order unknown", + "Kerberos principal unknown", + "Kerberos principal not unique", + "Kerberos principal has null key", + "Reserved krb error (11)", + "Reserved krb error (12)", + "Reserved krb error (13)", + "Reserved krb error (14)", + "Reserved krb error (15)", + "Reserved krb error (16)", + "Reserved krb error (17)", + "Reserved krb error (18)", + "Reserved krb error (19)", + "Generic error from Kerberos KDC", + "Can't read Kerberos ticket file", + "Can't find Kerberos ticket or TGT", + "Reserved krb error (23)", + "Reserved krb error (24)", + "Reserved krb error (25)", + "Kerberos TGT Expired", + "Reserved krb error (27)", + "Reserved krb error (28)", + "Reserved krb error (29)", + "Reserved krb error (30)", + "Kerberos error: Can't decode authenticator", + "Kerberos ticket expired", + "Kerberos ticket not yet valid", + "Kerberos error: Repeated request", + "The kerberos ticket isn't for us", + "Kerberos request inconsistent", + "Kerberos error: delta_t too big", + "Kerberos error: incorrect net address", + "Kerberos protocol version mismatch", + "Kerberos error: invalid msg type", + "Kerberos error: message stream modified", + "Kerberos error: message out of order", + "Kerberos error: unauthorized request", + "Reserved krb error (44)", + "Reserved krb error (45)", + "Reserved krb error (46)", + "Reserved krb error (47)", + "Reserved krb error (48)", + "Reserved krb error (49)", + "Reserved krb error (50)", + "Kerberos error: current PW is null", + "Kerberos error: Incorrect current password", + "Kerberos protocol error", + "Error returned by Kerberos KDC", + "Null Kerberos ticket returned by KDC", + "Kerberos error: Retry count exceeded", + "Kerberos error: Can't send request", + "Reserved krb error (58)", + "Reserved krb error (59)", + "Reserved krb error (60)", + "Kerberos error: not all tickets returned", + "Kerberos error: incorrect password", + "Kerberos error: Protocol Error", + "Reserved krb error (64)", + "Reserved krb error (65)", + "Reserved krb error (66)", + "Reserved krb error (67)", + "Reserved krb error (68)", + "Reserved krb error (69)", + "Other error", + "Don't have Kerberos ticket-granting ticket", + "Reserved krb error (72)", + "Reserved krb error (73)", + "Reserved krb error (74)", + "Reserved krb error (75)", + "No ticket file found", + "Couldn't access ticket file", + "Couldn't lock ticket file", + "Bad ticket file format", + "tf_init not called first", + "Bad Kerberos name format", 0 }; diff --git a/lib/et/test_cases/heimdal2.c b/lib/et/test_cases/heimdal2.c index a8d4c111..eba3d62e 100644 --- a/lib/et/test_cases/heimdal2.c +++ b/lib/et/test_cases/heimdal2.c @@ -5,77 +5,75 @@ #include -#define N_(a) a - static const char * const text[] = { - N_("$Id: kadm_err.et,v 1.5 1998/01/16 23:11:27 joda Exp $"), - N_("Cannot fetch local realm"), - N_("Unable to fetch credentials"), - N_("Bad key supplied"), - N_("Can't encrypt data"), - N_("Cannot encode/decode authentication info"), - N_("Principal attemping change is in wrong realm"), - N_("Packet is too large"), - N_("Version number is incorrect"), - N_("Checksum does not match"), - N_("Unsealing private data failed"), - N_("Unsupported operation"), - N_("Could not find administrating host"), - N_("Administrating host name is unknown"), - N_("Could not find service name in services database"), - N_("Could not create socket"), - N_("Could not connect to server"), - N_("Could not fetch local socket address"), - N_("Could not fetch master key"), - N_("Could not verify master key"), - N_("Entry already exists in database"), - N_("Database store error"), - N_("Database read error"), - N_("Insufficient access to perform requested operation"), - N_("Data is available for return to client"), - N_("No such entry in the database"), - N_("Memory exhausted"), - N_("Could not fetch system hostname"), - N_("Could not bind port"), - N_("Length mismatch problem"), - N_("Illegal use of wildcard"), - N_("Database is locked or in use--try again later"), - N_("Insecure password rejected"), - N_("Cleartext password and DES key did not match"), - N_("Invalid principal for change srvtab request"), - N_("Attempt do delete immutable principal"), - N_("Reserved kadm error (36)"), - N_("Reserved kadm error (37)"), - N_("Reserved kadm error (38)"), - N_("Reserved kadm error (39)"), - N_("Reserved kadm error (40)"), - N_("Reserved kadm error (41)"), - N_("Reserved kadm error (42)"), - N_("Reserved kadm error (43)"), - N_("Reserved kadm error (44)"), - N_("Reserved kadm error (45)"), - N_("Reserved kadm error (46)"), - N_("Reserved kadm error (47)"), - N_("Reserved kadm error (48)"), - N_("Reserved kadm error (49)"), - N_("Reserved kadm error (50)"), - N_("Reserved kadm error (51)"), - N_("Reserved kadm error (52)"), - N_("Reserved kadm error (53)"), - N_("Reserved kadm error (54)"), - N_("Reserved kadm error (55)"), - N_("Reserved kadm error (56)"), - N_("Reserved kadm error (57)"), - N_("Reserved kadm error (58)"), - N_("Reserved kadm error (59)"), - N_("Reserved kadm error (60)"), - N_("Reserved kadm error (61)"), - N_("Reserved kadm error (62)"), - N_("Reserved kadm error (63)"), - N_("Null passwords are not allowed"), - N_("Password is too short"), - N_("Too few character classes in password"), - N_("Password is in the password dictionary"), + "$Id: kadm_err.et,v 1.5 1998/01/16 23:11:27 joda Exp $", + "Cannot fetch local realm", + "Unable to fetch credentials", + "Bad key supplied", + "Can't encrypt data", + "Cannot encode/decode authentication info", + "Principal attemping change is in wrong realm", + "Packet is too large", + "Version number is incorrect", + "Checksum does not match", + "Unsealing private data failed", + "Unsupported operation", + "Could not find administrating host", + "Administrating host name is unknown", + "Could not find service name in services database", + "Could not create socket", + "Could not connect to server", + "Could not fetch local socket address", + "Could not fetch master key", + "Could not verify master key", + "Entry already exists in database", + "Database store error", + "Database read error", + "Insufficient access to perform requested operation", + "Data is available for return to client", + "No such entry in the database", + "Memory exhausted", + "Could not fetch system hostname", + "Could not bind port", + "Length mismatch problem", + "Illegal use of wildcard", + "Database is locked or in use--try again later", + "Insecure password rejected", + "Cleartext password and DES key did not match", + "Invalid principal for change srvtab request", + "Attempt do delete immutable principal", + "Reserved kadm error (36)", + "Reserved kadm error (37)", + "Reserved kadm error (38)", + "Reserved kadm error (39)", + "Reserved kadm error (40)", + "Reserved kadm error (41)", + "Reserved kadm error (42)", + "Reserved kadm error (43)", + "Reserved kadm error (44)", + "Reserved kadm error (45)", + "Reserved kadm error (46)", + "Reserved kadm error (47)", + "Reserved kadm error (48)", + "Reserved kadm error (49)", + "Reserved kadm error (50)", + "Reserved kadm error (51)", + "Reserved kadm error (52)", + "Reserved kadm error (53)", + "Reserved kadm error (54)", + "Reserved kadm error (55)", + "Reserved kadm error (56)", + "Reserved kadm error (57)", + "Reserved kadm error (58)", + "Reserved kadm error (59)", + "Reserved kadm error (60)", + "Reserved kadm error (61)", + "Reserved kadm error (62)", + "Reserved kadm error (63)", + "Null passwords are not allowed", + "Password is too short", + "Too few character classes in password", + "Password is in the password dictionary", 0 }; diff --git a/lib/et/test_cases/heimdal3.c b/lib/et/test_cases/heimdal3.c index b8b9b735..18a9ccc6 100644 --- a/lib/et/test_cases/heimdal3.c +++ b/lib/et/test_cases/heimdal3.c @@ -5,11 +5,9 @@ #include -#define N_(a) a - static const char * const text[] = { - N_("Test message 1"), - N_("Test message 2"), + "Test message 1", + "Test message 2", 0 }; diff --git a/lib/et/test_cases/imap_err.c b/lib/et/test_cases/imap_err.c index 6f576d33..82a6ad06 100644 --- a/lib/et/test_cases/imap_err.c +++ b/lib/et/test_cases/imap_err.c @@ -5,39 +5,37 @@ #include -#define N_(a) a - static const char * const text[] = { - N_( "System I/O error"), - N_( "Permission denied"), - N_( "Over quota"), - N_( "Too many user flags in mailbox"), - N_( "Mailbox has an invalid format"), - N_( "Operation is not supported on mailbox"), - N_( "Mailbox does not exist"), - N_( "Mailbox already exists"), - N_( "Invalid mailbox name"), - N_( "Mailbox is locked by POP server"), - N_( "Unknown/invalid partition"), - N_( "Invalid identifier"), - N_( "Message contains NUL characters"), - N_( "Message contains bare newlines"), - N_( "Message contains non-ASCII characters in headers"), - N_( "Message contains invalid header"), - N_( "Message has no header/body separator"), - N_( "Quota root does not exist"), - N_( "Unrecognized character set"), - N_( "Invalid user"), - N_( "Login incorrect"), - N_( "Anonymous login is not permitted"), - N_( "Unsupported quota resource"), - N_( "Mailbox is over quota"), - N_( "Mailbox is at %d%% of quota"), - N_( "Message %d no longer exists"), - N_( "Unable to checkpoint \\Seen state"), - N_( "Unable to preserve \\Seen state"), - N_( "LOGOUT received"), - N_( "Completed"), + "System I/O error", + "Permission denied", + "Over quota", + "Too many user flags in mailbox", + "Mailbox has an invalid format", + "Operation is not supported on mailbox", + "Mailbox does not exist", + "Mailbox already exists", + "Invalid mailbox name", + "Mailbox is locked by POP server", + "Unknown/invalid partition", + "Invalid identifier", + "Message contains NUL characters", + "Message contains bare newlines", + "Message contains non-ASCII characters in headers", + "Message contains invalid header", + "Message has no header/body separator", + "Quota root does not exist", + "Unrecognized character set", + "Invalid user", + "Login incorrect", + "Anonymous login is not permitted", + "Unsupported quota resource", + "Mailbox is over quota", + "Mailbox is at %d%% of quota", + "Message %d no longer exists", + "Unable to checkpoint \\Seen state", + "Unable to preserve \\Seen state", + "LOGOUT received", + "Completed", 0 }; diff --git a/lib/et/test_cases/simple.c b/lib/et/test_cases/simple.c index 10ab1a36..f182c6f9 100644 --- a/lib/et/test_cases/simple.c +++ b/lib/et/test_cases/simple.c @@ -5,31 +5,29 @@ #include -#define N_(a) a - static const char * const text[] = { - N_( "Can't read ticket file"), - N_( "Can't find ticket or TGT"), - N_( "TGT expired"), - N_( "Can't decode authenticator"), - N_( "Ticket expired"), - N_( "Repeated request"), - N_( "The ticket isn't for us"), - N_( "Request is inconsistent"), - N_( "Delta-T too big"), - N_( "Incorrect net address"), - N_( "Protocol version mismatch"), - N_( "Invalid message type"), - N_( "Message stream modified"), - N_( "Message out of order"), - N_( "Unauthorized request"), - N_( "Current password is null"), - N_( "Incorrect current password"), - N_( "Protocol error"), - N_( "Error returned by KDC"), - N_( "Null ticket returned by KDC"), - N_( "Retry count exceeded"), - N_( "Can't send request"), + "Can't read ticket file", + "Can't find ticket or TGT", + "TGT expired", + "Can't decode authenticator", + "Ticket expired", + "Repeated request", + "The ticket isn't for us", + "Request is inconsistent", + "Delta-T too big", + "Incorrect net address", + "Protocol version mismatch", + "Invalid message type", + "Message stream modified", + "Message out of order", + "Unauthorized request", + "Current password is null", + "Incorrect current password", + "Protocol error", + "Error returned by KDC", + "Null ticket returned by KDC", + "Retry count exceeded", + "Can't send request", 0 }; diff --git a/lib/et/texinfo.tex b/lib/et/texinfo.tex index dddd0140..838160c9 100644 --- a/lib/et/texinfo.tex +++ b/lib/et/texinfo.tex @@ -1,373 +1,209 @@ -% texinfo.tex -- TeX macros to handle Texinfo files. -% -% Load plain if necessary, i.e., if running under initex. -\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi -% -\def\texinfoversion{2006-02-13.16} -% -% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, -% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free -% Software Foundation, Inc. -% -% This texinfo.tex file is free software; you can redistribute it and/or -% modify it under the terms of the GNU General Public License as -% published by the Free Software Foundation; either version 2, or (at -% your option) any later version. -% -% This texinfo.tex file is distributed in the hope that it will be -% useful, but WITHOUT ANY WARRANTY; without even the implied warranty -% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -% General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this texinfo.tex file; see the file COPYING. If not, write -% to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -% Boston, MA 02110-1301, USA. -% -% As a special exception, when this file is read by TeX when processing -% a Texinfo source document, you may use the result without -% restriction. (This has been our intent since Texinfo was invented.) -% -% Please try the latest version of texinfo.tex before submitting bug -% reports; you can get the latest version from: -% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or -% ftp://tug.org/tex/texinfo.tex -% (and all CTAN mirrors, see http://www.ctan.org). -% The texinfo.tex in any given distribution could well be out -% of date, so if that's what you're using, please check. -% -% Send bug reports to bug-texinfo@gnu.org. Please include including a -% complete document in each bug report with which we can reproduce the -% problem. Patches are, of course, greatly appreciated. -% -% To process a Texinfo manual with TeX, it's most reliable to use the -% texi2dvi shell script that comes with the distribution. For a simple -% manual foo.texi, however, you can get away with this: -% tex foo.texi -% texindex foo.?? -% tex foo.texi -% tex foo.texi -% dvips foo.dvi -o # or whatever; this makes foo.ps. -% The extra TeX runs get the cross-reference information correct. -% Sometimes one run after texindex suffices, and sometimes you need more -% than two; texi2dvi does it as many times as necessary. -% -% It is possible to adapt texinfo.tex for other languages, to some -% extent. You can get the existing language-specific files from the -% full Texinfo distribution. -% -% The GNU Texinfo home page is http://www.gnu.org/software/texinfo. - - -\message{Loading texinfo [version \texinfoversion]:} - -% If in a .fmt file, print the version number -% and turn on active characters that we couldn't do earlier because -% they might have appeared in the input file name. -\everyjob{\message{[Texinfo version \texinfoversion]}% - \catcode`+=\active \catcode`\_=\active} - -\message{Basics,} -\chardef\other=12 +%% TeX macros to handle texinfo files + +% Copyright (C) 1985, 1986, 1988 Richard M. Stallman + +% NO WARRANTY + +% BECAUSE THIS PROGRAM IS LICENSED FREE OF CHARGE, WE PROVIDE ABSOLUTELY +%NO WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE LAW. EXCEPT +%WHEN OTHERWISE STATED IN WRITING, FREE SOFTWARE FOUNDATION, INC, +%RICHARD M. STALLMAN AND/OR OTHER PARTIES PROVIDE THIS PROGRAM "AS IS" +%WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +%BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +%FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY +%AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE +%DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR +%CORRECTION. + +% IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL RICHARD M. +%STALLMAN, THE FREE SOFTWARE FOUNDATION, INC., AND/OR ANY OTHER PARTY +%WHO MAY MODIFY AND REDISTRIBUTE THIS PROGRAM AS PERMITTED BELOW, BE +%LIABLE TO YOU FOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR +%OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +%USE OR INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR +%DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR +%A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS) THIS +%PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH +%DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. + +% GENERAL PUBLIC LICENSE TO COPY + +% 1. You may copy and distribute verbatim copies of this source file +%as you receive it, in any medium, provided that you conspicuously +%and appropriately publish on each copy a valid copyright notice +%"Copyright (C) 1986 Richard M. Stallman"; and include +%following the copyright notice a verbatim copy of the above disclaimer +%of warranty and of this License. + +% 2. You may modify your copy or copies of this source file or +%any portion of it, and copy and distribute such modifications under +%the terms of Paragraph 1 above, provided that you also do the following: + +% a) cause the modified files to carry prominent notices stating +% that you changed the files and the date of any change; and + +% b) cause the whole of any work that you distribute or publish, +% that in whole or in part contains or is a derivative of this +% program or any part thereof, to be licensed at no charge to all +% third parties on terms identical to those contained in this +% License Agreement (except that you may choose to grant more extensive +% warranty protection to some or all third parties, at your option). + +% c) You may charge a distribution fee for the physical act of +% transferring a copy, and you may at your option offer warranty +% protection in exchange for a fee. + +%Mere aggregation of another unrelated program with this program (or its +%derivative) on a volume of a storage or distribution medium does not bring +%the other program under the scope of these terms. + +% 3. You may copy and distribute this program (or a portion or derivative +%of it, under Paragraph 2) in object code or executable form under the terms +%of Paragraphs 1 and 2 above provided that you also do one of the following: + +% a) accompany it with the complete corresponding machine-readable +% source code, which must be distributed under the terms of +% Paragraphs 1 and 2 above; or, + +% b) accompany it with a written offer, valid for at least three +% years, to give any third party free (except for a nominal +% shipping charge) a complete machine-readable copy of the +% corresponding source code, to be distributed under the terms of +% Paragraphs 1 and 2 above; or, + +% c) accompany it with the information you received as to where the +% corresponding source code may be obtained. (This alternative is +% allowed only for noncommercial distribution and only if you +% received the program in object code or executable form alone.) + +%For an executable file, complete source code means all the source code for +%all modules it contains; but, as a special exception, it need not include +%source code for modules which are standard libraries that accompany the +%operating system on which the executable file runs. + +% 4. You may not copy, sublicense, distribute or transfer this program +%except as expressly provided under this License Agreement. Any attempt +%otherwise to copy, sublicense, distribute or transfer this program is void and +%your rights to use the program under this License agreement shall be +%automatically terminated. However, parties who have received computer +%software programs from you with this License Agreement will not have +%their licenses terminated so long as such parties remain in full compliance. + +% 5. If you wish to incorporate parts of this program into other free +%programs whose distribution conditions are different, write to the Free +%Software Foundation at 675 Mass Ave, Cambridge, MA 02139. We have not yet +%worked out a simple rule that can be stated here, but we will often permit +%this. We will be guided by the two goals of preserving the free status of +%all derivatives of our free software and of promoting the sharing and reuse of +%software. + +%In other words, you are welcome to use, share and improve this program. +%You are forbidden to forbid anyone else to use, share and improve +%what you give them. Help stamp out software-hoarding! + +\def\texinfoversion{1.18} +\message{Loading texinfo package [Version \texinfoversion]:} +\message{} + +% Save some parts of plain tex whose names we will redefine. -% We never want plain's \outer definition of \+ in Texinfo. -% For @tex, we can use \tabalign. -\let\+ = \relax - -% Save some plain tex macros whose names we will redefine. -\let\ptexb=\b -\let\ptexbullet=\bullet -\let\ptexc=\c -\let\ptexcomma=\, -\let\ptexdot=\. -\let\ptexdots=\dots -\let\ptexend=\end -\let\ptexequiv=\equiv -\let\ptexexclam=\! -\let\ptexfootnote=\footnote -\let\ptexgtr=> -\let\ptexhat=^ -\let\ptexi=\i -\let\ptexindent=\indent -\let\ptexinsert=\insert \let\ptexlbrace=\{ -\let\ptexless=< -\let\ptexnewwrite\newwrite -\let\ptexnoindent=\noindent -\let\ptexplus=+ \let\ptexrbrace=\} -\let\ptexslash=\/ +\let\ptexdot=\. \let\ptexstar=\* +\let\ptexend=\end +\let\ptexbullet=\bullet +\let\ptexb=\b +\let\ptexc=\c +\let\ptexi=\i \let\ptext=\t +\let\ptexl=\l +\let\ptexL=\L -% If this character appears in an error message or help string, it -% starts a new line in the output. -\newlinechar = `^^J +\def\tie{\penalty 10000\ } % Save plain tex definition of ~. -% Use TeX 3.0's \inputlineno to get the line number, for better error -% messages, but if we're using an old version of TeX, don't do anything. -% -\ifx\inputlineno\thisisundefined - \let\linenumber = \empty % Pre-3.0. -\else - \def\linenumber{l.\the\inputlineno:\space} -\fi - -% Set up fixed words for English if not already set. -\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi -\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi -\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi -\ifx\putwordin\undefined \gdef\putwordin{in}\fi -\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi -\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi -\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi -\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi -\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi -\ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi -\ifx\putwordof\undefined \gdef\putwordof{of}\fi -\ifx\putwordon\undefined \gdef\putwordon{on}\fi -\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi -\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi -\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi -\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi -\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi -\ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi -\ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi -% -\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi -\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi -\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi -\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi -\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi -\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi -\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi -\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi -\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi -\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi -\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi -\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi -% -\ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi -\ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi -\ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi -\ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi -\ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi - -% Since the category of space is not known, we have to be careful. -\chardef\spacecat = 10 -\def\spaceisspace{\catcode`\ =\spacecat} +\message{Basics,} +\chardef\other=12 -% Ignore a token. -% -\def\gobble#1{} - -% The following is used inside several \edef's. -\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} - -% Hyphenation fixes. -\hyphenation{ - Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script - ap-pen-dix bit-map bit-maps - data-base data-bases eshell fall-ing half-way long-est man-u-script - man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm - par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces - spell-ing spell-ings - stand-alone strong-est time-stamp time-stamps which-ever white-space - wide-spread wrap-around -} +\hyphenation{ap-pen-dix} +\hyphenation{mini-buf-fer mini-buf-fers} +\hyphenation{eshell} % Margin to add to right of even pages, to left of odd pages. -\newdimen\bindingoffset -\newdimen\normaloffset +\newdimen \bindingoffset \bindingoffset=0pt +\newdimen \normaloffset \normaloffset=\hoffset \newdimen\pagewidth \newdimen\pageheight +\pagewidth=\hsize \pageheight=\vsize -% For a final copy, take out the rectangles -% that mark overfull boxes (in case you have decided -% that the text looks ok even though it passes the margin). -% -\def\finalout{\overfullrule=0pt} - -% @| inserts a changebar to the left of the current line. It should -% surround any changed text. This approach does *not* work if the -% change spans more than two lines of output. To handle that, we would -% have adopt a much more difficult approach (putting marks into the main -% vertical list for the beginning and end of each change). -% -\def\|{% - % \vadjust can only be used in horizontal mode. - \leavevmode - % - % Append this vertical mode material after the current line in the output. - \vadjust{% - % We want to insert a rule with the height and depth of the current - % leading; that is exactly what \strutbox is supposed to record. - \vskip-\baselineskip - % - % \vadjust-items are inserted at the left edge of the type. So - % the \llap here moves out into the left-hand margin. - \llap{% - % - % For a thicker or thinner bar, change the `1pt'. - \vrule height\baselineskip width1pt - % - % This is the space between the bar and the text. - \hskip 12pt - }% - }% -} - -% Sometimes it is convenient to have everything in the transcript file -% and nothing on the terminal. We don't just call \tracingall here, -% since that produces some useless output on the terminal. We also make -% some effort to order the tracing commands to reduce output in the log -% file; cf. trace.sty in LaTeX. +%---------------------Begin change----------------------- % -\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% -\def\loggingall{% - \tracingstats2 - \tracingpages1 - \tracinglostchars2 % 2 gives us more in etex - \tracingparagraphs1 - \tracingoutput1 - \tracingmacros2 - \tracingrestores1 - \showboxbreadth\maxdimen \showboxdepth\maxdimen - \ifx\eTeXversion\undefined\else % etex gives us more logging - \tracingscantokens1 - \tracingifs1 - \tracinggroups1 - \tracingnesting2 - \tracingassigns1 - \fi - \tracingcommands3 % 3 gives us more in etex - \errorcontextlines16 -}% - -% add check for \lastpenalty to plain's definitions. If the last thing -% we did was a \nobreak, we don't want to insert more space. -% -\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount - \removelastskip\penalty-50\smallskip\fi\fi} -\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount - \removelastskip\penalty-100\medskip\fi\fi} -\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount - \removelastskip\penalty-200\bigskip\fi\fi} - -% For @cropmarks command. -% Do @cropmarks to get crop marks. -% -\newif\ifcropmarks -\let\cropmarks = \cropmarkstrue +% Dimensions to add cropmarks at corners Added by P. A. MacKay, 12 Nov. 1986 % -% Dimensions to add cropmarks at corners. -% Added by P. A. MacKay, 12 Nov. 1986 +\newdimen\cornerlong \newdimen\cornerthick +\newdimen \topandbottommargin +\newdimen \outerhsize \newdimen \outervsize +\cornerlong=1pc\cornerthick=.3pt % These set size of cropmarks +\outerhsize=7in +\outervsize=9.5in +\topandbottommargin=.75in % -\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines -\newdimen\cornerlong \cornerlong=1pc -\newdimen\cornerthick \cornerthick=.3pt -\newdimen\topandbottommargin \topandbottommargin=.75in - -% Main output routine. -\chardef\PAGE = 255 -\output = {\onepageout{\pagecontents\PAGE}} - -\newbox\headlinebox -\newbox\footlinebox +%---------------------End change----------------------- % \onepageout takes a vbox as an argument. Note that \pagecontents -% does insertions, but you have to call it yourself. -\def\onepageout#1{% - \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi - % - \ifodd\pageno \advance\hoffset by \bindingoffset - \else \advance\hoffset by -\bindingoffset\fi - % - % Do this outside of the \shipout so @code etc. will be expanded in - % the headline as they should be, not taken literally (outputting ''code). - \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% - \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% - % - {% - % Have to do this stuff outside the \shipout because we want it to - % take effect in \write's, yet the group defined by the \vbox ends - % before the \shipout runs. - % - \indexdummies % don't expand commands in the output. - \normalturnoffactive % \ in index entries must not stay \, e.g., if - % the page break happens to be in the middle of an example. - % We don't want .vr (or whatever) entries like this: - % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} - % "\acronym" won't work when it's read back in; - % it needs to be - % {\code {{\tt \backslashcurfont }acronym} - \shipout\vbox{% - % Do this early so pdf references go to the beginning of the page. - \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi - % - \ifcropmarks \vbox to \outervsize\bgroup - \hsize = \outerhsize - \vskip-\topandbottommargin - \vtop to0pt{% - \line{\ewtop\hfil\ewtop}% - \nointerlineskip - \line{% - \vbox{\moveleft\cornerthick\nstop}% - \hfill - \vbox{\moveright\cornerthick\nstop}% - }% - \vss}% - \vskip\topandbottommargin - \line\bgroup - \hfil % center the page within the outer (page) hsize. - \ifodd\pageno\hskip\bindingoffset\fi - \vbox\bgroup - \fi - % - \unvbox\headlinebox - \pagebody{#1}% - \ifdim\ht\footlinebox > 0pt - % Only leave this space if the footline is nonempty. - % (We lessened \vsize for it in \oddfootingxxx.) - % The \baselineskip=24pt in plain's \makefootline has no effect. - \vskip 2\baselineskip - \unvbox\footlinebox - \fi - % - \ifcropmarks - \egroup % end of \vbox\bgroup - \hfil\egroup % end of (centering) \line\bgroup - \vskip\topandbottommargin plus1fill minus1fill - \boxmaxdepth = \cornerthick - \vbox to0pt{\vss - \line{% - \vbox{\moveleft\cornerthick\nsbot}% - \hfill - \vbox{\moveright\cornerthick\nsbot}% - }% - \nointerlineskip - \line{\ewbot\hfil\ewbot}% - }% - \egroup % \vbox from first cropmarks clause - \fi - }% end of \shipout\vbox - }% end of group with \indexdummies - \advancepageno - \ifnum\outputpenalty>-20000 \else\dosupereject\fi -} - -\newinsert\margin \dimen\margin=\maxdimen +% does insertions itself, but you have to call it yourself. +\chardef\PAGE=255 \output={\onepageout{\pagecontents\PAGE}} +\def\onepageout#1{\hoffset=\normaloffset +\ifodd\pageno \advance\hoffset by \bindingoffset +\else \advance\hoffset by -\bindingoffset\fi +\shipout\vbox{{\let\hsize=\pagewidth \makeheadline} \pagebody{#1}% + {\let\hsize=\pagewidth \makefootline}} +\advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi} + + +% Here is a modification of the main output routine for Near East Publications +% This provides right-angle cropmarks at all four corners. +% The contents of the page are centerlined into the cropmarks, +% and any desired binding offset is added as an \hskip on either +% site of the centerlined box. (P. A. MacKay, 12 November, 1986) +% +\def\croppageout#1{\hoffset=0pt % make sure this doesn't mess things up + \shipout + \vbox to \outervsize{\hsize=\outerhsize + \vbox{\line{\ewtop\hfill\ewtop}} + \nointerlineskip + \line{\vbox{\moveleft\cornerthick\nstop} + \hfill + \vbox{\moveright\cornerthick\nstop}} + \vskip \topandbottommargin + \centerline{\ifodd\pageno\hskip\bindingoffset\fi + \vbox{ + {\let\hsize=\pagewidth \makeheadline} + \pagebody{#1} + {\let\hsize=\pagewidth \makefootline}} + \ifodd\pageno\else\hskip\bindingoffset\fi} + \vskip \topandbottommargin plus1fill minus1fill + \boxmaxdepth\cornerthick + \line{\vbox{\moveleft\cornerthick\nsbot} + \hfill + \vbox{\moveright\cornerthick\nsbot}} + \nointerlineskip + \vbox{\line{\ewbot\hfill\ewbot}} + } + \advancepageno + \ifnum\outputpenalty>-20000 \else\dosupereject\fi} +% +% Do @cropmarks to get crop marks +\def\cropmarks{\let\onepageout=\croppageout } \def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} {\catcode`\@ =11 \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi -% marginal hacks, juha@viisa.uucp (Juha Takala) -\ifvoid\margin\else % marginal info is present - \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi \dimen@=\dp#1 \unvbox#1 \ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi \ifr@ggedbottom \kern-\dimen@ \vfil \fi} } +% % Here are the rules for the cropmarks. Note that they are % offset so that the space between them is truly \outerhsize or \outervsize % (P. A. MacKay, 12 November, 1986) @@ -379,2016 +215,411 @@ \def\nsbot{\vbox {\hrule height\cornerlong depth\cornerthick width\cornerthick}} -% Parse an argument, then pass it to #1. The argument is the rest of -% the input line (except we remove a trailing comment). #1 should be a -% macro which expects an ordinary undelimited TeX argument. -% -\def\parsearg{\parseargusing{}} -\def\parseargusing#1#2{% - \def\next{#2}% - \begingroup - \obeylines - \spaceisspace - #1% - \parseargline\empty% Insert the \empty token, see \finishparsearg below. -} +% Parse an argument, then pass it to #1. +% The argument can be delimited with [...] or with "..." or braces +% or it can be a whole line. +% #1 should be a macro which expects +% an ordinary undelimited TeX argument. -{\obeylines % - \gdef\parseargline#1^^M{% - \endgroup % End of the group started in \parsearg. - \argremovecomment #1\comment\ArgTerm% - }% -} +\def\parsearg #1{\let\next=#1\begingroup\obeylines\futurelet\temp\parseargx} -% First remove any @comment, then any @c comment. -\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} -\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} +\def\parseargx{% +\ifx \obeyedspace\temp \aftergroup\parseargdiscardspace \else% +\aftergroup \parseargline % +\fi \endgroup} -% Each occurence of `\^^M' or `\^^M' is replaced by a single space. -% -% \argremovec might leave us with trailing space, e.g., -% @end itemize @c foo -% This space token undergoes the same procedure and is eventually removed -% by \finishparsearg. -% -\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} -\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} -\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% - \def\temp{#3}% - \ifx\temp\empty - % We cannot use \next here, as it holds the macro to run; - % thus we reuse \temp. - \let\temp\finishparsearg - \else - \let\temp\argcheckspaces - \fi - % Put the space token in: - \temp#1 #3\ArgTerm -} +{\obeyspaces % +\gdef\parseargdiscardspace {\begingroup\obeylines\futurelet\temp\parseargx}} -% If a _delimited_ argument is enclosed in braces, they get stripped; so -% to get _exactly_ the rest of the line, we had to prevent such situation. -% We prepended an \empty token at the very beginning and we expand it now, -% just before passing the control to \next. -% (Similarily, we have to think about #3 of \argcheckspacesY above: it is -% either the null string, or it ends with \^^M---thus there is no danger -% that a pair of braces would be stripped. -% -% But first, we have to remove the trailing space token. -% -\def\finishparsearg#1 \ArgTerm{\expandafter\next\expandafter{#1}} +\gdef\obeyedspace{\ } -% \parseargdef\foo{...} -% is roughly equivalent to -% \def\foo{\parsearg\Xfoo} -% \def\Xfoo#1{...} -% -% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my -% favourite TeX trick. --kasal, 16nov03 +\def\parseargline{\begingroup \obeylines \parsearglinex} +{\obeylines % +\gdef\parsearglinex #1^^M{\endgroup \next {#1}}} -\def\parseargdef#1{% - \expandafter \doparseargdef \csname\string#1\endcsname #1% -} -\def\doparseargdef#1#2{% - \def#2{\parsearg#1}% - \def#1##1% -} +\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} -% Several utility definitions with active space: -{ - \obeyspaces - \gdef\obeyedspace{ } - - % Make each space character in the input produce a normal interword - % space in the output. Don't allow a line break at this space, as this - % is used only in environments like @example, where each line of input - % should produce a line of output anyway. - % - \gdef\sepspaces{\obeyspaces\let =\tie} - - % If an index command is used in an @example environment, any spaces - % therein should become regular spaces in the raw index file, not the - % expansion of \tie (\leavevmode \penalty \@M \ ). - \gdef\unsepspaces{\let =\space} -} +%% These are used to keep @begin/@end levels from running away +%% Call \inENV within environments (after a \begingroup) +\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi} +\def\ENVcheck{% +\ifENV\errmessage{Still within an environment. Type Return to continue.} +\endgroup\fi} % This is not perfect, but it should reduce lossage +% @begin foo is the same as @foo, for now. +\newhelp\EMsimple{Type to continue} -\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} +\outer\def\begin{\parsearg\beginxxx} -% Define the framework for environments in texinfo.tex. It's used like this: -% -% \envdef\foo{...} -% \def\Efoo{...} -% -% It's the responsibility of \envdef to insert \begingroup before the -% actual body; @end closes the group after calling \Efoo. \envdef also -% defines \thisenv, so the current environment is known; @end checks -% whether the environment name matches. The \checkenv macro can also be -% used to check whether the current environment is the one expected. -% -% Non-false conditionals (@iftex, @ifset) don't fit into this, so they -% are not treated as enviroments; they don't open a group. (The -% implementation of @end takes care not to call \endgroup in this -% special case.) - - -% At runtime, environments start with this: -\def\startenvironment#1{\begingroup\def\thisenv{#1}} -% initialize -\let\thisenv\empty - -% ... but they get defined via ``\envdef\foo{...}'': -\long\def\envdef#1#2{\def#1{\startenvironment#1#2}} -\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} - -% Check whether we're in the right environment: -\def\checkenv#1{% - \def\temp{#1}% - \ifx\thisenv\temp - \else - \badenverr - \fi -} +\def\beginxxx #1{% +\expandafter\ifx\csname #1\endcsname\relax +{\errhelp=\EMsimple \errmessage{Undefined command @begin #1}}\else +\csname #1\endcsname\fi} -% Evironment mismatch, #1 expected: -\def\badenverr{% - \errhelp = \EMsimple - \errmessage{This command can appear only \inenvironment\temp, - not \inenvironment\thisenv}% -} -\def\inenvironment#1{% - \ifx#1\empty - out of any environment% - \else - in environment \expandafter\string#1% - \fi -} +%% @end foo executes the definition of \Efoo. +%% foo can be delimited by doublequotes or brackets. -% @end foo executes the definition of \Efoo. -% But first, it executes a specialized version of \checkenv -% -\parseargdef\end{% - \if 1\csname iscond.#1\endcsname - \else - % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03 - \expandafter\checkenv\csname#1\endcsname - \csname E#1\endcsname - \endgroup - \fi -} +\def\end{\parsearg\endxxx} -\newhelp\EMsimple{Press RETURN to continue.} +\def\endxxx #1{% +\expandafter\ifx\csname E#1\endcsname\relax +\expandafter\ifx\csname #1\endcsname\relax +\errmessage{Undefined command @end #1}\else +\errorE{#1}\fi\fi +\csname E#1\endcsname} +\def\errorE#1{ +{\errhelp=\EMsimple \errmessage{@end #1 not within #1 environment}}} +% Single-spacing is done by various environments. + +\newskip\singlespaceskip \singlespaceskip = \baselineskip +\def\singlespace{% +{\advance \baselineskip by -\singlespaceskip +\kern \baselineskip}% +\baselineskip=\singlespaceskip +} %% Simple single-character @ commands % @@ prints an @ % Kludge this until the fonts are right (grr). -\def\@{{\tt\char64}} +\def\@{{\sf \char '100}} -% This is turned off because it was never documented -% and you can use @w{...} around a quote to suppress ligatures. -%% Define @` and @' to be the same as ` and ' -%% but suppressing ligatures. -%\def\`{{`}} -%\def\'{{'}} +% Define @` and @' to be the same as ` and ' +% but suppressing ligatures. +\def\`{{`}} +\def\'{{'}} % Used to generate quoted braces. -\def\mylbrace {{\tt\char123}} -\def\myrbrace {{\tt\char125}} + +\def\mylbrace {{\tt \char '173}} +\def\myrbrace {{\tt \char '175}} \let\{=\mylbrace \let\}=\myrbrace -\begingroup - % Definitions to produce \{ and \} commands for indices, - % and @{ and @} for the aux/toc files. - \catcode`\{ = \other \catcode`\} = \other - \catcode`\[ = 1 \catcode`\] = 2 - \catcode`\! = 0 \catcode`\\ = \other - !gdef!lbracecmd[\{]% - !gdef!rbracecmd[\}]% - !gdef!lbraceatcmd[@{]% - !gdef!rbraceatcmd[@}]% -!endgroup - -% @comma{} to avoid , parsing problems. -\let\comma = , - -% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent -% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. -\let\, = \c -\let\dotaccent = \. -\def\ringaccent#1{{\accent23 #1}} -\let\tieaccent = \t -\let\ubaraccent = \b -\let\udotaccent = \d - -% Other special characters: @questiondown @exclamdown @ordf @ordm -% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. -\def\questiondown{?`} -\def\exclamdown{!`} -\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} -\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} - -% Dotless i and dotless j, used for accents. -\def\imacro{i} -\def\jmacro{j} -\def\dotless#1{% - \def\temp{#1}% - \ifx\temp\imacro \ptexi - \else\ifx\temp\jmacro \j - \else \errmessage{@dotless can be used only with i or j}% - \fi\fi -} - -% The \TeX{} logo, as in plain, but resetting the spacing so that a -% period following counts as ending a sentence. (Idea found in latex.) -% -\edef\TeX{\TeX \spacefactor=1000 } - -% @LaTeX{} logo. Not quite the same results as the definition in -% latex.ltx, since we use a different font for the raised A; it's most -% convenient for us to use an explicitly smaller font, rather than using -% the \scriptstyle font (since we don't reset \scriptstyle and -% \scriptscriptstyle). -% -\def\LaTeX{% - L\kern-.36em - {\setbox0=\hbox{T}% - \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% - \kern-.15em - \TeX -} - -% Be sure we're in horizontal mode when doing a tie, since we make space -% equivalent to this in @example-like environments. Otherwise, a space -% at the beginning of a line will start with \penalty -- and -% since \penalty is valid in vertical mode, we'd end up putting the -% penalty on the vertical list instead of in the new paragraph. -{\catcode`@ = 11 - % Avoid using \@M directly, because that causes trouble - % if the definition is written into an index file. - \global\let\tiepenalty = \@M - \gdef\tie{\leavevmode\penalty\tiepenalty\ } -} % @: forces normal size whitespace following. \def\:{\spacefactor=1000 } % @* forces a line break. -\def\*{\hfil\break\hbox{}\ignorespaces} - -% @/ allows a line break. -\let\/=\allowbreak +\def\*{\hfil\break} % @. is an end-of-sentence period. -\def\.{.\spacefactor=\endofsentencespacefactor\space} +\def\.{.\spacefactor=3000 } -% @! is an end-of-sentence bang. -\def\!{!\spacefactor=\endofsentencespacefactor\space} +% @w prevents a word break +\def\w #1{\hbox{#1}} -% @? is an end-of-sentence query. -\def\?{?\spacefactor=\endofsentencespacefactor\space} - -% @frenchspacing on|off says whether to put extra space after punctuation. -% -\def\onword{on} -\def\offword{off} -% -\parseargdef\frenchspacing{% - \def\temp{#1}% - \ifx\temp\onword \plainfrenchspacing - \else\ifx\temp\offword \plainnonfrenchspacing - \else - \errhelp = \EMsimple - \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% - \fi\fi -} +% @group ... @end group forces ... to be all on one page. -% @w prevents a word break. Without the \leavevmode, @w at the -% beginning of a paragraph, when TeX is still in vertical mode, would -% produce a whole line of output instead of starting the paragraph. -\def\w#1{\leavevmode\hbox{#1}} - -% @group ... @end group forces ... to be all on one page, by enclosing -% it in a TeX vbox. We use \vtop instead of \vbox to construct the box -% to keep its height that of a normal line. According to the rules for -% \topskip (p.114 of the TeXbook), the glue inserted is -% max (\topskip - \ht (first item), 0). If that height is large, -% therefore, no glue is inserted, and the space between the headline and -% the text is small, which looks bad. -% -% Another complication is that the group might be very large. This can -% cause the glue on the previous page to be unduly stretched, because it -% does not have much material. In this case, it's better to add an -% explicit \vfill so that the extra space is at the bottom. The -% threshold for doing this is if the group is more than \vfilllimit -% percent of a page (\vfilllimit can be changed inside of @tex). -% -\newbox\groupbox -\def\vfilllimit{0.7} -% -\envdef\group{% - \ifnum\catcode`\^^M=\active \else - \errhelp = \groupinvalidhelp - \errmessage{@group invalid in context where filling is enabled}% - \fi - \startsavinginserts - % - \setbox\groupbox = \vtop\bgroup - % Do @comment since we are called inside an environment such as - % @example, where each end-of-line in the input causes an - % end-of-line in the output. We don't want the end-of-line after - % the `@group' to put extra space in the output. Since @group - % should appear on a line by itself (according to the Texinfo - % manual), we don't worry about eating any user text. - \comment -} -% -% The \vtop produces a box with normal height and large depth; thus, TeX puts -% \baselineskip glue before it, and (when the next line of text is done) -% \lineskip glue after it. Thus, space below is not quite equal to space -% above. But it's pretty close. -\def\Egroup{% - % To get correct interline space between the last line of the group - % and the first line afterwards, we have to propagate \prevdepth. - \endgraf % Not \par, as it may have been set to \lisppar. - \global\dimen1 = \prevdepth - \egroup % End the \vtop. - % \dimen0 is the vertical size of the group's box. - \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox - % \dimen2 is how much space is left on the page (more or less). - \dimen2 = \pageheight \advance\dimen2 by -\pagetotal - % if the group doesn't fit on the current page, and it's a big big - % group, force a page break. - \ifdim \dimen0 > \dimen2 - \ifdim \pagetotal < \vfilllimit\pageheight - \page - \fi - \fi - \box\groupbox - \prevdepth = \dimen1 - \checkinserts -} -% -% TeX puts in an \escapechar (i.e., `@') at the beginning of the help -% message, so this ends up printing `@group can only ...'. -% -\newhelp\groupinvalidhelp{% -group can only be used in environments such as @example,^^J% -where each line of input produces a line of output.} - -% @need space-in-mils -% forces a page break if there is not space-in-mils remaining. - -\newdimen\mil \mil=0.001in - -% Old definition--didn't work. -%\parseargdef\need{\par % -%% This method tries to make TeX break the page naturally -%% if the depth of the box does not fit. -%{\baselineskip=0pt% -%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak -%\prevdepth=-1000pt -%}} - -\parseargdef\need{% - % Ensure vertical mode, so we don't make a big box in the middle of a - % paragraph. - \par - % - % If the @need value is less than one line space, it's useless. - \dimen0 = #1\mil - \dimen2 = \ht\strutbox - \advance\dimen2 by \dp\strutbox - \ifdim\dimen0 > \dimen2 - % - % Do a \strut just to make the height of this box be normal, so the - % normal leading is inserted relative to the preceding line. - % And a page break here is fine. - \vtop to #1\mil{\strut\vfil}% - % - % TeX does not even consider page breaks if a penalty added to the - % main vertical list is 10000 or more. But in order to see if the - % empty box we just added fits on the page, we must make it consider - % page breaks. On the other hand, we don't want to actually break the - % page after the empty box. So we use a penalty of 9999. - % - % There is an extremely small chance that TeX will actually break the - % page at this \penalty, if there are no other feasible breakpoints in - % sight. (If the user is using lots of big @group commands, which - % almost-but-not-quite fill up a page, TeX will have a hard time doing - % good page breaking, for example.) However, I could not construct an - % example where a page broke at this \penalty; if it happens in a real - % document, then we can reconsider our strategy. - \penalty9999 - % - % Back up by the size of the box, whether we did a page break or not. - \kern -#1\mil - % - % Do not allow a page break right after this kern. - \nobreak - \fi -} +\def\group{\begingroup% \inENV ??? +\def \Egroup{\egroup\endgroup} +\vbox\bgroup} -% @br forces paragraph break (and is undocumented). +% @br forces paragraph break \let\br = \par -% @page forces the start of a new page. -% +% @dots{} output some dots + +\def\dots{$\ldots$} + +% @page forces the start of a new page + \def\page{\par\vfill\supereject} % @exdent text.... % outputs text on separate line in roman font, starting at standard page margin -% This records the amount of indent in the innermost environment. -% That's how much \exdent should take out. -\newskip\exdentamount +\def\exdent{\errmessage{@exdent in filled text}} + % @lisp, etc, define \exdent locally from \internalexdent -% This defn is used inside fill environments such as @defun. -\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} +{\obeyspaces +\gdef\internalexdent{\parsearg\exdentzzz}} -% This defn is used inside nofill environments such as @example. -\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount - \leftline{\hskip\leftskip{\rm#1}}}} - -% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current -% paragraph. For more general purposes, use the \margin insertion -% class. WHICH is `l' or `r'. -% -\newskip\inmarginspacing \inmarginspacing=1cm -\def\strutdepth{\dp\strutbox} -% -\def\doinmargin#1#2{\strut\vadjust{% - \nobreak - \kern-\strutdepth - \vtop to \strutdepth{% - \baselineskip=\strutdepth - \vss - % if you have multiple lines of stuff to put here, you'll need to - % make the vbox yourself of the appropriate size. - \ifx#1l% - \llap{\ignorespaces #2\hskip\inmarginspacing}% - \else - \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}% - \fi - \null - }% -}} -\def\inleftmargin{\doinmargin l} -\def\inrightmargin{\doinmargin r} -% -% @inmargin{TEXT [, RIGHT-TEXT]} -% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; -% else use TEXT for both). -% -\def\inmargin#1{\parseinmargin #1,,\finish} -\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0 > 0pt - \def\lefttext{#1}% have both texts - \def\righttext{#2}% - \else - \def\lefttext{#1}% have only one text - \def\righttext{#1}% - \fi - % - \ifodd\pageno - \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin - \else - \def\temp{\inleftmargin\lefttext}% - \fi - \temp -} +\def\exdentzzz #1{{\advance \leftskip by -\lispnarrowing +\advance \hsize by -\leftskip +\advance \hsize by -\rightskip +\leftline{{\rm#1}}}} % @include file insert text of that file as input. -% -\def\include{\parseargusing\filenamecatcodes\includezzz} -\def\includezzz#1{% - \pushthisfilestack - \def\thisfile{#1}% - {% - \makevalueexpandable - \def\temp{\input #1 }% - \expandafter - }\temp - \popthisfilestack -} -\def\filenamecatcodes{% - \catcode`\\=\other - \catcode`~=\other - \catcode`^=\other - \catcode`_=\other - \catcode`|=\other - \catcode`<=\other - \catcode`>=\other - \catcode`+=\other - \catcode`-=\other -} -\def\pushthisfilestack{% - \expandafter\pushthisfilestackX\popthisfilestack\StackTerm -} -\def\pushthisfilestackX{% - \expandafter\pushthisfilestackY\thisfile\StackTerm -} -\def\pushthisfilestackY #1\StackTerm #2\StackTerm {% - \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% -} - -\def\popthisfilestack{\errthisfilestackempty} -\def\errthisfilestackempty{\errmessage{Internal error: - the stack of filenames is empty.}} +\def\include{\parsearg\includezzz} +\def\includezzz #1{{\def\thisfile{#1}\input #1 +}} \def\thisfile{} -% @center line -% outputs that line, centered. -% -\parseargdef\center{% - \ifhmode - \let\next\centerH - \else - \let\next\centerV - \fi - \next{\hfil \ignorespaces#1\unskip \hfil}% -} -\def\centerH#1{% - {% - \hfil\break - \advance\hsize by -\leftskip - \advance\hsize by -\rightskip - \line{#1}% - \break - }% -} -\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}} +% @center line outputs that line, centered + +\def\center{\parsearg\centerzzz} +\def\centerzzz #1{{\advance\hsize by -\leftskip +\advance\hsize by -\rightskip +\centerline{#1}}} % @sp n outputs n lines of vertical space -\parseargdef\sp{\vskip #1\baselineskip} +\def\sp{\parsearg\spxxx} +\def\spxxx #1{\par \vskip #1\baselineskip} % @comment ...line which is ignored... % @c is the same as @comment % @ignore ... @end ignore is another way to write a comment -\def\comment{\begingroup \catcode`\^^M=\other% -\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% -\commentxxx} -{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} +\def\comment{\parsearg \commentxxx} + +\def\commentxxx #1{} \let\c=\comment -% @paragraphindent NCHARS -% We'll use ems for NCHARS, close enough. -% NCHARS can also be the word `asis' or `none'. -% We cannot feasibly implement @paragraphindent asis, though. -% -\def\asisword{asis} % no translation, these are keywords -\def\noneword{none} -% -\parseargdef\paragraphindent{% - \def\temp{#1}% - \ifx\temp\asisword - \else - \ifx\temp\noneword - \defaultparindent = 0pt - \else - \defaultparindent = #1em - \fi - \fi - \parindent = \defaultparindent -} +\long\def\ignore #1\end ignore{} -% @exampleindent NCHARS -% We'll use ems for NCHARS like @paragraphindent. -% It seems @exampleindent asis isn't necessary, but -% I preserve it to make it similar to @paragraphindent. -\parseargdef\exampleindent{% - \def\temp{#1}% - \ifx\temp\asisword - \else - \ifx\temp\noneword - \lispnarrowing = 0pt - \else - \lispnarrowing = #1em - \fi - \fi -} +\outer\def\ifset{\parsearg\ifsetxxx} -% @firstparagraphindent WORD -% If WORD is `none', then suppress indentation of the first paragraph -% after a section heading. If WORD is `insert', then do indent at such -% paragraphs. -% -% The paragraph indentation is suppressed or not by calling -% \suppressfirstparagraphindent, which the sectioning commands do. -% We switch the definition of this back and forth according to WORD. -% By default, we suppress indentation. -% -\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} -\def\insertword{insert} -% -\parseargdef\firstparagraphindent{% - \def\temp{#1}% - \ifx\temp\noneword - \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent - \else\ifx\temp\insertword - \let\suppressfirstparagraphindent = \relax - \else - \errhelp = \EMsimple - \errmessage{Unknown @firstparagraphindent option `\temp'}% - \fi\fi -} +\def\ifsetxxx #1#2\end ifset{% +\expandafter\ifx\csname IF#1\endcsname\relax \else #2\fi} -% Here is how we actually suppress indentation. Redefine \everypar to -% \kern backwards by \parindent, and then reset itself to empty. -% -% We also make \indent itself not actually do anything until the next -% paragraph. -% -\gdef\dosuppressfirstparagraphindent{% - \gdef\indent{% - \restorefirstparagraphindent - \indent - }% - \gdef\noindent{% - \restorefirstparagraphindent - \noindent - }% - \global\everypar = {% - \kern -\parindent - \restorefirstparagraphindent - }% -} +\outer\def\ifclear{\parsearg\ifclearxxx} -\gdef\restorefirstparagraphindent{% - \global \let \indent = \ptexindent - \global \let \noindent = \ptexnoindent - \global \everypar = {}% -} +\def\ifclearxxx #1#2\end ifclear{% +\expandafter\ifx\csname IF#1\endcsname\relax #2\fi} +% Some texinfo constructs that are trivial in tex -% @asis just yields its argument. Used with @table, for example. -% +\def\iftex{} +\def\Eiftex{} +\long\def\ifinfo #1\end ifinfo{} +\long\def\menu #1\end menu{} \def\asis#1{#1} -% @math outputs its argument in math mode. -% -% One complication: _ usually means subscripts, but it could also mean -% an actual _ character, as in @math{@var{some_variable} + 1}. So make -% _ active, and distinguish by seeing if the current family is \slfam, -% which is what @var uses. -{ - \catcode`\_ = \active - \gdef\mathunderscore{% - \catcode`\_=\active - \def_{\ifnum\fam=\slfam \_\else\sb\fi}% - } -} -% Another complication: we want \\ (and @\) to output a \ character. -% FYI, plain.tex uses \\ as a temporary control sequence (why?), but -% this is not advertised and we don't care. Texinfo does not -% otherwise define @\. -% -% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. -\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} -% -\def\math{% - \tex - \mathunderscore - \let\\ = \mathbackslash - \mathactive - $\finishmath -} -\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. - -% Some active characters (such as <) are spaced differently in math. -% We have to reset their definitions in case the @math was an argument -% to a command which sets the catcodes (such as @item or @section). -% -{ - \catcode`^ = \active - \catcode`< = \active - \catcode`> = \active - \catcode`+ = \active - \gdef\mathactive{% - \let^ = \ptexhat - \let< = \ptexless - \let> = \ptexgtr - \let+ = \ptexplus - } -} - -% @bullet and @minus need the same treatment as @math, just above. -\def\bullet{$\ptexbullet$} -\def\minus{$-$} - -% @dots{} outputs an ellipsis using the current font. -% We do .5em per period so that it has the same spacing in a typewriter -% font as three actual period characters. -% -\def\dots{% - \leavevmode - \hbox to 1.5em{% - \hskip 0pt plus 0.25fil - .\hfil.\hfil.% - \hskip 0pt plus 0.5fil - }% -} +\def\node{\parsearg\nodezzz} +\def\nodezzz#1{\nodexxx [#1,]} +\def\nodexxx[#1,#2]{\gdef\lastnode{#1}} +\let\lastnode=\relax -% @enddots{} is an end-of-sentence ellipsis. -% -\def\enddots{% - \dots - \spacefactor=\endofsentencespacefactor -} +\def\donoderef{\ifx\lastnode\relax\else +\expandafter\expandafter\expandafter\setref{\lastnode}\fi +\let\lastnode=\relax} -% @comma{} is so commas can be inserted into text without messing up -% Texinfo's parsing. -% -\let\comma = , +\def\unnumbnoderef{\ifx\lastnode\relax\else +\expandafter\expandafter\expandafter\unnumbsetref{\lastnode}\fi +\let\lastnode=\relax} -% @refill is a no-op. \let\refill=\relax -% If working on a large document in chapters, it is convenient to -% be able to disable indexing, cross-referencing, and contents, for test runs. -% This is done with @novalidate (before @setfilename). -% -\newif\iflinks \linkstrue % by default we want the aux files. -\let\novalidate = \linksfalse - -% @setfilename is done at the beginning of every texinfo file. -% So open here the files we need to have open while reading the input. -% This makes it possible to make a .fmt file for texinfo. -\def\setfilename{% - \fixbackslash % Turn off hack to swallow `\input texinfo'. - \iflinks - \tryauxfile - % Open the new aux file. TeX will close it automatically at exit. - \immediate\openout\auxfile=\jobname.aux - \fi % \openindices needs to do some work in any case. - \openindices - \let\setfilename=\comment % Ignore extra @setfilename cmds. - % - % If texinfo.cnf is present on the system, read it. - % Useful for site-wide @afourpaper, etc. - \openin 1 texinfo.cnf - \ifeof 1 \else \input texinfo.cnf \fi - \closein 1 - % - \comment % Ignore the actual filename. -} - -% Called from \setfilename. -% -\def\openindices{% - \newindex{cp}% - \newcodeindex{fn}% - \newcodeindex{vr}% - \newcodeindex{tp}% - \newcodeindex{ky}% - \newcodeindex{pg}% -} - -% @bye. -\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} +\let\setfilename=\comment +\def\inforef #1{\inforefzzz #1,,,,**} +\def\inforefzzz #1,#2,#3,#4**{See Info file \file{\losespace#3{}}, node `\losespace#1{}'} +\def\losespace #1{#1} -\message{pdf,} -% adobe `portable' document format -\newcount\tempnum -\newcount\lnkcount -\newtoks\filename -\newcount\filenamelength -\newcount\pgn -\newtoks\toksA -\newtoks\toksB -\newtoks\toksC -\newtoks\toksD -\newbox\boxA -\newcount\countA -\newif\ifpdf -\newif\ifpdfmakepagedest - -% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 -% can be set). So we test for \relax and 0 as well as \undefined, -% borrowed from ifpdf.sty. -\ifx\pdfoutput\undefined -\else - \ifx\pdfoutput\relax - \else - \ifcase\pdfoutput - \else - \pdftrue - \fi - \fi -\fi +\message{fonts,} -% PDF uses PostScript string constants for the names of xref targets, -% for display in the outlines, and in other places. Thus, we have to -% double any backslashes. Otherwise, a name like "\node" will be -% interpreted as a newline (\n), followed by o, d, e. Not good. -% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html -% (and related messages, the final outcome is that it is up to the TeX -% user to double the backslashes and otherwise make the string valid, so -% that's what we do). - -% double active backslashes. -% -{\catcode`\@=0 \catcode`\\=\active - @gdef@activebackslashdouble{% - @catcode`@\=@active - @let\=@doublebackslash} -} +% Font-change commands. + +%% Try out Computer Modern fonts at \magstephalf +\font\tenrm=cmr10 scaled \magstephalf +\font\tentt=cmtt10 scaled \magstephalf +% Instead of cmb10, you many want to use cmbx10. +% cmbx10 is a prettier font on its own, but cmb10 +% looks better when embedded in a line with cmr10. +\font\tenbf=cmb10 scaled \magstephalf +\font\tenit=cmti10 scaled \magstephalf +\font\tensl=cmsl10 scaled \magstephalf +\font\tensf=cmss10 scaled \magstephalf +\def\li{\sf} +\font\tensc=cmcsc10 scaled \magstephalf + +% Fonts for @defun, etc. +\font\defbf=cmbx10 scaled \magstep1 %was 1314 +\let\deftt=\tentt +\def\df{\let\tt=\deftt \defbf} + +% Font for title +\font\titlerm = cmbx10 scaled \magstep5 + +% Fonts for indices +\font\indit=cmti9 \font\indrm=cmr9 +\def\indbf{\indrm} \def\indsl{\indit} +\def\indexfonts{\let\it=\indit \let\sl=\indsl \let\bf=\indbf \let\rm=\indrm} + +% Fonts for headings +\font\chaprm=cmbx10 scaled \magstep3 +\font\chapit=cmti10 scaled \magstep3 +\font\chapsl=cmsl10 scaled \magstep3 +\font\chaptt=cmtt10 scaled \magstep3 +\font\chapsf=cmss10 scaled \magstep3 +\let\chapbf=\chaprm -% To handle parens, we must adopt a different approach, since parens are -% not active characters. hyperref.dtx (which has the same problem as -% us) handles it with this amazing macro to replace tokens. I've -% tinkered with it a little for texinfo, but it's definitely from there. -% -% #1 is the tokens to replace. -% #2 is the replacement. -% #3 is the control sequence with the string. -% -\def\HyPsdSubst#1#2#3{% - \def\HyPsdReplace##1#1##2\END{% - ##1% - \ifx\\##2\\% - \else - #2% - \HyReturnAfterFi{% - \HyPsdReplace##2\END - }% - \fi - }% - \xdef#3{\expandafter\HyPsdReplace#3#1\END}% -} -\long\def\HyReturnAfterFi#1\fi{\fi#1} - -% #1 is a control sequence in which to do the replacements. -\def\backslashparens#1{% - \xdef#1{#1}% redefine it as its expansion; the definition is simply - % \lastnode when called from \setref -> \pdfmkdest. - \HyPsdSubst{(}{\realbackslash(}{#1}% - \HyPsdSubst{)}{\realbackslash)}{#1}% -} +\font\secrm=cmbx10 scaled \magstep2 +\font\secit=cmti10 scaled \magstep2 +\font\secsl=cmsl10 scaled \magstep2 +\font\sectt=cmtt10 scaled \magstep2 +\font\secsf=cmss10 scaled \magstep2 +\let\secbf=\secrm + +\font\ssecrm=cmbx10 scaled \magstep1 +\font\ssecit=cmti10 scaled \magstep1 +\font\ssecsl=cmsl10 scaled \magstep1 +\font\ssectt=cmtt10 scaled \magstep1 +\font\ssecsf=cmss10 scaled \magstep1 +\let\ssecbf=\ssecrm + +\def\textfonts{\let\rm=\tenrm\let\it=\tenit\let\sl=\tensl\let\bf=\tenbf% +\let\sc=\tensc\let\sf=\tensf} +\def\chapfonts{\let\rm=\chaprm\let\it=\chapit\let\sl=\chapsl\let\bf=\chapbf\let\tt=\chaptt\let\sf=\chapsf} +\def\secfonts{\let\rm=\secrm\let\it=\secit\let\sl=\secsl\let\bf=\secbf\let\tt=\sectt\let\sf=\secsf} +\def\subsecfonts{\let\rm=\ssecrm\let\it=\ssecit\let\sl=\ssecsl\let\bf=\ssecbf\let\tt=\ssectt\let\sf=\ssecsf} +% Count depth in font-changes, for error checks +\newcount\fontdepth \fontdepth=0 -\ifpdf - \input pdfcolor - \pdfcatalog{/PageMode /UseOutlines}% - \def\dopdfimage#1#2#3{% - \def\imagewidth{#2}% - \def\imageheight{#3}% - % without \immediate, pdftex seg faults when the same image is - % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) - \ifnum\pdftexversion < 14 - \immediate\pdfimage - \else - \immediate\pdfximage - \fi - \ifx\empty\imagewidth\else width \imagewidth \fi - \ifx\empty\imageheight\else height \imageheight \fi - \ifnum\pdftexversion<13 - #1.pdf% - \else - {#1.pdf}% - \fi - \ifnum\pdftexversion < 14 \else - \pdfrefximage \pdflastximage - \fi} - \def\pdfmkdest#1{{% - % We have to set dummies so commands such as @code, and characters - % such as \, aren't expanded when present in a section title. - \atdummies - \activebackslashdouble - \def\pdfdestname{#1}% - \backslashparens\pdfdestname - \pdfdest name{\pdfdestname} xyz% - }}% - % - % used to mark target names; must be expandable. - \def\pdfmkpgn#1{#1}% - % - \let\linkcolor = \Blue % was Cyan, but that seems light? - \def\endlink{\Black\pdfendlink} - % Adding outlines to PDF; macros for calculating structure of outlines - % come from Petr Olsak - \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% - \else \csname#1\endcsname \fi} - \def\advancenumber#1{\tempnum=\expnumber{#1}\relax - \advance\tempnum by 1 - \expandafter\xdef\csname#1\endcsname{\the\tempnum}} - % - % #1 is the section text, which is what will be displayed in the - % outline by the pdf viewer. #2 is the pdf expression for the number - % of subentries (or empty, for subsubsections). #3 is the node text, - % which might be empty if this toc entry had no corresponding node. - % #4 is the page number - % - \def\dopdfoutline#1#2#3#4{% - % Generate a link to the node text if that exists; else, use the - % page number. We could generate a destination for the section - % text in the case where a section has no node, but it doesn't - % seem worth the trouble, since most documents are normally structured. - \def\pdfoutlinedest{#3}% - \ifx\pdfoutlinedest\empty - \def\pdfoutlinedest{#4}% - \else - % Doubled backslashes in the name. - {\activebackslashdouble \xdef\pdfoutlinedest{#3}% - \backslashparens\pdfoutlinedest}% - \fi - % - % Also double the backslashes in the display string. - {\activebackslashdouble \xdef\pdfoutlinetext{#1}% - \backslashparens\pdfoutlinetext}% - % - \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% - } - % - \def\pdfmakeoutlines{% - \begingroup - % Thanh's hack / proper braces in bookmarks - \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace - \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace - % - % Read toc silently, to get counts of subentries for \pdfoutline. - \def\numchapentry##1##2##3##4{% - \def\thischapnum{##2}% - \def\thissecnum{0}% - \def\thissubsecnum{0}% - }% - \def\numsecentry##1##2##3##4{% - \advancenumber{chap\thischapnum}% - \def\thissecnum{##2}% - \def\thissubsecnum{0}% - }% - \def\numsubsecentry##1##2##3##4{% - \advancenumber{sec\thissecnum}% - \def\thissubsecnum{##2}% - }% - \def\numsubsubsecentry##1##2##3##4{% - \advancenumber{subsec\thissubsecnum}% - }% - \def\thischapnum{0}% - \def\thissecnum{0}% - \def\thissubsecnum{0}% - % - % use \def rather than \let here because we redefine \chapentry et - % al. a second time, below. - \def\appentry{\numchapentry}% - \def\appsecentry{\numsecentry}% - \def\appsubsecentry{\numsubsecentry}% - \def\appsubsubsecentry{\numsubsubsecentry}% - \def\unnchapentry{\numchapentry}% - \def\unnsecentry{\numsecentry}% - \def\unnsubsecentry{\numsubsecentry}% - \def\unnsubsubsecentry{\numsubsubsecentry}% - \readdatafile{toc}% - % - % Read toc second time, this time actually producing the outlines. - % The `-' means take the \expnumber as the absolute number of - % subentries, which we calculated on our first read of the .toc above. - % - % We use the node names as the destinations. - \def\numchapentry##1##2##3##4{% - \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% - \def\numsecentry##1##2##3##4{% - \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% - \def\numsubsecentry##1##2##3##4{% - \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% - \def\numsubsubsecentry##1##2##3##4{% count is always zero - \dopdfoutline{##1}{}{##3}{##4}}% - % - % PDF outlines are displayed using system fonts, instead of - % document fonts. Therefore we cannot use special characters, - % since the encoding is unknown. For example, the eogonek from - % Latin 2 (0xea) gets translated to a | character. Info from - % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. - % - % xx to do this right, we have to translate 8-bit characters to - % their "best" equivalent, based on the @documentencoding. Right - % now, I guess we'll just let the pdf reader have its way. - \indexnofonts - \setupdatafile - \catcode`\\=\active \otherbackslash - \input \jobname.toc - \endgroup - } - % - \def\skipspaces#1{\def\PP{#1}\def\D{|}% - \ifx\PP\D\let\nextsp\relax - \else\let\nextsp\skipspaces - \ifx\p\space\else\addtokens{\filename}{\PP}% - \advance\filenamelength by 1 - \fi - \fi - \nextsp} - \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} - \ifnum\pdftexversion < 14 - \let \startlink \pdfannotlink - \else - \let \startlink \pdfstartlink - \fi - % make a live url in pdf output. - \def\pdfurl#1{% - \begingroup - % it seems we really need yet another set of dummies; have not - % tried to figure out what each command should do in the context - % of @url. for now, just make @/ a no-op, that's the only one - % people have actually reported a problem with. - % - \normalturnoffactive - \def\@{@}% - \let\/=\empty - \makevalueexpandable - \leavevmode\Red - \startlink attr{/Border [0 0 0]}% - user{/Subtype /Link /A << /S /URI /URI (#1) >>}% - \endgroup} - \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} - \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} - \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} - \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} - \def\maketoks{% - \expandafter\poptoks\the\toksA|ENDTOKS|\relax - \ifx\first0\adn0 - \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 - \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 - \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 - \else - \ifnum0=\countA\else\makelink\fi - \ifx\first.\let\next=\done\else - \let\next=\maketoks - \addtokens{\toksB}{\the\toksD} - \ifx\first,\addtokens{\toksB}{\space}\fi - \fi - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi - \next} - \def\makelink{\addtokens{\toksB}% - {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} - \def\pdflink#1{% - \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} - \linkcolor #1\endlink} - \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} -\else - \let\pdfmkdest = \gobble - \let\pdfurl = \gobble - \let\endlink = \relax - \let\linkcolor = \relax - \let\pdfmakeoutlines = \relax -\fi % \ifx\pdfoutput +%% Add scribe-like font environments, plus @l for inline lisp (usually sans +%% serif) and @ii for TeX italic +\def\i#1{{\sl #1}} +\let\var=\i +\let\dfn=\i +\let\emph=\i +\let\cite=\i -\message{fonts,} +\def\b#1{{\bf #1}} +\let\strong=\b -% Change the current font style to #1, remembering it in \curfontstyle. -% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in -% italics, not bold italics. -% -\def\setfontstyle#1{% - \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. - \csname ten#1\endcsname % change the current font -} +\def\t#1{{\tt \rawbackslash \frenchspacing #1}\null} +\let\ttfont = \t +\let\kbd=\t +\let\code=\t +\def\samp #1{`{\tt \rawbackslash \frenchspacing #1}'\null} +\def\key #1{{\tt \uppercase{#1}}\null} +\def\ctrl #1{{\tt \rawbackslash \hat}#1} -% Select #1 fonts with the current style. -% -\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname} +\let\file=\samp -\def\rm{\fam=0 \setfontstyle{rm}} -\def\it{\fam=\itfam \setfontstyle{it}} -\def\sl{\fam=\slfam \setfontstyle{sl}} -\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} -\def\tt{\fam=\ttfam \setfontstyle{tt}} +\def\l#1{{\li #1}\null} -% Texinfo sort of supports the sans serif font style, which plain TeX does not. -% So we set up a \sf. -\newfam\sffam -\def\sf{\fam=\sffam \setfontstyle{sf}} -\let\li = \sf % Sometimes we call it \li, not \sf. +\def\r#1{{\rm #1}} +\def\s#1{{\sc #1}} +\def\ii#1{{\it #1}} -% We don't need math for this font style. -\def\ttsl{\setfontstyle{ttsl}} +\def\titlefont#1{{\titlerm #1}} -% Default leading. -\newdimen\textleading \textleading = 13.2pt +\def\titlepage{\begingroup \parindent=0pt \hbox{}% +\let\oldpage=\page +\def\page{\oldpage \hbox{}}} -% Set the baselineskip to #1, and the lineskip and strut size -% correspondingly. There is no deep meaning behind these magic numbers -% used as factors; they just match (closely enough) what Knuth defined. -% -\def\lineskipfactor{.08333} -\def\strutheightpercent{.70833} -\def\strutdepthpercent {.29167} -% -\def\setleading#1{% - \normalbaselineskip = #1\relax - \normallineskip = \lineskipfactor\normalbaselineskip - \normalbaselines - \setbox\strutbox =\hbox{% - \vrule width0pt height\strutheightpercent\baselineskip - depth \strutdepthpercent \baselineskip - }% -} +\def\Etitlepage{\endgroup\page\HEADINGSon} -% Set the font macro #1 to the font named #2, adding on the -% specified font prefix (normally `cm'). -% #3 is the font's design size, #4 is a scale factor -\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4} +% Make altmode in file print out right -% Use cm as the default font prefix. -% To specify the font prefix, you must define \fontprefix -% before you read in texinfo.tex. -\ifx\fontprefix\undefined -\def\fontprefix{cm} -\fi -% Support font families that don't use the same naming scheme as CM. -\def\rmshape{r} -\def\rmbshape{bx} %where the normal face is bold -\def\bfshape{b} -\def\bxshape{bx} -\def\ttshape{tt} -\def\ttbshape{tt} -\def\ttslshape{sltt} -\def\itshape{ti} -\def\itbshape{bxti} -\def\slshape{sl} -\def\slbshape{bxsl} -\def\sfshape{ss} -\def\sfbshape{ss} -\def\scshape{csc} -\def\scbshape{csc} - -% Text fonts (11.2pt, magstep1). -\def\textnominalsize{11pt} -\edef\mainmagstep{\magstephalf} -\setfont\textrm\rmshape{10}{\mainmagstep} -\setfont\texttt\ttshape{10}{\mainmagstep} -\setfont\textbf\bfshape{10}{\mainmagstep} -\setfont\textit\itshape{10}{\mainmagstep} -\setfont\textsl\slshape{10}{\mainmagstep} -\setfont\textsf\sfshape{10}{\mainmagstep} -\setfont\textsc\scshape{10}{\mainmagstep} -\setfont\textttsl\ttslshape{10}{\mainmagstep} -\font\texti=cmmi10 scaled \mainmagstep -\font\textsy=cmsy10 scaled \mainmagstep - -% A few fonts for @defun names and args. -\setfont\defbf\bfshape{10}{\magstep1} -\setfont\deftt\ttshape{10}{\magstep1} -\setfont\defttsl\ttslshape{10}{\magstep1} -\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} - -% Fonts for indices, footnotes, small examples (9pt). -\def\smallnominalsize{9pt} -\setfont\smallrm\rmshape{9}{1000} -\setfont\smalltt\ttshape{9}{1000} -\setfont\smallbf\bfshape{10}{900} -\setfont\smallit\itshape{9}{1000} -\setfont\smallsl\slshape{9}{1000} -\setfont\smallsf\sfshape{9}{1000} -\setfont\smallsc\scshape{10}{900} -\setfont\smallttsl\ttslshape{10}{900} -\font\smalli=cmmi9 -\font\smallsy=cmsy9 - -% Fonts for small examples (8pt). -\def\smallernominalsize{8pt} -\setfont\smallerrm\rmshape{8}{1000} -\setfont\smallertt\ttshape{8}{1000} -\setfont\smallerbf\bfshape{10}{800} -\setfont\smallerit\itshape{8}{1000} -\setfont\smallersl\slshape{8}{1000} -\setfont\smallersf\sfshape{8}{1000} -\setfont\smallersc\scshape{10}{800} -\setfont\smallerttsl\ttslshape{10}{800} -\font\smalleri=cmmi8 -\font\smallersy=cmsy8 - -% Fonts for title page (20.4pt): -\def\titlenominalsize{20pt} -\setfont\titlerm\rmbshape{12}{\magstep3} -\setfont\titleit\itbshape{10}{\magstep4} -\setfont\titlesl\slbshape{10}{\magstep4} -\setfont\titlett\ttbshape{12}{\magstep3} -\setfont\titlettsl\ttslshape{10}{\magstep4} -\setfont\titlesf\sfbshape{17}{\magstep1} -\let\titlebf=\titlerm -\setfont\titlesc\scbshape{10}{\magstep4} -\font\titlei=cmmi12 scaled \magstep3 -\font\titlesy=cmsy10 scaled \magstep4 -\def\authorrm{\secrm} -\def\authortt{\sectt} - -% Chapter (and unnumbered) fonts (17.28pt). -\def\chapnominalsize{17pt} -\setfont\chaprm\rmbshape{12}{\magstep2} -\setfont\chapit\itbshape{10}{\magstep3} -\setfont\chapsl\slbshape{10}{\magstep3} -\setfont\chaptt\ttbshape{12}{\magstep2} -\setfont\chapttsl\ttslshape{10}{\magstep3} -\setfont\chapsf\sfbshape{17}{1000} -\let\chapbf=\chaprm -\setfont\chapsc\scbshape{10}{\magstep3} -\font\chapi=cmmi12 scaled \magstep2 -\font\chapsy=cmsy10 scaled \magstep3 - -% Section fonts (14.4pt). -\def\secnominalsize{14pt} -\setfont\secrm\rmbshape{12}{\magstep1} -\setfont\secit\itbshape{10}{\magstep2} -\setfont\secsl\slbshape{10}{\magstep2} -\setfont\sectt\ttbshape{12}{\magstep1} -\setfont\secttsl\ttslshape{10}{\magstep2} -\setfont\secsf\sfbshape{12}{\magstep1} -\let\secbf\secrm -\setfont\secsc\scbshape{10}{\magstep2} -\font\seci=cmmi12 scaled \magstep1 -\font\secsy=cmsy10 scaled \magstep2 - -% Subsection fonts (13.15pt). -\def\ssecnominalsize{13pt} -\setfont\ssecrm\rmbshape{12}{\magstephalf} -\setfont\ssecit\itbshape{10}{1315} -\setfont\ssecsl\slbshape{10}{1315} -\setfont\ssectt\ttbshape{12}{\magstephalf} -\setfont\ssecttsl\ttslshape{10}{1315} -\setfont\ssecsf\sfbshape{12}{\magstephalf} -\let\ssecbf\ssecrm -\setfont\ssecsc\scbshape{10}{1315} -\font\sseci=cmmi12 scaled \magstephalf -\font\ssecsy=cmsy10 scaled 1315 - -% Reduced fonts for @acro in text (10pt). -\def\reducednominalsize{10pt} -\setfont\reducedrm\rmshape{10}{1000} -\setfont\reducedtt\ttshape{10}{1000} -\setfont\reducedbf\bfshape{10}{1000} -\setfont\reducedit\itshape{10}{1000} -\setfont\reducedsl\slshape{10}{1000} -\setfont\reducedsf\sfshape{10}{1000} -\setfont\reducedsc\scshape{10}{1000} -\setfont\reducedttsl\ttslshape{10}{1000} -\font\reducedi=cmmi10 -\font\reducedsy=cmsy10 - -% In order for the font changes to affect most math symbols and letters, -% we have to define the \textfont of the standard families. Since -% texinfo doesn't allow for producing subscripts and superscripts except -% in the main text, we don't bother to reset \scriptfont and -% \scriptscriptfont (which would also require loading a lot more fonts). -% -\def\resetmathfonts{% - \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy - \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf - \textfont\ttfam=\tentt \textfont\sffam=\tensf -} +\catcode `\^^[=\active \def^^[{$\diamondsuit$} -% The font-changing commands redefine the meanings of \tenSTYLE, instead -% of just \STYLE. We do this because \STYLE needs to also set the -% current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire -% \tenSTYLE to set the current font. -% -% Each font-changing command also sets the names \lsize (one size lower) -% and \lllsize (three sizes lower). These relative commands are used in -% the LaTeX logo and acronyms. -% -% This all needs generalizing, badly. -% -\def\textfonts{% - \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl - \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc - \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy - \let\tenttsl=\textttsl - \def\curfontsize{text}% - \def\lsize{reduced}\def\lllsize{smaller}% - \resetmathfonts \setleading{\textleading}} -\def\titlefonts{% - \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl - \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc - \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy - \let\tenttsl=\titlettsl - \def\curfontsize{title}% - \def\lsize{chap}\def\lllsize{subsec}% - \resetmathfonts \setleading{25pt}} -\def\titlefont#1{{\titlefonts\rm #1}} -\def\chapfonts{% - \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl - \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc - \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy - \let\tenttsl=\chapttsl - \def\curfontsize{chap}% - \def\lsize{sec}\def\lllsize{text}% - \resetmathfonts \setleading{19pt}} -\def\secfonts{% - \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl - \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc - \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy - \let\tenttsl=\secttsl - \def\curfontsize{sec}% - \def\lsize{subsec}\def\lllsize{reduced}% - \resetmathfonts \setleading{16pt}} -\def\subsecfonts{% - \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl - \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc - \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy - \let\tenttsl=\ssecttsl - \def\curfontsize{ssec}% - \def\lsize{text}\def\lllsize{small}% - \resetmathfonts \setleading{15pt}} -\let\subsubsecfonts = \subsecfonts -\def\reducedfonts{% - \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl - \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc - \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy - \let\tenttsl=\reducedttsl - \def\curfontsize{reduced}% - \def\lsize{small}\def\lllsize{smaller}% - \resetmathfonts \setleading{10.5pt}} -\def\smallfonts{% - \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl - \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc - \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy - \let\tenttsl=\smallttsl - \def\curfontsize{small}% - \def\lsize{smaller}\def\lllsize{smaller}% - \resetmathfonts \setleading{10.5pt}} -\def\smallerfonts{% - \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl - \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc - \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy - \let\tenttsl=\smallerttsl - \def\curfontsize{smaller}% - \def\lsize{smaller}\def\lllsize{smaller}% - \resetmathfonts \setleading{9.5pt}} - -% Set the fonts to use with the @small... environments. -\let\smallexamplefonts = \smallfonts - -% About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample -% can fit this many characters: -% 8.5x11=86 smallbook=72 a4=90 a5=69 -% If we use \scriptfonts (8pt), then we can fit this many characters: -% 8.5x11=90+ smallbook=80 a4=90+ a5=77 -% For me, subjectively, the few extra characters that fit aren't worth -% the additional smallness of 8pt. So I'm making the default 9pt. -% -% By the way, for comparison, here's what fits with @example (10pt): -% 8.5x11=71 smallbook=60 a4=75 a5=58 -% -% I wish the USA used A4 paper. -% --karl, 24jan03. +\message{page headings,} +%%% Set up page headings and footings. -% Set up the default fonts, so we can use them for creating boxes. -% -\textfonts \rm +\let\thispage=\folio -% Define these so they can be easily changed for other fonts. -\def\angleleft{$\langle$} -\def\angleright{$\rangle$} +\newtoks \evenheadline % Token sequence for heading line of even pages +\newtoks \oddheadline % Token sequence for heading line of odd pages +\newtoks \evenfootline % Token sequence for footing line of even pages +\newtoks \oddfootline % Token sequence for footing line of odd pages -% Count depth in font-changes, for error checks -\newcount\fontdepth \fontdepth=0 +% Now make Tex use those variables +\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}} +\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}} -% Fonts for short table of contents. -\setfont\shortcontrm\rmshape{12}{1000} -\setfont\shortcontbf\bfshape{10}{\magstep1} % no cmb12 -\setfont\shortcontsl\slshape{12}{1000} -\setfont\shortconttt\ttshape{12}{1000} +% Commands to set those variables. +% For example, this is what @headings on does +% @evenheading @thistitle|@thispage|@thischapter +% @oddheading @thischapter|@thispage|@thistitle +% @evenfooting @thisfile|| +% @oddfooting ||@thisfile -%% Add scribe-like font environments, plus @l for inline lisp (usually sans -%% serif) and @ii for TeX italic +\def\evenheading{\parsearg\evenheadingxxx} +\def\oddheading{\parsearg\oddheadingxxx} +\def\everyheading{\parsearg\everyheadingxxx} -% \smartitalic{ARG} outputs arg in italics, followed by an italic correction -% unless the following character is such as not to need one. -\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else - \ptexslash\fi\fi\fi} -\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx} -\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx} +\def\evenfooting{\parsearg\evenfootingxxx} +\def\oddfooting{\parsearg\oddfootingxxx} +\def\everyfooting{\parsearg\everyfootingxxx} -% like \smartslanted except unconditionally uses \ttsl. -% @var is set to this for defun arguments. -\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} +{\catcode`\@=0 % -% like \smartslanted except unconditionally use \sl. We never want -% ttsl for book titles, do we? -\def\cite#1{{\sl #1}\futurelet\next\smartitalicx} +\gdef\evenheadingxxx #1{\evenheadingyyy #1@|@|@|@|\finish} +\gdef\evenheadingyyy #1@|#2@|#3@|#4\finish{% +\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} -\let\i=\smartitalic -\let\slanted=\smartslanted -\let\var=\smartslanted -\let\dfn=\smartslanted -\let\emph=\smartitalic +\gdef\oddheadingxxx #1{\oddheadingyyy #1@|@|@|@|\finish} +\gdef\oddheadingyyy #1@|#2@|#3@|#4\finish{% +\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} -% @b, explicit bold. -\def\b#1{{\bf #1}} -\let\strong=\b +\gdef\everyheadingxxx #1{\everyheadingyyy #1@|@|@|@|\finish} +\gdef\everyheadingyyy #1@|#2@|#3@|#4\finish{% +\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}} +\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} -% @sansserif, explicit sans. -\def\sansserif#1{{\sf #1}} +\gdef\evenfootingxxx #1{\evenfootingyyy #1@|@|@|@|\finish} +\gdef\evenfootingyyy #1@|#2@|#3@|#4\finish{% +\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} -% We can't just use \exhyphenpenalty, because that only has effect at -% the end of a paragraph. Restore normal hyphenation at the end of the -% group within which \nohyphenation is presumably called. -% -\def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} -\def\restorehyphenation{\hyphenchar\font = `- } +\gdef\oddfootingxxx #1{\oddfootingyyy #1@|@|@|@|\finish} +\gdef\oddfootingyyy #1@|#2@|#3@|#4\finish{% +\global\oddfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} -% Set sfcode to normal for the chars that usually have another value. -% Can't use plain's \frenchspacing because it uses the `\x notation, and -% sometimes \x has an active definition that messes things up. -% -\chardef\colonChar = `\: -\chardef\commaChar = `\, -\chardef\dotChar = `\. -\chardef\exclamChar= `\! -\chardef\questChar = `\? -\chardef\semiChar = `\; +\gdef\everyfootingxxx #1{\everyfootingyyy #1@|@|@|@|\finish} +\gdef\everyfootingyyy #1@|#2@|#3@|#4\finish{% +\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}} +\global\oddfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} % -\catcode`@=11 - \def\plainfrenchspacing{% - \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m - \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m - \def\endofsentencespacefactor{1000}% for @. and friends - } - \def\plainnonfrenchspacing{% - \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 - \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 - \def\endofsentencespacefactor{3000}% for @. and friends - } -\catcode`@=\other -\def\endofsentencespacefactor{3000}% default - -\def\t#1{% - {\tt \rawbackslash \plainfrenchspacing #1}% - \null -} -\def\samp#1{`\tclose{#1}'\null} -\setfont\keyrm\rmshape{8}{1000} -\font\keysy=cmsy9 -\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% - \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% - \vbox{\hrule\kern-0.4pt - \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% - \kern-0.4pt\hrule}% - \kern-.06em\raise0.4pt\hbox{\angleright}}}} -% The old definition, with no lozenge: -%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} -\def\ctrl #1{{\tt \rawbackslash \hat}#1} - -% @file, @option are the same as @samp. -\let\file=\samp -\let\option=\samp - -% @code is a modification of @t, -% which makes spaces the same size as normal in the surrounding text. -\def\tclose#1{% - {% - % Change normal interword space to be same as for the current font. - \spaceskip = \fontdimen2\font - % - % Switch to typewriter. - \tt - % - % But `\ ' produces the large typewriter interword space. - \def\ {{\spaceskip = 0pt{} }}% - % - % Turn off hyphenation. - \nohyphenation - % - \rawbackslash - \plainfrenchspacing - #1% - }% - \null -} - -% We *must* turn on hyphenation at `-' and `_' in @code. -% Otherwise, it is too hard to avoid overfull hboxes -% in the Emacs manual, the Library manual, etc. +}% unbind the catcode of @. -% Unfortunately, TeX uses one parameter (\hyphenchar) to control -% both hyphenation at - and hyphenation within words. -% We must therefore turn them both off (\tclose does that) -% and arrange explicitly to hyphenate at a dash. -% -- rms. -{ - \catcode`\-=\active - \catcode`\_=\active - % - \global\def\code{\begingroup - \catcode`\-=\active \catcode`\_=\active - \ifallowcodebreaks - \let-\codedash - \let_\codeunder - \else - \let-\realdash - \let_\realunder - \fi - \codex - } -} +% @headings on turns them on. +% @headings off turns them off. +% By default, they are off. -\def\realdash{-} -\def\codedash{-\discretionary{}{}{}} -\def\codeunder{% - % this is all so @math{@code{var_name}+1} can work. In math mode, _ - % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) - % will therefore expand the active definition of _, which is us - % (inside @code that is), therefore an endless loop. - \ifusingtt{\ifmmode - \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. - \else\normalunderscore \fi - \discretionary{}{}{}}% - {\_}% -} -\def\codex #1{\tclose{#1}\endgroup} - -% An additional complication: the above will allow breaks after, e.g., -% each of the four underscores in __typeof__. This is undesirable in -% some manuals, especially if they don't have long identifiers in -% general. @allowcodebreaks provides a way to control this. -% -\newif\ifallowcodebreaks \allowcodebreakstrue - -\def\keywordtrue{true} -\def\keywordfalse{false} - -\parseargdef\allowcodebreaks{% - \def\txiarg{#1}% - \ifx\txiarg\keywordtrue - \allowcodebreakstrue - \else\ifx\txiarg\keywordfalse - \allowcodebreaksfalse - \else - \errhelp = \EMsimple - \errmessage{Unknown @allowcodebreaks option `\txiarg'}% - \fi\fi -} +\def\headings #1 {\csname HEADINGS#1\endcsname} -% @kbd is like @code, except that if the argument is just one @key command, -% then @kbd has no effect. - -% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), -% `example' (@kbd uses ttsl only inside of @example and friends), -% or `code' (@kbd uses normal tty font always). -\parseargdef\kbdinputstyle{% - \def\txiarg{#1}% - \ifx\txiarg\worddistinct - \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% - \else\ifx\txiarg\wordexample - \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% - \else\ifx\txiarg\wordcode - \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% - \else - \errhelp = \EMsimple - \errmessage{Unknown @kbdinputstyle option `\txiarg'}% - \fi\fi\fi +\def\HEADINGSoff{ +\global\evenheadline={\hfil} \global\evenfootline={\hfil} +\global\oddheadline={\hfil} \global\oddfootline={\hfil}} +\HEADINGSoff +% When we turn headings on, set the page number to 1, +% Put current file name in lower left corner, +% Put chapter name on inside top of right hand pages, document +% title on inside top of left hand pages, and page numbers on outside top +% edge of all pages. +\def\HEADINGSon{ +\pagealignmacro +\global\pageno=1 +\global\evenfootline={\hfil} +\global\oddfootline={\hfil} +\global\evenheadline={\line{\folio\hfil\thistitle}} +\global\oddheadline={\line{\thischapter\hfil\folio}} } -\def\worddistinct{distinct} -\def\wordexample{example} -\def\wordcode{code} - -% Default is `distinct.' -\kbdinputstyle distinct - -\def\xkey{\key} -\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% -\ifx\one\xkey\ifx\threex\three \key{#2}% -\else{\tclose{\kbdfont\look}}\fi -\else{\tclose{\kbdfont\look}}\fi} - -% For @indicateurl, @env, @command quotes seem unnecessary, so use \code. -\let\indicateurl=\code -\let\env=\code -\let\command=\code - -% @uref (abbreviation for `urlref') takes an optional (comma-separated) -% second argument specifying the text to display and an optional third -% arg as text to display instead of (rather than in addition to) the url -% itself. First (mandatory) arg is the url. Perhaps eventually put in -% a hypertex \special here. -% -\def\uref#1{\douref #1,,,\finish} -\def\douref#1,#2,#3,#4\finish{\begingroup - \unsepspaces - \pdfurl{#1}% - \setbox0 = \hbox{\ignorespaces #3}% - \ifdim\wd0 > 0pt - \unhbox0 % third arg given, show only that - \else - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0 > 0pt - \ifpdf - \unhbox0 % PDF: 2nd arg given, show only it - \else - \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url - \fi - \else - \code{#1}% only url given, so show it - \fi - \fi - \endlink -\endgroup} - -% @url synonym for @uref, since that's how everyone uses it. -% -\let\url=\uref -% rms does not like angle brackets --karl, 17may97. -% So now @email is just like @uref, unless we are pdf. -% -%\def\email#1{\angleleft{\tt #1}\angleright} -\ifpdf - \def\email#1{\doemail#1,,\finish} - \def\doemail#1,#2,#3\finish{\begingroup - \unsepspaces - \pdfurl{mailto:#1}% - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi - \endlink - \endgroup} -\else - \let\email=\uref -\fi +% Subroutines used in generating headings +% Produces Day Month Year style of output. +\def\today{\number\day\space +\ifcase\month\or +January\or February\or March\or April\or May\or June\or +July\or August\or September\or October\or November\or December\fi +\space\number\year} + +% Use this if you want the Month Day, Year style of output. +%\def\today{\ifcase\month\or +%January\or February\or March\or April\or May\or June\or +%July\or August\or September\or October\or November\or December\fi +%\space\number\day, \number\year} + +% @settitle line... specifies the title of the document, for headings +% It generates no output of its own + +\def\thistitle{No Title} +\def\settitle{\parsearg\settitlezzz} +\def\settitlezzz #1{\gdef\thistitle{#1}} -% Check if we are currently using a typewriter font. Since all the -% Computer Modern typewriter fonts have zero interword stretch (and -% shrink), and it is reasonable to expect all typewriter fonts to have -% this property, we can check that font parameter. -% -\def\ifmonospace{\ifdim\fontdimen3\font=0pt } +\message{tables,} -% Typeset a dimension, e.g., `in' or `pt'. The only reason for the -% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. -% -\def\dmn#1{\thinspace #1} - -\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par} - -% @l was never documented to mean ``switch to the Lisp font'', -% and it is not used as such in any manual I can find. We need it for -% Polish suppressed-l. --karl, 22sep96. -%\def\l#1{{\li #1}\null} - -% Explicit font changes: @r, @sc, undocumented @ii. -\def\r#1{{\rm #1}} % roman font -\def\sc#1{{\smallcaps#1}} % smallcaps font -\def\ii#1{{\it #1}} % italic font - -% @acronym for "FBI", "NATO", and the like. -% We print this one point size smaller, since it's intended for -% all-uppercase. -% -\def\acronym#1{\doacronym #1,,\finish} -\def\doacronym#1,#2,#3\finish{% - {\selectfonts\lsize #1}% - \def\temp{#2}% - \ifx\temp\empty \else - \space ({\unsepspaces \ignorespaces \temp \unskip})% - \fi -} - -% @abbr for "Comput. J." and the like. -% No font change, but don't do end-of-sentence spacing. -% -\def\abbr#1{\doabbr #1,,\finish} -\def\doabbr#1,#2,#3\finish{% - {\plainfrenchspacing #1}% - \def\temp{#2}% - \ifx\temp\empty \else - \space ({\unsepspaces \ignorespaces \temp \unskip})% - \fi -} - -% @pounds{} is a sterling sign, which Knuth put in the CM italic font. -% -\def\pounds{{\it\$}} - -% @euro{} comes from a separate font, depending on the current style. -% We use the free feym* fonts from the eurosym package by Henrik -% Theiling, which support regular, slanted, bold and bold slanted (and -% "outlined" (blackboard board, sort of) versions, which we don't need). -% It is available from http://www.ctan.org/tex-archive/fonts/eurosym. -% -% Although only regular is the truly official Euro symbol, we ignore -% that. The Euro is designed to be slightly taller than the regular -% font height. -% -% feymr - regular -% feymo - slanted -% feybr - bold -% feybo - bold slanted -% -% There is no good (free) typewriter version, to my knowledge. -% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. -% Hmm. -% -% Also doesn't work in math. Do we need to do math with euro symbols? -% Hope not. -% -% -\def\euro{{\eurofont e}} -\def\eurofont{% - % We set the font at each command, rather than predefining it in - % \textfonts and the other font-switching commands, so that - % installations which never need the symbol don't have to have the - % font installed. - % - % There is only one designed size (nominal 10pt), so we always scale - % that to the current nominal size. - % - % By the way, simply using "at 1em" works for cmr10 and the like, but - % does not work for cmbx10 and other extended/shrunken fonts. - % - \def\eurosize{\csname\curfontsize nominalsize\endcsname}% - % - \ifx\curfontstyle\bfstylename - % bold: - \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize - \else - % regular: - \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize - \fi - \thiseurofont -} - -% @registeredsymbol - R in a circle. The font for the R should really -% be smaller yet, but lllsize is the best we can do for now. -% Adapted from the plain.tex definition of \copyright. -% -\def\registeredsymbol{% - $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}% - \hfil\crcr\Orb}}% - }$% -} - -% Laurent Siebenmann reports \Orb undefined with: -% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 -% so we'll define it if necessary. -% -\ifx\Orb\undefined -\def\Orb{\mathhexbox20D} -\fi - - -\message{page headings,} - -\newskip\titlepagetopglue \titlepagetopglue = 1.5in -\newskip\titlepagebottomglue \titlepagebottomglue = 2pc - -% First the title page. Must do @settitle before @titlepage. -\newif\ifseenauthor -\newif\iffinishedtitlepage - -% Do an implicit @contents or @shortcontents after @end titlepage if the -% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage. -% -\newif\ifsetcontentsaftertitlepage - \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue -\newif\ifsetshortcontentsaftertitlepage - \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue - -\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% - \endgroup\page\hbox{}\page} - -\envdef\titlepage{% - % Open one extra group, as we want to close it in the middle of \Etitlepage. - \begingroup - \parindent=0pt \textfonts - % Leave some space at the very top of the page. - \vglue\titlepagetopglue - % No rule at page bottom unless we print one at the top with @title. - \finishedtitlepagetrue - % - % Most title ``pages'' are actually two pages long, with space - % at the top of the second. We don't want the ragged left on the second. - \let\oldpage = \page - \def\page{% - \iffinishedtitlepage\else - \finishtitlepage - \fi - \let\page = \oldpage - \page - \null - }% -} - -\def\Etitlepage{% - \iffinishedtitlepage\else - \finishtitlepage - \fi - % It is important to do the page break before ending the group, - % because the headline and footline are only empty inside the group. - % If we use the new definition of \page, we always get a blank page - % after the title page, which we certainly don't want. - \oldpage - \endgroup - % - % Need this before the \...aftertitlepage checks so that if they are - % in effect the toc pages will come out with page numbers. - \HEADINGSon - % - % If they want short, they certainly want long too. - \ifsetshortcontentsaftertitlepage - \shortcontents - \contents - \global\let\shortcontents = \relax - \global\let\contents = \relax - \fi - % - \ifsetcontentsaftertitlepage - \contents - \global\let\contents = \relax - \global\let\shortcontents = \relax - \fi -} - -\def\finishtitlepage{% - \vskip4pt \hrule height 2pt width \hsize - \vskip\titlepagebottomglue - \finishedtitlepagetrue -} - -%%% Macros to be used within @titlepage: - -\let\subtitlerm=\tenrm -\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} - -\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines - \let\tt=\authortt} - -\parseargdef\title{% - \checkenv\titlepage - \leftline{\titlefonts\rm #1} - % print a rule at the page bottom also. - \finishedtitlepagefalse - \vskip4pt \hrule height 4pt width \hsize \vskip4pt -} - -\parseargdef\subtitle{% - \checkenv\titlepage - {\subtitlefont \rightline{#1}}% -} - -% @author should come last, but may come many times. -% It can also be used inside @quotation. -% -\parseargdef\author{% - \def\temp{\quotation}% - \ifx\thisenv\temp - \def\quotationauthor{#1}% printed in \Equotation. - \else - \checkenv\titlepage - \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi - {\authorfont \leftline{#1}}% - \fi -} - - -%%% Set up page headings and footings. - -\let\thispage=\folio - -\newtoks\evenheadline % headline on even pages -\newtoks\oddheadline % headline on odd pages -\newtoks\evenfootline % footline on even pages -\newtoks\oddfootline % footline on odd pages - -% Now make TeX use those variables -\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline - \else \the\evenheadline \fi}} -\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline - \else \the\evenfootline \fi}\HEADINGShook} -\let\HEADINGShook=\relax - -% Commands to set those variables. -% For example, this is what @headings on does -% @evenheading @thistitle|@thispage|@thischapter -% @oddheading @thischapter|@thispage|@thistitle -% @evenfooting @thisfile|| -% @oddfooting ||@thisfile - - -\def\evenheading{\parsearg\evenheadingxxx} -\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} -\def\evenheadingyyy #1\|#2\|#3\|#4\finish{% -\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} - -\def\oddheading{\parsearg\oddheadingxxx} -\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} -\def\oddheadingyyy #1\|#2\|#3\|#4\finish{% -\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} - -\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% - -\def\evenfooting{\parsearg\evenfootingxxx} -\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} -\def\evenfootingyyy #1\|#2\|#3\|#4\finish{% -\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} - -\def\oddfooting{\parsearg\oddfootingxxx} -\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} -\def\oddfootingyyy #1\|#2\|#3\|#4\finish{% - \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% - % - % Leave some space for the footline. Hopefully ok to assume - % @evenfooting will not be used by itself. - \global\advance\pageheight by -\baselineskip - \global\advance\vsize by -\baselineskip -} - -\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} - - -% @headings double turns headings on for double-sided printing. -% @headings single turns headings on for single-sided printing. -% @headings off turns them off. -% @headings on same as @headings double, retained for compatibility. -% @headings after turns on double-sided headings after this page. -% @headings doubleafter turns on double-sided headings after this page. -% @headings singleafter turns on single-sided headings after this page. -% By default, they are off at the start of a document, -% and turned `on' after @end titlepage. - -\def\headings #1 {\csname HEADINGS#1\endcsname} - -\def\HEADINGSoff{% -\global\evenheadline={\hfil} \global\evenfootline={\hfil} -\global\oddheadline={\hfil} \global\oddfootline={\hfil}} -\HEADINGSoff -% When we turn headings on, set the page number to 1. -% For double-sided printing, put current file name in lower left corner, -% chapter name on inside top of right hand pages, document -% title on inside top of left hand pages, and page numbers on outside top -% edge of all pages. -\def\HEADINGSdouble{% -\global\pageno=1 -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\folio\hfil\thistitle}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\let\contentsalignmacro = \chapoddpage -} -\let\contentsalignmacro = \chappager - -% For single-sided printing, chapter title goes across top left of page, -% page number on top right. -\def\HEADINGSsingle{% -\global\pageno=1 -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\thischapter\hfil\folio}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\let\contentsalignmacro = \chappager -} -\def\HEADINGSon{\HEADINGSdouble} - -\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} -\let\HEADINGSdoubleafter=\HEADINGSafter -\def\HEADINGSdoublex{% -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\folio\hfil\thistitle}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\let\contentsalignmacro = \chapoddpage -} - -\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} -\def\HEADINGSsinglex{% -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\thischapter\hfil\folio}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\let\contentsalignmacro = \chappager -} - -% Subroutines used in generating headings -% This produces Day Month Year style of output. -% Only define if not already defined, in case a txi-??.tex file has set -% up a different format (e.g., txi-cs.tex does this). -\ifx\today\undefined -\def\today{% - \number\day\space - \ifcase\month - \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr - \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug - \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec - \fi - \space\number\year} -\fi - -% @settitle line... specifies the title of the document, for headings. -% It generates no output of its own. -\def\thistitle{\putwordNoTitle} -\def\settitle{\parsearg{\gdef\thistitle}} - - -\message{tables,} -% Tables -- @table, @ftable, @vtable, @item(x). +% Tables -- @table, @ftable, @item(x), @kitem(x), @xitem(x). % default indentation of table text \newdimen\tableindent \tableindent=.8in @@ -2400,804 +631,178 @@ where each line of input produces a line of output.} % used internally for \itemindent minus \itemmargin \newdimen\itemmax -% Note @table, @ftable, and @vtable define @item, @itemx, etc., with -% these defs. +% Note @table and @ftable define @item, @itemx, etc., with these defs. % They also define \itemindex % to index the item name in whatever manner is desired (perhaps none). -\newif\ifitemxneedsnegativevskip +\def\internalBitem{\smallbreak \parsearg\itemzzz} +\def\internalBitemx{\par \parsearg\itemzzz} -\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi} +\def\internalBxitem "#1"{\def\xitemsubtopix{#1} \smallbreak \parsearg\xitemzzz} +\def\internalBxitemx "#1"{\def\xitemsubtopix{#1} \par \parsearg\xitemzzz} -\def\internalBitem{\smallbreak \parsearg\itemzzz} -\def\internalBitemx{\itemxpar \parsearg\itemzzz} +\def\internalBkitem{\smallbreak \parsearg\kitemzzz} +\def\internalBkitemx{\par \parsearg\kitemzzz} -\def\itemzzz #1{\begingroup % - \advance\hsize by -\rightskip - \advance\hsize by -\tableindent - \setbox0=\hbox{\itemindicate{#1}}% - \itemindex{#1}% - \nobreak % This prevents a break before @itemx. - % - % If the item text does not fit in the space we have, put it on a line - % by itself, and do not allow a page break either before or after that - % line. We do not start a paragraph here because then if the next - % command is, e.g., @kindex, the whatsit would get put into the - % horizontal list on a line by itself, resulting in extra blank space. - \ifdim \wd0>\itemmax - % - % Make this a paragraph so we get the \parskip glue and wrapping, - % but leave it ragged-right. - \begingroup - \advance\leftskip by-\tableindent - \advance\hsize by\tableindent - \advance\rightskip by0pt plus1fil - \leavevmode\unhbox0\par - \endgroup - % - % We're going to be starting a paragraph, but we don't want the - % \parskip glue -- logically it's part of the @item we just started. - \nobreak \vskip-\parskip - % - % Stop a page break at the \parskip glue coming up. However, if - % what follows is an environment such as @example, there will be no - % \parskip glue; then the negative vskip we just inserted would - % cause the example and the item to crash together. So we use this - % bizarre value of 10001 as a signal to \aboveenvbreak to insert - % \parskip glue after all. Section titles are handled this way also. - % - \penalty 10001 - \endgroup - \itemxneedsnegativevskipfalse - \else - % The item text fits into the space. Start a paragraph, so that the - % following text (if any) will end up on the same line. - \noindent - % Do this with kerns and \unhbox so that if there is a footnote in - % the item text, it can migrate to the main vertical list and - % eventually be printed. - \nobreak\kern-\tableindent - \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0 - \unhbox0 - \nobreak\kern\dimen0 - \endgroup - \itemxneedsnegativevskiptrue - \fi -} +\def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}\itemzzz {#1}} -\def\item{\errmessage{@item while not in a list environment}} -\def\itemx{\errmessage{@itemx while not in a list environment}} +\def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}\itemzzz {#1}} -% @table, @ftable, @vtable. -\envdef\table{% - \let\itemindex\gobble - \tablecheck{table}% -} -\envdef\ftable{% - \def\itemindex ##1{\doind {fn}{\code{##1}}}% - \tablecheck{ftable}% -} -\envdef\vtable{% - \def\itemindex ##1{\doind {vr}{\code{##1}}}% - \tablecheck{vtable}% -} -\def\tablecheck#1{% - \ifnum \the\catcode`\^^M=\active - \endgroup - \errmessage{This command won't work in this context; perhaps the problem is - that we are \inenvironment\thisenv}% - \def\next{\doignore{#1}}% - \else - \let\next\tablex - \fi - \next -} -\def\tablex#1{% - \def\itemindicate{#1}% - \parsearg\tabley -} -\def\tabley#1{% - {% - \makevalueexpandable - \edef\temp{\noexpand\tablez #1\space\space\space}% - \expandafter - }\temp \endtablez -} -\def\tablez #1 #2 #3 #4\endtablez{% - \aboveenvbreak - \ifnum 0#1>0 \advance \leftskip by #1\mil \fi - \ifnum 0#2>0 \tableindent=#2\mil \fi - \ifnum 0#3>0 \advance \rightskip by #3\mil \fi - \itemmax=\tableindent - \advance \itemmax by -\itemmargin - \advance \leftskip by \tableindent - \exdentamount=\tableindent - \parindent = 0pt - \parskip = \smallskipamount - \ifdim \parskip=0pt \parskip=2pt \fi - \let\item = \internalBitem - \let\itemx = \internalBitemx +\def\itemzzz #1{\begingroup % +\advance \hsize by -\rightskip % +\advance \hsize by -\leftskip % +\setbox0=\hbox{\itemfont{#1}}% +\itemindex{#1}% +\parskip=0in % +\noindent % +\ifdim \wd0>\itemmax % +\vadjust{\penalty 10000}% +\hbox to \hsize{\hskip -\tableindent\box0\hss}\ % +\else % +\hbox to 0pt{\hskip -\tableindent\box0\hss}% +\fi % +\endgroup % +} + +\def\item{\errmessage{@item while not in a table}} +\def\itemx{\errmessage{@itemx while not in a table}} +\def\kitem{\errmessage{@kitem while not in a table}} +\def\kitemx{\errmessage{@kitemx while not in a table}} +\def\xitem{\errmessage{@xitem while not in a table}} +\def\xitemx{\errmessage{@xitemx while not in a table}} + +%% Contains a kludge to get @end[description] to work +\def\description{\tablez{\dontindex}{1}{}{}{}{}} + +\def\table{\begingroup\inENV\obeylines\obeyspaces\tablex} +{\obeylines\obeyspaces% +\gdef\tablex #1^^M{% +\tabley\dontindex#1 \endtabley}} + +\def\ftable{\begingroup\inENV\obeylines\obeyspaces\ftablex} +{\obeylines\obeyspaces% +\gdef\ftablex #1^^M{% +\tabley\fnitemindex#1 \endtabley}} + +\def\dontindex #1{} +\def\fnitemindex #1{\doind {fn}{\code{#1}}}% + +{\obeyspaces % +\gdef\tabley#1#2 #3 #4 #5 #6 #7\endtabley{\endgroup% +\tablez{#1}{#2}{#3}{#4}{#5}{#6}}} + +\def\tablez #1#2#3#4#5#6{% +\aboveenvbreak % +\begingroup % +\def\Edescription{\Etable}% Neccessary kludge. +\let\itemindex=#1% +\ifnum 0#3>0 \advance \leftskip by #3\mil \fi % +\ifnum 0#4>0 \tableindent=#4\mil \fi % +\ifnum 0#5>0 \advance \rightskip by #5\mil \fi % +\def\itemfont{#2}% +\itemmax=\tableindent % +\advance \itemmax by -\itemmargin % +\advance \leftskip by \tableindent % +\parindent = 0pt +\parskip = \smallskipamount +\ifdim \parskip=0pt \parskip=2pt \fi% +\def\Etable{\endgraf\endgroup\afterenvbreak}% +\let\item = \internalBitem % +\let\itemx = \internalBitemx % +\let\kitem = \internalBkitem % +\let\kitemx = \internalBkitemx % +\let\xitem = \internalBxitem % +\let\xitemx = \internalBxitemx % } -\def\Etable{\endgraf\afterenvbreak} -\let\Eftable\Etable -\let\Evtable\Etable -\let\Eitemize\Etable -\let\Eenumerate\Etable % This is the counter used by @enumerate, which is really @itemize \newcount \itemno -\envdef\itemize{\parsearg\doitemize} - -\def\doitemize#1{% - \aboveenvbreak - \itemmax=\itemindent - \advance\itemmax by -\itemmargin - \advance\leftskip by \itemindent - \exdentamount=\itemindent - \parindent=0pt - \parskip=\smallskipamount - \ifdim\parskip=0pt \parskip=2pt \fi - \def\itemcontents{#1}% - % @itemize with no arg is equivalent to @itemize @bullet. - \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi - \let\item=\itemizeitem -} - -% Definition of @item while inside @itemize and @enumerate. -% -\def\itemizeitem{% - \advance\itemno by 1 % for enumerations - {\let\par=\endgraf \smallbreak}% reasonable place to break - {% - % If the document has an @itemize directly after a section title, a - % \nobreak will be last on the list, and \sectionheading will have - % done a \vskip-\parskip. In that case, we don't want to zero - % parskip, or the item text will crash with the heading. On the - % other hand, when there is normal text preceding the item (as there - % usually is), we do want to zero parskip, or there would be too much - % space. In that case, we won't have a \nobreak before. At least - % that's the theory. - \ifnum\lastpenalty<10000 \parskip=0in \fi - \noindent - \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% - \vadjust{\penalty 1200}}% not good to break after first line of item. - \flushcr -} - -% \splitoff TOKENS\endmark defines \first to be the first token in -% TOKENS, and \rest to be the remainder. -% -\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}% - -% Allow an optional argument of an uppercase letter, lowercase letter, -% or number, to specify the first label in the enumerated list. No -% argument is the same as `1'. -% -\envparseargdef\enumerate{\enumeratey #1 \endenumeratey} -\def\enumeratey #1 #2\endenumeratey{% - % If we were given no argument, pretend we were given `1'. - \def\thearg{#1}% - \ifx\thearg\empty \def\thearg{1}\fi - % - % Detect if the argument is a single token. If so, it might be a - % letter. Otherwise, the only valid thing it can be is a number. - % (We will always have one token, because of the test we just made. - % This is a good thing, since \splitoff doesn't work given nothing at - % all -- the first parameter is undelimited.) - \expandafter\splitoff\thearg\endmark - \ifx\rest\empty - % Only one token in the argument. It could still be anything. - % A ``lowercase letter'' is one whose \lccode is nonzero. - % An ``uppercase letter'' is one whose \lccode is both nonzero, and - % not equal to itself. - % Otherwise, we assume it's a number. - % - % We need the \relax at the end of the \ifnum lines to stop TeX from - % continuing to look for a . - % - \ifnum\lccode\expandafter`\thearg=0\relax - \numericenumerate % a number (we hope) - \else - % It's a letter. - \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax - \lowercaseenumerate % lowercase letter - \else - \uppercaseenumerate % uppercase letter - \fi - \fi - \else - % Multiple tokens in the argument. We hope it's a number. - \numericenumerate - \fi -} - -% An @enumerate whose labels are integers. The starting integer is -% given in \thearg. -% -\def\numericenumerate{% - \itemno = \thearg - \startenumeration{\the\itemno}% -} - -% The starting (lowercase) letter is in \thearg. -\def\lowercaseenumerate{% - \itemno = \expandafter`\thearg - \startenumeration{% - % Be sure we're not beyond the end of the alphabet. - \ifnum\itemno=0 - \errmessage{No more lowercase letters in @enumerate; get a bigger - alphabet}% - \fi - \char\lccode\itemno - }% -} - -% The starting (uppercase) letter is in \thearg. -\def\uppercaseenumerate{% - \itemno = \expandafter`\thearg - \startenumeration{% - % Be sure we're not beyond the end of the alphabet. - \ifnum\itemno=0 - \errmessage{No more uppercase letters in @enumerate; get a bigger - alphabet} - \fi - \char\uccode\itemno - }% -} - -% Call \doitemize, adding a period to the first argument and supplying the -% common last two arguments. Also subtract one from the initial value in -% \itemno, since @item increments \itemno. -% -\def\startenumeration#1{% - \advance\itemno by -1 - \doitemize{#1.}\flushcr -} - -% @alphaenumerate and @capsenumerate are abbreviations for giving an arg -% to @enumerate. -% -\def\alphaenumerate{\enumerate{a}} -\def\capsenumerate{\enumerate{A}} -\def\Ealphaenumerate{\Eenumerate} -\def\Ecapsenumerate{\Eenumerate} - - -% @multitable macros -% Amy Hendrickson, 8/18/94, 3/6/96 -% -% @multitable ... @end multitable will make as many columns as desired. -% Contents of each column will wrap at width given in preamble. Width -% can be specified either with sample text given in a template line, -% or in percent of \hsize, the current width of text on page. - -% Table can continue over pages but will only break between lines. - -% To make preamble: -% -% Either define widths of columns in terms of percent of \hsize: -% @multitable @columnfractions .25 .3 .45 -% @item ... -% -% Numbers following @columnfractions are the percent of the total -% current hsize to be used for each column. You may use as many -% columns as desired. - - -% Or use a template: -% @multitable {Column 1 template} {Column 2 template} {Column 3 template} -% @item ... -% using the widest term desired in each column. - -% Each new table line starts with @item, each subsequent new column -% starts with @tab. Empty columns may be produced by supplying @tab's -% with nothing between them for as many times as empty columns are needed, -% ie, @tab@tab@tab will produce two empty columns. - -% @item, @tab do not need to be on their own lines, but it will not hurt -% if they are. - -% Sample multitable: - -% @multitable {Column 1 template} {Column 2 template} {Column 3 template} -% @item first col stuff @tab second col stuff @tab third col -% @item -% first col stuff -% @tab -% second col stuff -% @tab -% third col -% @item first col stuff @tab second col stuff -% @tab Many paragraphs of text may be used in any column. -% -% They will wrap at the width determined by the template. -% @item@tab@tab This will be in third column. -% @end multitable - -% Default dimensions may be reset by user. -% @multitableparskip is vertical space between paragraphs in table. -% @multitableparindent is paragraph indent in table. -% @multitablecolmargin is horizontal space to be left between columns. -% @multitablelinespace is space to leave between table items, baseline -% to baseline. -% 0pt means it depends on current normal line spacing. -% -\newskip\multitableparskip -\newskip\multitableparindent -\newdimen\multitablecolspace -\newskip\multitablelinespace -\multitableparskip=0pt -\multitableparindent=6pt -\multitablecolspace=12pt -\multitablelinespace=0pt - -% Macros used to set up halign preamble: -% -\let\endsetuptable\relax -\def\xendsetuptable{\endsetuptable} -\let\columnfractions\relax -\def\xcolumnfractions{\columnfractions} -\newif\ifsetpercent - -% #1 is the @columnfraction, usually a decimal number like .5, but might -% be just 1. We just use it, whatever it is. -% -\def\pickupwholefraction#1 {% - \global\advance\colcount by 1 - \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% - \setuptable -} - -\newcount\colcount -\def\setuptable#1{% - \def\firstarg{#1}% - \ifx\firstarg\xendsetuptable - \let\go = \relax - \else - \ifx\firstarg\xcolumnfractions - \global\setpercenttrue - \else - \ifsetpercent - \let\go\pickupwholefraction - \else - \global\advance\colcount by 1 - \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a - % separator; typically that is always in the input, anyway. - \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% - \fi - \fi - \ifx\go\pickupwholefraction - % Put the argument back for the \pickupwholefraction call, so - % we'll always have a period there to be parsed. - \def\go{\pickupwholefraction#1}% - \else - \let\go = \setuptable - \fi% - \fi - \go -} - -% multitable-only commands. -% -% @headitem starts a heading row, which we typeset in bold. -% Assignments have to be global since we are inside the implicit group -% of an alignment entry. Note that \everycr resets \everytab. -\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}% -% -% A \tab used to include \hskip1sp. But then the space in a template -% line is not enough. That is bad. So let's go back to just `&' until -% we encounter the problem it was intended to solve again. -% --karl, nathan@acm.org, 20apr99. -\def\tab{\checkenv\multitable &\the\everytab}% - -% @multitable ... @end multitable definitions: -% -\newtoks\everytab % insert after every tab. -% -\envdef\multitable{% - \vskip\parskip - \startsavinginserts - % - % @item within a multitable starts a normal row. - % We use \def instead of \let so that if one of the multitable entries - % contains an @itemize, we don't choke on the \item (seen as \crcr aka - % \endtemplate) expanding \doitemize. - \def\item{\crcr}% - % - \tolerance=9500 - \hbadness=9500 - \setmultitablespacing - \parskip=\multitableparskip - \parindent=\multitableparindent - \overfullrule=0pt - \global\colcount=0 - % - \everycr = {% - \noalign{% - \global\everytab={}% - \global\colcount=0 % Reset the column counter. - % Check for saved footnotes, etc. - \checkinserts - % Keeps underfull box messages off when table breaks over pages. - %\filbreak - % Maybe so, but it also creates really weird page breaks when the - % table breaks over pages. Wouldn't \vfil be better? Wait until the - % problem manifests itself, so it can be fixed for real --karl. - }% - }% - % - \parsearg\domultitable -} -\def\domultitable#1{% - % To parse everything between @multitable and @item: - \setuptable#1 \endsetuptable - % - % This preamble sets up a generic column definition, which will - % be used as many times as user calls for columns. - % \vtop will set a single line and will also let text wrap and - % continue for many paragraphs if desired. - \halign\bgroup &% - \global\advance\colcount by 1 - \multistrut - \vtop{% - % Use the current \colcount to find the correct column width: - \hsize=\expandafter\csname col\the\colcount\endcsname - % - % In order to keep entries from bumping into each other - % we will add a \leftskip of \multitablecolspace to all columns after - % the first one. - % - % If a template has been used, we will add \multitablecolspace - % to the width of each template entry. - % - % If the user has set preamble in terms of percent of \hsize we will - % use that dimension as the width of the column, and the \leftskip - % will keep entries from bumping into each other. Table will start at - % left margin and final column will justify at right margin. - % - % Make sure we don't inherit \rightskip from the outer environment. - \rightskip=0pt - \ifnum\colcount=1 - % The first column will be indented with the surrounding text. - \advance\hsize by\leftskip - \else - \ifsetpercent \else - % If user has not set preamble in terms of percent of \hsize - % we will advance \hsize by \multitablecolspace. - \advance\hsize by \multitablecolspace - \fi - % In either case we will make \leftskip=\multitablecolspace: - \leftskip=\multitablecolspace - \fi - % Ignoring space at the beginning and end avoids an occasional spurious - % blank line, when TeX decides to break the line at the space before the - % box from the multistrut, so the strut ends up on a line by itself. - % For example: - % @multitable @columnfractions .11 .89 - % @item @code{#} - % @tab Legal holiday which is valid in major parts of the whole country. - % Is automatically provided with highlighting sequences respectively - % marking characters. - \noindent\ignorespaces##\unskip\multistrut - }\cr -} -\def\Emultitable{% - \crcr - \egroup % end the \halign - \global\setpercentfalse -} - -\def\setmultitablespacing{% - \def\multistrut{\strut}% just use the standard line spacing - % - % Compute \multitablelinespace (if not defined by user) for use in - % \multitableparskip calculation. We used define \multistrut based on - % this, but (ironically) that caused the spacing to be off. - % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. -\ifdim\multitablelinespace=0pt -\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip -\global\advance\multitablelinespace by-\ht0 -\fi -%% Test to see if parskip is larger than space between lines of -%% table. If not, do nothing. -%% If so, set to same dimension as multitablelinespace. -\ifdim\multitableparskip>\multitablelinespace -\global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller - %% than skip between lines in the table. -\fi% -\ifdim\multitableparskip=0pt -\global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller - %% than skip between lines in the table. -\fi} - - -\message{conditionals,} - -% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, -% @ifnotxml always succeed. They currently do nothing; we don't -% attempt to check whether the conditionals are properly nested. But we -% have to remember that they are conditionals, so that @end doesn't -% attempt to close an environment group. -% -\def\makecond#1{% - \expandafter\let\csname #1\endcsname = \relax - \expandafter\let\csname iscond.#1\endcsname = 1 -} -\makecond{iftex} -\makecond{ifnotdocbook} -\makecond{ifnothtml} -\makecond{ifnotinfo} -\makecond{ifnotplaintext} -\makecond{ifnotxml} - -% Ignore @ignore, @ifhtml, @ifinfo, and the like. -% -\def\direntry{\doignore{direntry}} -\def\documentdescription{\doignore{documentdescription}} -\def\docbook{\doignore{docbook}} -\def\html{\doignore{html}} -\def\ifdocbook{\doignore{ifdocbook}} -\def\ifhtml{\doignore{ifhtml}} -\def\ifinfo{\doignore{ifinfo}} -\def\ifnottex{\doignore{ifnottex}} -\def\ifplaintext{\doignore{ifplaintext}} -\def\ifxml{\doignore{ifxml}} -\def\ignore{\doignore{ignore}} -\def\menu{\doignore{menu}} -\def\xml{\doignore{xml}} - -% Ignore text until a line `@end #1', keeping track of nested conditionals. -% -% A count to remember the depth of nesting. -\newcount\doignorecount - -\def\doignore#1{\begingroup - % Scan in ``verbatim'' mode: - \obeylines - \catcode`\@ = \other - \catcode`\{ = \other - \catcode`\} = \other - % - % Make sure that spaces turn into tokens that match what \doignoretext wants. - \spaceisspace - % - % Count number of #1's that we've seen. - \doignorecount = 0 - % - % Swallow text until we reach the matching `@end #1'. - \dodoignore{#1}% -} - -{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. - \obeylines % - % - \gdef\dodoignore#1{% - % #1 contains the command name as a string, e.g., `ifinfo'. - % - % Define a command to find the next `@end #1'. - \long\def\doignoretext##1^^M@end #1{% - \doignoretextyyy##1^^M@#1\_STOP_}% - % - % And this command to find another #1 command, at the beginning of a - % line. (Otherwise, we would consider a line `@c @ifset', for - % example, to count as an @ifset for nesting.) - \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% - % - % And now expand that command. - \doignoretext ^^M% - }% -} - -\def\doignoreyyy#1{% - \def\temp{#1}% - \ifx\temp\empty % Nothing found. - \let\next\doignoretextzzz - \else % Found a nested condition, ... - \advance\doignorecount by 1 - \let\next\doignoretextyyy % ..., look for another. - % If we're here, #1 ends with ^^M\ifinfo (for example). - \fi - \next #1% the token \_STOP_ is present just after this macro. -} - -% We have to swallow the remaining "\_STOP_". -% -\def\doignoretextzzz#1{% - \ifnum\doignorecount = 0 % We have just found the outermost @end. - \let\next\enddoignore - \else % Still inside a nested condition. - \advance\doignorecount by -1 - \let\next\doignoretext % Look for the next @end. - \fi - \next -} - -% Finish off ignored text. -{ \obeylines% - % Ignore anything after the last `@end #1'; this matters in verbatim - % environments, where otherwise the newline after an ignored conditional - % would result in a blank line in the output. - \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% -} +\def\itemize{\parsearg\itemizezzz} +\def\itemizezzz #1{\itemizey {#1}{\Eitemize}} -% @set VAR sets the variable VAR to an empty value. -% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. -% -% Since we want to separate VAR from REST-OF-LINE (which might be -% empty), we can't just use \parsearg; we have to insert a space of our -% own to delimit the rest of the line, and then take it out again if we -% didn't need it. -% We rely on the fact that \parsearg sets \catcode`\ =10. -% -\parseargdef\set{\setyyy#1 \endsetyyy} -\def\setyyy#1 #2\endsetyyy{% - {% - \makevalueexpandable - \def\temp{#2}% - \edef\next{\gdef\makecsname{SET#1}}% - \ifx\temp\empty - \next{}% - \else - \setzzz#2\endsetzzz - \fi - }% -} -% Remove the trailing space \setxxx inserted. -\def\setzzz#1 \endsetzzz{\next{#1}} - -% @clear VAR clears (i.e., unsets) the variable VAR. -% -\parseargdef\clear{% - {% - \makevalueexpandable - \global\expandafter\let\csname SET#1\endcsname=\relax - }% -} - -% @value{foo} gets the text saved in variable foo. -\def\value{\begingroup\makevalueexpandable\valuexxx} -\def\valuexxx#1{\expandablevalue{#1}\endgroup} -{ - \catcode`\- = \active \catcode`\_ = \active - % - \gdef\makevalueexpandable{% - \let\value = \expandablevalue - % We don't want these characters active, ... - \catcode`\-=\other \catcode`\_=\other - % ..., but we might end up with active ones in the argument if - % we're called from @code, as @code{@value{foo-bar_}}, though. - % So \let them to their normal equivalents. - \let-\realdash \let_\normalunderscore - } -} - -% We have this subroutine so that we can handle at least some @value's -% properly in indexes (we call \makevalueexpandable in \indexdummies). -% The command has to be fully expandable (if the variable is set), since -% the result winds up in the index file. This means that if the -% variable's value contains other Texinfo commands, it's almost certain -% it will fail (although perhaps we could fix that with sufficient work -% to do a one-level expansion on the result, instead of complete). -% -\def\expandablevalue#1{% - \expandafter\ifx\csname SET#1\endcsname\relax - {[No value for ``#1'']}% - \message{Variable `#1', used in @value, is not set.}% - \else - \csname SET#1\endcsname - \fi -} - -% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined -% with @set. -% -% To get special treatment of `@end ifset,' call \makeond and the redefine. -% -\makecond{ifset} -\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} -\def\doifset#1#2{% - {% - \makevalueexpandable - \let\next=\empty - \expandafter\ifx\csname SET#2\endcsname\relax - #1% If not set, redefine \next. - \fi - \expandafter - }\next -} -\def\ifsetfail{\doignore{ifset}} +\def\itemizey #1#2{% +\aboveenvbreak % +\begingroup % +\itemno = 0 % +\itemmax=\itemindent % +\advance \itemmax by -\itemmargin % +\advance \leftskip by \itemindent % +\parindent = 0pt +\parskip = \smallskipamount +\ifdim \parskip=0pt \parskip=2pt \fi% +\def#2{\endgraf\endgroup\afterenvbreak}% +\def\itemcontents{#1}% +\let\item=\itemizeitem} -% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been -% defined with @set, or has been undefined with @clear. -% -% The `\else' inside the `\doifset' parameter is a trick to reuse the -% above code: if the variable is not set, do nothing, if it is set, -% then redefine \next to \ifclearfail. -% -\makecond{ifclear} -\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} -\def\ifclearfail{\doignore{ifclear}} +\def\bullet{$\ptexbullet$} +\def\minus{$-$} -% @dircategory CATEGORY -- specify a category of the dir file -% which this file should belong to. Ignore this in TeX. -\let\dircategory=\comment +\def\enumerate{\itemizey{\the\itemno.}\Eenumerate\flushcr} -% @defininfoenclose. -\let\definfoenclose=\comment +% Definition of @item while inside @itemize. +\def\itemizeitem{% +\advance\itemno by 1 +{\let\par=\endgraf \smallbreak}% +\ifhmode \errmessage{\in hmode at itemizeitem}\fi +{\parskip=0in \hskip 0pt +\hbox to 0pt{\hss \itemcontents\hskip \itemmargin}% +\vadjust{\penalty 300}}% +\flushcr} \message{indexing,} % Index generation facilities % Define \newwrite to be identical to plain tex's \newwrite -% except not \outer, so it can be used within macros and \if's. -\edef\newwrite{\makecsname{ptexnewwrite}} +% except not \outer, so it can be used within \newindex. +{\catcode`\@=11 +\gdef\newwrite{\alloc@7\write\chardef\sixt@@n}} % \newindex {foo} defines an index named foo. % It automatically defines \fooindex such that % \fooindex ...rest of line... puts an entry in the index foo. % It also defines \fooindfile to be the number of the output channel for -% the file that accumulates this index. The file's extension is foo. +% the file that accumulates this index. The file's extension is foo. % The name of an index should be no more than 2 characters long % for the sake of vms. -% -\def\newindex#1{% - \iflinks - \expandafter\newwrite \csname#1indfile\endcsname - \openout \csname#1indfile\endcsname \jobname.#1 % Open the file - \fi - \expandafter\xdef\csname#1index\endcsname{% % Define @#1index - \noexpand\doindex{#1}} + +\def\newindex #1{ +\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file +\openout \csname#1indfile\endcsname \jobname.#1 % Open the file +\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex +\noexpand\doindex {#1}} } % @defindex foo == \newindex{foo} -% + \def\defindex{\parsearg\newindex} % Define @defcodeindex, like @defindex except put all entries in @code. -% -\def\defcodeindex{\parsearg\newcodeindex} -% -\def\newcodeindex#1{% - \iflinks - \expandafter\newwrite \csname#1indfile\endcsname - \openout \csname#1indfile\endcsname \jobname.#1 - \fi - \expandafter\xdef\csname#1index\endcsname{% - \noexpand\docodeindex{#1}}% + +\def\newcodeindex #1{ +\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file +\openout \csname#1indfile\endcsname \jobname.#1 % Open the file +\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex +\noexpand\docodeindex {#1}} } +\def\defcodeindex{\parsearg\newcodeindex} % @synindex foo bar makes index foo feed into index bar. % Do this instead of @defindex foo if you don't want it as a separate index. -% +\def\synindex #1 #2 {% +\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex +\noexpand\doindex {#2}}% +} + % @syncodeindex foo bar similar, but put all entries made for index foo % inside @code. -% -\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} -\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} - -% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), -% #3 the target index (bar). -\def\dosynindex#1#2#3{% - % Only do \closeout if we haven't already done it, else we'll end up - % closing the target index. - \expandafter \ifx\csname donesynindex#2\endcsname \undefined - % The \closeout helps reduce unnecessary open files; the limit on the - % Acorn RISC OS is a mere 16 files. - \expandafter\closeout\csname#2indfile\endcsname - \expandafter\let\csname\donesynindex#2\endcsname = 1 - \fi - % redefine \fooindfile: - \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname - \expandafter\let\csname#2indfile\endcsname=\temp - % redefine \fooindex: - \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% +\def\syncodeindex #1 #2 {% +\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex +\noexpand\docodeindex {#2}}% } % Define \doindex, the driver for all \fooindex macros. @@ -3217,394 +822,74 @@ where each line of input produces a line of output.} \def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer} \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} -% Take care of Texinfo commands that can appear in an index entry. -% Since there are some commands we want to expand, and others we don't, -% we have to laboriously prevent expansion for those that we don't. -% \def\indexdummies{% - \escapechar = `\\ % use backslash in output files. - \def\@{@}% change to @@ when we switch to @ as escape char in index files. - \def\ {\realbackslash\space }% - % Need these in case \tex is in effect and \{ is a \delimiter again. - % But can't use \lbracecmd and \rbracecmd because texindex assumes - % braces and backslashes are used only as delimiters. - \let\{ = \mylbrace - \let\} = \myrbrace - % - % Do the redefinitions. - \commondummies -} - -% For the aux and toc files, @ is the escape character. So we want to -% redefine everything using @ as the escape character (instead of -% \realbackslash, still used for index files). When everything uses @, -% this will be simpler. -% -\def\atdummies{% - \def\@{@@}% - \def\ {@ }% - \let\{ = \lbraceatcmd - \let\} = \rbraceatcmd - % - % Do the redefinitions. - \commondummies - \otherbackslash +\def\bf{\realbackslash bf }% +\def\rm{\realbackslash rm }% +\def\sl{\realbackslash sl }% +\def\dots{\realbackslash dots }% +\def\copyright{\realbackslash copyright }% } -% Called from \indexdummies and \atdummies. -% -\def\commondummies{% - % - % \definedummyword defines \#1 as \string\#1\space, thus effectively - % preventing its expansion. This is used only for control% words, - % not control letters, because the \space would be incorrect for - % control characters, but is needed to separate the control word - % from whatever follows. - % - % For control letters, we have \definedummyletter, which omits the - % space. - % - % These can be used both for control words that take an argument and - % those that do not. If it is followed by {arg} in the input, then - % that will dutifully get written to the index (or wherever). - % - \def\definedummyword ##1{\def##1{\string##1\space}}% - \def\definedummyletter##1{\def##1{\string##1}}% - \let\definedummyaccent\definedummyletter - % - \commondummiesnofonts - % - \definedummyletter\_% - % - % Non-English letters. - \definedummyword\AA - \definedummyword\AE - \definedummyword\L - \definedummyword\OE - \definedummyword\O - \definedummyword\aa - \definedummyword\ae - \definedummyword\l - \definedummyword\oe - \definedummyword\o - \definedummyword\ss - \definedummyword\exclamdown - \definedummyword\questiondown - \definedummyword\ordf - \definedummyword\ordm - % - % Although these internal commands shouldn't show up, sometimes they do. - \definedummyword\bf - \definedummyword\gtr - \definedummyword\hat - \definedummyword\less - \definedummyword\sf - \definedummyword\sl - \definedummyword\tclose - \definedummyword\tt - % - \definedummyword\LaTeX - \definedummyword\TeX - % - % Assorted special characters. - \definedummyword\bullet - \definedummyword\comma - \definedummyword\copyright - \definedummyword\registeredsymbol - \definedummyword\dots - \definedummyword\enddots - \definedummyword\equiv - \definedummyword\error - \definedummyword\euro - \definedummyword\expansion - \definedummyword\minus - \definedummyword\pounds - \definedummyword\point - \definedummyword\print - \definedummyword\result - % - % We want to disable all macros so that they are not expanded by \write. - \macrolist - % - \normalturnoffactive - % - % Handle some cases of @value -- where it does not contain any - % (non-fully-expandable) commands. - \makevalueexpandable -} - -% \commondummiesnofonts: common to \commondummies and \indexnofonts. -% -\def\commondummiesnofonts{% - % Control letters and accents. - \definedummyletter\!% - \definedummyaccent\"% - \definedummyaccent\'% - \definedummyletter\*% - \definedummyaccent\,% - \definedummyletter\.% - \definedummyletter\/% - \definedummyletter\:% - \definedummyaccent\=% - \definedummyletter\?% - \definedummyaccent\^% - \definedummyaccent\`% - \definedummyaccent\~% - \definedummyword\u - \definedummyword\v - \definedummyword\H - \definedummyword\dotaccent - \definedummyword\ringaccent - \definedummyword\tieaccent - \definedummyword\ubaraccent - \definedummyword\udotaccent - \definedummyword\dotless - % - % Texinfo font commands. - \definedummyword\b - \definedummyword\i - \definedummyword\r - \definedummyword\sc - \definedummyword\t - % - % Commands that take arguments. - \definedummyword\acronym - \definedummyword\cite - \definedummyword\code - \definedummyword\command - \definedummyword\dfn - \definedummyword\emph - \definedummyword\env - \definedummyword\file - \definedummyword\kbd - \definedummyword\key - \definedummyword\math - \definedummyword\option - \definedummyword\pxref - \definedummyword\ref - \definedummyword\samp - \definedummyword\strong - \definedummyword\tie - \definedummyword\uref - \definedummyword\url - \definedummyword\var - \definedummyword\verb - \definedummyword\w - \definedummyword\xref -} - -% \indexnofonts is used when outputting the strings to sort the index -% by, and when constructing control sequence names. It eliminates all -% control sequences and just writes whatever the best ASCII sort string -% would be for a given command (usually its argument). -% +% \indexnofonts no-ops all font-change commands. +% This is used when outputting the strings to sort the index by. +\def\indexdummyfont#1{#1} \def\indexnofonts{% - % Accent commands should become @asis. - \def\definedummyaccent##1{\let##1\asis}% - % We can just ignore other control letters. - \def\definedummyletter##1{\let##1\empty}% - % Hopefully, all control words can become @asis. - \let\definedummyword\definedummyaccent - % - \commondummiesnofonts - % - % Don't no-op \tt, since it isn't a user-level command - % and is used in the definitions of the active chars like <, >, |, etc. - % Likewise with the other plain tex font commands. - %\let\tt=\asis - % - \def\ { }% - \def\@{@}% - % how to handle braces? - \def\_{\normalunderscore}% - % - % Non-English letters. - \def\AA{AA}% - \def\AE{AE}% - \def\L{L}% - \def\OE{OE}% - \def\O{O}% - \def\aa{aa}% - \def\ae{ae}% - \def\l{l}% - \def\oe{oe}% - \def\o{o}% - \def\ss{ss}% - \def\exclamdown{!}% - \def\questiondown{?}% - \def\ordf{a}% - \def\ordm{o}% - % - \def\LaTeX{LaTeX}% - \def\TeX{TeX}% - % - % Assorted special characters. - % (The following {} will end up in the sort string, but that's ok.) - \def\bullet{bullet}% - \def\comma{,}% - \def\copyright{copyright}% - \def\registeredsymbol{R}% - \def\dots{...}% - \def\enddots{...}% - \def\equiv{==}% - \def\error{error}% - \def\euro{euro}% - \def\expansion{==>}% - \def\minus{-}% - \def\pounds{pounds}% - \def\point{.}% - \def\print{-|}% - \def\result{=>}% - % - % We need to get rid of all macros, leaving only the arguments (if present). - % Of course this is not nearly correct, but it is the best we can do for now. - % makeinfo does not expand macros in the argument to @deffn, which ends up - % writing an index entry, and texindex isn't prepared for an index sort entry - % that starts with \. - % - % Since macro invocations are followed by braces, we can just redefine them - % to take a single TeX argument. The case of a macro invocation that - % goes to end-of-line is not handled. - % - \macrolist +\let\code=\indexdummyfont +\let\samp=\indexdummyfont +\let\kbd=\indexdummyfont +\let\key=\indexdummyfont +\let\var=\indexdummyfont } -\let\indexbackslash=0 %overridden during \printindex. -\let\SETmarginindex=\relax % put index entries in margin (undocumented)? - -% Most index entries go through here, but \dosubind is the general case. -% #1 is the index name, #2 is the entry text. -\def\doind#1#2{\dosubind{#1}{#2}{}} +% To define \realbackslash, we must make \ not be an escape. +% We must first make another character (@) an escape +% so we do not become unable to do a definition. -% Workhorse for all \fooindexes. -% #1 is name of index, #2 is stuff to put there, #3 is subentry -- -% empty if called from \doind, as we usually are (the main exception -% is with most defuns, which call us directly). -% -\def\dosubind#1#2#3{% - \iflinks - {% - % Store the main index entry text (including the third arg). - \toks0 = {#2}% - % If third arg is present, precede it with a space. - \def\thirdarg{#3}% - \ifx\thirdarg\empty \else - \toks0 = \expandafter{\the\toks0 \space #3}% - \fi - % - \edef\writeto{\csname#1indfile\endcsname}% - % - \ifvmode - \dosubindsanitize - \else - \dosubindwrite - \fi - }% - \fi -} +{\catcode`\@=0 \catcode`\\=\other +@gdef@realbackslash{\}} -% Write the entry in \toks0 to the index file: -% -\def\dosubindwrite{% - % Put the index entry in the margin if desired. - \ifx\SETmarginindex\relax\else - \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}% - \fi - % - % Remember, we are within a group. - \indexdummies % Must do this here, since \bf, etc expand at this stage - \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now - % so it will be output as is; and it will print as backslash. - % - % Process the index entry with all font commands turned off, to - % get the string to sort by. - {\indexnofonts - \edef\temp{\the\toks0}% need full expansion - \xdef\indexsorttmp{\temp}% - }% - % - % Set up the complete index entry, with both the sort key and - % the original text, including any font commands. We write - % three arguments to \entry to the .?? file (four in the - % subentry case), texindex reduces to two when writing the .??s - % sorted result. - \edef\temp{% - \write\writeto{% - \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}% - }% - \temp -} +\let\indexbackslash=0 %overridden during \printindex. -% Take care of unwanted page breaks: -% -% If a skip is the last thing on the list now, preserve it -% by backing up by \lastskip, doing the \write, then inserting -% the skip again. Otherwise, the whatsit generated by the -% \write will make \lastskip zero. The result is that sequences -% like this: -% @end defun -% @tindex whatever -% @defun ... -% will have extra space inserted, because the \medbreak in the -% start of the @defun won't see the skip inserted by the @end of -% the previous defun. -% -% But don't do any of this if we're not in vertical mode. We -% don't want to do a \vskip and prematurely end a paragraph. -% -% Avoid page breaks due to these extra skips, too. -% -% But wait, there is a catch there: -% We'll have to check whether \lastskip is zero skip. \ifdim is not -% sufficient for this purpose, as it ignores stretch and shrink parts -% of the skip. The only way seems to be to check the textual -% representation of the skip. -% -% The following is almost like \def\zeroskipmacro{0.0pt} except that -% the ``p'' and ``t'' characters have catcode \other, not 11 (letter). -% -\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} -% -% ..., ready, GO: -% -\def\dosubindsanitize{% - % \lastskip and \lastpenalty cannot both be nonzero simultaneously. - \skip0 = \lastskip - \edef\lastskipmacro{\the\lastskip}% - \count255 = \lastpenalty - % - % If \lastskip is nonzero, that means the last item was a - % skip. And since a skip is discardable, that means this - % -\skip0 glue we're inserting is preceded by a - % non-discardable item, therefore it is not a potential - % breakpoint, therefore no \nobreak needed. - \ifx\lastskipmacro\zeroskipmacro - \else - \vskip-\skip0 - \fi - % - \dosubindwrite - % - \ifx\lastskipmacro\zeroskipmacro - % If \lastskip was zero, perhaps the last item was a penalty, and - % perhaps it was >=10000, e.g., a \nobreak. In that case, we want - % to re-insert the same penalty (values >10000 are used for various - % signals); since we just inserted a non-discardable item, any - % following glue (such as a \parskip) would be a breakpoint. For example: - % - % @deffn deffn-whatever - % @vindex index-whatever - % Description. - % would allow a break between the index-whatever whatsit - % and the "Description." paragraph. - \ifnum\count255>9999 \penalty\count255 \fi - \else - % On the other hand, if we had a nonzero \lastskip, - % this make-up glue would be preceded by a non-discardable item - % (the whatsit from the \write), so we must insert a \nobreak. - \nobreak\vskip\skip0 - \fi -} +\def\doind #1#2{% +{\indexdummies % Must do this here, since \bf, etc expand at this stage +\count10=\lastpenalty % +\escapechar=`\\% +{\let\folio=0% Expand all macros now EXCEPT \folio +\def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now +% so it will be output as is; and it will print as backslash in the indx. +% +% Now process the index-string once, with all font commands turned off, +% to get the string to sort the index by. +{\indexnofonts +\xdef\temp1{#2}% +}% +% Now produce the complete index entry. We process the index-string again, +% this time with font commands expanded, to get what to print in the index. +\edef\temp{% +\write \csname#1indfile\endcsname{% +\realbackslash entry {\temp1}{\folio}{#2}}}% +\temp }% +\penalty\count10}} + +\def\dosubind #1#2#3{% +{\indexdummies % Must do this here, since \bf, etc expand at this stage +\count10=\lastpenalty % +\escapechar=`\\% +{\let\folio=0% +\def\rawbackslashxx{\indexbackslash}% +% +% Now process the index-string once, with all font commands turned off, +% to get the string to sort the index by. +{\indexnofonts +\xdef\temp1{#2 #3}% +}% +% Now produce the complete index entry. We process the index-string again, +% this time with font commands expanded, to get what to print in the index. +\edef\temp{% +\write \csname#1indfile\endcsname{% +\realbackslash entry {\temp1}{\folio}{#2}{#3}}}% +\temp }% +\penalty\count10}} % The index entry written in the file actually looks like % \entry {sortstring}{page}{topic} @@ -3621,7 +906,7 @@ where each line of input produces a line of output.} % \secondary {subtopic}{pagelist} % for each subtopic. -% Define the user-accessible indexing commands +% Define the user-accessible indexing commands % @findex, @vindex, @kindex, @cindex. \def\findex {\fnindex} @@ -3638,682 +923,284 @@ where each line of input produces a line of output.} % Define the macros used in formatting output of the sorted index material. -% @printindex causes a particular index (the ??s file) to get printed. -% It does not print any chapter heading (usually an @unnumbered). -% -\parseargdef\printindex{\begingroup - \dobreak \chapheadingskip{10000}% - % - \smallfonts \rm - \tolerance = 9500 - \everypar = {}% don't want the \kern\-parindent from indentation suppression. - % - % See if the index file exists and is nonempty. - % Change catcode of @ here so that if the index file contains - % \initial {@} - % as its first line, TeX doesn't complain about mismatched braces - % (because it thinks @} is a control sequence). - \catcode`\@ = 11 - \openin 1 \jobname.#1s - \ifeof 1 - % \enddoublecolumns gets confused if there is no text in the index, - % and it loses the chapter title and the aux file entries for the - % index. The easiest way to prevent this problem is to make sure - % there is some text. - \putwordIndexNonexistent - \else - % - % If the index file exists but is empty, then \openin leaves \ifeof - % false. We have to make TeX try to read something from the file, so - % it can discover if there is anything in it. - \read 1 to \temp - \ifeof 1 - \putwordIndexIsEmpty - \else - % Index files are almost Texinfo source, but we use \ as the escape - % character. It would be better to use @, but that's too big a change - % to make right now. - \def\indexbackslash{\backslashcurfont}% - \catcode`\\ = 0 - \escapechar = `\\ - \begindoublecolumns - \input \jobname.#1s - \enddoublecolumns - \fi - \fi - \closein 1 -\endgroup} +% This is what you call to cause a particular index to get printed. +% Write +% @unnumbered Function Index +% @printindex fn + +\def\printindex{\parsearg\doprintindex} + +\def\doprintindex#1{\tex % +\catcode`\%=\other\catcode`\&=\other\catcode`\#=\other +\catcode`\$=\other\catcode`\_=\other +\catcode`\~=\other +\def\indexbackslash{\rawbackslashxx} +\indexfonts\rm \tolerance=9500 \advance\baselineskip -1pt +\begindoublecolumns +\openin 1 \jobname.#1s +\ifeof 1 \else \closein 1 \input \jobname.#1s +\fi +\enddoublecolumns +\Etex} % These macros are used by the sorted index file itself. % Change them to control the appearance of the index. -\def\initial#1{{% - % Some minor font changes for the special characters. - \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt - % - % Remove any glue we may have, we'll be inserting our own. - \removelastskip - % - % We like breaks before the index initials, so insert a bonus. - \nobreak - \vskip 0pt plus 3\baselineskip - \penalty 0 - \vskip 0pt plus -3\baselineskip - % - % Typeset the initial. Making this add up to a whole number of - % baselineskips increases the chance of the dots lining up from column - % to column. It still won't often be perfect, because of the stretch - % we need before each entry, but it's better. - % - % No shrink because it confuses \balancecolumns. - \vskip 1.67\baselineskip plus .5\baselineskip - \leftline{\secbf #1}% - % Do our best not to break after the initial. - \nobreak - \vskip .33\baselineskip plus .1\baselineskip -}} +% Same as \bigskipamount except no shrink. +% \balancecolumns gets confused if there is any shrink. +\newskip\initialskipamount \initialskipamount 12pt plus4pt -% \entry typesets a paragraph consisting of the text (#1), dot leaders, and -% then page number (#2) flushed to the right margin. It is used for index -% and table of contents entries. The paragraph is indented by \leftskip. -% -% A straightforward implementation would start like this: -% \def\entry#1#2{... -% But this frozes the catcodes in the argument, and can cause problems to -% @code, which sets - active. This problem was fixed by a kludge--- -% ``-'' was active throughout whole index, but this isn't really right. -% -% The right solution is to prevent \entry from swallowing the whole text. -% --kasal, 21nov03 -\def\entry{% - \begingroup - % - % Start a new paragraph if necessary, so our assignments below can't - % affect previous text. - \par - % - % Do not fill out the last line with white space. - \parfillskip = 0in - % - % No extra space above this paragraph. - \parskip = 0in - % - % Do not prefer a separate line ending with a hyphen to fewer lines. - \finalhyphendemerits = 0 - % - % \hangindent is only relevant when the entry text and page number - % don't both fit on one line. In that case, bob suggests starting the - % dots pretty far over on the line. Unfortunately, a large - % indentation looks wrong when the entry text itself is broken across - % lines. So we use a small indentation and put up with long leaders. - % - % \hangafter is reset to 1 (which is the value we want) at the start - % of each paragraph, so we need not do anything with that. - \hangindent = 2em - % - % When the entry text needs to be broken, just fill out the first line - % with blank space. - \rightskip = 0pt plus1fil - % - % A bit of stretch before each entry for the benefit of balancing - % columns. - \vskip 0pt plus1pt - % - % Swallow the left brace of the text (first parameter): - \afterassignment\doentry - \let\temp = -} -\def\doentry{% - \bgroup % Instead of the swallowed brace. - \noindent - \aftergroup\finishentry - % And now comes the text of the entry. -} -\def\finishentry#1{% - % #1 is the page number. - % - % The following is kludged to not output a line of dots in the index if - % there are no page numbers. The next person who breaks this will be - % cursed by a Unix daemon. - \def\tempa{{\rm }}% - \def\tempb{#1}% - \edef\tempc{\tempa}% - \edef\tempd{\tempb}% - \ifx\tempc\tempd - \ % - \else - % - % If we must, put the page number on a line of its own, and fill out - % this line with blank space. (The \hfil is overwhelmed with the - % fill leaders glue in \indexdotfill if the page number does fit.) - \hfil\penalty50 - \null\nobreak\indexdotfill % Have leaders before the page number. - % - % The `\ ' here is removed by the implicit \unskip that TeX does as - % part of (the primitive) \par. Without it, a spurious underfull - % \hbox ensues. - \ifpdf - \pdfgettoks#1.% - \ \the\toksA - \else - \ #1% - \fi - \fi - \par - \endgroup -} +\outer\def\initial #1{% +{\let\tentt=\sectt \let\sf=\sectt +\ifdim\lastskip<\initialskipamount +\removelastskip \penalty-200 \vskip \initialskipamount\fi +\line{\secbf#1\hfill}\kern 2pt\penalty3000}} -% Like \dotfill except takes at least 1 em. -\def\indexdotfill{\cleaders - \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill} +\outer\def\entry #1#2{ +{\parfillskip=0in \parskip=0in \parindent=0in +\hangindent=1in \hangafter=1% +\noindent\hbox{#1}\leaders\Dotsbox\hskip 0pt plus 1filll #2\par +}} \def\primary #1{\line{#1\hfil}} \newskip\secondaryindent \secondaryindent=0.5cm -\def\secondary#1#2{{% - \parfillskip=0in - \parskip=0in - \hangindent=1in - \hangafter=1 - \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill - \ifpdf - \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. - \else - #2 - \fi - \par + +\def\secondary #1#2{ +{\parfillskip=0in \parskip=0in +\hangindent =1in \hangafter=1 +\noindent\hskip\secondaryindent\hbox{#1}\leaders\Dotsbox\hskip 0pt plus 1filll#2\par }} -% Define two-column mode, which we use to typeset indexes. -% Adapted from the TeXbook, page 416, which is to say, -% the manmac.tex format used to print the TeXbook itself. -\catcode`\@=11 +%% Define two-column mode, which is used in indexes. +%% Adapted from the TeXBook, page 416 +\catcode `\@=11 \newbox\partialpage -\newdimen\doublecolumnhsize - -\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns - % Grab any single-column material above us. - \output = {% - % - % Here is a possibility not foreseen in manmac: if we accumulate a - % whole lot of material, we might end up calling this \output - % routine twice in a row (see the doublecol-lose test, which is - % essentially a couple of indexes with @setchapternewpage off). In - % that case we just ship out what is in \partialpage with the normal - % output routine. Generally, \partialpage will be empty when this - % runs and this will be a no-op. See the indexspread.tex test case. - \ifvoid\partialpage \else - \onepageout{\pagecontents\partialpage}% - \fi - % - \global\setbox\partialpage = \vbox{% - % Unvbox the main output page. - \unvbox\PAGE - \kern-\topskip \kern\baselineskip - }% - }% - \eject % run that output routine to set \partialpage - % - % Use the double-column output routine for subsequent pages. - \output = {\doublecolumnout}% - % - % Change the page size parameters. We could do this once outside this - % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 - % format, but then we repeat the same computation. Repeating a couple - % of assignments once per index is clearly meaningless for the - % execution time, so we may as well do it in one place. - % - % First we halve the line length, less a little for the gutter between - % the columns. We compute the gutter based on the line length, so it - % changes automatically with the paper format. The magic constant - % below is chosen so that the gutter has the same value (well, +-<1pt) - % as it did when we hard-coded it. - % - % We put the result in a separate register, \doublecolumhsize, so we - % can restore it in \pagesofar, after \hsize itself has (potentially) - % been clobbered. - % - \doublecolumnhsize = \hsize - \advance\doublecolumnhsize by -.04154\hsize - \divide\doublecolumnhsize by 2 - \hsize = \doublecolumnhsize - % - % Double the \vsize as well. (We don't need a separate register here, - % since nobody clobbers \vsize.) - \vsize = 2\vsize -} -% The double-column output routine for all double-column pages except -% the last. -% -\def\doublecolumnout{% - \splittopskip=\topskip \splitmaxdepth=\maxdepth - % Get the available space for the double columns -- the normal - % (undoubled) page height minus any material left over from the - % previous page. - \dimen@ = \vsize - \divide\dimen@ by 2 - \advance\dimen@ by -\ht\partialpage - % - % box0 will be the left-hand column, box2 the right. - \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@ - \onepageout\pagesofar - \unvbox255 - \penalty\outputpenalty -} -% -% Re-output the contents of the output page -- any previous material, -% followed by the two boxes we just split, in box0 and box2. -\def\pagesofar{% - \unvbox\partialpage - % - \hsize = \doublecolumnhsize - \wd0=\hsize \wd2=\hsize - \hbox to\pagewidth{\box0\hfil\box2}% -} -% -% All done with double columns. -\def\enddoublecolumns{% - \output = {% - % Split the last of the double-column material. Leave it on the - % current page, no automatic page break. - \balancecolumns - % - % If we end up splitting too much material for the current page, - % though, there will be another page break right after this \output - % invocation ends. Having called \balancecolumns once, we do not - % want to call it again. Therefore, reset \output to its normal - % definition right away. (We hope \balancecolumns will never be - % called on to balance too much material, but if it is, this makes - % the output somewhat more palatable.) - \global\output = {\onepageout{\pagecontents\PAGE}}% - }% - \eject - \endgroup % started in \begindoublecolumns - % - % \pagegoal was set to the doubled \vsize above, since we restarted - % the current page. We're now back to normal single-column - % typesetting, so reset \pagegoal to the normal \vsize (after the - % \endgroup where \vsize got restored). - \pagegoal = \vsize -} -% -% Called at the end of the double column material. -\def\balancecolumns{% - \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120. - \dimen@ = \ht0 - \advance\dimen@ by \topskip - \advance\dimen@ by-\baselineskip - \divide\dimen@ by 2 % target to split to - %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}% - \splittopskip = \topskip - % Loop until we get a decent breakpoint. - {% - \vbadness = 10000 - \loop - \global\setbox3 = \copy0 - \global\setbox1 = \vsplit3 to \dimen@ - \ifdim\ht3>\dimen@ - \global\advance\dimen@ by 1pt - \repeat - }% - %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}% - \setbox0=\vbox to\dimen@{\unvbox1}% - \setbox2=\vbox to\dimen@{\unvbox3}% - % - \pagesofar -} -\catcode`\@ = \other +\newdimen\doublecolumnhsize \doublecolumnhsize = 3.11in +\newdimen\doublecolumnvsize \doublecolumnvsize = 19.1in +\def\begindoublecolumns{\begingroup + \output={\global\setbox\partialpage=\vbox{\unvbox255\kern -\topskip \kern \baselineskip}}\eject + \output={\doublecolumnout} \hsize=\doublecolumnhsize \vsize=\doublecolumnvsize} +\def\enddoublecolumns{\output={\balancecolumns}\eject + \endgroup \pagegoal=\vsize} +\def\doublecolumnout{\splittopskip=\topskip \splitmaxdepth=\maxdepth + \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage + \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@ + \onepageout\pagesofar \unvbox255 \penalty\outputpenalty} +\def\pagesofar{\unvbox\partialpage % + \hsize=\doublecolumnhsize % have to restore this since output routine +% changes it to set cropmarks (P. A. MacKay, 12 Nov. 1986) + \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}} +\def\balancecolumns{\setbox0=\vbox{\unvbox255} \dimen@=\ht0 + \advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip + \divide\dimen@ by2 \splittopskip=\topskip + {\vbadness=10000 \loop \global\setbox3=\copy0 + \global\setbox1=\vsplit3 to\dimen@ + \ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt \repeat} + \setbox0=\vbox to\dimen@{\unvbox1} \setbox2=\vbox to\dimen@{\unvbox3} + \pagesofar} + +\catcode `\@=\other \message{sectioning,} -% Chapters, sections, etc. - -% \unnumberedno is an oxymoron, of course. But we count the unnumbered -% sections so that we can refer to them unambiguously in the pdf -% outlines by their "section number". We avoid collisions with chapter -% numbers by starting them at 10000. (If a document ever has 10000 -% chapters, we're in trouble anyway, I'm sure.) -\newcount\unnumberedno \unnumberedno = 10000 -\newcount\chapno -\newcount\secno \secno=0 -\newcount\subsecno \subsecno=0 -\newcount\subsubsecno \subsubsecno=0 - -% This counter is funny since it counts through charcodes of letters A, B, ... -\newcount\appendixno \appendixno = `\@ -% -% \def\appendixletter{\char\the\appendixno} -% We do the following ugly conditional instead of the above simple -% construct for the sake of pdftex, which needs the actual -% letter in the expansion, not just typeset. -% -\def\appendixletter{% - \ifnum\appendixno=`A A% - \else\ifnum\appendixno=`B B% - \else\ifnum\appendixno=`C C% - \else\ifnum\appendixno=`D D% - \else\ifnum\appendixno=`E E% - \else\ifnum\appendixno=`F F% - \else\ifnum\appendixno=`G G% - \else\ifnum\appendixno=`H H% - \else\ifnum\appendixno=`I I% - \else\ifnum\appendixno=`J J% - \else\ifnum\appendixno=`K K% - \else\ifnum\appendixno=`L L% - \else\ifnum\appendixno=`M M% - \else\ifnum\appendixno=`N N% - \else\ifnum\appendixno=`O O% - \else\ifnum\appendixno=`P P% - \else\ifnum\appendixno=`Q Q% - \else\ifnum\appendixno=`R R% - \else\ifnum\appendixno=`S S% - \else\ifnum\appendixno=`T T% - \else\ifnum\appendixno=`U U% - \else\ifnum\appendixno=`V V% - \else\ifnum\appendixno=`W W% - \else\ifnum\appendixno=`X X% - \else\ifnum\appendixno=`Y Y% - \else\ifnum\appendixno=`Z Z% - % The \the is necessary, despite appearances, because \appendixletter is - % expanded while writing the .toc file. \char\appendixno is not - % expandable, thus it is written literally, thus all appendixes come out - % with the same letter (or @) in the toc without it. - \else\char\the\appendixno - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} - -% Each @chapter defines this as the name of the chapter. -% page headings and footings can use it. @section does likewise. -% However, they are not reliable, because we don't use marks. -\def\thischapter{} -\def\thissection{} - -\newcount\absseclevel % used to calculate proper heading level -\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count - -% @raisesections: treat @section as chapter, @subsection as section, etc. -\def\raisesections{\global\advance\secbase by -1} -\let\up=\raisesections % original BFox name - -% @lowersections: treat @chapter as section, @section as subsection, etc. -\def\lowersections{\global\advance\secbase by 1} -\let\down=\lowersections % original BFox name - -% we only have subsub. -\chardef\maxseclevel = 3 -% -% A numbered section within an unnumbered changes to unnumbered too. -% To achive this, remember the "biggest" unnum. sec. we are currently in: -\chardef\unmlevel = \maxseclevel -% -% Trace whether the current chapter is an appendix or not: -% \chapheadtype is "N" or "A", unnumbered chapters are ignored. -\def\chapheadtype{N} - -% Choose a heading macro -% #1 is heading type -% #2 is heading level -% #3 is text for heading -\def\genhead#1#2#3{% - % Compute the abs. sec. level: - \absseclevel=#2 - \advance\absseclevel by \secbase - % Make sure \absseclevel doesn't fall outside the range: - \ifnum \absseclevel < 0 - \absseclevel = 0 - \else - \ifnum \absseclevel > 3 - \absseclevel = 3 - \fi - \fi - % The heading type: - \def\headtype{#1}% - \if \headtype U% - \ifnum \absseclevel < \unmlevel - \chardef\unmlevel = \absseclevel - \fi - \else - % Check for appendix sections: - \ifnum \absseclevel = 0 - \edef\chapheadtype{\headtype}% - \else - \if \headtype A\if \chapheadtype N% - \errmessage{@appendix... within a non-appendix chapter}% - \fi\fi - \fi - % Check for numbered within unnumbered: - \ifnum \absseclevel > \unmlevel - \def\headtype{U}% - \else - \chardef\unmlevel = 3 - \fi - \fi - % Now print the heading: - \if \headtype U% - \ifcase\absseclevel - \unnumberedzzz{#3}% - \or \unnumberedseczzz{#3}% - \or \unnumberedsubseczzz{#3}% - \or \unnumberedsubsubseczzz{#3}% - \fi - \else - \if \headtype A% - \ifcase\absseclevel - \appendixzzz{#3}% - \or \appendixsectionzzz{#3}% - \or \appendixsubseczzz{#3}% - \or \appendixsubsubseczzz{#3}% - \fi - \else - \ifcase\absseclevel - \chapterzzz{#3}% - \or \seczzz{#3}% - \or \numberedsubseczzz{#3}% - \or \numberedsubsubseczzz{#3}% - \fi - \fi - \fi - \suppressfirstparagraphindent -} - -% an interface: -\def\numhead{\genhead N} -\def\apphead{\genhead A} -\def\unnmhead{\genhead U} - -% @chapter, @appendix, @unnumbered. Increment top-level counter, reset -% all lower-level sectioning counters to zero. -% -% Also set \chaplevelprefix, which we prepend to @float sequence numbers -% (e.g., figures), q.v. By default (before any chapter), that is empty. -\let\chaplevelprefix = \empty -% -\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz -\def\chapterzzz#1{% - % section resetting is \global in case the chapter is in a group, such - % as an @include file. - \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 - \global\advance\chapno by 1 - % - % Used for \float. - \gdef\chaplevelprefix{\the\chapno.}% - \resetallfloatnos - % - \message{\putwordChapter\space \the\chapno}% - % - % Write the actual heading. - \chapmacro{#1}{Ynumbered}{\the\chapno}% - % - % So @section and the like are numbered underneath this chapter. - \global\let\section = \numberedsec - \global\let\subsection = \numberedsubsec - \global\let\subsubsection = \numberedsubsubsec -} - -\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz -\def\appendixzzz#1{% - \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 - \global\advance\appendixno by 1 - \gdef\chaplevelprefix{\appendixletter.}% - \resetallfloatnos - % - \def\appendixnum{\putwordAppendix\space \appendixletter}% - \message{\appendixnum}% - % - \chapmacro{#1}{Yappendix}{\appendixletter}% - % - \global\let\section = \appendixsec - \global\let\subsection = \appendixsubsec - \global\let\subsubsection = \appendixsubsubsec -} - -\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz -\def\unnumberedzzz#1{% - \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 - \global\advance\unnumberedno by 1 - % - % Since an unnumbered has no number, no prefix for figures. - \global\let\chaplevelprefix = \empty - \resetallfloatnos - % - % This used to be simply \message{#1}, but TeX fully expands the - % argument to \message. Therefore, if #1 contained @-commands, TeX - % expanded them. For example, in `@unnumbered The @cite{Book}', TeX - % expanded @cite (which turns out to cause errors because \cite is meant - % to be executed, not expanded). - % - % Anyway, we don't want the fully-expanded definition of @cite to appear - % as a result of the \message, we just want `@cite' itself. We use - % \the to achieve this: TeX expands \the only once, - % simply yielding the contents of . (We also do this for - % the toc entries.) - \toks0 = {#1}% - \message{(\the\toks0)}% - % - \chapmacro{#1}{Ynothing}{\the\unnumberedno}% - % - \global\let\section = \unnumberedsec - \global\let\subsection = \unnumberedsubsec - \global\let\subsubsection = \unnumberedsubsubsec -} - -% @centerchap is like @unnumbered, but the heading is centered. -\outer\parseargdef\centerchap{% - % Well, we could do the following in a group, but that would break - % an assumption that \chapmacro is called at the outermost level. - % Thus we are safer this way: --kasal, 24feb04 - \let\centerparametersmaybe = \centerparameters - \unnmhead0{#1}% - \let\centerparametersmaybe = \relax -} - -% @top is like @unnumbered. -\let\top\unnumbered - -% Sections. -\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz -\def\seczzz#1{% - \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 - \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% -} - -\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz -\def\appendixsectionzzz#1{% - \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 - \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% -} -\let\appendixsec\appendixsection - -\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz -\def\unnumberedseczzz#1{% - \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 - \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% -} - -% Subsections. -\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz -\def\numberedsubseczzz#1{% - \global\subsubsecno=0 \global\advance\subsecno by 1 - \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% -} - -\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz -\def\appendixsubseczzz#1{% - \global\subsubsecno=0 \global\advance\subsecno by 1 - \sectionheading{#1}{subsec}{Yappendix}% - {\appendixletter.\the\secno.\the\subsecno}% -} +% Define chapters, sections, etc. -\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz -\def\unnumberedsubseczzz#1{% - \global\subsubsecno=0 \global\advance\subsecno by 1 - \sectionheading{#1}{subsec}{Ynothing}% - {\the\unnumberedno.\the\secno.\the\subsecno}% -} +\newcount \chapno +\newcount \secno +\newcount \subsecno +\newcount \subsubsecno -% Subsubsections. -\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz -\def\numberedsubsubseczzz#1{% - \global\advance\subsubsecno by 1 - \sectionheading{#1}{subsubsec}{Ynumbered}% - {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% -} +% This counter is funny since it counts through charcodes of letters A, B, ... +\newcount \appendixno \appendixno = `\@ +\def\appendixletter{\char\the\appendixno} -\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz -\def\appendixsubsubseczzz#1{% - \global\advance\subsubsecno by 1 - \sectionheading{#1}{subsubsec}{Yappendix}% - {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% -} +\newwrite \contentsfile +\openout \contentsfile = \jobname.toc -\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz -\def\unnumberedsubsubseczzz#1{% - \global\advance\subsubsecno by 1 - \sectionheading{#1}{subsubsec}{Ynothing}% - {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% +% Each @chapter defines this as the name of the chapter. +% page headings and footings can use it. @section does likewise + +\def\thischapter{} \def\thissection{} +\def\seccheck#1{\if \pageno<0 % +\errmessage{@#1 not allowed after generating table of contents}\fi +% +} + +\outer\def\chapter{\parsearg\chapterzzz} +\def\chapterzzz #1{\seccheck{chapter}% +\secno=0 \subsecno=0 \subsubsecno=0 \global\advance \chapno by 1 \message{Chapter \the\chapno}% +\chapmacro {#1}{\the\chapno}% +\gdef\thissection{#1}\gdef\thischapter{#1}% +\let\rawbackslash=\relax% +\let\frenchspacing=\relax% +\edef\temp{{\realbackslash chapentry {#1}{\the\chapno}{\noexpand\folio}}}% +\escapechar=`\\% +\write \contentsfile \temp % +\donoderef % +} + +\outer\def\appendix{\parsearg\appendixzzz} +\def\appendixzzz #1{\seccheck{appendix}% +\secno=0 \subsecno=0 \subsubsecno=0 \global\advance \appendixno by 1 \message{Appendix \appendixletter}% +\chapmacro {#1}{Appendix \appendixletter}% +\gdef\thischapter{#1}\gdef\thissection{#1}% +\let\rawbackslash=\relax% +\let\frenchspacing=\relax% +\edef\temp{{\realbackslash chapentry {#1}{Appendix \appendixletter}{\noexpand\folio}}}% +\escapechar=`\\% +\write \contentsfile \temp % +\unnumbnoderef % +} + +\outer\def\unnumbered{\parsearg\unnumberedzzz} +\def\unnumberedzzz #1{\seccheck{unnumbered}% +\secno=0 \subsecno=0 \subsubsecno=0 \message{(#1)} +\unnumbchapmacro {#1}% +\gdef\thischapter{#1}\gdef\thissection{#1}% +\let\rawbackslash=\relax% +\let\frenchspacing=\relax% +\edef\temp{{\realbackslash unnumbchapentry {#1}{\noexpand\folio}}}% +\escapechar=`\\% +\write \contentsfile \temp % +\unnumbnoderef % +} + +\outer\def\section{\parsearg\sectionzzz} +\def\sectionzzz #1{\seccheck{section}% +\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 % +\gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}% +\let\rawbackslash=\relax% +\let\frenchspacing=\relax% +\edef\temp{{\realbackslash secentry % +{#1}{\the\chapno}{\the\secno}{\noexpand\folio}}}% +\escapechar=`\\% +\write \contentsfile \temp % +\donoderef % +\penalty 10000 % +} + +\outer\def\appendixsection{\parsearg\appendixsectionzzz} +\outer\def\appendixsec{\parsearg\appendixsectionzzz} +\def\appendixsectionzzz #1{\seccheck{appendixsection}% +\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 % +\gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}% +\let\rawbackslash=\relax% +\let\frenchspacing=\relax% +\edef\temp{{\realbackslash secentry % +{#1}{\appendixletter}{\the\secno}{\noexpand\folio}}}% +\escapechar=`\\% +\write \contentsfile \temp % +\unnumbnoderef % +\penalty 10000 % +} + +\outer\def\unnumberedsec{\parsearg\unnumberedseczzz} +\def\unnumberedseczzz #1{\seccheck{unnumberedsec}% +\plainsecheading {#1}\gdef\thissection{#1}% +\let\rawbackslash=\relax% +\let\frenchspacing=\relax% +\edef\temp{{\realbackslash unnumbsecentry{#1}{\noexpand\folio}}}% +\escapechar=`\\% +\write \contentsfile \temp % +\unnumbnoderef % +\penalty 10000 % +} + +\outer\def\subsection{\parsearg\subsectionzzz} +\def\subsectionzzz #1{\seccheck{subsection}% +\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 % +\subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}% +\let\rawbackslash=\relax% +\let\frenchspacing=\relax% +\edef\temp{{\realbackslash subsecentry % +{#1}{\the\chapno}{\the\secno}{\the\subsecno}{\noexpand\folio}}}% +\escapechar=`\\% +\write \contentsfile \temp % +\donoderef % +\penalty 10000 % +} + +\outer\def\appendixsubsec{\parsearg\appendixsubseczzz} +\def\appendixsubseczzz #1{\seccheck{appendixsubsec}% +\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 % +\subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}% +\let\rawbackslash=\relax% +\let\frenchspacing=\relax% +\edef\temp{{\realbackslash subsecentry % +{#1}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}% +\escapechar=`\\% +\write \contentsfile \temp % +\unnumbnoderef % +\penalty 10000 % +} + +\outer\def\unnumberedsubsec{\parsearg\unnumberedsubseczzz} +\def\unnumberedsubseczzz #1{\seccheck{unnumberedsubsec}% +\plainsecheading {#1}\gdef\thissection{#1}% +\let\rawbackslash=\relax% +\let\frenchspacing=\relax% +\edef\temp{{\realbackslash unnumbsubsecentry{#1}{\noexpand\folio}}}% +\escapechar=`\\% +\write \contentsfile \temp % +\unnumbnoderef % +\penalty 10000 % +} + +\outer\def\subsubsection{\parsearg\subsubsectionzzz} +\def\subsubsectionzzz #1{\seccheck{subsubsection}% +\gdef\thissection{#1}\global\advance \subsubsecno by 1 % +\subsubsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}% +\let\rawbackslash=\relax% +\let\frenchspacing=\relax% +\edef\temp{{\realbackslash subsubsecentry % +{#1}{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%\ +\escapechar=`\\% +\write \contentsfile \temp % +\donoderef % +\penalty 10000 % +} + +\outer\def\appendixsubsubsec{\parsearg\appendixsubsubseczzz} +\def\appendixsubsubseczzz #1{\seccheck{appendixsubsubsec}% +\gdef\thissection{#1}\global\advance \subsubsecno by 1 % +\subsubsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}% +\let\rawbackslash=\relax% +\let\frenchspacing=\relax% +\edef\temp{{\realbackslash subsubsecentry{#1}% +{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%\ +\escapechar=`\\% +\write \contentsfile \temp % +\unnumbnoderef % +\penalty 10000 % +} + +\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz} +\def\unnumberedsubsubseczzz #1{\seccheck{unnumberedsubsubsec}% +\plainsecheading {#1}\gdef\thissection{#1}% +\let\rawbackslash=\relax% +\let\frenchspacing=\relax% +\edef\temp{{\realbackslash unnumbsubsubsecentry{#1}{\noexpand\folio}}}% +\escapechar=`\\% +\write \contentsfile \temp % +\unnumbnoderef % +\penalty 10000 % } -% These macros control what the section commands do, according -% to what kind of chapter we are in (ordinary, appendix, or unnumbered). -% Define them by default for a numbered chapter. -\let\section = \numberedsec -\let\subsection = \numberedsubsec -\let\subsubsection = \numberedsubsubsec - % Define @majorheading, @heading and @subheading -% NOTE on use of \vbox for chapter headings, section headings, and such: -% 1) We use \vbox rather than the earlier \line to permit -% overlong headings to fold. -% 2) \hyphenpenalty is set to 10000 because hyphenation in a -% heading is obnoxious; this forbids it. -% 3) Likewise, headings look best if no \parindent is used, and -% if justification is not attempted. Hence \raggedright. +\outer\def\majorheading #1{% +{\advance\chapheadingskip by 10pt \chapbreak }% +{\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 200} +\outer\def\chapheading #1{\chapbreak % +{\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 200} -\def\majorheading{% - {\advance\chapheadingskip by 10pt \chapbreak }% - \parsearg\chapheadingzzz -} - -\def\chapheading{\chapbreak \parsearg\chapheadingzzz} -\def\chapheadingzzz#1{% - {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\raggedright - \rm #1\hfill}}% - \bigskip \par\penalty 200\relax - \suppressfirstparagraphindent -} - -% @heading, @subheading, @subsubheading. -\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} - \suppressfirstparagraphindent} -\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} - \suppressfirstparagraphindent} -\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} - \suppressfirstparagraphindent} +\let\heading=\secheadingi +\let\subheading=\subsecheadingi +\let\subsubheading=\subsubsecheadingi % These macros generate a chapter, section, etc. heading only % (including whitespace, linebreaking, etc. around it), @@ -4322,10 +1209,12 @@ where each line of input produces a line of output.} %%% Args are the skip and penalty (usually negative) \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} +\def\setchapterstyle #1 {\csname CHAPF#1\endcsname} + %%% Define plain chapter starts, and page on/off switching for it % Parameter controlling skip before chapter headings (if needed) -\newskip\chapheadingskip +\newskip \chapheadingskip \chapheadingskip = 30pt plus 8pt minus 4pt \def\chapbreak{\dobreak \chapheadingskip {-4000}} \def\chappager{\par\vfill\supereject} @@ -4333,2894 +1222,856 @@ where each line of input produces a line of output.} \def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname} -\def\CHAPPAGoff{% -\global\let\contentsalignmacro = \chappager -\global\let\pchapsepmacro=\chapbreak -\global\let\pagealignmacro=\chappager} - -\def\CHAPPAGon{% -\global\let\contentsalignmacro = \chappager -\global\let\pchapsepmacro=\chappager -\global\let\pagealignmacro=\chappager -\global\def\HEADINGSon{\HEADINGSsingle}} - -\def\CHAPPAGodd{% -\global\let\contentsalignmacro = \chapoddpage -\global\let\pchapsepmacro=\chapoddpage -\global\let\pagealignmacro=\chapoddpage -\global\def\HEADINGSon{\HEADINGSdouble}} - -\CHAPPAGon - -% Chapter opening. -% -% #1 is the text, #2 is the section type (Ynumbered, Ynothing, -% Yappendix, Yomitfromtoc), #3 the chapter number. -% -% To test against our argument. -\def\Ynothingkeyword{Ynothing} -\def\Yomitfromtockeyword{Yomitfromtoc} -\def\Yappendixkeyword{Yappendix} -% -\def\chapmacro#1#2#3{% - \pchapsepmacro - {% - \chapfonts \rm - % - % Have to define \thissection before calling \donoderef, because the - % xref code eventually uses it. On the other hand, it has to be called - % after \pchapsepmacro, or the headline will change too soon. - \gdef\thissection{#1}% - \gdef\thischaptername{#1}% - % - % Only insert the separating space if we have a chapter/appendix - % number, and don't print the unnumbered ``number''. - \def\temptype{#2}% - \ifx\temptype\Ynothingkeyword - \setbox0 = \hbox{}% - \def\toctype{unnchap}% - \gdef\thischapter{#1}% - \else\ifx\temptype\Yomitfromtockeyword - \setbox0 = \hbox{}% contents like unnumbered, but no toc entry - \def\toctype{omit}% - \gdef\thischapter{}% - \else\ifx\temptype\Yappendixkeyword - \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% - \def\toctype{app}% - % We don't substitute the actual chapter name into \thischapter - % because we don't want its macros evaluated now. And we don't - % use \thissection because that changes with each section. - % - \xdef\thischapter{\putwordAppendix{} \appendixletter: - \noexpand\thischaptername}% - \else - \setbox0 = \hbox{#3\enspace}% - \def\toctype{numchap}% - \xdef\thischapter{\putwordChapter{} \the\chapno: - \noexpand\thischaptername}% - \fi\fi\fi - % - % Write the toc entry for this chapter. Must come before the - % \donoderef, because we include the current node name in the toc - % entry, and \donoderef resets it to empty. - \writetocentry{\toctype}{#1}{#3}% - % - % For pdftex, we have to write out the node definition (aka, make - % the pdfdest) after any page break, but before the actual text has - % been typeset. If the destination for the pdf outline is after the - % text, then jumping from the outline may wind up with the text not - % being visible, for instance under high magnification. - \donoderef{#2}% - % - % Typeset the actual heading. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright - \hangindent=\wd0 \centerparametersmaybe - \unhbox0 #1\par}% - }% - \nobreak\bigskip % no page break after a chapter title - \nobreak -} - -% @centerchap -- centered and unnumbered. -\let\centerparametersmaybe = \relax -\def\centerparameters{% - \advance\rightskip by 3\rightskip - \leftskip = \rightskip - \parfillskip = 0pt -} - - -% I don't think this chapter style is supported any more, so I'm not -% updating it with the new noderef stuff. We'll see. --karl, 11aug03. -% -\def\setchapterstyle #1 {\csname CHAPF#1\endcsname} -% -\def\unnchfopen #1{% -\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\raggedright - \rm #1\hfill}}\bigskip \par\nobreak -} -\def\chfopen #1#2{\chapoddpage {\chapfonts -\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% -\par\penalty 5000 % -} -\def\centerchfopen #1{% -\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt - \hfill {\rm #1}\hfill}}\bigskip \par\nobreak -} -\def\CHAPFopen{% - \global\let\chapmacro=\chfopen - \global\let\centerchapmacro=\centerchfopen} - - -% Section titles. These macros combine the section number parts and -% call the generic \sectionheading to do the printing. -% -\newskip\secheadingskip -\def\secheadingbreak{\dobreak \secheadingskip{-1000}} - -% Subsection titles. -\newskip\subsecheadingskip -\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} - -% Subsubsection titles. -\def\subsubsecheadingskip{\subsecheadingskip} -\def\subsubsecheadingbreak{\subsecheadingbreak} - - -% Print any size, any type, section title. -% -% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is -% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the -% section number. -% -\def\sectionheading#1#2#3#4{% - {% - % Switch to the right set of fonts. - \csname #2fonts\endcsname \rm - % - % Insert space above the heading. - \csname #2headingbreak\endcsname - % - % Only insert the space after the number if we have a section number. - \def\sectionlevel{#2}% - \def\temptype{#3}% - % - \ifx\temptype\Ynothingkeyword - \setbox0 = \hbox{}% - \def\toctype{unn}% - \gdef\thissection{#1}% - \else\ifx\temptype\Yomitfromtockeyword - % for @headings -- no section number, don't include in toc, - % and don't redefine \thissection. - \setbox0 = \hbox{}% - \def\toctype{omit}% - \let\sectionlevel=\empty - \else\ifx\temptype\Yappendixkeyword - \setbox0 = \hbox{#4\enspace}% - \def\toctype{app}% - \gdef\thissection{#1}% - \else - \setbox0 = \hbox{#4\enspace}% - \def\toctype{num}% - \gdef\thissection{#1}% - \fi\fi\fi - % - % Write the toc entry (before \donoderef). See comments in \chapmacro. - \writetocentry{\toctype\sectionlevel}{#1}{#4}% - % - % Write the node reference (= pdf destination for pdftex). - % Again, see comments in \chapmacro. - \donoderef{#3}% - % - % Interline glue will be inserted when the vbox is completed. - % That glue will be a valid breakpoint for the page, since it'll be - % preceded by a whatsit (usually from the \donoderef, or from the - % \writetocentry if there was no node). We don't want to allow that - % break, since then the whatsits could end up on page n while the - % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. - \nobreak - % - % Output the actual section heading. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright - \hangindent=\wd0 % zero if no section number - \unhbox0 #1}% - }% - % Add extra space after the heading -- half of whatever came above it. - % Don't allow stretch, though. - \kern .5 \csname #2headingskip\endcsname - % - % Do not let the kern be a potential breakpoint, as it would be if it - % was followed by glue. - \nobreak - % - % We'll almost certainly start a paragraph next, so don't let that - % glue accumulate. (Not a breakpoint because it's preceded by a - % discardable item.) - \vskip-\parskip - % - % This is purely so the last item on the list is a known \penalty > - % 10000. This is so \startdefun can avoid allowing breakpoints after - % section headings. Otherwise, it would insert a valid breakpoint between: - % - % @section sec-whatever - % @deffn def-whatever - \penalty 10001 -} - - -\message{toc,} -% Table of contents. -\newwrite\tocfile - -% Write an entry to the toc file, opening it if necessary. -% Called from @chapter, etc. -% -% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} -% We append the current node name (if any) and page number as additional -% arguments for the \{chap,sec,...}entry macros which will eventually -% read this. The node name is used in the pdf outlines as the -% destination to jump to. -% -% We open the .toc file for writing here instead of at @setfilename (or -% any other fixed time) so that @contents can be anywhere in the document. -% But if #1 is `omit', then we don't do anything. This is used for the -% table of contents chapter openings themselves. -% -\newif\iftocfileopened -\def\omitkeyword{omit}% -% -\def\writetocentry#1#2#3{% - \edef\writetoctype{#1}% - \ifx\writetoctype\omitkeyword \else - \iftocfileopened\else - \immediate\openout\tocfile = \jobname.toc - \global\tocfileopenedtrue - \fi - % - \iflinks - {\atdummies - \edef\temp{% - \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% - \temp - }% - \fi - \fi - % - % Tell \shipout to create a pdf destination on each page, if we're - % writing pdf. These are used in the table of contents. We can't - % just write one on every page because the title pages are numbered - % 1 and 2 (the page numbers aren't printed), and so are the first - % two pages of the document. Thus, we'd have two destinations named - % `1', and two named `2'. - \ifpdf \global\pdfmakepagedesttrue \fi -} - - -% These characters do not print properly in the Computer Modern roman -% fonts, so we must take special care. This is more or less redundant -% with the Texinfo input format setup at the end of this file. -% -\def\activecatcodes{% - \catcode`\"=\active - \catcode`\$=\active - \catcode`\<=\active - \catcode`\>=\active - \catcode`\\=\active - \catcode`\^=\active - \catcode`\_=\active - \catcode`\|=\active - \catcode`\~=\active -} - - -% Read the toc file, which is essentially Texinfo input. -\def\readtocfile{% - \setupdatafile - \activecatcodes - \input \jobname.toc -} - -\newskip\contentsrightmargin \contentsrightmargin=1in -\newcount\savepageno -\newcount\lastnegativepageno \lastnegativepageno = -1 - -% Prepare to read what we've written to \tocfile. -% -\def\startcontents#1{% - % If @setchapternewpage on, and @headings double, the contents should - % start on an odd page, unlike chapters. Thus, we maintain - % \contentsalignmacro in parallel with \pagealignmacro. - % From: Torbjorn Granlund - \contentsalignmacro - \immediate\closeout\tocfile - % - % Don't need to put `Contents' or `Short Contents' in the headline. - % It is abundantly clear what they are. - \def\thischapter{}% - \chapmacro{#1}{Yomitfromtoc}{}% - % - \savepageno = \pageno - \begingroup % Set up to handle contents files properly. - \raggedbottom % Worry more about breakpoints than the bottom. - \advance\hsize by -\contentsrightmargin % Don't use the full line length. - % - % Roman numerals for page numbers. - \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi -} - - -% Normal (long) toc. -\def\contents{% - \startcontents{\putwordTOC}% - \openin 1 \jobname.toc - \ifeof 1 \else - \readtocfile - \fi - \vfill \eject - \contentsalignmacro % in case @setchapternewpage odd is in effect - \ifeof 1 \else - \pdfmakeoutlines - \fi - \closein 1 - \endgroup - \lastnegativepageno = \pageno - \global\pageno = \savepageno -} - -% And just the chapters. -\def\summarycontents{% - \startcontents{\putwordShortTOC}% - % - \let\numchapentry = \shortchapentry - \let\appentry = \shortchapentry - \let\unnchapentry = \shortunnchapentry - % We want a true roman here for the page numbers. - \secfonts - \let\rm=\shortcontrm \let\bf=\shortcontbf - \let\sl=\shortcontsl \let\tt=\shortconttt - \rm - \hyphenpenalty = 10000 - \advance\baselineskip by 1pt % Open it up a little. - \def\numsecentry##1##2##3##4{} - \let\appsecentry = \numsecentry - \let\unnsecentry = \numsecentry - \let\numsubsecentry = \numsecentry - \let\appsubsecentry = \numsecentry - \let\unnsubsecentry = \numsecentry - \let\numsubsubsecentry = \numsecentry - \let\appsubsubsecentry = \numsecentry - \let\unnsubsubsecentry = \numsecentry - \openin 1 \jobname.toc - \ifeof 1 \else - \readtocfile - \fi - \closein 1 - \vfill \eject - \contentsalignmacro % in case @setchapternewpage odd is in effect - \endgroup - \lastnegativepageno = \pageno - \global\pageno = \savepageno -} -\let\shortcontents = \summarycontents - -% Typeset the label for a chapter or appendix for the short contents. -% The arg is, e.g., `A' for an appendix, or `3' for a chapter. -% -\def\shortchaplabel#1{% - % This space should be enough, since a single number is .5em, and the - % widest letter (M) is 1em, at least in the Computer Modern fonts. - % But use \hss just in case. - % (This space doesn't include the extra space that gets added after - % the label; that gets put in by \shortchapentry above.) - % - % We'd like to right-justify chapter numbers, but that looks strange - % with appendix letters. And right-justifying numbers and - % left-justifying letters looks strange when there is less than 10 - % chapters. Have to read the whole toc once to know how many chapters - % there are before deciding ... - \hbox to 1em{#1\hss}% -} - -% These macros generate individual entries in the table of contents. -% The first argument is the chapter or section name. -% The last argument is the page number. -% The arguments in between are the chapter number, section number, ... - -% Chapters, in the main contents. -\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} -% -% Chapters, in the short toc. -% See comments in \dochapentry re vbox and related settings. -\def\shortchapentry#1#2#3#4{% - \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% -} - -% Appendices, in the main contents. -% Need the word Appendix, and a fixed-size box. -% -\def\appendixbox#1{% - % We use M since it's probably the widest letter. - \setbox0 = \hbox{\putwordAppendix{} M}% - \hbox to \wd0{\putwordAppendix{} #1\hss}} -% -\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}} - -% Unnumbered chapters. -\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} -\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} - -% Sections. -\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} -\let\appsecentry=\numsecentry -\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} - -% Subsections. -\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} -\let\appsubsecentry=\numsubsecentry -\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} - -% And subsubsections. -\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} -\let\appsubsubsecentry=\numsubsubsecentry -\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} - -% This parameter controls the indentation of the various levels. -% Same as \defaultparindent. -\newdimen\tocindent \tocindent = 15pt - -% Now for the actual typesetting. In all these, #1 is the text and #2 is the -% page number. -% -% If the toc has to be broken over pages, we want it to be at chapters -% if at all possible; hence the \penalty. -\def\dochapentry#1#2{% - \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip - \begingroup - \chapentryfonts - \tocentry{#1}{\dopageno\bgroup#2\egroup}% - \endgroup - \nobreak\vskip .25\baselineskip plus.1\baselineskip -} - -\def\dosecentry#1#2{\begingroup - \secentryfonts \leftskip=\tocindent - \tocentry{#1}{\dopageno\bgroup#2\egroup}% -\endgroup} - -\def\dosubsecentry#1#2{\begingroup - \subsecentryfonts \leftskip=2\tocindent - \tocentry{#1}{\dopageno\bgroup#2\egroup}% -\endgroup} - -\def\dosubsubsecentry#1#2{\begingroup - \subsubsecentryfonts \leftskip=3\tocindent - \tocentry{#1}{\dopageno\bgroup#2\egroup}% -\endgroup} - -% We use the same \entry macro as for the index entries. -\let\tocentry = \entry - -% Space between chapter (or whatever) number and the title. -\def\labelspace{\hskip1em \relax} - -\def\dopageno#1{{\rm #1}} -\def\doshortpageno#1{{\rm #1}} - -\def\chapentryfonts{\secfonts \rm} -\def\secentryfonts{\textfonts} -\def\subsecentryfonts{\textfonts} -\def\subsubsecentryfonts{\textfonts} - - -\message{environments,} -% @foo ... @end foo. - -% @point{}, @result{}, @expansion{}, @print{}, @equiv{}. -% -% Since these characters are used in examples, it should be an even number of -% \tt widths. Each \tt character is 1en, so two makes it 1em. -% -\def\point{$\star$} -\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} -\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}} -\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} -\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}} - -% The @error{} command. -% Adapted from the TeXbook's \boxit. -% -\newbox\errorbox -% -{\tentt \global\dimen0 = 3em}% Width of the box. -\dimen2 = .55pt % Thickness of rules -% The text. (`r' is open on the right, `e' somewhat less so on the left.) -\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt} -% -\setbox\errorbox=\hbox to \dimen0{\hfil - \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. - \advance\hsize by -2\dimen2 % Rules. - \vbox{% - \hrule height\dimen2 - \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. - \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. - \kern3pt\vrule width\dimen2}% Space to right. - \hrule height\dimen2} - \hfil} -% -\def\error{\leavevmode\lower.7ex\copy\errorbox} - -% @tex ... @end tex escapes into raw Tex temporarily. -% One exception: @ is still an escape character, so that @end tex works. -% But \@ or @@ will get a plain tex @ character. - -\envdef\tex{% - \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 - \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 - \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie - \catcode `\%=14 - \catcode `\+=\other - \catcode `\"=\other - \catcode `\|=\other - \catcode `\<=\other - \catcode `\>=\other - \escapechar=`\\ - % - \let\b=\ptexb - \let\bullet=\ptexbullet - \let\c=\ptexc - \let\,=\ptexcomma - \let\.=\ptexdot - \let\dots=\ptexdots - \let\equiv=\ptexequiv - \let\!=\ptexexclam - \let\i=\ptexi - \let\indent=\ptexindent - \let\noindent=\ptexnoindent - \let\{=\ptexlbrace - \let\+=\tabalign - \let\}=\ptexrbrace - \let\/=\ptexslash - \let\*=\ptexstar - \let\t=\ptext - \let\frenchspacing=\plainfrenchspacing - % - \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% - \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% - \def\@{@}% -} -% There is no need to define \Etex. - -% Define @lisp ... @end lisp. -% @lisp environment forms a group so it can rebind things, -% including the definition of @end lisp (which normally is erroneous). - -% Amount to narrow the margins by for @lisp. -\newskip\lispnarrowing \lispnarrowing=0.4in - -% This is the definition that ^^M gets inside @lisp, @example, and other -% such environments. \null is better than a space, since it doesn't -% have any width. -\def\lisppar{\null\endgraf} - -% This space is always present above and below environments. -\newskip\envskipamount \envskipamount = 0pt - -% Make spacing and below environment symmetrical. We use \parskip here -% to help in doing that, since in @example-like environments \parskip -% is reset to zero; thus the \afterenvbreak inserts no space -- but the -% start of the next paragraph will insert \parskip. -% -\def\aboveenvbreak{{% - % =10000 instead of <10000 because of a special case in \itemzzz and - % \sectionheading, q.v. - \ifnum \lastpenalty=10000 \else - \advance\envskipamount by \parskip - \endgraf - \ifdim\lastskip<\envskipamount - \removelastskip - % it's not a good place to break if the last penalty was \nobreak - % or better ... - \ifnum\lastpenalty<10000 \penalty-50 \fi - \vskip\envskipamount - \fi - \fi -}} - -\let\afterenvbreak = \aboveenvbreak - -% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will -% also clear it, so that its embedded environments do the narrowing again. -\let\nonarrowing=\relax - -% @cartouche ... @end cartouche: draw rectangle w/rounded corners around -% environment contents. -\font\circle=lcircle10 -\newdimen\circthick -\newdimen\cartouter\newdimen\cartinner -\newskip\normbskip\newskip\normpskip\newskip\normlskip -\circthick=\fontdimen8\circle -% -\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth -\def\ctr{{\hskip 6pt\circle\char'010}} -\def\cbl{{\circle\char'012\hskip -6pt}} -\def\cbr{{\hskip 6pt\circle\char'011}} -\def\carttop{\hbox to \cartouter{\hskip\lskip - \ctl\leaders\hrule height\circthick\hfil\ctr - \hskip\rskip}} -\def\cartbot{\hbox to \cartouter{\hskip\lskip - \cbl\leaders\hrule height\circthick\hfil\cbr - \hskip\rskip}} -% -\newskip\lskip\newskip\rskip - -\envdef\cartouche{% - \ifhmode\par\fi % can't be in the midst of a paragraph. - \startsavinginserts - \lskip=\leftskip \rskip=\rightskip - \leftskip=0pt\rightskip=0pt % we want these *outside*. - \cartinner=\hsize \advance\cartinner by-\lskip - \advance\cartinner by-\rskip - \cartouter=\hsize - \advance\cartouter by 18.4pt % allow for 3pt kerns on either - % side, and for 6pt waste from - % each corner char, and rule thickness - \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip - % Flag to tell @lisp, etc., not to narrow margin. - \let\nonarrowing = t% - \vbox\bgroup - \baselineskip=0pt\parskip=0pt\lineskip=0pt - \carttop - \hbox\bgroup - \hskip\lskip - \vrule\kern3pt - \vbox\bgroup - \kern3pt - \hsize=\cartinner - \baselineskip=\normbskip - \lineskip=\normlskip - \parskip=\normpskip - \vskip -\parskip - \comment % For explanation, see the end of \def\group. -} -\def\Ecartouche{% - \ifhmode\par\fi - \kern3pt - \egroup - \kern3pt\vrule - \hskip\rskip - \egroup - \cartbot - \egroup - \checkinserts -} +\def\CHAPPAGoff{ +\global\let\pchapsepmacro=\chapbreak +\global\let\pagealignmacro=\chappager} +\def\CHAPPAGon{ +\global\let\pchapsepmacro=\chappager +\global\let\pagealignmacro=\chappager} -% This macro is called at the beginning of all the @example variants, -% inside a group. -\def\nonfillstart{% - \aboveenvbreak - \hfuzz = 12pt % Don't be fussy - \sepspaces % Make spaces be word-separators rather than space tokens. - \let\par = \lisppar % don't ignore blank lines - \obeylines % each line of input is a line of output - \parskip = 0pt - \parindent = 0pt - \emergencystretch = 0pt % don't try to avoid overfull boxes - \ifx\nonarrowing\relax - \advance \leftskip by \lispnarrowing - \exdentamount=\lispnarrowing - \else - \let\nonarrowing = \relax - \fi - \let\exdent=\nofillexdent -} +\def\CHAPPAGodd{ +\global\let\pchapsepmacro=\chapoddpage +\global\let\pagealignmacro=\chapoddpage} -% If you want all examples etc. small: @set dispenvsize small. -% If you want even small examples the full size: @set dispenvsize nosmall. -% This affects the following displayed environments: -% @example, @display, @format, @lisp -% -\def\smallword{small} -\def\nosmallword{nosmall} -\let\SETdispenvsize\relax -\def\setnormaldispenv{% - \ifx\SETdispenvsize\smallword - \smallexamplefonts \rm - \fi -} -\def\setsmalldispenv{% - \ifx\SETdispenvsize\nosmallword - \else - \smallexamplefonts \rm - \fi -} +\CHAPPAGon -% We often define two environments, @foo and @smallfoo. -% Let's do it by one command: -\def\makedispenv #1#2{ - \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2} - \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2} - \expandafter\let\csname E#1\endcsname \afterenvbreak - \expandafter\let\csname Esmall#1\endcsname \afterenvbreak -} +\def\CHAPFplain{ +\global\let\chapmacro=\chfplain +\global\let\unnumbchapmacro=\unnchfplain} -% Define two synonyms: -\def\maketwodispenvs #1#2#3{ - \makedispenv{#1}{#3} - \makedispenv{#2}{#3} +\def\chfplain #1#2{% +\pchapsepmacro % +{\chapfonts \line{\chaprm #2.\enspace #1\hfill}}\bigskip \par\penalty 5000 % } -% @lisp: indented, narrowed, typewriter font; @example: same as @lisp. -% -% @smallexample and @smalllisp: use smaller fonts. -% Originally contributed by Pavel@xerox. -% -\maketwodispenvs {lisp}{example}{% - \nonfillstart - \tt - \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. - \gobble % eat return +\def\unnchfplain #1{% +\pchapsepmacro % +{\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 10000 % } +\CHAPFplain % The default -% @display/@smalldisplay: same as @lisp except keep current font. -% -\makedispenv {display}{% - \nonfillstart - \gobble +\def\unnchfopen #1{% +\chapoddpage {\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 10000 % } -% @format/@smallformat: same as @display except don't narrow margins. -% -\makedispenv{format}{% - \let\nonarrowing = t% - \nonfillstart - \gobble +\def\chfopen #1#2{\chapoddpage {\chapfonts +\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% +\par\penalty 5000 % } -% @flushleft: same as @format, but doesn't obey \SETdispenvsize. -\envdef\flushleft{% - \let\nonarrowing = t% - \nonfillstart - \gobble -} -\let\Eflushleft = \afterenvbreak +\def\CHAPFopen{ +\global\let\chapmacro=\chfopen +\global\let\unnumbchapmacro=\unnchfopen} -% @flushright. -% -\envdef\flushright{% - \let\nonarrowing = t% - \nonfillstart - \advance\leftskip by 0pt plus 1fill - \gobble -} -\let\Eflushright = \afterenvbreak +% Parameter controlling skip before section headings. +\newskip \subsecheadingskip \subsecheadingskip = 17pt plus 8pt minus 4pt +\def\subsecheadingbreak{\dobreak \subsecheadingskip {-500}} -% @quotation does normal linebreaking (hence we can't use \nonfillstart) -% and narrows the margins. We keep \parskip nonzero in general, since -% we're doing normal filling. So, when using \aboveenvbreak and -% \afterenvbreak, temporarily make \parskip 0. -% -\envdef\quotation{% - {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip - \parindent=0pt - % - % @cartouche defines \nonarrowing to inhibit narrowing at next level down. - \ifx\nonarrowing\relax - \advance\leftskip by \lispnarrowing - \advance\rightskip by \lispnarrowing - \exdentamount = \lispnarrowing - \else - \let\nonarrowing = \relax - \fi - \parsearg\quotationlabel -} +\newskip \secheadingskip \secheadingskip = 21pt plus 8pt minus 4pt +\def\secheadingbreak{\dobreak \secheadingskip {-1000}} -% We have retained a nonzero parskip for the environment, since we're -% doing normal filling. -% -\def\Equotation{% - \par - \ifx\quotationauthor\undefined\else - % indent a bit. - \leftline{\kern 2\leftskip \sl ---\quotationauthor}% - \fi - {\parskip=0pt \afterenvbreak}% -} +\def\secheading #1#2#3{\secheadingi {#2.#3\enspace #1}} +\def\plainsecheading #1{\secheadingi {#1}} +\def\secheadingi #1{{\advance \secheadingskip by \parskip % +\secheadingbreak}% +{\secfonts \line{\secrm #1\hfill}}% +\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 } -% If we're given an argument, typeset it in bold with a colon after. -\def\quotationlabel#1{% - \def\temp{#1}% - \ifx\temp\empty \else - {\bf #1: }% - \fi -} +\def\subsecheading #1#2#3#4{{\advance \subsecheadingskip by \parskip % +\subsecheadingbreak}% +{\secfonts \line{\secrm#2.#3.#4\enspace #1\hfill}}% +\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 } +\def\subsubsecfonts{\subsecfonts} % Maybe this should change -% LaTeX-like @verbatim...@end verbatim and @verb{...} -% If we want to allow any as delimiter, -% we need the curly braces so that makeinfo sees the @verb command, eg: -% `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org -% -% [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. -% -% [Knuth] p.344; only we need to do the other characters Texinfo sets -% active too. Otherwise, they get lost as the first character on a -% verbatim line. -\def\dospecials{% - \do\ \do\\\do\{\do\}\do\$\do\&% - \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% - \do\<\do\>\do\|\do\@\do+\do\"% -} -% -% [Knuth] p. 380 -\def\uncatcodespecials{% - \def\do##1{\catcode`##1=\other}\dospecials} -% -% [Knuth] pp. 380,381,391 -% Disable Spanish ligatures ?` and !` of \tt font -\begingroup - \catcode`\`=\active\gdef`{\relax\lq} -\endgroup -% -% Setup for the @verb command. -% -% Eight spaces for a tab -\begingroup - \catcode`\^^I=\active - \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }} -\endgroup -% -\def\setupverb{% - \tt % easiest (and conventionally used) font for verbatim - \def\par{\leavevmode\endgraf}% - \catcode`\`=\active - \tabeightspaces - % Respect line breaks, - % print special symbols as themselves, and - % make each space count - % must do in this order: - \obeylines \uncatcodespecials \sepspaces -} +\def\subsubsecheading #1#2#3#4#5{{\advance \subsecheadingskip by \parskip % +\subsecheadingbreak}% +{\secfonts \line{\secrm#2.#3.#4.#5\enspace #1\hfill}}% +\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000} -% Setup for the @verbatim environment -% -% Real tab expansion -\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount -% -\def\starttabbox{\setbox0=\hbox\bgroup} -\begingroup - \catcode`\^^I=\active - \gdef\tabexpand{% - \catcode`\^^I=\active - \def^^I{\leavevmode\egroup - \dimen0=\wd0 % the width so far, or since the previous tab - \divide\dimen0 by\tabw - \multiply\dimen0 by\tabw % compute previous multiple of \tabw - \advance\dimen0 by\tabw % advance to next multiple of \tabw - \wd0=\dimen0 \box0 \starttabbox - }% - } -\endgroup -\def\setupverbatim{% - \let\nonarrowing = t% - \nonfillstart - % Easiest (and conventionally used) font for verbatim - \tt - \def\par{\leavevmode\egroup\box0\endgraf}% - \catcode`\`=\active - \tabexpand - % Respect line breaks, - % print special symbols as themselves, and - % make each space count - % must do in this order: - \obeylines \uncatcodespecials \sepspaces - \everypar{\starttabbox}% -} +\message{toc printing,} -% Do the @verb magic: verbatim text is quoted by unique -% delimiter characters. Before first delimiter expect a -% right brace, after last delimiter expect closing brace: -% -% \def\doverb'{'#1'}'{#1} -% -% [Knuth] p. 382; only eat outer {} -\begingroup - \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other - \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] -\endgroup -% -\def\verb{\begingroup\setupverb\doverb} -% -% -% Do the @verbatim magic: define the macro \doverbatim so that -% the (first) argument ends when '@end verbatim' is reached, ie: -% -% \def\doverbatim#1@end verbatim{#1} -% -% For Texinfo it's a lot easier than for LaTeX, -% because texinfo's \verbatim doesn't stop at '\end{verbatim}': -% we need not redefine '\', '{' and '}'. -% -% Inspired by LaTeX's verbatim command set [latex.ltx] -% -\begingroup - \catcode`\ =\active - \obeylines % - % ignore everything up to the first ^^M, that's the newline at the end - % of the @verbatim input line itself. Otherwise we get an extra blank - % line in the output. - \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}% - % We really want {...\end verbatim} in the body of the macro, but - % without the active space; thus we have to use \xdef and \gobble. -\endgroup -% -\envdef\verbatim{% - \setupverbatim\doverbatim -} -\let\Everbatim = \afterenvbreak +\def\Dotsbox{\hbox to 1em{\hss.\hss}} % Used by index macros +\def\finishcontents{% +\ifnum\pageno>0 % +\pagealignmacro % +\immediate\closeout \contentsfile% +\pageno=-1 % Request roman numbered pages +\fi} -% @verbatiminclude FILE - insert text of file in verbatim environment. -% -\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} -% -\def\doverbatiminclude#1{% - {% - \makevalueexpandable - \setupverbatim - \input #1 - \afterenvbreak - }% +\outer\def\contents{% +\finishcontents % +\unnumbchapmacro{Table of Contents} +\def\thischapter{Table of Contents} +{\catcode`\\=0 +\catcode`\{=1 % Set up to handle contents files properly +\catcode`\}=2 +\catcode`\@=11 +\input \jobname.toc } +\vfill \eject} -% @copying ... @end copying. -% Save the text away for @insertcopying later. -% -% We save the uninterpreted tokens, rather than creating a box. -% Saving the text in a box would be much easier, but then all the -% typesetting commands (@smallbook, font changes, etc.) have to be done -% beforehand -- and a) we want @copying to be done first in the source -% file; b) letting users define the frontmatter in as flexible order as -% possible is very desirable. -% -\def\copying{\checkenv{}\begingroup\scanargctxt\docopying} -\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} -% -\def\insertcopying{% - \begingroup - \parindent = 0pt % paragraph indentation looks wrong on title page - \scanexp\copyingtext - \endgroup -} +\outer\def\summarycontents{% +\finishcontents % +\unnumbchapmacro{Summary Table of Contents} +\def\thischapter{Summary Table of Contents} +{\catcode`\\=0 +\catcode`\{=1 % Set up to handle contents files properly +\catcode`\}=2 +\catcode`\@=11 +\def\smallbreak{} +\def\secentry ##1##2##3##4{} +\def\subsecentry ##1##2##3##4##5{} +\def\subsubsecentry ##1##2##3##4##5##6{} +\def\unnumbsecentry ##1##2{} +\def\unnumbsubsecentry ##1##2{} +\def\unnumbsubsubsecentry ##1##2{} +\let\medbreak=\smallbreak +\input \jobname.toc +} +\vfill \eject} -\message{defuns,} -% @defun etc. +\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} -\newskip\defbodyindent \defbodyindent=.4in -\newskip\defargsindent \defargsindent=50pt -\newskip\deflastargmargin \deflastargmargin=18pt +% These macros generate individual entries in the table of contents +% The first argument is the chapter or section name. +% The last argument is the page number. +% The arguments in between are the chapter number, section number, ... -% Start the processing of @deffn: -\def\startdefun{% - \ifnum\lastpenalty<10000 - \medbreak - \else - % If there are two @def commands in a row, we'll have a \nobreak, - % which is there to keep the function description together with its - % header. But if there's nothing but headers, we need to allow a - % break somewhere. Check specifically for penalty 10002, inserted - % by \defargscommonending, instead of 10000, since the sectioning - % commands also insert a nobreak penalty, and we don't want to allow - % a break between a section heading and a defun. - % - \ifnum\lastpenalty=10002 \penalty2000 \fi - % - % Similarly, after a section heading, do not allow a break. - % But do insert the glue. - \medskip % preceded by discardable penalty, so not a breakpoint - \fi - % - \parindent=0in - \advance\leftskip by \defbodyindent - \exdentamount=\defbodyindent +\def\chapentry #1#2#3{% +\medbreak +\line{#2.\space#1\leaders\hbox to 1em{\hss.\hss}\hfill #3} } -\def\dodefunx#1{% - % First, check whether we are in the right environment: - \checkenv#1% - % - % As above, allow line break if we have multiple x headers in a row. - % It's not a great place, though. - \ifnum\lastpenalty=10002 \penalty3000 \fi - % - % And now, it's time to reuse the body of the original defun: - \expandafter\gobbledefun#1% +\def\unnumbchapentry #1#2{% +\medbreak +\line{#1\leaders\Dotsbox\hfill #2} } -\def\gobbledefun#1\startdefun{} -% \printdefunline \deffnheader{text} -% -\def\printdefunline#1#2{% - \begingroup - % call \deffnheader: - #1#2 \endheader - % common ending: - \interlinepenalty = 10000 - \advance\rightskip by 0pt plus 1fil - \endgraf - \nobreak\vskip -\parskip - \penalty 10002 % signal to \startdefun and \dodefunx - % Some of the @defun-type tags do not enable magic parentheses, - % rendering the following check redundant. But we don't optimize. - \checkparencounts - \endgroup +\def\secentry #1#2#3#4{% +\line{\enspace\enspace#2.#3\space#1\leaders\Dotsbox\hfill#4} } -\def\Edefun{\endgraf\medbreak} - -% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; -% the only thing remainnig is to define \deffnheader. -% -\def\makedefun#1{% - \expandafter\let\csname E#1\endcsname = \Edefun - \edef\temp{\noexpand\domakedefun - \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% - \temp +\def\unnumbsecentry #1#2{% +\line{\enspace\enspace#1\leaders\Dotsbox\hfill #2} } -% \domakedefun \deffn \deffnx \deffnheader -% -% Define \deffn and \deffnx, without parameters. -% \deffnheader has to be defined explicitly. -% -\def\domakedefun#1#2#3{% - \envdef#1{% - \startdefun - \parseargusing\activeparens{\printdefunline#3}% - }% - \def#2{\dodefunx#1}% - \def#3% +\def\subsecentry #1#2#3#4#5{% +\line{\enspace\enspace\enspace\enspace +#2.#3.#4\space#1\leaders\Dotsbox\hfill #5} } -%%% Untyped functions: - -% @deffn category name args -\makedefun{deffn}{\deffngeneral{}} - -% @deffn category class name args -\makedefun{defop}#1 {\defopon{#1\ \putwordon}} +\def\unnumbsubsecentry #1#2{% +\line{\enspace\enspace\enspace\enspace#1\leaders\Dotsbox\hfill #2} +} -% \defopon {category on}class name args -\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } +\def\subsubsecentry #1#2#3#4#5#6{% +\line{\enspace\enspace\enspace\enspace\enspace\enspace +#2.#3.#4.#5\space#1\leaders\Dotsbox\hfill #6} +} -% \deffngeneral {subind}category name args -% -\def\deffngeneral#1#2 #3 #4\endheader{% - % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}. - \dosubind{fn}{\code{#3}}{#1}% - \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% +\def\unnumbsubsubsecentry #1#2{% +\line{\enspace\enspace\enspace\enspace\enspace\enspace#1\leaders\Dotsbox\hfill #2} } -%%% Typed functions: +\message{environments,} -% @deftypefn category type name args -\makedefun{deftypefn}{\deftypefngeneral{}} +% @tex ... @end tex escapes into raw Tex temporarily. +% One exception: @ is still an escape character, so that @end tex works. +% But \@ or @@ will get a plain tex @ character. -% @deftypeop category class type name args -\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} +\def\tex{\begingroup +\catcode `\\=0 \catcode `\{=1 \catcode `\}=2 +\catcode `\$=3 \catcode `\&=4 \catcode `\#=6 +\catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie +\catcode `\%=14 +\catcode`\"=12 +\catcode`\|=12 +\catcode`\<=12 +\catcode`\>=12 +\escapechar=`\\ +% +\let\{=\ptexlbrace +\let\}=\ptexrbrace +\let\.=\ptexdot +\let\*=\ptexstar +\def\@={@}% +\let\bullet=\ptexbullet +\let\b=\ptexb \let\c=\ptexc \let\i=\ptexi \let\t=\ptext \let\l=\ptexl +\let\L=\ptexL +% +\let\Etex=\endgroup} + +% Define @lisp ... @endlisp. +% @lisp does a \begingroup so it can rebind things, +% including the definition of @endlisp (which normally is erroneous). -% \deftypeopon {category on}class type name args -\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } +% Amount to narrow the margins by for @lisp. +\newskip\lispnarrowing \lispnarrowing=0.4in -% \deftypefngeneral {subind}category type name args -% -\def\deftypefngeneral#1#2 #3 #4 #5\endheader{% - \dosubind{fn}{\code{#4}}{#1}% - \defname{#2}{#3}{#4}\defunargs{#5\unskip}% -} +% This is the definition that ^M gets inside @lisp +% phr: changed space to \null, to avoid overfull hbox problems. +{\obeyspaces% +\gdef\lisppar{\null\endgraf}} + +% Cause \obeyspaces to make each Space cause a word-separation +% rather than the default which is that it acts punctuation. +% This is because space in tt font looks funny. +{\obeyspaces % +\gdef\sepspaces{\def {\ }}} + +\newskip\aboveenvskipamount \aboveenvskipamount= 0pt +\def\aboveenvbreak{{\advance\aboveenvskipamount by \parskip +\endgraf \ifdim\lastskip<\aboveenvskipamount +\removelastskip \penalty-50 \vskip\aboveenvskipamount \fi}} + +\def\afterenvbreak{\endgraf \ifdim\lastskip<\aboveenvskipamount +\removelastskip \penalty-50 \vskip\aboveenvskipamount \fi} + +\def\lisp{\aboveenvbreak\begingroup\inENV %This group ends at the end of the @lisp body +\hfuzz=12truept % Don't be fussy +% Make spaces be word-separators rather than space tokens. +\sepspaces % +% Single space lines +\singlespace % +% The following causes blank lines not to be ignored +% by adding a space to the end of each line. +\let\par=\lisppar +\def\Elisp{\endgroup\afterenvbreak}% +\parskip=0pt \advance \rightskip by \lispnarrowing +\advance \leftskip by \lispnarrowing +\parindent=0pt +\let\exdent=\internalexdent +\obeyspaces \obeylines \tt \rawbackslash +\def\next##1{}\next} + + +\let\example=\lisp +\def\Eexample{\Elisp} + +\let\smallexample=\lisp +\def\Esmallexample{\Elisp} + +% Macro for 9 pt. examples, necessary to print with 5" lines. +% From Pavel@xerox. This is not really used unless the +% @smallbook command is given. + +\def\smalllispx{\aboveenvbreak\begingroup\inENV +% This group ends at the end of the @lisp body +\hfuzz=12truept % Don't be fussy +% Make spaces be word-separators rather than space tokens. +\sepspaces % +% Single space lines +\singlespace % +% The following causes blank lines not to be ignored +% by adding a space to the end of each line. +\let\par=\lisppar +\def\Esmalllisp{\endgroup\afterenvbreak}% +\parskip=0pt \advance \rightskip by \lispnarrowing +\advance \leftskip by \lispnarrowing +\parindent=0pt +\let\exdent=\internalexdent +\obeyspaces \obeylines \ninett \rawbackslash +\def\next##1{}\next} + +% This is @display; same as @lisp except use roman font. + +\def\display{\begingroup\inENV %This group ends at the end of the @display body +\aboveenvbreak +% Make spaces be word-separators rather than space tokens. +\sepspaces % +% Single space lines +\singlespace % +% The following causes blank lines not to be ignored +% by adding a space to the end of each line. +\let\par=\lisppar +\def\Edisplay{\endgroup\afterenvbreak}% +\parskip=0pt \advance \rightskip by \lispnarrowing +\advance \leftskip by \lispnarrowing +\parindent=0pt +\let\exdent=\internalexdent +\obeyspaces \obeylines +\def\next##1{}\next} + +% This is @format; same as @lisp except use roman font and don't narrow margins + +\def\format{\begingroup\inENV %This group ends at the end of the @format body +\aboveenvbreak +% Make spaces be word-separators rather than space tokens. +\sepspaces % +\singlespace % +% The following causes blank lines not to be ignored +% by adding a space to the end of each line. +\let\par=\lisppar +\def\Eformat{\endgroup\afterenvbreak} +\parskip=0pt \parindent=0pt +\obeyspaces \obeylines +\def\next##1{}\next} + +% @flushleft and @flushright + +\def\flushleft{\begingroup\inENV %This group ends at the end of the @format body +\aboveenvbreak +% Make spaces be word-separators rather than space tokens. +\sepspaces % +% The following causes blank lines not to be ignored +% by adding a space to the end of each line. +% This also causes @ to work when the directive name +% is terminated by end of line. +\let\par=\lisppar +\def\Eflushleft{\endgroup\afterenvbreak}% +\parskip=0pt \parindent=0pt +\obeyspaces \obeylines +\def\next##1{}\next} + +\def\flushright{\begingroup\inENV %This group ends at the end of the @format body +\aboveenvbreak +% Make spaces be word-separators rather than space tokens. +\sepspaces % +% The following causes blank lines not to be ignored +% by adding a space to the end of each line. +% This also causes @ to work when the directive name +% is terminated by end of line. +\let\par=\lisppar +\def\Eflushright{\endgroup\afterenvbreak}% +\parskip=0pt \parindent=0pt +\advance \leftskip by 0pt plus 1fill +\obeyspaces \obeylines +\def\next##1{}\next} + +% @quotation - narrow the margins. + +\def\quotation{\begingroup\inENV %This group ends at the end of the @quotation body +{\parskip=0pt % because we will skip by \parskip too, later +\aboveenvbreak}% +\singlespace +\parindent=0pt +\def\Equotation{\par\endgroup\afterenvbreak}% +\advance \rightskip by \lispnarrowing +\advance \leftskip by \lispnarrowing} -%%% Typed variables: +\message{defuns,} +% Define formatter for defuns +% First, allow user to change definition object font (\df) internally +\def\setdeffont #1 {\csname DEF#1\endcsname} -% @deftypevr category type var args -\makedefun{deftypevr}{\deftypecvgeneral{}} +\newskip\defbodyindent \defbodyindent=36pt +\newskip\defargsindent \defargsindent=50pt +\newskip\deftypemargin \deftypemargin=12pt +\newskip\deflastargmargin \deflastargmargin=18pt -% @deftypecv category class type var args -\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} +\newcount\parencount +% define \functionparens, which makes ( and ) and & do special things. +% \functionparens affects the group it is contained in. +\def\activeparens{% +\catcode`\(=\active \catcode`\)=\active \catcode`\&=\active +\catcode`\[=\active \catcode`\]=\active} +{\activeparens % Now, smart parens don't turn on until &foo (see \amprm) +\gdef\functionparens{\boldbrax\let&=\amprm\parencount=0 } +\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} + +% Definitions of (, ) and & used in args for functions. +% This is the definition of ( outside of all parentheses. +\gdef\oprm#1 {{\rm\char`\(}#1 \bf \let(=\opnested % +\global\advance\parencount by 1 } +% +% This is the definition of ( when already inside a level of parens. +\gdef\opnested{\char`\(\global\advance\parencount by 1 } +% +\gdef\clrm{% Print a paren in roman if it is taking us back to depth of 0. +% also in that case restore the outer-level definition of (. +\ifnum \parencount=1 {\rm \char `\)}\sl \let(=\oprm \else \char `\) \fi +\global\advance \parencount by -1 } +% If we encounter &foo, then turn on ()-hacking afterwards +\gdef\amprm#1 {{\rm\}\let(=\oprm \let)=\clrm\ } +% +\gdef\normalparens{\boldbrax\let&=\ampnr} +} % End of definition inside \activeparens +%% These parens (in \boldbrax) actually are a little bolder than the +%% contained text. This is especially needed for [ and ] +\def\opnr{{\sf\char`\(}} \def\clnr{{\sf\char`\)}} \def\ampnr{\&} +\def\lbrb{{\tt\char`\[}} \def\rbrb{{\tt\char`\]}} -% \deftypecvof {category of}class type var args -\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } +% First, defname, which formats the header line itself. +% #1 should be the function name. +% #2 should be the type of definition, such as "Function". -% \deftypecvgeneral {subind}category type var args -% -\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% - \dosubind{vr}{\code{#4}}{#1}% - \defname{#2}{#3}{#4}\defunargs{#5\unskip}% +\def\defname #1#2{% +\leftskip = 0in % +\noindent % +\setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}% +\dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line +\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations +\parshape 2 0in \dimen0 \defargsindent \dimen1 % +% Now output arg 2 ("Function" or some such) +% ending at \deftypemargin from the right margin, +% but stuck inside a box of width 0 so it does not interfere with linebreaking +\rlap{\rightline{{\rm #2}\hskip \deftypemargin}}% +\tolerance=10000 \hbadness=10000 % Make all lines underfull and no complaints +{\df #1}\enskip % Generate function name } -%%% Untyped variables: +% Actually process the body of a definition +% #1 should be the terminating control sequence, such as \Edefun. +% #2 should be the "another name" control sequence, such as \defunx. +% #3 should be the control sequence that actually processes the header, +% such as \defunheader. -% @defvr category var args -\makedefun{defvr}#1 {\deftypevrheader{#1} {} } +\def\defparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody +\medbreak % +% Define the end token that this defining construct specifies +% so that it will exit this group. +\def#1{\endgraf\endgroup\medbreak}% +\def#2{\begingroup\obeylines\activeparens\spacesplit#3}% +\parindent=0in \leftskip=\defbodyindent % +\begingroup\obeylines\activeparens\spacesplit#3} -% @defcv category class var args -\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} +\def\defmethparsebody #1#2#3#4 {\begingroup\inENV % +\medbreak % +% Define the end token that this defining construct specifies +% so that it will exit this group. +\def#1{\endgraf\endgroup\medbreak}% +\def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}% +\parindent=0in \leftskip=\defbodyindent % +\begingroup\obeylines\activeparens\spacesplit{#3{#4}}} -% \defcvof {category of}class var args -\def\defcvof#1#2 {\deftypecvof{#1}#2 {} } +% Split up #2 at the first space token. +% call #1 with two arguments: +% the first is all of #2 before the space token, +% the second is all of #2 after that space token. +% If #2 contains no space token, all of it is passed as the first arg +% and the second is passed as empty. -%%% Type: -% @deftp category name args -\makedefun{deftp}#1 #2 #3\endheader{% - \doind{tp}{\code{#2}}% - \defname{#1}{}{#2}\defunargs{#3\unskip}% -} +{\obeylines +\gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}% +\long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{% +\ifx\relax #3% +#1{#2}{}\else #1{#2}{#3#4}\fi}} -% Remaining @defun-like shortcuts: -\makedefun{defun}{\deffnheader{\putwordDeffunc} } -\makedefun{defmac}{\deffnheader{\putwordDefmac} } -\makedefun{defspec}{\deffnheader{\putwordDefspec} } -\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } -\makedefun{defvar}{\defvrheader{\putwordDefvar} } -\makedefun{defopt}{\defvrheader{\putwordDefopt} } -\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } -\makedefun{defmethod}{\defopon\putwordMethodon} -\makedefun{deftypemethod}{\deftypeopon\putwordMethodon} -\makedefun{defivar}{\defcvof\putwordInstanceVariableof} -\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} - -% \defname, which formats the name of the @def (not the args). -% #1 is the category, such as "Function". -% #2 is the return type, if any. -% #3 is the function name. -% -% We are followed by (but not passed) the arguments, if any. -% -\def\defname#1#2#3{% - % Get the values of \leftskip and \rightskip as they were outside the @def... - \advance\leftskip by -\defbodyindent - % - % How we'll format the type name. Putting it in brackets helps - % distinguish it from the body text that may end up on the next line - % just below it. - \def\temp{#1}% - \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} - % - % Figure out line sizes for the paragraph shape. - % The first line needs space for \box0; but if \rightskip is nonzero, - % we need only space for the part of \box0 which exceeds it: - \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip - % The continuations: - \dimen2=\hsize \advance\dimen2 by -\defargsindent - % (plain.tex says that \dimen1 should be used only as global.) - \parshape 2 0in \dimen0 \defargsindent \dimen2 - % - % Put the type name to the right margin. - \noindent - \hbox to 0pt{% - \hfil\box0 \kern-\hsize - % \hsize has to be shortened this way: - \kern\leftskip - % Intentionally do not respect \rightskip, since we need the space. - }% - % - % Allow all lines to be underfull without complaint: - \tolerance=10000 \hbadness=10000 - \exdentamount=\defbodyindent - {% - % defun fonts. We use typewriter by default (used to be bold) because: - % . we're printing identifiers, they should be in tt in principle. - % . in languages with many accents, such as Czech or French, it's - % common to leave accents off identifiers. The result looks ok in - % tt, but exceedingly strange in rm. - % . we don't want -- and --- to be treated as ligatures. - % . this still does not fix the ?` and !` ligatures, but so far no - % one has made identifiers using them :). - \df \tt - \def\temp{#2}% return value type - \ifx\temp\empty\else \tclose{\temp} \fi - #3% output function name - }% - {\rm\enskip}% hskip 0.5 em of \tenrm - % - \boldbrax - % arguments will be output next, if any. -} +% So much for the things common to all kinds of definitions. -% Print arguments in slanted roman (not ttsl), inconsistently with using -% tt for the name. This is because literal text is sometimes needed in -% the argument list (groff manual), and ttsl and tt are not very -% distinguishable. Prevent hyphenation at `-' chars. -% -\def\defunargs#1{% - % use sl by default (not ttsl), - % tt for the names. - \df \sl \hyphenchar\font=0 - % - % On the other hand, if an argument has two dashes (for instance), we - % want a way to get ttsl. Let's try @var for that. - \let\var=\ttslanted - #1% - \sl\hyphenchar\font=45 -} +% Define @defun. -% We want ()&[] to print specially on the defun line. -% -\def\activeparens{% - \catcode`\(=\active \catcode`\)=\active - \catcode`\[=\active \catcode`\]=\active - \catcode`\&=\active -} +% First, define the processing that is wanted for arguments of \defun +% Use this to expand the args and terminate the paragraph they make up -% Make control sequences which act like normal parenthesis chars. -\let\lparen = ( \let\rparen = ) +\def\defunargs #1{\functionparens \sl #1% +\ifnum\parencount=0 \else \errmessage{unbalanced parens in @def arguments}\fi% +\interlinepenalty=10000 +\endgraf\vskip -\parskip \penalty 10000} -% Be sure that we always have a definition for `(', etc. For example, -% if the fn name has parens in it, \boldbrax will not be in effect yet, -% so TeX would otherwise complain about undefined control sequence. -{ - \activeparens - \global\let(=\lparen \global\let)=\rparen - \global\let[=\lbrack \global\let]=\rbrack - \global\let& = \& +% Do complete processing of one @defun or @defunx line already parsed. - \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} - \gdef\magicamp{\let&=\amprm} -} +% @deffn Command forward-char nchars -\newcount\parencount +\def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader} -% If we encounter &foo, then turn on ()-hacking afterwards -\newif\ifampseen -\def\amprm#1 {\ampseentrue{\bf\ }} - -\def\parenfont{% - \ifampseen - % At the first level, print parens in roman, - % otherwise use the default font. - \ifnum \parencount=1 \rm \fi - \else - % The \sf parens (in \boldbrax) actually are a little bolder than - % the contained text. This is especially needed for [ and ] . - \sf - \fi -} -\def\infirstlevel#1{% - \ifampseen - \ifnum\parencount=1 - #1% - \fi - \fi -} -\def\bfafterword#1 {#1 \bf} +\def\deffnheader #1#2#3{\doind {fn}{\code{#2}}% +\begingroup\defname {#2}{#1}\defunargs{#3}\endgroup} -\def\opnr{% - \global\advance\parencount by 1 - {\parenfont(}% - \infirstlevel \bfafterword -} -\def\clnr{% - {\parenfont)}% - \infirstlevel \sl - \global\advance\parencount by -1 -} +% @defun == @deffn Function -\newcount\brackcount -\def\lbrb{% - \global\advance\brackcount by 1 - {\bf[}% -} -\def\rbrb{% - {\bf]}% - \global\advance\brackcount by -1 -} +\def\defun{\defparsebody\Edefun\defunx\defunheader} -\def\checkparencounts{% - \ifnum\parencount=0 \else \badparencount \fi - \ifnum\brackcount=0 \else \badbrackcount \fi -} -\def\badparencount{% - \errmessage{Unbalanced parentheses in @def}% - \global\parencount=0 -} -\def\badbrackcount{% - \errmessage{Unbalanced square braces in @def}% - \global\brackcount=0 +\def\defunheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index +\begingroup\defname {#1}{Function}% +\defunargs {#2}\endgroup % } +% @defmac == @deffn Macro -\message{macros,} -% @macro. - -% To do this right we need a feature of e-TeX, \scantokens, -% which we arrange to emulate with a temporary file in ordinary TeX. -\ifx\eTeXversion\undefined - \newwrite\macscribble - \def\scantokens#1{% - \toks0={#1}% - \immediate\openout\macscribble=\jobname.tmp - \immediate\write\macscribble{\the\toks0}% - \immediate\closeout\macscribble - \input \jobname.tmp - } -\fi +\def\defmac{\defparsebody\Edefmac\defmacx\defmacheader} -\def\scanmacro#1{% - \begingroup - \newlinechar`\^^M - \let\xeatspaces\eatspaces - % Undo catcode changes of \startcontents and \doprintindex - % When called from @insertcopying or (short)caption, we need active - % backslash to get it printed correctly. Previously, we had - % \catcode`\\=\other instead. We'll see whether a problem appears - % with macro expansion. --kasal, 19aug04 - \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ - % ... and \example - \spaceisspace - % - % Append \endinput to make sure that TeX does not see the ending newline. - % - % I've verified that it is necessary both for e-TeX and for ordinary TeX - % --kasal, 29nov03 - \scantokens{#1\endinput}% - \endgroup +\def\defmacheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index +\begingroup\defname {#1}{Macro}% +\defunargs {#2}\endgroup % } -\def\scanexp#1{% - \edef\temp{\noexpand\scanmacro{#1}}% - \temp -} +% @defspec == @deffn Special Form -\newcount\paramno % Count of parameters -\newtoks\macname % Macro name -\newif\ifrecursive % Is it recursive? - -% List of all defined macros in the form -% \definedummyword\macro1\definedummyword\macro2... -% Currently is also contains all @aliases; the list can be split -% if there is a need. -\def\macrolist{} - -% Add the macro to \macrolist -\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} -\def\addtomacrolistxxx#1{% - \toks0 = \expandafter{\macrolist\definedummyword#1}% - \xdef\macrolist{\the\toks0}% -} +\def\defspec{\defparsebody\Edefspec\defspecx\defspecheader} -% Utility routines. -% This does \let #1 = #2, with \csnames; that is, -% \let \csname#1\endcsname = \csname#2\endcsname -% (except of course we have to play expansion games). -% -\def\cslet#1#2{% - \expandafter\let - \csname#1\expandafter\endcsname - \csname#2\endcsname +\def\defspecheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index +\begingroup\defname {#1}{Special form}% +\defunargs {#2}\endgroup % } -% Trim leading and trailing spaces off a string. -% Concepts from aro-bend problem 15 (see CTAN). -{\catcode`\@=11 -\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }} -\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@} -\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @} -\def\unbrace#1{#1} -\unbrace{\gdef\trim@@@ #1 } #2@{#1} -} +% This definition is run if you use @defunx +% anywhere other than immediately after a @defun or @defunx. -% Trim a single trailing ^^M off a string. -{\catcode`\^^M=\other \catcode`\Q=3% -\gdef\eatcr #1{\eatcra #1Q^^MQ}% -\gdef\eatcra#1^^MQ{\eatcrb#1Q}% -\gdef\eatcrb#1Q#2Q{#1}% -} +\def\deffnx #1 {\errmessage{@deffnx in invalid context}} +\def\defunx #1 {\errmessage{@defunx in invalid context}} +\def\defmacx #1 {\errmessage{@defmacx in invalid context}} +\def\defspecx #1 {\errmessage{@defspecx in invalid context}} -% Macro bodies are absorbed as an argument in a context where -% all characters are catcode 10, 11 or 12, except \ which is active -% (as in normal texinfo). It is necessary to change the definition of \. - -% It's necessary to have hard CRs when the macro is executed. This is -% done by making ^^M (\endlinechar) catcode 12 when reading the macro -% body, and then making it the \newlinechar in \scanmacro. - -\def\scanctxt{% - \catcode`\"=\other - \catcode`\+=\other - \catcode`\<=\other - \catcode`\>=\other - \catcode`\@=\other - \catcode`\^=\other - \catcode`\_=\other - \catcode`\|=\other - \catcode`\~=\other -} +% @defmethod, and so on -\def\scanargctxt{% - \scanctxt - \catcode`\\=\other - \catcode`\^^M=\other -} +% @defop {Funny Method} foo-class frobnicate argument -\def\macrobodyctxt{% - \scanctxt - \catcode`\{=\other - \catcode`\}=\other - \catcode`\^^M=\other - \usembodybackslash -} +\def\defop #1 {\def\defoptype{#1}% +\defmethparsebody\Edefop\defopx\defopheader} -\def\macroargctxt{% - \scanctxt - \catcode`\\=\other +\def\defopheader #1#2#3{\dosubind {fn}{\code{#2}}{on #1}% Make entry in function index +\begingroup\defname {#2}{\defoptype{} on #1}% +\defunargs {#3}\endgroup % } -% \mbodybackslash is the definition of \ in @macro bodies. -% It maps \foo\ => \csname macarg.foo\endcsname => #N -% where N is the macro parameter number. -% We define \csname macarg.\endcsname to be \realbackslash, so -% \\ in macro replacement text gets you a backslash. - -{\catcode`@=0 @catcode`@\=@active - @gdef@usembodybackslash{@let\=@mbodybackslash} - @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} -} -\expandafter\def\csname macarg.\endcsname{\realbackslash} - -\def\macro{\recursivefalse\parsearg\macroxxx} -\def\rmacro{\recursivetrue\parsearg\macroxxx} - -\def\macroxxx#1{% - \getargs{#1}% now \macname is the macname and \argl the arglist - \ifx\argl\empty % no arguments - \paramno=0% - \else - \expandafter\parsemargdef \argl;% - \fi - \if1\csname ismacro.\the\macname\endcsname - \message{Warning: redefining \the\macname}% - \else - \expandafter\ifx\csname \the\macname\endcsname \relax - \else \errmessage{Macro name \the\macname\space already defined}\fi - \global\cslet{macsave.\the\macname}{\the\macname}% - \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% - \addtomacrolist{\the\macname}% - \fi - \begingroup \macrobodyctxt - \ifrecursive \expandafter\parsermacbody - \else \expandafter\parsemacbody - \fi} - -\parseargdef\unmacro{% - \if1\csname ismacro.#1\endcsname - \global\cslet{#1}{macsave.#1}% - \global\expandafter\let \csname ismacro.#1\endcsname=0% - % Remove the macro name from \macrolist: - \begingroup - \expandafter\let\csname#1\endcsname \relax - \let\definedummyword\unmacrodo - \xdef\macrolist{\macrolist}% - \endgroup - \else - \errmessage{Macro #1 not defined}% - \fi -} +% @defmethod == @defop Method -% Called by \do from \dounmacro on each macro. The idea is to omit any -% macro definitions that have been changed to \relax. -% -\def\unmacrodo#1{% - \ifx #1\relax - % remove this - \else - \noexpand\definedummyword \noexpand#1% - \fi -} +\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader} -% This makes use of the obscure feature that if the last token of a -% is #, then the preceding argument is delimited by -% an opening brace, and that opening brace is not consumed. -\def\getargs#1{\getargsxxx#1{}} -\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} -\def\getmacname #1 #2\relax{\macname={#1}} -\def\getmacargs#1{\def\argl{#1}} - -% Parse the optional {params} list. Set up \paramno and \paramlist -% so \defmacro knows what to do. Define \macarg.blah for each blah -% in the params list, to be ##N where N is the position in that list. -% That gets used by \mbodybackslash (above). - -% We need to get `macro parameter char #' into several definitions. -% The technique used is stolen from LaTeX: let \hash be something -% unexpandable, insert that wherever you need a #, and then redefine -% it to # just before using the token list produced. -% -% The same technique is used to protect \eatspaces till just before -% the macro is used. - -\def\parsemargdef#1;{\paramno=0\def\paramlist{}% - \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,} -\def\parsemargdefxxx#1,{% - \if#1;\let\next=\relax - \else \let\next=\parsemargdefxxx - \advance\paramno by 1% - \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname - {\xeatspaces{\hash\the\paramno}}% - \edef\paramlist{\paramlist\hash\the\paramno,}% - \fi\next} - -% These two commands read recursive and nonrecursive macro bodies. -% (They're different since rec and nonrec macros end differently.) - -\long\def\parsemacbody#1@end macro% -{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% -\long\def\parsermacbody#1@end rmacro% -{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% - -% This defines the macro itself. There are six cases: recursive and -% nonrecursive macros of zero, one, and many arguments. -% Much magic with \expandafter here. -% \xdef is used so that macro definitions will survive the file -% they're defined in; @include reads the file inside a group. -\def\defmacro{% - \let\hash=##% convert placeholders to macro parameter chars - \ifrecursive - \ifcase\paramno - % 0 - \expandafter\xdef\csname\the\macname\endcsname{% - \noexpand\scanmacro{\temp}}% - \or % 1 - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \noexpand\braceorline - \expandafter\noexpand\csname\the\macname xxx\endcsname}% - \expandafter\xdef\csname\the\macname xxx\endcsname##1{% - \egroup\noexpand\scanmacro{\temp}}% - \else % many - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \noexpand\csname\the\macname xx\endcsname}% - \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname xxx\endcsname - \paramlist{\egroup\noexpand\scanmacro{\temp}}% - \fi - \else - \ifcase\paramno - % 0 - \expandafter\xdef\csname\the\macname\endcsname{% - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% - \or % 1 - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \noexpand\braceorline - \expandafter\noexpand\csname\the\macname xxx\endcsname}% - \expandafter\xdef\csname\the\macname xxx\endcsname##1{% - \egroup - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% - \else % many - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \expandafter\noexpand\csname\the\macname xx\endcsname}% - \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname xxx\endcsname - \paramlist{% - \egroup - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% - \fi - \fi} - -\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} - -% \braceorline decides whether the next nonwhitespace character is a -% {. If so it reads up to the closing }, if not, it reads the whole -% line. Whatever was read is then fed to the next control sequence -% as an argument (by \parsebrace or \parsearg) -\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx} -\def\braceorlinexxx{% - \ifx\nchar\bgroup\else - \expandafter\parsearg - \fi \next} - - -% @alias. -% We need some trickery to remove the optional spaces around the equal -% sign. Just make them active and then expand them all to nothing. -\def\alias{\parseargusing\obeyspaces\aliasxxx} -\def\aliasxxx #1{\aliasyyy#1\relax} -\def\aliasyyy #1=#2\relax{% - {% - \expandafter\let\obeyedspace=\empty - \addtomacrolist{#1}% - \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% - }% - \next +\def\defmethodheader #1#2#3{\dosubind {fn}{\code{#2}}{on #1}% entry in function index +\begingroup\defname {#2}{Operation on #1}% +\defunargs {#3}\endgroup % } +% @defcv {Class Option} foo-class foo-flag -\message{cross references,} - -\newwrite\auxfile +\def\defcv #1 {\def\defcvtype{#1}% +\defmethparsebody\Edefcv\defcvx\defcvheader} -\newif\ifhavexrefs % True if xref values are known. -\newif\ifwarnedxrefs % True if we warned once that they aren't known. - -% @inforef is relatively simple. -\def\inforef #1{\inforefzzz #1,,,,**} -\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, - node \samp{\ignorespaces#1{}}} - -% @node's only job in TeX is to define \lastnode, which is used in -% cross-references. The @node line might or might not have commas, and -% might or might not have spaces before the first comma, like: -% @node foo , bar , ... -% We don't want such trailing spaces in the node name. -% -\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} -% -% also remove a trailing comma, in case of something like this: -% @node Help-Cross, , , Cross-refs -\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} -\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} - -\let\nwnode=\node -\let\lastnode=\empty - -% Write a cross-reference definition for the current node. #1 is the -% type (Ynumbered, Yappendix, Ynothing). -% -\def\donoderef#1{% - \ifx\lastnode\empty\else - \setref{\lastnode}{#1}% - \global\let\lastnode=\empty - \fi -} - -% @anchor{NAME} -- define xref target at arbitrary point. -% -\newcount\savesfregister -% -\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} -\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} -\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} - -% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an -% anchor), which consists of three parts: -% 1) NAME-title - the current sectioning name taken from \thissection, -% or the anchor name. -% 2) NAME-snt - section number and type, passed as the SNT arg, or -% empty for anchors. -% 3) NAME-pg - the page number. -% -% This is called from \donoderef, \anchor, and \dofloat. In the case of -% floats, there is an additional part, which is not written here: -% 4) NAME-lof - the text as it should appear in a @listoffloats. -% -\def\setref#1#2{% - \pdfmkdest{#1}% - \iflinks - {% - \atdummies % preserve commands, but don't expand them - \edef\writexrdef##1##2{% - \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef - ##1}{##2}}% these are parameters of \writexrdef - }% - \toks0 = \expandafter{\thissection}% - \immediate \writexrdef{title}{\the\toks0 }% - \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. - \writexrdef{pg}{\folio}% will be written later, during \shipout - }% - \fi +\def\defcvarheader #1#2#3{% +\dosubind {vr}{\code{#2}}{of #1}% Make entry in var index +\begingroup\defname {#2}{\defcvtype of #1}% +\defvarargs {#3}\endgroup % } -% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is -% the node name, #2 the name of the Info cross-reference, #3 the printed -% node name, #4 the name of the Info file, #5 the name of the printed -% manual. All but the node name can be omitted. -% -\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]} -\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} -\def\ref#1{\xrefX[#1,,,,,,,]} -\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup - \unsepspaces - \def\printedmanual{\ignorespaces #5}% - \def\printedrefname{\ignorespaces #3}% - \setbox1=\hbox{\printedmanual\unskip}% - \setbox0=\hbox{\printedrefname\unskip}% - \ifdim \wd0 = 0pt - % No printed node name was explicitly given. - \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax - % Use the node name inside the square brackets. - \def\printedrefname{\ignorespaces #1}% - \else - % Use the actual chapter/section title appear inside - % the square brackets. Use the real section title if we have it. - \ifdim \wd1 > 0pt - % It is in another manual, so we don't have it. - \def\printedrefname{\ignorespaces #1}% - \else - \ifhavexrefs - % We know the real title if we have the xref values. - \def\printedrefname{\refx{#1-title}{}}% - \else - % Otherwise just copy the Info node name. - \def\printedrefname{\ignorespaces #1}% - \fi% - \fi - \fi - \fi - % - % Make link in pdf output. - \ifpdf - \leavevmode - \getfilename{#4}% - {\turnoffactive - % See comments at \activebackslashdouble. - {\activebackslashdouble \xdef\pdfxrefdest{#1}% - \backslashparens\pdfxrefdest}% - % - \ifnum\filenamelength>0 - \startlink attr{/Border [0 0 0]}% - goto file{\the\filename.pdf} name{\pdfxrefdest}% - \else - \startlink attr{/Border [0 0 0]}% - goto name{\pdfmkpgn{\pdfxrefdest}}% - \fi - }% - \linkcolor - \fi - % - % Float references are printed completely differently: "Figure 1.2" - % instead of "[somenode], p.3". We distinguish them by the - % LABEL-title being set to a magic string. - {% - % Have to otherify everything special to allow the \csname to - % include an _ in the xref name, etc. - \indexnofonts - \turnoffactive - \expandafter\global\expandafter\let\expandafter\Xthisreftitle - \csname XR#1-title\endcsname - }% - \iffloat\Xthisreftitle - % If the user specified the print name (third arg) to the ref, - % print it instead of our usual "Figure 1.2". - \ifdim\wd0 = 0pt - \refx{#1-snt}{}% - \else - \printedrefname - \fi - % - % if the user also gave the printed manual name (fifth arg), append - % "in MANUALNAME". - \ifdim \wd1 > 0pt - \space \putwordin{} \cite{\printedmanual}% - \fi - \else - % node/anchor (non-float) references. - % - % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not - % insert empty discretionaries after hyphens, which means that it will - % not find a line break at a hyphen in a node names. Since some manuals - % are best written with fairly long node names, containing hyphens, this - % is a loss. Therefore, we give the text of the node name again, so it - % is as if TeX is seeing it for the first time. - \ifdim \wd1 > 0pt - \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% - \else - % _ (for example) has to be the character _ for the purposes of the - % control sequence corresponding to the node, but it has to expand - % into the usual \leavevmode...\vrule stuff for purposes of - % printing. So we \turnoffactive for the \refx-snt, back on for the - % printing, back off for the \refx-pg. - {\turnoffactive - % Only output a following space if the -snt ref is nonempty; for - % @unnumbered and @anchor, it won't be. - \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% - \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi - }% - % output the `[mynode]' via a macro so it can be overridden. - \xrefprintnodename\printedrefname - % - % But we always want a comma and a space: - ,\space - % - % output the `page 3'. - \turnoffactive \putwordpage\tie\refx{#1-pg}{}% - \fi - \fi - \endlink -\endgroup} - -% This macro is called from \xrefX for the `[nodename]' part of xref -% output. It's a separate macro only so it can be changed more easily, -% since square brackets don't work well in some documents. Particularly -% one that Bob is working on :). -% -\def\xrefprintnodename#1{[#1]} +% @defivar == @defcv {Instance Variable} -% Things referred to by \setref. -% -\def\Ynothing{} -\def\Yomitfromtoc{} -\def\Ynumbered{% - \ifnum\secno=0 - \putwordChapter@tie \the\chapno - \else \ifnum\subsecno=0 - \putwordSection@tie \the\chapno.\the\secno - \else \ifnum\subsubsecno=0 - \putwordSection@tie \the\chapno.\the\secno.\the\subsecno - \else - \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno - \fi\fi\fi -} -\def\Yappendix{% - \ifnum\secno=0 - \putwordAppendix@tie @char\the\appendixno{}% - \else \ifnum\subsecno=0 - \putwordSection@tie @char\the\appendixno.\the\secno - \else \ifnum\subsubsecno=0 - \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno - \else - \putwordSection@tie - @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno - \fi\fi\fi -} +\def\defivar{\defmethparsebody\Edefivar\defivarx\defivarheader} -% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME. -% If its value is nonempty, SUFFIX is output afterward. -% -\def\refx#1#2{% - {% - \indexnofonts - \otherbackslash - \expandafter\global\expandafter\let\expandafter\thisrefX - \csname XR#1\endcsname - }% - \ifx\thisrefX\relax - % If not defined, say something at least. - \angleleft un\-de\-fined\angleright - \iflinks - \ifhavexrefs - \message{\linenumber Undefined cross reference `#1'.}% - \else - \ifwarnedxrefs\else - \global\warnedxrefstrue - \message{Cross reference values unknown; you must run TeX again.}% - \fi - \fi - \fi - \else - % It's defined, so just use it. - \thisrefX - \fi - #2% Output the suffix in any case. +\def\defivarheader #1#2#3{% +\dosubind {vr}{\code{#2}}{of #1}% Make entry in var index +\begingroup\defname {#2}{Instance variable of #1}% +\defvarargs {#3}\endgroup % } -% This is the macro invoked by entries in the aux file. Usually it's -% just a \def (we prepend XR to the control sequence name to avoid -% collisions). But if this is a float type, we have more work to do. -% -\def\xrdef#1#2{% - \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value. - % - % Was that xref control sequence that we just defined for a float? - \expandafter\iffloat\csname XR#1\endcsname - % it was a float, and we have the (safe) float type in \iffloattype. - \expandafter\let\expandafter\floatlist - \csname floatlist\iffloattype\endcsname - % - % Is this the first time we've seen this float type? - \expandafter\ifx\floatlist\relax - \toks0 = {\do}% yes, so just \do - \else - % had it before, so preserve previous elements in list. - \toks0 = \expandafter{\floatlist\do}% - \fi - % - % Remember this xref in the control sequence \floatlistFLOATTYPE, - % for later use in \listoffloats. - \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}% - \fi -} +% These definitions are run if you use @defmethodx, etc., +% anywhere other than immediately after a @defmethod, etc. -% Read the last existing aux file, if any. No error if none exists. -% -\def\tryauxfile{% - \openin 1 \jobname.aux - \ifeof 1 \else - \readdatafile{aux}% - \global\havexrefstrue - \fi - \closein 1 -} +\def\defopx #1 {\errmessage{@defopx in invalid context}} +\def\defmethodx #1 {\errmessage{@defmethodx in invalid context}} +\def\defcvx #1 {\errmessage{@defcvx in invalid context}} +\def\defivarx #1 {\errmessage{@defivarx in invalid context}} -\def\setupdatafile{% - \catcode`\^^@=\other - \catcode`\^^A=\other - \catcode`\^^B=\other - \catcode`\^^C=\other - \catcode`\^^D=\other - \catcode`\^^E=\other - \catcode`\^^F=\other - \catcode`\^^G=\other - \catcode`\^^H=\other - \catcode`\^^K=\other - \catcode`\^^L=\other - \catcode`\^^N=\other - \catcode`\^^P=\other - \catcode`\^^Q=\other - \catcode`\^^R=\other - \catcode`\^^S=\other - \catcode`\^^T=\other - \catcode`\^^U=\other - \catcode`\^^V=\other - \catcode`\^^W=\other - \catcode`\^^X=\other - \catcode`\^^Z=\other - \catcode`\^^[=\other - \catcode`\^^\=\other - \catcode`\^^]=\other - \catcode`\^^^=\other - \catcode`\^^_=\other - % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc. - % in xref tags, i.e., node names. But since ^^e4 notation isn't - % supported in the main text, it doesn't seem desirable. Furthermore, - % that is not enough: for node names that actually contain a ^ - % character, we would end up writing a line like this: 'xrdef {'hat - % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first - % argument, and \hat is not an expandable control sequence. It could - % all be worked out, but why? Either we support ^^ or we don't. - % - % The other change necessary for this was to define \auxhat: - % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter - % and then to call \auxhat in \setq. - % - \catcode`\^=\other - % - % Special characters. Should be turned off anyway, but... - \catcode`\~=\other - \catcode`\[=\other - \catcode`\]=\other - \catcode`\"=\other - \catcode`\_=\other - \catcode`\|=\other - \catcode`\<=\other - \catcode`\>=\other - \catcode`\$=\other - \catcode`\#=\other - \catcode`\&=\other - \catcode`\%=\other - \catcode`+=\other % avoid \+ for paranoia even though we've turned it off - % - % This is to support \ in node names and titles, since the \ - % characters end up in a \csname. It's easier than - % leaving it active and making its active definition an actual \ - % character. What I don't understand is why it works in the *value* - % of the xrdef. Seems like it should be a catcode12 \, and that - % should not typeset properly. But it works, so I'm moving on for - % now. --karl, 15jan04. - \catcode`\\=\other - % - % Make the characters 128-255 be printing characters. - {% - \count1=128 - \def\loop{% - \catcode\count1=\other - \advance\count1 by 1 - \ifnum \count1<256 \loop \fi - }% - }% - % - % @ is our escape character in .aux files, and we need braces. - \catcode`\{=1 - \catcode`\}=2 - \catcode`\@=0 -} +% Now @defvar -\def\readdatafile#1{% -\begingroup - \setupdatafile - \input\jobname.#1 -\endgroup} +% First, define the processing that is wanted for arguments of @defvar. +% This is actually simple: just print them in roman. +% This must expand the args and terminate the paragraph they make up +\def\defvarargs #1{\normalparens #1% +\interlinepenalty=10000 +\endgraf\vskip -\parskip \penalty 10000} -\message{insertions,} -% including footnotes. +% @defvr Counter foo-count -\newcount \footnoteno +\def\defvr{\defmethparsebody\Edefvr\defvrx\defvrheader} -% The trailing space in the following definition for supereject is -% vital for proper filling; pages come out unaligned when you do a -% pagealignmacro call if that space before the closing brace is -% removed. (Generally, numeric constants should always be followed by a -% space to prevent strange expansion errors.) -\def\supereject{\par\penalty -20000\footnoteno =0 } +\def\defvrheader #1#2#3{\doind {vr}{\code{#2}}% +\begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup} -% @footnotestyle is meaningful for info output only. -\let\footnotestyle=\comment +% @defvar == @defvr Variable -{\catcode `\@=11 -% -% Auto-number footnotes. Otherwise like plain. -\gdef\footnote{% - \let\indent=\ptexindent - \let\noindent=\ptexnoindent - \global\advance\footnoteno by \@ne - \edef\thisfootno{$^{\the\footnoteno}$}% - % - % In case the footnote comes at the end of a sentence, preserve the - % extra spacing after we do the footnote number. - \let\@sf\empty - \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi - % - % Remove inadvertent blank space before typesetting the footnote number. - \unskip - \thisfootno\@sf - \dofootnote -}% +\def\defvar{\defparsebody\Edefvar\defvarx\defvarheader} -% Don't bother with the trickery in plain.tex to not require the -% footnote text as a parameter. Our footnotes don't need to be so general. -% -% Oh yes, they do; otherwise, @ifset (and anything else that uses -% \parseargline) fails inside footnotes because the tokens are fixed when -% the footnote is read. --karl, 16nov96. -% -\gdef\dofootnote{% - \insert\footins\bgroup - % We want to typeset this text as a normal paragraph, even if the - % footnote reference occurs in (for example) a display environment. - % So reset some parameters. - \hsize=\pagewidth - \interlinepenalty\interfootnotelinepenalty - \splittopskip\ht\strutbox % top baseline for broken footnotes - \splitmaxdepth\dp\strutbox - \floatingpenalty\@MM - \leftskip\z@skip - \rightskip\z@skip - \spaceskip\z@skip - \xspaceskip\z@skip - \parindent\defaultparindent - % - \smallfonts \rm - % - % Because we use hanging indentation in footnotes, a @noindent appears - % to exdent this text, so make it be a no-op. makeinfo does not use - % hanging indentation so @noindent can still be needed within footnote - % text after an @example or the like (not that this is good style). - \let\noindent = \relax - % - % Hang the footnote text off the number. Use \everypar in case the - % footnote extends for more than one paragraph. - \everypar = {\hang}% - \textindent{\thisfootno}% - % - % Don't crash into the line above the footnote text. Since this - % expands into a box, it must come within the paragraph, lest it - % provide a place where TeX can split the footnote. - \footstrut - \futurelet\next\fo@t +\def\defvarheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index +\begingroup\defname {#1}{Variable}% +\defvarargs {#2}\endgroup % } -}%end \catcode `\@=11 -% In case a @footnote appears in a vbox, save the footnote text and create -% the real \insert just after the vbox finished. Otherwise, the insertion -% would be lost. -% Similarily, if a @footnote appears inside an alignment, save the footnote -% text to a box and make the \insert when a row of the table is finished. -% And the same can be done for other insert classes. --kasal, 16nov03. +% @defopt == @defvr {User Option} -% Replace the \insert primitive by a cheating macro. -% Deeper inside, just make sure that the saved insertions are not spilled -% out prematurely. -% -\def\startsavinginserts{% - \ifx \insert\ptexinsert - \let\insert\saveinsert - \else - \let\checkinserts\relax - \fi -} +\def\defopt{\defparsebody\Edefopt\defoptx\defoptheader} -% This \insert replacement works for both \insert\footins{foo} and -% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. -% -\def\saveinsert#1{% - \edef\next{\noexpand\savetobox \makeSAVEname#1}% - \afterassignment\next - % swallow the left brace - \let\temp = +\def\defoptheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index +\begingroup\defname {#1}{User Option}% +\defvarargs {#2}\endgroup % } -\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} -\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} -\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} +% This definition is run if you use @defvarx +% anywhere other than immediately after a @defvar or @defvarx. -\def\placesaveins#1{% - \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname - {\box#1}% -} +\def\defvrx #1 {\errmessage{@defvrx in invalid context}} +\def\defvarx #1 {\errmessage{@defvarx in invalid context}} +\def\defoptx #1 {\errmessage{@defoptx in invalid context}} -% eat @SAVE -- beware, all of them have catcode \other: -{ - \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) - \gdef\gobblesave @SAVE{} -} +% Now define @deftp +% Args are printed in bold, a slight difference from @defvar. -% initialization: -\def\newsaveins #1{% - \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% - \next -} -\def\newsaveinsX #1{% - \csname newbox\endcsname #1% - \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts - \checksaveins #1}% -} +\def\deftpargs #1{\bf \defvarargs{#1}} -% initialize: -\let\checkinserts\empty -\newsaveins\footins -\newsaveins\margin +% @deftp Class window height width ... +\def\deftp{\defmethparsebody\Edeftp\deftpx\deftpheader} -% @image. We use the macros from epsf.tex to support this. -% If epsf.tex is not installed and @image is used, we complain. -% -% Check for and read epsf.tex up front. If we read it only at @image -% time, we might be inside a group, and then its definitions would get -% undone and the next image would fail. -\openin 1 = epsf.tex -\ifeof 1 \else - % Do not bother showing banner with epsf.tex v2.7k (available in - % doc/epsf.tex and on ctan). - \def\epsfannounce{\toks0 = }% - \input epsf.tex -\fi -\closein 1 -% -% We will only complain once about lack of epsf.tex. -\newif\ifwarnednoepsf -\newhelp\noepsfhelp{epsf.tex must be installed for images to - work. It is also included in the Texinfo distribution, or you can get - it from ftp://tug.org/tex/epsf.tex.} -% -\def\image#1{% - \ifx\epsfbox\undefined - \ifwarnednoepsf \else - \errhelp = \noepsfhelp - \errmessage{epsf.tex not found, images will be ignored}% - \global\warnednoepsftrue - \fi - \else - \imagexxx #1,,,,,\finish - \fi -} -% -% Arguments to @image: -% #1 is (mandatory) image filename; we tack on .eps extension. -% #2 is (optional) width, #3 is (optional) height. -% #4 is (ignored optional) html alt text. -% #5 is (ignored optional) extension. -% #6 is just the usual extra ignored arg for parsing this stuff. -\newif\ifimagevmode -\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup - \catcode`\^^M = 5 % in case we're inside an example - \normalturnoffactive % allow _ et al. in names - % If the image is by itself, center it. - \ifvmode - \imagevmodetrue - \nobreak\bigskip - % Usually we'll have text after the image which will insert - % \parskip glue, so insert it here too to equalize the space - % above and below. - \nobreak\vskip\parskip - \nobreak - \line\bgroup - \fi - % - % Output the image. - \ifpdf - \dopdfimage{#1}{#2}{#3}% - \else - % \epsfbox itself resets \epsf?size at each figure. - \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi - \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi - \epsfbox{#1.eps}% - \fi - % - \ifimagevmode \egroup \bigbreak \fi % space after the image -\endgroup} - - -% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, -% etc. We don't actually implement floating yet, we always include the -% float "here". But it seemed the best name for the future. -% -\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} +\def\deftpheader #1#2#3{\doind {tp}{\code{#2}}% +\begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup} -% There may be a space before second and/or third parameter; delete it. -\def\eatcommaspace#1, {#1,} +% This definition is run if you use @deftpx, etc +% anywhere other than immediately after a @deftp, etc. -% #1 is the optional FLOATTYPE, the text label for this float, typically -% "Figure", "Table", "Example", etc. Can't contain commas. If omitted, -% this float will not be numbered and cannot be referred to. -% -% #2 is the optional xref label. Also must be present for the float to -% be referable. -% -% #3 is the optional positioning argument; for now, it is ignored. It -% will somehow specify the positions allowed to float to (here, top, bottom). -% -% We keep a separate counter for each FLOATTYPE, which we reset at each -% chapter-level command. -\let\resetallfloatnos=\empty -% -\def\dofloat#1,#2,#3,#4\finish{% - \let\thiscaption=\empty - \let\thisshortcaption=\empty - % - % don't lose footnotes inside @float. - % - % BEWARE: when the floats start float, we have to issue warning whenever an - % insert appears inside a float which could possibly float. --kasal, 26may04 - % - \startsavinginserts - % - % We can't be used inside a paragraph. - \par - % - \vtop\bgroup - \def\floattype{#1}% - \def\floatlabel{#2}% - \def\floatloc{#3}% we do nothing with this yet. - % - \ifx\floattype\empty - \let\safefloattype=\empty - \else - {% - % the floattype might have accents or other special characters, - % but we need to use it in a control sequence name. - \indexnofonts - \turnoffactive - \xdef\safefloattype{\floattype}% - }% - \fi - % - % If label is given but no type, we handle that as the empty type. - \ifx\floatlabel\empty \else - % We want each FLOATTYPE to be numbered separately (Figure 1, - % Table 1, Figure 2, ...). (And if no label, no number.) - % - \expandafter\getfloatno\csname\safefloattype floatno\endcsname - \global\advance\floatno by 1 - % - {% - % This magic value for \thissection is output by \setref as the - % XREFLABEL-title value. \xrefX uses it to distinguish float - % labels (which have a completely different output format) from - % node and anchor labels. And \xrdef uses it to construct the - % lists of floats. - % - \edef\thissection{\floatmagic=\safefloattype}% - \setref{\floatlabel}{Yfloat}% - }% - \fi - % - % start with \parskip glue, I guess. - \vskip\parskip - % - % Don't suppress indentation if a float happens to start a section. - \restorefirstparagraphindent -} +\def\deftpx #1 {\errmessage{@deftpx in invalid context}} -% we have these possibilities: -% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap -% @float Foo,lbl & no caption: Foo 1.1 -% @float Foo & @caption{Cap}: Foo: Cap -% @float Foo & no caption: Foo -% @float ,lbl & Caption{Cap}: 1.1: Cap -% @float ,lbl & no caption: 1.1 -% @float & @caption{Cap}: Cap -% @float & no caption: -% -\def\Efloat{% - \let\floatident = \empty - % - % In all cases, if we have a float type, it comes first. - \ifx\floattype\empty \else \def\floatident{\floattype}\fi - % - % If we have an xref label, the number comes next. - \ifx\floatlabel\empty \else - \ifx\floattype\empty \else % if also had float type, need tie first. - \appendtomacro\floatident{\tie}% - \fi - % the number. - \appendtomacro\floatident{\chaplevelprefix\the\floatno}% - \fi - % - % Start the printed caption with what we've constructed in - % \floatident, but keep it separate; we need \floatident again. - \let\captionline = \floatident - % - \ifx\thiscaption\empty \else - \ifx\floatident\empty \else - \appendtomacro\captionline{: }% had ident, so need a colon between - \fi - % - % caption text. - \appendtomacro\captionline{\scanexp\thiscaption}% - \fi - % - % If we have anything to print, print it, with space before. - % Eventually this needs to become an \insert. - \ifx\captionline\empty \else - \vskip.5\parskip - \captionline - % - % Space below caption. - \vskip\parskip - \fi - % - % If have an xref label, write the list of floats info. Do this - % after the caption, to avoid chance of it being a breakpoint. - \ifx\floatlabel\empty \else - % Write the text that goes in the lof to the aux file as - % \floatlabel-lof. Besides \floatident, we include the short - % caption if specified, else the full caption if specified, else nothing. - {% - \atdummies - % - % since we read the caption text in the macro world, where ^^M - % is turned into a normal character, we have to scan it back, so - % we don't write the literal three characters "^^M" into the aux file. - \scanexp{% - \xdef\noexpand\gtemp{% - \ifx\thisshortcaption\empty - \thiscaption - \else - \thisshortcaption - \fi - }% - }% - \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident - \ifx\gtemp\empty \else : \gtemp \fi}}% - }% - \fi - \egroup % end of \vtop - % - % place the captured inserts - % - % BEWARE: when the floats start floating, we have to issue warning - % whenever an insert appears inside a float which could possibly - % float. --kasal, 26may04 - % - \checkinserts -} +\message{cross reference,} +% Define cross-reference macros +\newwrite \auxfile -% Append the tokens #2 to the definition of macro #1, not expanding either. -% -\def\appendtomacro#1#2{% - \expandafter\def\expandafter#1\expandafter{#1#2}% -} +% \setref{foo} defines a cross-reference point named foo. -% @caption, @shortcaption -% -\def\caption{\docaption\thiscaption} -\def\shortcaption{\docaption\thisshortcaption} -\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} -\def\defcaption#1#2{\egroup \def#1{#2}} - -% The parameter is the control sequence identifying the counter we are -% going to use. Create it if it doesn't exist and assign it to \floatno. -\def\getfloatno#1{% - \ifx#1\relax - % Haven't seen this figure type before. - \csname newcount\endcsname #1% - % - % Remember to reset this floatno at the next chap. - \expandafter\gdef\expandafter\resetallfloatnos - \expandafter{\resetallfloatnos #1=0 }% - \fi - \let\floatno#1% -} +\def\setref#1{% +\dosetq{#1-pg}{Ypagenumber}% +\dosetq{#1-snt}{Ysectionnumberandtype}} -% \setref calls this to get the XREFLABEL-snt value. We want an @xref -% to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we -% first read the @float command. -% -\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% +\def\unnumbsetref#1{% +\dosetq{#1-pg}{Ypagenumber}% +\dosetq{#1-snt}{Ynothing}} -% Magic string used for the XREFLABEL-title value, so \xrefX can -% distinguish floats from other xref types. -\def\floatmagic{!!float!!} +% \xref and \pxref generate cross references to specified points. -% #1 is the control sequence we are passed; we expand into a conditional -% which is true if #1 represents a float ref. That is, the magic -% \thissection value which we \setref above. -% -\def\iffloat#1{\expandafter\doiffloat#1==\finish} -% -% #1 is (maybe) the \floatmagic string. If so, #2 will be the -% (safe) float type for this float. We set \iffloattype to #2. -% -\def\doiffloat#1=#2=#3\finish{% - \def\temp{#1}% - \def\iffloattype{#2}% - \ifx\temp\floatmagic -} +\def\pxref #1{see \xrefX [#1,,,,,,,]} +\def\xref #1{See \xrefX [#1,,,,,,,]} +\def\xrefX [#1,#2,#3,#4,#5,#6]{% +\setbox1=\hbox{\i{\losespace#5{}}}% +\setbox0=\hbox{\losespace#3{}}% +\ifdim \wd0 =0pt \setbox0=\hbox{\losespace#1{}}\fi% +\ifdim \wd1 >0pt% +section \unhbox0{} in \unhbox1% +\else% +\refx{#1-snt} [\unhbox0], page\tie \refx{#1-pg}% +\fi } -% @listoffloats FLOATTYPE - print a list of floats like a table of contents. -% -\parseargdef\listoffloats{% - \def\floattype{#1}% floattype - {% - % the floattype might have accents or other special characters, - % but we need to use it in a control sequence name. - \indexnofonts - \turnoffactive - \xdef\safefloattype{\floattype}% - }% - % - % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. - \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax - \ifhavexrefs - % if the user said @listoffloats foo but never @float foo. - \message{\linenumber No `\safefloattype' floats to list.}% - \fi - \else - \begingroup - \leftskip=\tocindent % indent these entries like a toc - \let\do=\listoffloatsdo - \csname floatlist\safefloattype\endcsname - \endgroup - \fi -} +% \dosetq is the interface for calls from other macros -% This is called on each entry in a list of floats. We're passed the -% xref label, in the form LABEL-title, which is how we save it in the -% aux file. We strip off the -title and look up \XRLABEL-lof, which -% has the text we're supposed to typeset here. -% -% Figures without xref labels will not be included in the list (since -% they won't appear in the aux file). -% -\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} -\def\listoffloatsdoentry#1-title\finish{{% - % Can't fully expand XR#1-lof because it can contain anything. Just - % pass the control sequence. On the other hand, XR#1-pg is just the - % page number, and we want to fully expand that so we can get a link - % in pdf output. - \toksA = \expandafter{\csname XR#1-lof\endcsname}% - % - % use the same \entry macro we use to generate the TOC and index. - \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% - \writeentry -}} +\def\dosetq #1#2{{\let\folio=0% +\edef\next{\write\auxfile{\internalsetq {#1}{#2}}}% +\next}} -\message{localization,} -% and i18n. +% \internalsetq {foo}{page} expands into CHARACTERS 'xrdef {foo}{...expansion of \Ypage...} +% When the aux file is read, ' is the escape character -% @documentlanguage is usually given very early, just after -% @setfilename. If done too late, it may not override everything -% properly. Single argument is the language abbreviation. -% It would be nice if we could set up a hyphenation file here. -% -\parseargdef\documentlanguage{% - \tex % read txi-??.tex file in plain TeX. - % Read the file if it exists. - \openin 1 txi-#1.tex - \ifeof 1 - \errhelp = \nolanghelp - \errmessage{Cannot read language file txi-#1.tex}% - \else - \input txi-#1.tex - \fi - \closein 1 - \endgroup -} -\newhelp\nolanghelp{The given language definition file cannot be found or -is empty. Maybe you need to install it? In the current directory -should work if nowhere else does.} +\def\internalsetq #1#2{'xrdef {#1}{\csname #2\endcsname}} +% Things to be expanded by \internalsetq -% @documentencoding should change something in TeX eventually, most -% likely, but for now just recognize it. -\let\documentencoding = \comment +\def\Ypagenumber{\folio} +\def\Ynothing{} -% Page size parameters. -% -\newdimen\defaultparindent \defaultparindent = 15pt +\def\Ysectionnumberandtype{% +\ifnum\secno=0 chapter\xreftie\the\chapno % +\else \ifnum \subsecno=0 section\xreftie\the\chapno.\the\secno % +\else \ifnum \subsubsecno=0 % +section\xreftie\the\chapno.\the\secno.\the\subsecno % +\else % +section\xreftie\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno % +\fi \fi \fi } + +\gdef\xreftie{'tie} + +% Define @refx to reference a specific cross-reference string. + +\def\refx#1{% +{% +\expandafter\ifx\csname X#1\endcsname\relax +% If not defined, say something at least. +\expandafter\gdef\csname X#1\endcsname {$<$undefined$>$}% +\message {WARNING: Cross-reference "#1" used but not yet defined}% +\message {}% +\fi % +\csname X#1\endcsname %It's defined, so just use it. +}} -\chapheadingskip = 15pt plus 4pt minus 2pt -\secheadingskip = 12pt plus 3pt minus 2pt -\subsecheadingskip = 9pt plus 2pt minus 2pt +% Read the last existing aux file, if any. No error if none exists. -% Prevent underfull vbox error messages. -\vbadness = 10000 +% This is the macro invoked by entries in the aux file. +\def\xrdef #1#2{ +{\catcode`\'=\other\expandafter \gdef \csname X#1\endcsname {#2}}} -% Don't be so finicky about underfull hboxes, either. -\hbadness = 2000 +{ +\catcode `\^^@=\other +\catcode `\=\other +\catcode `\=\other +\catcode `\^^C=\other +\catcode `\^^D=\other +\catcode `\^^E=\other +\catcode `\^^F=\other +\catcode `\^^G=\other +\catcode `\^^H=\other +\catcode `\ =\other +\catcode `\^^L=\other +\catcode `\=\other +\catcode `\=\other +\catcode `\=\other +\catcode `\=\other +\catcode `\=\other +\catcode `\=\other +\catcode `\=\other +\catcode `\=\other +\catcode `\=\other +\catcode `\=\other +\catcode `\=\other +\catcode `\=\other +\catcode `\=\other +\catcode `\^^[=\other +\catcode `\^^\=\other +\catcode `\^^]=\other +\catcode `\^^^=\other +\catcode `\^^_=\other +\catcode `\@=\other +\catcode `\^=\other +\catcode `\~=\other +\catcode `\[=\other +\catcode `\]=\other +\catcode`\"=\other +\catcode`\_=\other +\catcode`\|=\other +\catcode`\<=\other +\catcode`\>=\other +\catcode `\$=\other +\catcode `\#=\other +\catcode `\&=\other -% Following George Bush, just get rid of widows and orphans. -\widowpenalty=10000 -\clubpenalty=10000 +% the aux file uses ' as the escape. +% Turn off \ as an escape so we do not lose on +% entries which were dumped with control sequences in their names. +% For example, 'xrdef {$\leq $-fun}{page ...} made by @defun ^^ +% Reference to such entries still does not work the way one would wish, +% but at least they do not bomb out when the aux file is read in. -% Use TeX 3.0's \emergencystretch to help line breaking, but if we're -% using an old version of TeX, don't do anything. We want the amount of -% stretch added to depend on the line length, hence the dependence on -% \hsize. We call this whenever the paper size is set. -% -\def\setemergencystretch{% - \ifx\emergencystretch\thisisundefined - % Allow us to assign to \emergencystretch anyway. - \def\emergencystretch{\dimen0}% - \else - \emergencystretch = .15\hsize - \fi -} +\catcode `\{=1 \catcode `\}=2 +\catcode `\%=\other +\catcode `\'=0 +\catcode `\\=\other -% Parameters in order: 1) textheight; 2) textwidth; -% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; -% 7) physical page height; 8) physical page width. -% -% We also call \setleading{\textleading}, so the caller should define -% \textleading. The caller should also set \parskip. -% -\def\internalpagesizes#1#2#3#4#5#6#7#8{% - \voffset = #3\relax - \topskip = #6\relax - \splittopskip = \topskip - % - \vsize = #1\relax - \advance\vsize by \topskip - \outervsize = \vsize - \advance\outervsize by 2\topandbottommargin - \pageheight = \vsize - % - \hsize = #2\relax - \outerhsize = \hsize - \advance\outerhsize by 0.5in - \pagewidth = \hsize - % - \normaloffset = #4\relax - \bindingoffset = #5\relax - % - \ifpdf - \pdfpageheight #7\relax - \pdfpagewidth #8\relax - \fi - % - \setleading{\textleading} - % - \parindent = \defaultparindent - \setemergencystretch +'openin 1 'jobname.aux +'ifeof 1 'else 'closein 1 'input 'jobname.aux +'fi } -% @letterpaper (the default). -\def\letterpaper{{\globaldefs = 1 - \parskip = 3pt plus 2pt minus 1pt - \textleading = 13.2pt - % - % If page is nothing but text, make it come out even. - \internalpagesizes{46\baselineskip}{6in}% - {\voffset}{.25in}% - {\bindingoffset}{36pt}% - {11in}{8.5in}% -}} - -% Use @smallbook to reset parameters for 7x9.25 trim size. -\def\smallbook{{\globaldefs = 1 - \parskip = 2pt plus 1pt - \textleading = 12pt - % - \internalpagesizes{7.5in}{5in}% - {\voffset}{.25in}% - {\bindingoffset}{16pt}% - {9.25in}{7in}% - % - \lispnarrowing = 0.3in - \tolerance = 700 - \hfuzz = 1pt - \contentsrightmargin = 0pt - \defbodyindent = .5cm -}} +% Open the new aux file. Tex will close it automatically at exit. -% Use @smallerbook to reset parameters for 6x9 trim size. -% (Just testing, parameters still in flux.) -\def\smallerbook{{\globaldefs = 1 - \parskip = 1.5pt plus 1pt - \textleading = 12pt - % - \internalpagesizes{7.4in}{4.8in}% - {-.2in}{-.4in}% - {0pt}{14pt}% - {9in}{6in}% - % - \lispnarrowing = 0.25in - \tolerance = 700 - \hfuzz = 1pt - \contentsrightmargin = 0pt - \defbodyindent = .4cm -}} +\openout \auxfile=\jobname.aux -% Use @afourpaper to print on European A4 paper. -\def\afourpaper{{\globaldefs = 1 - \parskip = 3pt plus 2pt minus 1pt - \textleading = 13.2pt - % - % Double-side printing via postscript on Laserjet 4050 - % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. - % To change the settings for a different printer or situation, adjust - % \normaloffset until the front-side and back-side texts align. Then - % do the same for \bindingoffset. You can set these for testing in - % your texinfo source file like this: - % @tex - % \global\normaloffset = -6mm - % \global\bindingoffset = 10mm - % @end tex - \internalpagesizes{51\baselineskip}{160mm} - {\voffset}{\hoffset}% - {\bindingoffset}{44pt}% - {297mm}{210mm}% - % - \tolerance = 700 - \hfuzz = 1pt - \contentsrightmargin = 0pt - \defbodyindent = 5mm -}} +% Footnotes. -% Use @afivepaper to print on European A5 paper. -% From romildo@urano.iceb.ufop.br, 2 July 2000. -% He also recommends making @example and @lisp be small. -\def\afivepaper{{\globaldefs = 1 - \parskip = 2pt plus 1pt minus 0.1pt - \textleading = 12.5pt - % - \internalpagesizes{160mm}{120mm}% - {\voffset}{\hoffset}% - {\bindingoffset}{8pt}% - {210mm}{148mm}% - % - \lispnarrowing = 0.2in - \tolerance = 800 - \hfuzz = 1.2pt - \contentsrightmargin = 0pt - \defbodyindent = 2mm - \tableindent = 12mm -}} +\newcount \footnoteno -% A specific text layout, 24x15cm overall, intended for A4 paper. -\def\afourlatex{{\globaldefs = 1 - \afourpaper - \internalpagesizes{237mm}{150mm}% - {\voffset}{4.6mm}% - {\bindingoffset}{7mm}% - {297mm}{210mm}% - % - % Must explicitly reset to 0 because we call \afourpaper. - \globaldefs = 0 -}} +\def\supereject{\par\penalty -20000\footnoteno =0 } -% Use @afourwide to print on A4 paper in landscape format. -\def\afourwide{{\globaldefs = 1 - \afourpaper - \internalpagesizes{241mm}{165mm}% - {\voffset}{-2.95mm}% - {\bindingoffset}{7mm}% - {297mm}{210mm}% - \globaldefs = 0 -}} +\let\ptexfootnote=\footnote -% @pagesizes TEXTHEIGHT[,TEXTWIDTH] -% Perhaps we should allow setting the margins, \topskip, \parskip, -% and/or leading, also. Or perhaps we should compute them somehow. -% -\parseargdef\pagesizes{\pagesizesyyy #1,,\finish} -\def\pagesizesyyy#1,#2,#3\finish{{% - \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi - \globaldefs = 1 - % - \parskip = 3pt plus 2pt minus 1pt - \setleading{\textleading}% - % - \dimen0 = #1 - \advance\dimen0 by \voffset - % - \dimen2 = \hsize - \advance\dimen2 by \normaloffset - % - \internalpagesizes{#1}{\hsize}% - {\voffset}{\normaloffset}% - {\bindingoffset}{44pt}% - {\dimen0}{\dimen2}% -}} +{\catcode `\@=11 +\gdef\footnote{\global\advance \footnoteno by \@ne +\edef\thisfootno{$^{\the\footnoteno}$}% +\let\@sf\empty +\ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi +\thisfootno\@sf\parsearg\footnotezzz} + +\gdef\footnotezzz #1{\insert\footins{ +\interlinepenalty\interfootnotelinepenalty +\splittopskip\ht\strutbox % top baseline for broken footnotes +\splitmaxdepth\dp\strutbox \floatingpenalty\@MM +\leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip +\footstrut\hang\textindent{\thisfootno}#1\strut}} -% Set default to letter. -% -\letterpaper +}%end \catcode `\@=11 +% End of control word definitions. \message{and turning on texinfo input format.} -% Define macros to output various characters with catcode for normal text. -\catcode`\"=\other -\catcode`\~=\other -\catcode`\^=\other -\catcode`\_=\other -\catcode`\|=\other -\catcode`\<=\other -\catcode`\>=\other -\catcode`\+=\other -\catcode`\$=\other -\def\normaldoublequote{"} -\def\normaltilde{~} -\def\normalcaret{^} -\def\normalunderscore{_} -\def\normalverticalbar{|} -\def\normalless{<} -\def\normalgreater{>} -\def\normalplus{+} -\def\normaldollar{$}%$ font-lock fix - -% This macro is used to make a character print one way in \tt -% (where it can probably be output as-is), and another way in other fonts, -% where something hairier probably needs to be done. -% -% #1 is what to print if we are indeed using \tt; #2 is what to print -% otherwise. Since all the Computer Modern typewriter fonts have zero -% interword stretch (and shrink), and it is reasonable to expect all -% typewriter fonts to have this, we can check that font parameter. -% -\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} +\newindex{cp} +\newcodeindex{fn} +\newcodeindex{vr} +\newcodeindex{tp} +\newcodeindex{ky} +\newcodeindex{pg} + +% Set some numeric style parameters, for 8.5 x 11 format. -% Same as above, but check for italic font. Actually this also catches -% non-italic slanted fonts since it is impossible to distinguish them from -% italic fonts. But since this is only used by $ and it uses \sl anyway -% this is not a problem. -\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} +\hsize = 6.5in +\parindent 15pt +\parskip 18pt plus 1pt +\baselineskip 15pt +\advance\topskip by 1.2cm + +% Prevent underfull vbox error messages. +\vbadness=10000 + +% Use @smallbook to reset parameters for 7x9.5 format +\def\smallbook{ +\global\lispnarrowing = 0.3in +\global\baselineskip 12pt +\global\parskip 3pt plus 1pt +\global\hsize = 5in +\global\doublecolumnhsize=2.4in \global\doublecolumnvsize=15.0in +\global\vsize=7.5in +\global\tolerance=700 +\global\hfuzz=1pt + +\global\pagewidth=\hsize +\global\pageheight=\vsize +\global\font\ninett=cmtt9 + +\global\let\smalllisp=\smalllispx +\global\let\smallexample=\smalllispx +\global\def\Esmallexample{\Esmalllisp} +} + +%% For a final copy, take out the rectangles +%% that mark overfull boxes (in case you have decided +%% that the text looks ok even though it passes the margin). +\def\finalout{\overfullrule=0pt} % Turn off all special characters except @ -% (and those which the user can use as if they were ordinary). -% Most of these we simply print from the \tt font, but for some, we can -% use math or other variants that look better in normal text. +% (and those which the user can use as if they were ordinary) +% Define certain chars to be always in tt font. \catcode`\"=\active -\def\activedoublequote{{\tt\char34}} +\def\activedoublequote{{\tt \char '042}} \let"=\activedoublequote \catcode`\~=\active -\def~{{\tt\char126}} +\def~{{\tt \char '176}} \chardef\hat=`\^ \catcode`\^=\active \def^{{\tt \hat}} - \catcode`\_=\active -\def_{\ifusingtt\normalunderscore\_} -\let\realunder=_ -% Subroutine for the previous macro. -\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } - +\def_{{\tt \char '137}} \catcode`\|=\active -\def|{{\tt\char124}} +\def|{{\tt \char '174}} \chardef \less=`\< \catcode`\<=\active \def<{{\tt \less}} \chardef \gtr=`\> \catcode`\>=\active \def>{{\tt \gtr}} -\catcode`\+=\active -\def+{{\tt \char 43}} -\catcode`\$=\active -\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix - -% If a .fmt file is being used, characters that might appear in a file -% name cannot be active until we have parsed the command line. -% So turn them off again, and have \everyjob (or @setfilename) turn them on. -% \otherifyactive is called near the end of this file. -\def\otherifyactive{\catcode`+=\other \catcode`\_=\other} - -% Used sometimes to turn off (effectively) the active characters even after -% parsing them. -\def\turnoffactive{% - \normalturnoffactive - \otherbackslash -} \catcode`\@=0 -% \backslashcurfont outputs one backslash character in current font, -% as in \char`\\. -\global\chardef\backslashcurfont=`\\ -\global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work - -% \realbackslash is an actual character `\' with catcode other, and -% \doublebackslash is two of them (for the pdf outlines). -{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} - -% In texinfo, backslash is an active character; it prints the backslash -% in fixed width font. -\catcode`\\=\active -@def@normalbackslash{{@tt@backslashcurfont}} -% On startup, @fixbackslash assigns: -% @let \ = @normalbackslash - -% \rawbackslash defines an active \ to do \backslashcurfont. -% \otherbackslash defines an active \ to be a literal `\' character with -% catcode other. -@gdef@rawbackslash{@let\=@backslashcurfont} -@gdef@otherbackslash{@let\=@realbackslash} - -% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of -% the literal character `\'. -% -@def@normalturnoffactive{% - @let\=@normalbackslash - @let"=@normaldoublequote - @let~=@normaltilde - @let^=@normalcaret - @let_=@normalunderscore - @let|=@normalverticalbar - @let<=@normalless - @let>=@normalgreater - @let+=@normalplus - @let$=@normaldollar %$ font-lock fix - @unsepspaces -} +% \rawbackslashxx output one backslash character in current font +{\catcode`\\=\other +@gdef@rawbackslashxx{\}} -% Make _ and + \other characters, temporarily. -% This is canceled by @fixbackslash. -@otherifyactive +% \rawbackslash redefines \ as input to do \rawbackslashxx. +{\catcode`\\=\active +@gdef@rawbackslash{@let\=@rawbackslashxx }} -% If a .fmt file is being used, we don't want the `\input texinfo' to show up. -% That is what \eatinput is for; after that, the `\' should revert to printing -% a backslash. -% -@gdef@eatinput input texinfo{@fixbackslash} -@global@let\ = @eatinput - -% On the other hand, perhaps the file did not have a `\input texinfo'. Then -% the first `\' in the file would cause an error. This macro tries to fix -% that, assuming it is called before the first `\' could plausibly occur. -% Also turn back on active characters that might appear in the input -% file name, in case not using a pre-dumped format. -% -@gdef@fixbackslash{% - @ifx\@eatinput @let\ = @normalbackslash @fi - @catcode`+=@active - @catcode`@_=@active -} +% \normalbackslash outputs one backslash in fixed width font. +\def\normalbackslash{{\tt\rawbackslashxx}} % Say @foo, not \foo, in error messages. -@escapechar = `@@ - -% These look ok in all fonts, so just make them not special. -@catcode`@& = @other -@catcode`@# = @other -@catcode`@% = @other +\escapechar=`\@ +%% These look ok in all fonts, so just make them not special. The @rm below +%% makes sure that the current font starts out as the newly loaded cmr10 +\catcode`\$=\other \catcode`\%=\other \catcode`\&=\other \catcode`\#=\other -@c Local variables: -@c eval: (add-hook 'write-file-hooks 'time-stamp) -@c page-delimiter: "^\\\\message" -@c time-stamp-start: "def\\\\texinfoversion{" -@c time-stamp-format: "%:y-%02m-%02d.%02H" -@c time-stamp-end: "}" -@c End: - -@c vim:sw=2: +\catcode 17=0 @c Define control-q +\catcode`\\=\active +@let\=@normalbackslash -@ignore - arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115 -@end ignore +@textfonts +@rm diff --git a/lib/ext2fs/Android.mk b/lib/ext2fs/Android.mk index 5cf6eb03..c34efd37 100644 --- a/lib/ext2fs/Android.mk +++ b/lib/ext2fs/Android.mk @@ -10,9 +10,6 @@ libext2fs_src_files := \ bb_inode.c \ bitmaps.c \ bitops.c \ - blkmap64_ba.c \ - blkmap64_rb.c \ - blknum.c \ block.c \ bmap.c \ check_desc.c \ @@ -28,12 +25,10 @@ libext2fs_src_files := \ expanddir.c \ ext_attr.c \ extent.c \ - fileio.c \ finddev.c \ flushb.c \ freefs.c \ gen_bitmap.c \ - gen_bitmap64.c \ get_pathname.c \ getsize.c \ getsectsize.c \ @@ -48,15 +43,11 @@ libext2fs_src_files := \ link.c \ llseek.c \ lookup.c \ - mmp.c \ mkdir.c \ mkjournal.c \ native.c \ newdir.c \ openfs.c \ - progress.c \ - punch.c \ - rbtree.c \ read_bb.c \ read_bb_file.c \ res_gdt.c \ diff --git a/lib/ext2fs/MODULE_LICENSE_LGPL b/lib/ext2fs/MODULE_LICENSE_LGPL new file mode 100644 index 00000000..e69de29b diff --git a/lib/ext2fs/Makefile.in b/lib/ext2fs/Makefile.in index 87678c6a..26b7ed9e 100644 --- a/lib/ext2fs/Makefile.in +++ b/lib/ext2fs/Makefile.in @@ -26,15 +26,11 @@ OBJS= $(DEBUGFS_LIB_OBJS) $(RESIZE_LIB_OBJS) $(E2IMAGE_LIB_OBJS) \ bb_inode.o \ bitmaps.o \ bitops.o \ - blkmap64_ba.o \ - blkmap64_rb.o \ - blknum.o \ block.o \ bmap.o \ check_desc.o \ closefs.o \ crc16.o \ - crc32c.o \ csum.o \ dblist.o \ dblist_dir.o \ @@ -49,7 +45,6 @@ OBJS= $(DEBUGFS_LIB_OBJS) $(RESIZE_LIB_OBJS) $(E2IMAGE_LIB_OBJS) \ flushb.o \ freefs.o \ gen_bitmap.o \ - gen_bitmap64.o \ get_pathname.o \ getsize.o \ getsectsize.o \ @@ -66,27 +61,21 @@ OBJS= $(DEBUGFS_LIB_OBJS) $(RESIZE_LIB_OBJS) $(E2IMAGE_LIB_OBJS) \ lookup.o \ mkdir.o \ mkjournal.o \ - mmp.o \ namei.o \ native.o \ newdir.o \ openfs.o \ - progress.o \ - punch.o \ - qcow2.o \ read_bb.o \ read_bb_file.o \ res_gdt.o \ rw_bitmaps.o \ swapfs.o \ - symlink.o \ tdb.o \ undo_io.o \ unix_io.o \ unlink.o \ valid_blk.o \ - version.o \ - rbtree.o + version.o SRCS= ext2_err.c \ $(srcdir)/alloc.c \ @@ -98,15 +87,11 @@ SRCS= ext2_err.c \ $(srcdir)/bb_inode.c \ $(srcdir)/bitmaps.c \ $(srcdir)/bitops.c \ - $(srcdir)/blkmap64_ba.c \ - $(srcdir)/blkmap64_rb.c \ $(srcdir)/block.c \ $(srcdir)/bmap.c \ $(srcdir)/check_desc.c \ $(srcdir)/closefs.c \ $(srcdir)/crc16.c \ - $(srcdir)/crc32c.c \ - $(srcdir)/gen_crc32ctable.c \ $(srcdir)/csum.c \ $(srcdir)/dblist.c \ $(srcdir)/dblist_dir.c \ @@ -122,7 +107,6 @@ SRCS= ext2_err.c \ $(srcdir)/flushb.c \ $(srcdir)/freefs.c \ $(srcdir)/gen_bitmap.c \ - $(srcdir)/gen_bitmap64.c \ $(srcdir)/get_pathname.c \ $(srcdir)/getsize.c \ $(srcdir)/getsectsize.c \ @@ -141,20 +125,15 @@ SRCS= ext2_err.c \ $(srcdir)/lookup.c \ $(srcdir)/mkdir.c \ $(srcdir)/mkjournal.c \ - $(srcdir)/mmp.c \ $(srcdir)/namei.c \ $(srcdir)/native.c \ $(srcdir)/newdir.c \ $(srcdir)/openfs.c \ - $(srcdir)/progress.c \ - $(srcdir)/punch.c \ - $(srcdir)/qcow2.c \ $(srcdir)/read_bb.c \ $(srcdir)/read_bb_file.c \ $(srcdir)/res_gdt.c \ $(srcdir)/rw_bitmaps.c \ $(srcdir)/swapfs.c \ - $(srcdir)/symlink.c \ $(srcdir)/tdb.c \ $(srcdir)/test_io.c \ $(srcdir)/tst_badblocks.c \ @@ -167,11 +146,10 @@ SRCS= ext2_err.c \ $(srcdir)/unlink.c \ $(srcdir)/valid_blk.c \ $(srcdir)/version.c \ - $(srcdir)/write_bb_file.c \ - $(srcdir)/rbtree.c \ + $(srcdir)/write_bb_file.c HFILES= bitops.h ext2fs.h ext2_io.h ext2_fs.h ext2_ext_attr.h ext3_extents.h \ - tdb.h qcow2.h + tdb.h HFILES_IN= ext2_err.h ext2_types.h LIBRARY= libext2fs @@ -182,7 +160,7 @@ ELF_SO_VERSION = 2 ELF_IMAGE = libext2fs ELF_MYDIR = ext2fs ELF_INSTALL_DIR = $(root_libdir) -ELF_OTHER_LIBS = -lcom_err +ELF_OTHER_LIBS = -L../.. -lcom_err BSDLIB_VERSION = 2.1 BSDLIB_IMAGE = libext2fs @@ -200,7 +178,6 @@ all:: ext2fs.pc .c.o: $(E) " CC $<" $(Q) $(CC) $(ALL_CFLAGS) -c $< -o $@ - $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< @PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $< @CHECKER_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -checker -g -o checker/$*.o -c $< @ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -fPIC -o elfshared/$*.o -c $< @@ -222,47 +199,45 @@ ext2fs.pc: $(srcdir)/ext2fs.pc.in $(top_builddir)/config.status $(E) " CONFIG.STATUS $@" $(Q) cd $(top_builddir); CONFIG_FILES=lib/ext2fs/ext2fs.pc ./config.status -tst_badblocks: tst_badblocks.o $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR) +tst_badblocks: tst_badblocks.o $(STATIC_LIBEXT2FS) $(DEPLIBCOM_ERR) $(E) " LD $@" $(Q) $(CC) -o tst_badblocks tst_badblocks.o $(STATIC_LIBEXT2FS) \ - $(STATIC_LIBCOM_ERR) + $(LIBCOM_ERR) -tst_icount: $(srcdir)/icount.c $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR) +tst_icount: $(srcdir)/icount.c $(STATIC_LIBEXT2FS) $(DEPLIBCOM_ERR) $(E) " LD $@" $(Q) $(CC) -o tst_icount $(srcdir)/icount.c -DDEBUG $(ALL_CFLAGS) \ - $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) + $(STATIC_LIBEXT2FS) $(LIBCOM_ERR) -tst_iscan: tst_iscan.o $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR) +tst_iscan: tst_iscan.o $(STATIC_LIBEXT2FS) $(DEPLIBCOM_ERR) $(E) " LD $@" - $(Q) $(CC) -o tst_iscan tst_iscan.o $(STATIC_LIBEXT2FS) \ - $(STATIC_LIBCOM_ERR) + $(Q) $(CC) -o tst_iscan tst_iscan.o $(STATIC_LIBEXT2FS) $(LIBCOM_ERR) -tst_getsize: tst_getsize.o $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR) +tst_getsize: tst_getsize.o $(STATIC_LIBEXT2FS) $(DEPLIBCOM_ERR) $(E) " LD $@" $(Q) $(CC) -o tst_getsize tst_getsize.o $(STATIC_LIBEXT2FS) \ - $(STATIC_LIBCOM_ERR) + $(LIBCOM_ERR) -tst_ismounted: $(srcdir)/ismounted.c $(STATIC_LIBEXT2FS) \ - $(DEPSTATIC_LIBCOM_ERR) +tst_ismounted: $(srcdir)/ismounted.c $(STATIC_LIBEXT2FS) $(DEPLIBCOM_ERR) $(E) " LD $@" $(Q) $(CC) -o tst_ismounted $(srcdir)/ismounted.c \ $(STATIC_LIBEXT2FS) -DDEBUG $(ALL_CFLAGS) \ - $(STATIC_LIBCOM_ERR) + $(LIBCOM_ERR) -tst_byteswap: tst_byteswap.o $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR) +tst_byteswap: tst_byteswap.o $(STATIC_LIBEXT2FS) $(DEPLIBCOM_ERR) $(E) " LD $@" $(Q) $(CC) -o tst_byteswap tst_byteswap.o $(STATIC_LIBEXT2FS) \ - $(STATIC_LIBCOM_ERR) + $(LIBCOM_ERR) -tst_bitops: tst_bitops.o $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR) +tst_bitops: tst_bitops.o $(STATIC_LIBEXT2FS) $(DEPLIBCOM_ERR) $(E) " LD $@" $(Q) $(CC) -o tst_bitops tst_bitops.o $(ALL_CFLAGS) \ - $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) + $(STATIC_LIBEXT2FS) $(LIBCOM_ERR) -tst_getsectsize: tst_getsectsize.o $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR) +tst_getsectsize: tst_getsectsize.o $(STATIC_LIBEXT2FS) $(DEPLIBCOM_ERR) $(E) " LD $@" $(Q) $(CC) -o tst_sectgetsize tst_getsectsize.o \ - $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) + $(STATIC_LIBEXT2FS) $(LIBCOM_ERR) tst_types.o: $(srcdir)/tst_types.c ext2_types.h @@ -276,18 +251,6 @@ tst_super_size: tst_super_size.o $(E) " LD $@" $(Q) $(CC) -o tst_super_size tst_super_size.o -tst_fs_struct.o: $(srcdir)/tst_fs_struct.c $(srcdir)/ext2fs.h - -tst_fs_struct: tst_fs_struct.o - $(E) " LD $@" - $(Q) $(CC) -o tst_fs_struct tst_fs_struct.o - -tst_inode_size.o: $(srcdir)/tst_inode_size.c $(srcdir)/ext2_fs.h - -tst_inode_size: tst_inode_size.o - $(E) " LD $@" - $(Q) $(CC) -o tst_inode_size tst_inode_size.o - ext2_tdbtool: tdbtool.o $(E) " LD $@" $(Q) $(CC) -o ext2_tdbtool tdbtool.o tdb.o @@ -297,25 +260,16 @@ extent_dbg.c: $(srcdir)/extent_dbg.ct $(Q) $(MK_CMDS) $(srcdir)/extent_dbg.ct debug_cmds.c debug_cmds.h: $(top_srcdir)/debugfs/debug_cmds.ct - $(E) " MK_CMDS $<" + $(E) " MK_CMDS $<@" $(Q) $(MK_CMDS) $(top_srcdir)/debugfs/debug_cmds.ct -extent_cmds.c extent_cmds.h: $(top_srcdir)/debugfs/extent_cmds.ct - $(E) " MK_CMDS $<" - $(Q) $(MK_CMDS) $(top_srcdir)/debugfs/extent_cmds.ct - DEBUG_OBJS= debug_cmds.o debugfs.o util.o ncheck.o icheck.o ls.o \ - lsdel.o dump.o set_fields.o logdump.o htree.o unused.o \ - e2freefrag.o filefrag.o extent_inode.o extent_cmds.o zap.o + lsdel.o dump.o set_fields.o logdump.o htree.o unused.o debugfs.o: $(top_srcdir)/debugfs/debugfs.c $(E) " CC $<" $(Q) $(CC) $(ALL_CFLAGS) -c $< -o $@ -extent_inode.o: $(top_srcdir)/debugfs/extent_inode.c - $(E) " CC $<" - $(Q) $(CC) $(ALL_CFLAGS) -c $< -o $@ - util.o: $(top_srcdir)/debugfs/util.c $(E) " CC $<" $(Q) $(CC) $(ALL_CFLAGS) -c $< -o $@ @@ -356,81 +310,32 @@ unused.o: $(top_srcdir)/debugfs/unused.c $(E) " CC $<" $(Q) $(CC) $(ALL_CFLAGS) -c $< -o $@ -zap.o: $(top_srcdir)/debugfs/zap.c - $(E) " CC $<" - $(Q) $(CC) $(ALL_CFLAGS) -c $< -o $@ - -e2freefrag.o: $(top_srcdir)/misc/e2freefrag.c - $(E) " CC $<" - $(Q) $(CC) $(ALL_CFLAGS) -DDEBUGFS -I$(top_srcdir)/debugfs -c $< -o $@ - -filefrag.o: $(top_srcdir)/debugfs/filefrag.c - $(E) " CC $<" - $(Q) $(CC) $(ALL_CFLAGS) -c $< -o $@ - -tst_bitmaps_cmd.c: tst_bitmaps_cmd.ct - $(E) " MK_CMDS $@" - $(Q) DIR=$(srcdir) $(MK_CMDS) $(srcdir)/tst_bitmaps_cmd.ct - -tst_bitmaps: tst_bitmaps.o tst_bitmaps_cmd.o $(STATIC_LIBEXT2FS) \ - $(DEPSTATIC_LIBSS) $(DEPSTATIC_LIBCOM_ERR) +tst_extents: $(srcdir)/extent.c extent_dbg.c $(DEBUG_OBJS) $(DEPLIBSS) \ + $(LIBE2P) $(DEPLIBUUID) $(DEPLIBBLKID) $(DEPLIBCOM_ERR) $(E) " LD $@" - $(Q) $(CC) -o $@ tst_bitmaps.o tst_bitmaps_cmd.o $(ALL_CFLAGS) \ - $(STATIC_LIBEXT2FS) $(STATIC_LIBSS) $(STATIC_LIBCOM_ERR) + $(Q) $(CC) -o tst_extents $(srcdir)/extent.c extent_dbg.c \ + $(ALL_CFLAGS) -DDEBUG $(DEBUG_OBJS) $(LIBSS) $(LIBE2P) \ + $(STATIC_LIBEXT2FS) $(LIBBLKID) $(LIBUUID) $(LIBCOM_ERR) \ + -I $(top_srcdir)/debugfs -tst_extents: $(srcdir)/extent.c $(DEBUG_OBJS) $(DEPSTATIC_LIBSS) \ - $(STATIC_LIBE2P) $(DEPLIBUUID) $(DEPLIBBLKID) $(DEPSTATIC_LIBCOM_ERR) - $(E) " LD $@" - $(Q) $(CC) -o tst_extents $(srcdir)/extent.c \ - $(ALL_CFLAGS) -DDEBUG $(DEBUG_OBJS) $(STATIC_LIBSS) \ - $(STATIC_LIBE2P) $(STATIC_LIBEXT2FS) $(LIBBLKID) $(LIBUUID) \ - $(STATIC_LIBCOM_ERR) -I $(top_srcdir)/debugfs - -tst_inline: $(srcdir)/inline.c $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR) - $(E) " LD $@" - $(Q) $(CC) -o tst_inline $(srcdir)/inline.c $(ALL_CFLAGS) -DDEBUG \ - $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) - -tst_csum: csum.c $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR) $(STATIC_LIBE2P) \ +tst_csum: csum.c $(STATIC_LIBEXT2FS) $(DEPLIBCOM_ERR) \ $(top_srcdir)/lib/e2p/e2p.h $(E) " LD $@" $(Q) $(CC) -o tst_csum $(srcdir)/csum.c -DDEBUG \ - $(ALL_CFLAGS) $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) \ - $(STATIC_LIBE2P) - -tst_crc32c: $(srcdir)/crc32c.c $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR) - $(Q) $(CC) $(BUILD_LDFLAGS) $(ALL_CFLAGS) -o tst_crc32c $(srcdir)/crc32c.c \ - -DUNITTEST $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) + $(ALL_CFLAGS) $(STATIC_LIBEXT2FS) $(LIBCOM_ERR) $(LIBE2P) mkjournal: mkjournal.c $(STATIC_LIBEXT2FS) $(DEPLIBCOM_ERR) $(E) " LD $@" $(Q) $(CC) -o mkjournal $(srcdir)/mkjournal.c -DDEBUG $(STATIC_LIBEXT2FS) $(LIBCOM_ERR) $(ALL_CFLAGS) -check:: tst_bitops tst_badblocks tst_iscan tst_types tst_icount \ - tst_super_size tst_types tst_inode_size tst_csum tst_crc32c tst_bitmaps \ - tst_inline +check:: tst_bitops tst_badblocks tst_iscan tst_types tst_icount tst_super_size tst_types tst_csum LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./tst_bitops LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./tst_badblocks LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./tst_iscan LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./tst_types LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./tst_icount LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./tst_super_size - LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./tst_inode_size LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./tst_csum - LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./tst_inline - LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./tst_crc32c - LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) \ - ./tst_bitmaps -f $(srcdir)/tst_bitmaps_cmds > tst_bitmaps_out - diff $(srcdir)/tst_bitmaps_exp tst_bitmaps_out - LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) \ - ./tst_bitmaps -t 2 -f $(srcdir)/tst_bitmaps_cmds > tst_bitmaps_out - diff $(srcdir)/tst_bitmaps_exp tst_bitmaps_out - LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) \ - ./tst_bitmaps -t 3 -f $(srcdir)/tst_bitmaps_cmds > tst_bitmaps_out - diff $(srcdir)/tst_bitmaps_exp tst_bitmaps_out - LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) \ - ./tst_bitmaps -l -f $(srcdir)/tst_bitmaps_cmds > tst_bitmaps_out - diff $(srcdir)/tst_bitmaps_exp tst_bitmaps_out installdirs:: $(E) " MKINSTALLDIRS $(libdir) $(includedir)/ext2fs" @@ -463,11 +368,8 @@ clean:: tst_badblocks tst_iscan ext2_err.et ext2_err.c ext2_err.h \ tst_byteswap tst_ismounted tst_getsize tst_sectgetsize \ tst_bitops tst_types tst_icount tst_super_size tst_csum \ - tst_bitmaps tst_bitmaps_out tst_extents tst_inline \ - tst_inline_data tst_inode_size tst_bitmaps_cmd.c \ - ext2_tdbtool mkjournal debug_cmds.c extent_cmds.c \ - ../libext2fs.a ../libext2fs_p.a ../libext2fs_chk.a \ - crc32c_table.h gen_crc32ctable tst_crc32c + ext2_tdbtool mkjournal debug_cmds.c \ + ../libext2fs.a ../libext2fs_p.a ../libext2fs_chk.a mostlyclean:: clean distclean:: clean @@ -480,495 +382,357 @@ $(top_builddir)/lib/ext2fs/ext2_err.h: ext2_err.h $(OBJS): subdirs -gen_crc32ctable: $(srcdir)/gen_crc32ctable.c - $(E) " CC $@" - $(Q) $(BUILD_CC) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o gen_crc32ctable \ - $(srcdir)/gen_crc32ctable.c - -crc32c_table.h: gen_crc32ctable - $(E) " GEN32CTABLE $@" - $(Q) ./gen_crc32ctable > crc32c_table.h - # +++ Dependency line eater +++ # # Makefile dependencies follow. This must be the last section in # the Makefile.in file # ext2_err.o: ext2_err.c -alloc.o: $(srcdir)/alloc.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +alloc.o: $(srcdir)/alloc.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -alloc_sb.o: $(srcdir)/alloc_sb.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +alloc_sb.o: $(srcdir)/alloc_sb.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -alloc_stats.o: $(srcdir)/alloc_stats.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +alloc_stats.o: $(srcdir)/alloc_stats.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -alloc_tables.o: $(srcdir)/alloc_tables.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +alloc_tables.o: $(srcdir)/alloc_tables.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h $(srcdir)/ext2fsP.h -badblocks.o: $(srcdir)/badblocks.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ + $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h +badblocks.o: $(srcdir)/badblocks.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ $(srcdir)/bitops.h -bb_compat.o: $(srcdir)/bb_compat.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +bb_compat.o: $(srcdir)/bb_compat.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ $(srcdir)/bitops.h -bb_inode.o: $(srcdir)/bb_inode.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +bb_inode.o: $(srcdir)/bb_inode.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -bitmaps.o: $(srcdir)/bitmaps.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +bitmaps.o: $(srcdir)/bitmaps.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h $(srcdir)/ext2fsP.h \ - $(srcdir)/bmap64.h -bitops.o: $(srcdir)/bitops.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ + $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h +bitops.o: $(srcdir)/bitops.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -blkmap64_ba.o: $(srcdir)/blkmap64_ba.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \ - $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ - $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ - $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ - $(srcdir)/bitops.h $(srcdir)/bmap64.h -blkmap64_rb.o: $(srcdir)/blkmap64_rb.c $(srcdir)/ext2_fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \ - $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ - $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ - $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ - $(srcdir)/bitops.h $(srcdir)/bmap64.h $(srcdir)/rbtree.h -block.o: $(srcdir)/block.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +block.o: $(srcdir)/block.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -bmap.o: $(srcdir)/bmap.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +bmap.o: $(srcdir)/bmap.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -check_desc.o: $(srcdir)/check_desc.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +check_desc.o: $(srcdir)/check_desc.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -closefs.o: $(srcdir)/closefs.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +closefs.o: $(srcdir)/closefs.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ $(srcdir)/bitops.h -crc16.o: $(srcdir)/crc16.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_builddir)/lib/ext2fs/ext2_types.h \ +crc16.o: $(srcdir)/crc16.c $(top_builddir)/lib/ext2fs/ext2_types.h \ $(srcdir)/crc16.h -crc32c.o: $(srcdir)/crc32c.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/crc32c_defs.h $(srcdir)/ext2fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2_fs.h \ - $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ - $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ - $(srcdir)/bitops.h crc32c_table.h -gen_crc32ctable.o: $(srcdir)/gen_crc32ctable.c $(srcdir)/crc32c_defs.h -csum.o: $(srcdir)/csum.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +csum.o: $(srcdir)/csum.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h $(srcdir)/crc16.h -dblist.o: $(srcdir)/dblist.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +dblist.o: $(srcdir)/dblist.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ $(srcdir)/bitops.h -dblist_dir.o: $(srcdir)/dblist_dir.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +dblist_dir.o: $(srcdir)/dblist_dir.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ $(srcdir)/bitops.h -dirblock.o: $(srcdir)/dirblock.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +dirblock.o: $(srcdir)/dirblock.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -dirhash.o: $(srcdir)/dirhash.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +dirhash.o: $(srcdir)/dirhash.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -dir_iterate.o: $(srcdir)/dir_iterate.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +dir_iterate.o: $(srcdir)/dir_iterate.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ $(srcdir)/bitops.h -dupfs.o: $(srcdir)/dupfs.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +dupfs.o: $(srcdir)/dupfs.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ $(srcdir)/bitops.h -expanddir.o: $(srcdir)/expanddir.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +expanddir.o: $(srcdir)/expanddir.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -ext_attr.o: $(srcdir)/ext_attr.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +ext_attr.o: $(srcdir)/ext_attr.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2_ext_attr.h \ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ $(srcdir)/bitops.h -extent.o: $(srcdir)/extent.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +extent.o: $(srcdir)/extent.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ $(srcdir)/bitops.h $(srcdir)/e2image.h -fileio.o: $(srcdir)/fileio.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +fileio.o: $(srcdir)/fileio.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -finddev.o: $(srcdir)/finddev.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +finddev.o: $(srcdir)/finddev.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h $(srcdir)/ext2fsP.h -flushb.o: $(srcdir)/flushb.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ + $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h +flushb.o: $(srcdir)/flushb.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -freefs.o: $(srcdir)/freefs.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +freefs.o: $(srcdir)/freefs.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ $(srcdir)/bitops.h -gen_bitmap.o: $(srcdir)/gen_bitmap.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \ - $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ - $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ - $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ - $(srcdir)/bitops.h -gen_bitmap64.o: $(srcdir)/gen_bitmap64.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \ - $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ - $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ - $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ - $(srcdir)/bitops.h $(srcdir)/bmap64.h -get_pathname.o: $(srcdir)/get_pathname.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +gen_bitmap.o: $(srcdir)/gen_bitmap.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -getsize.o: $(srcdir)/getsize.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +get_pathname.o: $(srcdir)/get_pathname.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -getsectsize.o: $(srcdir)/getsectsize.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +getsize.o: $(srcdir)/getsize.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -i_block.o: $(srcdir)/i_block.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +getsectsize.o: $(srcdir)/getsectsize.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -icount.o: $(srcdir)/icount.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +i_block.o: $(srcdir)/i_block.c $(srcdir)/ext2_fs.h \ + $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ + $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ + $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ + $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h +icount.o: $(srcdir)/icount.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h $(srcdir)/tdb.h -ind_block.o: $(srcdir)/ind_block.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +ind_block.o: $(srcdir)/ind_block.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -initialize.o: $(srcdir)/initialize.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +initialize.o: $(srcdir)/initialize.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -inline.o: $(srcdir)/inline.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +inline.o: $(srcdir)/inline.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -inode.o: $(srcdir)/inode.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +inode.o: $(srcdir)/inode.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ $(srcdir)/bitops.h $(srcdir)/e2image.h -inode_io.o: $(srcdir)/inode_io.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +inode_io.o: $(srcdir)/inode_io.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -imager.o: $(srcdir)/imager.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +imager.o: $(srcdir)/imager.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -io_manager.o: $(srcdir)/io_manager.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +io_manager.o: $(srcdir)/io_manager.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -ismounted.o: $(srcdir)/ismounted.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +ismounted.o: $(srcdir)/ismounted.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -link.o: $(srcdir)/link.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +link.o: $(srcdir)/link.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -llseek.o: $(srcdir)/llseek.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \ +llseek.o: $(srcdir)/llseek.c $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h -lookup.o: $(srcdir)/lookup.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +lookup.o: $(srcdir)/lookup.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -mkdir.o: $(srcdir)/mkdir.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +mkdir.o: $(srcdir)/mkdir.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -mkjournal.o: $(srcdir)/mkjournal.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +mkjournal.o: $(srcdir)/mkjournal.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/e2p/e2p.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext2fs.h $(srcdir)/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ $(srcdir)/bitops.h $(srcdir)/jfs_user.h $(srcdir)/kernel-jbd.h \ $(srcdir)/jfs_compat.h $(srcdir)/kernel-list.h -mmp.o: $(srcdir)/mmp.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ - $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ - $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ - $(srcdir)/bitops.h -namei.o: $(srcdir)/namei.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +namei.o: $(srcdir)/namei.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h $(srcdir)/ext2fsP.h -native.o: $(srcdir)/native.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ + $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h +native.o: $(srcdir)/native.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -newdir.o: $(srcdir)/newdir.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +newdir.o: $(srcdir)/newdir.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -openfs.o: $(srcdir)/openfs.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +openfs.o: $(srcdir)/openfs.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h $(srcdir)/e2image.h -progress.o: $(srcdir)/progress.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2_fs.h \ - $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ - $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ - $(srcdir)/bitops.h $(srcdir)/ext2fsP.h -punch.o: $(srcdir)/punch.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ - $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ - $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -qcow2.o: $(srcdir)/qcow2.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2_fs.h \ - $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \ - $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \ - $(srcdir)/bitops.h $(srcdir)/qcow2.h -read_bb.o: $(srcdir)/read_bb.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +read_bb.o: $(srcdir)/read_bb.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -read_bb_file.o: $(srcdir)/read_bb_file.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +read_bb_file.o: $(srcdir)/read_bb_file.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -res_gdt.o: $(srcdir)/res_gdt.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +res_gdt.o: $(srcdir)/res_gdt.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -rw_bitmaps.o: $(srcdir)/rw_bitmaps.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +rw_bitmaps.o: $(srcdir)/rw_bitmaps.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h $(srcdir)/e2image.h -swapfs.o: $(srcdir)/swapfs.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ - $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ - $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -symlink.o: $(srcdir)/symlink.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +swapfs.o: $(srcdir)/swapfs.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -tdb.o: $(srcdir)/tdb.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/tdb.h -test_io.o: $(srcdir)/test_io.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +tdb.o: $(srcdir)/tdb.c $(srcdir)/tdb.h +test_io.o: $(srcdir)/test_io.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -tst_badblocks.o: $(srcdir)/tst_badblocks.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +tst_badblocks.o: $(srcdir)/tst_badblocks.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -tst_bitops.o: $(srcdir)/tst_bitops.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +tst_bitops.o: $(srcdir)/tst_bitops.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -tst_byteswap.o: $(srcdir)/tst_byteswap.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +tst_byteswap.o: $(srcdir)/tst_byteswap.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -tst_getsize.o: $(srcdir)/tst_getsize.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +tst_getsize.o: $(srcdir)/tst_getsize.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -tst_iscan.o: $(srcdir)/tst_iscan.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +tst_iscan.o: $(srcdir)/tst_iscan.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -undo_io.o: $(srcdir)/undo_io.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/tdb.h $(srcdir)/ext2_fs.h \ +undo_io.o: $(srcdir)/undo_io.c $(srcdir)/tdb.h $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -unix_io.o: $(srcdir)/unix_io.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +unix_io.o: $(srcdir)/unix_io.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -unlink.o: $(srcdir)/unlink.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +unlink.o: $(srcdir)/unlink.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -valid_blk.o: $(srcdir)/valid_blk.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +valid_blk.o: $(srcdir)/valid_blk.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -version.o: $(srcdir)/version.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +version.o: $(srcdir)/version.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h $(top_srcdir)/version.h -write_bb_file.o: $(srcdir)/write_bb_file.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \ +write_bb_file.o: $(srcdir)/write_bb_file.c $(srcdir)/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(srcdir)/ext2_ext_attr.h $(srcdir)/bitops.h -rbtree.o: $(srcdir)/rbtree.c $(srcdir)/rbtree.h diff --git a/lib/ext2fs/Makefile.pq b/lib/ext2fs/Makefile.pq deleted file mode 100644 index 2f7b654b..00000000 --- a/lib/ext2fs/Makefile.pq +++ /dev/null @@ -1,49 +0,0 @@ -TOPSRC=..\.. -LIBNAME=EXT2.LIB -OBJFILE=EXT2.LST - -OBJS= alloc.obj \ - alloc_tables.obj \ - badblocks.obj \ - bb_compat.obj \ - bb_inode.obj \ - bitmaps.obj \ - bitops.obj \ - block.obj \ - bmap.obj \ - bmove.obj \ - check_desc.obj \ - closefs.obj \ - cmp_bitmaps.obj \ - dblist.obj \ - dblist_dir.obj \ - dirblock.obj \ - dir_iterate.obj \ - dupfs.obj \ - expanddir.obj \ - fileio.obj \ - freefs.obj \ - get_pathname.obj \ - icount.obj \ - initialize.obj \ - inline.obj \ - inode.obj \ - ismounted.obj \ - link.obj \ - lookup.obj \ - mkdir.obj \ - namei.obj \ - native.obj \ - newdir.obj \ - openfs.obj \ - read_bb.obj \ - read_bb_file.obj \ - rs_bitmap.obj \ - rw_bitmaps.obj \ - swapfs.obj \ - unlink.obj \ - valid_blk.obj \ - version.obj - -!include $(TOPSRC)\powerquest\MCONFIG - diff --git a/lib/ext2fs/alloc.c b/lib/ext2fs/alloc.c index 21d3e5ef..59d10890 100644 --- a/lib/ext2fs/alloc.c +++ b/lib/ext2fs/alloc.c @@ -29,21 +29,22 @@ * Check for uninit block bitmaps and deal with them appropriately */ static void check_block_uninit(ext2_filsys fs, ext2fs_block_bitmap map, - dgrp_t group) + dgrp_t group) { blk_t i; - blk64_t blk, super_blk, old_desc_blk, new_desc_blk; + blk_t blk, super_blk, old_desc_blk, new_desc_blk; int old_desc_blocks; if (!(EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) || - !(ext2fs_bg_flags_test(fs, group, EXT2_BG_BLOCK_UNINIT))) + !(fs->group_desc[group].bg_flags & EXT2_BG_BLOCK_UNINIT)) return; - blk = ext2fs_group_first_block2(fs, group); + blk = (group * fs->super->s_blocks_per_group) + + fs->super->s_first_data_block; - ext2fs_super_and_bgd_loc2(fs, group, &super_blk, - &old_desc_blk, &new_desc_blk, 0); + ext2fs_super_and_bgd_loc(fs, group, &super_blk, + &old_desc_blk, &new_desc_blk, 0); if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) @@ -51,27 +52,23 @@ static void check_block_uninit(ext2_filsys fs, ext2fs_block_bitmap map, else old_desc_blocks = fs->desc_blocks + fs->super->s_reserved_gdt_blocks; - for (i=0; i < fs->super->s_blocks_per_group; i++, blk++) - ext2fs_fast_unmark_block_bitmap2(map, blk); - - blk = ext2fs_group_first_block2(fs, group); for (i=0; i < fs->super->s_blocks_per_group; i++, blk++) { if ((blk == super_blk) || (old_desc_blk && old_desc_blocks && (blk >= old_desc_blk) && (blk < old_desc_blk + old_desc_blocks)) || (new_desc_blk && (blk == new_desc_blk)) || - (blk == ext2fs_block_bitmap_loc(fs, group)) || - (blk == ext2fs_inode_bitmap_loc(fs, group)) || - (blk >= ext2fs_inode_table_loc(fs, group) && - (blk < ext2fs_inode_table_loc(fs, group) + (blk == fs->group_desc[group].bg_block_bitmap) || + (blk == fs->group_desc[group].bg_inode_bitmap) || + (blk >= fs->group_desc[group].bg_inode_table && + (blk < fs->group_desc[group].bg_inode_table + fs->inode_blocks_per_group))) - ext2fs_fast_mark_block_bitmap2(map, blk); + ext2fs_fast_mark_block_bitmap(map, blk); + else + ext2fs_fast_unmark_block_bitmap(map, blk); } - ext2fs_bg_flags_clear(fs, group, EXT2_BG_BLOCK_UNINIT); + fs->group_desc[group].bg_flags &= ~EXT2_BG_BLOCK_UNINIT; ext2fs_group_desc_csum_set(fs, group); - ext2fs_mark_super_dirty(fs); - ext2fs_mark_bb_dirty(fs); } /* @@ -84,17 +81,14 @@ static void check_inode_uninit(ext2_filsys fs, ext2fs_inode_bitmap map, if (!(EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) || - !(ext2fs_bg_flags_test(fs, group, EXT2_BG_INODE_UNINIT))) + !(fs->group_desc[group].bg_flags & EXT2_BG_INODE_UNINIT)) return; ino = (group * fs->super->s_inodes_per_group) + 1; for (i=0; i < fs->super->s_inodes_per_group; i++, ino++) - ext2fs_fast_unmark_inode_bitmap2(map, ino); + ext2fs_fast_unmark_inode_bitmap(map, ino); - ext2fs_bg_flags_clear(fs, group, EXT2_BG_INODE_UNINIT); - ext2fs_group_desc_csum_set(fs, group); - ext2fs_mark_ib_dirty(fs); - ext2fs_mark_super_dirty(fs); + fs->group_desc[group].bg_flags &= ~EXT2_BG_INODE_UNINIT; check_block_uninit(fs, fs->block_map, group); } @@ -108,10 +102,9 @@ errcode_t ext2fs_new_inode(ext2_filsys fs, ext2_ino_t dir, int mode EXT2FS_ATTR((unused)), ext2fs_inode_bitmap map, ext2_ino_t *ret) { - ext2_ino_t start_inode = 0; - ext2_ino_t i, ino_in_group, upto, first_zero; - errcode_t retval; - dgrp_t group; + ext2_ino_t dir_group = 0; + ext2_ino_t i; + ext2_ino_t start_inode; EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); @@ -120,40 +113,29 @@ errcode_t ext2fs_new_inode(ext2_filsys fs, ext2_ino_t dir, if (!map) return EXT2_ET_NO_INODE_BITMAP; - if (dir > 0) { - group = (dir - 1) / EXT2_INODES_PER_GROUP(fs->super); - start_inode = (group * EXT2_INODES_PER_GROUP(fs->super)) + 1; - } + if (dir > 0) + dir_group = (dir - 1) / EXT2_INODES_PER_GROUP(fs->super); + + start_inode = (dir_group * EXT2_INODES_PER_GROUP(fs->super)) + 1; if (start_inode < EXT2_FIRST_INODE(fs->super)) start_inode = EXT2_FIRST_INODE(fs->super); if (start_inode > fs->super->s_inodes_count) return EXT2_ET_INODE_ALLOC_FAIL; i = start_inode; + do { - ino_in_group = (i - 1) % EXT2_INODES_PER_GROUP(fs->super); - group = (i - 1) / EXT2_INODES_PER_GROUP(fs->super); - - check_inode_uninit(fs, map, group); - upto = i + (EXT2_INODES_PER_GROUP(fs->super) - ino_in_group); - if (i < start_inode && upto >= start_inode) - upto = start_inode - 1; - if (upto > fs->super->s_inodes_count) - upto = fs->super->s_inodes_count; - - retval = ext2fs_find_first_zero_inode_bitmap2(map, i, upto, - &first_zero); - if (retval == 0) { - i = first_zero; + if (((i - 1) % EXT2_INODES_PER_GROUP(fs->super)) == 0) + check_inode_uninit(fs, map, (i - 1) / + EXT2_INODES_PER_GROUP(fs->super)); + + if (!ext2fs_fast_test_inode_bitmap(map, i)) break; - } - if (retval != ENOENT) - return EXT2_ET_INODE_ALLOC_FAIL; - i = upto + 1; + i++; if (i > fs->super->s_inodes_count) i = EXT2_FIRST_INODE(fs->super); } while (i != start_inode); - if (ext2fs_test_inode_bitmap2(map, i)) + if (ext2fs_test_inode_bitmap(map, i)) return EXT2_ET_INODE_ALLOC_FAIL; *ret = i; return 0; @@ -163,11 +145,10 @@ errcode_t ext2fs_new_inode(ext2_filsys fs, ext2_ino_t dir, * Stupid algorithm --- we now just search forward starting from the * goal. Should put in a smarter one someday.... */ -errcode_t ext2fs_new_block2(ext2_filsys fs, blk64_t goal, - ext2fs_block_bitmap map, blk64_t *ret) +errcode_t ext2fs_new_block(ext2_filsys fs, blk_t goal, + ext2fs_block_bitmap map, blk_t *ret) { - blk64_t i; - int c_ratio; + blk_t i; EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); @@ -175,12 +156,9 @@ errcode_t ext2fs_new_block2(ext2_filsys fs, blk64_t goal, map = fs->block_map; if (!map) return EXT2_ET_NO_BLOCK_BITMAP; - if (!goal || (goal >= ext2fs_blocks_count(fs->super))) + if (!goal || (goal >= fs->super->s_blocks_count)) goal = fs->super->s_first_data_block; i = goal; - c_ratio = 1 << ext2fs_get_bitmap_granularity(map); - if (c_ratio > 1) - goal &= ~EXT2FS_CLUSTER_MASK(fs); check_block_uninit(fs, map, (i - fs->super->s_first_data_block) / EXT2_BLOCKS_PER_GROUP(fs->super)); @@ -191,37 +169,26 @@ errcode_t ext2fs_new_block2(ext2_filsys fs, blk64_t goal, (i - fs->super->s_first_data_block) / EXT2_BLOCKS_PER_GROUP(fs->super)); - if (!ext2fs_fast_test_block_bitmap2(map, i)) { + if (!ext2fs_fast_test_block_bitmap(map, i)) { *ret = i; return 0; } - i = (i + c_ratio) & ~(c_ratio - 1); - if (i >= ext2fs_blocks_count(fs->super)) + i++; + if (i >= fs->super->s_blocks_count) i = fs->super->s_first_data_block; } while (i != goal); return EXT2_ET_BLOCK_ALLOC_FAIL; } -errcode_t ext2fs_new_block(ext2_filsys fs, blk_t goal, - ext2fs_block_bitmap map, blk_t *ret) -{ - errcode_t retval; - blk64_t val; - retval = ext2fs_new_block2(fs, goal, map, &val); - if (!retval) - *ret = (blk_t) val; - return retval; -} - /* * This function zeros out the allocated block, and updates all of the * appropriate filesystem records. */ -errcode_t ext2fs_alloc_block2(ext2_filsys fs, blk64_t goal, - char *block_buf, blk64_t *ret) +errcode_t ext2fs_alloc_block(ext2_filsys fs, blk_t goal, + char *block_buf, blk_t *ret) { errcode_t retval; - blk64_t block; + blk_t block; char *buf = 0; if (!block_buf) { @@ -233,9 +200,12 @@ errcode_t ext2fs_alloc_block2(ext2_filsys fs, blk64_t goal, memset(block_buf, 0, fs->blocksize); if (fs->get_alloc_block) { - retval = (fs->get_alloc_block)(fs, goal, &block); + blk64_t new; + + retval = (fs->get_alloc_block)(fs, (blk64_t) goal, &new); if (retval) goto fail; + block = (blk_t) new; } else { if (!fs->block_map) { retval = ext2fs_read_block_bitmap(fs); @@ -243,16 +213,16 @@ errcode_t ext2fs_alloc_block2(ext2_filsys fs, blk64_t goal, goto fail; } - retval = ext2fs_new_block2(fs, goal, 0, &block); + retval = ext2fs_new_block(fs, goal, 0, &block); if (retval) goto fail; } - retval = io_channel_write_blk64(fs->io, block, 1, block_buf); + retval = io_channel_write_blk(fs->io, block, 1, block_buf); if (retval) goto fail; - ext2fs_block_alloc_stats2(fs, block, +1); + ext2fs_block_alloc_stats(fs, block, +1); *ret = block; fail: @@ -261,22 +231,10 @@ fail: return retval; } -errcode_t ext2fs_alloc_block(ext2_filsys fs, blk_t goal, - char *block_buf, blk_t *ret) -{ - errcode_t retval; - blk64_t val; - retval = ext2fs_alloc_block2(fs, goal, block_buf, &val); - if (!retval) - *ret = (blk_t) val; - return retval; -} - -errcode_t ext2fs_get_free_blocks2(ext2_filsys fs, blk64_t start, blk64_t finish, - int num, ext2fs_block_bitmap map, blk64_t *ret) +errcode_t ext2fs_get_free_blocks(ext2_filsys fs, blk_t start, blk_t finish, + int num, ext2fs_block_bitmap map, blk_t *ret) { - blk64_t b = start; - int c_ratio; + blk_t b = start; EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); @@ -290,32 +248,18 @@ errcode_t ext2fs_get_free_blocks2(ext2_filsys fs, blk64_t start, blk64_t finish, finish = start; if (!num) num = 1; - c_ratio = 1 << ext2fs_get_bitmap_granularity(map); - b &= ~(c_ratio - 1); - finish &= ~(c_ratio -1); do { - if (b+num-1 > ext2fs_blocks_count(fs->super)) + if (b+num-1 > fs->super->s_blocks_count) b = fs->super->s_first_data_block; - if (ext2fs_fast_test_block_bitmap_range2(map, b, num)) { + if (ext2fs_fast_test_block_bitmap_range(map, b, num)) { *ret = b; return 0; } - b += c_ratio; + b++; } while (b != finish); return EXT2_ET_BLOCK_ALLOC_FAIL; } -errcode_t ext2fs_get_free_blocks(ext2_filsys fs, blk_t start, blk_t finish, - int num, ext2fs_block_bitmap map, blk_t *ret) -{ - errcode_t retval; - blk64_t val; - retval = ext2fs_get_free_blocks2(fs, start, finish, num, map, &val); - if(!retval) - *ret = (blk_t) val; - return retval; -} - void ext2fs_set_alloc_block_callback(ext2_filsys fs, errcode_t (*func)(ext2_filsys fs, blk64_t goal, diff --git a/lib/ext2fs/alloc_sb.c b/lib/ext2fs/alloc_sb.c index 73ef2cea..b491a9f6 100644 --- a/lib/ext2fs/alloc_sb.c +++ b/lib/ext2fs/alloc_sb.c @@ -44,12 +44,11 @@ int ext2fs_reserve_super_and_bgd(ext2_filsys fs, dgrp_t group, ext2fs_block_bitmap bmap) { - blk64_t super_blk, old_desc_blk, new_desc_blk; - blk_t used_blks; - int old_desc_blocks, num_blocks; + blk_t super_blk, old_desc_blk, new_desc_blk; + int j, old_desc_blocks, num_blocks; - ext2fs_super_and_bgd_loc2(fs, group, &super_blk, - &old_desc_blk, &new_desc_blk, &used_blks); + num_blocks = ext2fs_super_and_bgd_loc(fs, group, &super_blk, + &old_desc_blk, &new_desc_blk, 0); if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) old_desc_blocks = fs->super->s_first_meta_bg; @@ -58,25 +57,18 @@ int ext2fs_reserve_super_and_bgd(ext2_filsys fs, fs->desc_blocks + fs->super->s_reserved_gdt_blocks; if (super_blk || (group == 0)) - ext2fs_mark_block_bitmap2(bmap, super_blk); - if ((group == 0) && (fs->blocksize == 1024) && - EXT2FS_CLUSTER_RATIO(fs) > 1) - ext2fs_mark_block_bitmap2(bmap, 0); + ext2fs_mark_block_bitmap(bmap, super_blk); if (old_desc_blk) { if (fs->super->s_reserved_gdt_blocks && fs->block_map == bmap) - ext2fs_bg_flags_clear(fs, group, EXT2_BG_BLOCK_UNINIT); - num_blocks = old_desc_blocks; - if (old_desc_blk + num_blocks >= ext2fs_blocks_count(fs->super)) - num_blocks = ext2fs_blocks_count(fs->super) - - old_desc_blk; - ext2fs_mark_block_bitmap_range2(bmap, old_desc_blk, num_blocks); + fs->group_desc[group].bg_flags &= ~EXT2_BG_BLOCK_UNINIT; + for (j=0; j < old_desc_blocks; j++) + if (old_desc_blk + j < fs->super->s_blocks_count) + ext2fs_mark_block_bitmap(bmap, + old_desc_blk + j); } if (new_desc_blk) - ext2fs_mark_block_bitmap2(bmap, new_desc_blk); + ext2fs_mark_block_bitmap(bmap, new_desc_blk); - num_blocks = ext2fs_group_blocks_count(fs, group); - num_blocks -= 2 + fs->inode_blocks_per_group + used_blks; - - return num_blocks ; + return num_blocks; } diff --git a/lib/ext2fs/alloc_stats.c b/lib/ext2fs/alloc_stats.c index 9a6697e0..5ac52050 100644 --- a/lib/ext2fs/alloc_stats.c +++ b/lib/ext2fs/alloc_stats.c @@ -27,24 +27,26 @@ void ext2fs_inode_alloc_stats2(ext2_filsys fs, ext2_ino_t ino, } #endif if (inuse > 0) - ext2fs_mark_inode_bitmap2(fs->inode_map, ino); + ext2fs_mark_inode_bitmap(fs->inode_map, ino); else - ext2fs_unmark_inode_bitmap2(fs->inode_map, ino); - ext2fs_bg_free_inodes_count_set(fs, group, ext2fs_bg_free_inodes_count(fs, group) - inuse); + ext2fs_unmark_inode_bitmap(fs->inode_map, ino); + fs->group_desc[group].bg_free_inodes_count -= inuse; if (isdir) - ext2fs_bg_used_dirs_count_set(fs, group, ext2fs_bg_used_dirs_count(fs, group) + inuse); + fs->group_desc[group].bg_used_dirs_count += inuse; /* We don't strictly need to be clearing the uninit flag if inuse < 0 * (i.e. freeing inodes) but it also means something is bad. */ - ext2fs_bg_flags_clear(fs, group, EXT2_BG_INODE_UNINIT); + fs->group_desc[group].bg_flags &= ~EXT2_BG_INODE_UNINIT; if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) { ext2_ino_t first_unused_inode = fs->super->s_inodes_per_group - - ext2fs_bg_itable_unused(fs, group) + + fs->group_desc[group].bg_itable_unused + group * fs->super->s_inodes_per_group + 1; if (ino >= first_unused_inode) - ext2fs_bg_itable_unused_set(fs, group, group * fs->super->s_inodes_per_group + fs->super->s_inodes_per_group - ino); + fs->group_desc[group].bg_itable_unused = + group * fs->super->s_inodes_per_group + + fs->super->s_inodes_per_group - ino; ext2fs_group_desc_csum_set(fs, group); } @@ -58,38 +60,32 @@ void ext2fs_inode_alloc_stats(ext2_filsys fs, ext2_ino_t ino, int inuse) ext2fs_inode_alloc_stats2(fs, ino, inuse, 0); } -void ext2fs_block_alloc_stats2(ext2_filsys fs, blk64_t blk, int inuse) +void ext2fs_block_alloc_stats(ext2_filsys fs, blk_t blk, int inuse) { - int group = ext2fs_group_of_blk2(fs, blk); + int group = ext2fs_group_of_blk(fs, blk); #ifndef OMIT_COM_ERR - if (blk >= ext2fs_blocks_count(fs->super)) { + if (blk >= fs->super->s_blocks_count) { com_err("ext2fs_block_alloc_stats", 0, "Illegal block number: %lu", (unsigned long) blk); return; } #endif if (inuse > 0) - ext2fs_mark_block_bitmap2(fs->block_map, blk); + ext2fs_mark_block_bitmap(fs->block_map, blk); else - ext2fs_unmark_block_bitmap2(fs->block_map, blk); - ext2fs_bg_free_blocks_count_set(fs, group, ext2fs_bg_free_blocks_count(fs, group) - inuse); - ext2fs_bg_flags_clear(fs, group, EXT2_BG_BLOCK_UNINIT); + ext2fs_unmark_block_bitmap(fs->block_map, blk); + fs->group_desc[group].bg_free_blocks_count -= inuse; + fs->group_desc[group].bg_flags &= ~EXT2_BG_BLOCK_UNINIT; ext2fs_group_desc_csum_set(fs, group); - ext2fs_free_blocks_count_add(fs->super, - -inuse * EXT2FS_CLUSTER_RATIO(fs)); + fs->super->s_free_blocks_count -= inuse; ext2fs_mark_super_dirty(fs); ext2fs_mark_bb_dirty(fs); if (fs->block_alloc_stats) (fs->block_alloc_stats)(fs, (blk64_t) blk, inuse); } -void ext2fs_block_alloc_stats(ext2_filsys fs, blk_t blk, int inuse) -{ - ext2fs_block_alloc_stats2(fs, blk, inuse); -} - void ext2fs_set_block_alloc_stats_callback(ext2_filsys fs, void (*func)(ext2_filsys fs, blk64_t blk, diff --git a/lib/ext2fs/alloc_tables.c b/lib/ext2fs/alloc_tables.c index 885d2b23..46465af4 100644 --- a/lib/ext2fs/alloc_tables.c +++ b/lib/ext2fs/alloc_tables.c @@ -26,7 +26,6 @@ #include "ext2_fs.h" #include "ext2fs.h" -#include "ext2fsP.h" /* * This routine searches for free blocks that can allocate a full @@ -34,46 +33,46 @@ * block number with a correct offset were the bitmaps and inode * tables can be allocated continously and in order. */ -static blk64_t flexbg_offset(ext2_filsys fs, dgrp_t group, blk64_t start_blk, - ext2fs_block_bitmap bmap, int rem_grp, - int elem_size) +static blk_t flexbg_offset(ext2_filsys fs, dgrp_t group, blk_t start_blk, + ext2fs_block_bitmap bmap, int offset, int size, + int elem_size) { - int flexbg, flexbg_size, size; - blk64_t last_blk, first_free = 0; + int flexbg, flexbg_size; + blk_t last_blk, first_free = 0; dgrp_t last_grp; flexbg_size = 1 << fs->super->s_log_groups_per_flex; flexbg = group / flexbg_size; - size = rem_grp * elem_size; if (size > (int) (fs->super->s_blocks_per_group / 8)) size = (int) fs->super->s_blocks_per_group / 8; + if (offset) + offset -= 1; + /* * Don't do a long search if the previous block * search is still valid. */ - if (start_blk && ext2fs_test_block_bitmap_range2(bmap, start_blk, - elem_size)) - return start_blk; + if (start_blk && group % flexbg_size) { + if (ext2fs_test_block_bitmap_range(bmap, start_blk + elem_size, + size)) + return start_blk + elem_size; + } - start_blk = ext2fs_group_first_block2(fs, flexbg_size * flexbg); + start_blk = ext2fs_group_first_block(fs, flexbg_size * flexbg); last_grp = group | (flexbg_size - 1); - if (last_grp > fs->group_desc_count-1) - last_grp = fs->group_desc_count-1; - last_blk = ext2fs_group_last_block2(fs, last_grp); + if (last_grp > fs->group_desc_count) + last_grp = fs->group_desc_count; + last_blk = ext2fs_group_last_block(fs, last_grp); /* Find the first available block */ - if (ext2fs_get_free_blocks2(fs, start_blk, last_blk, size, - bmap, &first_free) == 0) + if (ext2fs_get_free_blocks(fs, start_blk, last_blk, 1, bmap, + &first_free)) return first_free; - if (ext2fs_get_free_blocks2(fs, start_blk, last_blk, elem_size, - bmap, &first_free) == 0) - return first_free; - - if (ext2fs_get_free_blocks2(fs, 0, last_blk, elem_size, bmap, - &first_free) == 0) + if (ext2fs_get_free_blocks(fs, first_free + offset, last_blk, size, + bmap, &first_free)) return first_free; return first_free; @@ -82,14 +81,13 @@ static blk64_t flexbg_offset(ext2_filsys fs, dgrp_t group, blk64_t start_blk, errcode_t ext2fs_allocate_group_table(ext2_filsys fs, dgrp_t group, ext2fs_block_bitmap bmap) { - unsigned int j; errcode_t retval; - blk64_t group_blk, start_blk, last_blk, new_blk, blk; + blk_t group_blk, start_blk, last_blk, new_blk, blk; dgrp_t last_grp = 0; - int rem_grps = 0, flexbg_size = 0; + int j, rem_grps = 0, flexbg_size = 0; - group_blk = ext2fs_group_first_block2(fs, group); - last_blk = ext2fs_group_last_block2(fs, group); + group_blk = ext2fs_group_first_block(fs, group); + last_blk = ext2fs_group_last_block(fs, group); if (!bmap) bmap = fs->block_map; @@ -99,17 +97,17 @@ errcode_t ext2fs_allocate_group_table(ext2_filsys fs, dgrp_t group, fs->super->s_log_groups_per_flex) { flexbg_size = 1 << fs->super->s_log_groups_per_flex; last_grp = group | (flexbg_size - 1); - if (last_grp > fs->group_desc_count-1) - last_grp = fs->group_desc_count-1; - rem_grps = last_grp - group + 1; + rem_grps = last_grp - group; + if (last_grp > fs->group_desc_count) + last_grp = fs->group_desc_count; } /* * Allocate the block and inode bitmaps, if necessary */ if (fs->stride) { - retval = ext2fs_get_free_blocks2(fs, group_blk, last_blk, - 1, bmap, &start_blk); + retval = ext2fs_get_free_blocks(fs, group_blk, last_blk, + 1, bmap, &start_blk); if (retval) return retval; start_blk += fs->inode_blocks_per_group; @@ -121,61 +119,57 @@ errcode_t ext2fs_allocate_group_table(ext2_filsys fs, dgrp_t group, start_blk = group_blk; if (flexbg_size) { - blk64_t prev_block = 0; - - if (group % flexbg_size) - prev_block = ext2fs_block_bitmap_loc(fs, group - 1) + 1; + blk_t prev_block = 0; + if (group && fs->group_desc[group-1].bg_block_bitmap) + prev_block = fs->group_desc[group-1].bg_block_bitmap; start_blk = flexbg_offset(fs, group, prev_block, bmap, - rem_grps, 1); - last_blk = ext2fs_group_last_block2(fs, last_grp); + 0, rem_grps, 1); + last_blk = ext2fs_group_last_block(fs, last_grp); } - if (!ext2fs_block_bitmap_loc(fs, group)) { - retval = ext2fs_get_free_blocks2(fs, start_blk, last_blk, - 1, bmap, &new_blk); + if (!fs->group_desc[group].bg_block_bitmap) { + retval = ext2fs_get_free_blocks(fs, start_blk, last_blk, + 1, bmap, &new_blk); if (retval == EXT2_ET_BLOCK_ALLOC_FAIL) - retval = ext2fs_get_free_blocks2(fs, group_blk, + retval = ext2fs_get_free_blocks(fs, group_blk, last_blk, 1, bmap, &new_blk); if (retval) return retval; - ext2fs_mark_block_bitmap2(bmap, new_blk); - ext2fs_block_bitmap_loc_set(fs, group, new_blk); + ext2fs_mark_block_bitmap(bmap, new_blk); + fs->group_desc[group].bg_block_bitmap = new_blk; if (flexbg_size) { - dgrp_t gr = ext2fs_group_of_blk2(fs, new_blk); - ext2fs_bg_free_blocks_count_set(fs, gr, ext2fs_bg_free_blocks_count(fs, gr) - 1); - ext2fs_free_blocks_count_add(fs->super, -1); - ext2fs_bg_flags_clear(fs, gr, EXT2_BG_BLOCK_UNINIT); + dgrp_t gr = ext2fs_group_of_blk(fs, new_blk); + fs->group_desc[gr].bg_free_blocks_count--; + fs->super->s_free_blocks_count--; + fs->group_desc[gr].bg_flags &= ~EXT2_BG_BLOCK_UNINIT; ext2fs_group_desc_csum_set(fs, gr); } } if (flexbg_size) { - blk64_t prev_block = 0; - if (group % flexbg_size) - prev_block = ext2fs_inode_bitmap_loc(fs, group - 1) + 1; - else - prev_block = ext2fs_block_bitmap_loc(fs, group) + - flexbg_size; + blk_t prev_block = 0; + if (group && fs->group_desc[group-1].bg_inode_bitmap) + prev_block = fs->group_desc[group-1].bg_inode_bitmap; start_blk = flexbg_offset(fs, group, prev_block, bmap, - rem_grps, 1); - last_blk = ext2fs_group_last_block2(fs, last_grp); + flexbg_size, rem_grps, 1); + last_blk = ext2fs_group_last_block(fs, last_grp); } - if (!ext2fs_inode_bitmap_loc(fs, group)) { - retval = ext2fs_get_free_blocks2(fs, start_blk, last_blk, - 1, bmap, &new_blk); + if (!fs->group_desc[group].bg_inode_bitmap) { + retval = ext2fs_get_free_blocks(fs, start_blk, last_blk, + 1, bmap, &new_blk); if (retval == EXT2_ET_BLOCK_ALLOC_FAIL) - retval = ext2fs_get_free_blocks2(fs, group_blk, - last_blk, 1, bmap, &new_blk); + retval = ext2fs_get_free_blocks(fs, group_blk, + last_blk, 1, bmap, &new_blk); if (retval) return retval; - ext2fs_mark_block_bitmap2(bmap, new_blk); - ext2fs_inode_bitmap_loc_set(fs, group, new_blk); + ext2fs_mark_block_bitmap(bmap, new_blk); + fs->group_desc[group].bg_inode_bitmap = new_blk; if (flexbg_size) { - dgrp_t gr = ext2fs_group_of_blk2(fs, new_blk); - ext2fs_bg_free_blocks_count_set(fs, gr, ext2fs_bg_free_blocks_count(fs, gr) - 1); - ext2fs_free_blocks_count_add(fs->super, -1); - ext2fs_bg_flags_clear(fs, gr, EXT2_BG_BLOCK_UNINIT); + dgrp_t gr = ext2fs_group_of_blk(fs, new_blk); + fs->group_desc[gr].bg_free_blocks_count--; + fs->super->s_free_blocks_count--; + fs->group_desc[gr].bg_flags &= ~EXT2_BG_BLOCK_UNINIT; ext2fs_group_desc_csum_set(fs, gr); } } @@ -184,22 +178,21 @@ errcode_t ext2fs_allocate_group_table(ext2_filsys fs, dgrp_t group, * Allocate the inode table */ if (flexbg_size) { - blk64_t prev_block = 0; - - if (group % flexbg_size) - prev_block = ext2fs_inode_table_loc(fs, group - 1) + - fs->inode_blocks_per_group; - else - prev_block = ext2fs_inode_bitmap_loc(fs, group) + - flexbg_size; - + blk_t prev_block = 0; + if (group && fs->group_desc[group-1].bg_inode_table) + prev_block = fs->group_desc[group-1].bg_inode_table; + if (last_grp == fs->group_desc_count) + rem_grps = last_grp - group; group_blk = flexbg_offset(fs, group, prev_block, bmap, - rem_grps, fs->inode_blocks_per_group); - last_blk = ext2fs_group_last_block2(fs, last_grp); + flexbg_size * 2, + fs->inode_blocks_per_group * + rem_grps, + fs->inode_blocks_per_group); + last_blk = ext2fs_group_last_block(fs, last_grp); } - if (!ext2fs_inode_table_loc(fs, group)) { - retval = ext2fs_get_free_blocks2(fs, group_blk, last_blk, + if (!fs->group_desc[group].bg_inode_table) { + retval = ext2fs_get_free_blocks(fs, group_blk, last_blk, fs->inode_blocks_per_group, bmap, &new_blk); if (retval) @@ -207,17 +200,16 @@ errcode_t ext2fs_allocate_group_table(ext2_filsys fs, dgrp_t group, for (j=0, blk = new_blk; j < fs->inode_blocks_per_group; j++, blk++) { - ext2fs_mark_block_bitmap2(bmap, blk); + ext2fs_mark_block_bitmap(bmap, blk); if (flexbg_size) { - dgrp_t gr = ext2fs_group_of_blk2(fs, blk); - ext2fs_bg_free_blocks_count_set(fs, gr, ext2fs_bg_free_blocks_count(fs, gr) - 1); - ext2fs_free_blocks_count_add(fs->super, -1); - ext2fs_bg_flags_clear(fs, gr, - EXT2_BG_BLOCK_UNINIT); + dgrp_t gr = ext2fs_group_of_blk(fs, blk); + fs->group_desc[gr].bg_free_blocks_count--; + fs->super->s_free_blocks_count--; + fs->group_desc[gr].bg_flags &= ~EXT2_BG_BLOCK_UNINIT; ext2fs_group_desc_csum_set(fs, gr); } } - ext2fs_inode_table_loc_set(fs, group, new_blk); + fs->group_desc[group].bg_inode_table = new_blk; } ext2fs_group_desc_csum_set(fs, group); return 0; @@ -227,18 +219,12 @@ errcode_t ext2fs_allocate_tables(ext2_filsys fs) { errcode_t retval; dgrp_t i; - struct ext2fs_numeric_progress_struct progress; - - ext2fs_numeric_progress_init(fs, &progress, NULL, - fs->group_desc_count); for (i = 0; i < fs->group_desc_count; i++) { - ext2fs_numeric_progress_update(fs, &progress, i); retval = ext2fs_allocate_group_table(fs, i, fs->block_map); if (retval) return retval; } - ext2fs_numeric_progress_close(fs, &progress, NULL); return 0; } diff --git a/lib/ext2fs/badblocks.c b/lib/ext2fs/badblocks.c index 4312e190..5eb28b78 100644 --- a/lib/ext2fs/badblocks.c +++ b/lib/ext2fs/badblocks.c @@ -177,7 +177,7 @@ int ext2fs_u32_list_find(ext2_u32_list bb, __u32 blk) return high; while (low < high) { - mid = ((unsigned)low + (unsigned)high)/2; + mid = (low+high)/2; if (mid == low || mid == high) break; if (blk == bb->list[mid]) diff --git a/lib/ext2fs/bb_inode.c b/lib/ext2fs/bb_inode.c index 0b6c3dd2..26266869 100644 --- a/lib/ext2fs/bb_inode.c +++ b/lib/ext2fs/bb_inode.c @@ -65,7 +65,8 @@ errcode_t ext2fs_update_bb_inode(ext2_filsys fs, ext2_badblocks_list bb_list) if (!fs->block_map) return EXT2_ET_NO_BLOCK_BITMAP; - memset(&rec, 0, sizeof(rec)); + rec.bad_block_count = 0; + rec.ind_blocks_size = rec.ind_blocks_ptr = 0; rec.max_ind_blocks = 10; retval = ext2fs_get_array(rec.max_ind_blocks, sizeof(blk_t), &rec.ind_blocks); @@ -165,7 +166,7 @@ static int clear_bad_block_proc(ext2_filsys fs, blk_t *block_nr, /* * If the block number is outrageous, clear it and ignore it. */ - if (*block_nr >= ext2fs_blocks_count(fs->super) || + if (*block_nr >= fs->super->s_blocks_count || *block_nr < fs->super->s_first_data_block) { *block_nr = 0; return BLOCK_CHANGED; @@ -190,7 +191,7 @@ static int clear_bad_block_proc(ext2_filsys fs, blk_t *block_nr, /* * Mark the block as unused, and update accounting information */ - ext2fs_block_alloc_stats2(fs, *block_nr, -1); + ext2fs_block_alloc_stats(fs, *block_nr, -1); *block_nr = 0; return BLOCK_CHANGED; @@ -234,7 +235,7 @@ static int set_bad_block_proc(ext2_filsys fs, blk_t *block_nr, retry: if (rec->ind_blocks_ptr < rec->ind_blocks_size) { blk = rec->ind_blocks[rec->ind_blocks_ptr++]; - if (ext2fs_test_block_bitmap2(fs->block_map, blk)) + if (ext2fs_test_block_bitmap(fs->block_map, blk)) goto retry; } else { retval = ext2fs_new_block(fs, 0, 0, &blk); @@ -243,7 +244,7 @@ static int set_bad_block_proc(ext2_filsys fs, blk_t *block_nr, return BLOCK_ABORT; } } - retval = io_channel_write_blk64(fs->io, blk, 1, rec->block_buf); + retval = io_channel_write_blk(fs->io, blk, 1, rec->block_buf); if (retval) { rec->err = retval; return BLOCK_ABORT; @@ -253,7 +254,7 @@ static int set_bad_block_proc(ext2_filsys fs, blk_t *block_nr, /* * Update block counts */ - ext2fs_block_alloc_stats2(fs, blk, +1); + ext2fs_block_alloc_stats(fs, blk, +1); *block_nr = blk; return BLOCK_CHANGED; diff --git a/lib/ext2fs/bitmaps.c b/lib/ext2fs/bitmaps.c index f215122f..649c524f 100644 --- a/lib/ext2fs/bitmaps.c +++ b/lib/ext2fs/bitmaps.c @@ -26,34 +26,33 @@ #include "ext2_fs.h" #include "ext2fs.h" -#include "ext2fsP.h" -#include "bmap64.h" void ext2fs_free_inode_bitmap(ext2fs_inode_bitmap bitmap) { - ext2fs_free_generic_bmap(bitmap); + ext2fs_free_generic_bitmap(bitmap); } void ext2fs_free_block_bitmap(ext2fs_block_bitmap bitmap) { - ext2fs_free_generic_bmap(bitmap); + ext2fs_free_generic_bitmap(bitmap); } errcode_t ext2fs_copy_bitmap(ext2fs_generic_bitmap src, ext2fs_generic_bitmap *dest) { - return (ext2fs_copy_generic_bmap(src, dest)); + return (ext2fs_copy_generic_bitmap(src, dest)); } + void ext2fs_set_bitmap_padding(ext2fs_generic_bitmap map) { - ext2fs_set_generic_bmap_padding(map); + ext2fs_set_generic_bitmap_padding(map); } errcode_t ext2fs_allocate_inode_bitmap(ext2_filsys fs, const char *descr, ext2fs_inode_bitmap *ret) { - __u64 start, end, real_end; + __u32 start, end, real_end; EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); @@ -63,116 +62,39 @@ errcode_t ext2fs_allocate_inode_bitmap(ext2_filsys fs, end = fs->super->s_inodes_count; real_end = (EXT2_INODES_PER_GROUP(fs->super) * fs->group_desc_count); - /* Are we permitted to use new-style bitmaps? */ - if (fs->flags & EXT2_FLAG_64BITS) - return (ext2fs_alloc_generic_bmap(fs, - EXT2_ET_MAGIC_INODE_BITMAP64, - fs->default_bitmap_type, - start, end, real_end, descr, ret)); - - /* Otherwise, check to see if the file system is small enough - * to use old-style 32-bit bitmaps */ - if ((end > ~0U) || (real_end > ~0U)) - return EXT2_ET_CANT_USE_LEGACY_BITMAPS; - return (ext2fs_make_generic_bitmap(EXT2_ET_MAGIC_INODE_BITMAP, fs, - start, end, real_end, - descr, 0, - (ext2fs_generic_bitmap *) ret)); + start, end, real_end, + descr, 0, ret)); } errcode_t ext2fs_allocate_block_bitmap(ext2_filsys fs, const char *descr, ext2fs_block_bitmap *ret) { - __u64 start, end, real_end; + __u32 start, end, real_end; EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); fs->write_bitmaps = ext2fs_write_bitmaps; - start = EXT2FS_B2C(fs, fs->super->s_first_data_block); - end = EXT2FS_B2C(fs, ext2fs_blocks_count(fs->super)-1); - real_end = ((__u64) EXT2_CLUSTERS_PER_GROUP(fs->super) - * (__u64) fs->group_desc_count)-1 + start; - - if (fs->flags & EXT2_FLAG_64BITS) - return (ext2fs_alloc_generic_bmap(fs, - EXT2_ET_MAGIC_BLOCK_BITMAP64, - fs->default_bitmap_type, - start, end, real_end, descr, ret)); - - if ((end > ~0U) || (real_end > ~0U)) - return EXT2_ET_CANT_USE_LEGACY_BITMAPS; + start = fs->super->s_first_data_block; + end = fs->super->s_blocks_count-1; + real_end = (EXT2_BLOCKS_PER_GROUP(fs->super) + * fs->group_desc_count)-1 + start; return (ext2fs_make_generic_bitmap(EXT2_ET_MAGIC_BLOCK_BITMAP, fs, start, end, real_end, - descr, 0, - (ext2fs_generic_bitmap *) ret)); -} - -/* - * ext2fs_allocate_block_bitmap() really allocates a per-cluster - * bitmap for backwards compatibility. This function allocates a - * block bitmap which is truly per-block, even if clusters/bigalloc - * are enabled. mke2fs and e2fsck need this for tracking the - * allocation of the file system metadata blocks. - */ -errcode_t ext2fs_allocate_subcluster_bitmap(ext2_filsys fs, - const char *descr, - ext2fs_block_bitmap *ret) -{ - __u64 start, end, real_end; - ext2fs_generic_bitmap bmap; - errcode_t retval; - - EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); - - fs->write_bitmaps = ext2fs_write_bitmaps; - - if (!fs->cluster_ratio_bits) - return ext2fs_allocate_block_bitmap(fs, descr, ret); - - if ((fs->flags & EXT2_FLAG_64BITS) == 0) - return EXT2_ET_CANT_USE_LEGACY_BITMAPS; - - start = fs->super->s_first_data_block; - end = ext2fs_blocks_count(fs->super)-1; - real_end = ((__u64) EXT2_BLOCKS_PER_GROUP(fs->super) - * (__u64) fs->group_desc_count)-1 + start; - - retval = ext2fs_alloc_generic_bmap(fs, EXT2_ET_MAGIC_BLOCK_BITMAP64, - fs->default_bitmap_type, start, - end, real_end, descr, &bmap); - if (retval) - return retval; - bmap->cluster_bits = 0; - *ret = bmap; - return 0; -} - -int ext2fs_get_bitmap_granularity(ext2fs_block_bitmap bitmap) -{ - ext2fs_generic_bitmap bmap = bitmap; - - if (!EXT2FS_IS_64_BITMAP(bmap)) - return 0; - - return bmap->cluster_bits; + descr, 0, ret)); } errcode_t ext2fs_fudge_inode_bitmap_end(ext2fs_inode_bitmap bitmap, ext2_ino_t end, ext2_ino_t *oend) { - __u64 tmp_oend; - int retval; - retval = ext2fs_fudge_generic_bmap_end((ext2fs_generic_bitmap) bitmap, - EXT2_ET_FUDGE_INODE_BITMAP_END, - end, &tmp_oend); - if (oend) - *oend = tmp_oend; - return retval; + return (ext2fs_fudge_generic_bitmap_end(bitmap, + EXT2_ET_MAGIC_INODE_BITMAP, + EXT2_ET_FUDGE_INODE_BITMAP_END, + end, oend)); } errcode_t ext2fs_fudge_block_bitmap_end(ext2fs_block_bitmap bitmap, @@ -184,22 +106,14 @@ errcode_t ext2fs_fudge_block_bitmap_end(ext2fs_block_bitmap bitmap, end, oend)); } -errcode_t ext2fs_fudge_block_bitmap_end2(ext2fs_block_bitmap bitmap, - blk64_t end, blk64_t *oend) -{ - return (ext2fs_fudge_generic_bmap_end(bitmap, - EXT2_ET_FUDGE_BLOCK_BITMAP_END, - end, oend)); -} - void ext2fs_clear_inode_bitmap(ext2fs_inode_bitmap bitmap) { - ext2fs_clear_generic_bmap(bitmap); + ext2fs_clear_generic_bitmap(bitmap); } void ext2fs_clear_block_bitmap(ext2fs_block_bitmap bitmap) { - ext2fs_clear_generic_bmap(bitmap); + ext2fs_clear_generic_bitmap(bitmap); } errcode_t ext2fs_resize_inode_bitmap(__u32 new_end, __u32 new_real_end, @@ -209,12 +123,6 @@ errcode_t ext2fs_resize_inode_bitmap(__u32 new_end, __u32 new_real_end, new_end, new_real_end, bmap)); } -errcode_t ext2fs_resize_inode_bitmap2(__u64 new_end, __u64 new_real_end, - ext2fs_inode_bitmap bmap) -{ - return (ext2fs_resize_generic_bmap(bmap, new_end, new_real_end)); -} - errcode_t ext2fs_resize_block_bitmap(__u32 new_end, __u32 new_real_end, ext2fs_block_bitmap bmap) { @@ -222,24 +130,20 @@ errcode_t ext2fs_resize_block_bitmap(__u32 new_end, __u32 new_real_end, new_end, new_real_end, bmap)); } -errcode_t ext2fs_resize_block_bitmap2(__u64 new_end, __u64 new_real_end, - ext2fs_block_bitmap bmap) -{ - return (ext2fs_resize_generic_bmap(bmap, new_end, new_real_end)); -} - errcode_t ext2fs_compare_block_bitmap(ext2fs_block_bitmap bm1, ext2fs_block_bitmap bm2) { - return (ext2fs_compare_generic_bmap(EXT2_ET_NEQ_BLOCK_BITMAP, - bm1, bm2)); + return (ext2fs_compare_generic_bitmap(EXT2_ET_MAGIC_BLOCK_BITMAP, + EXT2_ET_NEQ_BLOCK_BITMAP, + bm1, bm2)); } errcode_t ext2fs_compare_inode_bitmap(ext2fs_inode_bitmap bm1, ext2fs_inode_bitmap bm2) { - return (ext2fs_compare_generic_bmap(EXT2_ET_NEQ_INODE_BITMAP, - bm1, bm2)); + return (ext2fs_compare_generic_bitmap(EXT2_ET_MAGIC_INODE_BITMAP, + EXT2_ET_NEQ_INODE_BITMAP, + bm1, bm2)); } errcode_t ext2fs_set_inode_bitmap_range(ext2fs_inode_bitmap bmap, @@ -251,13 +155,6 @@ errcode_t ext2fs_set_inode_bitmap_range(ext2fs_inode_bitmap bmap, start, num, in)); } -errcode_t ext2fs_set_inode_bitmap_range2(ext2fs_inode_bitmap bmap, - __u64 start, size_t num, - void *in) -{ - return (ext2fs_set_generic_bmap_range(bmap, start, num, in)); -} - errcode_t ext2fs_get_inode_bitmap_range(ext2fs_inode_bitmap bmap, ext2_ino_t start, unsigned int num, void *out) @@ -267,13 +164,6 @@ errcode_t ext2fs_get_inode_bitmap_range(ext2fs_inode_bitmap bmap, start, num, out)); } -errcode_t ext2fs_get_inode_bitmap_range2(ext2fs_inode_bitmap bmap, - __u64 start, size_t num, - void *out) -{ - return (ext2fs_get_generic_bmap_range(bmap, start, num, out)); -} - errcode_t ext2fs_set_block_bitmap_range(ext2fs_block_bitmap bmap, blk_t start, unsigned int num, void *in) @@ -283,13 +173,6 @@ errcode_t ext2fs_set_block_bitmap_range(ext2fs_block_bitmap bmap, start, num, in)); } -errcode_t ext2fs_set_block_bitmap_range2(ext2fs_block_bitmap bmap, - blk64_t start, size_t num, - void *in) -{ - return (ext2fs_set_generic_bmap_range(bmap, start, num, in)); -} - errcode_t ext2fs_get_block_bitmap_range(ext2fs_block_bitmap bmap, blk_t start, unsigned int num, void *out) @@ -298,10 +181,3 @@ errcode_t ext2fs_get_block_bitmap_range(ext2fs_block_bitmap bmap, EXT2_ET_MAGIC_BLOCK_BITMAP, start, num, out)); } - -errcode_t ext2fs_get_block_bitmap_range2(ext2fs_block_bitmap bmap, - blk64_t start, size_t num, - void *out) -{ - return (ext2fs_get_generic_bmap_range(bmap, start, num, out)); -} diff --git a/lib/ext2fs/bitops.c b/lib/ext2fs/bitops.c index 42328478..d7db9049 100644 --- a/lib/ext2fs/bitops.c +++ b/lib/ext2fs/bitops.c @@ -76,82 +76,3 @@ void ext2fs_warn_bitmap(errcode_t errcode, unsigned long arg, com_err(0, errcode, "#%lu", arg); #endif } - -/* - * C-only 64 bit ops. - */ - -int ext2fs_set_bit64(__u64 nr, void * addr) -{ - int mask, retval; - unsigned char *ADDR = (unsigned char *) addr; - - ADDR += nr >> 3; - mask = 1 << (nr & 0x07); - retval = mask & *ADDR; - *ADDR |= mask; - return retval; -} - -int ext2fs_clear_bit64(__u64 nr, void * addr) -{ - int mask, retval; - unsigned char *ADDR = (unsigned char *) addr; - - ADDR += nr >> 3; - mask = 1 << (nr & 0x07); - retval = mask & *ADDR; - *ADDR &= ~mask; - return retval; -} - -int ext2fs_test_bit64(__u64 nr, const void * addr) -{ - int mask; - const unsigned char *ADDR = (const unsigned char *) addr; - - ADDR += nr >> 3; - mask = 1 << (nr & 0x07); - return (mask & *ADDR); -} - -static unsigned int popcount8(unsigned int w) -{ - unsigned int res = w - ((w >> 1) & 0x55); - res = (res & 0x33) + ((res >> 2) & 0x33); - return (res + (res >> 4)) & 0x0F; -} - -static unsigned int popcount32(unsigned int w) -{ - unsigned int res = w - ((w >> 1) & 0x55555555); - res = (res & 0x33333333) + ((res >> 2) & 0x33333333); - res = (res + (res >> 4)) & 0x0F0F0F0F; - res = res + (res >> 8); - return (res + (res >> 16)) & 0x000000FF; -} - -unsigned int ext2fs_bitcount(const void *addr, unsigned int nbytes) -{ - const unsigned char *cp = addr; - const __u32 *p; - unsigned int res = 0; - - while (((((unsigned long) cp) & 3) != 0) && (nbytes > 0)) { - res += popcount8(*cp++); - nbytes--; - } - p = (const __u32 *) cp; - - while (nbytes > 4) { - res += popcount32(*p++); - nbytes -= 4; - } - cp = (const unsigned char *) p; - - while (nbytes > 0) { - res += popcount8(*cp++); - nbytes--; - } - return res; -} diff --git a/lib/ext2fs/bitops.h b/lib/ext2fs/bitops.h index 3e8132de..ce705394 100644 --- a/lib/ext2fs/bitops.h +++ b/lib/ext2fs/bitops.h @@ -10,6 +10,15 @@ * %End-Header% */ +extern int ext2fs_set_bit(unsigned int nr,void * addr); +extern int ext2fs_clear_bit(unsigned int nr, void * addr); +extern int ext2fs_test_bit(unsigned int nr, const void * addr); +extern void ext2fs_fast_set_bit(unsigned int nr,void * addr); +extern void ext2fs_fast_clear_bit(unsigned int nr, void * addr); +extern __u16 ext2fs_swab16(__u16 val); +extern __u32 ext2fs_swab32(__u32 val); +extern __u64 ext2fs_swab64(__u64 val); + #ifdef WORDS_BIGENDIAN #define ext2fs_cpu_to_le64(x) ext2fs_swab64((x)) #define ext2fs_le64_to_cpu(x) ext2fs_swab64((x)) @@ -17,8 +26,6 @@ #define ext2fs_le32_to_cpu(x) ext2fs_swab32((x)) #define ext2fs_cpu_to_le16(x) ext2fs_swab16((x)) #define ext2fs_le16_to_cpu(x) ext2fs_swab16((x)) -#define ext2fs_cpu_to_be64(x) ((__u64)(x)) -#define ext2fs_be64_to_cpu(x) ((__u64)(x)) #define ext2fs_cpu_to_be32(x) ((__u32)(x)) #define ext2fs_be32_to_cpu(x) ((__u32)(x)) #define ext2fs_cpu_to_be16(x) ((__u16)(x)) @@ -30,8 +37,6 @@ #define ext2fs_le32_to_cpu(x) ((__u32)(x)) #define ext2fs_cpu_to_le16(x) ((__u16)(x)) #define ext2fs_le16_to_cpu(x) ((__u16)(x)) -#define ext2fs_cpu_to_be64(x) ext2fs_swab64((x)) -#define ext2fs_be64_to_cpu(x) ext2fs_swab64((x)) #define ext2fs_cpu_to_be32(x) ext2fs_swab32((x)) #define ext2fs_be32_to_cpu(x) ext2fs_swab32((x)) #define ext2fs_cpu_to_be16(x) ext2fs_swab16((x)) @@ -53,15 +58,6 @@ extern void ext2fs_warn_bitmap(errcode_t errcode, unsigned long arg, extern void ext2fs_warn_bitmap2(ext2fs_generic_bitmap bitmap, int code, unsigned long arg); -#ifdef NO_INLINE_FUNCS -extern void ext2fs_fast_set_bit(unsigned int nr,void * addr); -extern void ext2fs_fast_clear_bit(unsigned int nr, void * addr); -extern void ext2fs_fast_set_bit64(__u64 nr,void * addr); -extern void ext2fs_fast_clear_bit64(__u64 nr, void * addr); -extern __u16 ext2fs_swab16(__u16 val); -extern __u32 ext2fs_swab32(__u32 val); -extern __u64 ext2fs_swab64(__u64 val); - extern int ext2fs_mark_block_bitmap(ext2fs_block_bitmap bitmap, blk_t block); extern int ext2fs_unmark_block_bitmap(ext2fs_block_bitmap bitmap, blk_t block); @@ -90,15 +86,6 @@ extern ext2_ino_t ext2fs_get_inode_bitmap_start(ext2fs_inode_bitmap bitmap); extern blk_t ext2fs_get_block_bitmap_end(ext2fs_block_bitmap bitmap); extern ext2_ino_t ext2fs_get_inode_bitmap_end(ext2fs_inode_bitmap bitmap); -extern void ext2fs_fast_mark_block_bitmap_range(ext2fs_block_bitmap bitmap, - blk_t block, int num); -extern void ext2fs_fast_unmark_block_bitmap_range(ext2fs_block_bitmap bitmap, - blk_t block, int num); -extern int ext2fs_fast_test_block_bitmap_range(ext2fs_block_bitmap bitmap, - blk_t block, int num); -#endif - -/* These functions routines moved to gen_bitmap.c */ extern void ext2fs_mark_block_bitmap_range(ext2fs_block_bitmap bitmap, blk_t block, int num); extern void ext2fs_unmark_block_bitmap_range(ext2fs_block_bitmap bitmap, @@ -107,6 +94,15 @@ extern int ext2fs_test_block_bitmap_range(ext2fs_block_bitmap bitmap, blk_t block, int num); extern int ext2fs_test_inode_bitmap_range(ext2fs_inode_bitmap bitmap, ino_t inode, int num); +extern void ext2fs_fast_mark_block_bitmap_range(ext2fs_block_bitmap bitmap, + blk_t block, int num); +extern void ext2fs_fast_unmark_block_bitmap_range(ext2fs_block_bitmap bitmap, + blk_t block, int num); +extern int ext2fs_fast_test_block_bitmap_range(ext2fs_block_bitmap bitmap, + blk_t block, int num); +extern void ext2fs_set_bitmap_padding(ext2fs_generic_bitmap map); + +/* These routines moved to gen_bitmap.c */ extern int ext2fs_mark_generic_bitmap(ext2fs_generic_bitmap bitmap, __u32 bitno); extern int ext2fs_unmark_generic_bitmap(ext2fs_generic_bitmap bitmap, @@ -115,90 +111,9 @@ extern int ext2fs_test_generic_bitmap(ext2fs_generic_bitmap bitmap, blk_t bitno); extern int ext2fs_test_block_bitmap_range(ext2fs_block_bitmap bitmap, blk_t block, int num); -extern void ext2fs_set_bitmap_padding(ext2fs_generic_bitmap map); extern __u32 ext2fs_get_generic_bitmap_start(ext2fs_generic_bitmap bitmap); extern __u32 ext2fs_get_generic_bitmap_end(ext2fs_generic_bitmap bitmap); -/* 64-bit versions */ - -#ifdef NO_INLINE_FUNCS -extern int ext2fs_mark_block_bitmap2(ext2fs_block_bitmap bitmap, - blk64_t block); -extern int ext2fs_unmark_block_bitmap2(ext2fs_block_bitmap bitmap, - blk64_t block); -extern int ext2fs_test_block_bitmap2(ext2fs_block_bitmap bitmap, - blk64_t block); - -extern int ext2fs_mark_inode_bitmap2(ext2fs_inode_bitmap bitmap, - ext2_ino_t inode); -extern int ext2fs_unmark_inode_bitmap2(ext2fs_inode_bitmap bitmap, - ext2_ino_t inode); -extern int ext2fs_test_inode_bitmap2(ext2fs_inode_bitmap bitmap, - ext2_ino_t inode); - -extern void ext2fs_fast_mark_block_bitmap2(ext2fs_block_bitmap bitmap, - blk64_t block); -extern void ext2fs_fast_unmark_block_bitmap2(ext2fs_block_bitmap bitmap, - blk64_t block); -extern int ext2fs_fast_test_block_bitmap2(ext2fs_block_bitmap bitmap, - blk64_t block); - -extern void ext2fs_fast_mark_inode_bitmap2(ext2fs_inode_bitmap bitmap, - ext2_ino_t inode); -extern void ext2fs_fast_unmark_inode_bitmap2(ext2fs_inode_bitmap bitmap, - ext2_ino_t inode); -extern int ext2fs_fast_test_inode_bitmap2(ext2fs_inode_bitmap bitmap, - ext2_ino_t inode); -extern errcode_t ext2fs_find_first_zero_block_bitmap2(ext2fs_block_bitmap bitmap, - blk64_t start, - blk64_t end, - blk64_t *out); -extern errcode_t ext2fs_find_first_zero_inode_bitmap2(ext2fs_inode_bitmap bitmap, - ext2_ino_t start, - ext2_ino_t end, - ext2_ino_t *out); -extern blk64_t ext2fs_get_block_bitmap_start2(ext2fs_block_bitmap bitmap); -extern ext2_ino_t ext2fs_get_inode_bitmap_start2(ext2fs_inode_bitmap bitmap); -extern blk64_t ext2fs_get_block_bitmap_end2(ext2fs_block_bitmap bitmap); -extern ext2_ino_t ext2fs_get_inode_bitmap_end2(ext2fs_inode_bitmap bitmap); - -extern int ext2fs_fast_test_block_bitmap_range2(ext2fs_block_bitmap bitmap, - blk64_t block, - unsigned int num); -extern void ext2fs_fast_mark_block_bitmap_range2(ext2fs_block_bitmap bitmap, - blk64_t block, - unsigned int num); -extern void ext2fs_fast_unmark_block_bitmap_range2(ext2fs_block_bitmap bitmap, - blk64_t block, - unsigned int num); -#endif - -/* These routines moved to gen_bitmap64.c */ -extern void ext2fs_clear_generic_bmap(ext2fs_generic_bitmap bitmap); -extern errcode_t ext2fs_compare_generic_bmap(errcode_t neq, - ext2fs_generic_bitmap bm1, - ext2fs_generic_bitmap bm2); -extern void ext2fs_set_generic_bmap_padding(ext2fs_generic_bitmap bmap); -extern int ext2fs_mark_generic_bmap(ext2fs_generic_bitmap bitmap, - blk64_t bitno); -extern int ext2fs_unmark_generic_bmap(ext2fs_generic_bitmap bitmap, - blk64_t bitno); -extern int ext2fs_test_generic_bmap(ext2fs_generic_bitmap bitmap, - blk64_t bitno); -extern int ext2fs_test_block_bitmap_range2(ext2fs_block_bitmap bitmap, - blk64_t block, unsigned int num); -extern __u64 ext2fs_get_generic_bmap_start(ext2fs_generic_bitmap bitmap); -extern __u64 ext2fs_get_generic_bmap_end(ext2fs_generic_bitmap bitmap); -extern int ext2fs_test_block_bitmap_range2(ext2fs_block_bitmap bitmap, - blk64_t block, unsigned int num); -extern void ext2fs_mark_block_bitmap_range2(ext2fs_block_bitmap bitmap, - blk64_t block, unsigned int num); -extern void ext2fs_unmark_block_bitmap_range2(ext2fs_block_bitmap bitmap, - blk64_t block, unsigned int num); -extern errcode_t ext2fs_find_first_zero_generic_bmap(ext2fs_generic_bitmap bitmap, - __u64 start, __u64 end, - __u64 *out); - /* * The inline routines themselves... * @@ -208,7 +123,7 @@ extern errcode_t ext2fs_find_first_zero_generic_bmap(ext2fs_generic_bitmap bitma */ #ifdef NO_INLINE_FUNCS #if (defined(__GNUC__) && (defined(__i386__) || defined(__i486__) || \ - defined(__i586__))) + defined(__i586__) || defined(__mc68000__))) /* This prevents bitops.c from trying to include the C */ /* function version of these functions */ #define _EXT2_HAVE_ASM_BITOPS_ @@ -217,22 +132,14 @@ extern errcode_t ext2fs_find_first_zero_generic_bmap(ext2fs_generic_bitmap bitma #if (defined(INCLUDE_INLINE_FUNCS) || !defined(NO_INLINE_FUNCS)) #ifdef INCLUDE_INLINE_FUNCS -#if (__STDC_VERSION__ >= 199901L) -#define _INLINE_ extern inline +#define _INLINE_ extern #else -#define _INLINE_ inline -#endif -#else /* !INCLUDE_INLINE FUNCS */ -#if (__STDC_VERSION__ >= 199901L) -#define _INLINE_ inline -#else /* not C99 */ #ifdef __GNUC__ #define _INLINE_ extern __inline__ #else /* For Watcom C */ #define _INLINE_ extern inline -#endif /* __GNUC__ */ -#endif /* __STDC_VERSION__ >= 199901L */ -#endif /* INCLUDE_INLINE_FUNCS */ +#endif +#endif /* * Fast bit set/clear functions that doesn't need to return the @@ -244,7 +151,7 @@ _INLINE_ void ext2fs_fast_set_bit(unsigned int nr,void * addr) unsigned char *ADDR = (unsigned char *) addr; ADDR += nr >> 3; - *ADDR |= (unsigned char) (1 << (nr & 0x07)); + *ADDR |= (1 << (nr & 0x07)); } _INLINE_ void ext2fs_fast_clear_bit(unsigned int nr, void * addr) @@ -252,24 +159,7 @@ _INLINE_ void ext2fs_fast_clear_bit(unsigned int nr, void * addr) unsigned char *ADDR = (unsigned char *) addr; ADDR += nr >> 3; - *ADDR &= (unsigned char) ~(1 << (nr & 0x07)); -} - - -_INLINE_ void ext2fs_fast_set_bit64(__u64 nr, void * addr) -{ - unsigned char *ADDR = (unsigned char *) addr; - - ADDR += nr >> 3; - *ADDR |= (unsigned char) (1 << (nr & 0x07)); -} - -_INLINE_ void ext2fs_fast_clear_bit64(__u64 nr, void * addr) -{ - unsigned char *ADDR = (unsigned char *) addr; - - ADDR += nr >> 3; - *ADDR &= (unsigned char) ~(1 << (nr & 0x07)); + *ADDR &= ~(1 << (nr & 0x07)); } @@ -353,12 +243,49 @@ _INLINE_ __u16 ext2fs_swab16(__u16 val) #endif /* i386 */ +#if ((defined __GNUC__) && !defined(_EXT2_USE_C_VERSIONS_) && \ + (defined(__mc68000__))) + +#define _EXT2_HAVE_ASM_BITOPS_ + +_INLINE_ int ext2fs_set_bit(unsigned int nr,void * addr) +{ + char retval; + + __asm__ __volatile__ ("bfset %2@{%1:#1}; sne %0" + : "=d" (retval) : "d" (nr^7), "a" (addr)); + + return retval; +} + +_INLINE_ int ext2fs_clear_bit(unsigned int nr, void * addr) +{ + char retval; + + __asm__ __volatile__ ("bfclr %2@{%1:#1}; sne %0" + : "=d" (retval) : "d" (nr^7), "a" (addr)); + + return retval; +} + +_INLINE_ int ext2fs_test_bit(unsigned int nr, const void * addr) +{ + char retval; + + __asm__ __volatile__ ("bftst %2@{%1:#1}; sne %0" + : "=d" (retval) : "d" (nr^7), "a" (addr)); + + return retval; +} + +#endif /* __mc68000__ */ + #if !defined(_EXT2_HAVE_ASM_SWAB_) _INLINE_ __u16 ext2fs_swab16(__u16 val) { - return (val >> 8) | (__u16) (val << 8); + return (val >> 8) | (val << 8); } _INLINE_ __u32 ext2fs_swab32(__u32 val) @@ -371,7 +298,7 @@ _INLINE_ __u32 ext2fs_swab32(__u32 val) _INLINE_ __u64 ext2fs_swab64(__u64 val) { - return (ext2fs_swab32((__u32) (val >> 32)) | + return (ext2fs_swab32(val >> 32) | (((__u64)ext2fs_swab32(val & 0xFFFFFFFFUL)) << 32)); } @@ -492,169 +419,6 @@ _INLINE_ void ext2fs_fast_unmark_block_bitmap_range(ext2fs_block_bitmap bitmap, { ext2fs_unmark_block_bitmap_range(bitmap, block, num); } - -/* 64-bit versions */ - -_INLINE_ int ext2fs_mark_block_bitmap2(ext2fs_block_bitmap bitmap, - blk64_t block) -{ - return ext2fs_mark_generic_bmap((ext2fs_generic_bitmap) bitmap, - block); -} - -_INLINE_ int ext2fs_unmark_block_bitmap2(ext2fs_block_bitmap bitmap, - blk64_t block) -{ - return ext2fs_unmark_generic_bmap((ext2fs_generic_bitmap) bitmap, block); -} - -_INLINE_ int ext2fs_test_block_bitmap2(ext2fs_block_bitmap bitmap, - blk64_t block) -{ - return ext2fs_test_generic_bmap((ext2fs_generic_bitmap) bitmap, - block); -} - -_INLINE_ int ext2fs_mark_inode_bitmap2(ext2fs_inode_bitmap bitmap, - ext2_ino_t inode) -{ - return ext2fs_mark_generic_bmap((ext2fs_generic_bitmap) bitmap, - inode); -} - -_INLINE_ int ext2fs_unmark_inode_bitmap2(ext2fs_inode_bitmap bitmap, - ext2_ino_t inode) -{ - return ext2fs_unmark_generic_bmap((ext2fs_generic_bitmap) bitmap, - inode); -} - -_INLINE_ int ext2fs_test_inode_bitmap2(ext2fs_inode_bitmap bitmap, - ext2_ino_t inode) -{ - return ext2fs_test_generic_bmap((ext2fs_generic_bitmap) bitmap, - inode); -} - -_INLINE_ void ext2fs_fast_mark_block_bitmap2(ext2fs_block_bitmap bitmap, - blk64_t block) -{ - ext2fs_mark_generic_bmap((ext2fs_generic_bitmap) bitmap, block); -} - -_INLINE_ void ext2fs_fast_unmark_block_bitmap2(ext2fs_block_bitmap bitmap, - blk64_t block) -{ - ext2fs_unmark_generic_bmap((ext2fs_generic_bitmap) bitmap, block); -} - -_INLINE_ int ext2fs_fast_test_block_bitmap2(ext2fs_block_bitmap bitmap, - blk64_t block) -{ - return ext2fs_test_generic_bmap((ext2fs_generic_bitmap) bitmap, - block); -} - -_INLINE_ void ext2fs_fast_mark_inode_bitmap2(ext2fs_inode_bitmap bitmap, - ext2_ino_t inode) -{ - ext2fs_mark_generic_bmap((ext2fs_generic_bitmap) bitmap, inode); -} - -_INLINE_ void ext2fs_fast_unmark_inode_bitmap2(ext2fs_inode_bitmap bitmap, - ext2_ino_t inode) -{ - ext2fs_unmark_generic_bmap((ext2fs_generic_bitmap) bitmap, inode); -} - -_INLINE_ int ext2fs_fast_test_inode_bitmap2(ext2fs_inode_bitmap bitmap, - ext2_ino_t inode) -{ - return ext2fs_test_generic_bmap((ext2fs_generic_bitmap) bitmap, - inode); -} - -_INLINE_ errcode_t ext2fs_find_first_zero_block_bitmap2(ext2fs_block_bitmap bitmap, - blk64_t start, - blk64_t end, - blk64_t *out) -{ - __u64 o; - errcode_t rv; - - rv = ext2fs_find_first_zero_generic_bmap((ext2fs_generic_bitmap) bitmap, - start, end, &o); - if (!rv) - *out = o; - return rv; -} - -_INLINE_ errcode_t ext2fs_find_first_zero_inode_bitmap2(ext2fs_inode_bitmap bitmap, - ext2_ino_t start, - ext2_ino_t end, - ext2_ino_t *out) -{ - __u64 o; - errcode_t rv; - - rv = ext2fs_find_first_zero_generic_bmap((ext2fs_generic_bitmap) bitmap, - start, end, &o); - if (!rv) - *out = (ext2_ino_t) o; - return rv; -} - -_INLINE_ blk64_t ext2fs_get_block_bitmap_start2(ext2fs_block_bitmap bitmap) -{ - return ext2fs_get_generic_bmap_start((ext2fs_generic_bitmap) bitmap); -} - -_INLINE_ ext2_ino_t ext2fs_get_inode_bitmap_start2(ext2fs_inode_bitmap bitmap) -{ - return (ext2_ino_t) ext2fs_get_generic_bmap_start((ext2fs_generic_bitmap) bitmap); -} - -_INLINE_ blk64_t ext2fs_get_block_bitmap_end2(ext2fs_block_bitmap bitmap) -{ - return ext2fs_get_generic_bmap_end((ext2fs_generic_bitmap) bitmap); -} - -_INLINE_ ext2_ino_t ext2fs_get_inode_bitmap_end2(ext2fs_inode_bitmap bitmap) -{ - return (ext2_ino_t) ext2fs_get_generic_bmap_end((ext2fs_generic_bitmap) bitmap); -} - -_INLINE_ int ext2fs_fast_test_block_bitmap_range2(ext2fs_block_bitmap bitmap, - blk64_t block, - unsigned int num) -{ - return ext2fs_test_block_bitmap_range2(bitmap, block, num); -} - -_INLINE_ void ext2fs_fast_mark_block_bitmap_range2(ext2fs_block_bitmap bitmap, - blk64_t block, - unsigned int num) -{ - ext2fs_mark_block_bitmap_range2(bitmap, block, num); -} - -_INLINE_ void ext2fs_fast_unmark_block_bitmap_range2(ext2fs_block_bitmap bitmap, - blk64_t block, - unsigned int num) -{ - ext2fs_unmark_block_bitmap_range2(bitmap, block, num); -} - #undef _INLINE_ #endif -#ifndef _EXT2_HAVE_ASM_BITOPS_ -extern int ext2fs_set_bit(unsigned int nr,void * addr); -extern int ext2fs_clear_bit(unsigned int nr, void * addr); -extern int ext2fs_test_bit(unsigned int nr, const void * addr); -#endif - -extern int ext2fs_set_bit64(__u64 nr,void * addr); -extern int ext2fs_clear_bit64(__u64 nr, void * addr); -extern int ext2fs_test_bit64(__u64 nr, const void * addr); -extern unsigned int ext2fs_bitcount(const void *addr, unsigned int nbytes); diff --git a/lib/ext2fs/blkmap64_ba.c b/lib/ext2fs/blkmap64_ba.c deleted file mode 100644 index 72ef3ebd..00000000 --- a/lib/ext2fs/blkmap64_ba.c +++ /dev/null @@ -1,416 +0,0 @@ -/* - * blkmap64_ba.c --- Simple bitarray implementation for bitmaps - * - * Copyright (C) 2008 Theodore Ts'o. - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - */ - -#include -#include -#if HAVE_UNISTD_H -#include -#endif -#include -#include -#if HAVE_SYS_STAT_H -#include -#endif -#if HAVE_SYS_TYPES_H -#include -#endif - -#include "ext2_fs.h" -#include "ext2fsP.h" -#include "bmap64.h" - -/* - * Private data for bit array implementation of bitmap ops. - * Currently, this is just a pointer to our big flat hunk of memory, - * exactly equivalent to the old-skool char * bitmap member. - */ - -struct ext2fs_ba_private_struct { - char *bitarray; -}; - -typedef struct ext2fs_ba_private_struct *ext2fs_ba_private; - -static errcode_t ba_alloc_private_data (ext2fs_generic_bitmap bitmap) -{ - ext2fs_ba_private bp; - errcode_t retval; - size_t size; - - /* - * Since we only have the one pointer, we could just shove our - * private data in the void *private field itself, but then - * we'd have to do a fair bit of rewriting if we ever added a - * field. I'm agnostic. - */ - retval = ext2fs_get_mem(sizeof (ext2fs_ba_private), &bp); - if (retval) - return retval; - - size = (size_t) (((bitmap->real_end - bitmap->start) / 8) + 1); - - retval = ext2fs_get_mem(size, &bp->bitarray); - if (retval) { - ext2fs_free_mem(&bp); - bp = 0; - return retval; - } - bitmap->private = (void *) bp; - return 0; -} - -static errcode_t ba_new_bmap(ext2_filsys fs EXT2FS_ATTR((unused)), - ext2fs_generic_bitmap bitmap) -{ - ext2fs_ba_private bp; - errcode_t retval; - size_t size; - - retval = ba_alloc_private_data (bitmap); - if (retval) - return retval; - - bp = (ext2fs_ba_private) bitmap->private; - size = (size_t) (((bitmap->real_end - bitmap->start) / 8) + 1); - memset(bp->bitarray, 0, size); - - return 0; -} - -static void ba_free_bmap(ext2fs_generic_bitmap bitmap) -{ - ext2fs_ba_private bp = (ext2fs_ba_private) bitmap->private; - - if (!bp) - return; - - if (bp->bitarray) { - ext2fs_free_mem (&bp->bitarray); - bp->bitarray = 0; - } - ext2fs_free_mem (&bp); - bp = 0; -} - -static errcode_t ba_copy_bmap(ext2fs_generic_bitmap src, - ext2fs_generic_bitmap dest) -{ - ext2fs_ba_private src_bp = (ext2fs_ba_private) src->private; - ext2fs_ba_private dest_bp; - errcode_t retval; - size_t size; - - retval = ba_alloc_private_data (dest); - if (retval) - return retval; - - dest_bp = (ext2fs_ba_private) dest->private; - - size = (size_t) (((src->real_end - src->start) / 8) + 1); - memcpy (dest_bp->bitarray, src_bp->bitarray, size); - - return 0; -} - -static errcode_t ba_resize_bmap(ext2fs_generic_bitmap bmap, - __u64 new_end, __u64 new_real_end) -{ - ext2fs_ba_private bp = (ext2fs_ba_private) bmap->private; - errcode_t retval; - size_t size, new_size; - __u64 bitno; - - /* - * If we're expanding the bitmap, make sure all of the new - * parts of the bitmap are zero. - */ - if (new_end > bmap->end) { - bitno = bmap->real_end; - if (bitno > new_end) - bitno = new_end; - for (; bitno > bmap->end; bitno--) - ext2fs_clear_bit64(bitno - bmap->start, bp->bitarray); - } - if (new_real_end == bmap->real_end) { - bmap->end = new_end; - return 0; - } - - size = ((bmap->real_end - bmap->start) / 8) + 1; - new_size = ((new_real_end - bmap->start) / 8) + 1; - - if (size != new_size) { - retval = ext2fs_resize_mem(size, new_size, &bp->bitarray); - if (retval) - return retval; - } - if (new_size > size) - memset(bp->bitarray + size, 0, new_size - size); - - bmap->end = new_end; - bmap->real_end = new_real_end; - return 0; - -} - -static int ba_mark_bmap(ext2fs_generic_bitmap bitmap, __u64 arg) -{ - ext2fs_ba_private bp = (ext2fs_ba_private) bitmap->private; - blk64_t bitno = (blk64_t) arg; - - return ext2fs_set_bit64(bitno - bitmap->start, bp->bitarray); -} - -static int ba_unmark_bmap(ext2fs_generic_bitmap bitmap, __u64 arg) -{ - ext2fs_ba_private bp = (ext2fs_ba_private) bitmap->private; - blk64_t bitno = (blk64_t) arg; - - return ext2fs_clear_bit64(bitno - bitmap->start, bp->bitarray); -} - -static int ba_test_bmap(ext2fs_generic_bitmap bitmap, __u64 arg) -{ - ext2fs_ba_private bp = (ext2fs_ba_private) bitmap->private; - blk64_t bitno = (blk64_t) arg; - - return ext2fs_test_bit64(bitno - bitmap->start, bp->bitarray); -} - -static void ba_mark_bmap_extent(ext2fs_generic_bitmap bitmap, __u64 arg, - unsigned int num) -{ - ext2fs_ba_private bp = (ext2fs_ba_private) bitmap->private; - blk64_t bitno = (blk64_t) arg; - unsigned int i; - - for (i = 0; i < num; i++) - ext2fs_fast_set_bit64(bitno + i - bitmap->start, bp->bitarray); -} - -static void ba_unmark_bmap_extent(ext2fs_generic_bitmap bitmap, __u64 arg, - unsigned int num) -{ - ext2fs_ba_private bp = (ext2fs_ba_private) bitmap->private; - blk64_t bitno = (blk64_t) arg; - unsigned int i; - - for (i = 0; i < num; i++) - ext2fs_fast_clear_bit64(bitno + i - bitmap->start, bp->bitarray); -} - -static int ba_test_clear_bmap_extent(ext2fs_generic_bitmap bitmap, - __u64 start, unsigned int len) -{ - ext2fs_ba_private bp = (ext2fs_ba_private) bitmap->private; - __u64 start_byte, len_byte = len >> 3; - unsigned int start_bit, len_bit = len % 8; - unsigned int first_bit = 0; - unsigned int last_bit = 0; - int mark_count = 0; - int mark_bit = 0; - int i; - const char *ADDR; - - ADDR = bp->bitarray; - start -= bitmap->start; - start_byte = start >> 3; - start_bit = start % 8; - - if (start_bit != 0) { - /* - * The compared start block number or start inode number - * is not the first bit in a byte. - */ - mark_count = 8 - start_bit; - if (len < 8 - start_bit) { - mark_count = (int)len; - mark_bit = len + start_bit - 1; - } else - mark_bit = 7; - - for (i = mark_count; i > 0; i--, mark_bit--) - first_bit |= 1 << mark_bit; - - /* - * Compare blocks or inodes in the first byte. - * If there is any marked bit, this function returns 0. - */ - if (first_bit & ADDR[start_byte]) - return 0; - else if (len <= 8 - start_bit) - return 1; - - start_byte++; - len_bit = (len - mark_count) % 8; - len_byte = (len - mark_count) >> 3; - } - - /* - * The compared start block number or start inode number is - * the first bit in a byte. - */ - if (len_bit != 0) { - /* - * The compared end block number or end inode number is - * not the last bit in a byte. - */ - for (mark_bit = len_bit - 1; mark_bit >= 0; mark_bit--) - last_bit |= 1 << mark_bit; - - /* - * Compare blocks or inodes in the last byte. - * If there is any marked bit, this function returns 0. - */ - if (last_bit & ADDR[start_byte + len_byte]) - return 0; - else if (len_byte == 0) - return 1; - } - - /* Check whether all bytes are 0 */ - return ext2fs_mem_is_zero(ADDR + start_byte, len_byte); -} - - -static errcode_t ba_set_bmap_range(ext2fs_generic_bitmap bitmap, - __u64 start, size_t num, void *in) -{ - ext2fs_ba_private bp = (ext2fs_ba_private) bitmap->private; - - memcpy (bp->bitarray + (start >> 3), in, (num + 7) >> 3); - - return 0; -} - -static errcode_t ba_get_bmap_range(ext2fs_generic_bitmap bitmap, - __u64 start, size_t num, void *out) -{ - ext2fs_ba_private bp = (ext2fs_ba_private) bitmap->private; - - memcpy (out, bp->bitarray + (start >> 3), (num + 7) >> 3); - - return 0; -} - -static void ba_clear_bmap(ext2fs_generic_bitmap bitmap) -{ - ext2fs_ba_private bp = (ext2fs_ba_private) bitmap->private; - - memset(bp->bitarray, 0, - (size_t) (((bitmap->real_end - bitmap->start) / 8) + 1)); -} - -static void ba_print_stats(ext2fs_generic_bitmap bitmap) -{ - fprintf(stderr, "%16llu Bytes used by bitarray\n", - ((bitmap->real_end - bitmap->start) >> 3) + 1 + - sizeof(struct ext2fs_ba_private_struct)); -} - -/* Find the first zero bit between start and end, inclusive. */ -static errcode_t ba_find_first_zero(ext2fs_generic_bitmap bitmap, - __u64 start, __u64 end, __u64 *out) -{ - ext2fs_ba_private bp = (ext2fs_ba_private)bitmap->private; - unsigned long bitpos = start - bitmap->start; - unsigned long count = end - start + 1; - int byte_found = 0; /* whether a != 0xff byte has been found */ - const unsigned char *pos; - unsigned long max_loop_count, i; - - if (start < bitmap->start || end > bitmap->end || start > end) - return EINVAL; - - if (bitmap->cluster_bits) - return EINVAL; - - /* scan bits until we hit a byte boundary */ - while ((bitpos & 0x7) != 0 && count > 0) { - if (!ext2fs_test_bit64(bitpos, bp->bitarray)) { - *out = bitpos + bitmap->start; - return 0; - } - bitpos++; - count--; - } - - if (!count) - return ENOENT; - - pos = ((unsigned char *)bp->bitarray) + (bitpos >> 3); - /* scan bytes until 8-byte (64-bit) aligned */ - while (count >= 8 && (((unsigned long)pos) & 0x07)) { - if (*pos != 0xff) { - byte_found = 1; - break; - } - pos++; - count -= 8; - bitpos += 8; - } - - if (!byte_found) { - max_loop_count = count >> 6; /* 8-byte blocks */ - i = max_loop_count; - while (i) { - if (*((const __u64 *)pos) != ((__u64)-1)) - break; - pos += 8; - i--; - } - count -= 64 * (max_loop_count - i); - bitpos += 64 * (max_loop_count - i); - - max_loop_count = count >> 3; - i = max_loop_count; - while (i) { - if (*pos != 0xff) { - byte_found = 1; - break; - } - pos++; - i--; - } - count -= 8 * (max_loop_count - i); - bitpos += 8 * (max_loop_count - i); - } - - /* Here either count < 8 or byte_found == 1. */ - while (count-- > 0) { - if (!ext2fs_test_bit64(bitpos, bp->bitarray)) { - *out = bitpos + bitmap->start; - return 0; - } - bitpos++; - } - - return ENOENT; -} - -struct ext2_bitmap_ops ext2fs_blkmap64_bitarray = { - .type = EXT2FS_BMAP64_BITARRAY, - .new_bmap = ba_new_bmap, - .free_bmap = ba_free_bmap, - .copy_bmap = ba_copy_bmap, - .resize_bmap = ba_resize_bmap, - .mark_bmap = ba_mark_bmap, - .unmark_bmap = ba_unmark_bmap, - .test_bmap = ba_test_bmap, - .test_clear_bmap_extent = ba_test_clear_bmap_extent, - .mark_bmap_extent = ba_mark_bmap_extent, - .unmark_bmap_extent = ba_unmark_bmap_extent, - .set_bmap_range = ba_set_bmap_range, - .get_bmap_range = ba_get_bmap_range, - .clear_bmap = ba_clear_bmap, - .print_stats = ba_print_stats, - .find_first_zero = ba_find_first_zero -}; diff --git a/lib/ext2fs/blkmap64_rb.c b/lib/ext2fs/blkmap64_rb.c deleted file mode 100644 index a22682e8..00000000 --- a/lib/ext2fs/blkmap64_rb.c +++ /dev/null @@ -1,886 +0,0 @@ -/* - * blkmap64_rb.c --- Simple rb-tree implementation for bitmaps - * - * (C)2010 Red Hat, Inc., Lukas Czerner - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - */ - -#include -#include -#if HAVE_UNISTD_H -#include -#endif -#include -#include -#if HAVE_SYS_STAT_H -#include -#endif -#if HAVE_SYS_TYPES_H -#include -#endif - -#include "ext2_fs.h" -#include "ext2fsP.h" -#include "bmap64.h" -#include "rbtree.h" - -#include - -struct bmap_rb_extent { - struct rb_node node; - __u64 start; - __u64 count; -}; - -struct ext2fs_rb_private { - struct rb_root root; - struct bmap_rb_extent *wcursor; - struct bmap_rb_extent *rcursor; - struct bmap_rb_extent *rcursor_next; -#ifdef BMAP_STATS_OPS - __u64 mark_hit; - __u64 test_hit; -#endif -}; - -inline static struct bmap_rb_extent *node_to_extent(struct rb_node *node) -{ - /* - * This depends on the fact the struct rb_node is at the - * beginning of the bmap_rb_extent structure. We use this - * instead of the ext2fs_rb_entry macro because it causes gcc - * -Wall to generate a huge amount of noise. - */ - return (struct bmap_rb_extent *) node; -} - -static int rb_insert_extent(__u64 start, __u64 count, - struct ext2fs_rb_private *); -static void rb_get_new_extent(struct bmap_rb_extent **, __u64, __u64); - -/* #define DEBUG_RB */ - -#ifdef DEBUG_RB -static void print_tree(struct rb_root *root) -{ - struct rb_node *node = NULL; - struct bmap_rb_extent *ext; - - printf("\t\t\t=================================\n"); - node = ext2fs_rb_first(root); - for (node = ext2fs_rb_first(root); node != NULL; - node = ext2fs_rb_next(node)) { - ext = node_to_extent(node); - printf("\t\t\t--> (%llu -> %llu)\n", - ext->start, ext->start + ext->count); - } - printf("\t\t\t=================================\n"); -} - -static void check_tree(struct rb_root *root, const char *msg) -{ - struct rb_node *new_node, *node, *next; - struct bmap_rb_extent *ext, *old = NULL; - - for (node = ext2fs_rb_first(root); node; - node = ext2fs_rb_next(node)) { - ext = node_to_extent(node); - if (ext->count <= 0) { - printf("Tree Error: count is crazy\n"); - printf("extent: %llu -> %llu (%u)\n", ext->start, - ext->start + ext->count, ext->count); - goto err_out; - } - if (ext->start < 0) { - printf("Tree Error: start is crazy\n"); - printf("extent: %llu -> %llu (%u)\n", ext->start, - ext->start + ext->count, ext->count); - goto err_out; - } - - if (old) { - if (old->start > ext->start) { - printf("Tree Error: start is crazy\n"); - printf("extent: %llu -> %llu (%u)\n", - old->start, old->start + old->count, - old->count); - printf("extent next: %llu -> %llu (%u)\n", - ext->start, ext->start + ext->count, - ext->count); - goto err_out; - } - if ((old->start + old->count) >= ext->start) { - printf("Tree Error: extent is crazy\n"); - printf("extent: %llu -> %llu (%u)\n", - old->start, old->start + old->count, - old->count); - printf("extent next: %llu -> %llu (%u)\n", - ext->start, ext->start + ext->count, - ext->count); - goto err_out; - } - } - old = ext; - } - return; - -err_out: - printf("%s\n", msg); - print_tree(root); - exit(1); -} -#else -#define check_tree(root, msg) do {} while (0) -#define print_tree(root, msg) do {} while (0) -#endif - -static void rb_get_new_extent(struct bmap_rb_extent **ext, __u64 start, - __u64 count) -{ - struct bmap_rb_extent *new_ext; - int retval; - - retval = ext2fs_get_mem(sizeof (struct bmap_rb_extent), - &new_ext); - if (retval) { - perror("ext2fs_get_mem"); - exit(1); - } - - new_ext->start = start; - new_ext->count = count; - *ext = new_ext; -} - -inline -static void rb_free_extent(struct ext2fs_rb_private *bp, - struct bmap_rb_extent *ext) -{ - if (bp->wcursor == ext) - bp->wcursor = NULL; - if (bp->rcursor == ext) - bp->rcursor = NULL; - if (bp->rcursor_next == ext) - bp->rcursor_next = NULL; - ext2fs_free_mem(&ext); -} - -static errcode_t rb_alloc_private_data (ext2fs_generic_bitmap bitmap) -{ - struct ext2fs_rb_private *bp; - errcode_t retval; - - retval = ext2fs_get_mem(sizeof (struct ext2fs_rb_private), &bp); - if (retval) - return retval; - - bp->root = RB_ROOT; - bp->rcursor = NULL; - bp->rcursor_next = NULL; - bp->wcursor = NULL; - -#ifdef BMAP_STATS_OPS - bp->test_hit = 0; - bp->mark_hit = 0; -#endif - - bitmap->private = (void *) bp; - return 0; -} - -static errcode_t rb_new_bmap(ext2_filsys fs EXT2FS_ATTR((unused)), - ext2fs_generic_bitmap bitmap) -{ - errcode_t retval; - - retval = rb_alloc_private_data (bitmap); - if (retval) - return retval; - - return 0; -} - -static void rb_free_tree(struct rb_root *root) -{ - struct bmap_rb_extent *ext; - struct rb_node *node, *next; - - for (node = ext2fs_rb_first(root); node; node = next) { - next = ext2fs_rb_next(node); - ext = node_to_extent(node); - ext2fs_rb_erase(node, root); - ext2fs_free_mem(&ext); - } -} - -static void rb_free_bmap(ext2fs_generic_bitmap bitmap) -{ - struct ext2fs_rb_private *bp; - - bp = (struct ext2fs_rb_private *) bitmap->private; - - rb_free_tree(&bp->root); - ext2fs_free_mem(&bp); - bp = 0; -} - -static errcode_t rb_copy_bmap(ext2fs_generic_bitmap src, - ext2fs_generic_bitmap dest) -{ - struct ext2fs_rb_private *src_bp, *dest_bp; - struct bmap_rb_extent *src_ext, *dest_ext; - struct rb_node *dest_node, *src_node, *dest_last, **n; - errcode_t retval = 0; - - retval = rb_alloc_private_data (dest); - if (retval) - return retval; - - src_bp = (struct ext2fs_rb_private *) src->private; - dest_bp = (struct ext2fs_rb_private *) dest->private; - src_bp->rcursor = NULL; - dest_bp->rcursor = NULL; - - src_node = ext2fs_rb_first(&src_bp->root); - while (src_node) { - src_ext = node_to_extent(src_node); - retval = ext2fs_get_mem(sizeof (struct bmap_rb_extent), - &dest_ext); - if (retval) - break; - - memcpy(dest_ext, src_ext, sizeof(struct bmap_rb_extent)); - - dest_node = &dest_ext->node; - n = &dest_bp->root.rb_node; - - dest_last = NULL; - if (*n) { - dest_last = ext2fs_rb_last(&dest_bp->root); - n = &(dest_last)->rb_right; - } - - ext2fs_rb_link_node(dest_node, dest_last, n); - ext2fs_rb_insert_color(dest_node, &dest_bp->root); - - src_node = ext2fs_rb_next(src_node); - } - - return retval; -} - -static void rb_truncate(__u64 new_max, struct rb_root *root) -{ - struct bmap_rb_extent *ext; - struct rb_node *node; - - node = ext2fs_rb_last(root); - while (node) { - ext = node_to_extent(node); - - if ((ext->start + ext->count - 1) <= new_max) - break; - else if (ext->start > new_max) { - ext2fs_rb_erase(node, root); - ext2fs_free_mem(&ext); - node = ext2fs_rb_last(root); - continue; - } else - ext->count = new_max - ext->start + 1; - } -} - -static errcode_t rb_resize_bmap(ext2fs_generic_bitmap bmap, - __u64 new_end, __u64 new_real_end) -{ - struct ext2fs_rb_private *bp; - - if (new_real_end >= bmap->real_end) { - bmap->end = new_end; - bmap->real_end = new_real_end; - return 0; - } - - bp = (struct ext2fs_rb_private *) bmap->private; - bp->rcursor = NULL; - bp->wcursor = NULL; - - /* truncate tree to new_real_end size */ - rb_truncate(new_real_end, &bp->root); - - bmap->end = new_end; - bmap->real_end = new_real_end; - return 0; - -} - -inline static int -rb_test_bit(struct ext2fs_rb_private *bp, __u64 bit) -{ - struct bmap_rb_extent *rcursor, *next_ext = NULL; - struct rb_node *parent = NULL, *next; - struct rb_node **n = &bp->root.rb_node; - struct bmap_rb_extent *ext; - - rcursor = bp->rcursor; - if (!rcursor) - goto search_tree; - - if (bit >= rcursor->start && bit < rcursor->start + rcursor->count) { -#ifdef BMAP_STATS_OPS - bp->test_hit++; -#endif - return 1; - } - - next_ext = bp->rcursor_next; - if (!next_ext) { - next = ext2fs_rb_next(&rcursor->node); - if (next) - next_ext = node_to_extent(next); - bp->rcursor_next = next_ext; - } - if (next_ext) { - if ((bit >= rcursor->start + rcursor->count) && - (bit < next_ext->start)) { -#ifdef BMAP_STATS_OPS - bp->test_hit++; -#endif - return 0; - } - } - bp->rcursor = NULL; - bp->rcursor_next = NULL; - - rcursor = bp->wcursor; - if (!rcursor) - goto search_tree; - - if (bit >= rcursor->start && bit < rcursor->start + rcursor->count) - return 1; - -search_tree: - - while (*n) { - parent = *n; - ext = node_to_extent(parent); - if (bit < ext->start) - n = &(*n)->rb_left; - else if (bit >= (ext->start + ext->count)) - n = &(*n)->rb_right; - else { - bp->rcursor = ext; - bp->rcursor_next = NULL; - return 1; - } - } - return 0; -} - -static int rb_insert_extent(__u64 start, __u64 count, - struct ext2fs_rb_private *bp) -{ - struct rb_root *root = &bp->root; - struct rb_node *parent = NULL, **n = &root->rb_node; - struct rb_node *new_node, *node, *next; - struct bmap_rb_extent *new_ext; - struct bmap_rb_extent *ext; - int retval = 0; - - bp->rcursor_next = NULL; - ext = bp->wcursor; - if (ext) { - if (start >= ext->start && - start <= (ext->start + ext->count)) { -#ifdef BMAP_STATS_OPS - bp->mark_hit++; -#endif - goto got_extent; - } - } - - while (*n) { - parent = *n; - ext = node_to_extent(parent); - - if (start < ext->start) { - n = &(*n)->rb_left; - } else if (start > (ext->start + ext->count)) { - n = &(*n)->rb_right; - } else { -got_extent: - if ((start + count) <= (ext->start + ext->count)) - return 1; - - if ((ext->start + ext->count) == start) - retval = 0; - else - retval = 1; - - count += (start - ext->start); - start = ext->start; - new_ext = ext; - new_node = &ext->node; - - goto skip_insert; - } - } - - rb_get_new_extent(&new_ext, start, count); - - new_node = &new_ext->node; - ext2fs_rb_link_node(new_node, parent, n); - ext2fs_rb_insert_color(new_node, root); - bp->wcursor = new_ext; - - node = ext2fs_rb_prev(new_node); - if (node) { - ext = node_to_extent(node); - if ((ext->start + ext->count) == start) { - start = ext->start; - count += ext->count; - ext2fs_rb_erase(node, root); - rb_free_extent(bp, ext); - } - } - -skip_insert: - /* See if we can merge extent to the right */ - for (node = ext2fs_rb_next(new_node); node != NULL; node = next) { - next = ext2fs_rb_next(node); - ext = node_to_extent(node); - - if ((ext->start + ext->count) <= start) - continue; - - /* No more merging */ - if ((start + count) < ext->start) - break; - - /* ext is embedded in new_ext interval */ - if ((start + count) >= (ext->start + ext->count)) { - ext2fs_rb_erase(node, root); - rb_free_extent(bp, ext); - continue; - } else { - /* merge ext with new_ext */ - count += ((ext->start + ext->count) - - (start + count)); - ext2fs_rb_erase(node, root); - rb_free_extent(bp, ext); - break; - } - } - - new_ext->start = start; - new_ext->count = count; - - return retval; -} - -static int rb_remove_extent(__u64 start, __u64 count, - struct ext2fs_rb_private *bp) -{ - struct rb_root *root = &bp->root; - struct rb_node *parent = NULL, **n = &root->rb_node; - struct rb_node *node; - struct bmap_rb_extent *ext; - __u64 new_start, new_count; - int retval = 0; - - if (EXT2FS_RB_EMPTY_ROOT(root)) - return 0; - - while (*n) { - parent = *n; - ext = node_to_extent(parent); - if (start < ext->start) { - n = &(*n)->rb_left; - continue; - } else if (start >= (ext->start + ext->count)) { - n = &(*n)->rb_right; - continue; - } - - if ((start > ext->start) && - (start + count) < (ext->start + ext->count)) { - /* We have to split extent into two */ - new_start = start + count; - new_count = (ext->start + ext->count) - new_start; - - ext->count = start - ext->start; - - rb_insert_extent(new_start, new_count, bp); - return 1; - } - - if ((start + count) >= (ext->start + ext->count)) { - ext->count = start - ext->start; - retval = 1; - } - - if (0 == ext->count) { - parent = ext2fs_rb_next(&ext->node); - ext2fs_rb_erase(&ext->node, root); - rb_free_extent(bp, ext); - break; - } - - if (start == ext->start) { - ext->start += count; - ext->count -= count; - return 1; - } - } - - /* See if we should delete or truncate extent on the right */ - for (; parent != NULL; parent = node) { - node = ext2fs_rb_next(parent); - ext = node_to_extent(parent); - if ((ext->start + ext->count) <= start) - continue; - - /* No more extents to be removed/truncated */ - if ((start + count) < ext->start) - break; - - /* The entire extent is within the region to be removed */ - if ((start + count) >= (ext->start + ext->count)) { - ext2fs_rb_erase(parent, root); - rb_free_extent(bp, ext); - retval = 1; - continue; - } else { - /* modify the last extent in reigon to be removed */ - ext->count -= ((start + count) - ext->start); - ext->start = start + count; - retval = 1; - break; - } - } - - return retval; -} - -static int rb_mark_bmap(ext2fs_generic_bitmap bitmap, __u64 arg) -{ - struct ext2fs_rb_private *bp; - - bp = (struct ext2fs_rb_private *) bitmap->private; - arg -= bitmap->start; - - return rb_insert_extent(arg, 1, bp); -} - -static int rb_unmark_bmap(ext2fs_generic_bitmap bitmap, __u64 arg) -{ - struct ext2fs_rb_private *bp; - int retval; - - bp = (struct ext2fs_rb_private *) bitmap->private; - arg -= bitmap->start; - - retval = rb_remove_extent(arg, 1, bp); - check_tree(&bp->root, __func__); - - return retval; -} - -inline -static int rb_test_bmap(ext2fs_generic_bitmap bitmap, __u64 arg) -{ - struct ext2fs_rb_private *bp; - - bp = (struct ext2fs_rb_private *) bitmap->private; - arg -= bitmap->start; - - return rb_test_bit(bp, arg); -} - -static void rb_mark_bmap_extent(ext2fs_generic_bitmap bitmap, __u64 arg, - unsigned int num) -{ - struct ext2fs_rb_private *bp; - - bp = (struct ext2fs_rb_private *) bitmap->private; - arg -= bitmap->start; - - rb_insert_extent(arg, num, bp); -} - -static void rb_unmark_bmap_extent(ext2fs_generic_bitmap bitmap, __u64 arg, - unsigned int num) -{ - struct ext2fs_rb_private *bp; - - bp = (struct ext2fs_rb_private *) bitmap->private; - arg -= bitmap->start; - - rb_remove_extent(arg, num, bp); - check_tree(&bp->root, __func__); -} - -static int rb_test_clear_bmap_extent(ext2fs_generic_bitmap bitmap, - __u64 start, unsigned int len) -{ - struct rb_node *parent = NULL, **n; - struct rb_node *node, *next; - struct ext2fs_rb_private *bp; - struct bmap_rb_extent *ext; - int retval = 1; - - bp = (struct ext2fs_rb_private *) bitmap->private; - n = &bp->root.rb_node; - start -= bitmap->start; - - if ((len == 0) || EXT2FS_RB_EMPTY_ROOT(&bp->root)) - return 1; - - /* - * If we find nothing, we should examine whole extent, but - * when we find match, the extent is not clean, thus be return - * false. - */ - while (*n) { - parent = *n; - ext = node_to_extent(parent); - if (start < ext->start) { - n = &(*n)->rb_left; - } else if (start >= (ext->start + ext->count)) { - n = &(*n)->rb_right; - } else { - /* - * We found extent int the tree -> extent is not - * clean - */ - return 0; - } - } - - node = parent; - while (node) { - next = ext2fs_rb_next(node); - ext = node_to_extent(node); - node = next; - - if ((ext->start + ext->count) <= start) - continue; - - /* No more merging */ - if ((start + len) <= ext->start) - break; - - retval = 0; - break; - } - return retval; -} - -static errcode_t rb_set_bmap_range(ext2fs_generic_bitmap bitmap, - __u64 start, size_t num, void *in) -{ - struct ext2fs_rb_private *bp; - unsigned char *cp = in; - size_t i; - int first_set = -1; - - bp = (struct ext2fs_rb_private *) bitmap->private; - - for (i = 0; i < num; i++) { - if ((i & 7) == 0) { - unsigned char c = cp[i/8]; - if (c == 0xFF) { - if (first_set == -1) - first_set = i; - i += 7; - continue; - } - if ((c == 0x00) && (first_set == -1)) { - i += 7; - continue; - } - } - if (ext2fs_test_bit(i, in)) { - if (first_set == -1) - first_set = i; - continue; - } - if (first_set == -1) - continue; - - rb_insert_extent(start + first_set - bitmap->start, - i - first_set, bp); - first_set = -1; - } - if (first_set != -1) - rb_insert_extent(start + first_set - bitmap->start, - num - first_set, bp); - - return 0; -} - -static errcode_t rb_get_bmap_range(ext2fs_generic_bitmap bitmap, - __u64 start, size_t num, void *out) -{ - - struct rb_node *parent = NULL, *next, **n; - struct ext2fs_rb_private *bp; - struct bmap_rb_extent *ext; - int count; - __u64 pos; - - bp = (struct ext2fs_rb_private *) bitmap->private; - n = &bp->root.rb_node; - start -= bitmap->start; - - if (EXT2FS_RB_EMPTY_ROOT(&bp->root)) - return 0; - - while (*n) { - parent = *n; - ext = node_to_extent(parent); - if (start < ext->start) { - n = &(*n)->rb_left; - } else if (start >= (ext->start + ext->count)) { - n = &(*n)->rb_right; - } else - break; - } - - memset(out, 0, (num + 7) >> 3); - - for (; parent != NULL; parent = next) { - next = ext2fs_rb_next(parent); - ext = node_to_extent(parent); - - pos = ext->start; - count = ext->count; - if (pos >= start + num) - break; - if (pos < start) { - count -= start - pos; - if (count < 0) - continue; - pos = start; - } - if (pos + count > start + num) - count = start + num - pos; - - while (count > 0) { - if ((count >= 8) && - ((pos - start) % 8) == 0) { - int nbytes = count >> 3; - int offset = (pos - start) >> 3; - - memset(((char *) out) + offset, 0xFF, nbytes); - pos += nbytes << 3; - count -= nbytes << 3; - continue; - } - ext2fs_fast_set_bit64((pos - start), out); - pos++; - count--; - } - } - return 0; -} - -static void rb_clear_bmap(ext2fs_generic_bitmap bitmap) -{ - struct ext2fs_rb_private *bp; - - bp = (struct ext2fs_rb_private *) bitmap->private; - - rb_free_tree(&bp->root); - bp->rcursor = NULL; - bp->rcursor_next = NULL; - bp->wcursor = NULL; -} - -#ifdef BMAP_STATS -static void rb_print_stats(ext2fs_generic_bitmap bitmap) -{ - struct ext2fs_rb_private *bp; - struct rb_node *node = NULL; - struct bmap_rb_extent *ext; - __u64 count = 0; - __u64 max_size = 0; - __u64 min_size = ULONG_MAX; - __u64 size = 0, avg_size = 0; - double eff; -#ifdef BMAP_STATS_OPS - __u64 mark_all, test_all; - double m_hit = 0.0, t_hit = 0.0; -#endif - - bp = (struct ext2fs_rb_private *) bitmap->private; - - node = ext2fs_rb_first(&bp->root); - for (node = ext2fs_rb_first(&bp->root); node != NULL; - node = ext2fs_rb_next(node)) { - ext = node_to_extent(node); - count++; - if (ext->count > max_size) - max_size = ext->count; - if (ext->count < min_size) - min_size = ext->count; - size += ext->count; - } - - if (count) - avg_size = size / count; - if (min_size == ULONG_MAX) - min_size = 0; - eff = (double)((count * sizeof(struct bmap_rb_extent)) << 3) / - (bitmap->real_end - bitmap->start); -#ifdef BMAP_STATS_OPS - mark_all = bitmap->stats.mark_count + bitmap->stats.mark_ext_count; - test_all = bitmap->stats.test_count + bitmap->stats.test_ext_count; - if (mark_all) - m_hit = ((double)bp->mark_hit / mark_all) * 100; - if (test_all) - t_hit = ((double)bp->test_hit / test_all) * 100; - - fprintf(stderr, "%16llu cache hits on test (%.2f%%)\n" - "%16llu cache hits on mark (%.2f%%)\n", - bp->test_hit, t_hit, bp->mark_hit, m_hit); -#endif - fprintf(stderr, "%16llu extents (%llu bytes)\n", - count, ((count * sizeof(struct bmap_rb_extent)) + - sizeof(struct ext2fs_rb_private))); - fprintf(stderr, "%16llu bits minimum size\n", - min_size); - fprintf(stderr, "%16llu bits maximum size\n" - "%16llu bits average size\n", - max_size, avg_size); - fprintf(stderr, "%16llu bits set in bitmap (out of %llu)\n", size, - bitmap->real_end - bitmap->start); - fprintf(stderr, - "%16.4lf memory / bitmap bit memory ratio (bitarray = 1)\n", - eff); -} -#else -static void rb_print_stats(ext2fs_generic_bitmap bitmap){} -#endif - -struct ext2_bitmap_ops ext2fs_blkmap64_rbtree = { - .type = EXT2FS_BMAP64_RBTREE, - .new_bmap = rb_new_bmap, - .free_bmap = rb_free_bmap, - .copy_bmap = rb_copy_bmap, - .resize_bmap = rb_resize_bmap, - .mark_bmap = rb_mark_bmap, - .unmark_bmap = rb_unmark_bmap, - .test_bmap = rb_test_bmap, - .test_clear_bmap_extent = rb_test_clear_bmap_extent, - .mark_bmap_extent = rb_mark_bmap_extent, - .unmark_bmap_extent = rb_unmark_bmap_extent, - .set_bmap_range = rb_set_bmap_range, - .get_bmap_range = rb_get_bmap_range, - .clear_bmap = rb_clear_bmap, - .print_stats = rb_print_stats, -}; diff --git a/lib/ext2fs/blknum.c b/lib/ext2fs/blknum.c deleted file mode 100644 index e2f0f1bb..00000000 --- a/lib/ext2fs/blknum.c +++ /dev/null @@ -1,494 +0,0 @@ -/* - * blknum.c --- Functions to handle blk64_t and high/low 64-bit block - * number. - * - * Copyright IBM Corporation, 2007 - * Author Jose R. Santos - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - */ - -#include "ext2fs.h" - -/* - * Return the group # of a block - */ -dgrp_t ext2fs_group_of_blk2(ext2_filsys fs, blk64_t blk) -{ - return (blk - fs->super->s_first_data_block) / - fs->super->s_blocks_per_group; -} - -/* - * Return the first block (inclusive) in a group - */ -blk64_t ext2fs_group_first_block2(ext2_filsys fs, dgrp_t group) -{ - return fs->super->s_first_data_block + - ((blk64_t)group * fs->super->s_blocks_per_group); -} - -/* - * Return the last block (inclusive) in a group - */ -blk64_t ext2fs_group_last_block2(ext2_filsys fs, dgrp_t group) -{ - return (group == fs->group_desc_count - 1 ? - ext2fs_blocks_count(fs->super) - 1 : - ext2fs_group_first_block2(fs, group) + - (fs->super->s_blocks_per_group - 1)); -} - -/* - * Return the number of blocks in a group - */ -int ext2fs_group_blocks_count(ext2_filsys fs, dgrp_t group) -{ - int num_blocks; - - if (group == fs->group_desc_count - 1) { - num_blocks = (ext2fs_blocks_count(fs->super) - - fs->super->s_first_data_block) % - fs->super->s_blocks_per_group; - if (!num_blocks) - num_blocks = fs->super->s_blocks_per_group; - } else - num_blocks = fs->super->s_blocks_per_group; - - return num_blocks; -} - -/* - * Return the inode data block count - */ -blk64_t ext2fs_inode_data_blocks2(ext2_filsys fs, - struct ext2_inode *inode) -{ - return (inode->i_blocks | - ((fs->super->s_feature_ro_compat & - EXT4_FEATURE_RO_COMPAT_HUGE_FILE) ? - (__u64) inode->osd2.linux2.l_i_blocks_hi << 32 : 0)) - - (inode->i_file_acl ? fs->blocksize >> 9 : 0); -} - -/* - * Return the inode i_blocks count - */ -blk64_t ext2fs_inode_i_blocks(ext2_filsys fs, - struct ext2_inode *inode) -{ - return (inode->i_blocks | - ((fs->super->s_feature_ro_compat & - EXT4_FEATURE_RO_COMPAT_HUGE_FILE) ? - (__u64)inode->osd2.linux2.l_i_blocks_hi << 32 : 0)); -} - -/* - * Return the fs block count - */ -blk64_t ext2fs_blocks_count(struct ext2_super_block *super) -{ - return super->s_blocks_count | - (super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT ? - (__u64) super->s_blocks_count_hi << 32 : 0); -} - -/* - * Set the fs block count - */ -void ext2fs_blocks_count_set(struct ext2_super_block *super, blk64_t blk) -{ - super->s_blocks_count = blk; - if (super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - super->s_blocks_count_hi = (__u64) blk >> 32; -} - -/* - * Add to the current fs block count - */ -void ext2fs_blocks_count_add(struct ext2_super_block *super, blk64_t blk) -{ - blk64_t tmp; - tmp = ext2fs_blocks_count(super) + blk; - ext2fs_blocks_count_set(super, tmp); -} - -/* - * Return the fs reserved block count - */ -blk64_t ext2fs_r_blocks_count(struct ext2_super_block *super) -{ - return super->s_r_blocks_count | - (super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT ? - (__u64) super->s_r_blocks_count_hi << 32 : 0); -} - -/* - * Set the fs reserved block count - */ -void ext2fs_r_blocks_count_set(struct ext2_super_block *super, blk64_t blk) -{ - super->s_r_blocks_count = blk; - if (super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - super->s_r_blocks_count_hi = (__u64) blk >> 32; -} - -/* - * Add to the current reserved fs block count - */ -void ext2fs_r_blocks_count_add(struct ext2_super_block *super, blk64_t blk) -{ - blk64_t tmp; - tmp = ext2fs_r_blocks_count(super) + blk; - ext2fs_r_blocks_count_set(super, tmp); -} - -/* - * Return the fs free block count - */ -blk64_t ext2fs_free_blocks_count(struct ext2_super_block *super) -{ - return super->s_free_blocks_count | - (super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT ? - (__u64) super->s_free_blocks_hi << 32 : 0); -} - -/* - * Set the fs free block count - */ -void ext2fs_free_blocks_count_set(struct ext2_super_block *super, blk64_t blk) -{ - super->s_free_blocks_count = blk; - if (super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - super->s_free_blocks_hi = (__u64) blk >> 32; -} - -/* - * Add to the current free fs block count - */ -void ext2fs_free_blocks_count_add(struct ext2_super_block *super, blk64_t blk) -{ - blk64_t tmp; - tmp = ext2fs_free_blocks_count(super) + blk; - ext2fs_free_blocks_count_set(super, tmp); -} - -/* - * Get a pointer to a block group descriptor. We need the explicit - * pointer to the group desc for code that swaps block group - * descriptors before writing them out, as it wants to make a copy and - * do the swap there. - */ -struct ext2_group_desc *ext2fs_group_desc(ext2_filsys fs, - struct opaque_ext2_group_desc *gdp, - dgrp_t group) -{ - return (struct ext2_group_desc *)((char *)gdp + - group * EXT2_DESC_SIZE(fs->super)); -} - -/* Do the same but as an ext4 group desc for internal use here */ -static struct ext4_group_desc *ext4fs_group_desc(ext2_filsys fs, - struct opaque_ext2_group_desc *gdp, - dgrp_t group) -{ - return (struct ext4_group_desc *)ext2fs_group_desc(fs, gdp, group); -} - -/* - * Return the block bitmap block of a group - */ -blk64_t ext2fs_block_bitmap_loc(ext2_filsys fs, dgrp_t group) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - return gdp->bg_block_bitmap | - (fs->super->s_feature_incompat - & EXT4_FEATURE_INCOMPAT_64BIT ? - (__u64)gdp->bg_block_bitmap_hi << 32 : 0); -} - -/* - * Set the block bitmap block of a group - */ -void ext2fs_block_bitmap_loc_set(ext2_filsys fs, dgrp_t group, blk64_t blk) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - gdp->bg_block_bitmap = blk; - if (fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - gdp->bg_block_bitmap_hi = (__u64) blk >> 32; -} - -/* - * Return the inode bitmap block of a group - */ -blk64_t ext2fs_inode_bitmap_loc(ext2_filsys fs, dgrp_t group) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - return gdp->bg_inode_bitmap | - (fs->super->s_feature_incompat - & EXT4_FEATURE_INCOMPAT_64BIT ? - (__u64) gdp->bg_inode_bitmap_hi << 32 : 0); -} - -/* - * Set the inode bitmap block of a group - */ -void ext2fs_inode_bitmap_loc_set(ext2_filsys fs, dgrp_t group, blk64_t blk) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - gdp->bg_inode_bitmap = blk; - if (fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - gdp->bg_inode_bitmap_hi = (__u64) blk >> 32; -} - -/* - * Return the inode table block of a group - */ -blk64_t ext2fs_inode_table_loc(ext2_filsys fs, dgrp_t group) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - return gdp->bg_inode_table | - (fs->super->s_feature_incompat - & EXT4_FEATURE_INCOMPAT_64BIT ? - (__u64) gdp->bg_inode_table_hi << 32 : 0); -} - -/* - * Set the inode table block of a group - */ -void ext2fs_inode_table_loc_set(ext2_filsys fs, dgrp_t group, blk64_t blk) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - gdp->bg_inode_table = blk; - if (fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - gdp->bg_inode_table_hi = (__u64) blk >> 32; -} - -/* - * Return the free blocks count of a group - */ -__u32 ext2fs_bg_free_blocks_count(ext2_filsys fs, dgrp_t group) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - return gdp->bg_free_blocks_count | - (fs->super->s_feature_incompat - & EXT4_FEATURE_INCOMPAT_64BIT ? - (__u32) gdp->bg_free_blocks_count_hi << 16 : 0); -} - -/* - * Set the free blocks count of a group - */ -void ext2fs_bg_free_blocks_count_set(ext2_filsys fs, dgrp_t group, __u32 n) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - gdp->bg_free_blocks_count = n; - - if (fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - gdp->bg_free_blocks_count_hi = (__u32) n >> 16; -} - -/* - * Return the free inodes count of a group - */ -__u32 ext2fs_bg_free_inodes_count(ext2_filsys fs, dgrp_t group) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - return gdp->bg_free_inodes_count | - (fs->super->s_feature_incompat - & EXT4_FEATURE_INCOMPAT_64BIT ? - (__u32) gdp->bg_free_inodes_count_hi << 16 : 0); -} - -/* - * Set the free inodes count of a group - */ -void ext2fs_bg_free_inodes_count_set(ext2_filsys fs, dgrp_t group, __u32 n) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - gdp->bg_free_inodes_count = n; - if (fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - gdp->bg_free_inodes_count_hi = (__u32) n >> 16; -} - -/* - * Return the used dirs count of a group - */ -__u32 ext2fs_bg_used_dirs_count(ext2_filsys fs, dgrp_t group) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - return gdp->bg_used_dirs_count | - (fs->super->s_feature_incompat - & EXT4_FEATURE_INCOMPAT_64BIT ? - (__u32) gdp->bg_used_dirs_count_hi << 16 : 0); -} - -/* - * Set the used dirs count of a group - */ -void ext2fs_bg_used_dirs_count_set(ext2_filsys fs, dgrp_t group, __u32 n) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - gdp->bg_used_dirs_count = n; - if (fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - gdp->bg_used_dirs_count_hi = (__u32) n >> 16; -} - -/* - * Return the unused inodes count of a group - */ -__u32 ext2fs_bg_itable_unused(ext2_filsys fs, dgrp_t group) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - return gdp->bg_itable_unused | - (fs->super->s_feature_incompat - & EXT4_FEATURE_INCOMPAT_64BIT ? - (__u32) gdp->bg_itable_unused_hi << 16 : 0); -} - -/* - * Set the unused inodes count of a group - */ -void ext2fs_bg_itable_unused_set(ext2_filsys fs, dgrp_t group, __u32 n) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - gdp->bg_itable_unused = n; - if (fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - gdp->bg_itable_unused_hi = (__u32) n >> 16; -} - -/* - * Get the flags for this block group - */ -__u16 ext2fs_bg_flags(ext2_filsys fs, dgrp_t group) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - return gdp->bg_flags; -} - -/* - * Zero out the flags for this block group - */ -void ext2fs_bg_flags_zap(ext2_filsys fs, dgrp_t group) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - gdp->bg_flags = 0; - return; -} - -/* - * Get the value of a particular flag for this block group - */ -int ext2fs_bg_flags_test(ext2_filsys fs, dgrp_t group, __u16 bg_flag) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - return gdp->bg_flags & bg_flag; -} - -/* - * Set a flag or set of flags for this block group - */ -void ext2fs_bg_flags_set(ext2_filsys fs, dgrp_t group, __u16 bg_flags) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - gdp->bg_flags |= bg_flags; - return; -} - -/* - * Clear a flag or set of flags for this block group - */ -void ext2fs_bg_flags_clear(ext2_filsys fs, dgrp_t group, __u16 bg_flags) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - gdp->bg_flags &= ~bg_flags; - return; -} - -/* - * Get the checksum for this block group - */ -__u16 ext2fs_bg_checksum(ext2_filsys fs, dgrp_t group) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - return gdp->bg_checksum; -} - -/* - * Set the checksum for this block group to a previously calculated value - */ -void ext2fs_bg_checksum_set(ext2_filsys fs, dgrp_t group, __u16 checksum) -{ - struct ext4_group_desc *gdp; - - gdp = ext4fs_group_desc(fs, fs->group_desc, group); - gdp->bg_checksum = checksum; - return; -} - -/* - * Get the acl block of a file - */ -blk64_t ext2fs_file_acl_block(ext2_filsys fs, const struct ext2_inode *inode) -{ - blk64_t blk = inode->i_file_acl; - - if (fs && fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - blk |= ((__u64) inode->osd2.linux2.l_i_file_acl_high) << 32; - return blk; -} - -/* - * Set the acl block of a file - */ -void ext2fs_file_acl_block_set(ext2_filsys fs, struct ext2_inode *inode, - blk64_t blk) -{ - inode->i_file_acl = blk; - if (fs && fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - inode->osd2.linux2.l_i_file_acl_high = (__u64) blk >> 32; -} - diff --git a/lib/ext2fs/block.c b/lib/ext2fs/block.c index 3e4bbde2..4054a07b 100644 --- a/lib/ext2fs/block.c +++ b/lib/ext2fs/block.c @@ -21,9 +21,9 @@ struct block_context { ext2_filsys fs; int (*func)(ext2_filsys fs, - blk64_t *blocknr, + blk_t *blocknr, e2_blkcnt_t bcount, - blk64_t ref_blk, + blk_t ref_blk, int ref_offset, void *priv_data); e2_blkcnt_t bcount; @@ -62,23 +62,19 @@ static int block_iterate_ind(blk_t *ind_block, blk_t ref_block, int ret = 0, changed = 0; int i, flags, limit, offset; blk_t *block_nr; - blk64_t blk64; limit = ctx->fs->blocksize >> 2; if (!(ctx->flags & BLOCK_FLAG_DEPTH_TRAVERSE) && - !(ctx->flags & BLOCK_FLAG_DATA_ONLY)) { - blk64 = *ind_block; - ret = (*ctx->func)(ctx->fs, &blk64, + !(ctx->flags & BLOCK_FLAG_DATA_ONLY)) + ret = (*ctx->func)(ctx->fs, ind_block, BLOCK_COUNT_IND, ref_block, ref_offset, ctx->priv_data); - *ind_block = blk64; - } check_for_ro_violation_return(ctx, ret); if (!*ind_block || (ret & BLOCK_ABORT)) { ctx->bcount += limit; return ret; } - if (*ind_block >= ext2fs_blocks_count(ctx->fs->super) || + if (*ind_block >= ctx->fs->super->s_blocks_count || *ind_block < ctx->fs->super->s_first_data_block) { ctx->errcode = EXT2_ET_BAD_IND_BLOCK; ret |= BLOCK_ERROR; @@ -95,11 +91,9 @@ static int block_iterate_ind(blk_t *ind_block, blk_t ref_block, offset = 0; if (ctx->flags & BLOCK_FLAG_APPEND) { for (i = 0; i < limit; i++, ctx->bcount++, block_nr++) { - blk64 = *block_nr; - flags = (*ctx->func)(ctx->fs, &blk64, ctx->bcount, + flags = (*ctx->func)(ctx->fs, block_nr, ctx->bcount, *ind_block, offset, ctx->priv_data); - *block_nr = blk64; changed |= flags; if (flags & BLOCK_ABORT) { ret |= BLOCK_ABORT; @@ -111,11 +105,9 @@ static int block_iterate_ind(blk_t *ind_block, blk_t ref_block, for (i = 0; i < limit; i++, ctx->bcount++, block_nr++) { if (*block_nr == 0) goto skip_sparse; - blk64 = *block_nr; - flags = (*ctx->func)(ctx->fs, &blk64, ctx->bcount, + flags = (*ctx->func)(ctx->fs, block_nr, ctx->bcount, *ind_block, offset, ctx->priv_data); - *block_nr = blk64; changed |= flags; if (flags & BLOCK_ABORT) { ret |= BLOCK_ABORT; @@ -134,13 +126,10 @@ static int block_iterate_ind(blk_t *ind_block, blk_t ref_block, } if ((ctx->flags & BLOCK_FLAG_DEPTH_TRAVERSE) && !(ctx->flags & BLOCK_FLAG_DATA_ONLY) && - !(ret & BLOCK_ABORT)) { - blk64 = *ind_block; - ret |= (*ctx->func)(ctx->fs, &blk64, + !(ret & BLOCK_ABORT)) + ret |= (*ctx->func)(ctx->fs, ind_block, BLOCK_COUNT_IND, ref_block, ref_offset, ctx->priv_data); - *ind_block = blk64; - } check_for_ro_violation_return(ctx, ret); return ret; } @@ -151,23 +140,19 @@ static int block_iterate_dind(blk_t *dind_block, blk_t ref_block, int ret = 0, changed = 0; int i, flags, limit, offset; blk_t *block_nr; - blk64_t blk64; limit = ctx->fs->blocksize >> 2; if (!(ctx->flags & (BLOCK_FLAG_DEPTH_TRAVERSE | - BLOCK_FLAG_DATA_ONLY))) { - blk64 = *dind_block; - ret = (*ctx->func)(ctx->fs, &blk64, + BLOCK_FLAG_DATA_ONLY))) + ret = (*ctx->func)(ctx->fs, dind_block, BLOCK_COUNT_DIND, ref_block, ref_offset, ctx->priv_data); - *dind_block = blk64; - } check_for_ro_violation_return(ctx, ret); if (!*dind_block || (ret & BLOCK_ABORT)) { ctx->bcount += limit*limit; return ret; } - if (*dind_block >= ext2fs_blocks_count(ctx->fs->super) || + if (*dind_block >= ctx->fs->super->s_blocks_count || *dind_block < ctx->fs->super->s_first_data_block) { ctx->errcode = EXT2_ET_BAD_DIND_BLOCK; ret |= BLOCK_ERROR; @@ -220,13 +205,10 @@ static int block_iterate_dind(blk_t *dind_block, blk_t ref_block, } if ((ctx->flags & BLOCK_FLAG_DEPTH_TRAVERSE) && !(ctx->flags & BLOCK_FLAG_DATA_ONLY) && - !(ret & BLOCK_ABORT)) { - blk64 = *dind_block; - ret |= (*ctx->func)(ctx->fs, &blk64, + !(ret & BLOCK_ABORT)) + ret |= (*ctx->func)(ctx->fs, dind_block, BLOCK_COUNT_DIND, ref_block, ref_offset, ctx->priv_data); - *dind_block = blk64; - } check_for_ro_violation_return(ctx, ret); return ret; } @@ -237,23 +219,19 @@ static int block_iterate_tind(blk_t *tind_block, blk_t ref_block, int ret = 0, changed = 0; int i, flags, limit, offset; blk_t *block_nr; - blk64_t blk64; limit = ctx->fs->blocksize >> 2; if (!(ctx->flags & (BLOCK_FLAG_DEPTH_TRAVERSE | - BLOCK_FLAG_DATA_ONLY))) { - blk64 = *tind_block; - ret = (*ctx->func)(ctx->fs, &blk64, + BLOCK_FLAG_DATA_ONLY))) + ret = (*ctx->func)(ctx->fs, tind_block, BLOCK_COUNT_TIND, ref_block, ref_offset, ctx->priv_data); - *tind_block = blk64; - } check_for_ro_violation_return(ctx, ret); if (!*tind_block || (ret & BLOCK_ABORT)) { ctx->bcount += limit*limit*limit; return ret; } - if (*tind_block >= ext2fs_blocks_count(ctx->fs->super) || + if (*tind_block >= ctx->fs->super->s_blocks_count || *tind_block < ctx->fs->super->s_first_data_block) { ctx->errcode = EXT2_ET_BAD_TIND_BLOCK; ret |= BLOCK_ERROR; @@ -306,25 +284,22 @@ static int block_iterate_tind(blk_t *tind_block, blk_t ref_block, } if ((ctx->flags & BLOCK_FLAG_DEPTH_TRAVERSE) && !(ctx->flags & BLOCK_FLAG_DATA_ONLY) && - !(ret & BLOCK_ABORT)) { - blk64 = *tind_block; - ret |= (*ctx->func)(ctx->fs, &blk64, + !(ret & BLOCK_ABORT)) + ret |= (*ctx->func)(ctx->fs, tind_block, BLOCK_COUNT_TIND, ref_block, ref_offset, ctx->priv_data); - *tind_block = blk64; - } check_for_ro_violation_return(ctx, ret); return ret; } -errcode_t ext2fs_block_iterate3(ext2_filsys fs, +errcode_t ext2fs_block_iterate2(ext2_filsys fs, ext2_ino_t ino, int flags, char *block_buf, int (*func)(ext2_filsys fs, - blk64_t *blocknr, + blk_t *blocknr, e2_blkcnt_t blockcnt, - blk64_t ref_blk, + blk_t ref_blk, int ref_offset, void *priv_data), void *priv_data) @@ -335,7 +310,6 @@ errcode_t ext2fs_block_iterate3(ext2_filsys fs, errcode_t retval; struct block_context ctx; int limit; - blk64_t blk64; EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); @@ -375,11 +349,10 @@ errcode_t ext2fs_block_iterate3(ext2_filsys fs, if ((fs->super->s_creator_os == EXT2_OS_HURD) && !(flags & BLOCK_FLAG_DATA_ONLY)) { if (inode.osd1.hurd1.h_i_translator) { - blk64 = inode.osd1.hurd1.h_i_translator; - ret |= (*ctx.func)(fs, &blk64, + ret |= (*ctx.func)(fs, + &inode.osd1.hurd1.h_i_translator, BLOCK_COUNT_TRANSLATOR, 0, 0, priv_data); - inode.osd1.hurd1.h_i_translator = (blk_t) blk64; if (ret & BLOCK_ABORT) goto abort_exit; check_for_ro_violation_goto(&ctx, ret, abort_exit); @@ -388,9 +361,9 @@ errcode_t ext2fs_block_iterate3(ext2_filsys fs, if (inode.i_flags & EXT4_EXTENTS_FL) { ext2_extent_handle_t handle; - struct ext2fs_extent extent, next; + struct ext2fs_extent extent; e2_blkcnt_t blockcnt = 0; - blk64_t blk, new_blk; + blk_t blk, new_blk; int op = EXT2_EXTENT_ROOT; int uninit; unsigned int j; @@ -400,11 +373,7 @@ errcode_t ext2fs_block_iterate3(ext2_filsys fs, goto abort_exit; while (1) { - if (op == EXT2_EXTENT_CURRENT) - ctx.errcode = 0; - else - ctx.errcode = ext2fs_extent_get(handle, op, - &extent); + ctx.errcode = ext2fs_extent_get(handle, op, &extent); if (ctx.errcode) { if (ctx.errcode != EXT2_ET_EXTENT_NO_NEXT) break; @@ -417,7 +386,7 @@ errcode_t ext2fs_block_iterate3(ext2_filsys fs, 0, 0, priv_data); ret |= r; check_for_ro_violation_goto(&ctx, ret, - extent_done); + extent_errout); if (r & BLOCK_CHANGED) { ctx.errcode = ext2fs_extent_set_bmap(handle, @@ -451,32 +420,12 @@ errcode_t ext2fs_block_iterate3(ext2_filsys fs, if (ctx.errcode) break; } - if (ret & BLOCK_ABORT) - break; } continue; } uninit = 0; if (extent.e_flags & EXT2_EXTENT_FLAGS_UNINIT) uninit = EXT2_EXTENT_SET_BMAP_UNINIT; - - /* - * Get the next extent before we start messing - * with the current extent - */ - retval = ext2fs_extent_get(handle, op, &next); - -#if 0 - printf("lblk %llu pblk %llu len %d blockcnt %llu\n", - extent.e_lblk, extent.e_pblk, - extent.e_len, blockcnt); -#endif - if (extent.e_lblk + extent.e_len <= (blk64_t) blockcnt) - continue; - if (extent.e_lblk > (blk64_t) blockcnt) - blockcnt = extent.e_lblk; - j = blockcnt - extent.e_lblk; - blk += j; for (blockcnt = extent.e_lblk, j = 0; j < extent.e_len; blk++, blockcnt++, j++) { @@ -485,27 +434,24 @@ errcode_t ext2fs_block_iterate3(ext2_filsys fs, 0, 0, priv_data); ret |= r; check_for_ro_violation_goto(&ctx, ret, - extent_done); + extent_errout); if (r & BLOCK_CHANGED) { ctx.errcode = ext2fs_extent_set_bmap(handle, (blk64_t) blockcnt, - new_blk, uninit); + (blk64_t) new_blk, + uninit); if (ctx.errcode) - goto extent_done; + goto extent_errout; } if (ret & BLOCK_ABORT) - goto extent_done; - } - if (retval == 0) { - extent = next; - op = EXT2_EXTENT_CURRENT; + break; } } - extent_done: + extent_errout: ext2fs_extent_free(handle); - ret |= BLOCK_ERROR; /* ctx.errcode is always valid here */ + ret |= BLOCK_ERROR | BLOCK_ABORT; goto errout; } @@ -514,17 +460,15 @@ errcode_t ext2fs_block_iterate3(ext2_filsys fs, */ for (i = 0; i < EXT2_NDIR_BLOCKS ; i++, ctx.bcount++) { if (inode.i_block[i] || (flags & BLOCK_FLAG_APPEND)) { - blk64 = inode.i_block[i]; - ret |= (*ctx.func)(fs, &blk64, ctx.bcount, 0, i, - priv_data); - inode.i_block[i] = (blk_t) blk64; + ret |= (*ctx.func)(fs, &inode.i_block[i], + ctx.bcount, 0, i, priv_data); if (ret & BLOCK_ABORT) goto abort_exit; } } check_for_ro_violation_goto(&ctx, ret, abort_exit); if (inode.i_block[EXT2_IND_BLOCK] || (flags & BLOCK_FLAG_APPEND)) { - ret |= block_iterate_ind(&inode.i_block[EXT2_IND_BLOCK], + ret |= block_iterate_ind(&inode.i_block[EXT2_IND_BLOCK], 0, EXT2_IND_BLOCK, &ctx); if (ret & BLOCK_ABORT) goto abort_exit; @@ -563,52 +507,6 @@ errout: * Emulate the old ext2fs_block_iterate function! */ -struct xlate64 { - int (*func)(ext2_filsys fs, - blk_t *blocknr, - e2_blkcnt_t blockcnt, - blk_t ref_blk, - int ref_offset, - void *priv_data); - void *real_private; -}; - -static int xlate64_func(ext2_filsys fs, blk64_t *blocknr, - e2_blkcnt_t blockcnt, blk64_t ref_blk, - int ref_offset, void *priv_data) -{ - struct xlate64 *xl = (struct xlate64 *) priv_data; - int ret; - blk_t block32 = *blocknr; - - ret = (*xl->func)(fs, &block32, blockcnt, (blk_t) ref_blk, ref_offset, - xl->real_private); - *blocknr = block32; - return ret; -} - -errcode_t ext2fs_block_iterate2(ext2_filsys fs, - ext2_ino_t ino, - int flags, - char *block_buf, - int (*func)(ext2_filsys fs, - blk_t *blocknr, - e2_blkcnt_t blockcnt, - blk_t ref_blk, - int ref_offset, - void *priv_data), - void *priv_data) -{ - struct xlate64 xl; - - xl.real_private = priv_data; - xl.func = func; - - return ext2fs_block_iterate3(fs, ino, flags, block_buf, - xlate64_func, &xl); -} - - struct xlate { int (*func)(ext2_filsys fs, blk_t *blocknr, diff --git a/lib/ext2fs/bmap.c b/lib/ext2fs/bmap.c index 28a33207..fbcb3753 100644 --- a/lib/ext2fs/bmap.c +++ b/lib/ext2fs/bmap.c @@ -17,7 +17,7 @@ #include #include "ext2_fs.h" -#include "ext2fsP.h" +#include "ext2fs.h" #if defined(__GNUC__) && !defined(NO_INLINE_FUNCS) #define _BMAP_INLINE_ __inline__ @@ -94,7 +94,7 @@ static _BMAP_INLINE_ errcode_t block_dind_bmap(ext2_filsys fs, int flags, int *blocks_alloc, blk_t nr, blk_t *ret_blk) { - blk_t b = 0; + blk_t b; errcode_t retval; blk_t addr_per_block; @@ -114,7 +114,7 @@ static _BMAP_INLINE_ errcode_t block_tind_bmap(ext2_filsys fs, int flags, int *blocks_alloc, blk_t nr, blk_t *ret_blk) { - blk_t b = 0; + blk_t b; errcode_t retval; blk_t addr_per_block; @@ -129,165 +129,6 @@ static _BMAP_INLINE_ errcode_t block_tind_bmap(ext2_filsys fs, int flags, return retval; } -static errcode_t extent_bmap(ext2_filsys fs, ext2_ino_t ino, - struct ext2_inode *inode, - ext2_extent_handle_t handle, - char *block_buf, int bmap_flags, blk64_t block, - int *ret_flags, int *blocks_alloc, - blk64_t *phys_blk); - -static errcode_t implied_cluster_alloc(ext2_filsys fs, ext2_ino_t ino, - struct ext2_inode *inode, - ext2_extent_handle_t handle, - blk64_t lblk, blk64_t *phys_blk) -{ - blk64_t base_block, pblock = 0; - int i; - - if (!EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_BIGALLOC)) - return 0; - - base_block = lblk & ~EXT2FS_CLUSTER_MASK(fs); - /* - * Except for the logical block (lblk) that was passed in, search all - * blocks in this logical cluster for a mapping to a physical cluster. - * If any such map exists, calculate the physical block that maps to - * the logical block and return that. - * - * The old code wouldn't even look if (block % cluster_ratio) == 0; - * this is incorrect if we're allocating blocks in reverse order. - */ - for (i = 0; i < EXT2FS_CLUSTER_RATIO(fs); i++) { - if (base_block + i == lblk) - continue; - extent_bmap(fs, ino, inode, handle, 0, 0, - base_block + i, 0, 0, &pblock); - if (pblock) - break; - } - if (pblock == 0) - return 0; - *phys_blk = pblock - i + (lblk - base_block); - return 0; -} - -/* Try to map a logical block to an already-allocated physical cluster. */ -errcode_t ext2fs_map_cluster_block(ext2_filsys fs, ext2_ino_t ino, - struct ext2_inode *inode, blk64_t lblk, - blk64_t *pblk) -{ - ext2_extent_handle_t handle; - errcode_t retval; - - /* Need bigalloc and extents to be enabled */ - *pblk = 0; - if (!EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_BIGALLOC) || - !(inode->i_flags & EXT4_EXTENTS_FL)) - return 0; - - retval = ext2fs_extent_open2(fs, ino, inode, &handle); - if (retval) - goto out; - - retval = implied_cluster_alloc(fs, ino, inode, handle, lblk, pblk); - if (retval) - goto out2; - -out2: - ext2fs_extent_free(handle); -out: - return retval; -} - -static errcode_t extent_bmap(ext2_filsys fs, ext2_ino_t ino, - struct ext2_inode *inode, - ext2_extent_handle_t handle, - char *block_buf, int bmap_flags, blk64_t block, - int *ret_flags, int *blocks_alloc, - blk64_t *phys_blk) -{ - struct ext2fs_extent extent; - unsigned int offset; - errcode_t retval = 0; - blk64_t blk64 = 0; - int alloc = 0; - - if (bmap_flags & BMAP_SET) { - retval = ext2fs_extent_set_bmap(handle, block, - *phys_blk, 0); - return retval; - } - retval = ext2fs_extent_goto(handle, block); - if (retval) { - /* If the extent is not found, return phys_blk = 0 */ - if (retval == EXT2_ET_EXTENT_NOT_FOUND) - goto got_block; - return retval; - } - retval = ext2fs_extent_get(handle, EXT2_EXTENT_CURRENT, &extent); - if (retval) - return retval; - offset = block - extent.e_lblk; - if (block >= extent.e_lblk && (offset <= extent.e_len)) { - *phys_blk = extent.e_pblk + offset; - if (ret_flags && extent.e_flags & EXT2_EXTENT_FLAGS_UNINIT) - *ret_flags |= BMAP_RET_UNINIT; - } -got_block: - if ((*phys_blk == 0) && (bmap_flags & BMAP_ALLOC)) { - implied_cluster_alloc(fs, ino, inode, handle, block, &blk64); - if (blk64) - goto set_extent; - retval = extent_bmap(fs, ino, inode, handle, block_buf, - 0, block-1, 0, blocks_alloc, &blk64); - if (retval) - blk64 = 0; - retval = ext2fs_alloc_block2(fs, blk64, block_buf, - &blk64); - if (retval) - return retval; - blk64 &= ~EXT2FS_CLUSTER_MASK(fs); - blk64 += EXT2FS_CLUSTER_MASK(fs) & block; - alloc++; - set_extent: - retval = ext2fs_extent_set_bmap(handle, block, - blk64, 0); - if (retval) - return retval; - /* Update inode after setting extent */ - retval = ext2fs_read_inode(fs, ino, inode); - if (retval) - return retval; - *blocks_alloc += alloc; - *phys_blk = blk64; - } - return 0; -} - -int ext2fs_file_block_offset_too_big(ext2_filsys fs, - struct ext2_inode *inode, - blk64_t offset) -{ - blk64_t addr_per_block, max_map_block; - - /* Kernel seems to cut us off at 4294967294 blocks */ - if (offset >= (1ULL << 32) - 1) - return 1; - - if (inode->i_flags & EXT4_EXTENTS_FL) - return 0; - - addr_per_block = fs->blocksize >> 2; - max_map_block = addr_per_block; - max_map_block += addr_per_block * addr_per_block; - max_map_block += addr_per_block * addr_per_block * addr_per_block; - max_map_block += 12; - - return offset >= max_map_block; -} - errcode_t ext2fs_bmap2(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode *inode, char *block_buf, int bmap_flags, blk64_t block, int *ret_flags, blk64_t *phys_blk) @@ -315,8 +156,53 @@ errcode_t ext2fs_bmap2(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode *inode, } addr_per_block = (blk_t) fs->blocksize >> 2; - if (ext2fs_file_block_offset_too_big(fs, inode, block)) - return EXT2_ET_FILE_TOO_BIG; + if (inode->i_flags & EXT4_EXTENTS_FL) { + struct ext2fs_extent extent; + unsigned int offset; + + retval = ext2fs_extent_open2(fs, ino, inode, &handle); + if (retval) + goto done; + if (bmap_flags & BMAP_SET) { + retval = ext2fs_extent_set_bmap(handle, block, + *phys_blk, 0); + goto done; + } + retval = ext2fs_extent_goto(handle, block); + if (retval) { + /* If the extent is not found, return phys_blk = 0 */ + if (retval == EXT2_ET_EXTENT_NOT_FOUND) + goto got_block; + goto done; + } + retval = ext2fs_extent_get(handle, EXT2_EXTENT_CURRENT, &extent); + if (retval) + goto done; + offset = block - extent.e_lblk; + if (block >= extent.e_lblk && (offset <= extent.e_len)) { + *phys_blk = extent.e_pblk + offset; + if (ret_flags && extent.e_flags & EXT2_EXTENT_FLAGS_UNINIT) + *ret_flags |= BMAP_RET_UNINIT; + } + got_block: + if ((*phys_blk == 0) && (bmap_flags & BMAP_ALLOC)) { + retval = ext2fs_alloc_block(fs, b, block_buf, &b); + if (retval) + goto done; + retval = ext2fs_extent_set_bmap(handle, block, + (blk64_t) b, 0); + if (retval) + goto done; + /* Update inode after setting extent */ + retval = ext2fs_read_inode(fs, ino, inode); + if (retval) + return retval; + blocks_alloc++; + *phys_blk = b; + } + retval = 0; + goto done; + } if (!block_buf) { retval = ext2fs_get_array(2, fs->blocksize, &buf); @@ -325,16 +211,6 @@ errcode_t ext2fs_bmap2(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode *inode, block_buf = buf; } - if (inode->i_flags & EXT4_EXTENTS_FL) { - retval = ext2fs_extent_open2(fs, ino, inode, &handle); - if (retval) - goto done; - retval = extent_bmap(fs, ino, inode, handle, block_buf, - bmap_flags, block, ret_flags, - &blocks_alloc, phys_blk); - goto done; - } - if (block < EXT2_NDIR_BLOCKS) { if (bmap_flags & BMAP_SET) { b = *phys_blk; diff --git a/lib/ext2fs/bmap64.h b/lib/ext2fs/bmap64.h deleted file mode 100644 index f44d379c..00000000 --- a/lib/ext2fs/bmap64.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - * bmap64.h --- 64-bit bitmap structure - * - * Copyright (C) 2007, 2008 Theodore Ts'o. - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - */ - -struct ext2_bmap_statistics { - int type; - struct timeval created; - -#ifdef BMAP_STATS_OPS - unsigned long copy_count; - unsigned long resize_count; - unsigned long mark_count; - unsigned long unmark_count; - unsigned long test_count; - unsigned long mark_ext_count; - unsigned long unmark_ext_count; - unsigned long test_ext_count; - unsigned long set_range_count; - unsigned long get_range_count; - unsigned long clear_count; - - blk64_t last_marked; - blk64_t last_tested; - blk64_t mark_back; - blk64_t test_back; - - unsigned long mark_seq; - unsigned long test_seq; -#endif /* BMAP_STATS_OPS */ -}; - - -struct ext2fs_struct_generic_bitmap { - errcode_t magic; - ext2_filsys fs; - struct ext2_bitmap_ops *bitmap_ops; - int flags; - __u64 start, end; - __u64 real_end; - int cluster_bits; - char *description; - void *private; - errcode_t base_error_code; -#ifdef BMAP_STATS - struct ext2_bmap_statistics stats; -#endif -}; - -#define EXT2FS_IS_32_BITMAP(bmap) \ - (((bmap)->magic == EXT2_ET_MAGIC_GENERIC_BITMAP) || \ - ((bmap)->magic == EXT2_ET_MAGIC_BLOCK_BITMAP) || \ - ((bmap)->magic == EXT2_ET_MAGIC_INODE_BITMAP)) - -#define EXT2FS_IS_64_BITMAP(bmap) \ - (((bmap)->magic == EXT2_ET_MAGIC_GENERIC_BITMAP64) || \ - ((bmap)->magic == EXT2_ET_MAGIC_BLOCK_BITMAP64) || \ - ((bmap)->magic == EXT2_ET_MAGIC_INODE_BITMAP64)) - -struct ext2_bitmap_ops { - int type; - /* Generic bmap operators */ - errcode_t (*new_bmap)(ext2_filsys fs, ext2fs_generic_bitmap bmap); - void (*free_bmap)(ext2fs_generic_bitmap bitmap); - errcode_t (*copy_bmap)(ext2fs_generic_bitmap src, - ext2fs_generic_bitmap dest); - errcode_t (*resize_bmap)(ext2fs_generic_bitmap bitmap, - __u64 new_end, - __u64 new_real_end); - /* bit set/test operators */ - int (*mark_bmap)(ext2fs_generic_bitmap bitmap, __u64 arg); - int (*unmark_bmap)(ext2fs_generic_bitmap bitmap, __u64 arg); - int (*test_bmap)(ext2fs_generic_bitmap bitmap, __u64 arg); - void (*mark_bmap_extent)(ext2fs_generic_bitmap bitmap, __u64 arg, - unsigned int num); - void (*unmark_bmap_extent)(ext2fs_generic_bitmap bitmap, __u64 arg, - unsigned int num); - int (*test_clear_bmap_extent)(ext2fs_generic_bitmap bitmap, - __u64 arg, unsigned int num); - errcode_t (*set_bmap_range)(ext2fs_generic_bitmap bitmap, - __u64 start, size_t num, void *in); - errcode_t (*get_bmap_range)(ext2fs_generic_bitmap bitmap, - __u64 start, size_t num, void *out); - void (*clear_bmap)(ext2fs_generic_bitmap bitmap); - void (*print_stats)(ext2fs_generic_bitmap); - - /* Find the first zero bit between start and end, inclusive. - * May be NULL, in which case a generic function is used. */ - errcode_t (*find_first_zero)(ext2fs_generic_bitmap bitmap, - __u64 start, __u64 end, __u64 *out); -}; - -extern struct ext2_bitmap_ops ext2fs_blkmap64_bitarray; -extern struct ext2_bitmap_ops ext2fs_blkmap64_rbtree; diff --git a/lib/ext2fs/bmove.c b/lib/ext2fs/bmove.c index f9480c88..1caf2fa9 100644 --- a/lib/ext2fs/bmove.c +++ b/lib/ext2fs/bmove.c @@ -36,14 +36,14 @@ struct process_block_struct { int flags; }; -static int process_block(ext2_filsys fs, blk64_t *block_nr, - e2_blkcnt_t blockcnt, blk64_t ref_block, +static int process_block(ext2_filsys fs, blk_t *block_nr, + e2_blkcnt_t blockcnt, blk_t ref_block, int ref_offset, void *priv_data) { struct process_block_struct *pb; errcode_t retval; int ret; - blk64_t block, orig; + blk_t block, orig; pb = (struct process_block_struct *) priv_data; block = orig = *block_nr; @@ -52,39 +52,37 @@ static int process_block(ext2_filsys fs, blk64_t *block_nr, /* * Let's see if this is one which we need to relocate */ - if (ext2fs_test_block_bitmap2(pb->reserve, block)) { + if (ext2fs_test_block_bitmap(pb->reserve, block)) { do { - if (++block >= ext2fs_blocks_count(fs->super)) + if (++block >= fs->super->s_blocks_count) block = fs->super->s_first_data_block; if (block == orig) { pb->error = EXT2_ET_BLOCK_ALLOC_FAIL; return BLOCK_ABORT; } - } while (ext2fs_test_block_bitmap2(pb->reserve, block) || - ext2fs_test_block_bitmap2(pb->alloc_map, block)); + } while (ext2fs_test_block_bitmap(pb->reserve, block) || + ext2fs_test_block_bitmap(pb->alloc_map, block)); - retval = io_channel_read_blk64(fs->io, orig, 1, pb->buf); + retval = io_channel_read_blk(fs->io, orig, 1, pb->buf); if (retval) { pb->error = retval; return BLOCK_ABORT; } - retval = io_channel_write_blk64(fs->io, block, 1, pb->buf); + retval = io_channel_write_blk(fs->io, block, 1, pb->buf); if (retval) { pb->error = retval; return BLOCK_ABORT; } *block_nr = block; - ext2fs_mark_block_bitmap2(pb->alloc_map, block); + ext2fs_mark_block_bitmap(pb->alloc_map, block); ret = BLOCK_CHANGED; if (pb->flags & EXT2_BMOVE_DEBUG) - printf("ino=%u, blockcnt=%lld, %llu->%llu\n", - (unsigned) pb->ino, blockcnt, - (unsigned long long) orig, - (unsigned long long) block); + printf("ino=%ld, blockcnt=%lld, %u->%u\n", pb->ino, + blockcnt, orig, block); } if (pb->add_dir) { - retval = ext2fs_add_dir_block2(fs->dblist, pb->ino, - block, blockcnt); + retval = ext2fs_add_dir_block(fs->dblist, pb->ino, + block, (int) blockcnt); if (retval) { pb->error = retval; ret |= BLOCK_ABORT; @@ -140,7 +138,7 @@ errcode_t ext2fs_move_blocks(ext2_filsys fs, while (ino) { if ((inode.i_links_count == 0) || - !ext2fs_inode_has_valid_blocks2(fs, &inode)) + !ext2fs_inode_has_valid_blocks(&inode)) goto next; pb.ino = ino; @@ -149,8 +147,8 @@ errcode_t ext2fs_move_blocks(ext2_filsys fs, pb.add_dir = (LINUX_S_ISDIR(inode.i_mode) && flags & EXT2_BMOVE_GET_DBLIST); - retval = ext2fs_block_iterate3(fs, ino, 0, block_buf, - process_block, &pb); + retval = ext2fs_block_iterate2(fs, ino, 0, block_buf, + process_block, &pb); if (retval) return retval; if (pb.error) diff --git a/lib/ext2fs/brel.h b/lib/ext2fs/brel.h index 9fdddd40..a0dd5b9c 100644 --- a/lib/ext2fs/brel.h +++ b/lib/ext2fs/brel.h @@ -10,11 +10,11 @@ */ struct ext2_block_relocate_entry { - blk64_t new; + blk_t new; __s16 offset; __u16 flags; union { - blk64_t block_ref; + blk_t block_ref; ext2_ino_t inode_ref; } owner; }; @@ -28,19 +28,19 @@ typedef struct ext2_block_relocation_table *ext2_brel; struct ext2_block_relocation_table { __u32 magic; char *name; - blk64_t current; + blk_t current; void *priv_data; /* * Add a block relocation entry. */ - errcode_t (*put)(ext2_brel brel, blk64_t old, + errcode_t (*put)(ext2_brel brel, blk_t old, struct ext2_block_relocate_entry *ent); /* * Get a block relocation entry. */ - errcode_t (*get)(ext2_brel brel, blk64_t old, + errcode_t (*get)(ext2_brel brel, blk_t old, struct ext2_block_relocate_entry *ent); /* @@ -52,19 +52,19 @@ struct ext2_block_relocation_table { * The iterator function for the inode relocation entries. * Returns an inode number of 0 when out of entries. */ - errcode_t (*next)(ext2_brel brel, blk64_t *old, + errcode_t (*next)(ext2_brel brel, blk_t *old, struct ext2_block_relocate_entry *ent); /* * Move the inode relocation table from one block number to * another. */ - errcode_t (*move)(ext2_brel brel, blk64_t old, blk_t new); + errcode_t (*move)(ext2_brel brel, blk_t old, blk_t new); /* * Remove a block relocation entry. */ - errcode_t (*delete)(ext2_brel brel, blk64_t old); + errcode_t (*delete)(ext2_brel brel, blk_t old); /* @@ -73,7 +73,7 @@ struct ext2_block_relocation_table { errcode_t (*free)(ext2_brel brel); }; -errcode_t ext2fs_brel_memarray_create(char *name, blk64_t max_block, +errcode_t ext2fs_brel_memarray_create(char *name, blk_t max_block, ext2_brel *brel); #define ext2fs_brel_put(brel, old, ent) ((brel)->put((brel), old, ent)) diff --git a/lib/ext2fs/brel_ma.c b/lib/ext2fs/brel_ma.c index e398c1e0..1a55702b 100644 --- a/lib/ext2fs/brel_ma.c +++ b/lib/ext2fs/brel_ma.c @@ -26,24 +26,24 @@ #include "ext2fs.h" #include "brel.h" -static errcode_t bma_put(ext2_brel brel, blk64_t old, +static errcode_t bma_put(ext2_brel brel, blk_t old, struct ext2_block_relocate_entry *ent); -static errcode_t bma_get(ext2_brel brel, blk64_t old, +static errcode_t bma_get(ext2_brel brel, blk_t old, struct ext2_block_relocate_entry *ent); static errcode_t bma_start_iter(ext2_brel brel); -static errcode_t bma_next(ext2_brel brel, blk64_t *old, +static errcode_t bma_next(ext2_brel brel, blk_t *old, struct ext2_block_relocate_entry *ent); -static errcode_t bma_move(ext2_brel brel, blk64_t old, blk64_t new); -static errcode_t bma_delete(ext2_brel brel, blk64_t old); +static errcode_t bma_move(ext2_brel brel, blk_t old, blk_t new); +static errcode_t bma_delete(ext2_brel brel, blk_t old); static errcode_t bma_free(ext2_brel brel); struct brel_ma { __u32 magic; - blk64_t max_block; + blk_t max_block; struct ext2_block_relocate_entry *entries; }; -errcode_t ext2fs_brel_memarray_create(char *name, blk64_t max_block, +errcode_t ext2fs_brel_memarray_create(char *name, blk_t max_block, ext2_brel *new_brel) { ext2_brel brel = 0; @@ -101,7 +101,7 @@ errout: return retval; } -static errcode_t bma_put(ext2_brel brel, blk64_t old, +static errcode_t bma_put(ext2_brel brel, blk_t old, struct ext2_block_relocate_entry *ent) { struct brel_ma *ma; @@ -113,7 +113,7 @@ static errcode_t bma_put(ext2_brel brel, blk64_t old, return 0; } -static errcode_t bma_get(ext2_brel brel, blk64_t old, +static errcode_t bma_get(ext2_brel brel, blk_t old, struct ext2_block_relocate_entry *ent) { struct brel_ma *ma; @@ -133,7 +133,7 @@ static errcode_t bma_start_iter(ext2_brel brel) return 0; } -static errcode_t bma_next(ext2_brel brel, blk64_t *old, +static errcode_t bma_next(ext2_brel brel, blk_t *old, struct ext2_block_relocate_entry *ent) { struct brel_ma *ma; @@ -150,7 +150,7 @@ static errcode_t bma_next(ext2_brel brel, blk64_t *old, return 0; } -static errcode_t bma_move(ext2_brel brel, blk64_t old, blk64_t new) +static errcode_t bma_move(ext2_brel brel, blk_t old, blk_t new) { struct brel_ma *ma; @@ -164,7 +164,7 @@ static errcode_t bma_move(ext2_brel brel, blk64_t old, blk64_t new) return 0; } -static errcode_t bma_delete(ext2_brel brel, blk64_t old) +static errcode_t bma_delete(ext2_brel brel, blk_t old) { struct brel_ma *ma; diff --git a/lib/ext2fs/check_desc.c b/lib/ext2fs/check_desc.c index d2cc5659..5ab95147 100644 --- a/lib/ext2fs/check_desc.c +++ b/lib/ext2fs/check_desc.c @@ -34,17 +34,14 @@ errcode_t ext2fs_check_desc(ext2_filsys fs) ext2fs_block_bitmap bmap; errcode_t retval; dgrp_t i; - blk64_t first_block = fs->super->s_first_data_block; - blk64_t last_block = ext2fs_blocks_count(fs->super)-1; - blk64_t blk, b; - unsigned int j; + blk_t first_block = fs->super->s_first_data_block; + blk_t last_block = fs->super->s_blocks_count-1; + blk_t blk, b; + int j; EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); - if (EXT2_DESC_SIZE(fs->super) & (EXT2_DESC_SIZE(fs->super) - 1)) - return EXT2_ET_BAD_DESC_SIZE; - - retval = ext2fs_allocate_subcluster_bitmap(fs, "check_desc map", &bmap); + retval = ext2fs_allocate_block_bitmap(fs, "check_desc map", &bmap); if (retval) return retval; @@ -54,36 +51,38 @@ errcode_t ext2fs_check_desc(ext2_filsys fs) for (i = 0; i < fs->group_desc_count; i++) { if (!EXT2_HAS_INCOMPAT_FEATURE(fs->super, EXT4_FEATURE_INCOMPAT_FLEX_BG)) { - first_block = ext2fs_group_first_block2(fs, i); - last_block = ext2fs_group_last_block2(fs, i); + first_block = ext2fs_group_first_block(fs, i); + last_block = ext2fs_group_last_block(fs, i); + if (i == (fs->group_desc_count - 1)) + last_block = fs->super->s_blocks_count-1; } /* * Check to make sure the block bitmap for group is sane */ - blk = ext2fs_block_bitmap_loc(fs, i); + blk = fs->group_desc[i].bg_block_bitmap; if (blk < first_block || blk > last_block || - ext2fs_test_block_bitmap2(bmap, blk)) { + ext2fs_test_block_bitmap(bmap, blk)) { retval = EXT2_ET_GDESC_BAD_BLOCK_MAP; goto errout; } - ext2fs_mark_block_bitmap2(bmap, blk); + ext2fs_mark_block_bitmap(bmap, blk); /* * Check to make sure the inode bitmap for group is sane */ - blk = ext2fs_inode_bitmap_loc(fs, i); + blk = fs->group_desc[i].bg_inode_bitmap; if (blk < first_block || blk > last_block || - ext2fs_test_block_bitmap2(bmap, blk)) { + ext2fs_test_block_bitmap(bmap, blk)) { retval = EXT2_ET_GDESC_BAD_INODE_MAP; goto errout; } - ext2fs_mark_block_bitmap2(bmap, blk); + ext2fs_mark_block_bitmap(bmap, blk); /* * Check to make sure the inode table for group is sane */ - blk = ext2fs_inode_table_loc(fs, i); + blk = fs->group_desc[i].bg_inode_table; if (blk < first_block || ((blk + fs->inode_blocks_per_group - 1) > last_block)) { retval = EXT2_ET_GDESC_BAD_INODE_TABLE; @@ -91,11 +90,11 @@ errcode_t ext2fs_check_desc(ext2_filsys fs) } for (j = 0, b = blk; j < fs->inode_blocks_per_group; j++, b++) { - if (ext2fs_test_block_bitmap2(bmap, b)) { + if (ext2fs_test_block_bitmap(bmap, b)) { retval = EXT2_ET_GDESC_BAD_INODE_TABLE; goto errout; } - ext2fs_mark_block_bitmap2(bmap, b); + ext2fs_mark_block_bitmap(bmap, b); } } errout: diff --git a/lib/ext2fs/closefs.c b/lib/ext2fs/closefs.c index 87403839..99430d7b 100644 --- a/lib/ext2fs/closefs.c +++ b/lib/ext2fs/closefs.c @@ -19,12 +19,12 @@ #include "ext2_fs.h" #include "ext2fsP.h" -static int test_root(unsigned int a, unsigned int b) +static int test_root(int a, int b) { + if (a == 0) + return 1; while (1) { - if (a < b) - return 0; - if (a == b) + if (a == 1) return 1; if (a % b) return 0; @@ -32,50 +32,45 @@ static int test_root(unsigned int a, unsigned int b) } } -int ext2fs_bg_has_super(ext2_filsys fs, dgrp_t group) +int ext2fs_bg_has_super(ext2_filsys fs, int group_block) { if (!(fs->super->s_feature_ro_compat & - EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER) || group <= 1) + EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER)) return 1; - if (!(group & 1)) - return 0; - if (test_root(group, 3) || (test_root(group, 5)) || - test_root(group, 7)) + + if (test_root(group_block, 3) || (test_root(group_block, 5)) || + test_root(group_block, 7)) return 1; return 0; } /* - * ext2fs_super_and_bgd_loc2() - * @fs: ext2 fs pointer - * @group given block group - * @ret_super_blk: if !NULL, returns super block location - * @ret_old_desc_blk: if !NULL, returns location of the old block - * group descriptor - * @ret_new_desc_blk: if !NULL, returns location of meta_bg block - * group descriptor - * @ret_used_blks: if !NULL, returns number of blocks used by - * super block and group_descriptors. + * This function returns the location of the superblock, block group + * descriptors for a given block group. It currently returns the + * number of free blocks assuming that inode table and allocation + * bitmaps will be in the group. This is not necessarily the case + * when the flex_bg feature is enabled, so callers should take care! + * It was only really intended for use by mke2fs, and even there it's + * not that useful. In the future, when we redo this function for + * 64-bit block numbers, we should probably return the number of + * blocks used by the super block and group descriptors instead. * - * Returns errcode_t of 0 + * See also the comment for ext2fs_reserve_super_and_bgd() */ -errcode_t ext2fs_super_and_bgd_loc2(ext2_filsys fs, - dgrp_t group, - blk64_t *ret_super_blk, - blk64_t *ret_old_desc_blk, - blk64_t *ret_new_desc_blk, - blk_t *ret_used_blks) +int ext2fs_super_and_bgd_loc(ext2_filsys fs, + dgrp_t group, + blk_t *ret_super_blk, + blk_t *ret_old_desc_blk, + blk_t *ret_new_desc_blk, + int *ret_meta_bg) { - blk64_t group_block, super_blk = 0, old_desc_blk = 0, new_desc_blk = 0; + blk_t group_block, super_blk = 0, old_desc_blk = 0, new_desc_blk = 0; unsigned int meta_bg, meta_bg_size; - blk_t numblocks = 0; - blk64_t old_desc_blocks; + blk_t numblocks, old_desc_blocks; int has_super; - group_block = ext2fs_group_first_block2(fs, group); - if (group_block == 0 && fs->blocksize == 1024) - group_block = 1; /* Deal with 1024 blocksize && bigalloc */ + group_block = ext2fs_group_first_block(fs, group); if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) old_desc_blocks = fs->super->s_first_meta_bg; @@ -83,11 +78,20 @@ errcode_t ext2fs_super_and_bgd_loc2(ext2_filsys fs, old_desc_blocks = fs->desc_blocks + fs->super->s_reserved_gdt_blocks; + if (group == fs->group_desc_count-1) { + numblocks = (fs->super->s_blocks_count - + fs->super->s_first_data_block) % + fs->super->s_blocks_per_group; + if (!numblocks) + numblocks = fs->super->s_blocks_per_group; + } else + numblocks = fs->super->s_blocks_per_group; + has_super = ext2fs_bg_has_super(fs, group); if (has_super) { super_blk = group_block; - numblocks++; + numblocks--; } meta_bg_size = EXT2_DESC_PER_BLOCK(fs->super); meta_bg = group / meta_bg_size; @@ -96,7 +100,7 @@ errcode_t ext2fs_super_and_bgd_loc2(ext2_filsys fs, (meta_bg < fs->super->s_first_meta_bg)) { if (has_super) { old_desc_blk = group_block + 1; - numblocks += old_desc_blocks; + numblocks -= old_desc_blocks; } } else { if (((group % meta_bg_size) == 0) || @@ -105,71 +109,23 @@ errcode_t ext2fs_super_and_bgd_loc2(ext2_filsys fs, if (has_super) has_super = 1; new_desc_blk = group_block + has_super; - numblocks++; + numblocks--; } } + numblocks -= 2 + fs->inode_blocks_per_group; + if (ret_super_blk) *ret_super_blk = super_blk; if (ret_old_desc_blk) *ret_old_desc_blk = old_desc_blk; if (ret_new_desc_blk) *ret_new_desc_blk = new_desc_blk; - if (ret_used_blks) - *ret_used_blks = numblocks; - - return 0; + if (ret_meta_bg) + *ret_meta_bg = meta_bg; + return (numblocks); } -/* - * This function returns the location of the superblock, block group - * descriptors for a given block group. It currently returns the - * number of free blocks assuming that inode table and allocation - * bitmaps will be in the group. This is not necessarily the case - * when the flex_bg feature is enabled, so callers should take care! - * It was only really intended for use by mke2fs, and even there it's - * not that useful. - * - * The ext2fs_super_and_bgd_loc2() function is 64-bit block number - * capable and returns the number of blocks used by super block and - * group descriptors. - */ -int ext2fs_super_and_bgd_loc(ext2_filsys fs, - dgrp_t group, - blk_t *ret_super_blk, - blk_t *ret_old_desc_blk, - blk_t *ret_new_desc_blk, - int *ret_meta_bg) -{ - blk64_t ret_super_blk2; - blk64_t ret_old_desc_blk2; - blk64_t ret_new_desc_blk2; - blk_t ret_used_blks; - blk_t numblocks; - unsigned int meta_bg_size; - - ext2fs_super_and_bgd_loc2(fs, group, &ret_super_blk2, - &ret_old_desc_blk2, - &ret_new_desc_blk2, - &ret_used_blks); - - numblocks = ext2fs_group_blocks_count(fs, group); - - if (ret_super_blk) - *ret_super_blk = (blk_t)ret_super_blk2; - if (ret_old_desc_blk) - *ret_old_desc_blk = (blk_t)ret_old_desc_blk2; - if (ret_new_desc_blk) - *ret_new_desc_blk = (blk_t)ret_new_desc_blk2; - if (ret_meta_bg) { - meta_bg_size = EXT2_DESC_PER_BLOCK(fs->super); - *ret_meta_bg = group / meta_bg_size; - } - - numblocks -= 2 + fs->inode_blocks_per_group + ret_used_blks; - - return numblocks; -} /* * This function forces out the primary superblock. We need to only @@ -191,7 +147,7 @@ static errcode_t write_primary_superblock(ext2_filsys fs, if (!fs->io->manager->write_byte || !fs->orig_super) { fallback: io_channel_set_blksize(fs->io, SUPERBLOCK_OFFSET); - retval = io_channel_write_blk64(fs->io, 1, -SUPERBLOCK_SIZE, + retval = io_channel_write_blk(fs->io, 1, -SUPERBLOCK_SIZE, super); io_channel_set_blksize(fs->io, fs->blocksize); return retval; @@ -243,7 +199,7 @@ void ext2fs_update_dynamic_rev(ext2_filsys fs) } static errcode_t write_backup_super(ext2_filsys fs, dgrp_t group, - blk64_t group_block, + blk_t group_block, struct ext2_super_block *super_shadow) { dgrp_t sgrp = group; @@ -256,16 +212,12 @@ static errcode_t write_backup_super(ext2_filsys fs, dgrp_t group, fs->super->s_block_group_nr = sgrp; #endif - return io_channel_write_blk64(fs->io, group_block, -SUPERBLOCK_SIZE, + return io_channel_write_blk(fs->io, group_block, -SUPERBLOCK_SIZE, super_shadow); } -errcode_t ext2fs_flush(ext2_filsys fs) -{ - return ext2fs_flush2(fs, 0); -} -errcode_t ext2fs_flush2(ext2_filsys fs, int flags) +errcode_t ext2fs_flush(ext2_filsys fs) { dgrp_t i; errcode_t retval; @@ -274,12 +226,11 @@ errcode_t ext2fs_flush2(ext2_filsys fs, int flags) struct ext2_super_block *super_shadow = 0; struct ext2_group_desc *group_shadow = 0; #ifdef WORDS_BIGENDIAN - struct ext2_group_desc *gdp; + struct ext2_group_desc *s, *t; dgrp_t j; #endif char *group_ptr; int old_desc_blocks; - struct ext2fs_numeric_progress_struct progress; EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); @@ -297,17 +248,18 @@ errcode_t ext2fs_flush2(ext2_filsys fs, int flags) &group_shadow); if (retval) goto errout; - memcpy(group_shadow, fs->group_desc, (size_t) fs->blocksize * + memset(group_shadow, 0, (size_t) fs->blocksize * fs->desc_blocks); /* swap the group descriptors */ - for (j = 0; j < fs->group_desc_count; j++) { - gdp = ext2fs_group_desc(fs, group_shadow, j); - ext2fs_swap_group_desc2(fs, gdp); + for (j=0, s=fs->group_desc, t=group_shadow; + j < fs->group_desc_count; j++, t++, s++) { + *t = *s; + ext2fs_swap_group_desc(t); } #else super_shadow = fs->super; - group_shadow = ext2fs_group_desc(fs, fs->group_desc, 0); + group_shadow = fs->group_desc; #endif /* @@ -340,16 +292,12 @@ errcode_t ext2fs_flush2(ext2_filsys fs, int flags) else old_desc_blocks = fs->desc_blocks; - ext2fs_numeric_progress_init(fs, &progress, NULL, - fs->group_desc_count); - - for (i = 0; i < fs->group_desc_count; i++) { - blk64_t super_blk, old_desc_blk, new_desc_blk; + blk_t super_blk, old_desc_blk, new_desc_blk; + int meta_bg; - ext2fs_numeric_progress_update(fs, &progress, i); - ext2fs_super_and_bgd_loc2(fs, i, &super_blk, &old_desc_blk, - &new_desc_blk, 0); + ext2fs_super_and_bgd_loc(fs, i, &super_blk, &old_desc_blk, + &new_desc_blk, &meta_bg); if (!(fs->flags & EXT2_FLAG_MASTER_SB_ONLY) &&i && super_blk) { retval = write_backup_super(fs, i, super_blk, @@ -361,23 +309,19 @@ errcode_t ext2fs_flush2(ext2_filsys fs, int flags) continue; if ((old_desc_blk) && (!(fs->flags & EXT2_FLAG_MASTER_SB_ONLY) || (i == 0))) { - retval = io_channel_write_blk64(fs->io, + retval = io_channel_write_blk(fs->io, old_desc_blk, old_desc_blocks, group_ptr); if (retval) goto errout; } if (new_desc_blk) { - int meta_bg = i / EXT2_DESC_PER_BLOCK(fs->super); - - retval = io_channel_write_blk64(fs->io, new_desc_blk, + retval = io_channel_write_blk(fs->io, new_desc_blk, 1, group_ptr + (meta_bg*fs->blocksize)); if (retval) goto errout; } } - ext2fs_numeric_progress_close(fs, &progress, NULL); - /* * If the write_bitmaps() function is present, call it to * flush the bitmaps. This is done this way so that a simple @@ -407,16 +351,14 @@ write_primary_superblock_only: ext2fs_swap_super(super_shadow); #endif - if (!(flags & EXT2_FLAG_FLUSH_NO_SYNC)) - retval = io_channel_flush(fs->io); + retval = io_channel_flush(fs->io); retval = write_primary_superblock(fs, super_shadow); if (retval) goto errout; fs->flags &= ~EXT2_FLAG_DIRTY; - if (!(flags & EXT2_FLAG_FLUSH_NO_SYNC)) - retval = io_channel_flush(fs->io); + retval = io_channel_flush(fs->io); errout: fs->super->s_state = fs_state; #ifdef WORDS_BIGENDIAN @@ -429,11 +371,6 @@ errout: } errcode_t ext2fs_close(ext2_filsys fs) -{ - return ext2fs_close2(fs, 0); -} - -errcode_t ext2fs_close2(ext2_filsys fs, int flags) { errcode_t retval; int meta_blks; @@ -459,15 +396,10 @@ errcode_t ext2fs_close2(ext2_filsys fs, int flags) fs->flags |= EXT2_FLAG_SUPER_ONLY | EXT2_FLAG_DIRTY; } if (fs->flags & EXT2_FLAG_DIRTY) { - retval = ext2fs_flush2(fs, flags); + retval = ext2fs_flush(fs); if (retval) return retval; } - - retval = ext2fs_mmp_stop(fs); - if (retval) - return retval; - ext2fs_free(fs); return 0; } diff --git a/lib/ext2fs/crc32c.c b/lib/ext2fs/crc32c.c deleted file mode 100644 index 5907500b..00000000 --- a/lib/ext2fs/crc32c.c +++ /dev/null @@ -1,1143 +0,0 @@ -/* - * crc32c.c - * - * August 26, 2011 Darrick J. Wong - * Reuse Bob Pearson's slice-by-8 implementation for e2fsprogs. - * - * July 20, 2011 Bob Pearson - * added slice by 8 algorithm to the existing conventional and - * slice by 4 algorithms. - * - * Oct 15, 2000 Matt Domsch - * Nicer crc32 functions/docs submitted by linux@horizon.com. Thanks! - * Code was from the public domain, copyright abandoned. Code was - * subsequently included in the kernel, thus was re-licensed under the - * GNU GPL v2. - * - * Oct 12, 2000 Matt Domsch - * Same crc32 function was used in 5 other places in the kernel. - * I made one version, and deleted the others. - * There are various incantations of crc32(). Some use a seed of 0 or ~0. - * Some xor at the end with ~0. The generic crc32() function takes - * seed as an argument, and doesn't xor at the end. Then individual - * users can do whatever they need. - * drivers/net/smc9194.c uses seed ~0, doesn't xor with ~0. - * fs/jffs2 uses seed 0, doesn't xor with ~0. - * fs/partitions/efi.c uses seed ~0, xor's with ~0. - * - * This source code is licensed under the GNU General Public License, - * Version 2. See the file COPYING for more details. - */ -#include -#include -#include -#define __force -#define min(x, y) ((x) > (y) ? (y) : (x)) -#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask)) -#define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (__typeof__(x))(a) - 1) -#define ALIGN(x, a) __ALIGN_KERNEL((x), (a)) -#define PTR_ALIGN(p, a) ((__typeof__(p))ALIGN((unsigned long)(p), (a))) -#include "crc32c_defs.h" - -#include "ext2fs.h" -#ifdef WORDS_BIGENDIAN -#define __constant_cpu_to_le32(x) ___constant_swab32((x)) -#define __constant_cpu_to_be32(x) (x) -#define __be32_to_cpu(x) (x) -#define __cpu_to_be32(x) (x) -#define __cpu_to_le32(x) (ext2fs_cpu_to_le32((x))) -#define __le32_to_cpu(x) (ext2fs_le32_to_cpu((x))) -#else -#define __constant_cpu_to_le32(x) (x) -#define __constant_cpu_to_be32(x) ___constant_swab32((x)) -#define __be32_to_cpu(x) (ext2fs_be32_to_cpu((x))) -#define __cpu_to_be32(x) (ext2fs_cpu_to_be32((x))) -#define __cpu_to_le32(x) (x) -#define __le32_to_cpu(x) (x) -#endif - -#if CRC_LE_BITS > 8 -# define tole(x) (__force uint32_t) __constant_cpu_to_le32(x) -#else -# define tole(x) (x) -#endif - -#if CRC_BE_BITS > 8 -# define tobe(x) (__force uint32_t) __constant_cpu_to_be32(x) -#else -# define tobe(x) (x) -#endif - -#include "crc32c_table.h" - -#if CRC_LE_BITS == 32 -/* slice by 4 algorithm */ -static uint32_t crc32c_le_body(uint32_t crc, uint8_t const *buf, size_t len) -{ - const uint8_t *p8; - const uint32_t *p32; - size_t init_bytes; - size_t words; - size_t end_bytes; - size_t i; - uint32_t q; - uint8_t i0, i1, i2, i3; - - crc = (__force uint32_t) __cpu_to_le32(crc); - - /* unroll loop into 'init_bytes' odd bytes followed by - * 'words' aligned 4 byte words followed by - * 'end_bytes' odd bytes at the end */ - p8 = buf; - p32 = (uint32_t *)PTR_ALIGN(p8, 4); - init_bytes = min((uintptr_t)p32 - (uintptr_t)p8, len); - words = (len - init_bytes) >> 2; - end_bytes = (len - init_bytes) & 3; - - for (i = 0; i < init_bytes; i++) { -#ifndef WORDS_BIGENDIAN - i0 = *p8++ ^ crc; - crc = t0_le[i0] ^ (crc >> 8); -#else - i0 = *p8++ ^ (crc >> 24); - crc = t0_le[i0] ^ (crc << 8); -#endif - } - - /* using pre-increment below slightly faster */ - p32--; - - for (i = 0; i < words; i++) { -#ifndef WORDS_BIGENDIAN - q = *++p32 ^ crc; - i3 = q; - i2 = q >> 8; - i1 = q >> 16; - i0 = q >> 24; - crc = t3_le[i3] ^ t2_le[i2] ^ t1_le[i1] ^ t0_le[i0]; -#else - q = *++p32 ^ crc; - i3 = q >> 24; - i2 = q >> 16; - i1 = q >> 8; - i0 = q; - crc = t3_le[i3] ^ t2_le[i2] ^ t1_le[i1] ^ t0_le[i0]; -#endif - } - - p8 = (uint8_t *)(++p32); - - for (i = 0; i < end_bytes; i++) { -#ifndef WORDS_BIGENDIAN - i0 = *p8++ ^ crc; - crc = t0_le[i0] ^ (crc >> 8); -#else - i0 = *p8++ ^ (crc >> 24); - crc = t0_le[i0] ^ (crc << 8); -#endif - } - - return __le32_to_cpu((__force __le32)crc); -} -#endif - -#if CRC_BE_BITS == 32 -static uint32_t crc32c_be_body(uint32_t crc, uint8_t const *buf, size_t len) -{ - const uint8_t *p8; - const uint32_t *p32; - size_t init_bytes; - size_t words; - size_t end_bytes; - size_t i; - uint32_t q; - uint8_t i0, i1, i2, i3; - - crc = (__force uint32_t) __cpu_to_be32(crc); - - p8 = buf; - p32 = (uint32_t *)PTR_ALIGN(p8, 4); - init_bytes = min((uintptr_t)p32 - (uintptr_t)p8, len); - words = (len - init_bytes) >> 2; - end_bytes = (len - init_bytes) & 3; - - for (i = 0; i < init_bytes; i++) { -#ifndef WORDS_BIGENDIAN - i0 = *p8++ ^ crc; - crc = t0_be[i0] ^ (crc >> 8); -#else - i0 = *p8++ ^ (crc >> 24); - crc = t0_be[i0] ^ (crc << 8); -#endif - } - - p32--; - - for (i = 0; i < words; i++) { -#ifndef WORDS_BIGENDIAN - q = *++p32 ^ crc; - i3 = q; - i2 = q >> 8; - i1 = q >> 16; - i0 = q >> 24; - crc = t3_be[i3] ^ t2_be[i2] ^ t1_be[i1] ^ t0_be[i0]; -#else - q = *++p32 ^ crc; - i3 = q >> 24; - i2 = q >> 16; - i1 = q >> 8; - i0 = q; - crc = t3_be[i3] ^ t2_be[i2] ^ t1_be[i1] ^ t0_be[i0]; -#endif - } - - p8 = (uint8_t *)(++p32); - - for (i = 0; i < end_bytes; i++) { -#ifndef WORDS_BIGENDIAN - i0 = *p8++ ^ crc; - crc = t0_be[i0] ^ (crc >> 8); -#else - i0 = *p8++ ^ (crc >> 24); - crc = t0_be[i0] ^ (crc << 8); -#endif - } - - return __be32_to_cpu((__force __be32)crc); -} -#endif - -#if CRC_LE_BITS == 64 -/* slice by 8 algorithm */ -static uint32_t crc32c_le_body(uint32_t crc, uint8_t const *buf, size_t len) -{ - const uint8_t *p8; - const uint32_t *p32; - size_t init_bytes; - size_t words; - size_t end_bytes; - size_t i; - uint32_t q; - uint8_t i0, i1, i2, i3; - - crc = (__force uint32_t) __cpu_to_le32(crc); - - p8 = buf; - p32 = (const uint32_t *)PTR_ALIGN(p8, 8); - init_bytes = min((uintptr_t)p32 - (uintptr_t)p8, len); - words = (len - init_bytes) >> 3; - end_bytes = (len - init_bytes) & 7; - - for (i = 0; i < init_bytes; i++) { -#ifndef WORDS_BIGENDIAN - i0 = *p8++ ^ crc; - crc = t0_le[i0] ^ (crc >> 8); -#else - i0 = *p8++ ^ (crc >> 24); - crc = t0_le[i0] ^ (crc << 8); -#endif - } - - p32--; - - for (i = 0; i < words; i++) { -#ifndef WORDS_BIGENDIAN - q = *++p32 ^ crc; - i3 = q; - i2 = q >> 8; - i1 = q >> 16; - i0 = q >> 24; - crc = t7_le[i3] ^ t6_le[i2] ^ t5_le[i1] ^ t4_le[i0]; - - q = *++p32; - i3 = q; - i2 = q >> 8; - i1 = q >> 16; - i0 = q >> 24; - crc ^= t3_le[i3] ^ t2_le[i2] ^ t1_le[i1] ^ t0_le[i0]; -#else - q = *++p32 ^ crc; - i3 = q >> 24; - i2 = q >> 16; - i1 = q >> 8; - i0 = q; - crc = t7_le[i3] ^ t6_le[i2] ^ t5_le[i1] ^ t4_le[i0]; - - q = *++p32; - i3 = q >> 24; - i2 = q >> 16; - i1 = q >> 8; - i0 = q; - crc ^= t3_le[i3] ^ t2_le[i2] ^ t1_le[i1] ^ t0_le[i0]; -#endif - } - - p8 = (const uint8_t *)(++p32); - - for (i = 0; i < end_bytes; i++) { -#ifndef WORDS_BIGENDIAN - i0 = *p8++ ^ crc; - crc = t0_le[i0] ^ (crc >> 8); -#else - i0 = *p8++ ^ (crc >> 24); - crc = t0_le[i0] ^ (crc << 8); -#endif - } - - return __le32_to_cpu(crc); -} -#endif - -#if CRC_BE_BITS == 64 -static uint32_t crc32c_be_body(uint32_t crc, uint8_t const *buf, size_t len) -{ - const uint8_t *p8; - const uint32_t *p32; - size_t init_bytes; - size_t words; - size_t end_bytes; - size_t i; - uint32_t q; - uint8_t i0, i1, i2, i3; - - crc = (__force uint32_t) __cpu_to_be32(crc); - - p8 = buf; - p32 = (const uint32_t *)PTR_ALIGN(p8, 8); - init_bytes = min((uintptr_t)p32 - (uintptr_t)p8, len); - words = (len - init_bytes) >> 3; - end_bytes = (len - init_bytes) & 7; - - for (i = 0; i < init_bytes; i++) { -#ifndef WORDS_BIGENDIAN - i0 = *p8++ ^ crc; - crc = t0_be[i0] ^ (crc >> 8); -#else - i0 = *p8++ ^ (crc >> 24); - crc = t0_be[i0] ^ (crc << 8); -#endif - } - - p32--; - - for (i = 0; i < words; i++) { -#ifndef WORDS_BIGENDIAN - q = *++p32 ^ crc; - i3 = q; - i2 = q >> 8; - i1 = q >> 16; - i0 = q >> 24; - crc = t7_be[i3] ^ t6_be[i2] ^ t5_be[i1] ^ t4_be[i0]; - - q = *++p32; - i3 = q; - i2 = q >> 8; - i1 = q >> 16; - i0 = q >> 24; - crc ^= t3_be[i3] ^ t2_be[i2] ^ t1_be[i1] ^ t0_be[i0]; -#else - q = *++p32 ^ crc; - i3 = q >> 24; - i2 = q >> 16; - i1 = q >> 8; - i0 = q; - crc = t7_be[i3] ^ t6_be[i2] ^ t5_be[i1] ^ t4_be[i0]; - - q = *++p32; - i3 = q >> 24; - i2 = q >> 16; - i1 = q >> 8; - i0 = q; - crc ^= t3_be[i3] ^ t2_be[i2] ^ t1_be[i1] ^ t0_be[i0]; -#endif - } - - p8 = (const uint8_t *)(++p32); - - for (i = 0; i < end_bytes; i++) { -#ifndef WORDS_BIGENDIAN - i0 = *p8++ ^ crc; - crc = t0_be[i0] ^ (crc >> 8); -#else - i0 = *p8++ ^ (crc >> 24); - crc = t0_be[i0] ^ (crc << 8); -#endif - } - - return __be32_to_cpu(crc); -} -#endif - -/** - * crc32c_le() - Calculate bitwise little-endian CRC32c. - * @crc: seed value for computation. ~0 for ext4, sometimes 0 for - * other uses, or the previous crc32c value if computing incrementally. - * @p: pointer to buffer over which CRC is run - * @len: length of buffer @p - */ -uint32_t ext2fs_crc32c_le(uint32_t crc, unsigned char const *p, size_t len) -{ -#if CRC_LE_BITS == 1 - int i; - while (len--) { - crc ^= *p++; - for (i = 0; i < 8; i++) - crc = (crc >> 1) ^ ((crc & 1) ? CRCPOLY_LE : 0); - } -# elif CRC_LE_BITS == 2 - while (len--) { - crc ^= *p++; - crc = (crc >> 2) ^ t0_le[crc & 0x03]; - crc = (crc >> 2) ^ t0_le[crc & 0x03]; - crc = (crc >> 2) ^ t0_le[crc & 0x03]; - crc = (crc >> 2) ^ t0_le[crc & 0x03]; - } -# elif CRC_LE_BITS == 4 - while (len--) { - crc ^= *p++; - crc = (crc >> 4) ^ t0_le[crc & 0x0f]; - crc = (crc >> 4) ^ t0_le[crc & 0x0f]; - } -# elif CRC_LE_BITS == 8 - while (len--) { - crc ^= *p++; - crc = (crc >> 8) ^ t0_le[crc & 0xff]; - } -# else - crc = crc32c_le_body(crc, p, len); -# endif - return crc; -} - -/** - * crc32c_be() - Calculate bitwise big-endian CRC32c. - * @crc: seed value for computation. ~0 for ext4, sometimes 0 for - * other uses, or the previous crc32c value if computing incrementally. - * @p: pointer to buffer over which CRC is run - * @len: length of buffer @p - */ -uint32_t ext2fs_crc32c_be(uint32_t crc, unsigned char const *p, size_t len) -{ -#if CRC_BE_BITS == 1 - int i; - while (len--) { - crc ^= *p++ << 24; - for (i = 0; i < 8; i++) - crc = (crc << 1) ^ - ((crc & 0x80000000) ? CRCPOLY_BE : 0); - } -# elif CRC_BE_BITS == 2 - while (len--) { - crc ^= *p++ << 24; - crc = (crc << 2) ^ t0_be[crc >> 30]; - crc = (crc << 2) ^ t0_be[crc >> 30]; - crc = (crc << 2) ^ t0_be[crc >> 30]; - crc = (crc << 2) ^ t0_be[crc >> 30]; - } -# elif CRC_BE_BITS == 4 - while (len--) { - crc ^= *p++ << 24; - crc = (crc << 4) ^ t0_be[crc >> 28]; - crc = (crc << 4) ^ t0_be[crc >> 28]; - } -# elif CRC_BE_BITS == 8 - while (len--) { - crc ^= *p++ << 24; - crc = (crc << 8) ^ t0_be[crc >> 24]; - } -# else - crc = crc32c_be_body(crc, p, len); -# endif - return crc; -} - -#ifdef UNITTEST -static uint8_t test_buf[] = { - 0xd9, 0xd7, 0x6a, 0x13, 0x3a, 0xb1, 0x05, 0x48, - 0xda, 0xad, 0x14, 0xbd, 0x03, 0x3a, 0x58, 0x5e, - 0x6e, 0xd1, 0x56, 0xc9, 0x2e, 0xc4, 0xcb, 0x6b, - 0xe8, 0x77, 0x52, 0x37, 0x4e, 0x0f, 0x55, 0xd2, - 0x12, 0x65, 0x90, 0xc2, 0x41, 0x49, 0x81, 0x01, - 0xf5, 0x01, 0xeb, 0x2d, 0x78, 0x74, 0x23, 0x5d, - 0x84, 0x5c, 0x81, 0x92, 0x21, 0xe9, 0x8d, 0x1d, - 0x89, 0xf2, 0x4a, 0xac, 0xdd, 0xf9, 0xaf, 0xee, - 0x44, 0xe7, 0x6e, 0xed, 0xfb, 0xd8, 0x89, 0x0e, - 0x96, 0x62, 0xcd, 0xa4, 0x4b, 0xa9, 0xe5, 0x45, - 0xb1, 0x29, 0x9b, 0x0f, 0xfc, 0xbd, 0x83, 0xab, - 0xa8, 0x54, 0x96, 0x44, 0x2c, 0x7f, 0xbb, 0xe7, - 0x52, 0x29, 0x08, 0xee, 0x14, 0xc5, 0xc2, 0xec, - 0x5a, 0xeb, 0x40, 0x40, 0xea, 0xd1, 0x3d, 0x15, - 0x73, 0xaa, 0x8c, 0x73, 0xfc, 0xf2, 0x2b, 0x49, - 0x0b, 0x13, 0x96, 0xd9, 0x8e, 0x4b, 0xbc, 0xe0, - 0xf4, 0xd2, 0xe0, 0x2e, 0x7a, 0xf0, 0x5d, 0x1f, - 0xd2, 0x92, 0x97, 0xe0, 0xaa, 0x59, 0xab, 0xc9, - 0x5c, 0xa6, 0x51, 0x1a, 0xe3, 0xd6, 0x06, 0xb9, - 0xae, 0xb8, 0x76, 0x36, 0x79, 0x37, 0x52, 0xf6, - 0x34, 0xaf, 0x27, 0x19, 0xe1, 0xc0, 0x2b, 0xdd, - 0x01, 0x15, 0xcd, 0xce, 0x44, 0xf6, 0x4c, 0x18, - 0x92, 0x69, 0xbe, 0x8a, 0x76, 0x23, 0x52, 0x13, - 0x3f, 0xf9, 0xe0, 0xf5, 0x06, 0x28, 0x7c, 0xc7, - 0xf3, 0x42, 0x0f, 0xdd, 0x40, 0x33, 0xf7, 0x99, - 0xe2, 0xad, 0x26, 0xd9, 0x53, 0x10, 0x72, 0x0c, - 0x4e, 0x43, 0x4c, 0x61, 0xfe, 0xd9, 0xc1, 0x16, - 0xa1, 0x93, 0xca, 0x3c, 0x75, 0x7f, 0x07, 0x7a, - 0x65, 0xb3, 0x53, 0x2a, 0x52, 0x00, 0xa0, 0x62, - 0xe0, 0xa3, 0x1f, 0xad, 0xd7, 0xbb, 0xc0, 0x83, - 0x5d, 0x54, 0x87, 0x5f, 0xc8, 0x2f, 0xc8, 0xbf, - 0x69, 0x04, 0x91, 0xc8, 0xa6, 0x1d, 0x4d, 0x46, - 0x91, 0xfc, 0x26, 0xf4, 0x16, 0xd1, 0xa4, 0xbf, - 0x5c, 0xa2, 0x6c, 0xdd, 0xb4, 0x40, 0xf2, 0x2e, - 0xa2, 0xad, 0xf7, 0xf4, 0xa5, 0x8a, 0x3e, 0x23, - 0x64, 0x08, 0xc8, 0xa1, 0xa0, 0xf0, 0x5d, 0x70, - 0xd2, 0x77, 0xfd, 0xc8, 0x50, 0x83, 0x0f, 0xd6, - 0x2b, 0xe4, 0x1f, 0x52, 0x34, 0x33, 0x68, 0xfd, - 0x92, 0xbe, 0x9f, 0x97, 0x6b, 0x8d, 0x81, 0x91, - 0x0f, 0xef, 0x65, 0xc8, 0x0d, 0x15, 0x01, 0x77, - 0x58, 0xb2, 0xf4, 0x1b, 0x06, 0x7e, 0xf5, 0xca, - 0x15, 0x2e, 0x38, 0xd8, 0x81, 0x1c, 0x1c, 0xa0, - 0xb6, 0x13, 0x6a, 0x2b, 0x71, 0x34, 0x52, 0xd7, - 0x1d, 0xbd, 0x37, 0x59, 0xbc, 0x86, 0x25, 0x2b, - 0xa8, 0x93, 0xce, 0x1a, 0x03, 0x16, 0xfe, 0x01, - 0x57, 0x99, 0x24, 0x25, 0x2c, 0xb3, 0xab, 0x1e, - 0x2d, 0x65, 0x20, 0x89, 0x17, 0x02, 0x0e, 0x0a, - 0xf5, 0x1e, 0xc7, 0xff, 0x1f, 0x61, 0xa9, 0x54, - 0x18, 0xd4, 0xba, 0x50, 0x57, 0x02, 0xa1, 0xab, - 0x22, 0x2e, 0x07, 0xea, 0xa9, 0xa3, 0x83, 0x4f, - 0x27, 0xf5, 0xc5, 0xee, 0x3c, 0x3b, 0x10, 0xad, - 0x32, 0x2b, 0x1c, 0x03, 0xcb, 0xaf, 0x98, 0x83, - 0x54, 0xc3, 0x68, 0x63, 0xd4, 0xe0, 0x0e, 0x3c, - 0x1a, 0x4e, 0xc0, 0x81, 0xd0, 0xe8, 0x6a, 0x62, - 0x6b, 0x3e, 0x6f, 0xc4, 0xc6, 0x33, 0x4e, 0x26, - 0x21, 0xf5, 0x04, 0xdf, 0xfa, 0xce, 0x45, 0xaf, - 0xdc, 0x5e, 0x1b, 0xad, 0x93, 0xca, 0xf5, 0xcf, - 0xd7, 0xee, 0x0c, 0x5c, 0x5e, 0xb4, 0xf0, 0x92, - 0xd2, 0xf2, 0xf0, 0xa9, 0x1e, 0xab, 0x80, 0x68, - 0x46, 0xef, 0xcc, 0x26, 0x0c, 0x5c, 0xdd, 0x4e, - 0x83, 0xb8, 0xb9, 0x53, 0x6e, 0xf8, 0x93, 0x38, - 0x67, 0xa4, 0x41, 0x87, 0x72, 0xe7, 0x7e, 0x86, - 0xc9, 0x49, 0x00, 0x33, 0xb1, 0x38, 0x6c, 0x71, - 0xd7, 0x1d, 0x8e, 0x61, 0x01, 0xb6, 0x57, 0xa9, - 0xf1, 0xac, 0x15, 0xc2, 0x83, 0x77, 0xca, 0x64, - 0xca, 0x7b, 0x6c, 0xa1, 0x10, 0x1b, 0x13, 0xd0, - 0xd3, 0x9e, 0x9e, 0x10, 0x70, 0xc8, 0x1a, 0xbb, - 0x3f, 0x19, 0x86, 0xab, 0x01, 0x0e, 0xea, 0x34, - 0x22, 0xea, 0xe2, 0x15, 0xb7, 0xed, 0x21, 0x21, - 0x75, 0xa5, 0xe7, 0x08, 0xa1, 0x38, 0xe0, 0x91, - 0x05, 0x60, 0xea, 0xa7, 0x50, 0x27, 0x18, 0x07, - 0x9d, 0xe0, 0x18, 0x2b, 0xd4, 0x07, 0x59, 0x00, - 0xe6, 0x45, 0x18, 0x2a, 0x30, 0x6e, 0xf3, 0xb4, - 0xd0, 0xef, 0xa6, 0x5b, 0x71, 0xa2, 0x5a, 0x3b, - 0x89, 0x4c, 0xaf, 0x3f, 0xcb, 0x9f, 0x03, 0xfb, - 0x43, 0x7c, 0x6b, 0xd3, 0x6a, 0xea, 0xce, 0x4a, - 0x5f, 0x64, 0xb5, 0x62, 0xda, 0x5d, 0x27, 0xb7, - 0xb8, 0x11, 0xca, 0x33, 0x30, 0xec, 0x70, 0xf0, - 0x1b, 0x03, 0x50, 0xff, 0x5e, 0xa6, 0x08, 0xde, - 0x37, 0x70, 0xc0, 0x81, 0x55, 0x60, 0x17, 0xa1, - 0x85, 0xae, 0x26, 0x44, 0xe4, 0x67, 0x3c, 0x91, - 0xfd, 0xc4, 0x3d, 0x97, 0x72, 0x23, 0xf3, 0x3c, - 0x8f, 0xe0, 0xe2, 0xf2, 0x09, 0x96, 0x10, 0x67, - 0xb5, 0xfe, 0xff, 0x3d, 0x4a, 0xc8, 0x62, 0x11, - 0xa5, 0x98, 0xc1, 0x2d, 0x40, 0x82, 0x88, 0x8b, - 0xe5, 0xb0, 0x75, 0xbf, 0x2f, 0xa8, 0x6a, 0x55, - 0x49, 0x2e, 0x9c, 0x29, 0xd2, 0x7c, 0xbf, 0xf3, - 0xaa, 0x3a, 0x16, 0x4a, 0xa4, 0x15, 0xf3, 0x48, - 0xde, 0x38, 0x13, 0x44, 0x26, 0x02, 0xe6, 0xe9, - 0xa8, 0x24, 0x89, 0xb5, 0x43, 0x95, 0xe4, 0x4c, - 0xc3, 0xa0, 0xdf, 0xcc, 0x42, 0xf8, 0x8d, 0xb0, - 0x3b, 0xea, 0x10, 0xb7, 0xe1, 0x40, 0x54, 0xb9, - 0xa3, 0x2d, 0xfb, 0xb4, 0x91, 0xc0, 0x3e, 0x94, - 0xf1, 0xa1, 0x3c, 0xbe, 0xef, 0xb8, 0x70, 0x55, - 0x0a, 0x26, 0x93, 0xbf, 0xe6, 0x21, 0x92, 0x32, - 0x3c, 0x39, 0x27, 0x6a, 0x23, 0x48, 0x02, 0x35, - 0x3c, 0xd4, 0xcc, 0x04, 0xc0, 0x4e, 0xa7, 0x02, - 0x63, 0x37, 0xc2, 0xb8, 0x56, 0x1d, 0x57, 0x57, - 0x42, 0x04, 0x8d, 0xee, 0xcf, 0x8b, 0xc9, 0xc3, - 0xba, 0x3b, 0x15, 0xd7, 0xaf, 0xbf, 0x9e, 0xcd, - 0x44, 0xcf, 0xf0, 0x00, 0xb7, 0x3a, 0xfc, 0xa8, - 0x12, 0xab, 0x3a, 0x62, 0x01, 0x21, 0x46, 0xe9, - 0x1e, 0x48, 0x37, 0xfc, 0x13, 0x4d, 0xf6, 0x2a, - 0x72, 0x40, 0x75, 0x38, 0x71, 0xf2, 0x17, 0x20, - 0x2c, 0xdd, 0xc0, 0x49, 0xbc, 0x63, 0x33, 0xea, - 0x06, 0x75, 0x41, 0xe7, 0x5c, 0x1f, 0xfb, 0xf9, - 0x68, 0x83, 0xc2, 0x5a, 0x4a, 0x1e, 0x61, 0x08, - 0x57, 0xf3, 0x00, 0xba, 0x77, 0x92, 0x63, 0xa5, - 0xb7, 0xfe, 0x97, 0x22, 0xda, 0x5e, 0xd3, 0xaf, - 0xbc, 0x89, 0x0d, 0x4c, 0x37, 0xa9, 0x27, 0x4a, - 0x7f, 0xdb, 0x81, 0x39, 0x11, 0x86, 0x12, 0xf9, - 0x10, 0x50, 0xe4, 0xdb, 0x72, 0xf9, 0xae, 0x10, - 0x7c, 0xed, 0x50, 0x5c, 0x61, 0xeb, 0x42, 0x1e, - 0xa4, 0xf4, 0xf0, 0xfa, 0x45, 0x4d, 0x95, 0x2b, - 0xd4, 0x67, 0x4a, 0xe3, 0x8a, 0x15, 0x55, 0x92, - 0x77, 0x64, 0x8c, 0x51, 0x38, 0xf9, 0x26, 0x3e, - 0x68, 0xe2, 0xac, 0xbb, 0x64, 0x77, 0xe2, 0x82, - 0xa4, 0x42, 0x41, 0x38, 0xa0, 0xf0, 0xc9, 0xd8, - 0x6c, 0xe0, 0xef, 0x4c, 0xda, 0xb4, 0x92, 0xef, - 0x1b, 0xe3, 0x9b, 0xc1, 0x44, 0x3c, 0xb9, 0xb7, - 0x39, 0xac, 0x5c, 0x32, 0x39, 0xb4, 0x21, 0x85, - 0x93, 0xbc, 0xf2, 0x51, 0x43, 0xb7, 0xae, 0x1e, - 0x61, 0x9c, 0x38, 0x9c, 0xaa, 0xff, 0xde, 0xfc, - 0xbf, 0x85, 0xef, 0x17, 0x34, 0x36, 0x71, 0x5f, - 0x04, 0x16, 0xa6, 0x9e, 0xfd, 0x3a, 0x03, 0xd8, - 0xbf, 0x71, 0x70, 0x20, 0x8f, 0x7c, 0xfb, 0xff, - 0x61, 0xe0, 0xe2, 0x60, 0xa7, 0xb1, 0xc0, 0xe0, - 0xd9, 0x3f, 0xdc, 0x8d, 0x4a, 0xa4, 0x52, 0x61, - 0xaf, 0x9d, 0xdf, 0x8a, 0x0d, 0x41, 0xc0, 0x25, - 0x68, 0x12, 0x7b, 0xd5, 0xc7, 0xdb, 0x68, 0x70, - 0x2d, 0x7d, 0x95, 0x12, 0x03, 0x23, 0x0c, 0xe8, - 0x14, 0x41, 0x11, 0x28, 0xec, 0x9d, 0xd3, 0x28, - 0x77, 0x7a, 0x3c, 0x93, 0x8e, 0x5c, 0x7e, 0xb3, - 0x42, 0x9a, 0x18, 0x25, 0x93, 0xc8, 0xea, 0x43, - 0x1b, 0xbe, 0xd5, 0x27, 0xf1, 0xd4, 0xe0, 0x1e, - 0xce, 0xc7, 0xc7, 0x2c, 0x25, 0x35, 0x58, 0xb8, - 0x6c, 0xf3, 0xa2, 0xad, 0xe7, 0x58, 0x49, 0x47, - 0xf7, 0xca, 0xde, 0x8b, 0x81, 0xb7, 0x75, 0xf4, - 0x95, 0xa7, 0x5c, 0xc3, 0x2c, 0x0e, 0x1c, 0x52, - 0x9a, 0xc3, 0x2a, 0x00, 0x21, 0xa7, 0x51, 0x6b, - 0xf0, 0x05, 0x87, 0x8c, 0x42, 0x1b, 0xc3, 0x2e, - 0xa3, 0x76, 0x22, 0xd5, 0x7f, 0x56, 0x10, 0xef, - 0x98, 0x85, 0x65, 0x86, 0x71, 0x87, 0xd2, 0x8c, - 0xc0, 0x47, 0x20, 0xe8, 0xb5, 0x1c, 0xe3, 0xdd, - 0x3c, 0x5c, 0x03, 0xbb, 0x0e, 0x97, 0x3b, 0xe1, - 0x56, 0x9a, 0xd5, 0x0a, 0x63, 0xd5, 0x33, 0xaf, - 0x36, 0xca, 0xcf, 0x8f, 0x00, 0x28, 0xa3, 0x45, - 0xb8, 0xcd, 0xde, 0x73, 0xd4, 0xfa, 0x2d, 0x6f, - 0xdb, 0x93, 0xaa, 0xdd, 0x7f, 0xd2, 0x22, 0x9c, - 0x96, 0x48, 0x1e, 0xa8, 0x63, 0xbe, 0xbc, 0x0d, - 0x14, 0x3c, 0x2e, 0x11, 0x1f, 0xd2, 0xf4, 0x57, - 0xb3, 0x47, 0xf8, 0xa6, 0x1b, 0xc3, 0xa7, 0x95, - 0x2d, 0xd4, 0xca, 0xb8, 0x0d, 0xfb, 0x06, 0x85, - 0xda, 0x63, 0xf0, 0x3e, 0x9d, 0x5e, 0xee, 0xce, - 0xed, 0x74, 0x1d, 0x2c, 0x97, 0x3f, 0x71, 0x95, - 0x12, 0x03, 0xc5, 0x92, 0x46, 0x84, 0x1b, 0x07, - 0xe6, 0xb4, 0x1d, 0x3a, 0xf1, 0x89, 0x90, 0x50, - 0x10, 0x29, 0x34, 0xc0, 0x90, 0xbe, 0x4a, 0xa9, - 0x0d, 0xb0, 0x7b, 0xfb, 0x35, 0xee, 0x4e, 0x34, - 0xec, 0x5a, 0x58, 0xbc, 0xb8, 0xda, 0x38, 0x88, - 0x8c, 0x74, 0x1e, 0xc9, 0xab, 0x78, 0x2e, 0x2a, - 0x17, 0x8a, 0x43, 0x3d, 0xa1, 0x2a, 0x41, 0xb5, - 0xd6, 0xe8, 0x5b, 0xc5, 0x4a, 0x1c, 0x3c, 0x9f, - 0x8d, 0x3a, 0x69, 0x88, 0xf8, 0x80, 0xd2, 0x11, - 0xfc, 0x7e, 0x80, 0x8e, 0x7f, 0x85, 0x64, 0x9c, - 0x46, 0x58, 0xc8, 0x48, 0x98, 0x4b, 0xf5, 0x73, - 0x3f, 0x49, 0xce, 0x53, 0x2c, 0xd5, 0xfc, 0x33, - 0xf1, 0x6f, 0xd8, 0xe9, 0x2e, 0x70, 0x2e, 0xdc, - 0xe5, 0x43, 0x80, 0x38, 0xf2, 0x87, 0xed, 0x85, - 0xe4, 0x3e, 0x45, 0x14, 0x20, 0xcf, 0xa0, 0x61, - 0x4f, 0xe8, 0xd7, 0x5b, 0xb3, 0x0d, 0x0e, 0x4e, - 0x4d, 0xce, 0xbe, 0xba, 0xaa, 0x90, 0x09, 0xcb, - 0x4b, 0x5d, 0x08, 0xff, 0x52, 0xd5, 0x23, 0xbc, - 0xad, 0x8d, 0xd3, 0x06, 0x4a, 0xa0, 0x51, 0x56, - 0xa7, 0xd8, 0x33, 0xab, 0xbc, 0xd0, 0xdf, 0x92, - 0x87, 0x20, 0x2d, 0x7b, 0x5e, 0xfa, 0x30, 0xa7, - 0x06, 0x06, 0xe5, 0x4f, 0x2c, 0xb5, 0x61, 0xd7, - 0x54, 0xd3, 0xdf, 0xd0, 0x0a, 0xb0, 0x06, 0xce, - 0xf6, 0x86, 0xb7, 0x8e, 0xaa, 0x7b, 0x78, 0xd5, - 0xb9, 0xeb, 0x07, 0xac, 0x5f, 0xc5, 0xd2, 0x8c, - 0x40, 0xe0, 0x7f, 0x98, 0xd4, 0xe5, 0x4b, 0xca, - 0xfb, 0x47, 0xef, 0xef, 0xb9, 0x4d, 0x6d, 0x8f, - 0x82, 0x68, 0x74, 0x84, 0xe0, 0x0a, 0x93, 0x0f, - 0xb2, 0x01, 0xa9, 0x9f, 0x68, 0x6a, 0xe8, 0xf7, - 0xfb, 0x0b, 0xde, 0x17, 0xe0, 0x30, 0x38, 0x51, - 0xbc, 0x07, 0xb8, 0x2c, 0x91, 0x0f, 0xc1, 0x0e, - 0xa6, 0xf9, 0xf0, 0xd5, 0x48, 0x76, 0x8a, 0xde, - 0x74, 0xe3, 0x30, 0x65, 0x56, 0xb3, 0x5c, 0xe2, - 0x89, 0x8d, 0xda, 0x80, 0xad, 0x0f, 0x22, 0xfb, - 0x24, 0x1d, 0x16, 0xdd, 0x34, 0x4b, 0x90, 0x58, - 0x4e, 0x0c, 0x13, 0x28, 0xcf, 0x1d, 0xa4, 0xaa, - 0xb7, 0xf3, 0xb1, 0x66, 0xad, 0x3b, 0xcf, 0x79, - 0x12, 0x04, 0xd7, 0x79, 0xd9, 0x5f, 0xdf, 0x89, - 0xb2, 0x5b, 0xa7, 0x9a, 0x26, 0x1e, 0x67, 0x46, - 0x7c, 0x66, 0x95, 0x67, 0xe6, 0x45, 0x8b, 0x1f, - 0x65, 0x79, 0x9f, 0x6d, 0x11, 0x81, 0x17, 0x0d, - 0x11, 0xb0, 0x5c, 0xb4, 0xc7, 0x27, 0x87, 0xab, - 0x5d, 0x0a, 0x18, 0xae, 0x4e, 0x06, 0xa3, 0x3d, - 0xc7, 0xb0, 0x22, 0xba, 0x03, 0xa4, 0x0f, 0xe5, - 0x1c, 0x72, 0x2a, 0x04, 0xce, 0x83, 0xe9, 0xf3, - 0xd7, 0xc9, 0x67, 0x6c, 0x1e, 0x6b, 0x3c, 0x9b, - 0x0b, 0x5e, 0x6a, 0xa6, 0x79, 0x0a, 0xf1, 0xbe, - 0xd7, 0xb4, 0x6f, 0x45, 0x1e, 0xfb, 0x78, 0x97, - 0xaf, 0x34, 0x76, 0x95, 0x52, 0xf7, 0x3d, 0x5d, - 0x07, 0x28, 0x57, 0x9c, 0x4a, 0x0f, 0xcf, 0x0b, - 0x1b, 0xc4, 0xc2, 0x72, 0xd7, 0x72, 0x38, 0x9b, - 0xea, 0xeb, 0xee, 0xae, 0x34, 0xc8, 0x01, 0xd7, - 0xa5, 0xe3, 0xce, 0x41, 0xad, 0x02, 0x60, 0x23, - 0x18, 0x36, 0xba, 0x17, 0xfa, 0xcf, 0xe4, 0xda, - 0xdc, 0xfc, 0x82, 0xdc, 0x7c, 0x11, 0xf4, 0xb8, - 0x52, 0x5d, 0xf7, 0x2f, 0xc8, 0xfe, 0x4a, 0xe6, - 0xb9, 0xaf, 0x4b, 0x17, 0x18, 0x91, 0xc2, 0xfe, - 0xd7, 0x3a, 0x77, 0x0c, 0xa0, 0x43, 0x9c, 0x6f, - 0x13, 0x06, 0xbe, 0x6e, 0xe0, 0x1a, 0x3c, 0xf3, - 0xf5, 0xcc, 0x78, 0xfb, 0x5d, 0xd5, 0xda, 0xb7, - 0x58, 0xea, 0x86, 0x42, 0x6b, 0x32, 0xff, 0xb2, - 0xe2, 0xee, 0x03, 0x1f, 0xf4, 0xef, 0xdb, 0x53, - 0x79, 0xd5, 0x4e, 0xaf, 0x60, 0x8e, 0x02, 0xc2, - 0xcc, 0x39, 0x97, 0x7b, 0xfd, 0xa1, 0xf8, 0x7a, - 0x26, 0xe8, 0x55, 0xd6, 0xa4, 0x8b, 0xa0, 0x1b, - 0x2d, 0x63, 0xaa, 0x73, 0x71, 0x6e, 0xbf, 0x8b, - 0x3b, 0xe3, 0x1b, 0x0d, 0xbb, 0x2e, 0x44, 0x09, - 0x64, 0xac, 0xc7, 0x9e, 0xb5, 0xc6, 0x77, 0xb0, - 0x79, 0xb3, 0xaa, 0xfc, 0x67, 0x57, 0x9a, 0x50, - 0x81, 0x37, 0x14, 0x7c, 0xd7, 0xa0, 0xd4, 0x6a, - 0x79, 0x84, 0x51, 0x0e, 0x95, 0x0a, 0x30, 0xa3, - 0x60, 0x55, 0x48, 0x05, 0x16, 0xae, 0x43, 0x90, - 0xdc, 0x8e, 0x09, 0xbe, 0x79, 0xf6, 0x90, 0x74, - 0xf8, 0x20, 0x96, 0x4d, 0xa7, 0xf5, 0x1a, 0x2b, - 0xc7, 0x15, 0x9d, 0x18, 0xf7, 0x94, 0x87, 0xf7, - 0xf4, 0xfb, 0x0d, 0x61, 0xb6, 0xd7, 0xbe, 0x10, - 0x8e, 0x47, 0x3c, 0x10, 0x44, 0x90, 0x52, 0x21, - 0x83, 0xc0, 0xf5, 0x99, 0xaa, 0xbc, 0xf6, 0x55, - 0xae, 0xf5, 0xb2, 0xa4, 0xcd, 0x4d, 0xb9, 0x38, - 0x6c, 0xbc, 0x80, 0xc3, 0xad, 0xf4, 0x46, 0x31, - 0x01, 0x58, 0x2d, 0x88, 0x57, 0xc3, 0x23, 0xd1, - 0x64, 0xc9, 0xa3, 0x21, 0x6b, 0x8b, 0x8a, 0x23, - 0x2c, 0x4f, 0xa9, 0xcd, 0x67, 0xfa, 0x77, 0xad, - 0xa3, 0x16, 0xa2, 0xe5, 0x19, 0x14, 0x70, 0x41, - 0x5b, 0xda, 0x14, 0xde, 0xe3, 0xe5, 0xc1, 0x15, - 0xb4, 0x77, 0xa4, 0x9b, 0xb8, 0xb1, 0x28, 0x51, - 0x30, 0xb4, 0xf1, 0xf3, 0xf8, 0x6d, 0xd0, 0xc3, - 0x8c, 0x4c, 0x76, 0xb0, 0x9a, 0xdf, 0xc8, 0xbe, - 0xf8, 0x4a, 0x61, 0x6e, 0x3e, 0xd6, 0x3c, 0xe8, - 0xde, 0x56, 0xa0, 0x9c, 0x25, 0xbe, 0xce, 0x93, - 0x1f, 0x88, 0xfb, 0x9a, 0x1a, 0xe2, 0xff, 0x88, - 0xad, 0x10, 0xcb, 0x6c, 0xd6, 0xe7, 0x39, 0x0b, - 0xe5, 0x1a, 0x06, 0x05, 0x64, 0x5b, 0x0a, 0xdf, - 0x22, 0x58, 0xd7, 0xfb, 0x88, 0x12, 0xdd, 0xb7, - 0x52, 0x3a, 0xc9, 0xbf, 0x49, 0xdf, 0x8c, 0x87, - 0x9f, 0x84, 0xb5, 0x0a, 0xf6, 0x00, 0x52, 0xae, - 0x67, 0x12, 0x1a, 0x8c, 0x71, 0x15, 0xf5, 0xa1, - 0x13, 0x39, 0xf0, 0x91, 0x7e, 0x88, 0x7c, 0xb3, - 0x95, 0x50, 0x02, 0xa6, 0x63, 0xb5, 0x64, 0xfb, - 0x90, 0x87, 0x61, 0xe2, 0x27, 0xaf, 0x11, 0x0c, - 0x73, 0x83, 0xef, 0xa9, 0x28, 0xfe, 0xc8, 0x85, - 0x1a, 0x3a, 0xde, 0xf2, 0xe5, 0x25, 0x64, 0x6d, - 0xaa, 0x41, 0x4c, 0x80, 0x2e, 0x84, 0xff, 0xc1, - 0xc0, 0x54, 0x0c, 0x29, 0x1b, 0xa3, 0x07, 0x7c, - 0x33, 0x4c, 0x10, 0xf6, 0x6f, 0x79, 0xdf, 0xd3, - 0xf0, 0x24, 0x57, 0xf1, 0x60, 0xe1, 0xf0, 0xbd, - 0xc4, 0x1f, 0xf4, 0x67, 0xd2, 0xd3, 0xcc, 0x6a, - 0x07, 0x72, 0x44, 0x16, 0x85, 0x46, 0xd0, 0x73, - 0x87, 0xa9, 0xc7, 0x2f, 0xd1, 0xf5, 0xec, 0xe3, - 0x28, 0xa3, 0x93, 0x4f, 0xd7, 0x76, 0xc1, 0x3c, - 0x0d, 0x13, 0x33, 0xcf, 0x5b, 0xbd, 0x6a, 0x52, - 0x4e, 0xee, 0xc8, 0x5e, 0xa1, 0x58, 0x4a, 0x08, - 0x81, 0xd9, 0x23, 0xcc, 0xfb, 0x1c, 0xb2, 0xd8, - 0xa3, 0xe4, 0x53, 0xfe, 0xf4, 0x4b, 0x48, 0xc1, - 0x20, 0xa4, 0x97, 0xf8, 0x38, 0xa3, 0x69, 0xc1, - 0x11, 0xf0, 0xa1, 0x3b, 0xa9, 0x9a, 0x12, 0x61, - 0xe8, 0x8d, 0x99, 0x44, 0x3f, 0x94, 0x72, 0x82, - 0x19, 0x96, 0x62, 0xb0, 0xa6, 0x64, 0x05, 0x19, - 0x8f, 0xd6, 0x5d, 0x05, 0xbf, 0x79, 0x9e, 0x9d, - 0xe4, 0x93, 0x4c, 0xad, 0x61, 0x8c, 0x18, 0xda, - 0xb6, 0x2e, 0xb3, 0xca, 0x14, 0x4d, 0x53, 0xa4, - 0x97, 0x27, 0x10, 0x56, 0xa2, 0x67, 0x5a, 0x5a, - 0x5e, 0x13, 0xc0, 0xdb, 0xa7, 0x9f, 0x45, 0x5b, - 0xeb, 0x1a, 0x14, 0x0c, 0x8c, 0x38, 0x5e, 0x77, - 0x9a, 0xec, 0x75, 0x68, 0x93, 0x65, 0x02, 0x9c, - 0xfb, 0x62, 0x60, 0x49, 0xdd, 0xb2, 0x2a, 0x67, - 0x86, 0xe3, 0x8a, 0x7d, 0x8c, 0x46, 0x78, 0x81, - 0x60, 0x69, 0xf2, 0x3f, 0x74, 0x11, 0x35, 0xff, - 0x77, 0xa3, 0x66, 0x20, 0xfc, 0x98, 0x4a, 0x35, - 0x7a, 0x52, 0xe4, 0x90, 0x13, 0x80, 0xb9, 0xa6, - 0x73, 0x7a, 0x7d, 0x66, 0x6e, 0x6b, 0xb6, 0x43, - 0x10, 0xd5, 0x91, 0x2b, 0x66, 0xdd, 0x89, 0x87, - 0xe3, 0x8c, 0x58, 0x53, 0x2f, 0x40, 0x74, 0x45, - 0x1b, 0x77, 0x7a, 0xa4, 0x44, 0x19, 0x78, 0xba, - 0x87, 0x10, 0x41, 0x31, 0x32, 0x5f, 0x87, 0x68, - 0xde, 0x43, 0x4a, 0xef, 0x33, 0xb3, 0x11, 0x83, - 0xa9, 0xc2, 0x6f, 0x8d, 0x34, 0xe2, 0x95, 0x84, - 0x3a, 0x4f, 0x6f, 0x8c, 0x31, 0x1d, 0xb6, 0xf5, - 0x95, 0x0d, 0x01, 0x11, 0x20, 0xdf, 0x72, 0xf3, - 0x3f, 0x9a, 0x33, 0xaa, 0xb1, 0x06, 0x6a, 0x63, - 0x47, 0x91, 0x01, 0xdf, 0xb3, 0x54, 0x36, 0xfd, - 0x06, 0x2d, 0xb8, 0x08, 0xe3, 0xd3, 0x65, 0xac, - 0x66, 0x03, 0xee, 0xa4, 0x63, 0xbd, 0xd4, 0xce, - 0xbd, 0x79, 0xa7, 0x48, 0x38, 0xc5, 0x7d, 0xb5, - 0x71, 0x9a, 0x3c, 0x11, 0x7c, 0x6c, 0xe2, 0x54, - 0x02, 0x5d, 0x42, 0xab, 0x25, 0x93, 0x66, 0x01, - 0x37, 0x78, 0x35, 0x4a, 0x8c, 0x19, 0x4d, 0x00, - 0x75, 0x4f, 0xcc, 0xc0, 0x26, 0x82, 0xc1, 0x35, - 0x8c, 0xc7, 0xc2, 0x59, 0x01, 0x3e, 0x98, 0x22, - 0x88, 0x9c, 0x90, 0x75, 0x05, 0x33, 0x07, 0xb9, - 0x39, 0x81, 0x38, 0x58, 0x10, 0x29, 0xcf, 0xc8, - 0x98, 0xb2, 0x03, 0xd7, 0x5b, 0xb3, 0x18, 0xba, - 0x34, 0x0c, 0x9f, 0xab, 0xd7, 0xed, 0x29, 0x82, - 0x41, 0xe0, 0x20, 0x97, 0x57, 0x92, 0xb2, 0xb8, - 0x10, 0x2d, 0x0b, 0xa2, 0xc5, 0x8f, 0x90, 0x6f, - 0xed, 0x12, 0x56, 0x25, 0xbe, 0xfd, 0x75, 0xf7, - 0xb6, 0xf8, 0x40, 0x67, 0x39, 0x11, 0xfa, 0x15, - 0xae, 0x6a, 0x54, 0x5f, 0x32, 0x2b, 0xf8, 0x48, - 0x55, 0xbe, 0x86, 0x2f, 0x69, 0x48, 0x5b, 0x5d, - 0x4d, 0xb7, 0x35, 0xaa, 0xb6, 0x91, 0x88, 0x19, - 0x96, 0x1c, 0x68, 0xf6, 0x85, 0x9e, 0xb3, 0xb2, - 0xa3, 0x32, 0xd4, 0x52, 0x70, 0xb7, 0x62, 0xe3, - 0x14, 0xb6, 0x78, 0x5f, 0x1b, 0x1d, 0x04, 0x9c, - 0x26, 0x0c, 0x33, 0x94, 0xb1, 0x97, 0x08, 0xdb, - 0x0b, 0x39, 0x29, 0xd4, 0xbc, 0x6d, 0xdf, 0x02, - 0xc6, 0x99, 0xab, 0x99, 0x32, 0xe5, 0xce, 0x51, - 0x4f, 0xae, 0xb8, 0x8b, 0xe0, 0xaf, 0x07, 0xc4, - 0xf9, 0x41, 0x7c, 0x59, 0xa0, 0xac, 0x74, 0x4d, - 0x7e, 0x43, 0x77, 0x9c, 0x06, 0x49, 0x79, 0x8a, - 0x14, 0x73, 0x93, 0xa8, 0x5b, 0x1b, 0x34, 0x29, - 0x78, 0x04, 0x2f, 0xd7, 0x1f, 0x13, 0x90, 0xe0, - 0xdd, 0x3b, 0x42, 0x6b, 0x79, 0x6e, 0x52, 0xc7, - 0x0f, 0x38, 0xda, 0x01, 0x2c, 0x8d, 0xe6, 0x94, - 0x5d, 0x59, 0x27, 0x1d, 0x10, 0x4e, 0x11, 0x36, - 0xfb, 0x53, 0x16, 0x05, 0x25, 0xf2, 0x64, 0xd8, - 0xf9, 0xcd, 0x5c, 0xfe, 0xb4, 0x18, 0x44, 0x80, - 0x10, 0xbc, 0x3d, 0xf3, 0x1d, 0x5a, 0xf0, 0xc1, - 0xc3, 0x55, 0xff, 0x41, 0x3e, 0xe3, 0xef, 0x44, - 0xb2, 0xc0, 0x01, 0x18, 0xa2, 0x49, 0x88, 0x78, - 0x0d, 0x4c, 0xc8, 0x73, 0xcf, 0x30, 0x85, 0x3a, - 0x88, 0x90, 0x01, 0xcf, 0x69, 0x53, 0xa3, 0x18, - 0x3f, 0xd6, 0xe7, 0x94, 0x14, 0xa7, 0xae, 0xcd, - 0x6f, 0x11, 0x72, 0xfe, 0x2b, 0xb0, 0x81, 0x53, - 0xea, 0x67, 0xd6, 0xe4, 0xca, 0x42, 0xa0, 0xf9, - 0xb1, 0xd4, 0xb5, 0x3b, 0xc9, 0xf0, 0x36, 0xc1, - 0x1c, 0xf4, 0xb1, 0xf6, 0x84, 0xd0, 0x86, 0x6c, - 0x76, 0x9a, 0x03, 0xc2, 0xb6, 0x2e, 0x9a, 0x46, - 0xf5, 0x5f, 0x2c, 0x38, 0xac, 0xad, 0x6f, 0x2e, - 0x7a, 0x18, 0x2d, 0x22, 0x95, 0x5e, 0x5e, 0xc9, - 0x7a, 0x0a, 0x56, 0xe1, 0xc7, 0x15, 0xfd, 0xbf, - 0xff, 0xf7, 0x7e, 0x85, 0x20, 0xa9, 0x8a, 0x9c, - 0xa9, 0x7d, 0xe8, 0xed, 0xfc, 0x7f, 0xbb, 0xf0, - 0x05, 0x3f, 0xce, 0x4f, 0x4c, 0xee, 0xa4, 0xa0, - 0xcc, 0x9c, 0x62, 0x1e, 0xd6, 0xd0, 0x30, 0x37, - 0xb8, 0x98, 0x56, 0x1d, 0xaa, 0xd6, 0x5e, 0x73, - 0x12, 0xe4, 0x88, 0x82, 0x48, 0x64, 0x06, 0xd7, - 0x2a, 0x31, 0x50, 0x7b, 0x10, 0x17, 0xb8, 0x4c, - 0x5a, 0x8d, 0xf1, 0xfc, 0xf1, 0x33, 0x3b, 0x98, - 0x42, 0x18, 0x5b, 0x35, 0x78, 0xca, 0x8e, 0x41, - 0x52, 0xae, 0x6d, 0xe1, 0xa2, 0x9d, 0x5b, 0xbd, - 0xf3, 0x5f, 0x49, 0xc1, 0x27, 0x06, 0xc1, 0xaf, - 0xc0, 0xa3, 0x9d, 0xf3, 0x1c, 0x8e, 0x90, 0x8a, - 0xb0, 0x69, 0xb0, 0xc5, 0x11, 0x0c, 0x91, 0x14, - 0x1f, 0x5e, 0x10, 0xe1, 0x1d, 0x14, 0x30, 0x54, - 0x1e, 0x17, 0x3d, 0x31, 0x7b, 0xbf, 0x2f, 0x9d, - 0x6d, 0x63, 0x32, 0xf0, 0x9d, 0x9f, 0x95, 0x3d, - 0x0b, 0xd2, 0x4d, 0x10, 0xe2, 0x3f, 0x67, 0x69, - 0x43, 0x9a, 0x4a, 0x2c, 0x54, 0x71, 0xa8, 0xa0, - 0x9e, 0x9f, 0x10, 0xaf, 0x1b, 0xce, 0x99, 0xe3, - 0x25, 0x32, 0x10, 0x54, 0x80, 0xfe, 0xda, 0x57, - 0xd0, 0xb2, 0x92, 0x7f, 0xbb, 0x5f, 0xe7, 0x4d, - 0x1b, 0x3d, 0x46, 0x4d, 0xe4, 0x4c, 0xd6, 0xaf, - 0x1a, 0x32, 0x12, 0x40, 0xb8, 0x84, 0x8e, 0xe4, - 0x80, 0xce, 0x7e, 0xc1, 0x13, 0x8b, 0xb0, 0xb7, - 0x6f, 0x24, 0xba, 0x85, 0x50, 0x83, 0xc3, 0xcf, - 0x19, 0xb3, 0xf0, 0xc7, 0xee, 0x68, 0xbe, 0x9e, - 0x6d, 0xb9, 0xfb, 0xd5, 0x29, 0xce, 0x82, 0xcd, - 0x69, 0x16, 0x68, 0x6b, 0x6a, 0xf4, 0x02, 0x32, - 0xce, 0x60, 0x37, 0x0c, 0xb9, 0x38, 0x92, 0x9c, - 0x42, 0xa9, 0x0b, 0x53, 0x96, 0xfe, 0x39, 0xc1, - 0x24, 0x65, 0x9b, 0xcd, 0xe7, 0x8d, 0x36, 0x07, - 0x9f, 0x1d, 0x35, 0x8e, 0xdc, 0x4c, 0xb5, 0x68, - 0xc5, 0xfd, 0x44, 0x19, 0xf2, 0x6c, 0x59, 0x1c, - 0xb1, 0x0b, 0x35, 0x48, 0x86, 0x1a, 0x05, 0x22, - 0x03, 0x0c, 0x0c, 0xa2, 0x92, 0x90, 0x35, 0xfb, - 0x37, 0x94, 0xc7, 0x15, 0x84, 0xae, 0xe8, 0x05, - 0xa0, 0xf7, 0x30, 0x11, 0x5c, 0xe4, 0x5d, 0x3e, - 0x12, 0x54, 0x80, 0x54, 0x6b, 0x09, 0x8c, 0xce, - 0x80, 0x5e, 0xa7, 0xc8, 0x6a, 0x0c, 0x56, 0xe1, - 0x18, 0x7d, 0xc9, 0x39, 0xc1, 0xef, 0xe3, 0x25, - 0xa0, 0x8b, 0x2f, 0x60, 0x3a, 0x43, 0x39, 0xa6, - 0x28, 0x28, 0x7b, 0x4c, 0x77, 0xd4, 0x49, 0x61, - 0x46, 0xe9, 0x1b, 0x45, 0xd6, 0xb1, 0x56, 0xe1, - 0x7d, 0x34, 0xcd, 0x06, 0xb6, 0x67, 0x8d, 0x7d, - 0x7a, 0xe2, 0xbe, 0x68, 0x35, 0xa6, 0x78, 0xe5, - 0x47, 0x48, 0xb7, 0xc7, 0xde, 0xcd, 0xc9, 0x05, - 0xb4, 0xe7, 0x50, 0x48, 0xe1, 0x4b, 0xfe, 0x76, - 0x77, 0xc6, 0xf7, 0x5f, 0xcb, 0xc2, 0xa8, 0xd7, - 0xd6, 0x8a, 0xe5, 0x49, 0xd9, 0xca, 0x45, 0xf4, - 0xda, 0xcd, 0x33, 0xd1, 0x59, 0x2d, 0x9e, 0xc1, - 0x5c, 0xe6, 0x01, 0x18, 0xb8, 0xf0, 0x5e, 0xb1, - 0x69, 0x95, 0x2f, 0x02, 0x2a, 0xe7, 0x4a, 0xd7, - 0xd1, 0xc3, 0xd5, 0x6f, 0x15, 0xc8, 0xdc, 0x29, - 0xde, 0xb9, 0x3f, 0x8b, 0xa6, 0xbc, 0xdd, 0x25, - 0x84, 0x35, 0x3c, 0x90, 0x2d, 0xc2, 0x1e, 0x98, - 0x8a, 0x50, 0x09, 0x77, 0x42, 0xe9, 0x35, 0x8a, - 0x7c, 0x97, 0xbf, 0xe8, 0xbf, 0x56, 0xd0, 0x8b, - 0x65, 0xd3, 0xaf, 0x1e, 0x05, 0x94, 0xfa, 0xac, - 0xa8, 0x2b, 0x28, 0xcb, 0x37, 0x3e, 0xe8, 0xbb, - 0x66, 0x3a, 0xed, 0xb2, 0x48, 0x10, 0x0f, 0x3a, - 0x5a, 0xc5, 0xdb, 0x26, 0x0e, 0xaa, 0x5e, 0x69, - 0x15, 0xd6, 0x81, 0xae, 0xbd, 0xe6, 0x03, 0xf1, - 0xf6, 0x37, 0xc8, 0xde, 0x70, 0x1f, 0x64, 0xb9, - 0x5e, 0xbf, 0x2e, 0x4f, 0xb1, 0xea, 0xa0, 0x17, - 0xe6, 0x7c, 0xf9, 0x2f, 0x1e, 0xd8, 0x58, 0xde, - 0xa7, 0xf0, 0x46, 0x52, 0x95, 0xdf, 0xa4, 0x96, - 0xd0, 0xc4, 0x97, 0x2b, 0x95, 0xcd, 0x5e, 0x40, - 0x23, 0x5c, 0x10, 0xee, 0xba, 0x72, 0x9b, 0xcf, - 0x0b, 0xe8, 0x18, 0x3a, 0x70, 0xd2, 0x5e, 0x07, - 0x68, 0x93, 0xef, 0x4a, 0x5b, 0x8d, 0x72, 0x41, - 0x4e, 0xea, 0x33, 0x6a, 0x0a, 0x5e, 0xfb, 0x02, - 0x3f, 0xd4, 0xed, 0x5b, 0xe0, 0x42, 0x84, 0xd4, - 0xaa, 0x85, 0xdc, 0x5b, 0x67, 0xee, 0x71, 0x67, - 0xba, 0x8e, 0xd2, 0xbe, 0x61, 0xdf, 0x5a, 0x26, - 0xb9, 0xf0, 0x77, 0x81, 0x53, 0x24, 0x16, 0xcb, - 0x8c, 0xb8, 0x06, 0x6e, 0x68, 0xda, 0xc8, 0x2d, - 0x17, 0x54, 0xdb, 0x46, 0xcb, 0xfd, 0x1f, 0x3d, - 0x94, 0x81, 0x09, 0x4b, 0xfa, 0xb1, 0x46, 0xd9, - 0x11, 0xa3, 0xb7, 0x31, 0x9c, 0xd2, 0x38, 0xd6, - 0xba, 0x3d, 0xa3, 0x74, 0xd8, 0xf1, 0x24, 0xe8, - 0x9c, 0xcb, 0x1d, 0xf9, 0x4a, 0xf7, 0xc8, 0x4b, - 0xfe, 0x97, 0x7c, 0xa1, 0x02, 0xeb, 0x40, 0xc3, - 0x89, 0x71, 0x01, 0xcd, 0x33, 0x2a, 0xc2, 0x82, - 0xce, 0x62, 0x8d, 0x53, 0x7c, 0xdf, 0xce, 0xd7, - 0xf5, 0xa8, 0x4f, 0xf2, 0xf2, 0x2e, 0xc1, 0xeb, - 0x97, 0x99, 0x37, 0x3c, 0x53, 0xa6, 0xb4, 0x46, - 0x05, 0x64, 0x92, 0x87, 0x08, 0x3c, 0x23, 0x4b, - 0x9d, 0x67, 0x18, 0xf9, 0xe2, 0x0b, 0x1c, 0x39, - 0xd3, 0x87, 0x70, 0xc0, 0xb9, 0x1e, 0x52, 0x0a, - 0x0f, 0x48, 0xe2, 0xe7, 0x51, 0x72, 0x94, 0xf7, - 0xa3, 0xdc, 0xe5, 0x66, 0x33, 0x39, 0x54, 0x06, - 0x55, 0x93, 0x30, 0xf9, 0x5e, 0x76, 0x8f, 0xe0, - 0x59, 0x4d, 0x0d, 0xa7, 0xf5, 0xbe, 0xdb, 0x20, - 0xad, 0x0d, 0x76, 0x88, 0x5f, 0x9c, 0x7c, 0x75, - 0x2f, 0x2a, 0x0b, 0x79, 0x6e, 0xd3, 0xe2, 0x66, - 0xf5, 0x4a, 0x2d, 0x87, 0x87, 0x49, 0x84, 0x17, - 0xa2, 0x62, 0x4c, 0xbb, 0xe4, 0x6e, 0x98, 0x10, - 0xc9, 0xfb, 0x8a, 0x04, 0x68, 0x8d, 0x22, 0x66, - 0xad, 0xea, 0x2a, 0xc9, 0x97, 0x2d, 0x3c, 0xbc, - 0xd0, 0x77, 0x5f, 0xe6, 0xb8, 0x7f, 0xe6, 0xf6, - 0x39, 0xbf, 0x56, 0x0e, 0x26, 0x6d, 0xc5, 0x3e, - 0x53, 0x19, 0xd6, 0xb4, 0x57, 0x36, 0xa3, 0xc6, - 0xd3, 0x3d, 0x66, 0x79, 0x30, 0x5c, 0x14, 0x0c, - 0x0f, 0x3e, 0x96, 0xae, 0x90, 0x97, 0xab, 0x0d, - 0x9f, 0xc3, 0xe7, 0x66, 0x3e, 0xe0, 0x31, 0x43, - 0x4b, 0x01, 0xb3, 0x0e, 0x9e, 0x8c, 0x82, 0x4a, - 0x8c, 0xc7, 0x79, 0x85, 0xdf, 0x75, 0x0d, 0xb4, - 0x2b, 0x03, 0x14, 0xef, 0x72, 0x58, 0xfd, 0x64, - 0xc8, 0xe3, 0x0d, 0x9a, 0x14, 0x6f, 0x76, 0xf9, - 0x46, 0xd1, 0xd2, 0x81, 0xb3, 0x16, 0x6e, 0xc7, - 0x76, 0x82, 0xce, 0xf4, 0xee, 0x33, 0x00, 0xe6, - 0x77, 0xc4, 0xad, 0x4f, 0x06, 0xa7, 0x48, 0x80, - 0x9e, 0x21, 0x66, 0xca, 0x75, 0x69, 0x57, 0xcb, - 0xf0, 0x67, 0x6a, 0xaa, 0x8f, 0x88, 0x14, 0xbd, - 0x65, 0x62, 0xe2, 0xad, 0xcc, 0x22, 0x88, 0x7b, - 0x94, 0xbd, 0x0e, 0xcd, 0xb6, 0x69, 0xa2, 0xcb, - 0x7d, 0x57, 0x5c, 0xb4, 0x92, 0x80, 0x13, 0x99, - 0x84, 0xf3, 0x79, 0x0a, 0x2d, 0x70, 0xa4, 0xe0, - 0xde, 0xc6, 0x32, 0xb0, 0x8a, 0x62, 0xb5, 0xcf, - 0xfa, 0x5e, 0x5a, 0x92, 0x32, 0x7d, 0x34, 0x07, - 0xb5, 0x52, 0x3a, 0xb5, 0x7d, 0x0f, 0xa1, 0xba, - 0x56, 0xd0, 0x07, 0x76, 0x11, 0xf2, 0xc3, 0x33, - 0x9d, 0xbd, 0x12, 0x35, 0x5e, 0xf7, 0x05, 0x88, - 0x76, 0x94, 0xa6, 0xbf, 0xed, 0xb8, 0xa4, 0xa2, - 0x0c, 0xbe, 0x0f, 0x6a, 0xaf, 0xf3, 0x1b, 0x33, - 0x4a, 0xb7, 0x68, 0x3f, 0xbe, 0x95, 0x13, 0x97, - 0x0f, 0x15, 0x17, 0x1b, 0x23, 0xaa, 0x08, 0x78, - 0xa6, 0x5b, 0x08, 0xa2, 0x9d, 0x03, 0xa8, 0xa7, - 0x39, 0xdc, 0xbc, 0x9a, 0x85, 0xf5, 0xe5, 0x55, - 0x59, 0x3c, 0xef, 0xf9, 0x3f, 0x22, 0x8e, 0xf8, - 0xd8, 0x3e, 0x02, 0x0b, 0xd8, 0x78, 0x4b, 0x15, - 0x7f, 0xaa, 0x2c, 0xff, 0xbe, 0x77, 0x33, 0xc7, - 0x6a, 0x12, 0xaa, 0xa4, 0xbe, 0xc0, 0x3b, 0xcb, - 0x13, 0x9d, 0x9c, 0x5a, 0x9f, 0x8a, 0x57, 0x36, - 0x4f, 0x02, 0x5a, 0xf8, 0x1d, 0x97, 0x77, 0x43, - 0xc8, 0xa5, 0xb7, 0x9b, 0x10, 0x98, 0xfd, 0x58, - 0xbf, 0x42, 0xf6, 0xbf, 0xff, 0x6c, 0x40, 0x18, - 0x18, 0xdf, 0xac, 0x57, 0x71, 0xea, 0xcc, 0x8e, - 0xfd, 0xfe, 0x10, 0xfb, 0xb9, 0xfe, 0xbc, 0x9a, - 0x9c, 0x27, 0xe4, 0x10, 0x15, 0x94, 0x41, 0xa1, - 0xcc, 0xf6, 0x25, 0x49, 0x4f, 0x96, 0xc1, 0x8c, - 0x9e, 0x3e, 0x18, 0x29, 0x49, 0x92, 0xe7, 0xfe, - 0x22, 0xff, 0xed, 0x02, 0x16, 0x90, 0xef, 0xac, - 0xec, 0x95, 0x1d, 0x5b, 0x94, 0x9c, 0xf6, 0x7c, - 0x1b, 0x5a, 0x9d, 0xb0, 0x9b, 0x05, 0x36, 0xbf, - 0xef, 0xec, 0x63, 0x35, 0x40, 0x24, 0x45, 0x40, - 0x30, 0x1a, 0x9b, 0x90, 0xc3, 0xc2, 0xf7, 0x37, - 0xfb, 0x08, 0x8e, 0x48, 0x19, 0x48, 0xed, 0xa8, - 0xa8, 0x04, 0x6f, 0xd0, 0x33, 0xe9, 0xb8, 0x8d, - 0xe7, 0x1e, 0x5c, 0x47, 0x74, 0xc0, 0x66, 0x30, - 0x4e, 0xa7, 0x86, 0x73, 0xf1, 0xe5, 0x78, 0xa6, - 0xe0, 0xc1, 0xda, 0x13, 0x72, 0x07, 0x85, 0x34, - 0x63, 0x95, 0x49, 0x30, 0x4b, 0x9d, 0x03, 0xf1, - 0x7a, 0x6b, 0x91, 0xa2, 0x85, 0x41, 0xf9, 0x4a, - 0xd6, 0xff, 0xff, 0x86, 0xf7, 0xf0, 0xce, 0xb9, - 0x07, 0xf1, 0x88, 0x04, 0x33, 0xaa, 0xeb, 0x54, - 0xb2, 0x1c, 0x8e, 0x2e, 0x7b, 0x04, 0xa8, 0xcc, - 0x2c, 0x7a, 0xb3, 0xad, 0x1a, 0x89, 0x38, 0x89, - 0xd7, 0x11, 0x3a, 0x8c, 0xcf, 0xe3, 0xc5, 0xba, - 0xb0, 0xcc, 0xc4, 0xe3, 0x33, 0xf3, 0x18, 0xba, - 0xec, 0x56, 0xd9, 0x1c, 0x40, 0x70, 0x0d, 0x4e, - 0x97, 0x01, 0x23, 0xf3, 0x5a, 0xdc, 0xbf, 0x68, - 0x93, 0xc2, 0x1d, 0x8a, 0x96, 0xb7, 0xac, 0x18, - 0x6f, 0xf7, 0x84, 0x71, 0x0d, 0x3d, 0xf8, 0xba, - 0xdf, 0xb6, 0x89, 0x1d, 0x78, 0x19, 0xf2, 0x59, - 0xe9, 0x15, 0x55, 0x29, 0x73, 0x50, 0x59, 0x14, - 0x02, 0x21, 0x16, 0x8f, 0x0f, 0xdf, 0xa5, 0xf0, -}; - -static struct crc_test { - uint32_t crc; /* random starting crc */ - uint32_t start; /* random offset in buf */ - uint32_t length; /* random length of test */ - uint32_t crc_le; /* expected crc32_le result */ - uint32_t crc_be; /* expected crc32_be result */ -} test[] = { - {0xffffffff, 0x00000000, 0x00001000, 0x13934bef, 0x14f3b75f}, - {0xfe7328ea, 0x00000763, 0x00000717, 0xed2c0d70, 0x57531214}, - {0x4c40684e, 0x00000721, 0x0000011e, 0xd7f46ccc, 0xedf12ec3}, - {0x6b487f90, 0x00000264, 0x000007bc, 0x759e9939, 0x9af8e387}, - {0x9f5810db, 0x00000afa, 0x00000255, 0x2685197f, 0x716de6ed}, - {0xb15c4755, 0x00000d5b, 0x000002a4, 0xd8fadcb5, 0xfc34ae3f}, - {0x06518253, 0x00000ffb, 0x00000004, 0xabee2433, 0xfa30ac9e}, - {0xd9e71c55, 0x00000a2a, 0x00000259, 0x96682af2, 0xe5907ea3}, - {0x0c1ae843, 0x00000ce4, 0x0000031b, 0x7b637c43, 0xe7f71b04}, - {0xec3cd517, 0x000002ff, 0x00000566, 0x5d719a77, 0xed16e045}, - {0x77828e95, 0x0000067f, 0x0000038f, 0x43ee5b6c, 0x35999927}, - {0xec87b4e3, 0x00000d1c, 0x000002e3, 0x2ddd2eee, 0x9452d3f8}, - {0x412158bb, 0x00000eee, 0x00000111, 0x67b38ba2, 0x177976d0}, - {0x2e52de3e, 0x00000c4a, 0x000003b5, 0xbcc5d61d, 0xf60fee71}, - {0x6ddaae8b, 0x00000d99, 0x00000266, 0x8b535544, 0x1dab8596}, - {0x049b6cb1, 0x000009c5, 0x000000b0, 0xfc22cabc, 0x47ebc954}, - {0x77d4b954, 0x0000028a, 0x000007fa, 0x71d00923, 0x905585ef}, - {0x5e192355, 0x00000ac1, 0x000001fa, 0xb966b81a, 0x33c12903}, - {0x7d80b71d, 0x00000213, 0x000001e0, 0x2bba371a, 0x5f4bd8d9}, - {0x01f6f1e4, 0x000001d6, 0x00000395, 0xb7e8a647, 0x2a7943a1}, - {0x1dfabb13, 0x00000e14, 0x000001eb, 0x53917fba, 0x8dee1e5d}, - {0xb00a4449, 0x00000bf6, 0x00000409, 0xedecb577, 0x628e087d}, - {0x7ecd3981, 0x0000083f, 0x0000016b, 0xefef62b9, 0xda4f94e6}, - {0xf8f330d2, 0x000004be, 0x00000757, 0x9357c9f3, 0x8e2d5c2f}, - {0x03c38af2, 0x00000d23, 0x000002dc, 0x360fa8c0, 0x6294c0d6}, - {0x687bb79b, 0x00000f3d, 0x000000c2, 0x448d3be2, 0x08f48f3a}, - {0x6710f550, 0x000009e9, 0x00000603, 0xdbfd1998, 0xc950ac29}, - {0x873171d1, 0x00000787, 0x000004d5, 0xab7f1b62, 0xe66896ab}, - {0x373b1314, 0x00000f0f, 0x000000f0, 0x184098ab, 0x4038e674}, - {0x90fad9cd, 0x00000ead, 0x00000152, 0x23ce52ff, 0x9eff3974}, - {0x19676fe7, 0x0000007d, 0x0000070d, 0xf8a76f1e, 0xfbc5c8a9}, - {0x89facd45, 0x000005f3, 0x00000473, 0x4331a006, 0xb8f0f0cc}, - {0x6f173747, 0x00000fc3, 0x0000003c, 0xb012f08e, 0x5126e378}, - {0x4b44a106, 0x0000075a, 0x0000008b, 0xf6f7ac38, 0xf9b1781b}, - {0xb620ad06, 0x00000774, 0x0000017e, 0xd34558e6, 0xb175edd3}, - {0x976f21e9, 0x000008d7, 0x0000034a, 0xe533aa3a, 0x1e4367b9}, - {0x687628c0, 0x000006c5, 0x0000061b, 0x3a840b15, 0xfb5989a0}, - {0xe24ac108, 0x00000cd0, 0x0000032f, 0x51010ae8, 0xcdd8f182}, - {0x361c44a3, 0x00000304, 0x00000719, 0xfd7bd481, 0x12de540f}, - {0xd93ff95e, 0x00000db7, 0x0000008e, 0xcfbbc304, 0x42eecd5a}, - {0xed752d12, 0x00000883, 0x00000091, 0x65a6c868, 0x9ebfa578}, - {0xb4ff4b54, 0x000003d3, 0x000001c1, 0xf82597e7, 0xa8ad2b19}, - {0x111b520f, 0x00000708, 0x000000eb, 0xc3e109f3, 0x323ace17}, - {0x62c806f2, 0x00000ba3, 0x0000045c, 0x874d3a72, 0xaf1a1360}, - {0x40d97470, 0x000005e1, 0x0000058d, 0x87a9684f, 0x524244a8}, - {0x4312179c, 0x00000056, 0x0000070e, 0x809a00f5, 0xf9e940b0}, - {0x13d5f84c, 0x00000a2d, 0x00000104, 0xf3d27578, 0x5d33341c}, - {0x1f302cb2, 0x00000151, 0x00000014, 0x1e162693, 0x53c3cfc3}, - {0xe491db24, 0x00000600, 0x000006f6, 0x7ff09615, 0xa300ecf7}, - {0xf9a98069, 0x000002ba, 0x000002ad, 0x01af7387, 0x31c0911e}, - {0xe9c477ad, 0x0000015f, 0x00000778, 0x6facf9a0, 0x1993b688}, - {0x353f32b2, 0x0000087c, 0x00000783, 0x6cc964ea, 0x418db561}, - {0x78e1b24f, 0x00000650, 0x000006a8, 0xb3bb7c27, 0xf2aad006}, - {0x61aa400e, 0x00000049, 0x00000254, 0xb8cd1681, 0x79150b15}, - {0xb84b10b0, 0x00000f73, 0x0000008c, 0x406a6450, 0x0c705222}, - {0x9fa99c9c, 0x00000a7c, 0x000004d7, 0xfb3d21b4, 0xe4e789df}, - {0x3fc9ebe3, 0x00000cd9, 0x000000d6, 0x43803f9c, 0x5a152be5}, - {0x529879cd, 0x000002f2, 0x00000595, 0x78b4c6a6, 0xf7236ec4}, - {0x3a933019, 0x00000516, 0x00000266, 0xdcb45436, 0x2c7935f5}, - {0x887b4977, 0x00000227, 0x0000038d, 0xc5f7c3d9, 0x0d6d7df6}, - {0x770745de, 0x000008c6, 0x00000739, 0xf69145e8, 0x47d5efc9}, - {0x28be3b47, 0x00000c46, 0x0000032b, 0x764c028f, 0x1eb70d64}, - {0x5013a050, 0x00000cf6, 0x00000309, 0xea8fe164, 0x186affa4}, - {0x2ec4c9ba, 0x000006e8, 0x0000078d, 0xa35557a9, 0xb41f49ec}, - {0xa9f950c9, 0x00000d33, 0x000002cc, 0x41ea8618, 0xab8dfae3}, - {0x5b520229, 0x000007b2, 0x00000484, 0x44569f1f, 0x607a8052}, - {0xd8dcbbfc, 0x0000002f, 0x0000048c, 0xdb88ab8b, 0xf1c411f1}, - {0x25529792, 0x00000d1d, 0x000002e2, 0x20cda404, 0x32683a2d}, - {0x9f3f6d71, 0x00000238, 0x0000079a, 0x0720443e, 0x4b8ba2ff}, - {0x64121215, 0x000007ff, 0x0000038f, 0x6aacff2c, 0x3b84233b}, - {0xfb6cdde0, 0x00000ef8, 0x00000107, 0xbd43a0f1, 0x926624d0}, - {0x221c9d6f, 0x000007b6, 0x0000014f, 0xb67f834b, 0x2bdedda4}, - {0x030e1de4, 0x00000836, 0x000004b4, 0x0d67d26a, 0x75a73b73}, - {0xb56fa6cf, 0x00000c07, 0x000003f8, 0x60601ac1, 0x10a43f35}, - {0xb55c89f5, 0x0000098e, 0x000001d4, 0x2400efbe, 0x006e28eb}, - {0x5e90b6d5, 0x0000070b, 0x000003ea, 0x3bb5d6ea, 0xb175fa6b}, - {0x2a7045ae, 0x00000961, 0x00000633, 0xfca89e4b, 0x962cd6d2}, - {0x8b374ea9, 0x000006ba, 0x00000780, 0xbce036ed, 0x4dc8279b}, - {0x8bd90bc9, 0x00000562, 0x00000369, 0xcb26a24b, 0x50dee743}, - {0x5b1b1762, 0x000000fd, 0x0000051a, 0x33cdda07, 0xee75ff7b}, - {0xa4153555, 0x0000058f, 0x000005c7, 0xbe50eeca, 0xe73fffcc}, - {0x0be1f931, 0x00000651, 0x00000672, 0x95a25753, 0x4ad6270f}, - {0xb7e78618, 0x00000a7f, 0x000002bb, 0xe06bcc1c, 0x1a35ee59}, - {0x4a9bc41b, 0x00000e51, 0x000001ae, 0x709e8d2c, 0x75080ca8}, - {0xfc359d13, 0x00000440, 0x000002f8, 0x0a58451f, 0x6fa3cfbf}, - {0x5aa48619, 0x000006d1, 0x00000284, 0x928ead83, 0xbd600efc}, - {0xa609afa8, 0x0000053e, 0x00000272, 0xb048c141, 0x184f80bb}, - {0x3f108afb, 0x00000949, 0x00000150, 0x9a6bb5bc, 0x0ea02be1}, - {0x79bec2d3, 0x000008ed, 0x00000712, 0x32692d57, 0x2eb13289}, - {0x9429e067, 0x00000bc3, 0x0000043c, 0x5295ceff, 0x8a9014a7}, - {0xae58b96a, 0x0000082d, 0x000007d2, 0xc2a681ba, 0x6af94089}, - {0x95df24be, 0x00000985, 0x000004c1, 0x3a287765, 0x379fcb42}, - {0x5e94976f, 0x00000596, 0x000004ed, 0xff00c489, 0x991fc1f5}, - {0xf5e5f1de, 0x00000d31, 0x000002ce, 0x35f28e91, 0x543def1a}, - {0xa2c219cf, 0x00000a3c, 0x00000374, 0x707d21eb, 0xa6d28bc1}, - {0xf21b6ceb, 0x00000919, 0x00000135, 0x0847fb8b, 0x224468c2}, - {0xaa988728, 0x00000787, 0x00000771, 0x885aeaa4, 0x814db00b}, - {0xaa5dfaac, 0x000003e5, 0x0000051b, 0x52c48ab7, 0x725bef8a}, - {0x0a053968, 0x00000d2a, 0x000002d5, 0x7a90256d, 0xc53b9402}, - {0x1421dc20, 0x00000eef, 0x00000110, 0x97d6da24, 0x10846935}, - {0xb47c2166, 0x00000a6a, 0x00000209, 0xcfd6cc52, 0x46e2797e}, - {0x77dd1955, 0x000000de, 0x00000266, 0xba74bcaa, 0x4fa3fe9c}, - {0x68a03cc2, 0x0000082f, 0x000007b0, 0x752bd5d8, 0x4f760c63}, - {0x0226b0a3, 0x00000a5f, 0x000005a0, 0x82de4970, 0x8ee1310e}, - {0x637bf3b1, 0x00000d93, 0x0000026c, 0x5c7115cb, 0x9f6a0ced}, - {0x3b120edf, 0x00000c13, 0x000003ec, 0x80d7d20f, 0x241657d5}, - {0xe2456780, 0x000002eb, 0x00000641, 0xc0a5d289, 0x74df96b4}, - {0x9b2e7125, 0x00000c0c, 0x000003f3, 0xcc15f57e, 0x03e290bf}, - {0x153033ef, 0x00000787, 0x000006b6, 0x3cde443b, 0x7bf1d121}, - {0x18458b3f, 0x0000066c, 0x00000561, 0x9a2bd8c6, 0x9d564bef}, - {0x4ff9d4b9, 0x00000c8f, 0x0000033a, 0xd0ee6d6d, 0xee00aa0b}, - {0xdf84b5d9, 0x00000802, 0x0000029a, 0xdab0d74a, 0xd0cb63dc}, - {0x81ee15df, 0x000003ce, 0x00000725, 0x9942e2de, 0xe48fb26b}, - {0x5c768e04, 0x00000afd, 0x00000160, 0x36110831, 0x8dc74483}, - {0xe5e18094, 0x00000b4b, 0x000000a0, 0xffa3e4a7, 0xc0145e1b}, - {0xed7263b6, 0x00000d0d, 0x000002f2, 0xb0006a35, 0x5468ae3a}, - {0x5bfde7d7, 0x000006fb, 0x00000554, 0xa4193b76, 0xb73d34b2}, - {0x67f4a743, 0x00000b85, 0x0000047a, 0xf05c8d8f, 0x4f843e49}, - {0xf13bdf22, 0x00000ff7, 0x00000008, 0x816351eb, 0x41f537f6}, - {0x08ecc608, 0x00000d5d, 0x00000098, 0x90492772, 0xf5172204}, - {0x296f52ba, 0x000004f9, 0x00000788, 0x5e5a4896, 0xe01d5b46}, - {0xbe4624c2, 0x00000427, 0x000004ef, 0xcd267b94, 0x7b9069f4}, - {0x906f7c7c, 0x00000a05, 0x0000003f, 0x03fcfc33, 0x7b6ff563}, - {0x8f7b323e, 0x00000458, 0x000004c7, 0xcd4969c8, 0xd4c22ada}, - {0x88d6593d, 0x00000597, 0x000005b5, 0xf199cd3b, 0x5c3e8ca2}, - {0x978a7768, 0x00000268, 0x000001d3, 0xb28c95bd, 0x49a2cc67}, - {0x857a621e, 0x000007a7, 0x000003a8, 0xf4bf84ab, 0xde26f369}, - {0xb0e121ef, 0x000005be, 0x00000644, 0x28747c14, 0x61d4dc6b}, - {0, 0, 0, 0, 0}, -}; - -static int test_crc32c(void) -{ - struct crc_test *t = test; - int failures = 0; - - while (t->length) { - uint32_t be, le; - le = ext2fs_crc32c_le(t->crc, test_buf + t->start, t->length); - be = ext2fs_crc32c_be(t->crc, test_buf + t->start, t->length); - if (le != t->crc_le) { - printf("Test %d LE fails, %x != %x\n", - (int) (t - test), le, t->crc_le); - failures++; - } - if (be != t->crc_be) { - printf("Test %d BE fails, %x != %x\n", - (int) (t - test), be, t->crc_be); - failures++; - } - t++; - } - - return failures; -} - -int main(int argc, char *argv[]) -{ - int ret; - - ret = test_crc32c(); - if (!ret) - printf("No failures.\n"); - - return ret; -} -#endif /* UNITTEST */ diff --git a/lib/ext2fs/crc32c_defs.h b/lib/ext2fs/crc32c_defs.h deleted file mode 100644 index 023f2c01..00000000 --- a/lib/ext2fs/crc32c_defs.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * This is the CRC32c polynomial, as outlined by Castagnoli. - * x^32+x^28+x^27+x^26+x^25+x^23+x^22+x^20+x^19+x^18+x^14+x^13+x^11+x^10+x^9+ - * x^8+x^6+x^0 - */ -#define CRCPOLY_LE 0x82F63B78 -#define CRCPOLY_BE 0x1EDC6F41 - -/* How many bits at a time to use. Valid values are 1, 2, 4, 8, 32 and 64. */ -/* For less performance-sensitive, use 4 */ -#ifndef CRC_LE_BITS -# define CRC_LE_BITS 64 -#endif -#ifndef CRC_BE_BITS -# define CRC_BE_BITS 64 -#endif - -/* - * Little-endian CRC computation. Used with serial bit streams sent - * lsbit-first. Be sure to use cpu_to_le32() to append the computed CRC. - */ -#if CRC_LE_BITS > 64 || CRC_LE_BITS < 1 || CRC_LE_BITS == 16 || \ - CRC_LE_BITS & CRC_LE_BITS-1 -# error "CRC_LE_BITS must be one of {1, 2, 4, 8, 32, 64}" -#endif - -/* - * Big-endian CRC computation. Used with serial bit streams sent - * msbit-first. Be sure to use cpu_to_be32() to append the computed CRC. - */ -#if CRC_BE_BITS > 64 || CRC_BE_BITS < 1 || CRC_BE_BITS == 16 || \ - CRC_BE_BITS & CRC_BE_BITS-1 -# error "CRC_BE_BITS must be one of {1, 2, 4, 8, 32, 64}" -#endif - - -#define ___constant_swab32(x) \ - ((uint32_t)( \ - (((uint32_t)(x) & (uint32_t)0x000000ffUL) << 24) | \ - (((uint32_t)(x) & (uint32_t)0x0000ff00UL) << 8) | \ - (((uint32_t)(x) & (uint32_t)0x00ff0000UL) >> 8) | \ - (((uint32_t)(x) & (uint32_t)0xff000000UL) >> 24))) - - -#if (__GNUC__ >= 3) -#define likely(x) __builtin_expect(!!(x), 1) -#define unlikely(x) __builtin_expect(!!(x), 0) -#else -#define likely(x) (x) -#define unlikely(x) (x) -#endif diff --git a/lib/ext2fs/csum.c b/lib/ext2fs/csum.c index b588ead3..10f3423d 100644 --- a/lib/ext2fs/csum.c +++ b/lib/ext2fs/csum.c @@ -29,30 +29,22 @@ #define STATIC static #endif -__u16 ext2fs_group_desc_csum(ext2_filsys fs, dgrp_t group) +STATIC __u16 ext2fs_group_desc_csum(ext2_filsys fs, dgrp_t group) { - struct ext2_group_desc *desc = ext2fs_group_desc(fs, fs->group_desc, - group); - size_t size = EXT2_DESC_SIZE(fs->super); - size_t offset; - __u16 crc; + __u16 crc = 0; + struct ext2_group_desc *desc; + + desc = &fs->group_desc[group]; if (fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_GDT_CSUM) { - size_t offset = offsetof(struct ext2_group_desc, bg_checksum); + int offset = offsetof(struct ext2_group_desc, bg_checksum); #ifdef WORDS_BIGENDIAN - struct ext4_group_desc swabdesc; - size_t save_size = size; - const size_t ext4_bg_size = sizeof(struct ext4_group_desc); - struct ext2_group_desc *save_desc = desc; + struct ext2_group_desc swabdesc = *desc; /* Have to swab back to little-endian to do the checksum */ - if (size > ext4_bg_size) - size = ext4_bg_size; - memcpy(&swabdesc, desc, size); - ext2fs_swap_group_desc2(fs, - (struct ext2_group_desc *) &swabdesc); - desc = (struct ext2_group_desc *) &swabdesc; + ext2fs_swap_group_desc(&swabdesc); + desc = &swabdesc; group = ext2fs_swab32(group); #endif @@ -61,22 +53,12 @@ __u16 ext2fs_group_desc_csum(ext2_filsys fs, dgrp_t group) crc = ext2fs_crc16(crc, &group, sizeof(group)); crc = ext2fs_crc16(crc, desc, offset); offset += sizeof(desc->bg_checksum); /* skip checksum */ + assert(offset == sizeof(*desc)); /* for checksum of struct ext4_group_desc do the rest...*/ - if (offset < size) { + if (offset < fs->super->s_desc_size) { crc = ext2fs_crc16(crc, (char *)desc + offset, - size - offset); + fs->super->s_desc_size - offset); } -#ifdef WORDS_BIGENDIAN - /* - * If the size of the bg descriptor is greater than 64 - * bytes, which is the size of the traditional ext4 bg - * descriptor, checksum the rest of the descriptor here - */ - if (save_size > ext4_bg_size) - crc = ext2fs_crc16(crc, - (char *)save_desc + ext4_bg_size, - save_size - ext4_bg_size); -#endif } return crc; @@ -86,7 +68,7 @@ int ext2fs_group_desc_csum_verify(ext2_filsys fs, dgrp_t group) { if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM) && - (ext2fs_bg_checksum(fs, group) != + (fs->group_desc[group].bg_checksum != ext2fs_group_desc_csum(fs, group))) return 0; @@ -95,13 +77,10 @@ int ext2fs_group_desc_csum_verify(ext2_filsys fs, dgrp_t group) void ext2fs_group_desc_csum_set(ext2_filsys fs, dgrp_t group) { - if (!EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) - return; - - /* ext2fs_bg_checksum_set() sets the actual checksum field but - * does not calculate the checksum itself. */ - ext2fs_bg_checksum_set(fs, group, ext2fs_group_desc_csum(fs, group)); + if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, + EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) + fs->group_desc[group].bg_checksum = + ext2fs_group_desc_csum(fs, group); } static __u32 find_last_inode_ingrp(ext2fs_inode_bitmap bitmap, @@ -113,7 +92,7 @@ static __u32 find_last_inode_ingrp(ext2fs_inode_bitmap bitmap, end_ino = start_ino + inodes_per_grp - 1; for (i = end_ino; i >= start_ino; i--) { - if (ext2fs_fast_test_inode_bitmap2(bitmap, i)) + if (ext2fs_fast_test_inode_bitmap(bitmap, i)) return i - start_ino + 1; } return inodes_per_grp; @@ -124,6 +103,7 @@ static __u32 find_last_inode_ingrp(ext2fs_inode_bitmap bitmap, errcode_t ext2fs_set_gdt_csum(ext2_filsys fs) { struct ext2_super_block *sb = fs->super; + struct ext2_group_desc *bg = fs->group_desc; int dirty = 0; dgrp_t i; @@ -134,31 +114,27 @@ errcode_t ext2fs_set_gdt_csum(ext2_filsys fs) EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) return 0; - for (i = 0; i < fs->group_desc_count; i++) { - __u32 old_csum = ext2fs_bg_checksum(fs, i); - __u32 old_unused = ext2fs_bg_itable_unused(fs, i); - __u32 old_flags = ext2fs_bg_flags(fs, i); - __u32 old_free_inodes_count = ext2fs_bg_free_inodes_count(fs, i); + for (i = 0; i < fs->group_desc_count; i++, bg++) { + int old_csum = bg->bg_checksum; + int old_unused = bg->bg_itable_unused; + int old_flags = bg->bg_flags; - if (old_free_inodes_count == sb->s_inodes_per_group) { - ext2fs_bg_flags_set(fs, i, EXT2_BG_INODE_UNINIT); - ext2fs_bg_itable_unused_set(fs, i, sb->s_inodes_per_group); + if (bg->bg_free_inodes_count == sb->s_inodes_per_group) { + bg->bg_flags |= EXT2_BG_INODE_UNINIT; + bg->bg_itable_unused = sb->s_inodes_per_group; } else { - int unused = - sb->s_inodes_per_group - + bg->bg_flags &= ~EXT2_BG_INODE_UNINIT; + bg->bg_itable_unused = sb->s_inodes_per_group - find_last_inode_ingrp(fs->inode_map, - sb->s_inodes_per_group, i); - - ext2fs_bg_flags_clear(fs, i, EXT2_BG_INODE_UNINIT); - ext2fs_bg_itable_unused_set(fs, i, unused); + sb->s_inodes_per_group,i); } ext2fs_group_desc_csum_set(fs, i); - if (old_flags != ext2fs_bg_flags(fs, i)) + if (old_flags != bg->bg_flags) dirty = 1; - if (old_unused != ext2fs_bg_itable_unused(fs, i)) + if (old_unused != bg->bg_itable_unused) dirty = 1; - if (old_csum != ext2fs_bg_checksum(fs, i)) + if (old_csum != bg->bg_checksum) dirty = 1; } if (dirty) @@ -173,25 +149,15 @@ void print_csum(const char *msg, ext2_filsys fs, dgrp_t group) { __u16 crc1, crc2, crc3; dgrp_t swabgroup; - struct ext2_group_desc *desc = ext2fs_group_desc(fs, fs->group_desc, - group); - size_t size = EXT2_DESC_SIZE(fs->super); + struct ext2_group_desc *desc = &fs->group_desc[group]; struct ext2_super_block *sb = fs->super; - int offset = offsetof(struct ext2_group_desc, bg_checksum); -#ifdef WORDS_BIGENDIAN - struct ext4_group_desc swabdesc; - struct ext2_group_desc *save_desc = desc; - const size_t ext4_bg_size = sizeof(struct ext4_group_desc); - size_t save_size = size; -#endif #ifdef WORDS_BIGENDIAN + struct ext2_group_desc swabdesc = fs->group_desc[group]; + /* Have to swab back to little-endian to do the checksum */ - if (size > ext4_bg_size) - size = ext4_bg_size; - memcpy(&swabdesc, desc, size); - ext2fs_swap_group_desc2(fs, (struct ext2_group_desc *) &swabdesc); - desc = (struct ext2_group_desc *) &swabdesc; + ext2fs_swap_group_desc(&swabdesc); + desc = &swabdesc; swabgroup = ext2fs_swab32(group); #else @@ -200,19 +166,10 @@ void print_csum(const char *msg, ext2_filsys fs, dgrp_t group) crc1 = ext2fs_crc16(~0, sb->s_uuid, sizeof(fs->super->s_uuid)); crc2 = ext2fs_crc16(crc1, &swabgroup, sizeof(swabgroup)); - crc3 = ext2fs_crc16(crc2, desc, offset); - offset += sizeof(desc->bg_checksum); /* skip checksum */ - /* for checksum of struct ext4_group_desc do the rest...*/ - if (offset < size) - crc3 = ext2fs_crc16(crc3, (char *)desc + offset, size - offset); -#ifdef WORDS_BIGENDIAN - if (save_size > ext4_bg_size) - crc3 = ext2fs_crc16(crc3, (char *)save_desc + ext4_bg_size, - save_size - ext4_bg_size); -#endif - - printf("%s UUID %s=%04x, grp %u=%04x: %04x=%04x\n", - msg, e2p_uuid2str(sb->s_uuid), crc1, group, crc2, crc3, + crc3 = ext2fs_crc16(crc2, desc, + offsetof(struct ext2_group_desc, bg_checksum)); + printf("%s: UUID %s(%04x), grp %u(%04x): %04x=%04x\n", + msg, e2p_uuid2str(sb->s_uuid), crc1, group, crc2,crc3, ext2fs_group_desc_csum(fs, group)); } @@ -228,14 +185,9 @@ int main(int argc, char **argv) __u16 csum1, csum2, csum_known = 0xd3a4; memset(¶m, 0, sizeof(param)); - ext2fs_blocks_count_set(¶m, 32768); -#if 0 - param.s_feature_incompat |= EXT4_FEATURE_INCOMPAT_64BIT; - param.s_desc_size = 128; - csum_known = 0x5b6e; -#endif + param.s_blocks_count = 32768; - retval = ext2fs_initialize("test fs", EXT2_FLAG_64BITS, ¶m, + retval = ext2fs_initialize("test fs", 0, ¶m, test_io_manager, &fs); if (retval) { com_err("setup", retval, @@ -246,13 +198,13 @@ int main(int argc, char **argv) fs->super->s_feature_ro_compat = EXT4_FEATURE_RO_COMPAT_GDT_CSUM; for (i=0; i < fs->group_desc_count; i++) { - ext2fs_block_bitmap_loc_set(fs, i, 124); - ext2fs_inode_bitmap_loc_set(fs, i, 125); - ext2fs_inode_table_loc_set(fs, i, 126); - ext2fs_bg_free_blocks_count_set(fs, i, 31119); - ext2fs_bg_free_inodes_count_set(fs, i, 15701); - ext2fs_bg_used_dirs_count_set(fs, i, 2); - ext2fs_bg_flags_zap(fs, i); + fs->group_desc[i].bg_block_bitmap = 124; + fs->group_desc[i].bg_inode_bitmap = 125; + fs->group_desc[i].bg_inode_table = 126; + fs->group_desc[i].bg_free_blocks_count = 31119; + fs->group_desc[i].bg_free_inodes_count = 15701; + fs->group_desc[i].bg_used_dirs_count = 2; + fs->group_desc[i].bg_flags = 0; }; csum1 = ext2fs_group_desc_csum(fs, 0); @@ -274,7 +226,7 @@ int main(int argc, char **argv) printf("checksums for different groups shouldn't match\n"); exit(1); } - ext2fs_bg_checksum_set(fs, 0, csum1); + fs->group_desc[0].bg_checksum = csum1; csum2 = ext2fs_group_desc_csum(fs, 0); print_csum("csum_set", fs, 0); if (csum1 != csum2) { @@ -291,10 +243,9 @@ int main(int argc, char **argv) printf("checksums for different filesystems shouldn't match\n"); exit(1); } - csum1 = ext2fs_group_desc_csum(fs, 0); - ext2fs_bg_checksum_set(fs, 0, csum1); + csum1 = fs->group_desc[0].bg_checksum = ext2fs_group_desc_csum(fs, 0); print_csum("csum_new", fs, 0); - ext2fs_bg_free_blocks_count_set(fs, 0, 1); + fs->group_desc[0].bg_free_blocks_count = 1; csum2 = ext2fs_group_desc_csum(fs, 0); print_csum("csum_blk", fs, 0); if (csum1 == csum2) { diff --git a/lib/ext2fs/dblist.c b/lib/ext2fs/dblist.c index e5b685a1..84adcb2b 100644 --- a/lib/ext2fs/dblist.c +++ b/lib/ext2fs/dblist.c @@ -20,8 +20,6 @@ #include "ext2fsP.h" static EXT2_QSORT_TYPE dir_block_cmp(const void *a, const void *b); -static EXT2_QSORT_TYPE dir_block_cmp2(const void *a, const void *b); -static EXT2_QSORT_TYPE (*sortfunc32)(const void *a, const void *b); /* * Returns the number of directories in the filesystem as reported by @@ -38,10 +36,10 @@ errcode_t ext2fs_get_num_dirs(ext2_filsys fs, ext2_ino_t *ret_num_dirs) num_dirs = 0; max_dirs = fs->super->s_inodes_per_group; for (i = 0; i < fs->group_desc_count; i++) { - if (ext2fs_bg_used_dirs_count(fs, i) > max_dirs) + if (fs->group_desc[i].bg_used_dirs_count > max_dirs) num_dirs += max_dirs / 8; else - num_dirs += ext2fs_bg_used_dirs_count(fs, i); + num_dirs += fs->group_desc[i].bg_used_dirs_count; } if (num_dirs > fs->super->s_inodes_count) num_dirs = fs->super->s_inodes_count; @@ -55,14 +53,12 @@ errcode_t ext2fs_get_num_dirs(ext2_filsys fs, ext2_ino_t *ret_num_dirs) * helper function for making a new directory block list (for * initialize and copy). */ -static errcode_t make_dblist(ext2_filsys fs, ext2_ino_t size, - ext2_ino_t count, - struct ext2_db_entry2 *list, +static errcode_t make_dblist(ext2_filsys fs, ext2_ino_t size, ext2_ino_t count, + struct ext2_db_entry *list, ext2_dblist *ret_dblist) { - ext2_dblist dblist = NULL; + ext2_dblist dblist; errcode_t retval; - ext2_ino_t num_dirs; size_t len; EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); @@ -73,7 +69,7 @@ static errcode_t make_dblist(ext2_filsys fs, ext2_ino_t size, retval = ext2fs_get_mem(sizeof(struct ext2_struct_dblist), &dblist); if (retval) - goto cleanup; + return retval; memset(dblist, 0, sizeof(struct ext2_struct_dblist)); dblist->magic = EXT2_ET_MAGIC_DBLIST; @@ -81,14 +77,14 @@ static errcode_t make_dblist(ext2_filsys fs, ext2_ino_t size, if (size) dblist->size = size; else { - retval = ext2fs_get_num_dirs(fs, &num_dirs); + retval = ext2fs_get_num_dirs(fs, &dblist->size); if (retval) goto cleanup; - dblist->size = (num_dirs * 2) + 12; + dblist->size = (dblist->size * 2) + 12; } - len = (size_t) sizeof(struct ext2_db_entry2) * dblist->size; + len = (size_t) sizeof(struct ext2_db_entry) * dblist->size; dblist->count = count; - retval = ext2fs_get_array(dblist->size, sizeof(struct ext2_db_entry2), + retval = ext2fs_get_array(dblist->size, sizeof(struct ext2_db_entry), &dblist->list); if (retval) goto cleanup; @@ -156,27 +152,27 @@ errcode_t ext2fs_copy_dblist(ext2_dblist src, ext2_dblist *dest) /* * Add a directory block to the directory block list */ -errcode_t ext2fs_add_dir_block2(ext2_dblist dblist, ext2_ino_t ino, - blk64_t blk, e2_blkcnt_t blockcnt) +errcode_t ext2fs_add_dir_block(ext2_dblist dblist, ext2_ino_t ino, blk_t blk, + int blockcnt) { - struct ext2_db_entry2 *new_entry; + struct ext2_db_entry *new_entry; errcode_t retval; unsigned long old_size; EXT2_CHECK_MAGIC(dblist, EXT2_ET_MAGIC_DBLIST); if (dblist->count >= dblist->size) { - old_size = dblist->size * sizeof(struct ext2_db_entry2); + old_size = dblist->size * sizeof(struct ext2_db_entry); dblist->size += dblist->size > 200 ? dblist->size / 2 : 100; retval = ext2fs_resize_mem(old_size, (size_t) dblist->size * - sizeof(struct ext2_db_entry2), + sizeof(struct ext2_db_entry), &dblist->list); if (retval) { - dblist->size = old_size / sizeof(struct ext2_db_entry2); + dblist->size -= 100; return retval; } } - new_entry = dblist->list + ( dblist->count++); + new_entry = dblist->list + ( (int) dblist->count++); new_entry->blk = blk; new_entry->ino = ino; new_entry->blockcnt = blockcnt; @@ -189,8 +185,8 @@ errcode_t ext2fs_add_dir_block2(ext2_dblist dblist, ext2_ino_t ino, /* * Change the directory block to the directory block list */ -errcode_t ext2fs_set_dir_block2(ext2_dblist dblist, ext2_ino_t ino, - blk64_t blk, e2_blkcnt_t blockcnt) +errcode_t ext2fs_set_dir_block(ext2_dblist dblist, ext2_ino_t ino, blk_t blk, + int blockcnt) { dgrp_t i; @@ -207,47 +203,47 @@ errcode_t ext2fs_set_dir_block2(ext2_dblist dblist, ext2_ino_t ino, return EXT2_ET_DB_NOT_FOUND; } -void ext2fs_dblist_sort2(ext2_dblist dblist, - EXT2_QSORT_TYPE (*sortfunc)(const void *, - const void *)) +void ext2fs_dblist_sort(ext2_dblist dblist, + EXT2_QSORT_TYPE (*sortfunc)(const void *, + const void *)) { if (!sortfunc) - sortfunc = dir_block_cmp2; + sortfunc = dir_block_cmp; qsort(dblist->list, (size_t) dblist->count, - sizeof(struct ext2_db_entry2), sortfunc); + sizeof(struct ext2_db_entry), sortfunc); dblist->sorted = 1; } /* * This function iterates over the directory block list */ -errcode_t ext2fs_dblist_iterate2(ext2_dblist dblist, - int (*func)(ext2_filsys fs, - struct ext2_db_entry2 *db_info, - void *priv_data), - void *priv_data) +errcode_t ext2fs_dblist_iterate(ext2_dblist dblist, + int (*func)(ext2_filsys fs, + struct ext2_db_entry *db_info, + void *priv_data), + void *priv_data) { - unsigned long long i; + ext2_ino_t i; int ret; EXT2_CHECK_MAGIC(dblist, EXT2_ET_MAGIC_DBLIST); if (!dblist->sorted) - ext2fs_dblist_sort2(dblist, 0); + ext2fs_dblist_sort(dblist, 0); for (i=0; i < dblist->count; i++) { - ret = (*func)(dblist->fs, &dblist->list[i], priv_data); + ret = (*func)(dblist->fs, &dblist->list[(int)i], priv_data); if (ret & DBLIST_ABORT) return 0; } return 0; } -static EXT2_QSORT_TYPE dir_block_cmp2(const void *a, const void *b) +static EXT2_QSORT_TYPE dir_block_cmp(const void *a, const void *b) { - const struct ext2_db_entry2 *db_a = - (const struct ext2_db_entry2 *) a; - const struct ext2_db_entry2 *db_b = - (const struct ext2_db_entry2 *) b; + const struct ext2_db_entry *db_a = + (const struct ext2_db_entry *) a; + const struct ext2_db_entry *db_b = + (const struct ext2_db_entry *) b; if (db_a->blk != db_b->blk) return (int) (db_a->blk - db_b->blk); @@ -255,16 +251,16 @@ static EXT2_QSORT_TYPE dir_block_cmp2(const void *a, const void *b) if (db_a->ino != db_b->ino) return (int) (db_a->ino - db_b->ino); - return (db_a->blockcnt - db_b->blockcnt); + return (int) (db_a->blockcnt - db_b->blockcnt); } -blk64_t ext2fs_dblist_count2(ext2_dblist dblist) +int ext2fs_dblist_count(ext2_dblist dblist) { - return dblist->count; + return (int) dblist->count; } -errcode_t ext2fs_dblist_get_last2(ext2_dblist dblist, - struct ext2_db_entry2 **entry) +errcode_t ext2fs_dblist_get_last(ext2_dblist dblist, + struct ext2_db_entry **entry) { EXT2_CHECK_MAGIC(dblist, EXT2_ET_MAGIC_DBLIST); @@ -272,7 +268,7 @@ errcode_t ext2fs_dblist_get_last2(ext2_dblist dblist, return EXT2_ET_DBLIST_EMPTY; if (entry) - *entry = dblist->list + ( dblist->count-1); + *entry = dblist->list + ( (int) dblist->count-1); return 0; } @@ -286,130 +282,3 @@ errcode_t ext2fs_dblist_drop_last(ext2_dblist dblist) dblist->count--; return 0; } - -/* - * Legacy 32-bit versions - */ - -/* - * Add a directory block to the directory block list - */ -errcode_t ext2fs_add_dir_block(ext2_dblist dblist, ext2_ino_t ino, blk_t blk, - int blockcnt) -{ - return ext2fs_add_dir_block2(dblist, ino, blk, blockcnt); -} - -/* - * Change the directory block to the directory block list - */ -errcode_t ext2fs_set_dir_block(ext2_dblist dblist, ext2_ino_t ino, blk_t blk, - int blockcnt) -{ - return ext2fs_set_dir_block2(dblist, ino, blk, blockcnt); -} - -void ext2fs_dblist_sort(ext2_dblist dblist, - EXT2_QSORT_TYPE (*sortfunc)(const void *, - const void *)) -{ - if (sortfunc) { - sortfunc32 = sortfunc; - sortfunc = dir_block_cmp; - } else - sortfunc = dir_block_cmp2; - qsort(dblist->list, (size_t) dblist->count, - sizeof(struct ext2_db_entry2), sortfunc); - dblist->sorted = 1; -} - -/* - * This function iterates over the directory block list - */ -struct iterate_passthrough { - int (*func)(ext2_filsys fs, - struct ext2_db_entry *db_info, - void *priv_data); - void *priv_data; -}; - -static int passthrough_func(ext2_filsys fs, - struct ext2_db_entry2 *db_info, - void *priv_data) -{ - struct iterate_passthrough *p = priv_data; - struct ext2_db_entry db; - int ret; - - db.ino = db_info->ino; - db.blk = (blk_t) db_info->blk; - db.blockcnt = (int) db_info->blockcnt; - ret = (p->func)(fs, &db, p->priv_data); - db_info->ino = db.ino; - db_info->blk = db.blk; - db_info->blockcnt = db.blockcnt; - return ret; -} - -errcode_t ext2fs_dblist_iterate(ext2_dblist dblist, - int (*func)(ext2_filsys fs, - struct ext2_db_entry *db_info, - void *priv_data), - void *priv_data) -{ - struct iterate_passthrough pass; - - EXT2_CHECK_MAGIC(dblist, EXT2_ET_MAGIC_DBLIST); - pass.func = func; - pass.priv_data = priv_data; - - return ext2fs_dblist_iterate2(dblist, passthrough_func, &pass); -} - -static EXT2_QSORT_TYPE dir_block_cmp(const void *a, const void *b) -{ - const struct ext2_db_entry2 *db_a = - (const struct ext2_db_entry2 *) a; - const struct ext2_db_entry2 *db_b = - (const struct ext2_db_entry2 *) b; - - struct ext2_db_entry a32, b32; - - a32.ino = db_a->ino; a32.blk = db_a->blk; - a32.blockcnt = db_a->blockcnt; - - b32.ino = db_b->ino; b32.blk = db_b->blk; - b32.blockcnt = db_b->blockcnt; - - return sortfunc32(&a32, &b32); -} - -int ext2fs_dblist_count(ext2_dblist dblist) -{ - return dblist->count; -} - -errcode_t ext2fs_dblist_get_last(ext2_dblist dblist, - struct ext2_db_entry **entry) -{ - static struct ext2_db_entry ret_entry; - struct ext2_db_entry2 *last; - - EXT2_CHECK_MAGIC(dblist, EXT2_ET_MAGIC_DBLIST); - - if (dblist->count == 0) - return EXT2_ET_DBLIST_EMPTY; - - if (!entry) - return 0; - - last = dblist->list + dblist->count -1; - - ret_entry.ino = last->ino; - ret_entry.blk = last->blk; - ret_entry.blockcnt = last->blockcnt; - *entry = &ret_entry; - - return 0; -} - diff --git a/lib/ext2fs/dblist_dir.c b/lib/ext2fs/dblist_dir.c index 07ed8afa..8c38d315 100644 --- a/lib/ext2fs/dblist_dir.c +++ b/lib/ext2fs/dblist_dir.c @@ -19,7 +19,7 @@ #include "ext2_fs.h" #include "ext2fsP.h" -static int db_dir_proc(ext2_filsys fs, struct ext2_db_entry2 *db_info, +static int db_dir_proc(ext2_filsys fs, struct ext2_db_entry *db_info, void *priv_data); errcode_t ext2fs_dblist_dir_iterate(ext2_dblist dblist, @@ -52,7 +52,7 @@ errcode_t ext2fs_dblist_dir_iterate(ext2_dblist dblist, ctx.priv_data = priv_data; ctx.errcode = 0; - retval = ext2fs_dblist_iterate2(dblist, db_dir_proc, &ctx); + retval = ext2fs_dblist_iterate(dblist, db_dir_proc, &ctx); if (!block_buf) ext2fs_free_mem(&ctx.buf); @@ -61,7 +61,7 @@ errcode_t ext2fs_dblist_dir_iterate(ext2_dblist dblist, return ctx.errcode; } -static int db_dir_proc(ext2_filsys fs, struct ext2_db_entry2 *db_info, +static int db_dir_proc(ext2_filsys fs, struct ext2_db_entry *db_info, void *priv_data) { struct dir_context *ctx; diff --git a/lib/ext2fs/dir_iterate.c b/lib/ext2fs/dir_iterate.c index 8412218c..124862ea 100644 --- a/lib/ext2fs/dir_iterate.c +++ b/lib/ext2fs/dir_iterate.c @@ -122,7 +122,7 @@ errcode_t ext2fs_dir_iterate2(ext2_filsys fs, ctx.func = func; ctx.priv_data = priv_data; ctx.errcode = 0; - retval = ext2fs_block_iterate3(fs, dir, BLOCK_FLAG_READ_ONLY, 0, + retval = ext2fs_block_iterate2(fs, dir, BLOCK_FLAG_READ_ONLY, 0, ext2fs_process_dir_block, &ctx); if (!block_buf) ext2fs_free_mem(&ctx.buf); @@ -150,16 +150,16 @@ static int xlate_func(ext2_ino_t dir EXT2FS_ATTR((unused)), return (*xl->func)(dirent, offset, blocksize, buf, xl->real_private); } -errcode_t ext2fs_dir_iterate(ext2_filsys fs, - ext2_ino_t dir, - int flags, - char *block_buf, - int (*func)(struct ext2_dir_entry *dirent, - int offset, - int blocksize, - char *buf, - void *priv_data), - void *priv_data) +extern errcode_t ext2fs_dir_iterate(ext2_filsys fs, + ext2_ino_t dir, + int flags, + char *block_buf, + int (*func)(struct ext2_dir_entry *dirent, + int offset, + int blocksize, + char *buf, + void *priv_data), + void *priv_data) { struct xlate xl; @@ -176,9 +176,9 @@ errcode_t ext2fs_dir_iterate(ext2_filsys fs, * ext2fs_dir_iterate() and ext2fs_dblist_dir_iterate() */ int ext2fs_process_dir_block(ext2_filsys fs, - blk64_t *blocknr, + blk_t *blocknr, e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { @@ -197,7 +197,7 @@ int ext2fs_process_dir_block(ext2_filsys fs, entry = blockcnt ? DIRENT_OTHER_FILE : DIRENT_DOT_FILE; - ctx->errcode = ext2fs_read_dir_block3(fs, *blocknr, ctx->buf, 0); + ctx->errcode = ext2fs_read_dir_block(fs, *blocknr, ctx->buf); if (ctx->errcode) return BLOCK_ABORT; @@ -258,8 +258,7 @@ next: } if (changed) { - ctx->errcode = ext2fs_write_dir_block3(fs, *blocknr, ctx->buf, - 0); + ctx->errcode = ext2fs_write_dir_block(fs, *blocknr, ctx->buf); if (ctx->errcode) return BLOCK_ABORT; } diff --git a/lib/ext2fs/dirblock.c b/lib/ext2fs/dirblock.c index 73e1f0ab..29b4fcd2 100644 --- a/lib/ext2fs/dirblock.c +++ b/lib/ext2fs/dirblock.c @@ -19,7 +19,7 @@ #include "ext2_fs.h" #include "ext2fs.h" -errcode_t ext2fs_read_dir_block3(ext2_filsys fs, blk64_t block, +errcode_t ext2fs_read_dir_block2(ext2_filsys fs, blk_t block, void *buf, int flags EXT2FS_ATTR((unused))) { errcode_t retval; @@ -28,7 +28,7 @@ errcode_t ext2fs_read_dir_block3(ext2_filsys fs, blk64_t block, unsigned int name_len, rec_len; - retval = io_channel_read_blk64(fs->io, block, 1, buf); + retval = io_channel_read_blk(fs->io, block, 1, buf); if (retval) return retval; @@ -58,20 +58,14 @@ errcode_t ext2fs_read_dir_block3(ext2_filsys fs, blk64_t block, return retval; } -errcode_t ext2fs_read_dir_block2(ext2_filsys fs, blk_t block, - void *buf, int flags EXT2FS_ATTR((unused))) -{ - return ext2fs_read_dir_block3(fs, block, buf, flags); -} - errcode_t ext2fs_read_dir_block(ext2_filsys fs, blk_t block, void *buf) { - return ext2fs_read_dir_block3(fs, block, buf, 0); + return ext2fs_read_dir_block2(fs, block, buf, 0); } -errcode_t ext2fs_write_dir_block3(ext2_filsys fs, blk64_t block, +errcode_t ext2fs_write_dir_block2(ext2_filsys fs, blk_t block, void *inbuf, int flags EXT2FS_ATTR((unused))) { #ifdef WORDS_BIGENDIAN @@ -104,23 +98,18 @@ errcode_t ext2fs_write_dir_block3(ext2_filsys fs, blk64_t block, if (flags & EXT2_DIRBLOCK_V2_STRUCT) dirent->name_len = ext2fs_swab16(dirent->name_len); } - retval = io_channel_write_blk64(fs->io, block, 1, buf); + retval = io_channel_write_blk(fs->io, block, 1, buf); ext2fs_free_mem(&buf); return retval; #else - return io_channel_write_blk64(fs->io, block, 1, (char *) inbuf); + return io_channel_write_blk(fs->io, block, 1, (char *) inbuf); #endif } -errcode_t ext2fs_write_dir_block2(ext2_filsys fs, blk_t block, - void *inbuf, int flags EXT2FS_ATTR((unused))) -{ - return ext2fs_write_dir_block3(fs, block, inbuf, flags); -} errcode_t ext2fs_write_dir_block(ext2_filsys fs, blk_t block, void *inbuf) { - return ext2fs_write_dir_block3(fs, block, inbuf, 0); + return ext2fs_write_dir_block2(fs, block, inbuf, 0); } diff --git a/lib/ext2fs/dirhash.c b/lib/ext2fs/dirhash.c index 5477bfbc..a0697069 100644 --- a/lib/ext2fs/dirhash.c +++ b/lib/ext2fs/dirhash.c @@ -217,13 +217,11 @@ errcode_t ext2fs_dirhash(int version, const char *name, int len, switch (version) { case EXT2_HASH_LEGACY_UNSIGNED: unsigned_flag++; - /* fallthrough */ case EXT2_HASH_LEGACY: hash = dx_hack_hash(name, len, unsigned_flag); break; case EXT2_HASH_HALF_MD4_UNSIGNED: unsigned_flag++; - /* fallthrough */ case EXT2_HASH_HALF_MD4: p = name; while (len > 0) { @@ -237,7 +235,6 @@ errcode_t ext2fs_dirhash(int version, const char *name, int len, break; case EXT2_HASH_TEA_UNSIGNED: unsigned_flag++; - /* fallthrough */ case EXT2_HASH_TEA: p = name; while (len > 0) { diff --git a/lib/ext2fs/dupfs.c b/lib/ext2fs/dupfs.c index 13a48121..a9e2a976 100644 --- a/lib/ext2fs/dupfs.c +++ b/lib/ext2fs/dupfs.c @@ -39,9 +39,6 @@ errcode_t ext2fs_dup_handle(ext2_filsys src, ext2_filsys *dest) fs->block_map = 0; fs->badblocks = 0; fs->dblist = 0; - fs->mmp_buf = 0; - fs->mmp_cmp = 0; - fs->mmp_fd = -1; io_channel_bumpcount(fs->io); if (fs->icache) @@ -89,28 +86,6 @@ errcode_t ext2fs_dup_handle(ext2_filsys src, ext2_filsys *dest) if (retval) goto errout; } - if (src->mmp_buf) { - retval = ext2fs_get_mem(src->blocksize, &fs->mmp_buf); - if (retval) - goto errout; - memcpy(fs->mmp_buf, src->mmp_buf, src->blocksize); - } - if (src->mmp_fd >= 0) { - fs->mmp_fd = dup(src->mmp_fd); - if (fs->mmp_fd < 0) { - retval = EXT2_ET_MMP_OPEN_DIRECT; - goto errout; - } - } - if (src->mmp_cmp) { - int align = ext2fs_get_dio_alignment(src->mmp_fd); - - retval = ext2fs_get_memalign(src->blocksize, align, - &fs->mmp_cmp); - if (retval) - goto errout; - memcpy(fs->mmp_cmp, src->mmp_cmp, src->blocksize); - } *dest = fs; return 0; errout: diff --git a/lib/ext2fs/e2image.h b/lib/ext2fs/e2image.h index 53b20cc7..4de2c8d9 100644 --- a/lib/ext2fs/e2image.h +++ b/lib/ext2fs/e2image.h @@ -12,6 +12,7 @@ * %End-Header% */ + struct ext2_image_hdr { __u32 magic_number; /* This must be EXT2_ET_MAGIC_E2IMAGE */ char magic_descriptor[16]; /* "Ext2 Image 1.0", w/ null padding */ @@ -35,3 +36,16 @@ struct ext2_image_hdr { __u32 offset_blockmap; /* Byte offset of the inode bitmaps */ __u32 offset_reserved[8]; }; + + + + + + + + + + + + + diff --git a/lib/ext2fs/expanddir.c b/lib/ext2fs/expanddir.c index c89385be..a71c6c9d 100644 --- a/lib/ext2fs/expanddir.c +++ b/lib/ext2fs/expanddir.c @@ -21,39 +21,30 @@ struct expand_dir_struct { int done; int newblocks; - blk64_t goal; errcode_t err; }; static int expand_dir_proc(ext2_filsys fs, - blk64_t *blocknr, + blk_t *blocknr, e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { struct expand_dir_struct *es = (struct expand_dir_struct *) priv_data; - blk64_t new_blk; + blk_t new_blk; + static blk_t last_blk = 0; char *block; errcode_t retval; if (*blocknr) { - if (blockcnt >= 0) - es->goal = *blocknr; + last_blk = *blocknr; return 0; } - if (blockcnt && - (EXT2FS_B2C(fs, es->goal) == EXT2FS_B2C(fs, es->goal+1))) - new_blk = es->goal+1; - else { - es->goal &= ~EXT2FS_CLUSTER_MASK(fs); - retval = ext2fs_new_block2(fs, es->goal, 0, &new_blk); - if (retval) { - es->err = retval; - return BLOCK_ABORT; - } - es->newblocks++; - ext2fs_block_alloc_stats2(fs, new_blk, +1); + retval = ext2fs_new_block(fs, last_blk, 0, &new_blk); + if (retval) { + es->err = retval; + return BLOCK_ABORT; } if (blockcnt > 0) { retval = ext2fs_new_dir_block(fs, 0, 0, &block); @@ -70,16 +61,16 @@ static int expand_dir_proc(ext2_filsys fs, return BLOCK_ABORT; } memset(block, 0, fs->blocksize); - retval = io_channel_write_blk64(fs->io, new_blk, 1, block); + retval = io_channel_write_blk(fs->io, new_blk, 1, block); } - if (blockcnt >= 0) - es->goal = new_blk; if (retval) { es->err = retval; return BLOCK_ABORT; } ext2fs_free_mem(&block); *blocknr = new_blk; + ext2fs_block_alloc_stats(fs, new_blk, +1); + es->newblocks++; if (es->done) return (BLOCK_CHANGED | BLOCK_ABORT); @@ -107,10 +98,9 @@ errcode_t ext2fs_expand_dir(ext2_filsys fs, ext2_ino_t dir) es.done = 0; es.err = 0; - es.goal = 0; es.newblocks = 0; - retval = ext2fs_block_iterate3(fs, dir, BLOCK_FLAG_APPEND, + retval = ext2fs_block_iterate2(fs, dir, BLOCK_FLAG_APPEND, 0, expand_dir_proc, &es); if (es.err) diff --git a/lib/ext2fs/ext2_err.c b/lib/ext2fs/ext2_err.c index 3d6f0b4a..9008ac86 100644 --- a/lib/ext2fs/ext2_err.c +++ b/lib/ext2fs/ext2_err.c @@ -5,165 +5,144 @@ #include -#define N_(a) a - static const char * const text[] = { - N_( "EXT2FS Library version 1.42.9"), - N_( "Wrong magic number for ext2_filsys structure"), - N_( "Wrong magic number for badblocks_list structure"), - N_( "Wrong magic number for badblocks_iterate structure"), - N_( "Wrong magic number for inode_scan structure"), - N_( "Wrong magic number for io_channel structure"), - N_( "Wrong magic number for unix io_channel structure"), - N_( "Wrong magic number for io_manager structure"), - N_( "Wrong magic number for block_bitmap structure"), - N_( "Wrong magic number for inode_bitmap structure"), - N_( "Wrong magic number for generic_bitmap structure"), - N_( "Wrong magic number for test io_channel structure"), - N_( "Wrong magic number for directory block list structure"), - N_( "Wrong magic number for icount structure"), - N_( "Wrong magic number for Powerquest io_channel structure"), - N_( "Wrong magic number for ext2 file structure"), - N_( "Wrong magic number for Ext2 Image Header"), - N_( "Wrong magic number for inode io_channel structure"), - N_( "Wrong magic number for ext4 extent handle"), - N_( "Bad magic number in super-block"), - N_( "Filesystem revision too high"), - N_( "Attempt to write to filesystem opened read-only"), - N_( "Can't read group descriptors"), - N_( "Can't write group descriptors"), - N_( "Corrupt group descriptor: bad block for block bitmap"), - N_( "Corrupt group descriptor: bad block for inode bitmap"), - N_( "Corrupt group descriptor: bad block for inode table"), - N_( "Can't write an inode bitmap"), - N_( "Can't read an inode bitmap"), - N_( "Can't write a block bitmap"), - N_( "Can't read a block bitmap"), - N_( "Can't write an inode table"), - N_( "Can't read an inode table"), - N_( "Can't read next inode"), - N_( "Filesystem has unexpected block size"), - N_( "EXT2 directory corrupted"), - N_( "Attempt to read block from filesystem resulted in short read"), - N_( "Attempt to write block to filesystem resulted in short write"), - N_( "No free space in the directory"), - N_( "Inode bitmap not loaded"), - N_( "Block bitmap not loaded"), - N_( "Illegal inode number"), - N_( "Illegal block number"), - N_( "Internal error in ext2fs_expand_dir"), - N_( "Not enough space to build proposed filesystem"), - N_( "Illegal block number passed to ext2fs_mark_block_bitmap"), - N_( "Illegal block number passed to ext2fs_unmark_block_bitmap"), - N_( "Illegal block number passed to ext2fs_test_block_bitmap"), - N_( "Illegal inode number passed to ext2fs_mark_inode_bitmap"), - N_( "Illegal inode number passed to ext2fs_unmark_inode_bitmap"), - N_( "Illegal inode number passed to ext2fs_test_inode_bitmap"), - N_( "Attempt to fudge end of block bitmap past the real end"), - N_( "Attempt to fudge end of inode bitmap past the real end"), - N_( "Illegal indirect block found" ), - N_( "Illegal doubly indirect block found" ), - N_( "Illegal triply indirect block found" ), - N_( "Block bitmaps are not the same"), - N_( "Inode bitmaps are not the same"), - N_( "Illegal or malformed device name"), - N_( "A block group is missing an inode table"), - N_( "The ext2 superblock is corrupt"), - N_( "Illegal generic bit number passed to ext2fs_mark_generic_bitmap"), - N_( "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap"), - N_( "Illegal generic bit number passed to ext2fs_test_generic_bitmap"), - N_( "Too many symbolic links encountered."), - N_( "The callback function will not handle this case"), - N_( "The inode is from a bad block in the inode table"), - N_( "Filesystem has unsupported feature(s)"), - N_( "Filesystem has unsupported read-only feature(s)"), - N_( "IO Channel failed to seek on read or write"), - N_( "Memory allocation failed"), - N_( "Invalid argument passed to ext2 library"), - N_( "Could not allocate block in ext2 filesystem"), - N_( "Could not allocate inode in ext2 filesystem"), - N_( "Ext2 inode is not a directory"), - N_( "Too many references in table"), - N_( "File not found by ext2_lookup"), - N_( "File open read-only"), - N_( "Ext2 directory block not found"), - N_( "Ext2 directory already exists"), - N_( "Unimplemented ext2 library function"), - N_( "User cancel requested"), - N_( "Ext2 file too big"), - N_( "Supplied journal device not a block device"), - N_( "Journal superblock not found"), - N_( "Journal must be at least 1024 blocks"), - N_( "Unsupported journal version"), - N_( "Error loading external journal"), - N_( "Journal not found"), - N_( "Directory hash unsupported"), - N_( "Illegal extended attribute block number"), - N_( "Cannot create filesystem with requested number of inodes"), - N_( "E2image snapshot not in use"), - N_( "Too many reserved group descriptor blocks"), - N_( "Resize inode is corrupt"), - N_( "Tried to set block bmap with missing indirect block"), - N_( "TDB: Success"), - N_( "TDB: Corrupt database"), - N_( "TDB: IO Error"), - N_( "TDB: Locking error"), - N_( "TDB: Out of memory"), - N_( "TDB: Record exists"), - N_( "TDB: Lock exists on other keys"), - N_( "TDB: Invalid parameter"), - N_( "TDB: Record does not exist"), - N_( "TDB: Write not permitted"), - N_( "Ext2fs directory block list is empty"), - N_( "Attempt to modify a block mapping via a read-only block iterator"), - N_( "Wrong magic number for ext4 extent saved path"), - N_( "Wrong magic number for 64-bit generic bitmap"), - N_( "Wrong magic number for 64-bit block bitmap"), - N_( "Wrong magic number for 64-bit inode bitmap"), - N_( "Wrong magic number --- RESERVED_13"), - N_( "Wrong magic number --- RESERVED_14"), - N_( "Wrong magic number --- RESERVED_15"), - N_( "Wrong magic number --- RESERVED_16"), - N_( "Wrong magic number --- RESERVED_17"), - N_( "Wrong magic number --- RESERVED_18"), - N_( "Wrong magic number --- RESERVED_19"), - N_( "Corrupt extent header"), - N_( "Corrupt extent index"), - N_( "Corrupt extent"), - N_( "No free space in extent map"), - N_( "Inode does not use extents"), - N_( "No 'next' extent"), - N_( "No 'previous' extent"), - N_( "No 'up' extent"), - N_( "No 'down' extent"), - N_( "No current node"), - N_( "Ext2fs operation not supported"), - N_( "No room to insert extent in node"), - N_( "Splitting would result in empty node"), - N_( "Extent not found"), - N_( "Operation not supported for inodes containing extents"), - N_( "Extent length is invalid"), - N_( "I/O Channel does not support 64-bit block numbers"), - N_( "Can't check if filesystem is mounted due to missing mtab file"), - N_( "Filesystem too large to use legacy bitmaps"), - N_( "MMP: invalid magic number"), - N_( "MMP: device currently active"), - N_( "MMP: fsck being run"), - N_( "MMP: block number beyond filesystem range"), - N_( "MMP: undergoing an unknown operation"), - N_( "MMP: filesystem still in use"), - N_( "MMP: open with O_DIRECT failed"), - N_( "Block group descriptor size incorrect"), - N_( "Inode checksum does not match inode"), - N_( "Inode bitmap checksum does not match bitmap"), - N_( "Extent block checksum does not match extent block"), - N_( "Directory block does not have space for checksum"), - N_( "Directory block checksum does not match directory block"), - N_( "Extended attribute block checksum does not match block"), - N_( "Superblock checksum does not match superblock"), - N_( "Unknown checksum algorithm"), - N_( "MMP block checksum does not match MMP block"), - N_( "Ext2 file already exists"), + "EXT2FS Library version 1.41.14", + "Wrong magic number for ext2_filsys structure", + "Wrong magic number for badblocks_list structure", + "Wrong magic number for badblocks_iterate structure", + "Wrong magic number for inode_scan structure", + "Wrong magic number for io_channel structure", + "Wrong magic number for unix io_channel structure", + "Wrong magic number for io_manager structure", + "Wrong magic number for block_bitmap structure", + "Wrong magic number for inode_bitmap structure", + "Wrong magic number for generic_bitmap structure", + "Wrong magic number for test io_channel structure", + "Wrong magic number for directory block list structure", + "Wrong magic number for icount structure", + "Wrong magic number for Powerquest io_channel structure", + "Wrong magic number for ext2 file structure", + "Wrong magic number for Ext2 Image Header", + "Wrong magic number for inode io_channel structure", + "Wrong magic number for ext4 extent handle", + "Bad magic number in super-block", + "Filesystem revision too high", + "Attempt to write to filesystem opened read-only", + "Can't read group descriptors", + "Can't write group descriptors", + "Corrupt group descriptor: bad block for block bitmap", + "Corrupt group descriptor: bad block for inode bitmap", + "Corrupt group descriptor: bad block for inode table", + "Can't write an inode bitmap", + "Can't read an inode bitmap", + "Can't write an block bitmap", + "Can't read an block bitmap", + "Can't write an inode table", + "Can't read an inode table", + "Can't read next inode", + "Filesystem has unexpected block size", + "EXT2 directory corrupted", + "Attempt to read block from filesystem resulted in short read", + "Attempt to write block from filesystem resulted in short write", + "No free space in the directory", + "Inode bitmap not loaded", + "Block bitmap not loaded", + "Illegal inode number", + "Illegal block number", + "Internal error in ext2fs_expand_dir", + "Not enough space to build proposed filesystem", + "Illegal block number passed to ext2fs_mark_block_bitmap", + "Illegal block number passed to ext2fs_unmark_block_bitmap", + "Illegal block number passed to ext2fs_test_block_bitmap", + "Illegal inode number passed to ext2fs_mark_inode_bitmap", + "Illegal inode number passed to ext2fs_unmark_inode_bitmap", + "Illegal inode number passed to ext2fs_test_inode_bitmap", + "Attempt to fudge end of block bitmap past the real end", + "Attempt to fudge end of inode bitmap past the real end", + "Illegal indirect block found" , + "Illegal doubly indirect block found" , + "Illegal triply indirect block found" , + "Block bitmaps are not the same", + "Inode bitmaps are not the same", + "Illegal or malformed device name", + "A block group is missing an inode table", + "The ext2 superblock is corrupt", + "Illegal generic bit number passed to ext2fs_mark_generic_bitmap", + "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap", + "Illegal generic bit number passed to ext2fs_test_generic_bitmap", + "Too many symbolic links encountered.", + "The callback function will not handle this case", + "The inode is from a bad block in the inode table", + "Filesystem has unsupported feature(s)", + "Filesystem has unsupported read-only feature(s)", + "IO Channel failed to seek on read or write", + "Memory allocation failed", + "Invalid argument passed to ext2 library", + "Could not allocate block in ext2 filesystem", + "Could not allocate inode in ext2 filesystem", + "Ext2 inode is not a directory", + "Too many references in table", + "File not found by ext2_lookup", + "File open read-only", + "Ext2 directory block not found", + "Ext2 directory already exists", + "Unimplemented ext2 library function", + "User cancel requested", + "Ext2 file too big", + "Supplied journal device not a block device", + "Journal superblock not found", + "Journal must be at least 1024 blocks", + "Unsupported journal version", + "Error loading external journal", + "Journal not found", + "Directory hash unsupported", + "Illegal extended attribute block number", + "Cannot create filesystem with requested number of inodes", + "E2image snapshot not in use", + "Too many reserved group descriptor blocks", + "Resize inode is corrupt", + "Missing indirect block not present", + "TDB: Success", + "TDB: Corrupt database", + "TDB: IO Error", + "TDB: Locking error", + "TDB: Out of memory", + "TDB: Record exists", + "TDB: Lock exists on other keys", + "TDB: Invalid parameter", + "TDB: Record does not exist", + "TDB: Write not permitted", + "Ext2fs directory block list is empty", + "Attempt to modify a block mapping via a read-only block iterator", + "Wrong magic number for ext4 extent saved path", + "Wrong magic number --- RESERVED_10", + "Wrong magic number --- RESERVED_11", + "Wrong magic number --- RESERVED_12", + "Wrong magic number --- RESERVED_13", + "Wrong magic number --- RESERVED_14", + "Wrong magic number --- RESERVED_15", + "Wrong magic number --- RESERVED_16", + "Wrong magic number --- RESERVED_17", + "Wrong magic number --- RESERVED_18", + "Wrong magic number --- RESERVED_19", + "Corrupt extent header", + "Corrupt extent index", + "Corrupt extent", + "No free space in extent map", + "Inode does not use extents", + "No 'next' extent", + "No 'previous' extent", + "No 'up' extent", + "No 'down' extent", + "No current node", + "Ext2fs operation not supported", + "No room to insert extent in node", + "Splitting would result in empty node", + "Extent not found", + "Operation not supported for inodes containing extents", + "Extent length is invalid", + "I/O Channel does not support 64-bit block numbers", + "Can't check if filesystem is mounted due to missing mtab file", 0 }; @@ -178,7 +157,7 @@ struct et_list { }; extern struct et_list *_et_list; -const struct error_table et_ext2_error_table = { text, 2133571328L, 156 }; +const struct error_table et_ext2_error_table = { text, 2133571328L, 137 }; static struct et_list link = { 0, 0 }; diff --git a/lib/ext2fs/ext2_err.et.in b/lib/ext2fs/ext2_err.et.in index 87812ab4..406f3ae8 100644 --- a/lib/ext2fs/ext2_err.et.in +++ b/lib/ext2fs/ext2_err.et.in @@ -96,10 +96,10 @@ ec EXT2_ET_INODE_BITMAP_READ, "Can't read an inode bitmap" ec EXT2_ET_BLOCK_BITMAP_WRITE, - "Can't write a block bitmap" + "Can't write an block bitmap" ec EXT2_ET_BLOCK_BITMAP_READ, - "Can't read a block bitmap" + "Can't read an block bitmap" ec EXT2_ET_INODE_TABLE_WRITE, "Can't write an inode table" @@ -120,7 +120,7 @@ ec EXT2_ET_SHORT_READ, "Attempt to read block from filesystem resulted in short read" ec EXT2_ET_SHORT_WRITE, - "Attempt to write block to filesystem resulted in short write" + "Attempt to write block from filesystem resulted in short write" ec EXT2_ET_DIR_NO_SPACE, "No free space in the directory" @@ -294,7 +294,7 @@ ec EXT2_ET_RESIZE_INODE_CORRUPT, "Resize inode is corrupt" ec EXT2_ET_SET_BMAP_NO_IND, - "Tried to set block bmap with missing indirect block" + "Missing indirect block not present" ec EXT2_ET_TDB_SUCCESS, "TDB: Success" @@ -335,14 +335,14 @@ ec EXT2_ET_RO_BLOCK_ITERATE, ec EXT2_ET_MAGIC_EXTENT_PATH, "Wrong magic number for ext4 extent saved path" -ec EXT2_ET_MAGIC_GENERIC_BITMAP64, - "Wrong magic number for 64-bit generic bitmap" +ec EXT2_ET_MAGIC_RESERVED_10, + "Wrong magic number --- RESERVED_10" -ec EXT2_ET_MAGIC_BLOCK_BITMAP64, - "Wrong magic number for 64-bit block bitmap" +ec EXT2_ET_MAGIC_RESERVED_11, + "Wrong magic number --- RESERVED_11" -ec EXT2_ET_MAGIC_INODE_BITMAP64, - "Wrong magic number for 64-bit inode bitmap" +ec EXT2_ET_MAGIC_RESERVED_12, + "Wrong magic number --- RESERVED_12" ec EXT2_ET_MAGIC_RESERVED_13, "Wrong magic number --- RESERVED_13" @@ -416,64 +416,7 @@ ec EXT2_ET_EXTENT_INVALID_LENGTH, ec EXT2_ET_IO_CHANNEL_NO_SUPPORT_64, "I/O Channel does not support 64-bit block numbers" -ec EXT2_ET_NO_MTAB_FILE, +ec EXT2_NO_MTAB_FILE, "Can't check if filesystem is mounted due to missing mtab file" -ec EXT2_ET_CANT_USE_LEGACY_BITMAPS, - "Filesystem too large to use legacy bitmaps" - -ec EXT2_ET_MMP_MAGIC_INVALID, - "MMP: invalid magic number" - -ec EXT2_ET_MMP_FAILED, - "MMP: device currently active" - -ec EXT2_ET_MMP_FSCK_ON, - "MMP: fsck being run" - -ec EXT2_ET_MMP_BAD_BLOCK, - "MMP: block number beyond filesystem range" - -ec EXT2_ET_MMP_UNKNOWN_SEQ, - "MMP: undergoing an unknown operation" - -ec EXT2_ET_MMP_CHANGE_ABORT, - "MMP: filesystem still in use" - -ec EXT2_ET_MMP_OPEN_DIRECT, - "MMP: open with O_DIRECT failed" - -ec EXT2_ET_BAD_DESC_SIZE, - "Block group descriptor size incorrect" - -ec EXT2_ET_INODE_CSUM_INVALID, - "Inode checksum does not match inode" - -ec EXT2_ET_INODE_BITMAP_CSUM_INVALID, - "Inode bitmap checksum does not match bitmap" - -ec EXT2_ET_EXTENT_CSUM_INVALID, - "Extent block checksum does not match extent block" - -ec EXT2_ET_DIR_NO_SPACE_FOR_CSUM, - "Directory block does not have space for checksum" - -ec EXT2_ET_DIR_CSUM_INVALID, - "Directory block checksum does not match directory block" - -ec EXT2_ET_EXT_ATTR_CSUM_INVALID, - "Extended attribute block checksum does not match block" - -ec EXT2_ET_SB_CSUM_INVALID, - "Superblock checksum does not match superblock" - -ec EXT2_ET_UNKNOWN_CSUM, - "Unknown checksum algorithm" - -ec EXT2_ET_MMP_CSUM_INVALID, - "MMP block checksum does not match MMP block" - -ec EXT2_ET_FILE_EXISTS, - "Ext2 file already exists" - end diff --git a/lib/ext2fs/ext2_err.h b/lib/ext2fs/ext2_err.h index 70224181..7b2df090 100644 --- a/lib/ext2fs/ext2_err.h +++ b/lib/ext2fs/ext2_err.h @@ -114,9 +114,9 @@ #define EXT2_ET_DBLIST_EMPTY (2133571434L) #define EXT2_ET_RO_BLOCK_ITERATE (2133571435L) #define EXT2_ET_MAGIC_EXTENT_PATH (2133571436L) -#define EXT2_ET_MAGIC_GENERIC_BITMAP64 (2133571437L) -#define EXT2_ET_MAGIC_BLOCK_BITMAP64 (2133571438L) -#define EXT2_ET_MAGIC_INODE_BITMAP64 (2133571439L) +#define EXT2_ET_MAGIC_RESERVED_10 (2133571437L) +#define EXT2_ET_MAGIC_RESERVED_11 (2133571438L) +#define EXT2_ET_MAGIC_RESERVED_12 (2133571439L) #define EXT2_ET_MAGIC_RESERVED_13 (2133571440L) #define EXT2_ET_MAGIC_RESERVED_14 (2133571441L) #define EXT2_ET_MAGIC_RESERVED_15 (2133571442L) @@ -141,26 +141,7 @@ #define EXT2_ET_EXTENT_NOT_SUPPORTED (2133571461L) #define EXT2_ET_EXTENT_INVALID_LENGTH (2133571462L) #define EXT2_ET_IO_CHANNEL_NO_SUPPORT_64 (2133571463L) -#define EXT2_ET_NO_MTAB_FILE (2133571464L) -#define EXT2_ET_CANT_USE_LEGACY_BITMAPS (2133571465L) -#define EXT2_ET_MMP_MAGIC_INVALID (2133571466L) -#define EXT2_ET_MMP_FAILED (2133571467L) -#define EXT2_ET_MMP_FSCK_ON (2133571468L) -#define EXT2_ET_MMP_BAD_BLOCK (2133571469L) -#define EXT2_ET_MMP_UNKNOWN_SEQ (2133571470L) -#define EXT2_ET_MMP_CHANGE_ABORT (2133571471L) -#define EXT2_ET_MMP_OPEN_DIRECT (2133571472L) -#define EXT2_ET_BAD_DESC_SIZE (2133571473L) -#define EXT2_ET_INODE_CSUM_INVALID (2133571474L) -#define EXT2_ET_INODE_BITMAP_CSUM_INVALID (2133571475L) -#define EXT2_ET_EXTENT_CSUM_INVALID (2133571476L) -#define EXT2_ET_DIR_NO_SPACE_FOR_CSUM (2133571477L) -#define EXT2_ET_DIR_CSUM_INVALID (2133571478L) -#define EXT2_ET_EXT_ATTR_CSUM_INVALID (2133571479L) -#define EXT2_ET_SB_CSUM_INVALID (2133571480L) -#define EXT2_ET_UNKNOWN_CSUM (2133571481L) -#define EXT2_ET_MMP_CSUM_INVALID (2133571482L) -#define EXT2_ET_FILE_EXISTS (2133571483L) +#define EXT2_NO_MTAB_FILE (2133571464L) extern const struct error_table et_ext2_error_table; extern void initialize_ext2_error_table(void); diff --git a/lib/ext2fs/ext2_fs.h b/lib/ext2fs/ext2_fs.h index 930c2a3f..afd33a93 100644 --- a/lib/ext2fs/ext2_fs.h +++ b/lib/ext2fs/ext2_fs.h @@ -44,14 +44,13 @@ */ #define EXT2_BAD_INO 1 /* Bad blocks inode */ #define EXT2_ROOT_INO 2 /* Root inode */ -#define EXT4_USR_QUOTA_INO 3 /* User quota inode */ -#define EXT4_GRP_QUOTA_INO 4 /* Group quota inode */ +#define EXT2_ACL_IDX_INO 3 /* ACL inode */ +#define EXT2_ACL_DATA_INO 4 /* ACL inode */ #define EXT2_BOOT_LOADER_INO 5 /* Boot loader inode */ #define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */ #define EXT2_RESIZE_INO 7 /* Reserved group descriptors inode */ #define EXT2_JOURNAL_INO 8 /* Journal inode */ #define EXT2_EXCLUDE_INO 9 /* The "exclude" inode, for snapshots */ -#define EXT4_REPLICA_INO 10 /* Used by non-upstream feature */ /* First non-reserved inode for old ext2 filesystems */ #define EXT2_GOOD_OLD_FIRST_INO 11 @@ -98,28 +97,19 @@ #endif #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof(__u32)) -/* - * Macro-instructions used to manage allocation clusters - */ -#define EXT2_MIN_CLUSTER_LOG_SIZE EXT2_MIN_BLOCK_LOG_SIZE -#define EXT2_MAX_CLUSTER_LOG_SIZE 29 /* 512MB */ -#define EXT2_MIN_CLUSTER_SIZE EXT2_MIN_BLOCK_SIZE -#define EXT2_MAX_CLUSTER_SIZE (1 << EXT2_MAX_CLUSTER_LOG_SIZE) -#define EXT2_CLUSTER_SIZE(s) (EXT2_MIN_BLOCK_SIZE << \ - (s)->s_log_cluster_size) -#define EXT2_CLUSTER_SIZE_BITS(s) ((s)->s_log_cluster_size + 10) - /* * Macro-instructions used to manage fragments - * - * Note: for backwards compatibility only, for the dump program. - * Ext2/3/4 will never support fragments.... */ -#define EXT2_MIN_FRAG_SIZE EXT2_MIN_BLOCK_SIZE -#define EXT2_MAX_FRAG_SIZE EXT2_MAX_BLOCK_SIZE -#define EXT2_MIN_FRAG_LOG_SIZE EXT2_MIN_BLOCK_LOG_SIZE -#define EXT2_FRAG_SIZE(s) EXT2_BLOCK_SIZE(s) -#define EXT2_FRAGS_PER_BLOCK(s) 1 +#define EXT2_MIN_FRAG_SIZE EXT2_MIN_BLOCK_SIZE +#define EXT2_MAX_FRAG_SIZE EXT2_MAX_BLOCK_SIZE +#define EXT2_MIN_FRAG_LOG_SIZE EXT2_MIN_BLOCK_LOG_SIZE +#ifdef __KERNEL__ +# define EXT2_FRAG_SIZE(s) (EXT2_SB(s)->s_frag_size) +# define EXT2_FRAGS_PER_BLOCK(s) (EXT2_SB(s)->s_frags_per_block) +#else +# define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size) +# define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s)) +#endif /* * ACL structures @@ -155,16 +145,11 @@ struct ext2_group_desc __u16 bg_free_inodes_count; /* Free inodes count */ __u16 bg_used_dirs_count; /* Directories count */ __u16 bg_flags; - __u32 bg_exclude_bitmap_lo; /* Exclude bitmap for snapshots */ - __u16 bg_block_bitmap_csum_lo;/* crc32c(s_uuid+grp_num+bitmap) LSB */ - __u16 bg_inode_bitmap_csum_lo;/* crc32c(s_uuid+grp_num+bitmap) LSB */ + __u32 bg_reserved[2]; __u16 bg_itable_unused; /* Unused inodes count */ - __u16 bg_checksum; /* crc16(s_uuid+group_num+group_desc)*/ + __u16 bg_checksum; /* crc16(s_uuid+grouo_num+group_desc)*/ }; -/* - * Structure of a blocks group descriptor - */ struct ext4_group_desc { __u32 bg_block_bitmap; /* Blocks bitmap block */ @@ -173,23 +158,18 @@ struct ext4_group_desc __u16 bg_free_blocks_count; /* Free blocks count */ __u16 bg_free_inodes_count; /* Free inodes count */ __u16 bg_used_dirs_count; /* Directories count */ - __u16 bg_flags; /* EXT4_BG_flags (INODE_UNINIT, etc) */ - __u32 bg_exclude_bitmap_lo; /* Exclude bitmap for snapshots */ - __u16 bg_block_bitmap_csum_lo;/* crc32c(s_uuid+grp_num+bitmap) LSB */ - __u16 bg_inode_bitmap_csum_lo;/* crc32c(s_uuid+grp_num+bitmap) LSB */ + __u16 bg_flags; + __u32 bg_reserved[2]; __u16 bg_itable_unused; /* Unused inodes count */ - __u16 bg_checksum; /* crc16(sb_uuid+group+desc) */ + __u16 bg_checksum; /* crc16(s_uuid+grouo_num+group_desc)*/ __u32 bg_block_bitmap_hi; /* Blocks bitmap block MSB */ __u32 bg_inode_bitmap_hi; /* Inodes bitmap block MSB */ __u32 bg_inode_table_hi; /* Inodes table block MSB */ __u16 bg_free_blocks_count_hi;/* Free blocks count MSB */ __u16 bg_free_inodes_count_hi;/* Free inodes count MSB */ __u16 bg_used_dirs_count_hi; /* Directories count MSB */ - __u16 bg_itable_unused_hi; /* Unused inodes count MSB */ - __u32 bg_exclude_bitmap_hi; /* Exclude bitmap block MSB */ - __u16 bg_block_bitmap_csum_hi;/* crc32c(s_uuid+grp_num+bitmap) MSB */ - __u16 bg_inode_bitmap_csum_hi;/* crc32c(s_uuid+grp_num+bitmap) MSB */ - __u32 bg_reserved; + __u16 bg_pad; + __u32 bg_reserved2[3]; }; #define EXT2_BG_INODE_UNINIT 0x0001 /* Inode table/bitmap not initialized */ @@ -248,15 +228,10 @@ struct ext2_dx_countlimit { #define EXT2_BLOCKS_PER_GROUP(s) (EXT2_SB(s)->s_blocks_per_group) #define EXT2_INODES_PER_GROUP(s) (EXT2_SB(s)->s_inodes_per_group) -#define EXT2_CLUSTERS_PER_GROUP(s) (EXT2_SB(s)->s_clusters_per_group) #define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s)) /* limits imposed by 16-bit value gd_free_{blocks,inode}_count */ -#define EXT2_MAX_BLOCKS_PER_GROUP(s) ((((unsigned) 1 << 16) - 8) * \ - (EXT2_CLUSTER_SIZE(s) / \ - EXT2_BLOCK_SIZE(s))) -#define EXT2_MAX_CLUSTERS_PER_GROUP(s) (((unsigned) 1 << 16) - 8) -#define EXT2_MAX_INODES_PER_GROUP(s) (((unsigned) 1 << 16) - \ - EXT2_INODES_PER_BLOCK(s)) +#define EXT2_MAX_BLOCKS_PER_GROUP(s) ((1 << 16) - 8) +#define EXT2_MAX_INODES_PER_GROUP(s) ((1 << 16) - EXT2_INODES_PER_BLOCK(s)) #ifdef __KERNEL__ #define EXT2_DESC_PER_BLOCK(s) (EXT2_SB(s)->s_desc_per_block) #define EXT2_DESC_PER_BLOCK_BITS(s) (EXT2_SB(s)->s_desc_per_block_bits) @@ -300,8 +275,7 @@ struct ext2_dx_countlimit { #define EXT4_HUGE_FILE_FL 0x00040000 /* Set to each huge file */ #define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ #define EXT4_EA_INODE_FL 0x00200000 /* Inode used for large EA */ -/* EXT4_EOFBLOCKS_FL 0x00400000 was here */ -#define FS_NOCOW_FL 0x00800000 /* Do not cow file */ +#define EXT4_EOFBLOCKS_FL 0x00400000 /* Blocks allocated beyond EOF */ #define EXT4_SNAPFILE_FL 0x01000000 /* Inode is a snapshot */ #define EXT4_SNAPFILE_DELETED_FL 0x04000000 /* Snapshot is being deleted */ #define EXT4_SNAPFILE_SHRUNK_FL 0x08000000 /* Snapshot shrink has completed */ @@ -348,7 +322,6 @@ struct ext4_new_group_input { #define EXT2_IOC_GROUP_EXTEND _IOW('f', 7, unsigned long) #define EXT2_IOC_GROUP_ADD _IOW('f', 8,struct ext2_new_group_input) #define EXT4_IOC_GROUP_ADD _IOW('f', 8,struct ext4_new_group_input) -#define EXT4_IOC_RESIZE_FS _IOW('f', 16, __u64) /* * Structure of an inode on the disk @@ -376,7 +349,7 @@ struct ext2_inode { __u32 i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ __u32 i_generation; /* File version (for NFS) */ __u32 i_file_acl; /* File ACL */ - __u32 i_size_high; /* Formerly i_dir_acl, directory ACL */ + __u32 i_dir_acl; /* Directory ACL */ __u32 i_faddr; /* Fragment address */ union { struct { @@ -384,8 +357,7 @@ struct ext2_inode { __u16 l_i_file_acl_high; __u16 l_i_uid_high; /* these 2 fields */ __u16 l_i_gid_high; /* were reserved2[0] */ - __u16 l_i_checksum_lo; /* crc32c(uuid+inum+inode) */ - __u16 l_i_reserved; + __u32 l_i_reserved2; } linux2; struct { __u8 h_i_frag; /* Fragment number */ @@ -424,7 +396,7 @@ struct ext2_inode_large { __u32 i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ __u32 i_generation; /* File version (for NFS) */ __u32 i_file_acl; /* File ACL */ - __u32 i_size_high; /* Formerly i_dir_acl, directory ACL */ + __u32 i_dir_acl; /* Directory ACL */ __u32 i_faddr; /* Fragment address */ union { struct { @@ -432,8 +404,7 @@ struct ext2_inode_large { __u16 l_i_file_acl_high; __u16 l_i_uid_high; /* these 2 fields */ __u16 l_i_gid_high; /* were reserved2[0] */ - __u16 l_i_checksum_lo; /* crc32c(uuid+inum+inode) */ - __u16 l_i_reserved; + __u32 l_i_reserved2; } linux2; struct { __u8 h_i_frag; /* Fragment number */ @@ -445,7 +416,7 @@ struct ext2_inode_large { } hurd2; } osd2; /* OS dependent 2 */ __u16 i_extra_isize; - __u16 i_checksum_hi; /* crc32c(uuid+inum+inode) */ + __u16 i_pad1; __u32 i_ctime_extra; /* extra Change time (nsec << 2 | epoch) */ __u32 i_mtime_extra; /* extra Modification time (nsec << 2 | epoch) */ __u32 i_atime_extra; /* extra Access time (nsec << 2 | epoch) */ @@ -454,7 +425,7 @@ struct ext2_inode_large { __u32 i_version_hi; /* high 32 bits for 64-bit version */ }; -#define i_dir_acl i_size_high +#define i_size_high i_dir_acl #if defined(__KERNEL__) || defined(__linux__) #define i_reserved1 osd1.linux1.l_i_reserved1 @@ -464,6 +435,7 @@ struct ext2_inode_large { #define i_gid_low i_gid #define i_uid_high osd2.linux2.l_i_uid_high #define i_gid_high osd2.linux2.l_i_gid_high +#define i_reserved2 osd2.linux2.l_i_reserved2 #else #if defined(__GNU__) @@ -546,9 +518,9 @@ struct ext2_super_block { __u32 s_free_inodes_count; /* Free inodes count */ __u32 s_first_data_block; /* First Data Block */ __u32 s_log_block_size; /* Block size */ - __u32 s_log_cluster_size; /* Allocation cluster size */ + __s32 s_log_frag_size; /* Fragment size */ __u32 s_blocks_per_group; /* # Blocks per group */ - __u32 s_clusters_per_group; /* # Fragments per group */ + __u32 s_frags_per_group; /* # Fragments per group */ __u32 s_inodes_per_group; /* # Inodes per group */ __u32 s_mtime; /* Mount time */ __u32 s_wtime; /* Write time */ @@ -616,7 +588,7 @@ struct ext2_super_block { __u16 s_want_extra_isize; /* New inodes should reserve # bytes */ __u32 s_flags; /* Miscellaneous flags */ __u16 s_raid_stride; /* RAID stride */ - __u16 s_mmp_update_interval; /* # seconds to wait in MMP checking */ + __u16 s_mmp_interval; /* # seconds to wait in MMP checking */ __u64 s_mmp_block; /* Block for multi-mount protection */ __u32 s_raid_stripe_width; /* blocks on all data disks (N*stride)*/ __u8 s_log_groups_per_flex; /* FLEX_BG group size */ @@ -642,11 +614,7 @@ struct ext2_super_block { __u8 s_last_error_func[32]; /* function where the error happened */ #define EXT4_S_ERR_END ext4_offsetof(struct ext2_super_block, s_mount_opts) __u8 s_mount_opts[64]; - __u32 s_usr_quota_inum; /* inode number of user quota file */ - __u32 s_grp_quota_inum; /* inode number of group quota file */ - __u32 s_overhead_blocks; /* overhead blocks/clusters in fs */ - __u32 s_reserved[108]; /* Padding to the end of the block */ - __u32 s_checksum; /* crc32c(superblock) */ + __u32 s_reserved[112]; /* Padding to the end of the block */ }; #define EXT4_S_ERR_LEN (EXT4_S_ERR_END - EXT4_S_ERR_START) @@ -694,9 +662,7 @@ struct ext2_super_block { #define EXT2_FEATURE_COMPAT_RESIZE_INODE 0x0010 #define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020 #define EXT2_FEATURE_COMPAT_LAZY_BG 0x0040 -/* #define EXT2_FEATURE_COMPAT_EXCLUDE_INODE 0x0080 not used, legacy */ -#define EXT2_FEATURE_COMPAT_EXCLUDE_BITMAP 0x0100 - +#define EXT2_FEATURE_COMPAT_EXCLUDE_INODE 0x0080 #define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 #define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 @@ -706,10 +672,6 @@ struct ext2_super_block { #define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020 #define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 0x0040 #define EXT4_FEATURE_RO_COMPAT_HAS_SNAPSHOT 0x0080 -#define EXT4_FEATURE_RO_COMPAT_QUOTA 0x0100 -#define EXT4_FEATURE_RO_COMPAT_BIGALLOC 0x0200 -#define EXT4_FEATURE_RO_COMPAT_METADATA_CSUM 0x0400 -#define EXT4_FEATURE_RO_COMPAT_REPLICA 0x0800 #define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001 #define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002 @@ -722,13 +684,10 @@ struct ext2_super_block { #define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200 #define EXT4_FEATURE_INCOMPAT_EA_INODE 0x0400 #define EXT4_FEATURE_INCOMPAT_DIRDATA 0x1000 -/* 0x2000 was EXT4_FEATURE_INCOMPAT_BG_USE_META_CSUM but this was never used */ -#define EXT4_FEATURE_INCOMPAT_LARGEDIR 0x4000 /* >2GB or 3-lvl htree */ -#define EXT4_FEATURE_INCOMPAT_INLINEDATA 0x8000 /* data in inode */ + #define EXT2_FEATURE_COMPAT_SUPP 0 -#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE| \ - EXT4_FEATURE_INCOMPAT_MMP) +#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE) #define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \ EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \ EXT4_FEATURE_RO_COMPAT_DIR_NLINK| \ @@ -809,52 +768,28 @@ struct ext2_dir_entry_2 { ~EXT2_DIR_ROUND) /* - * This structure is used for multiple mount protection. It is written - * into the block number saved in the s_mmp_block field in the superblock. - * Programs that check MMP should assume that if SEQ_FSCK (or any unknown - * code above SEQ_MAX) is present then it is NOT safe to use the filesystem, - * regardless of how old the timestamp is. - * - * The timestamp in the MMP structure will be updated by e2fsck at some - * arbitary intervals (start of passes, after every few groups of inodes - * in pass1 and pass1b). There is no guarantee that e2fsck is updating - * the MMP block in a timely manner, and the updates it does are purely - * for the convenience of the sysadmin and not for automatic validation. - * - * Note: Only the mmp_seq value is used to determine whether the MMP block - * is being updated. The mmp_time, mmp_nodename, and mmp_bdevname - * fields are only for informational purposes for the administrator, - * due to clock skew between nodes and hostname HA service takeover. + * This structure will be used for multiple mount protection. It will be + * written into the block number saved in the s_mmp_block field in the + * superblock. */ -#define EXT4_MMP_MAGIC 0x004D4D50U /* ASCII for MMP */ -#define EXT4_MMP_SEQ_CLEAN 0xFF4D4D50U /* mmp_seq value for clean unmount */ -#define EXT4_MMP_SEQ_FSCK 0xE24D4D50U /* mmp_seq value when being fscked */ -#define EXT4_MMP_SEQ_MAX 0xE24D4D4FU /* maximum valid mmp_seq value */ +#define EXT2_MMP_MAGIC 0x004D4D50 /* ASCII for MMP */ +#define EXT2_MMP_CLEAN 0xFF4D4D50 /* Value of mmp_seq for clean unmount */ +#define EXT2_MMP_FSCK_ON 0xE24D4D50 /* Value of mmp_seq when being fscked */ struct mmp_struct { - __u32 mmp_magic; /* Magic number for MMP */ - __u32 mmp_seq; /* Sequence no. updated periodically */ - __u64 mmp_time; /* Time last updated */ - char mmp_nodename[64]; /* Node which last updated MMP block */ - char mmp_bdevname[32]; /* Bdev which last updated MMP block */ - __u16 mmp_check_interval; /* Changed mmp_check_interval */ + __u32 mmp_magic; + __u32 mmp_seq; + __u64 mmp_time; + char mmp_nodename[64]; + char mmp_bdevname[32]; + __u16 mmp_interval; __u16 mmp_pad1; - __u32 mmp_pad2[227]; + __u32 mmp_pad2; }; /* - * Default interval for MMP update in seconds. - */ -#define EXT4_MMP_UPDATE_INTERVAL 5 - -/* - * Maximum interval for MMP update in seconds. - */ -#define EXT4_MMP_MAX_UPDATE_INTERVAL 300 - -/* - * Minimum interval for MMP checking in seconds. + * Interval in number of seconds to update the MMP sequence number. */ -#define EXT4_MMP_MIN_CHECK_INTERVAL 5 +#define EXT2_MMP_DEF_INTERVAL 5 #endif /* _LINUX_EXT2_FS_H */ diff --git a/lib/ext2fs/ext2_io.h b/lib/ext2fs/ext2_io.h index 1894fb8c..b917559c 100644 --- a/lib/ext2fs/ext2_io.h +++ b/lib/ext2fs/ext2_io.h @@ -29,10 +29,6 @@ typedef struct struct_io_channel *io_channel; typedef struct struct_io_stats *io_stats; #define CHANNEL_FLAGS_WRITETHROUGH 0x01 -#define CHANNEL_FLAGS_DISCARD_ZEROES 0x02 -#define CHANNEL_FLAGS_BLOCK_DEVICE 0x04 - -#define io_channel_discard_zeroes_data(i) (i->flags & CHANNEL_FLAGS_DISCARD_ZEROES) struct struct_io_channel { errcode_t magic; @@ -58,7 +54,6 @@ struct struct_io_channel { long reserved[14]; void *private_data; void *app_data; - int align; }; struct struct_io_stats { @@ -88,8 +83,6 @@ struct struct_io_manager { int count, void *data); errcode_t (*write_blk64)(io_channel channel, unsigned long long block, int count, const void *data); - errcode_t (*discard)(io_channel channel, unsigned long long block, - unsigned long long count); long reserved[16]; }; @@ -119,11 +112,6 @@ extern errcode_t io_channel_read_blk64(io_channel channel, extern errcode_t io_channel_write_blk64(io_channel channel, unsigned long long block, int count, const void *data); -extern errcode_t io_channel_discard(io_channel channel, - unsigned long long block, - unsigned long long count); -extern errcode_t io_channel_alloc_buf(io_channel channel, - int count, void *ptr); /* unix_io.c */ extern io_manager unix_io_manager; @@ -139,10 +127,6 @@ extern void (*test_io_cb_read_blk) (unsigned long block, int count, errcode_t err); extern void (*test_io_cb_write_blk) (unsigned long block, int count, errcode_t err); -extern void (*test_io_cb_read_blk64) - (unsigned long long block, int count, errcode_t err); -extern void (*test_io_cb_write_blk64) - (unsigned long long block, int count, errcode_t err); extern void (*test_io_cb_set_blksize) (int blksize, errcode_t err); diff --git a/lib/ext2fs/ext2_types.h b/lib/ext2fs/ext2_types.h index 18d4f9bd..27277fa3 100644 --- a/lib/ext2fs/ext2_types.h +++ b/lib/ext2fs/ext2_types.h @@ -7,6 +7,14 @@ !defined(_EXT2_TYPES_H)) #define _EXT2_TYPES_H +#define __S8_TYPEDEF __signed__ char +#define __U8_TYPEDEF unsigned char +#define __S16_TYPEDEF __signed__ short +#define __U16_TYPEDEF unsigned short +#define __S32_TYPEDEF __signed__ int +#define __U32_TYPEDEF unsigned int +#define __S64_TYPEDEF __signed__ long long +#define __U64_TYPEDEF unsigned long long #ifdef __U8_TYPEDEF typedef __U8_TYPEDEF __u8; @@ -91,11 +99,11 @@ typedef __U64_TYPEDEF __u64; #if (4 == 8) typedef unsigned int __u64; #else -#if (8 == 8) -typedef unsigned long long __u64; -#else #if (4 == 8) typedef unsigned long __u64; +#else +#if (8 == 8) +typedef unsigned long long __u64; #endif /* SIZEOF_LONG_LONG == 8 */ #endif /* SIZEOF_LONG == 8 */ #endif /* SIZEOF_INT == 8 */ @@ -107,15 +115,15 @@ typedef __S64_TYPEDEF __s64; #if (4 == 8) typedef int __s64; #else +#if (4 == 8) +typedef long __s64; +#else #if (8 == 8) #if defined(__GNUC__) -typedef __signed__ long long __s64; +typedef __signed__ long long __s64; #else -typedef signed long long __s64; +typedef signed long long __s64; #endif /* __GNUC__ */ -#else -#if (4 == 8) -typedef long __s64; #endif /* SIZEOF_LONG_LONG == 8 */ #endif /* SIZEOF_LONG == 8 */ #endif /* SIZEOF_INT == 8 */ diff --git a/lib/ext2fs/ext2_types.h.in b/lib/ext2fs/ext2_types.h.in index 5b98f715..aa7ca3a9 100644 --- a/lib/ext2fs/ext2_types.h.in +++ b/lib/ext2fs/ext2_types.h.in @@ -92,11 +92,11 @@ typedef __U64_TYPEDEF __u64; #if (@SIZEOF_INT@ == 8) typedef unsigned int __u64; #else -#if (@SIZEOF_LONG_LONG@ == 8) -typedef unsigned long long __u64; -#else #if (@SIZEOF_LONG@ == 8) typedef unsigned long __u64; +#else +#if (@SIZEOF_LONG_LONG@ == 8) +typedef unsigned long long __u64; #endif /* SIZEOF_LONG_LONG == 8 */ #endif /* SIZEOF_LONG == 8 */ #endif /* SIZEOF_INT == 8 */ @@ -108,15 +108,15 @@ typedef __S64_TYPEDEF __s64; #if (@SIZEOF_INT@ == 8) typedef int __s64; #else +#if (@SIZEOF_LONG@ == 8) +typedef long __s64; +#else #if (@SIZEOF_LONG_LONG@ == 8) #if defined(__GNUC__) -typedef __signed__ long long __s64; +typedef __signed__ long long __s64; #else -typedef signed long long __s64; +typedef signed long long __s64; #endif /* __GNUC__ */ -#else -#if (@SIZEOF_LONG@ == 8) -typedef long __s64; #endif /* SIZEOF_LONG_LONG == 8 */ #endif /* SIZEOF_LONG == 8 */ #endif /* SIZEOF_INT == 8 */ diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h index fb6b0b43..3573e854 100644 --- a/lib/ext2fs/ext2fs.h +++ b/lib/ext2fs/ext2fs.h @@ -29,6 +29,14 @@ extern "C" { #define NO_INLINE_FUNCS #endif +/* + * The Apple compiler in Xcode 4.3 fails when inlines are enabled in + * so disable them for that compiler. + */ +#if __APPLE_CC__ >= 5621 +#define NO_INLINE_FUNCS +#endif + /* * Where the master copy of the superblock is located, and how big * superblocks are supposed to be. We define SUPERBLOCK_SIZE because @@ -37,7 +45,7 @@ extern "C" { * 1032 bytes long). */ #define SUPERBLOCK_OFFSET 1024 -#define SUPERBLOCK_SIZE 1024 +#define SUPERBLOCK_SIZE 1024 /* * The last ext2fs revision level that this version of the library is @@ -64,20 +72,13 @@ extern "C" { #include #endif /* EXT2_FLAT_INCLUDES */ -#ifdef __CHECK_ENDIAN__ -#define __bitwise __attribute__((bitwise)) -#else -#define __bitwise -#endif - -typedef __u32 __bitwise ext2_ino_t; -typedef __u32 __bitwise blk_t; -typedef __u64 __bitwise blk64_t; -typedef __u32 __bitwise dgrp_t; -typedef __u32 __bitwise ext2_off_t; -typedef __u64 __bitwise ext2_off64_t; -typedef __s64 __bitwise e2_blkcnt_t; -typedef __u32 __bitwise ext2_dirhash_t; +typedef __u32 ext2_ino_t; +typedef __u32 blk_t; +typedef __u64 blk64_t; +typedef __u32 dgrp_t; +typedef __u32 ext2_off_t; +typedef __s64 e2_blkcnt_t; +typedef __u32 ext2_dirhash_t; #if EXT2_FLAT_INCLUDES #include "com_err.h" @@ -132,13 +133,6 @@ typedef struct ext2_struct_u32_iterate *badblocks_iterate; /* * ext2_dblist structure and abstractions (see dblist.c) */ -struct ext2_db_entry2 { - ext2_ino_t ino; - blk64_t blk; - e2_blkcnt_t blockcnt; -}; - -/* Ye Olde 32-bit version */ struct ext2_db_entry { ext2_ino_t ino; blk_t blk; @@ -187,10 +181,7 @@ typedef struct ext2_file *ext2_file_t; #define EXT2_FLAG_EXCLUSIVE 0x4000 #define EXT2_FLAG_SOFTSUPP_FEATURES 0x8000 #define EXT2_FLAG_NOFREE_ON_ERROR 0x10000 -#define EXT2_FLAG_64BITS 0x20000 -#define EXT2_FLAG_PRINT_PROGRESS 0x40000 #define EXT2_FLAG_DIRECT_IO 0x80000 -#define EXT2_FLAG_SKIP_MMP 0x100000 /* * Special flag in the ext2 inode i_flag field that means that this is @@ -200,12 +191,10 @@ typedef struct ext2_file *ext2_file_t; /* * Flags for mkjournal + * + * EXT2_MKJOURNAL_V1_SUPER Make a (deprecated) V1 journal superblock */ -#define EXT2_MKJOURNAL_V1_SUPER 0x0000001 /* create V1 superblock (deprecated) */ -#define EXT2_MKJOURNAL_LAZYINIT 0x0000002 /* don't zero journal inode before use*/ -#define EXT2_MKJOURNAL_NO_MNT_CHECK 0x0000004 /* don't check mount status */ - -struct opaque_ext2_group_desc; +#define EXT2_MKJOURNAL_V1_SUPER 0x0000001 struct struct_ext2_filsys { errcode_t magic; @@ -217,11 +206,10 @@ struct struct_ext2_filsys { int fragsize; dgrp_t group_desc_count; unsigned long desc_blocks; - struct opaque_ext2_group_desc * group_desc; - unsigned int inode_blocks_per_group; + struct ext2_group_desc * group_desc; + int inode_blocks_per_group; ext2fs_inode_bitmap inode_map; ext2fs_block_bitmap block_map; - /* XXX FIXME-64: not 64-bit safe, but not used? */ errcode_t (*get_blocks)(ext2_filsys fs, ext2_ino_t ino, blk_t *blocks); errcode_t (*check_directory)(ext2_filsys fs, ext2_ino_t ino); errcode_t (*write_bitmaps)(ext2_filsys fs); @@ -236,13 +224,10 @@ struct struct_ext2_filsys { struct ext2_image_hdr * image_header; __u32 umask; time_t now; - int cluster_ratio_bits; - __u16 default_bitmap_type; - __u16 pad; /* * Reserved for future expansion */ - __u32 reserved[5]; + __u32 reserved[7]; /* * Reserved for the use of the calling application. @@ -261,18 +246,6 @@ struct struct_ext2_filsys { errcode_t (*get_alloc_block)(ext2_filsys fs, blk64_t goal, blk64_t *ret); void (*block_alloc_stats)(ext2_filsys fs, blk64_t blk, int inuse); - - /* - * Buffers for Multiple mount protection(MMP) block. - */ - void *mmp_buf; - void *mmp_cmp; - int mmp_fd; - - /* - * Time at which e2fsck last updated the MMP block. - */ - long mmp_last_written; }; #if EXT2_FLAT_INCLUDES @@ -281,13 +254,6 @@ struct struct_ext2_filsys { #include #endif -/* - * 64-bit bitmap backend types - */ -#define EXT2FS_BMAP64_BITARRAY 1 -#define EXT2FS_BMAP64_RBTREE 2 -#define EXT2FS_BMAP64_AUTODIR 3 - /* * Return flags for the block iterator functions */ @@ -566,97 +532,44 @@ typedef struct ext2_icount *ext2_icount_t; EXT2_FEATURE_INCOMPAT_META_BG|\ EXT3_FEATURE_INCOMPAT_RECOVER|\ EXT3_FEATURE_INCOMPAT_EXTENTS|\ - EXT4_FEATURE_INCOMPAT_FLEX_BG|\ - EXT4_FEATURE_INCOMPAT_MMP|\ - EXT4_FEATURE_INCOMPAT_64BIT) + EXT4_FEATURE_INCOMPAT_FLEX_BG) #else #define EXT2_LIB_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE|\ EXT3_FEATURE_INCOMPAT_JOURNAL_DEV|\ EXT2_FEATURE_INCOMPAT_META_BG|\ EXT3_FEATURE_INCOMPAT_RECOVER|\ EXT3_FEATURE_INCOMPAT_EXTENTS|\ - EXT4_FEATURE_INCOMPAT_FLEX_BG|\ - EXT4_FEATURE_INCOMPAT_MMP|\ - EXT4_FEATURE_INCOMPAT_64BIT) + EXT4_FEATURE_INCOMPAT_FLEX_BG) #endif -#ifdef CONFIG_QUOTA #define EXT2_LIB_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER|\ EXT4_FEATURE_RO_COMPAT_HUGE_FILE|\ EXT2_FEATURE_RO_COMPAT_LARGE_FILE|\ EXT4_FEATURE_RO_COMPAT_DIR_NLINK|\ EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE|\ - EXT4_FEATURE_RO_COMPAT_GDT_CSUM|\ - EXT4_FEATURE_RO_COMPAT_BIGALLOC|\ - EXT4_FEATURE_RO_COMPAT_QUOTA) -#else -#define EXT2_LIB_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER|\ - EXT4_FEATURE_RO_COMPAT_HUGE_FILE|\ - EXT2_FEATURE_RO_COMPAT_LARGE_FILE|\ - EXT4_FEATURE_RO_COMPAT_DIR_NLINK|\ - EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE|\ - EXT4_FEATURE_RO_COMPAT_GDT_CSUM|\ - EXT4_FEATURE_RO_COMPAT_BIGALLOC) -#endif + EXT4_FEATURE_RO_COMPAT_GDT_CSUM) /* * These features are only allowed if EXT2_FLAG_SOFTSUPP_FEATURES is passed * to ext2fs_openfs() */ #define EXT2_LIB_SOFTSUPP_INCOMPAT (0) -#define EXT2_LIB_SOFTSUPP_RO_COMPAT (EXT4_FEATURE_RO_COMPAT_REPLICA) - - -/* Translate a block number to a cluster number */ -#define EXT2FS_CLUSTER_RATIO(fs) (1 << (fs)->cluster_ratio_bits) -#define EXT2FS_CLUSTER_MASK(fs) (EXT2FS_CLUSTER_RATIO(fs) - 1) -#define EXT2FS_B2C(fs, blk) ((blk) >> (fs)->cluster_ratio_bits) -/* Translate a cluster number to a block number */ -#define EXT2FS_C2B(fs, cluster) ((cluster) << (fs)->cluster_ratio_bits) -/* Translate # of blks to # of clusters */ -#define EXT2FS_NUM_B2C(fs, blks) (((blks) + EXT2FS_CLUSTER_MASK(fs)) >> \ - (fs)->cluster_ratio_bits) - -#if defined(HAVE_FSTAT64) && !defined(__OSX_AVAILABLE_BUT_DEPRECATED) -typedef struct stat64 ext2fs_struct_stat; -#else -typedef struct stat ext2fs_struct_stat; -#endif - -/* - * For ext2fs_close2() and ext2fs_flush2(), this flag allows you to - * avoid the fsync call. - */ -#define EXT2_FLAG_FLUSH_NO_SYNC 1 +#define EXT2_LIB_SOFTSUPP_RO_COMPAT (0) /* * function prototypes */ -/* The LARGE_FILE feature should be set if we have stored files 2GB+ in size */ -static inline int ext2fs_needs_large_file_feature(unsigned long long file_size) -{ - return file_size >= 0x80000000ULL; -} - /* alloc.c */ extern errcode_t ext2fs_new_inode(ext2_filsys fs, ext2_ino_t dir, int mode, ext2fs_inode_bitmap map, ext2_ino_t *ret); extern errcode_t ext2fs_new_block(ext2_filsys fs, blk_t goal, ext2fs_block_bitmap map, blk_t *ret); -extern errcode_t ext2fs_new_block2(ext2_filsys fs, blk64_t goal, - ext2fs_block_bitmap map, blk64_t *ret); extern errcode_t ext2fs_get_free_blocks(ext2_filsys fs, blk_t start, blk_t finish, int num, ext2fs_block_bitmap map, blk_t *ret); -extern errcode_t ext2fs_get_free_blocks2(ext2_filsys fs, blk64_t start, - blk64_t finish, int num, - ext2fs_block_bitmap map, - blk64_t *ret); extern errcode_t ext2fs_alloc_block(ext2_filsys fs, blk_t goal, char *block_buf, blk_t *ret); -extern errcode_t ext2fs_alloc_block2(ext2_filsys fs, blk64_t goal, - char *block_buf, blk64_t *ret); extern void ext2fs_set_alloc_block_callback(ext2_filsys fs, errcode_t (*func)(ext2_filsys fs, blk64_t goal, @@ -682,7 +595,6 @@ void ext2fs_inode_alloc_stats(ext2_filsys fs, ext2_ino_t ino, int inuse); void ext2fs_inode_alloc_stats2(ext2_filsys fs, ext2_ino_t ino, int inuse, int isdir); void ext2fs_block_alloc_stats(ext2_filsys fs, blk_t blk, int inuse); -void ext2fs_block_alloc_stats2(ext2_filsys fs, blk64_t blk, int inuse); /* alloc_tables.c */ extern errcode_t ext2fs_allocate_tables(ext2_filsys fs); @@ -747,10 +659,6 @@ extern errcode_t ext2fs_read_block_bitmap(ext2_filsys fs); extern errcode_t ext2fs_allocate_block_bitmap(ext2_filsys fs, const char *descr, ext2fs_block_bitmap *ret); -extern errcode_t ext2fs_allocate_subcluster_bitmap(ext2_filsys fs, - const char *descr, - ext2fs_block_bitmap *ret); -extern int ext2fs_get_bitmap_granularity(ext2fs_block_bitmap bitmap); extern errcode_t ext2fs_allocate_inode_bitmap(ext2_filsys fs, const char *descr, ext2fs_inode_bitmap *ret); @@ -758,22 +666,14 @@ extern errcode_t ext2fs_fudge_inode_bitmap_end(ext2fs_inode_bitmap bitmap, ext2_ino_t end, ext2_ino_t *oend); extern errcode_t ext2fs_fudge_block_bitmap_end(ext2fs_block_bitmap bitmap, blk_t end, blk_t *oend); -extern errcode_t ext2fs_fudge_block_bitmap_end2(ext2fs_block_bitmap bitmap, - blk64_t end, blk64_t *oend); extern void ext2fs_clear_inode_bitmap(ext2fs_inode_bitmap bitmap); extern void ext2fs_clear_block_bitmap(ext2fs_block_bitmap bitmap); extern errcode_t ext2fs_read_bitmaps(ext2_filsys fs); extern errcode_t ext2fs_write_bitmaps(ext2_filsys fs); extern errcode_t ext2fs_resize_inode_bitmap(__u32 new_end, __u32 new_real_end, ext2fs_inode_bitmap bmap); -extern errcode_t ext2fs_resize_inode_bitmap2(__u64 new_end, - __u64 new_real_end, - ext2fs_inode_bitmap bmap); extern errcode_t ext2fs_resize_block_bitmap(__u32 new_end, __u32 new_real_end, ext2fs_block_bitmap bmap); -extern errcode_t ext2fs_resize_block_bitmap2(__u64 new_end, - __u64 new_real_end, - ext2fs_block_bitmap bmap); extern errcode_t ext2fs_compare_block_bitmap(ext2fs_block_bitmap bm1, ext2fs_block_bitmap bm2); extern errcode_t ext2fs_compare_inode_bitmap(ext2fs_inode_bitmap bm1, @@ -781,88 +681,16 @@ extern errcode_t ext2fs_compare_inode_bitmap(ext2fs_inode_bitmap bm1, extern errcode_t ext2fs_set_inode_bitmap_range(ext2fs_inode_bitmap bmap, ext2_ino_t start, unsigned int num, void *in); -extern errcode_t ext2fs_set_inode_bitmap_range2(ext2fs_inode_bitmap bmap, - __u64 start, size_t num, - void *in); extern errcode_t ext2fs_get_inode_bitmap_range(ext2fs_inode_bitmap bmap, ext2_ino_t start, unsigned int num, void *out); -extern errcode_t ext2fs_get_inode_bitmap_range2(ext2fs_inode_bitmap bmap, - __u64 start, size_t num, - void *out); extern errcode_t ext2fs_set_block_bitmap_range(ext2fs_block_bitmap bmap, blk_t start, unsigned int num, void *in); -extern errcode_t ext2fs_set_block_bitmap_range2(ext2fs_block_bitmap bmap, - blk64_t start, size_t num, - void *in); extern errcode_t ext2fs_get_block_bitmap_range(ext2fs_block_bitmap bmap, blk_t start, unsigned int num, void *out); -extern errcode_t ext2fs_get_block_bitmap_range2(ext2fs_block_bitmap bmap, - blk64_t start, size_t num, - void *out); - -/* blknum.c */ -extern dgrp_t ext2fs_group_of_blk2(ext2_filsys fs, blk64_t); -extern blk64_t ext2fs_group_first_block2(ext2_filsys fs, dgrp_t group); -extern blk64_t ext2fs_group_last_block2(ext2_filsys fs, dgrp_t group); -extern int ext2fs_group_blocks_count(ext2_filsys fs, dgrp_t group); -extern blk64_t ext2fs_inode_data_blocks2(ext2_filsys fs, - struct ext2_inode *inode); -extern blk64_t ext2fs_inode_i_blocks(ext2_filsys fs, - struct ext2_inode *inode); -extern blk64_t ext2fs_blocks_count(struct ext2_super_block *super); -extern void ext2fs_blocks_count_set(struct ext2_super_block *super, - blk64_t blk); -extern void ext2fs_blocks_count_add(struct ext2_super_block *super, - blk64_t blk); -extern blk64_t ext2fs_r_blocks_count(struct ext2_super_block *super); -extern void ext2fs_r_blocks_count_set(struct ext2_super_block *super, - blk64_t blk); -extern void ext2fs_r_blocks_count_add(struct ext2_super_block *super, - blk64_t blk); -extern blk64_t ext2fs_free_blocks_count(struct ext2_super_block *super); -extern void ext2fs_free_blocks_count_set(struct ext2_super_block *super, - blk64_t blk); -extern void ext2fs_free_blocks_count_add(struct ext2_super_block *super, - blk64_t blk); -/* Block group descriptor accessor functions */ -extern struct ext2_group_desc *ext2fs_group_desc(ext2_filsys fs, - struct opaque_ext2_group_desc *gdp, - dgrp_t group); -extern blk64_t ext2fs_block_bitmap_loc(ext2_filsys fs, dgrp_t group); -extern void ext2fs_block_bitmap_loc_set(ext2_filsys fs, dgrp_t group, - blk64_t blk); -extern blk64_t ext2fs_inode_bitmap_loc(ext2_filsys fs, dgrp_t group); -extern void ext2fs_inode_bitmap_loc_set(ext2_filsys fs, dgrp_t group, - blk64_t blk); -extern blk64_t ext2fs_inode_table_loc(ext2_filsys fs, dgrp_t group); -extern void ext2fs_inode_table_loc_set(ext2_filsys fs, dgrp_t group, - blk64_t blk); -extern __u32 ext2fs_bg_free_blocks_count(ext2_filsys fs, dgrp_t group); -extern void ext2fs_bg_free_blocks_count_set(ext2_filsys fs, dgrp_t group, - __u32 n); -extern __u32 ext2fs_bg_free_inodes_count(ext2_filsys fs, dgrp_t group); -extern void ext2fs_bg_free_inodes_count_set(ext2_filsys fs, dgrp_t group, - __u32 n); -extern __u32 ext2fs_bg_used_dirs_count(ext2_filsys fs, dgrp_t group); -extern void ext2fs_bg_used_dirs_count_set(ext2_filsys fs, dgrp_t group, - __u32 n); -extern __u32 ext2fs_bg_itable_unused(ext2_filsys fs, dgrp_t group); -extern void ext2fs_bg_itable_unused_set(ext2_filsys fs, dgrp_t group, - __u32 n); -extern __u16 ext2fs_bg_flags(ext2_filsys fs, dgrp_t group); -extern void ext2fs_bg_flags_zap(ext2_filsys fs, dgrp_t group); -extern int ext2fs_bg_flags_test(ext2_filsys fs, dgrp_t group, __u16 bg_flag); -extern void ext2fs_bg_flags_set(ext2_filsys fs, dgrp_t group, __u16 bg_flags); -extern void ext2fs_bg_flags_clear(ext2_filsys fs, dgrp_t group, __u16 bg_flags); -extern __u16 ext2fs_bg_checksum(ext2_filsys fs, dgrp_t group); -extern void ext2fs_bg_checksum_set(ext2_filsys fs, dgrp_t group, __u16 checksum); -extern blk64_t ext2fs_file_acl_block(ext2_filsys fs, - const struct ext2_inode *inode); -extern void ext2fs_file_acl_block_set(ext2_filsys fs, - struct ext2_inode *inode, blk64_t blk); + /* block.c */ extern errcode_t ext2fs_block_iterate(ext2_filsys fs, @@ -885,17 +713,6 @@ errcode_t ext2fs_block_iterate2(ext2_filsys fs, int ref_offset, void *priv_data), void *priv_data); -errcode_t ext2fs_block_iterate3(ext2_filsys fs, - ext2_ino_t ino, - int flags, - char *block_buf, - int (*func)(ext2_filsys fs, - blk64_t *blocknr, - e2_blkcnt_t blockcnt, - blk64_t ref_blk, - int ref_offset, - void *priv_data), - void *priv_data); /* bmap.c */ extern errcode_t ext2fs_bmap(ext2_filsys fs, ext2_ino_t ino, @@ -906,9 +723,6 @@ extern errcode_t ext2fs_bmap2(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode *inode, char *block_buf, int bmap_flags, blk64_t block, int *ret_flags, blk64_t *phys_blk); -errcode_t ext2fs_map_cluster_block(ext2_filsys fs, ext2_ino_t ino, - struct ext2_inode *inode, blk64_t lblk, - blk64_t *pblk); #if 0 /* bmove.c */ @@ -923,16 +737,8 @@ extern errcode_t ext2fs_check_desc(ext2_filsys fs); /* closefs.c */ extern errcode_t ext2fs_close(ext2_filsys fs); -extern errcode_t ext2fs_close2(ext2_filsys fs, int flags); extern errcode_t ext2fs_flush(ext2_filsys fs); -extern errcode_t ext2fs_flush2(ext2_filsys fs, int flags); -extern int ext2fs_bg_has_super(ext2_filsys fs, dgrp_t group_block); -extern errcode_t ext2fs_super_and_bgd_loc2(ext2_filsys fs, - dgrp_t group, - blk64_t *ret_super_blk, - blk64_t *ret_old_desc_blk, - blk64_t *ret_new_desc_blk, - blk_t *ret_used_blks); +extern int ext2fs_bg_has_super(ext2_filsys fs, int group_block); extern int ext2fs_super_and_bgd_loc(ext2_filsys fs, dgrp_t group, blk_t *ret_super_blk, @@ -941,15 +747,10 @@ extern int ext2fs_super_and_bgd_loc(ext2_filsys fs, int *ret_meta_bg); extern void ext2fs_update_dynamic_rev(ext2_filsys fs); -/* crc32c.c */ -extern __u32 ext2fs_crc32c_be(__u32 crc, unsigned char const *p, size_t len); -extern __u32 ext2fs_crc32c_le(__u32 crc, unsigned char const *p, size_t len); - /* csum.c */ extern void ext2fs_group_desc_csum_set(ext2_filsys fs, dgrp_t group); extern int ext2fs_group_desc_csum_verify(ext2_filsys fs, dgrp_t group); extern errcode_t ext2fs_set_gdt_csum(ext2_filsys fs); -extern __u16 ext2fs_group_desc_csum(ext2_filsys fs, dgrp_t group); /* dblist.c */ @@ -957,34 +758,20 @@ extern errcode_t ext2fs_get_num_dirs(ext2_filsys fs, ext2_ino_t *ret_num_dirs); extern errcode_t ext2fs_init_dblist(ext2_filsys fs, ext2_dblist *ret_dblist); extern errcode_t ext2fs_add_dir_block(ext2_dblist dblist, ext2_ino_t ino, blk_t blk, int blockcnt); -extern errcode_t ext2fs_add_dir_block2(ext2_dblist dblist, ext2_ino_t ino, - blk64_t blk, e2_blkcnt_t blockcnt); extern void ext2fs_dblist_sort(ext2_dblist dblist, EXT2_QSORT_TYPE (*sortfunc)(const void *, const void *)); -extern void ext2fs_dblist_sort2(ext2_dblist dblist, - EXT2_QSORT_TYPE (*sortfunc)(const void *, - const void *)); extern errcode_t ext2fs_dblist_iterate(ext2_dblist dblist, int (*func)(ext2_filsys fs, struct ext2_db_entry *db_info, void *priv_data), void *priv_data); -extern errcode_t ext2fs_dblist_iterate2(ext2_dblist dblist, - int (*func)(ext2_filsys fs, struct ext2_db_entry2 *db_info, - void *priv_data), - void *priv_data); extern errcode_t ext2fs_set_dir_block(ext2_dblist dblist, ext2_ino_t ino, blk_t blk, int blockcnt); -extern errcode_t ext2fs_set_dir_block2(ext2_dblist dblist, ext2_ino_t ino, - blk64_t blk, e2_blkcnt_t blockcnt); extern errcode_t ext2fs_copy_dblist(ext2_dblist src, ext2_dblist *dest); extern int ext2fs_dblist_count(ext2_dblist dblist); -extern blk64_t ext2fs_dblist_count2(ext2_dblist dblist); extern errcode_t ext2fs_dblist_get_last(ext2_dblist dblist, struct ext2_db_entry **entry); -extern errcode_t ext2fs_dblist_get_last2(ext2_dblist dblist, - struct ext2_db_entry2 **entry); extern errcode_t ext2fs_dblist_drop_last(ext2_dblist dblist); /* dblist_dir.c */ @@ -1006,14 +793,10 @@ extern errcode_t ext2fs_read_dir_block(ext2_filsys fs, blk_t block, void *buf); extern errcode_t ext2fs_read_dir_block2(ext2_filsys fs, blk_t block, void *buf, int flags); -extern errcode_t ext2fs_read_dir_block3(ext2_filsys fs, blk64_t block, - void *buf, int flags); extern errcode_t ext2fs_write_dir_block(ext2_filsys fs, blk_t block, void *buf); extern errcode_t ext2fs_write_dir_block2(ext2_filsys fs, blk_t block, void *buf, int flags); -extern errcode_t ext2fs_write_dir_block3(ext2_filsys fs, blk64_t block, - void *buf, int flags); /* dirhash.c */ extern errcode_t ext2fs_dirhash(int version, const char *name, int len, @@ -1062,18 +845,11 @@ extern errcode_t ext2fs_expand_dir(ext2_filsys fs, ext2_ino_t dir); extern __u32 ext2fs_ext_attr_hash_entry(struct ext2_ext_attr_entry *entry, void *data); extern errcode_t ext2fs_read_ext_attr(ext2_filsys fs, blk_t block, void *buf); -extern errcode_t ext2fs_read_ext_attr2(ext2_filsys fs, blk64_t block, - void *buf); extern errcode_t ext2fs_write_ext_attr(ext2_filsys fs, blk_t block, void *buf); -extern errcode_t ext2fs_write_ext_attr2(ext2_filsys fs, blk64_t block, - void *buf); extern errcode_t ext2fs_adjust_ea_refcount(ext2_filsys fs, blk_t blk, char *block_buf, int adjust, __u32 *newcount); -extern errcode_t ext2fs_adjust_ea_refcount2(ext2_filsys fs, blk64_t blk, - char *block_buf, - int adjust, __u32 *newcount); /* extent.c */ extern errcode_t ext2fs_extent_header_verify(void *ptr, int size); @@ -1085,7 +861,6 @@ extern errcode_t ext2fs_extent_open2(ext2_filsys fs, ext2_ino_t ino, extern void ext2fs_extent_free(ext2_extent_handle_t handle); extern errcode_t ext2fs_extent_get(ext2_extent_handle_t handle, int flags, struct ext2fs_extent *extent); -extern errcode_t ext2fs_extent_node_split(ext2_extent_handle_t handle); extern errcode_t ext2fs_extent_replace(ext2_extent_handle_t handle, int flags, struct ext2fs_extent *extent); extern errcode_t ext2fs_extent_insert(ext2_extent_handle_t handle, int flags, @@ -1098,9 +873,6 @@ extern errcode_t ext2fs_extent_get_info(ext2_extent_handle_t handle, struct ext2_extent_info *info); extern errcode_t ext2fs_extent_goto(ext2_extent_handle_t handle, blk64_t blk); -extern errcode_t ext2fs_extent_goto2(ext2_extent_handle_t handle, - int leaf_level, blk64_t blk); -extern errcode_t ext2fs_extent_fix_parents(ext2_extent_handle_t handle); /* fileio.c */ extern errcode_t ext2fs_file_open2(ext2_filsys fs, ext2_ino_t ino, @@ -1109,8 +881,6 @@ extern errcode_t ext2fs_file_open2(ext2_filsys fs, ext2_ino_t ino, extern errcode_t ext2fs_file_open(ext2_filsys fs, ext2_ino_t ino, int flags, ext2_file_t *ret); extern ext2_filsys ext2fs_file_get_fs(ext2_file_t file); -struct ext2_inode *ext2fs_file_get_inode(ext2_file_t file); -extern ext2_ino_t ext2fs_file_get_inode_num(ext2_file_t file); extern errcode_t ext2fs_file_close(ext2_file_t file); extern errcode_t ext2fs_file_flush(ext2_file_t file); extern errcode_t ext2fs_file_read(ext2_file_t file, void *buf, @@ -1124,7 +894,6 @@ extern errcode_t ext2fs_file_lseek(ext2_file_t file, ext2_off_t offset, errcode_t ext2fs_file_get_lsize(ext2_file_t file, __u64 *ret_size); extern ext2_off_t ext2fs_file_get_size(ext2_file_t file); extern errcode_t ext2fs_file_set_size(ext2_file_t file, ext2_off_t size); -extern errcode_t ext2fs_file_set_size2(ext2_file_t file, ext2_off64_t size); /* finddev.c */ extern char *ext2fs_find_block_device(dev_t device); @@ -1174,42 +943,6 @@ extern errcode_t ext2fs_set_generic_bitmap_range(ext2fs_generic_bitmap bmap, errcode_t magic, __u32 start, __u32 num, void *in); -extern errcode_t ext2fs_find_first_zero_generic_bitmap(ext2fs_generic_bitmap bitmap, - __u32 start, __u32 end, - __u32 *out); - -/* gen_bitmap64.c */ - -/* Generate and print bitmap usage statistics */ -#define BMAP_STATS - -void ext2fs_free_generic_bmap(ext2fs_generic_bitmap bmap); -errcode_t ext2fs_alloc_generic_bmap(ext2_filsys fs, errcode_t magic, - int type, __u64 start, __u64 end, - __u64 real_end, - const char *descr, - ext2fs_generic_bitmap *ret); -errcode_t ext2fs_copy_generic_bmap(ext2fs_generic_bitmap src, - ext2fs_generic_bitmap *dest); -void ext2fs_clear_generic_bmap(ext2fs_generic_bitmap bitmap); -errcode_t ext2fs_fudge_generic_bmap_end(ext2fs_generic_bitmap bitmap, - errcode_t neq, - __u64 end, __u64 *oend); -void ext2fs_set_generic_bmap_padding(ext2fs_generic_bitmap bmap); -errcode_t ext2fs_resize_generic_bmap(ext2fs_generic_bitmap bmap, - __u64 new_end, - __u64 new_real_end); -errcode_t ext2fs_compare_generic_bmap(errcode_t neq, - ext2fs_generic_bitmap bm1, - ext2fs_generic_bitmap bm2); -errcode_t ext2fs_get_generic_bmap_range(ext2fs_generic_bitmap bmap, - __u64 start, unsigned int num, - void *out); -errcode_t ext2fs_set_generic_bmap_range(ext2fs_generic_bitmap bmap, - __u64 start, unsigned int num, - void *in); -errcode_t ext2fs_convert_subcluster_bitmap(ext2_filsys fs, - ext2fs_block_bitmap *bitmap); /* getsize.c */ extern errcode_t ext2fs_get_device_size(const char *file, int blocksize, @@ -1218,7 +951,6 @@ extern errcode_t ext2fs_get_device_size2(const char *file, int blocksize, blk64_t *retblocks); /* getsectsize.c */ -extern int ext2fs_get_dio_alignment(int fd); errcode_t ext2fs_get_device_sectsize(const char *file, int *sectsize); errcode_t ext2fs_get_device_phys_sectsize(const char *file, int *sectsize); @@ -1267,11 +999,6 @@ extern errcode_t ext2fs_icount_store(ext2_icount_t icount, ext2_ino_t ino, extern ext2_ino_t ext2fs_get_icount_size(ext2_icount_t icount); errcode_t ext2fs_icount_validate(ext2_icount_t icount, FILE *); -/* inline.c */ - -extern errcode_t ext2fs_get_memalign(unsigned long size, - unsigned long align, void *ptr); - /* inode.c */ extern errcode_t ext2fs_flush_icache(ext2_filsys fs); extern errcode_t ext2fs_get_next_inode_full(ext2_inode_scan scan, @@ -1322,16 +1049,6 @@ extern errcode_t ext2fs_check_if_mounted(const char *file, int *mount_flags); extern errcode_t ext2fs_check_mount_point(const char *device, int *mount_flags, char *mtpt, int mtlen); -/* punch.c */ -/* - * NOTE: This function removes from an inode the blocks "start", "end", and - * every block in between. - */ -extern errcode_t ext2fs_punch(ext2_filsys fs, ext2_ino_t ino, - struct ext2_inode *inode, - char *block_buf, blk64_t start, - blk64_t end); - /* namei.c */ extern errcode_t ext2fs_lookup(ext2_filsys fs, ext2_ino_t dir, const char *name, int namelen, char *buf, ext2_ino_t *inode); @@ -1356,16 +1073,14 @@ extern errcode_t ext2fs_mkdir(ext2_filsys fs, ext2_ino_t parent, ext2_ino_t inum /* mkjournal.c */ extern errcode_t ext2fs_zero_blocks(ext2_filsys fs, blk_t blk, int num, blk_t *ret_blk, int *ret_count); -extern errcode_t ext2fs_zero_blocks2(ext2_filsys fs, blk64_t blk, int num, - blk64_t *ret_blk, int *ret_count); extern errcode_t ext2fs_create_journal_superblock(ext2_filsys fs, - __u32 num_blocks, int flags, + __u32 size, int flags, char **ret_jsb); extern errcode_t ext2fs_add_journal_device(ext2_filsys fs, ext2_filsys journal_dev); -extern errcode_t ext2fs_add_journal_inode(ext2_filsys fs, blk_t num_blocks, +extern errcode_t ext2fs_add_journal_inode(ext2_filsys fs, blk_t size, int flags); -extern int ext2fs_default_journal_size(__u64 num_blocks); +extern int ext2fs_default_journal_size(__u64 blocks); /* openfs.c */ extern errcode_t ext2fs_open(const char *name, int flags, int superblock, @@ -1375,8 +1090,6 @@ extern errcode_t ext2fs_open2(const char *name, const char *io_options, int flags, int superblock, unsigned int block_size, io_manager manager, ext2_filsys *ret_fs); -extern blk64_t ext2fs_descriptor_block_loc2(ext2_filsys fs, - blk64_t group_block, dgrp_t i); extern blk_t ext2fs_descriptor_block_loc(ext2_filsys fs, blk_t group_block, dgrp_t i); errcode_t ext2fs_get_data_io(ext2_filsys fs, io_channel *old_io); @@ -1393,20 +1106,6 @@ errcode_t ext2fs_link(ext2_filsys fs, ext2_ino_t dir, const char *name, errcode_t ext2fs_unlink(ext2_filsys fs, ext2_ino_t dir, const char *name, ext2_ino_t ino, int flags); -/* symlink.c */ -errcode_t ext2fs_symlink(ext2_filsys fs, ext2_ino_t parent, ext2_ino_t ino, - const char *name, char *target); - -/* mmp.c */ -errcode_t ext2fs_mmp_read(ext2_filsys fs, blk64_t mmp_blk, void *buf); -errcode_t ext2fs_mmp_write(ext2_filsys fs, blk64_t mmp_blk, void *buf); -errcode_t ext2fs_mmp_clear(ext2_filsys fs); -errcode_t ext2fs_mmp_init(ext2_filsys fs); -errcode_t ext2fs_mmp_start(ext2_filsys fs); -errcode_t ext2fs_mmp_update(ext2_filsys fs); -errcode_t ext2fs_mmp_stop(ext2_filsys fs); -unsigned ext2fs_mmp_new_seq(void); - /* read_bb.c */ extern errcode_t ext2fs_read_bb_inode(ext2_filsys fs, ext2_badblocks_list *bb_list); @@ -1436,23 +1135,14 @@ extern void ext2fs_swap_ext_attr_entry(struct ext2_ext_attr_entry *to_entry, struct ext2_ext_attr_entry *from_entry); extern void ext2fs_swap_super(struct ext2_super_block * super); extern void ext2fs_swap_group_desc(struct ext2_group_desc *gdp); -extern void ext2fs_swap_group_desc2(ext2_filsys, struct ext2_group_desc *gdp); extern void ext2fs_swap_inode_full(ext2_filsys fs, struct ext2_inode_large *t, struct ext2_inode_large *f, int hostorder, int bufsize); extern void ext2fs_swap_inode(ext2_filsys fs,struct ext2_inode *t, struct ext2_inode *f, int hostorder); -extern void ext2fs_swap_mmp(struct mmp_struct *mmp); - -/* unix_io.c */ -extern int ext2fs_open_file(const char *pathname, int flags, mode_t mode); -extern int ext2fs_stat(const char *path, ext2fs_struct_stat *buf); -extern int ext2fs_fstat(int fd, ext2fs_struct_stat *buf); /* valid_blk.c */ extern int ext2fs_inode_has_valid_blocks(struct ext2_inode *inode); -extern int ext2fs_inode_has_valid_blocks2(ext2_filsys fs, - struct ext2_inode *inode); /* version.c */ extern int ext2fs_parse_version_string(const char *ver_string); @@ -1466,13 +1156,9 @@ extern errcode_t ext2fs_write_bb_FILE(ext2_badblocks_list bb_list, /* inline functions */ -#ifdef NO_INLINE_FUNCS extern errcode_t ext2fs_get_mem(unsigned long size, void *ptr); -extern errcode_t ext2fs_get_memzero(unsigned long size, void *ptr); -extern errcode_t ext2fs_get_array(unsigned long count, - unsigned long size, void *ptr); -extern errcode_t ext2fs_get_arrayzero(unsigned long count, - unsigned long size, void *ptr); +extern errcode_t ext2fs_get_memalign(unsigned long size, + unsigned long align, void *ptr); extern errcode_t ext2fs_free_mem(void *ptr); extern errcode_t ext2fs_resize_mem(unsigned long old_size, unsigned long size, void *ptr); @@ -1486,15 +1172,13 @@ extern void ext2fs_mark_ib_dirty(ext2_filsys fs); extern void ext2fs_mark_bb_dirty(ext2_filsys fs); extern int ext2fs_test_ib_dirty(ext2_filsys fs); extern int ext2fs_test_bb_dirty(ext2_filsys fs); -extern dgrp_t ext2fs_group_of_blk(ext2_filsys fs, blk_t blk); -extern dgrp_t ext2fs_group_of_ino(ext2_filsys fs, ext2_ino_t ino); +extern int ext2fs_group_of_blk(ext2_filsys fs, blk_t blk); +extern int ext2fs_group_of_ino(ext2_filsys fs, ext2_ino_t ino); extern blk_t ext2fs_group_first_block(ext2_filsys fs, dgrp_t group); extern blk_t ext2fs_group_last_block(ext2_filsys fs, dgrp_t group); extern blk_t ext2fs_inode_data_blocks(ext2_filsys fs, struct ext2_inode *inode); extern unsigned int ext2fs_div_ceil(unsigned int a, unsigned int b); -extern __u64 ext2fs_div64_ceil(__u64 a, __u64 b); -#endif /* * The actual inlined functions definitions themselves... @@ -1506,21 +1190,17 @@ extern __u64 ext2fs_div64_ceil(__u64 a, __u64 b); #ifdef INCLUDE_INLINE_FUNCS #define _INLINE_ extern #else -#if (__STDC_VERSION__ >= 199901L) -#define _INLINE_ inline -#else #ifdef __GNUC__ #define _INLINE_ extern __inline__ #else /* For Watcom C */ #define _INLINE_ extern inline -#endif /* __GNUC__ */ -#endif /* __STDC_VERSION__ >= 199901L */ +#endif #endif #ifndef EXT2_CUSTOM_MEMORY_ROUTINES #include /* - * Allocate memory. The 'ptr' arg must point to a pointer. + * Allocate memory */ _INLINE_ errcode_t ext2fs_get_mem(unsigned long size, void *ptr) { @@ -1533,41 +1213,42 @@ _INLINE_ errcode_t ext2fs_get_mem(unsigned long size, void *ptr) return 0; } -_INLINE_ errcode_t ext2fs_get_memzero(unsigned long size, void *ptr) +_INLINE_ errcode_t ext2fs_get_memalign(unsigned long size, + unsigned long align, void *ptr) { - void *pp; + errcode_t retval; - pp = malloc(size); - if (!pp) + if (align == 0) + align = 8; + +#if defined(__APPLE__) && defined(__MACH__) + /* MacOS 10.5, which we build for, doesn't have posix_memalign. + * The only option is valloc, but only use it if the requested + * alignment is larger than the alignment provided by malloc. + * The idea for this fix came from a patch on the macports website. + */ + *(void **) ptr = (align > 16) ? valloc(size) : malloc(size); + if (*(void **)ptr == NULL) return EXT2_ET_NO_MEMORY; - memset(pp, 0, size); - memcpy(ptr, &pp, sizeof(pp)); +#else + if ((retval = posix_memalign((void **) ptr, align, size))) { + if (retval == ENOMEM) + return EXT2_ET_NO_MEMORY; + return retval; + } +#endif return 0; } _INLINE_ errcode_t ext2fs_get_array(unsigned long count, unsigned long size, void *ptr) { if (count && (-1UL)/countsuper->s_first_data_block) / + fs->super->s_blocks_per_group; } + /* * Return the group # of an inode number */ -_INLINE_ dgrp_t ext2fs_group_of_ino(ext2_filsys fs, ext2_ino_t ino) +_INLINE_ int ext2fs_group_of_ino(ext2_filsys fs, ext2_ino_t ino) { return (ino - 1) / fs->super->s_inodes_per_group; } @@ -1699,7 +1382,8 @@ _INLINE_ dgrp_t ext2fs_group_of_ino(ext2_filsys fs, ext2_ino_t ino) */ _INLINE_ blk_t ext2fs_group_first_block(ext2_filsys fs, dgrp_t group) { - return (blk_t) ext2fs_group_first_block2(fs, group); + return fs->super->s_first_data_block + + (group * fs->super->s_blocks_per_group); } /* @@ -1707,13 +1391,17 @@ _INLINE_ blk_t ext2fs_group_first_block(ext2_filsys fs, dgrp_t group) */ _INLINE_ blk_t ext2fs_group_last_block(ext2_filsys fs, dgrp_t group) { - return (blk_t) ext2fs_group_last_block2(fs, group); + return (group == fs->group_desc_count - 1 ? + fs->super->s_blocks_count - 1 : + ext2fs_group_first_block(fs, group) + + (fs->super->s_blocks_per_group - 1)); } _INLINE_ blk_t ext2fs_inode_data_blocks(ext2_filsys fs, struct ext2_inode *inode) { - return (blk_t) ext2fs_inode_data_blocks2(fs, inode); + return inode->i_blocks - + (inode->i_file_acl ? fs->blocksize >> 9 : 0); } /* @@ -1725,14 +1413,6 @@ _INLINE_ unsigned int ext2fs_div_ceil(unsigned int a, unsigned int b) return 0; return ((a - 1) / b) + 1; } - -_INLINE_ __u64 ext2fs_div64_ceil(__u64 a, __u64 b) -{ - if (!a) - return 0; - return ((a - 1) / b) + 1; -} - #undef _INLINE_ #endif diff --git a/lib/ext2fs/ext2fs.pc.in b/lib/ext2fs/ext2fs.pc.in index efac85e3..8db86635 100644 --- a/lib/ext2fs/ext2fs.pc.in +++ b/lib/ext2fs/ext2fs.pc.in @@ -7,5 +7,5 @@ Name: ext2fs Description: Ext2fs library Version: @E2FSPROGS_VERSION@ Requires.private: com_err -Cflags: -I${includedir}/ext2fs -I${includedir} +Cflags: -I${includedir}/ext2fs Libs: -L${libdir} -lext2fs diff --git a/lib/ext2fs/ext2fsP.h b/lib/ext2fs/ext2fsP.h index a88db93e..8772a4fc 100644 --- a/lib/ext2fs/ext2fsP.h +++ b/lib/ext2fs/ext2fsP.h @@ -11,8 +11,6 @@ #include "ext2fs.h" -#define EXT2FS_MAX_NESTED_LINKS 8 - /* * Badblocks list */ @@ -37,10 +35,10 @@ struct ext2_struct_u32_iterate { struct ext2_struct_dblist { int magic; ext2_filsys fs; - unsigned long long size; - unsigned long long count; + ext2_ino_t size; + ext2_ino_t count; int sorted; - struct ext2_db_entry2 * list; + struct ext2_db_entry * list; }; /* @@ -66,7 +64,7 @@ struct dir_context { */ struct ext2_inode_cache { void * buffer; - blk64_t buffer_blk; + blk_t buffer_blk; int cache_last; int cache_size; int refcount; @@ -81,67 +79,10 @@ struct ext2_inode_cache_ent { /* Function prototypes */ extern int ext2fs_process_dir_block(ext2_filsys fs, - blk64_t *blocknr, + blk_t *blocknr, e2_blkcnt_t blockcnt, - blk64_t ref_block, + blk_t ref_block, int ref_offset, void *priv_data); -/* Generic numeric progress meter */ - -struct ext2fs_numeric_progress_struct { - __u64 max; - int log_max; - int skip_progress; -}; - -extern void ext2fs_numeric_progress_init(ext2_filsys fs, - struct ext2fs_numeric_progress_struct * progress, - const char *label, __u64 max); -extern void ext2fs_numeric_progress_update(ext2_filsys fs, - struct ext2fs_numeric_progress_struct * progress, - __u64 val); -extern void ext2fs_numeric_progress_close(ext2_filsys fs, - struct ext2fs_numeric_progress_struct * progress, - const char *message); - -/* - * 64-bit bitmap support - */ - -extern errcode_t ext2fs_alloc_generic_bmap(ext2_filsys fs, errcode_t magic, - int type, __u64 start, __u64 end, - __u64 real_end, - const char * description, - ext2fs_generic_bitmap *bmap); - -extern void ext2fs_free_generic_bmap(ext2fs_generic_bitmap bmap); - -extern errcode_t ext2fs_copy_generic_bmap(ext2fs_generic_bitmap src, - ext2fs_generic_bitmap *dest); - -extern errcode_t ext2fs_resize_generic_bmap(ext2fs_generic_bitmap bmap, - __u64 new_end, - __u64 new_real_end); -extern errcode_t ext2fs_fudge_generic_bmap_end(ext2fs_generic_bitmap bitmap, - errcode_t neq, - __u64 end, __u64 *oend); -extern int ext2fs_mark_generic_bmap(ext2fs_generic_bitmap bitmap, - __u64 arg); -extern int ext2fs_unmark_generic_bmap(ext2fs_generic_bitmap bitmap, - __u64 arg); -extern int ext2fs_test_generic_bmap(ext2fs_generic_bitmap bitmap, - __u64 arg); -extern errcode_t ext2fs_set_generic_bmap_range(ext2fs_generic_bitmap bitmap, - __u64 start, unsigned int num, - void *in); -extern errcode_t ext2fs_get_generic_bmap_range(ext2fs_generic_bitmap bitmap, - __u64 start, unsigned int num, - void *out); -extern void ext2fs_warn_bitmap32(ext2fs_generic_bitmap bitmap,const char *func); - -extern int ext2fs_mem_is_zero(const char *mem, size_t len); -extern int ext2fs_file_block_offset_too_big(ext2_filsys fs, - struct ext2_inode *inode, - blk64_t offset); diff --git a/lib/ext2fs/ext_attr.c b/lib/ext2fs/ext_attr.c index ddcc89f7..358003ee 100644 --- a/lib/ext2fs/ext_attr.c +++ b/lib/ext2fs/ext_attr.c @@ -60,11 +60,11 @@ __u32 ext2fs_ext_attr_hash_entry(struct ext2_ext_attr_entry *entry, void *data) #undef NAME_HASH_SHIFT #undef VALUE_HASH_SHIFT -errcode_t ext2fs_read_ext_attr2(ext2_filsys fs, blk64_t block, void *buf) +errcode_t ext2fs_read_ext_attr(ext2_filsys fs, blk_t block, void *buf) { errcode_t retval; - retval = io_channel_read_blk64(fs->io, block, 1, buf); + retval = io_channel_read_blk(fs->io, block, 1, buf); if (retval) return retval; #ifdef WORDS_BIGENDIAN @@ -73,18 +73,13 @@ errcode_t ext2fs_read_ext_attr2(ext2_filsys fs, blk64_t block, void *buf) return 0; } -errcode_t ext2fs_read_ext_attr(ext2_filsys fs, blk_t block, void *buf) -{ - return ext2fs_read_ext_attr2(fs, block, buf); -} - -errcode_t ext2fs_write_ext_attr2(ext2_filsys fs, blk64_t block, void *inbuf) +errcode_t ext2fs_write_ext_attr(ext2_filsys fs, blk_t block, void *inbuf) { errcode_t retval; char *write_buf; -#ifdef WORDS_BIGENDIAN char *buf = NULL; +#ifdef WORDS_BIGENDIAN retval = ext2fs_get_mem(fs->blocksize, &buf); if (retval) return retval; @@ -93,24 +88,18 @@ errcode_t ext2fs_write_ext_attr2(ext2_filsys fs, blk64_t block, void *inbuf) #else write_buf = (char *) inbuf; #endif - retval = io_channel_write_blk64(fs->io, block, 1, write_buf); -#ifdef WORDS_BIGENDIAN - ext2fs_free_mem(&buf); -#endif + retval = io_channel_write_blk(fs->io, block, 1, write_buf); + if (buf) + ext2fs_free_mem(&buf); if (!retval) ext2fs_mark_changed(fs); return retval; } -errcode_t ext2fs_write_ext_attr(ext2_filsys fs, blk_t block, void *inbuf) -{ - return ext2fs_write_ext_attr2(fs, block, inbuf); -} - /* * This function adjusts the reference count of the EA block. */ -errcode_t ext2fs_adjust_ea_refcount2(ext2_filsys fs, blk64_t blk, +errcode_t ext2fs_adjust_ea_refcount(ext2_filsys fs, blk_t blk, char *block_buf, int adjust, __u32 *newcount) { @@ -118,7 +107,7 @@ errcode_t ext2fs_adjust_ea_refcount2(ext2_filsys fs, blk64_t blk, struct ext2_ext_attr_header *header; char *buf = 0; - if ((blk >= ext2fs_blocks_count(fs->super)) || + if ((blk >= fs->super->s_blocks_count) || (blk < fs->super->s_first_data_block)) return EXT2_ET_BAD_EA_BLOCK_NUM; @@ -129,7 +118,7 @@ errcode_t ext2fs_adjust_ea_refcount2(ext2_filsys fs, blk64_t blk, block_buf = buf; } - retval = ext2fs_read_ext_attr2(fs, blk, block_buf); + retval = ext2fs_read_ext_attr(fs, blk, block_buf); if (retval) goto errout; @@ -138,7 +127,7 @@ errcode_t ext2fs_adjust_ea_refcount2(ext2_filsys fs, blk64_t blk, if (newcount) *newcount = header->h_refcount; - retval = ext2fs_write_ext_attr2(fs, blk, block_buf); + retval = ext2fs_write_ext_attr(fs, blk, block_buf); if (retval) goto errout; @@ -147,10 +136,3 @@ errout: ext2fs_free_mem(&buf); return retval; } - -errcode_t ext2fs_adjust_ea_refcount(ext2_filsys fs, blk_t blk, - char *block_buf, int adjust, - __u32 *newcount) -{ - return ext2fs_adjust_ea_refcount(fs, blk, block_buf, adjust, newcount); -} diff --git a/lib/ext2fs/extent.c b/lib/ext2fs/extent.c index fc6c95b8..053ff158 100644 --- a/lib/ext2fs/extent.c +++ b/lib/ext2fs/extent.c @@ -53,7 +53,6 @@ struct ext2_extent_handle { ext2_filsys fs; ext2_ino_t ino; struct ext2_inode *inode; - struct ext2_inode inodebuf; int type; int level; int max_depth; @@ -159,13 +158,15 @@ errcode_t ext2fs_extent_header_verify(void *ptr, int size) /* * Begin functions to handle an inode's extent information */ -void ext2fs_extent_free(ext2_extent_handle_t handle) +extern void ext2fs_extent_free(ext2_extent_handle_t handle) { int i; if (!handle) return; + if (handle->inode) + ext2fs_free_mem(&handle->inode); if (handle->path) { for (i=1; i <= handle->max_depth; i++) { if (handle->path[i].buf) @@ -176,13 +177,13 @@ void ext2fs_extent_free(ext2_extent_handle_t handle) ext2fs_free_mem(&handle); } -errcode_t ext2fs_extent_open(ext2_filsys fs, ext2_ino_t ino, +extern errcode_t ext2fs_extent_open(ext2_filsys fs, ext2_ino_t ino, ext2_extent_handle_t *ret_handle) { return ext2fs_extent_open2(fs, ino, NULL, ret_handle); } -errcode_t ext2fs_extent_open2(ext2_filsys fs, ext2_ino_t ino, +extern errcode_t ext2fs_extent_open2(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode *inode, ext2_extent_handle_t *ret_handle) { @@ -202,13 +203,17 @@ errcode_t ext2fs_extent_open2(ext2_filsys fs, ext2_ino_t ino, return retval; memset(handle, 0, sizeof(struct ext2_extent_handle)); + retval = ext2fs_get_mem(sizeof(struct ext2_inode), &handle->inode); + if (retval) + goto errout; + handle->ino = ino; handle->fs = fs; if (inode) { - handle->inode = inode; - } else { - handle->inode = &handle->inodebuf; + memcpy(handle->inode, inode, sizeof(struct ext2_inode)); + } + else { retval = ext2fs_read_inode(fs, ino, handle->inode); if (retval) goto errout; @@ -253,8 +258,9 @@ errcode_t ext2fs_extent_open2(ext2_filsys fs, ext2_ino_t ino, handle->path[0].max_entries = ext2fs_le16_to_cpu(eh->eh_max); handle->path[0].curr = 0; handle->path[0].end_blk = - (EXT2_I_SIZE(handle->inode) + fs->blocksize - 1) >> - EXT2_BLOCK_SIZE_BITS(fs->super); + ((((__u64) handle->inode->i_size_high << 32) + + handle->inode->i_size + (fs->blocksize - 1)) + >> EXT2_BLOCK_SIZE_BITS(fs->super)); handle->path[0].visit_num = 1; handle->level = 0; handle->magic = EXT2_ET_MAGIC_EXTENT_HANDLE; @@ -279,7 +285,7 @@ errcode_t ext2fs_extent_get(ext2_extent_handle_t handle, struct ext3_extent_idx *ix = 0; struct ext3_extent *ex; errcode_t retval; - blk64_t blk; + blk_t blk; blk64_t end_blk; int orig_op, op; @@ -373,11 +379,9 @@ retry: case EXT2_EXTENT_ROOT: handle->level = 0; path = handle->path + handle->level; - /* fallthrough */ case EXT2_EXTENT_FIRST_SIB: path->left = path->entries; path->curr = 0; - /* fallthrough */ case EXT2_EXTENT_NEXT_SIB: if (path->left <= 0) return EXT2_ET_EXTENT_NO_NEXT; @@ -439,7 +443,7 @@ retry: (handle->fs->io != handle->fs->image_io)) memset(newpath->buf, 0, handle->fs->blocksize); else { - retval = io_channel_read_blk64(handle->fs->io, + retval = io_channel_read_blk(handle->fs->io, blk, 1, newpath->buf); if (retval) return retval; @@ -549,7 +553,7 @@ static errcode_t update_path(ext2_extent_handle_t handle) blk = ext2fs_le32_to_cpu(ix->ei_leaf) + ((__u64) ext2fs_le16_to_cpu(ix->ei_leaf_hi) << 32); - retval = io_channel_write_blk64(handle->fs->io, + retval = io_channel_write_blk(handle->fs->io, blk, 1, handle->path[handle->level].buf); } return retval; @@ -603,8 +607,8 @@ errcode_t ext2fs_extent_free_path(ext2_extent_path_t path) * If "blk" has no mapping (hole) then handle is left at last * extent before blk. */ -errcode_t ext2fs_extent_goto2(ext2_extent_handle_t handle, - int leaf_level, blk64_t blk) +static errcode_t extent_goto(ext2_extent_handle_t handle, + int leaf_level, blk64_t blk) { struct ext2fs_extent extent; errcode_t retval; @@ -693,7 +697,7 @@ errcode_t ext2fs_extent_goto2(ext2_extent_handle_t handle, errcode_t ext2fs_extent_goto(ext2_extent_handle_t handle, blk64_t blk) { - return ext2fs_extent_goto2(handle, 0, blk); + return extent_goto(handle, 0, blk); } /* @@ -705,14 +709,12 @@ errcode_t ext2fs_extent_goto(ext2_extent_handle_t handle, * Safe to call for any position in node; if not at the first entry, * will simply return. */ -errcode_t ext2fs_extent_fix_parents(ext2_extent_handle_t handle) +static errcode_t ext2fs_extent_fix_parents(ext2_extent_handle_t handle) { int retval = 0; - int orig_height; blk64_t start; struct extent_path *path; struct ext2fs_extent extent; - struct ext2_extent_info info; EXT2_CHECK_MAGIC(handle, EXT2_ET_MAGIC_EXTENT_HANDLE); @@ -733,10 +735,6 @@ errcode_t ext2fs_extent_fix_parents(ext2_extent_handle_t handle) /* modified node's start block */ start = extent.e_lblk; - if ((retval = ext2fs_extent_get_info(handle, &info))) - return retval; - orig_height = info.max_depth - info.curr_level; - /* traverse up until index not first, or startblk matches, or top */ while (handle->level > 0 && (path->left == path->entries - 1)) { @@ -755,7 +753,7 @@ errcode_t ext2fs_extent_fix_parents(ext2_extent_handle_t handle) } /* put handle back to where we started */ - retval = ext2fs_extent_goto2(handle, orig_height, start); + retval = ext2fs_extent_goto(handle, start); done: return retval; } @@ -818,10 +816,10 @@ errcode_t ext2fs_extent_replace(ext2_extent_handle_t handle, * * handle will be left pointing at original record. */ -errcode_t ext2fs_extent_node_split(ext2_extent_handle_t handle) +static errcode_t extent_node_split(ext2_extent_handle_t handle) { errcode_t retval = 0; - blk64_t new_node_pblk; + blk_t new_node_pblk; blk64_t new_node_start; blk64_t orig_lblk; blk64_t goal_blk = 0; @@ -873,12 +871,12 @@ errcode_t ext2fs_extent_node_split(ext2_extent_handle_t handle) goto done; goal_blk = extent.e_pblk; - retval = ext2fs_extent_node_split(handle); + retval = extent_node_split(handle); if (retval) goto done; /* get handle back to our original split position */ - retval = ext2fs_extent_goto2(handle, orig_height, orig_lblk); + retval = extent_goto(handle, orig_height, orig_lblk); if (retval) goto done; } @@ -933,9 +931,10 @@ errcode_t ext2fs_extent_node_split(ext2_extent_handle_t handle) if (log_flex) group = group & ~((1 << (log_flex)) - 1); - goal_blk = ext2fs_group_first_block2(handle->fs, group); + goal_blk = (group * handle->fs->super->s_blocks_per_group) + + handle->fs->super->s_first_data_block; } - retval = ext2fs_alloc_block2(handle->fs, goal_blk, block_buf, + retval = ext2fs_alloc_block(handle->fs, (blk_t) goal_blk, block_buf, &new_node_pblk); if (retval) goto done; @@ -963,8 +962,7 @@ errcode_t ext2fs_extent_node_split(ext2_extent_handle_t handle) new_node_start = ext2fs_le32_to_cpu(EXT_FIRST_INDEX(neweh)->ei_block); /* ...and write the new node block out to disk. */ - retval = io_channel_write_blk64(handle->fs->io, new_node_pblk, 1, - block_buf); + retval = io_channel_write_blk(handle->fs->io, new_node_pblk, 1, block_buf); if (retval) goto done; @@ -1026,13 +1024,12 @@ errcode_t ext2fs_extent_node_split(ext2_extent_handle_t handle) } /* get handle back to our original position */ - retval = ext2fs_extent_goto2(handle, orig_height, orig_lblk); + retval = extent_goto(handle, orig_height, orig_lblk); if (retval) goto done; /* new node hooked in, so update inode block count (do this here?) */ - handle->inode->i_blocks += (handle->fs->blocksize * - EXT2FS_CLUSTER_RATIO(handle->fs)) / 512; + handle->inode->i_blocks += handle->fs->blocksize / 512; retval = ext2fs_write_inode(handle->fs, handle->ino, handle->inode); if (retval) @@ -1077,7 +1074,7 @@ errcode_t ext2fs_extent_insert(ext2_extent_handle_t handle, int flags, printf("node full (level %d) - splitting\n", handle->level); #endif - retval = ext2fs_extent_node_split(handle); + retval = extent_node_split(handle); if (retval) return retval; path = handle->path + handle->level; @@ -1356,9 +1353,6 @@ errcode_t ext2fs_extent_set_bmap(ext2_extent_handle_t handle, &next_extent); if (retval) goto done; - retval = ext2fs_extent_fix_parents(handle); - if (retval) - goto done; } else retval = ext2fs_extent_insert(handle, EXT2_EXTENT_INSERT_AFTER, &newextent); @@ -1411,9 +1405,6 @@ errcode_t ext2fs_extent_set_bmap(ext2_extent_handle_t handle, retval = ext2fs_extent_replace(handle, 0, &extent); if (retval) goto done; - retval = ext2fs_extent_fix_parents(handle); - if (retval) - goto done; } else { __u32 orig_length; @@ -1451,7 +1442,7 @@ done: /* get handle back to its position */ if (orig_height > handle->max_depth) orig_height = handle->max_depth; /* In case we shortened the tree */ - ext2fs_extent_goto2(handle, orig_height, orig_lblk); + extent_goto(handle, orig_height, orig_lblk); return retval; } @@ -1512,13 +1503,10 @@ errcode_t ext2fs_extent_delete(ext2_extent_handle_t handle, int flags) return retval; retval = ext2fs_extent_delete(handle, flags); - handle->inode->i_blocks -= - (handle->fs->blocksize * - EXT2FS_CLUSTER_RATIO(handle->fs)) / 512; + handle->inode->i_blocks -= handle->fs->blocksize / 512; retval = ext2fs_write_inode(handle->fs, handle->ino, handle->inode); - ext2fs_block_alloc_stats2(handle->fs, - extent.e_pblk, -1); + ext2fs_block_alloc_stats(handle->fs, extent.e_pblk, -1); } } else { eh = (struct ext3_extent_header *) path->buf; @@ -1563,10 +1551,458 @@ errcode_t ext2fs_extent_get_info(ext2_extent_handle_t handle, } #ifdef DEBUG + +#include "ss/ss.h" + +#include "debugfs.h" + /* - * Override debugfs's prompt + * Hook in new commands into debugfs */ const char *debug_prog_name = "tst_extents"; +extern ss_request_table extent_cmds; +ss_request_table *extra_cmds = &extent_cmds; + +ext2_ino_t current_ino = 0; +ext2_extent_handle_t current_handle; + +int common_extent_args_process(int argc, char *argv[], int min_argc, + int max_argc, const char *cmd, + const char *usage, int flags) +{ + if (common_args_process(argc, argv, min_argc, max_argc, cmd, + usage, flags)) + return 1; + + if (!current_handle) { + com_err(cmd, 0, "Extent handle not open"); + return 1; + } + return 0; +} + +void do_inode(int argc, char *argv[]) +{ + ext2_ino_t inode; + int i; + struct ext3_extent_header *eh; + errcode_t retval; + + if (check_fs_open(argv[0])) + return; + + if (argc == 1) { + if (current_ino) + printf("Current inode is %d\n", current_ino); + else + printf("No current inode\n"); + return; + } + + if (common_inode_args_process(argc, argv, &inode, 0)) { + return; + } + + current_ino = 0; + + retval = ext2fs_extent_open(current_fs, inode, ¤t_handle); + if (retval) { + com_err(argv[1], retval, "while opening extent handle"); + return; + } + + current_ino = inode; + + printf("Loaded inode %d\n", current_ino); + + return; +} + +void generic_goto_node(char *cmd_name, int op) +{ + struct ext2fs_extent extent; + errcode_t retval; + + if (check_fs_open(cmd_name)) + return; + + if (!current_handle) { + com_err(cmd_name, 0, "Extent handle not open"); + return; + } + + retval = ext2fs_extent_get(current_handle, op, &extent); + if (retval) { + com_err(cmd_name, retval, 0); + return; + } + dbg_print_extent(0, &extent); +} + +void do_current_node(int argc, char *argv[]) +{ + generic_goto_node(argv[0], EXT2_EXTENT_CURRENT); +} + +void do_root_node(int argc, char *argv[]) +{ + generic_goto_node(argv[0], EXT2_EXTENT_ROOT); +} + +void do_last_leaf(int argc, char *argv[]) +{ + generic_goto_node(argv[0], EXT2_EXTENT_LAST_LEAF); +} + +void do_first_sib(int argc, char *argv[]) +{ + generic_goto_node(argv[0], EXT2_EXTENT_FIRST_SIB); +} + +void do_last_sib(int argc, char *argv[]) +{ + generic_goto_node(argv[0], EXT2_EXTENT_LAST_SIB); +} + +void do_next_sib(int argc, char *argv[]) +{ + generic_goto_node(argv[0], EXT2_EXTENT_NEXT_SIB); +} + +void do_prev_sib(int argc, char *argv[]) +{ + generic_goto_node(argv[0], EXT2_EXTENT_PREV_SIB); +} + +void do_next_leaf(int argc, char *argv[]) +{ + generic_goto_node(argv[0], EXT2_EXTENT_NEXT_LEAF); +} + +void do_prev_leaf(int argc, char *argv[]) +{ + generic_goto_node(argv[0], EXT2_EXTENT_PREV_LEAF); +} + +void do_next(int argc, char *argv[]) +{ + generic_goto_node(argv[0], EXT2_EXTENT_NEXT); +} + +void do_prev(int argc, char *argv[]) +{ + generic_goto_node(argv[0], EXT2_EXTENT_PREV); +} + +void do_up(int argc, char *argv[]) +{ + generic_goto_node(argv[0], EXT2_EXTENT_UP); +} + +void do_down(int argc, char *argv[]) +{ + generic_goto_node(argv[0], EXT2_EXTENT_DOWN); +} + +void do_delete_node(int argc, char *argv[]) +{ + errcode_t retval; + int err; + + if (common_extent_args_process(argc, argv, 1, 1, "delete_node", + "", CHECK_FS_RW | CHECK_FS_BITMAPS)) + return; + + retval = ext2fs_extent_delete(current_handle, 0); + if (retval) { + com_err(argv[0], retval, 0); + return; + } + if (current_handle->path && current_handle->path[0].curr) + do_current_node(argc, argv); +} + +void do_replace_node(int argc, char *argv[]) +{ + const char *usage = "[--uninit] "; + errcode_t retval; + struct ext2fs_extent extent; + int err; + + if (common_extent_args_process(argc, argv, 3, 5, "replace_node", + usage, CHECK_FS_RW | CHECK_FS_BITMAPS)) + return; + + extent.e_flags = 0; + + if (!strcmp(argv[1], "--uninit")) { + argc--; + argv++; + extent.e_flags |= EXT2_EXTENT_FLAGS_UNINIT; + } + + if (argc != 4) { + fprintf(stderr, "Usage: %s %s\n", argv[0], usage); + return; + } + extent.e_lblk = parse_ulong(argv[1], argv[0], "logical block", &err); + if (err) + return; + + extent.e_len = parse_ulong(argv[2], argv[0], "logical block", &err); + if (err) + return; + + extent.e_pblk = parse_ulong(argv[3], argv[0], "logical block", &err); + if (err) + return; + + retval = ext2fs_extent_replace(current_handle, 0, &extent); + if (retval) { + com_err(argv[0], retval, 0); + return; + } + do_current_node(argc, argv); +} + +void do_split_node(int argc, char *argv[]) +{ + errcode_t retval; + struct ext2fs_extent extent; + int err; + + if (common_extent_args_process(argc, argv, 1, 1, "split_node", + "", CHECK_FS_RW | CHECK_FS_BITMAPS)) + return; + + retval = extent_node_split(current_handle); + if (retval) { + com_err(argv[0], retval, 0); + return; + } + do_current_node(argc, argv); +} + +void do_insert_node(int argc, char *argv[]) +{ + const char *usage = "[--after] [--uninit] "; + errcode_t retval; + struct ext2fs_extent extent; + char *cmd; + int err; + int flags = 0; + + if (common_extent_args_process(argc, argv, 3, 6, "insert_node", + usage, CHECK_FS_RW | CHECK_FS_BITMAPS)) + return; + + cmd = argv[0]; + + extent.e_flags = 0; + + while (argc > 2) { + if (!strcmp(argv[1], "--after")) { + argc--; + argv++; + flags |= EXT2_EXTENT_INSERT_AFTER; + continue; + } + if (!strcmp(argv[1], "--uninit")) { + argc--; + argv++; + extent.e_flags |= EXT2_EXTENT_FLAGS_UNINIT; + continue; + } + break; + } + + if (argc != 4) { + fprintf(stderr, "usage: %s %s\n", cmd, usage); + return; + } + + extent.e_lblk = parse_ulong(argv[1], cmd, + "logical block", &err); + if (err) + return; + + extent.e_len = parse_ulong(argv[2], cmd, + "length", &err); + if (err) + return; + + extent.e_pblk = parse_ulong(argv[3], cmd, + "pysical block", &err); + if (err) + return; + + retval = ext2fs_extent_insert(current_handle, flags, &extent); + if (retval) { + com_err(cmd, retval, 0); + return; + } + do_current_node(argc, argv); +} + +void do_set_bmap(int argc, char **argv) +{ + const char *usage = "[--uninit] "; + errcode_t retval; + blk_t logical; + blk_t physical; + char *cmd = argv[0]; + int flags = 0; + int err; + + if (common_extent_args_process(argc, argv, 3, 5, "set_bmap", + usage, CHECK_FS_RW | CHECK_FS_BITMAPS)) + return; + + if (argc > 2 && !strcmp(argv[1], "--uninit")) { + argc--; + argv++; + flags |= EXT2_EXTENT_SET_BMAP_UNINIT; + } + + if (argc != 3) { + fprintf(stderr, "Usage: %s %s\n", cmd, usage); + return; + } + + logical = parse_ulong(argv[1], cmd, + "logical block", &err); + if (err) + return; + + physical = parse_ulong(argv[2], cmd, + "physical block", &err); + if (err) + return; + + retval = ext2fs_extent_set_bmap(current_handle, logical, + (blk64_t) physical, flags); + if (retval) { + com_err(cmd, retval, 0); + return; + } + if (current_handle->path && current_handle->path[0].curr) + do_current_node(argc, argv); +} + +void do_print_all(int argc, char **argv) +{ + const char *usage = "[--leaf-only|--reverse|--reverse-leaf]"; + struct ext2fs_extent extent; + errcode_t retval; + errcode_t end_err = EXT2_ET_EXTENT_NO_NEXT; + int op = EXT2_EXTENT_NEXT; + int first_op = EXT2_EXTENT_ROOT; + + + if (common_extent_args_process(argc, argv, 1, 2, "print_all", + usage, 0)) + return; + + if (argc == 2) { + if (!strcmp(argv[1], "--leaf-only")) + op = EXT2_EXTENT_NEXT_LEAF; + else if (!strcmp(argv[1], "--reverse")) { + op = EXT2_EXTENT_PREV; + first_op = EXT2_EXTENT_LAST_LEAF; + end_err = EXT2_ET_EXTENT_NO_PREV; + } else if (!strcmp(argv[1], "--reverse-leaf")) { + op = EXT2_EXTENT_PREV_LEAF; + first_op = EXT2_EXTENT_LAST_LEAF; + end_err = EXT2_ET_EXTENT_NO_PREV; + } else { + fprintf(stderr, "Usage: %s %s\n", argv[0], usage); + return; + } + } + + retval = ext2fs_extent_get(current_handle, first_op, &extent); + if (retval) { + com_err(argv[0], retval, 0); + return; + } + dbg_print_extent(0, &extent); + + while (1) { + retval = ext2fs_extent_get(current_handle, op, &extent); + if (retval == end_err) + break; + + if (retval) { + com_err(argv[0], retval, 0); + return; + } + dbg_print_extent(0, &extent); + } +} + +void do_info(int argc, char **argv) +{ + struct ext2fs_extent extent; + struct ext2_extent_info info; + errcode_t retval; + + if (common_extent_args_process(argc, argv, 1, 1, "info", "", 0)) + return; + + retval = ext2fs_extent_get_info(current_handle, &info); + if (retval) { + com_err(argv[0], retval, 0); + return; + } + + retval = ext2fs_extent_get(current_handle, + EXT2_EXTENT_CURRENT, &extent); + if (retval) { + com_err(argv[0], retval, 0); + return; + } + + dbg_print_extent(0, &extent); + + printf("Current handle location: %d/%d (max: %d, bytes %d), level %d/%d\n", + info.curr_entry, info.num_entries, info.max_entries, + info.bytes_avail, info.curr_level, info.max_depth); + printf("\tmax lblk: %llu, max pblk: %llu\n", info.max_lblk, + info.max_pblk); + printf("\tmax_len: %u, max_uninit_len: %u\n", info.max_len, + info.max_uninit_len); +} + +void do_goto_block(int argc, char **argv) +{ + struct ext2fs_extent extent; + errcode_t retval; + int op = EXT2_EXTENT_NEXT_LEAF; + blk_t blk; + int level = 0; + + if (common_extent_args_process(argc, argv, 2, 3, "goto_block", + "block [level]", 0)) + return; + + if (strtoblk(argv[0], argv[1], &blk)) + return; + + if (argc == 3) + if (strtoblk(argv[0], argv[2], &level)) + return; + + retval = extent_goto(current_handle, level, (blk64_t) blk); + + if (retval) { + com_err(argv[0], retval, + "while trying to go to block %u, level %d", + blk, level); + return; + } + + generic_goto_node(argv[0], EXT2_EXTENT_CURRENT); +} #endif diff --git a/lib/ext2fs/extent_dbg.ct b/lib/ext2fs/extent_dbg.ct new file mode 100644 index 00000000..d0571f47 --- /dev/null +++ b/lib/ext2fs/extent_dbg.ct @@ -0,0 +1,74 @@ +# +# Copyright (C) 1993 Theodore Ts'o. This file may be redistributed +# under the terms of the GNU Public License. +# +command_table extent_cmds; + +request do_inode, "Open an inode", + inode; + +request do_current_node, "Current extent node", + current_node, current; + +request do_root_node, "Goto root extent", + root_node, root; + +request do_last_leaf, "Goto last leaf", + last_leaf; + +request do_first_sib, "Goto first sibling", + first_sibling, first_sib; + +request do_last_sib, "Goto last sibling", + last_sibling, last_sib; + +request do_next_sib, "Goto next sibling", + next_sibling, next_sib, ns; + +request do_prev_sib, "Goto previous sibling", + prev_sibling, prev_sib, ps; + +request do_next_leaf, "Goto next leaf", + next_leaf, nl; + +request do_prev_leaf, "Goto previous leaf", + prev_leaf, pl; + +request do_next, "Goto next node", + next, n; + +request do_prev, "Goto previous node", + previous, prev, p; + +request do_up, "Up node", + up_node, up, u; + +request do_down, "Down node", + down_node, down, d; + +request do_delete_node, "Delete node", + delete_node, delete; + +request do_insert_node, "Insert node", + insert_node, insert; + +request do_split_node, "Split node", + split_node, split; + +request do_set_bmap, "Set block mapping", + set_bmap; + +request do_replace_node, "Insert node", + replace_node, replace; + +request do_print_all, "Iterate over all nodes and print them", + print_all, all; + +request do_goto_block, "Goto extent containing specified block", + goto_block, goto; + +request do_info, "Print extent info", + info; + +end; + diff --git a/lib/ext2fs/fiemap.h b/lib/ext2fs/fiemap.h index 30bf5555..671decbd 100644 --- a/lib/ext2fs/fiemap.h +++ b/lib/ext2fs/fiemap.h @@ -34,10 +34,6 @@ struct fiemap { struct fiemap_extent fm_extents[0]; /* array of mapped extents (out) */ }; -#ifndef FS_IOC_FIEMAP -#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap) -#endif - #define FIEMAP_MAX_OFFSET (~0ULL) #define FIEMAP_FLAG_SYNC 0x00000001 /* sync file data before map */ diff --git a/lib/ext2fs/fileio.c b/lib/ext2fs/fileio.c index 2e1b6824..834867e1 100644 --- a/lib/ext2fs/fileio.c +++ b/lib/ext2fs/fileio.c @@ -17,7 +17,6 @@ #include "ext2_fs.h" #include "ext2fs.h" -#include "ext2fsP.h" struct ext2_file { errcode_t magic; @@ -26,8 +25,8 @@ struct ext2_file { struct ext2_inode inode; int flags; __u64 pos; - blk64_t blockno; - blk64_t physblock; + blk_t blockno; + blk_t physblock; char *buf; }; @@ -96,24 +95,6 @@ ext2_filsys ext2fs_file_get_fs(ext2_file_t file) return file->fs; } -/* - * This function returns the pointer to the inode of a file from the structure - */ -struct ext2_inode *ext2fs_file_get_inode(ext2_file_t file) -{ - if (file->magic != EXT2_ET_MAGIC_EXT2_FILE) - return NULL; - return &file->inode; -} - -/* This function returns the inode number from the structure */ -ext2_ino_t ext2fs_file_get_inode_num(ext2_file_t file) -{ - if (file->magic != EXT2_ET_MAGIC_EXT2_FILE) - return 0; - return file->ino; -} - /* * This function flushes the dirty block buffer out to disk if * necessary. @@ -135,14 +116,15 @@ errcode_t ext2fs_file_flush(ext2_file_t file) * Allocate it. */ if (!file->physblock) { - retval = ext2fs_bmap2(fs, file->ino, &file->inode, + retval = ext2fs_bmap(fs, file->ino, &file->inode, BMAP_BUFFER, file->ino ? BMAP_ALLOC : 0, - file->blockno, 0, &file->physblock); + file->blockno, &file->physblock); if (retval) return retval; } - retval = io_channel_write_blk64(fs->io, file->physblock, 1, file->buf); + retval = io_channel_write_blk(fs->io, file->physblock, + 1, file->buf); if (retval) return retval; @@ -157,7 +139,7 @@ errcode_t ext2fs_file_flush(ext2_file_t file) */ static errcode_t sync_buffer_position(ext2_file_t file) { - blk64_t b; + blk_t b; errcode_t retval; b = file->pos / file->fs->blocksize; @@ -186,16 +168,16 @@ static errcode_t load_buffer(ext2_file_t file, int dontfill) errcode_t retval; if (!(file->flags & EXT2_FILE_BUF_VALID)) { - retval = ext2fs_bmap2(fs, file->ino, &file->inode, - BMAP_BUFFER, 0, file->blockno, 0, + retval = ext2fs_bmap(fs, file->ino, &file->inode, + BMAP_BUFFER, 0, file->blockno, &file->physblock); if (retval) return retval; if (!dontfill) { if (file->physblock) { - retval = io_channel_read_blk64(fs->io, - file->physblock, - 1, file->buf); + retval = io_channel_read_blk(fs->io, + file->physblock, + 1, file->buf); if (retval) return retval; } else @@ -297,20 +279,6 @@ errcode_t ext2fs_file_write(ext2_file_t file, const void *buf, if (retval) goto fail; - /* - * OK, the physical block hasn't been allocated yet. - * Allocate it. - */ - if (!file->physblock) { - retval = ext2fs_bmap2(fs, file->ino, &file->inode, - BMAP_BUFFER, - file->ino ? BMAP_ALLOC : 0, - file->blockno, 0, - &file->physblock); - if (retval) - goto fail; - } - file->flags |= EXT2_FILE_BUF_DIRTY; memcpy(file->buf+start, ptr, c); file->pos += c; @@ -320,15 +288,6 @@ errcode_t ext2fs_file_write(ext2_file_t file, const void *buf, } fail: - /* Update inode size */ - if (count != 0 && EXT2_I_SIZE(&file->inode) < file->pos) { - errcode_t rc; - - rc = ext2fs_file_set_size2(file, file->pos); - if (retval == 0) - retval = rc; - } - if (written) *written = count; return retval; @@ -393,106 +352,27 @@ ext2_off_t ext2fs_file_get_size(ext2_file_t file) return size; } -/* Zero the parts of the last block that are past EOF. */ -static errcode_t ext2fs_file_zero_past_offset(ext2_file_t file, - ext2_off64_t offset) -{ - ext2_filsys fs = file->fs; - char *b = NULL; - ext2_off64_t off = offset % fs->blocksize; - blk64_t blk; - int ret_flags; - errcode_t retval; - - if (off == 0) - return 0; - - retval = sync_buffer_position(file); - if (retval) - return retval; - - /* Is there an initialized block at the end? */ - retval = ext2fs_bmap2(fs, file->ino, NULL, NULL, 0, - offset / fs->blocksize, &ret_flags, &blk); - if (retval) - return retval; - if ((blk == 0) || (ret_flags & BMAP_RET_UNINIT)) - return 0; - - /* Zero to the end of the block */ - retval = ext2fs_get_mem(fs->blocksize, &b); - if (retval) - return retval; - - /* Read/zero/write block */ - retval = io_channel_read_blk64(fs->io, blk, 1, b); - if (retval) - goto out; - - memset(b + off, 0, fs->blocksize - off); - - retval = io_channel_write_blk64(fs->io, blk, 1, b); - if (retval) - goto out; - -out: - ext2fs_free_mem(&b); - return retval; -} - /* * This function sets the size of the file, truncating it if necessary * + * XXX still need to call truncate */ -errcode_t ext2fs_file_set_size2(ext2_file_t file, ext2_off64_t size) +errcode_t ext2fs_file_set_size(ext2_file_t file, ext2_off_t size) { - ext2_off64_t old_size; errcode_t retval; - blk64_t old_truncate, truncate_block; - EXT2_CHECK_MAGIC(file, EXT2_ET_MAGIC_EXT2_FILE); - if (size && ext2fs_file_block_offset_too_big(file->fs, &file->inode, - (size - 1) / file->fs->blocksize)) - return EXT2_ET_FILE_TOO_BIG; - truncate_block = ((size + file->fs->blocksize - 1) >> - EXT2_BLOCK_SIZE_BITS(file->fs->super)); - old_size = EXT2_I_SIZE(&file->inode); - old_truncate = ((old_size + file->fs->blocksize - 1) >> - EXT2_BLOCK_SIZE_BITS(file->fs->super)); - - /* If we're writing a large file, set the large_file flag */ - if (LINUX_S_ISREG(file->inode.i_mode) && - ext2fs_needs_large_file_feature(EXT2_I_SIZE(&file->inode)) && - (!EXT2_HAS_RO_COMPAT_FEATURE(file->fs->super, - EXT2_FEATURE_RO_COMPAT_LARGE_FILE) || - file->fs->super->s_rev_level == EXT2_GOOD_OLD_REV)) { - file->fs->super->s_feature_ro_compat |= - EXT2_FEATURE_RO_COMPAT_LARGE_FILE; - ext2fs_update_dynamic_rev(file->fs); - ext2fs_mark_super_dirty(file->fs); - } - - file->inode.i_size = size & 0xffffffff; - file->inode.i_size_high = (size >> 32); + file->inode.i_size = size; + file->inode.i_size_high = 0; if (file->ino) { retval = ext2fs_write_inode(file->fs, file->ino, &file->inode); if (retval) return retval; } - retval = ext2fs_file_zero_past_offset(file, size); - if (retval) - return retval; - - if (truncate_block >= old_truncate) - return 0; - - return ext2fs_punch(file->fs, file->ino, &file->inode, 0, - truncate_block, ~0ULL); -} + /* + * XXX truncate inode if necessary + */ -errcode_t ext2fs_file_set_size(ext2_file_t file, ext2_off_t size) -{ - return ext2fs_file_set_size2(file, size); + return 0; } diff --git a/lib/ext2fs/finddev.c b/lib/ext2fs/finddev.c index 88eb5cee..cc2029f2 100644 --- a/lib/ext2fs/finddev.c +++ b/lib/ext2fs/finddev.c @@ -33,7 +33,6 @@ #include "ext2_fs.h" #include "ext2fs.h" -#include "ext2fsP.h" struct dir_list { char *name; @@ -128,7 +127,6 @@ char *ext2fs_find_block_device(dev_t device) struct dir_list *list = 0, *new_list = 0; struct dir_list *current; char *ret_path = 0; - int level = 0; /* * Add the starting directories to search... @@ -155,9 +153,6 @@ char *ext2fs_find_block_device(dev_t device) if (list == 0) { list = new_list; new_list = 0; - /* Avoid infinite loop */ - if (++level >= EXT2FS_MAX_NESTED_LINKS) - break; } } free_dirlist(&list); diff --git a/lib/ext2fs/flushb.c b/lib/ext2fs/flushb.c index c4406fd1..394bb074 100644 --- a/lib/ext2fs/flushb.c +++ b/lib/ext2fs/flushb.c @@ -65,13 +65,17 @@ errcode_t ext2fs_sync_device(int fd, int flushb) #ifdef BLKFLSBUF if (ioctl (fd, BLKFLSBUF, 0) == 0) return 0; -#elif defined(__linux__) -#warning BLKFLSBUF not defined +#else +#ifdef __GNUC__ + #warning BLKFLSBUF not defined +#endif /* __GNUC__ */ #endif #ifdef FDFLUSH - return ioctl(fd, FDFLUSH, 0); /* In case this is a floppy */ -#elif defined(__linux__) -#warning FDFLUSH not defined + ioctl (fd, FDFLUSH, 0); /* In case this is a floppy */ +#else +#ifdef __GNUC__ + #warning FDFLUSH not defined +#endif /* __GNUC__ */ #endif } return 0; diff --git a/lib/ext2fs/freefs.c b/lib/ext2fs/freefs.c index 1e01ef5f..5c35bb68 100644 --- a/lib/ext2fs/freefs.c +++ b/lib/ext2fs/freefs.c @@ -42,8 +42,6 @@ void ext2fs_free(ext2_filsys fs) ext2fs_free_block_bitmap(fs->block_map); if (fs->inode_map) ext2fs_free_inode_bitmap(fs->inode_map); - if (fs->image_header) - ext2fs_free_mem(&fs->image_header); if (fs->badblocks) ext2fs_badblocks_list_free(fs->badblocks); @@ -55,11 +53,6 @@ void ext2fs_free(ext2_filsys fs) if (fs->icache) ext2fs_free_inode_cache(fs->icache); - if (fs->mmp_buf) - ext2fs_free_mem(&fs->mmp_buf); - if (fs->mmp_cmp) - ext2fs_free_mem(&fs->mmp_cmp); - fs->magic = 0; ext2fs_free_mem(&fs); diff --git a/lib/ext2fs/gen_bitmap.c b/lib/ext2fs/gen_bitmap.c index e4362345..42c9c7e4 100644 --- a/lib/ext2fs/gen_bitmap.c +++ b/lib/ext2fs/gen_bitmap.c @@ -25,7 +25,7 @@ #endif #include "ext2_fs.h" -#include "ext2fsP.h" +#include "ext2fs.h" struct ext2fs_struct_generic_bitmap { errcode_t magic; @@ -38,16 +38,6 @@ struct ext2fs_struct_generic_bitmap { __u32 reserved[7]; }; -#define EXT2FS_IS_32_BITMAP(bmap) \ - (((bmap)->magic == EXT2_ET_MAGIC_GENERIC_BITMAP) || \ - ((bmap)->magic == EXT2_ET_MAGIC_BLOCK_BITMAP) || \ - ((bmap)->magic == EXT2_ET_MAGIC_INODE_BITMAP)) - -#define EXT2FS_IS_64_BITMAP(bmap) \ - (((bmap)->magic == EXT2_ET_MAGIC_GENERIC_BITMAP64) || \ - ((bmap)->magic == EXT2_ET_MAGIC_BLOCK_BITMAP64) || \ - ((bmap)->magic == EXT2_ET_MAGIC_INODE_BITMAP64)) - /* * Used by previously inlined function, so we have to export this and * not change the function signature @@ -170,18 +160,6 @@ void ext2fs_free_generic_bitmap(ext2fs_inode_bitmap bitmap) int ext2fs_test_generic_bitmap(ext2fs_generic_bitmap bitmap, blk_t bitno) { - if (!EXT2FS_IS_32_BITMAP(bitmap)) { - if (EXT2FS_IS_64_BITMAP(bitmap)) { - ext2fs_warn_bitmap32(bitmap, __func__); - return ext2fs_test_generic_bmap(bitmap, bitno); - } -#ifndef OMIT_COM_ERR - com_err(0, EXT2_ET_MAGIC_GENERIC_BITMAP, - "test_bitmap(%lu)", (unsigned long) bitno); -#endif - return 0; - } - if ((bitno < bitmap->start) || (bitno > bitmap->end)) { ext2fs_warn_bitmap2(bitmap, EXT2FS_TEST_ERROR, bitno); return 0; @@ -192,18 +170,6 @@ int ext2fs_test_generic_bitmap(ext2fs_generic_bitmap bitmap, int ext2fs_mark_generic_bitmap(ext2fs_generic_bitmap bitmap, __u32 bitno) { - if (!EXT2FS_IS_32_BITMAP(bitmap)) { - if (EXT2FS_IS_64_BITMAP(bitmap)) { - ext2fs_warn_bitmap32(bitmap, __func__); - return ext2fs_mark_generic_bmap(bitmap, bitno); - } -#ifndef OMIT_COM_ERR - com_err(0, EXT2_ET_MAGIC_GENERIC_BITMAP, - "mark_bitmap(%lu)", (unsigned long) bitno); -#endif - return 0; - } - if ((bitno < bitmap->start) || (bitno > bitmap->end)) { ext2fs_warn_bitmap2(bitmap, EXT2FS_MARK_ERROR, bitno); return 0; @@ -214,18 +180,6 @@ int ext2fs_mark_generic_bitmap(ext2fs_generic_bitmap bitmap, int ext2fs_unmark_generic_bitmap(ext2fs_generic_bitmap bitmap, blk_t bitno) { - if (!EXT2FS_IS_32_BITMAP(bitmap)) { - if (EXT2FS_IS_64_BITMAP(bitmap)) { - ext2fs_warn_bitmap32(bitmap, __func__); - return ext2fs_unmark_generic_bmap(bitmap, bitno); - } -#ifndef OMIT_COM_ERR - com_err(0, EXT2_ET_MAGIC_GENERIC_BITMAP, - "mark_bitmap(%lu)", (unsigned long) bitno); -#endif - return 0; - } - if ((bitno < bitmap->start) || (bitno > bitmap->end)) { ext2fs_warn_bitmap2(bitmap, EXT2FS_UNMARK_ERROR, bitno); return 0; @@ -235,51 +189,18 @@ int ext2fs_unmark_generic_bitmap(ext2fs_generic_bitmap bitmap, __u32 ext2fs_get_generic_bitmap_start(ext2fs_generic_bitmap bitmap) { - if (!EXT2FS_IS_32_BITMAP(bitmap)) { - if (EXT2FS_IS_64_BITMAP(bitmap)) { - ext2fs_warn_bitmap32(bitmap, __func__); - return ext2fs_get_generic_bmap_start(bitmap); - } -#ifndef OMIT_COM_ERR - com_err(0, EXT2_ET_MAGIC_GENERIC_BITMAP, - "get_bitmap_start"); -#endif - return 0; - } - return bitmap->start; } __u32 ext2fs_get_generic_bitmap_end(ext2fs_generic_bitmap bitmap) { - if (!EXT2FS_IS_32_BITMAP(bitmap)) { - if (EXT2FS_IS_64_BITMAP(bitmap)) { - ext2fs_warn_bitmap32(bitmap, __func__); - return ext2fs_get_generic_bmap_end(bitmap); - } -#ifndef OMIT_COM_ERR - com_err(0, EXT2_ET_MAGIC_GENERIC_BITMAP, - "get_bitmap_end"); -#endif - return 0; - } return bitmap->end; } void ext2fs_clear_generic_bitmap(ext2fs_generic_bitmap bitmap) { - if (!EXT2FS_IS_32_BITMAP(bitmap)) { - if (EXT2FS_IS_64_BITMAP(bitmap)) { - ext2fs_warn_bitmap32(bitmap, __func__); - ext2fs_clear_generic_bmap(bitmap); - return; - } -#ifndef OMIT_COM_ERR - com_err(0, EXT2_ET_MAGIC_GENERIC_BITMAP, - "clear_generic_bitmap"); -#endif + if (check_magic(bitmap)) return; - } memset(bitmap->bitmap, 0, (size_t) (((bitmap->real_end - bitmap->start) / 8) + 1)); @@ -412,7 +333,7 @@ errcode_t ext2fs_set_generic_bitmap_range(ext2fs_generic_bitmap bmap, * Compare @mem to zero buffer by 256 bytes. * Return 1 if @mem is zeroed memory, otherwise return 0. */ -int ext2fs_mem_is_zero(const char *mem, size_t len) +static int mem_is_zero(const char *mem, size_t len) { static const char zero_buf[256]; @@ -500,33 +421,9 @@ static int ext2fs_test_clear_generic_bitmap_range(ext2fs_generic_bitmap bitmap, } /* Check whether all bytes are 0 */ - return ext2fs_mem_is_zero(ADDR + start_byte, len_byte); + return mem_is_zero(ADDR + start_byte, len_byte); } -errcode_t ext2fs_find_first_zero_generic_bitmap(ext2fs_generic_bitmap bitmap, - __u32 start, __u32 end, - __u32 *out) -{ - blk_t b; - - if (start < bitmap->start || end > bitmap->end || start > end) { - ext2fs_warn_bitmap2(bitmap, EXT2FS_TEST_ERROR, start); - return EINVAL; - } - - while (start <= end) { - b = ext2fs_test_bit(start - bitmap->start, bitmap->bitmap); - if (!b) { - *out = start; - return 0; - } - start++; - } - - return ENOENT; -} - - int ext2fs_test_block_bitmap_range(ext2fs_block_bitmap bitmap, blk_t block, int num) { @@ -581,4 +478,3 @@ void ext2fs_unmark_block_bitmap_range(ext2fs_block_bitmap bitmap, ext2fs_fast_clear_bit(block + i - bitmap->start, bitmap->bitmap); } - diff --git a/lib/ext2fs/gen_bitmap64.c b/lib/ext2fs/gen_bitmap64.c deleted file mode 100644 index 7f49fd9d..00000000 --- a/lib/ext2fs/gen_bitmap64.c +++ /dev/null @@ -1,849 +0,0 @@ -/* - * gen_bitmap64.c --- routines to read, write, and manipulate the new qinode and - * block bitmaps. - * - * Copyright (C) 2007, 2008 Theodore Ts'o. - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - */ - -#include -#include -#if HAVE_UNISTD_H -#include -#endif -#include -#include -#include -#if HAVE_SYS_STAT_H -#include -#endif -#if HAVE_SYS_TYPES_H -#include -#endif -#ifdef HAVE_SYS_TIME_H -#include -#endif - -#include "ext2_fs.h" -#include "ext2fsP.h" -#include "bmap64.h" - -/* - * Design of 64-bit bitmaps - * - * In order maintain ABI compatibility with programs that don't - * understand about 64-bit blocks/inodes, - * ext2fs_allocate_inode_bitmap() and ext2fs_allocate_block_bitmap() - * will create old-style bitmaps unless the application passes the - * flag EXT2_FLAG_64BITS to ext2fs_open(). If this flag is - * passed, then we know the application has been recompiled, so we can - * use the new-style bitmaps. If it is not passed, we have to return - * an error if trying to open a filesystem which needs 64-bit bitmaps. - * - * The new bitmaps use a new set of structure magic numbers, so that - * both the old-style and new-style interfaces can identify which - * version of the data structure was used. Both the old-style and - * new-style interfaces will support either type of bitmap, although - * of course 64-bit operation will only be possible when both the - * new-style interface and the new-style bitmap are used. - * - * For example, the new bitmap interfaces will check the structure - * magic numbers and so will be able to detect old-stype bitmap. If - * they see an old-style bitmap, they will pass it to the gen_bitmap.c - * functions for handling. The same will be true for the old - * interfaces as well. - * - * The new-style interfaces will have several different back-end - * implementations, so we can support different encodings that are - * appropriate for different applications. In general the default - * should be whatever makes sense, and what the application/library - * will use. However, e2fsck may need specialized implementations for - * its own uses. For example, when doing parent directory pointer - * loop detections in pass 3, the bitmap will *always* be sparse, so - * e2fsck can request an encoding which is optimized for that. - */ - -static void warn_bitmap(ext2fs_generic_bitmap bitmap, - int code, __u64 arg) -{ -#ifndef OMIT_COM_ERR - if (bitmap->description) - com_err(0, bitmap->base_error_code+code, - "#%llu for %s", arg, bitmap->description); - else - com_err(0, bitmap->base_error_code + code, "#%llu", arg); -#endif -} - -#ifdef BMAP_STATS_OPS -#define INC_STAT(map, name) map->stats.name -#else -#define INC_STAT(map, name) ;; -#endif - - -errcode_t ext2fs_alloc_generic_bmap(ext2_filsys fs, errcode_t magic, - int type, __u64 start, __u64 end, - __u64 real_end, - const char *descr, - ext2fs_generic_bitmap *ret) -{ - ext2fs_generic_bitmap bitmap; - struct ext2_bitmap_ops *ops; - ext2_ino_t num_dirs; - errcode_t retval; - - if (!type) - type = EXT2FS_BMAP64_BITARRAY; - - switch (type) { - case EXT2FS_BMAP64_BITARRAY: - ops = &ext2fs_blkmap64_bitarray; - break; - case EXT2FS_BMAP64_RBTREE: - ops = &ext2fs_blkmap64_rbtree; - break; - case EXT2FS_BMAP64_AUTODIR: - retval = ext2fs_get_num_dirs(fs, &num_dirs); - if (retval || num_dirs > (fs->super->s_inodes_count / 320)) - ops = &ext2fs_blkmap64_bitarray; - else - ops = &ext2fs_blkmap64_rbtree; - break; - default: - return EINVAL; - } - - retval = ext2fs_get_memzero(sizeof(struct ext2fs_struct_generic_bitmap), - &bitmap); - if (retval) - return retval; - -#ifdef BMAP_STATS - if (gettimeofday(&bitmap->stats.created, - (struct timezone *) NULL) == -1) { - perror("gettimeofday"); - ext2fs_free_mem(&bitmap); - return 1; - } - bitmap->stats.type = type; -#endif - - /* XXX factor out, repeated in copy_bmap */ - bitmap->magic = magic; - bitmap->fs = fs; - bitmap->start = start; - bitmap->end = end; - bitmap->real_end = real_end; - bitmap->bitmap_ops = ops; - bitmap->cluster_bits = 0; - switch (magic) { - case EXT2_ET_MAGIC_INODE_BITMAP64: - bitmap->base_error_code = EXT2_ET_BAD_INODE_MARK; - break; - case EXT2_ET_MAGIC_BLOCK_BITMAP64: - bitmap->base_error_code = EXT2_ET_BAD_BLOCK_MARK; - bitmap->cluster_bits = fs->cluster_ratio_bits; - break; - default: - bitmap->base_error_code = EXT2_ET_BAD_GENERIC_MARK; - } - if (descr) { - retval = ext2fs_get_mem(strlen(descr)+1, &bitmap->description); - if (retval) { - ext2fs_free_mem(&bitmap); - return retval; - } - strcpy(bitmap->description, descr); - } else - bitmap->description = 0; - - retval = bitmap->bitmap_ops->new_bmap(fs, bitmap); - if (retval) { - ext2fs_free_mem(&bitmap->description); - ext2fs_free_mem(&bitmap); - return retval; - } - - *ret = bitmap; - return 0; -} - -#ifdef BMAP_STATS -static void ext2fs_print_bmap_statistics(ext2fs_generic_bitmap bitmap) -{ - struct ext2_bmap_statistics *stats = &bitmap->stats; -#ifdef BMAP_STATS_OPS - float mark_seq_perc = 0.0, test_seq_perc = 0.0; - float mark_back_perc = 0.0, test_back_perc = 0.0; -#endif - double inuse; - struct timeval now; - -#ifdef BMAP_STATS_OPS - if (stats->test_count) { - test_seq_perc = ((float)stats->test_seq / - stats->test_count) * 100; - test_back_perc = ((float)stats->test_back / - stats->test_count) * 100; - } - - if (stats->mark_count) { - mark_seq_perc = ((float)stats->mark_seq / - stats->mark_count) * 100; - mark_back_perc = ((float)stats->mark_back / - stats->mark_count) * 100; - } -#endif - - if (gettimeofday(&now, (struct timezone *) NULL) == -1) { - perror("gettimeofday"); - return; - } - - inuse = (double) now.tv_sec + \ - (((double) now.tv_usec) * 0.000001); - inuse -= (double) stats->created.tv_sec + \ - (((double) stats->created.tv_usec) * 0.000001); - - fprintf(stderr, "\n[+] %s bitmap (type %d)\n", bitmap->description, - stats->type); - fprintf(stderr, "=================================================\n"); -#ifdef BMAP_STATS_OPS - fprintf(stderr, "%16llu bits long\n", - bitmap->real_end - bitmap->start); - fprintf(stderr, "%16lu copy_bmap\n%16lu resize_bmap\n", - stats->copy_count, stats->resize_count); - fprintf(stderr, "%16lu mark bmap\n%16lu unmark_bmap\n", - stats->mark_count, stats->unmark_count); - fprintf(stderr, "%16lu test_bmap\n%16lu mark_bmap_extent\n", - stats->test_count, stats->mark_ext_count); - fprintf(stderr, "%16lu unmark_bmap_extent\n" - "%16lu test_clear_bmap_extent\n", - stats->unmark_ext_count, stats->test_ext_count); - fprintf(stderr, "%16lu set_bmap_range\n%16lu set_bmap_range\n", - stats->set_range_count, stats->get_range_count); - fprintf(stderr, "%16lu clear_bmap\n%16lu contiguous bit test (%.2f%%)\n", - stats->clear_count, stats->test_seq, test_seq_perc); - fprintf(stderr, "%16lu contiguous bit mark (%.2f%%)\n" - "%16llu bits tested backwards (%.2f%%)\n", - stats->mark_seq, mark_seq_perc, - stats->test_back, test_back_perc); - fprintf(stderr, "%16llu bits marked backwards (%.2f%%)\n" - "%16.2f seconds in use\n", - stats->mark_back, mark_back_perc, inuse); -#endif /* BMAP_STATS_OPS */ -} -#endif - -void ext2fs_free_generic_bmap(ext2fs_generic_bitmap bmap) -{ - if (!bmap) - return; - - if (EXT2FS_IS_32_BITMAP(bmap)) { - ext2fs_free_generic_bitmap(bmap); - return; - } - - if (!EXT2FS_IS_64_BITMAP(bmap)) - return; - -#ifdef BMAP_STATS - if (getenv("E2FSPROGS_BITMAP_STATS")) { - ext2fs_print_bmap_statistics(bmap); - bmap->bitmap_ops->print_stats(bmap); - } -#endif - - bmap->bitmap_ops->free_bmap(bmap); - - if (bmap->description) { - ext2fs_free_mem(&bmap->description); - bmap->description = 0; - } - bmap->magic = 0; - ext2fs_free_mem(&bmap); -} - -errcode_t ext2fs_copy_generic_bmap(ext2fs_generic_bitmap src, - ext2fs_generic_bitmap *dest) -{ - char *descr, *new_descr; - ext2fs_generic_bitmap new_bmap; - errcode_t retval; - - if (!src) - return EINVAL; - - if (EXT2FS_IS_32_BITMAP(src)) - return ext2fs_copy_generic_bitmap(src, dest); - - if (!EXT2FS_IS_64_BITMAP(src)) - return EINVAL; - - /* Allocate a new bitmap struct */ - retval = ext2fs_get_memzero(sizeof(struct ext2fs_struct_generic_bitmap), - &new_bmap); - if (retval) - return retval; - - -#ifdef BMAP_STATS_OPS - src->stats.copy_count++; -#endif -#ifdef BMAP_STATS - if (gettimeofday(&new_bmap->stats.created, - (struct timezone *) NULL) == -1) { - perror("gettimeofday"); - ext2fs_free_mem(&new_bmap); - return 1; - } - new_bmap->stats.type = src->stats.type; -#endif - - /* Copy all the high-level parts over */ - new_bmap->magic = src->magic; - new_bmap->fs = src->fs; - new_bmap->start = src->start; - new_bmap->end = src->end; - new_bmap->real_end = src->real_end; - new_bmap->bitmap_ops = src->bitmap_ops; - new_bmap->base_error_code = src->base_error_code; - new_bmap->cluster_bits = src->cluster_bits; - - descr = src->description; - if (descr) { - retval = ext2fs_get_mem(strlen(descr)+10, &new_descr); - if (retval) { - ext2fs_free_mem(&new_bmap); - return retval; - } - sprintf(new_descr, "copy of %s", descr); - new_bmap->description = new_descr; - } - - retval = src->bitmap_ops->copy_bmap(src, new_bmap); - if (retval) { - ext2fs_free_mem(&new_bmap->description); - ext2fs_free_mem(&new_bmap); - return retval; - } - - *dest = new_bmap; - - return 0; -} - -errcode_t ext2fs_resize_generic_bmap(ext2fs_generic_bitmap bmap, - __u64 new_end, - __u64 new_real_end) -{ - if (!bmap) - return EINVAL; - - if (EXT2FS_IS_32_BITMAP(bmap)) - return ext2fs_resize_generic_bitmap(bmap->magic, new_end, - new_real_end, bmap); - - if (!EXT2FS_IS_64_BITMAP(bmap)) - return EINVAL; - - INC_STAT(bmap, resize_count); - - return bmap->bitmap_ops->resize_bmap(bmap, new_end, new_real_end); -} - -errcode_t ext2fs_fudge_generic_bmap_end(ext2fs_generic_bitmap bitmap, - errcode_t neq, - __u64 end, __u64 *oend) -{ - if (!bitmap) - return EINVAL; - - if (EXT2FS_IS_32_BITMAP(bitmap)) { - ext2_ino_t tmp_oend; - int retval; - - retval = ext2fs_fudge_generic_bitmap_end(bitmap, bitmap->magic, - neq, end, &tmp_oend); - if (oend) - *oend = tmp_oend; - return retval; - } - - if (!EXT2FS_IS_64_BITMAP(bitmap)) - return EINVAL; - - if (end > bitmap->real_end) - return neq; - if (oend) - *oend = bitmap->end; - bitmap->end = end; - return 0; -} - -__u64 ext2fs_get_generic_bmap_start(ext2fs_generic_bitmap bitmap) -{ - if (!bitmap) - return EINVAL; - - if (EXT2FS_IS_32_BITMAP(bitmap)) - return ext2fs_get_generic_bitmap_start(bitmap); - - if (!EXT2FS_IS_64_BITMAP(bitmap)) - return EINVAL; - - return bitmap->start; -} - -__u64 ext2fs_get_generic_bmap_end(ext2fs_generic_bitmap bitmap) -{ - if (!bitmap) - return EINVAL; - - if (EXT2FS_IS_32_BITMAP(bitmap)) - return ext2fs_get_generic_bitmap_end(bitmap); - - if (!EXT2FS_IS_64_BITMAP(bitmap)) - return EINVAL; - - return bitmap->end; -} - -void ext2fs_clear_generic_bmap(ext2fs_generic_bitmap bitmap) -{ - if (EXT2FS_IS_32_BITMAP(bitmap)) - ext2fs_clear_generic_bitmap(bitmap); - else - bitmap->bitmap_ops->clear_bmap (bitmap); -} - -int ext2fs_mark_generic_bmap(ext2fs_generic_bitmap bitmap, - __u64 arg) -{ - if (!bitmap) - return 0; - - if (EXT2FS_IS_32_BITMAP(bitmap)) { - if (arg & ~0xffffffffULL) { - ext2fs_warn_bitmap2(bitmap, - EXT2FS_MARK_ERROR, 0xffffffff); - return 0; - } - return ext2fs_mark_generic_bitmap(bitmap, arg); - } - - if (!EXT2FS_IS_64_BITMAP(bitmap)) - return 0; - - arg >>= bitmap->cluster_bits; - -#ifdef BMAP_STATS_OPS - if (arg == bitmap->stats.last_marked + 1) - bitmap->stats.mark_seq++; - if (arg < bitmap->stats.last_marked) - bitmap->stats.mark_back++; - bitmap->stats.last_marked = arg; - bitmap->stats.mark_count++; -#endif - - if ((arg < bitmap->start) || (arg > bitmap->end)) { - warn_bitmap(bitmap, EXT2FS_MARK_ERROR, arg); - return 0; - } - - return bitmap->bitmap_ops->mark_bmap(bitmap, arg); -} - -int ext2fs_unmark_generic_bmap(ext2fs_generic_bitmap bitmap, - __u64 arg) -{ - if (!bitmap) - return 0; - - if (EXT2FS_IS_32_BITMAP(bitmap)) { - if (arg & ~0xffffffffULL) { - ext2fs_warn_bitmap2(bitmap, EXT2FS_UNMARK_ERROR, - 0xffffffff); - return 0; - } - return ext2fs_unmark_generic_bitmap(bitmap, arg); - } - - if (!EXT2FS_IS_64_BITMAP(bitmap)) - return 0; - - arg >>= bitmap->cluster_bits; - - INC_STAT(bitmap, unmark_count); - - if ((arg < bitmap->start) || (arg > bitmap->end)) { - warn_bitmap(bitmap, EXT2FS_UNMARK_ERROR, arg); - return 0; - } - - return bitmap->bitmap_ops->unmark_bmap(bitmap, arg); -} - -int ext2fs_test_generic_bmap(ext2fs_generic_bitmap bitmap, - __u64 arg) -{ - if (!bitmap) - return 0; - - if (EXT2FS_IS_32_BITMAP(bitmap)) { - if (arg & ~0xffffffffULL) { - ext2fs_warn_bitmap2(bitmap, EXT2FS_TEST_ERROR, - 0xffffffff); - return 0; - } - return ext2fs_test_generic_bitmap(bitmap, arg); - } - - if (!EXT2FS_IS_64_BITMAP(bitmap)) - return 0; - - arg >>= bitmap->cluster_bits; - -#ifdef BMAP_STATS_OPS - bitmap->stats.test_count++; - if (arg == bitmap->stats.last_tested + 1) - bitmap->stats.test_seq++; - if (arg < bitmap->stats.last_tested) - bitmap->stats.test_back++; - bitmap->stats.last_tested = arg; -#endif - - if ((arg < bitmap->start) || (arg > bitmap->end)) { - warn_bitmap(bitmap, EXT2FS_TEST_ERROR, arg); - return 0; - } - - return bitmap->bitmap_ops->test_bmap(bitmap, arg); -} - -errcode_t ext2fs_set_generic_bmap_range(ext2fs_generic_bitmap bmap, - __u64 start, unsigned int num, - void *in) -{ - if (!bmap) - return EINVAL; - - if (EXT2FS_IS_32_BITMAP(bmap)) { - if ((start+num-1) & ~0xffffffffULL) { - ext2fs_warn_bitmap2(bmap, EXT2FS_UNMARK_ERROR, - 0xffffffff); - return EINVAL; - } - return ext2fs_set_generic_bitmap_range(bmap, bmap->magic, - start, num, in); - } - - if (!EXT2FS_IS_64_BITMAP(bmap)) - return EINVAL; - - INC_STAT(bmap, set_range_count); - - return bmap->bitmap_ops->set_bmap_range(bmap, start, num, in); -} - -errcode_t ext2fs_get_generic_bmap_range(ext2fs_generic_bitmap bmap, - __u64 start, unsigned int num, - void *out) -{ - if (!bmap) - return EINVAL; - - if (EXT2FS_IS_32_BITMAP(bmap)) { - if ((start+num-1) & ~0xffffffffULL) { - ext2fs_warn_bitmap2(bmap, - EXT2FS_UNMARK_ERROR, 0xffffffff); - return EINVAL; - } - return ext2fs_get_generic_bitmap_range(bmap, bmap->magic, - start, num, out); - } - - if (!EXT2FS_IS_64_BITMAP(bmap)) - return EINVAL; - - INC_STAT(bmap, get_range_count); - - return bmap->bitmap_ops->get_bmap_range(bmap, start, num, out); -} - -errcode_t ext2fs_compare_generic_bmap(errcode_t neq, - ext2fs_generic_bitmap bm1, - ext2fs_generic_bitmap bm2) -{ - blk64_t i; - - if (!bm1 || !bm2) - return EINVAL; - if (bm1->magic != bm2->magic) - return EINVAL; - - /* Now we know both bitmaps have the same magic */ - if (EXT2FS_IS_32_BITMAP(bm1)) - return ext2fs_compare_generic_bitmap(bm1->magic, neq, bm1, bm2); - - if (!EXT2FS_IS_64_BITMAP(bm1)) - return EINVAL; - - if ((bm1->start != bm2->start) || - (bm1->end != bm2->end)) - return neq; - - for (i = bm1->end - ((bm1->end - bm1->start) % 8); i <= bm1->end; i++) - if (ext2fs_test_generic_bmap(bm1, i) != - ext2fs_test_generic_bmap(bm2, i)) - return neq; - - return 0; -} - -void ext2fs_set_generic_bmap_padding(ext2fs_generic_bitmap bmap) -{ - __u64 start, num; - - if (EXT2FS_IS_32_BITMAP(bmap)) { - ext2fs_set_generic_bitmap_padding(bmap); - return; - } - - start = bmap->end + 1; - num = bmap->real_end - bmap->end; - bmap->bitmap_ops->mark_bmap_extent(bmap, start, num); - /* XXX ought to warn on error */ -} - -int ext2fs_test_block_bitmap_range2(ext2fs_block_bitmap bmap, - blk64_t block, unsigned int num) -{ - __u64 end = block + num; - - if (!bmap) - return EINVAL; - - if (num == 1) - return !ext2fs_test_generic_bmap((ext2fs_generic_bitmap) - bmap, block); - - if (EXT2FS_IS_32_BITMAP(bmap)) { - if ((block+num-1) & ~0xffffffffULL) { - ext2fs_warn_bitmap2((ext2fs_generic_bitmap) bmap, - EXT2FS_UNMARK_ERROR, 0xffffffff); - return EINVAL; - } - return ext2fs_test_block_bitmap_range( - (ext2fs_generic_bitmap) bmap, block, num); - } - - if (!EXT2FS_IS_64_BITMAP(bmap)) - return EINVAL; - - INC_STAT(bmap, test_ext_count); - - /* convert to clusters if necessary */ - block >>= bmap->cluster_bits; - end += (1 << bmap->cluster_bits) - 1; - end >>= bmap->cluster_bits; - num = end - block; - - if ((block < bmap->start) || (block+num-1 > bmap->end)) { - ext2fs_warn_bitmap(EXT2_ET_BAD_BLOCK_TEST, block, - bmap->description); - return EINVAL; - } - - return bmap->bitmap_ops->test_clear_bmap_extent(bmap, block, num); -} - -void ext2fs_mark_block_bitmap_range2(ext2fs_block_bitmap bmap, - blk64_t block, unsigned int num) -{ - __u64 end = block + num; - - if (!bmap) - return; - - if (EXT2FS_IS_32_BITMAP(bmap)) { - if ((block+num-1) & ~0xffffffffULL) { - ext2fs_warn_bitmap2((ext2fs_generic_bitmap) bmap, - EXT2FS_UNMARK_ERROR, 0xffffffff); - return; - } - ext2fs_mark_block_bitmap_range((ext2fs_generic_bitmap) bmap, - block, num); - } - - if (!EXT2FS_IS_64_BITMAP(bmap)) - return; - - INC_STAT(bmap, mark_ext_count); - - /* convert to clusters if necessary */ - block >>= bmap->cluster_bits; - end += (1 << bmap->cluster_bits) - 1; - end >>= bmap->cluster_bits; - num = end - block; - - if ((block < bmap->start) || (block+num-1 > bmap->end)) { - ext2fs_warn_bitmap(EXT2_ET_BAD_BLOCK_MARK, block, - bmap->description); - return; - } - - bmap->bitmap_ops->mark_bmap_extent(bmap, block, num); -} - -void ext2fs_unmark_block_bitmap_range2(ext2fs_block_bitmap bmap, - blk64_t block, unsigned int num) -{ - __u64 end = block + num; - - if (!bmap) - return; - - if (EXT2FS_IS_32_BITMAP(bmap)) { - if ((block+num-1) & ~0xffffffffULL) { - ext2fs_warn_bitmap2((ext2fs_generic_bitmap) bmap, - EXT2FS_UNMARK_ERROR, 0xffffffff); - return; - } - ext2fs_unmark_block_bitmap_range((ext2fs_generic_bitmap) bmap, - block, num); - } - - if (!EXT2FS_IS_64_BITMAP(bmap)) - return; - - INC_STAT(bmap, unmark_ext_count); - - /* convert to clusters if necessary */ - block >>= bmap->cluster_bits; - end += (1 << bmap->cluster_bits) - 1; - end >>= bmap->cluster_bits; - num = end - block; - - if ((block < bmap->start) || (block+num-1 > bmap->end)) { - ext2fs_warn_bitmap(EXT2_ET_BAD_BLOCK_UNMARK, block, - bmap->description); - return; - } - - bmap->bitmap_ops->unmark_bmap_extent(bmap, block, num); -} - -void ext2fs_warn_bitmap32(ext2fs_generic_bitmap bitmap, const char *func) -{ -#ifndef OMIT_COM_ERR - if (bitmap && bitmap->description) - com_err(0, EXT2_ET_MAGIC_GENERIC_BITMAP, - "called %s with 64-bit bitmap for %s", func, - bitmap->description); - else - com_err(0, EXT2_ET_MAGIC_GENERIC_BITMAP, - "called %s with 64-bit bitmap", func); -#endif -} - -errcode_t ext2fs_convert_subcluster_bitmap(ext2_filsys fs, - ext2fs_block_bitmap *bitmap) -{ - ext2fs_block_bitmap cmap, bmap; - errcode_t retval; - blk64_t i, b_end, c_end; - int n, ratio; - - bmap = *bitmap; - - if (fs->cluster_ratio_bits == ext2fs_get_bitmap_granularity(bmap)) - return 0; /* Nothing to do */ - - retval = ext2fs_allocate_block_bitmap(fs, "converted cluster bitmap", - &cmap); - if (retval) - return retval; - - i = bmap->start; - b_end = bmap->end; - bmap->end = bmap->real_end; - c_end = cmap->end; - cmap->end = cmap->real_end; - n = 0; - ratio = 1 << fs->cluster_ratio_bits; - while (i < bmap->real_end) { - if (ext2fs_test_block_bitmap2(bmap, i)) { - ext2fs_mark_block_bitmap2(cmap, i); - i += ratio - n; - n = 0; - continue; - } - i++; n++; - if (n >= ratio) - n = 0; - } - bmap->end = b_end; - cmap->end = c_end; - ext2fs_free_block_bitmap(bmap); - *bitmap = cmap; - return 0; -} - -errcode_t ext2fs_find_first_zero_generic_bmap(ext2fs_generic_bitmap bitmap, - __u64 start, __u64 end, __u64 *out) -{ - int b; - - if (!bitmap) - return EINVAL; - - if (EXT2FS_IS_64_BITMAP(bitmap) && bitmap->bitmap_ops->find_first_zero) - return bitmap->bitmap_ops->find_first_zero(bitmap, start, - end, out); - - if (EXT2FS_IS_32_BITMAP(bitmap)) { - blk_t blk = 0; - errcode_t retval; - - if (((start) & ~0xffffffffULL) || - ((end) & ~0xffffffffULL)) { - ext2fs_warn_bitmap2(bitmap, EXT2FS_TEST_ERROR, start); - return EINVAL; - } - - retval = ext2fs_find_first_zero_generic_bitmap(bitmap, start, - end, &blk); - if (retval == 0) - *out = blk; - return retval; - } - - if (!EXT2FS_IS_64_BITMAP(bitmap)) - return EINVAL; - - start >>= bitmap->cluster_bits; - end >>= bitmap->cluster_bits; - - if (start < bitmap->start || end > bitmap->end || start > end) { - warn_bitmap(bitmap, EXT2FS_TEST_ERROR, start); - return EINVAL; - } - - while (start <= end) { - b = bitmap->bitmap_ops->test_bmap(bitmap, start); - if (!b) { - *out = start << bitmap->cluster_bits; - return 0; - } - start++; - } - - return ENOENT; -} diff --git a/lib/ext2fs/gen_crc32ctable.c b/lib/ext2fs/gen_crc32ctable.c deleted file mode 100644 index 9996e9d8..00000000 --- a/lib/ext2fs/gen_crc32ctable.c +++ /dev/null @@ -1,123 +0,0 @@ -#include -#include "crc32c_defs.h" -#include - -#define ENTRIES_PER_LINE 4 - -#if CRC_LE_BITS <= 8 -#define LE_TABLE_SIZE (1 << CRC_LE_BITS) -#else -#define LE_TABLE_SIZE 256 -#endif - -#if CRC_BE_BITS <= 8 -#define BE_TABLE_SIZE (1 << CRC_BE_BITS) -#else -#define BE_TABLE_SIZE 256 -#endif - -static uint32_t crc32ctable_le[8][256]; -static uint32_t crc32ctable_be[8][256]; - -/** - * crc32cinit_le() - allocate and initialize LE table data - * - * crc is the crc of the byte i; other entries are filled in based on the - * fact that crctable[i^j] = crctable[i] ^ crctable[j]. - * - */ -static void crc32cinit_le(void) -{ - unsigned i, j; - uint32_t crc = 1; - - crc32ctable_le[0][0] = 0; - - for (i = LE_TABLE_SIZE >> 1; i; i >>= 1) { - crc = (crc >> 1) ^ ((crc & 1) ? CRCPOLY_LE : 0); - for (j = 0; j < LE_TABLE_SIZE; j += 2 * i) - crc32ctable_le[0][i + j] = crc ^ crc32ctable_le[0][j]; - } - for (i = 0; i < LE_TABLE_SIZE; i++) { - crc = crc32ctable_le[0][i]; - for (j = 1; j < 8; j++) { - crc = crc32ctable_le[0][crc & 0xff] ^ (crc >> 8); - crc32ctable_le[j][i] = crc; - } - } -} - -/** - * crc32cinit_be() - allocate and initialize BE table data - */ -static void crc32cinit_be(void) -{ - unsigned i, j; - uint32_t crc = 0x80000000; - - crc32ctable_be[0][0] = 0; - - for (i = 1; i < BE_TABLE_SIZE; i <<= 1) { - crc = (crc << 1) ^ ((crc & 0x80000000) ? CRCPOLY_BE : 0); - for (j = 0; j < i; j++) - crc32ctable_be[0][i + j] = crc ^ crc32ctable_be[0][j]; - } - for (i = 0; i < BE_TABLE_SIZE; i++) { - crc = crc32ctable_be[0][i]; - for (j = 1; j < 8; j++) { - crc = crc32ctable_be[0][(crc >> 24) & 0xff] ^ - (crc << 8); - crc32ctable_be[j][i] = crc; - } - } -} - -static void output_table(uint32_t table[8][256], int len, char trans) -{ - int i, j; - - for (j = 0 ; j < 8; j++) { - printf("static const uint32_t t%d_%ce[] = {", j, trans); - for (i = 0; i < len - 1; i++) { - if ((i % ENTRIES_PER_LINE) == 0) - printf("\n"); - printf("to%ce(0x%8.8xL),", trans, table[j][i]); - if ((i % ENTRIES_PER_LINE) != (ENTRIES_PER_LINE - 1)) - printf(" "); - } - printf("to%ce(0x%8.8xL)};\n\n", trans, table[j][len - 1]); - - if (trans == 'l') { - if ((j+1)*8 >= CRC_LE_BITS) - break; - } else { - if ((j+1)*8 >= CRC_BE_BITS) - break; - } - } -} - -int main(int argc, char **argv) -{ - printf("/*\n"); - printf(" * crc32ctable.h - CRC32c tables\n"); - printf(" * this file is generated - do not edit\n"); - printf(" * # gen_crc32ctable > crc32c_table.h\n"); - printf(" * with\n"); - printf(" * CRC_LE_BITS = %d\n", CRC_LE_BITS); - printf(" * CRC_BE_BITS = %d\n", CRC_BE_BITS); - printf(" */\n"); - printf("#include \n"); - - if (CRC_LE_BITS > 1) { - crc32cinit_le(); - output_table(crc32ctable_le, LE_TABLE_SIZE, 'l'); - } - - if (CRC_BE_BITS > 1) { - crc32cinit_be(); - output_table(crc32ctable_be, BE_TABLE_SIZE, 'b'); - } - - return 0; -} diff --git a/lib/ext2fs/get_pathname.c b/lib/ext2fs/get_pathname.c index 93a9ec81..7ac14db2 100644 --- a/lib/ext2fs/get_pathname.c +++ b/lib/ext2fs/get_pathname.c @@ -73,7 +73,7 @@ static errcode_t ext2fs_get_pathname_int(ext2_filsys fs, ext2_ino_t dir, char *buf, char **name) { struct get_pathname_struct gp; - char *parent_name = 0, *ret; + char *parent_name, *ret; errcode_t retval; if (dir == ino) { @@ -98,19 +98,7 @@ static errcode_t ext2fs_get_pathname_int(ext2_filsys fs, ext2_ino_t dir, gp.errcode = 0; retval = ext2fs_dir_iterate(fs, dir, 0, buf, get_pathname_proc, &gp); - if (retval == EXT2_ET_NO_DIRECTORY) { - char tmp[32]; - - if (ino) - snprintf(tmp, sizeof(tmp), "<%u>/<%u>", dir, ino); - else - snprintf(tmp, sizeof(tmp), "<%u>", dir); - retval = ext2fs_get_mem(strlen(tmp)+1, name); - if (retval) - goto cleanup; - strcpy(*name, tmp); - return 0; - } else if (retval) + if (retval) goto cleanup; if (gp.errcode) { retval = gp.errcode; @@ -143,11 +131,12 @@ static errcode_t ext2fs_get_pathname_int(ext2_filsys fs, ext2_ino_t dir, else strcat(ret, "???"); *name = ret; + ext2fs_free_mem(&parent_name); retval = 0; cleanup: - ext2fs_free_mem(&parent_name); - ext2fs_free_mem(&gp.name); + if (gp.name) + ext2fs_free_mem(&gp.name); return retval; } diff --git a/lib/ext2fs/getsectsize.c b/lib/ext2fs/getsectsize.c index c7ae6594..64f42a62 100644 --- a/lib/ext2fs/getsectsize.c +++ b/lib/ext2fs/getsectsize.c @@ -45,7 +45,11 @@ errcode_t ext2fs_get_device_sectsize(const char *file, int *sectsize) { int fd; - fd = ext2fs_open_file(file, O_RDONLY, 0); +#ifdef HAVE_OPEN64 + fd = open64(file, O_RDONLY); +#else + fd = open(file, O_RDONLY); +#endif if (fd < 0) return errno; @@ -60,32 +64,6 @@ errcode_t ext2fs_get_device_sectsize(const char *file, int *sectsize) return 0; } -/* - * Return desired alignment for direct I/O - */ -int ext2fs_get_dio_alignment(int fd) -{ - int align = 0; - -#ifdef BLKSSZGET - if (ioctl(fd, BLKSSZGET, &align) < 0) - align = 0; -#endif - -#ifdef _SC_PAGESIZE - if (align <= 0) - align = sysconf(_SC_PAGESIZE); -#endif -#ifdef HAVE_GETPAGESIZE - if (align <= 0) - align = getpagesize(); -#endif - if (align <= 0) - align = 4096; - - return align; -} - /* * Returns the physical sector size of a device */ @@ -93,7 +71,11 @@ errcode_t ext2fs_get_device_phys_sectsize(const char *file, int *sectsize) { int fd; - fd = ext2fs_open_file(file, O_RDONLY, 0); +#ifdef HAVE_OPEN64 + fd = open64(file, O_RDONLY); +#else + fd = open(file, O_RDONLY); +#endif if (fd < 0) return errno; diff --git a/lib/ext2fs/getsize.c b/lib/ext2fs/getsize.c index 2f4495ed..5ef0081b 100644 --- a/lib/ext2fs/getsize.c +++ b/lib/ext2fs/getsize.c @@ -139,13 +139,31 @@ static int valid_offset (int fd, ext2_loff_t offset) * Returns the number of blocks in a partition */ errcode_t ext2fs_get_device_size2(const char *file, int blocksize, - blk64_t *retblocks) + blk64_t *retblocks) { int fd, rc = 0; + int valid_blkgetsize64 = 1; +#ifdef __linux__ + struct utsname ut; +#endif unsigned long long size64; + unsigned long size; ext2_loff_t high, low; +#ifdef FDGETPRM + struct floppy_struct this_floppy; +#endif +#ifdef HAVE_SYS_DISKLABEL_H + int part; + struct disklabel lab; + struct partition *pp; + char ch; +#endif /* HAVE_SYS_DISKLABEL_H */ - fd = ext2fs_open_file(file, O_RDONLY, 0); +#ifdef HAVE_OPEN64 + fd = open64(file, O_RDONLY); +#else + fd = open(file, O_RDONLY); +#endif if (fd < 0) return errno; @@ -157,89 +175,73 @@ errcode_t ext2fs_get_device_size2(const char *file, int blocksize, #endif #ifdef BLKGETSIZE64 - { - int valid_blkgetsize64 = 1; #ifdef __linux__ - struct utsname ut; - - if ((uname(&ut) == 0) && - ((ut.release[0] == '2') && (ut.release[1] == '.') && - (ut.release[2] < '6') && (ut.release[3] == '.'))) - valid_blkgetsize64 = 0; + if ((uname(&ut) == 0) && + ((ut.release[0] == '2') && (ut.release[1] == '.') && + (ut.release[2] < '6') && (ut.release[3] == '.'))) + valid_blkgetsize64 = 0; #endif - if (valid_blkgetsize64 && - ioctl(fd, BLKGETSIZE64, &size64) >= 0) { - *retblocks = size64 / blocksize; - goto out; - } + if (valid_blkgetsize64 && + ioctl(fd, BLKGETSIZE64, &size64) >= 0) { + *retblocks = size64 / blocksize; + goto out; } -#endif /* BLKGETSIZE64 */ +#endif #ifdef BLKGETSIZE - { - unsigned long size; - - if (ioctl(fd, BLKGETSIZE, &size) >= 0) { - *retblocks = size / (blocksize / 512); - goto out; - } + if (ioctl(fd, BLKGETSIZE, &size) >= 0) { + *retblocks = size / (blocksize / 512); + goto out; } #endif #ifdef FDGETPRM - { - struct floppy_struct this_floppy; - - if (ioctl(fd, FDGETPRM, &this_floppy) >= 0) { - *retblocks = this_floppy.size / (blocksize / 512); - goto out; - } + if (ioctl(fd, FDGETPRM, &this_floppy) >= 0) { + *retblocks = this_floppy.size / (blocksize / 512); + goto out; } #endif #ifdef HAVE_SYS_DISKLABEL_H - { - int part; - struct disklabel lab; - struct partition *pp; - char ch; - #if defined(DIOCGMEDIASIZE) - { - off_t ms; - u_int bs; - if (ioctl(fd, DIOCGMEDIASIZE, &ms) >= 0) { - *retblocks = ms / blocksize; - goto out; - } - } + { + off_t ms; + u_int bs; + if (ioctl(fd, DIOCGMEDIASIZE, &ms) >= 0) { + *retblocks = ms / blocksize; + goto out; + } + } #elif defined(DIOCGDINFO) - /* old disklabel interface */ - part = strlen(file) - 1; - if (part >= 0) { - ch = file[part]; - if (isdigit(ch)) - part = 0; - else if (ch >= 'a' && ch <= 'h') - part = ch - 'a'; - else - part = -1; - } - if (part >= 0 && (ioctl(fd, DIOCGDINFO, (char *)&lab) >= 0)) { - pp = &lab.d_partitions[part]; - if (pp->p_size) { - *retblocks = pp->p_size / (blocksize / 512); - goto out; - } + /* old disklabel interface */ + part = strlen(file) - 1; + if (part >= 0) { + ch = file[part]; + if (isdigit(ch)) + part = 0; + else if (ch >= 'a' && ch <= 'h') + part = ch - 'a'; + else + part = -1; + } + if (part >= 0 && (ioctl(fd, DIOCGDINFO, (char *)&lab) >= 0)) { + pp = &lab.d_partitions[part]; + if (pp->p_size) { + *retblocks = pp->p_size / (blocksize / 512); + goto out; } -#endif /* defined(DIOCG*) */ } +#endif /* defined(DIOCG*) */ #endif /* HAVE_SYS_DISKLABEL_H */ { - ext2fs_struct_stat st; - - if (ext2fs_fstat(fd, &st) == 0) +#ifdef HAVE_FSTAT64 + struct stat64 st; + if (fstat64(fd, &st) == 0) +#else + struct stat st; + if (fstat(fd, &st) == 0) +#endif if (S_ISREG(st.st_mode)) { *retblocks = st.st_size / blocksize; goto out; @@ -252,9 +254,10 @@ errcode_t ext2fs_get_device_size2(const char *file, int blocksize, * find the size of the partition. */ low = 0; - for (high = 1024; valid_offset(fd, high); high *= 2) + for (high = 1024; valid_offset (fd, high); high *= 2) low = high; - while (low < high - 1) { + while (low < high - 1) + { const ext2_loff_t mid = (low + high) / 2; if (valid_offset (fd, mid)) @@ -262,7 +265,7 @@ errcode_t ext2fs_get_device_size2(const char *file, int blocksize, else high = mid; } - valid_offset(fd, 0); + valid_offset (fd, 0); size64 = low + 1; *retblocks = size64 / blocksize; out: diff --git a/lib/ext2fs/i_block.c b/lib/ext2fs/i_block.c index f36c3c47..822776df 100644 --- a/lib/ext2fs/i_block.c +++ b/lib/ext2fs/i_block.c @@ -31,20 +31,18 @@ errcode_t ext2fs_iblk_add_blocks(ext2_filsys fs, struct ext2_inode *inode, { unsigned long long b = inode->i_blocks; - if (fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_HUGE_FILE) - b += ((long long) inode->osd2.linux2.l_i_blocks_hi) << 32; - if (!(fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_HUGE_FILE) || !(inode->i_flags & EXT4_HUGE_FILE_FL)) num_blocks *= fs->blocksize / 512; - num_blocks *= EXT2FS_CLUSTER_RATIO(fs); b += num_blocks; - if (fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_HUGE_FILE) + if (fs->super->s_feature_ro_compat & + EXT4_FEATURE_RO_COMPAT_HUGE_FILE) { + b += ((long long) inode->osd2.linux2.l_i_blocks_hi) << 32; inode->osd2.linux2.l_i_blocks_hi = b >> 32; - else if (b > 0xFFFFFFFF) + } else if (b > 0xFFFFFFFF) return EOVERFLOW; inode->i_blocks = b & 0xFFFFFFFF; return 0; @@ -55,22 +53,21 @@ errcode_t ext2fs_iblk_sub_blocks(ext2_filsys fs, struct ext2_inode *inode, { unsigned long long b = inode->i_blocks; - if (fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_HUGE_FILE) - b += ((long long) inode->osd2.linux2.l_i_blocks_hi) << 32; - if (!(fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_HUGE_FILE) || !(inode->i_flags & EXT4_HUGE_FILE_FL)) num_blocks *= fs->blocksize / 512; - num_blocks *= EXT2FS_CLUSTER_RATIO(fs); if (num_blocks > b) return EOVERFLOW; b -= num_blocks; - if (fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_HUGE_FILE) + if (fs->super->s_feature_ro_compat & + EXT4_FEATURE_RO_COMPAT_HUGE_FILE) { + b += ((long long) inode->osd2.linux2.l_i_blocks_hi) << 32; inode->osd2.linux2.l_i_blocks_hi = b >> 32; + } inode->i_blocks = b & 0xFFFFFFFF; return 0; } @@ -81,7 +78,6 @@ errcode_t ext2fs_iblk_set(ext2_filsys fs, struct ext2_inode *inode, blk64_t b) EXT4_FEATURE_RO_COMPAT_HUGE_FILE) || !(inode->i_flags & EXT4_HUGE_FILE_FL)) b *= fs->blocksize / 512; - b *= EXT2FS_CLUSTER_RATIO(fs); inode->i_blocks = b & 0xFFFFFFFF; if (fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_HUGE_FILE) diff --git a/lib/ext2fs/icount.c b/lib/ext2fs/icount.c index f99824f8..a49f05fb 100644 --- a/lib/ext2fs/icount.c +++ b/lib/ext2fs/icount.c @@ -103,12 +103,12 @@ static errcode_t alloc_icount(ext2_filsys fs, int flags, ext2_icount_t *ret) return retval; memset(icount, 0, sizeof(struct ext2_icount)); - retval = ext2fs_allocate_inode_bitmap(fs, "icount", &icount->single); + retval = ext2fs_allocate_inode_bitmap(fs, 0, &icount->single); if (retval) goto errout; if (flags & EXT2_ICOUNT_OPT_INCREMENT) { - retval = ext2fs_allocate_inode_bitmap(fs, "icount_inc", + retval = ext2fs_allocate_inode_bitmap(fs, 0, &icount->multiple); if (retval) goto errout; @@ -179,7 +179,6 @@ errcode_t ext2fs_create_icount_tdb(ext2_filsys fs, char *tdb_dir, ext2_icount_t icount; errcode_t retval; char *fn, uuid[40]; - ext2_ino_t num_inodes; int fd; retval = alloc_icount(fs, flags, &icount); @@ -192,21 +191,9 @@ errcode_t ext2fs_create_icount_tdb(ext2_filsys fs, char *tdb_dir, uuid_unparse(fs->super->s_uuid, uuid); sprintf(fn, "%s/%s-icount-XXXXXX", tdb_dir, uuid); fd = mkstemp(fn); - if (fd < 0) - return fd; - - /* - * This is an overestimate of the size that we will need; the - * ideal value is the number of used inodes with a count - * greater than 1. OTOH the times when we really need this is - * with the backup programs that use lots of hard links, in - * which case the number of inodes in use approaches the ideal - * value. - */ - num_inodes = fs->super->s_inodes_count - fs->super->s_free_inodes_count; icount->tdb_fn = fn; - icount->tdb = tdb_open(fn, num_inodes, TDB_NOLOCK | TDB_NOSYNC, + icount->tdb = tdb_open(fn, 0, TDB_CLEAR_IF_FIRST, O_RDWR | O_CREAT | O_TRUNC, 0600); if (icount->tdb) { close(fd); @@ -352,7 +339,9 @@ static struct ext2_icount_el *insert_icount_el(ext2_icount_t icount, static struct ext2_icount_el *get_icount_el(ext2_icount_t icount, ext2_ino_t ino, int create) { + float range; int low, high, mid; + ext2_ino_t lowval, highval; if (!icount || !icount->list) return 0; @@ -374,7 +363,31 @@ static struct ext2_icount_el *get_icount_el(ext2_icount_t icount, low = 0; high = (int) icount->count-1; while (low <= high) { - mid = ((unsigned)low + (unsigned)high) >> 1; +#if 0 + mid = (low+high)/2; +#else + if (low == high) + mid = low; + else { + /* Interpolate for efficiency */ + lowval = icount->list[low].ino; + highval = icount->list[high].ino; + + if (ino < lowval) + range = 0; + else if (ino > highval) + range = 1; + else { + range = ((float) (ino - lowval)) / + (highval - lowval); + if (range > 0.9) + range = 0.9; + if (range < 0.1) + range = 0.1; + } + mid = low + ((int) (range * (high-low))); + } +#endif if (ino == icount->list[mid].ino) { icount->cursor = mid+1; return &icount->list[mid]; @@ -485,12 +498,12 @@ errcode_t ext2fs_icount_fetch(ext2_icount_t icount, ext2_ino_t ino, __u16 *ret) if (!ino || (ino > icount->num_inodes)) return EXT2_ET_INVALID_ARGUMENT; - if (ext2fs_test_inode_bitmap2(icount->single, ino)) { + if (ext2fs_test_inode_bitmap(icount->single, ino)) { *ret = 1; return 0; } if (icount->multiple && - !ext2fs_test_inode_bitmap2(icount->multiple, ino)) { + !ext2fs_test_inode_bitmap(icount->multiple, ino)) { *ret = 0; return 0; } @@ -509,7 +522,7 @@ errcode_t ext2fs_icount_increment(ext2_icount_t icount, ext2_ino_t ino, if (!ino || (ino > icount->num_inodes)) return EXT2_ET_INVALID_ARGUMENT; - if (ext2fs_test_inode_bitmap2(icount->single, ino)) { + if (ext2fs_test_inode_bitmap(icount->single, ino)) { /* * If the existing count is 1, then we know there is * no entry in the list. @@ -517,14 +530,14 @@ errcode_t ext2fs_icount_increment(ext2_icount_t icount, ext2_ino_t ino, if (set_inode_count(icount, ino, 2)) return EXT2_ET_NO_MEMORY; curr_value = 2; - ext2fs_unmark_inode_bitmap2(icount->single, ino); + ext2fs_unmark_inode_bitmap(icount->single, ino); } else if (icount->multiple) { /* * The count is either zero or greater than 1; if the * inode is set in icount->multiple, then there should * be an entry in the list, so we need to fix it. */ - if (ext2fs_test_inode_bitmap2(icount->multiple, ino)) { + if (ext2fs_test_inode_bitmap(icount->multiple, ino)) { get_inode_count(icount, ino, &curr_value); curr_value++; if (set_inode_count(icount, ino, curr_value)) @@ -534,7 +547,7 @@ errcode_t ext2fs_icount_increment(ext2_icount_t icount, ext2_ino_t ino, * The count was zero; mark the single bitmap * and return. */ - ext2fs_mark_inode_bitmap2(icount->single, ino); + ext2fs_mark_inode_bitmap(icount->single, ino); if (ret) *ret = 1; return 0; @@ -550,7 +563,7 @@ errcode_t ext2fs_icount_increment(ext2_icount_t icount, ext2_ino_t ino, return EXT2_ET_NO_MEMORY; } if (icount->multiple) - ext2fs_mark_inode_bitmap2(icount->multiple, ino); + ext2fs_mark_inode_bitmap(icount->multiple, ino); if (ret) *ret = icount_16_xlate(curr_value); return 0; @@ -566,10 +579,10 @@ errcode_t ext2fs_icount_decrement(ext2_icount_t icount, ext2_ino_t ino, EXT2_CHECK_MAGIC(icount, EXT2_ET_MAGIC_ICOUNT); - if (ext2fs_test_inode_bitmap2(icount->single, ino)) { - ext2fs_unmark_inode_bitmap2(icount->single, ino); + if (ext2fs_test_inode_bitmap(icount->single, ino)) { + ext2fs_unmark_inode_bitmap(icount->single, ino); if (icount->multiple) - ext2fs_unmark_inode_bitmap2(icount->multiple, ino); + ext2fs_unmark_inode_bitmap(icount->multiple, ino); else { set_inode_count(icount, ino, 0); } @@ -579,7 +592,7 @@ errcode_t ext2fs_icount_decrement(ext2_icount_t icount, ext2_ino_t ino, } if (icount->multiple && - !ext2fs_test_inode_bitmap2(icount->multiple, ino)) + !ext2fs_test_inode_bitmap(icount->multiple, ino)) return EXT2_ET_INVALID_ARGUMENT; get_inode_count(icount, ino, &curr_value); @@ -590,9 +603,9 @@ errcode_t ext2fs_icount_decrement(ext2_icount_t icount, ext2_ino_t ino, return EXT2_ET_NO_MEMORY; if (curr_value == 1) - ext2fs_mark_inode_bitmap2(icount->single, ino); + ext2fs_mark_inode_bitmap(icount->single, ino); if ((curr_value == 0) && icount->multiple) - ext2fs_unmark_inode_bitmap2(icount->multiple, ino); + ext2fs_unmark_inode_bitmap(icount->multiple, ino); if (ret) *ret = icount_16_xlate(curr_value); @@ -608,19 +621,19 @@ errcode_t ext2fs_icount_store(ext2_icount_t icount, ext2_ino_t ino, EXT2_CHECK_MAGIC(icount, EXT2_ET_MAGIC_ICOUNT); if (count == 1) { - ext2fs_mark_inode_bitmap2(icount->single, ino); + ext2fs_mark_inode_bitmap(icount->single, ino); if (icount->multiple) - ext2fs_unmark_inode_bitmap2(icount->multiple, ino); + ext2fs_unmark_inode_bitmap(icount->multiple, ino); return 0; } if (count == 0) { - ext2fs_unmark_inode_bitmap2(icount->single, ino); + ext2fs_unmark_inode_bitmap(icount->single, ino); if (icount->multiple) { /* * If the icount->multiple bitmap is enabled, * we can just clear both bitmaps and we're done */ - ext2fs_unmark_inode_bitmap2(icount->multiple, ino); + ext2fs_unmark_inode_bitmap(icount->multiple, ino); } else set_inode_count(icount, ino, 0); return 0; @@ -628,9 +641,9 @@ errcode_t ext2fs_icount_store(ext2_icount_t icount, ext2_ino_t ino, if (set_inode_count(icount, ino, count)) return EXT2_ET_NO_MEMORY; - ext2fs_unmark_inode_bitmap2(icount->single, ino); + ext2fs_unmark_inode_bitmap(icount->single, ino); if (icount->multiple) - ext2fs_mark_inode_bitmap2(icount->multiple, ino); + ext2fs_mark_inode_bitmap(icount->multiple, ino); return 0; } @@ -731,9 +744,9 @@ static void setup(void) initialize_ext2_error_table(); memset(¶m, 0, sizeof(param)); - ext2fs_blocks_count_set(¶m, 12000); + param.s_blocks_count = 12000; - retval = ext2fs_initialize("test fs", EXT2_FLAG_64BITS, ¶m, + retval = ext2fs_initialize("test fs", 0, ¶m, test_io_manager, &test_fs); if (retval) { com_err("setup", retval, diff --git a/lib/ext2fs/imager.c b/lib/ext2fs/imager.c index 5c7003a6..afa9a216 100644 --- a/lib/ext2fs/imager.c +++ b/lib/ext2fs/imager.c @@ -62,17 +62,16 @@ errcode_t ext2fs_image_inode_write(ext2_filsys fs, int fd, int flags) { unsigned int group, left, c, d; char *buf, *cp; - blk64_t blk; + blk_t blk; ssize_t actual; errcode_t retval; - off_t r; buf = malloc(fs->blocksize * BUF_BLOCKS); if (!buf) return ENOMEM; for (group = 0; group < fs->group_desc_count; group++) { - blk = ext2fs_inode_table_loc(fs, (unsigned)group); + blk = fs->group_desc[(unsigned)group].bg_inode_table; if (!blk) { retval = EXT2_ET_MISSING_INODE_TABLE; goto errout; @@ -82,7 +81,7 @@ errcode_t ext2fs_image_inode_write(ext2_filsys fs, int fd, int flags) c = BUF_BLOCKS; if (c > left) c = left; - retval = io_channel_read_blk64(fs->io, blk, c, buf); + retval = io_channel_read_blk(fs->io, blk, c, buf); if (retval) goto errout; cp = buf; @@ -97,11 +96,7 @@ errcode_t ext2fs_image_inode_write(ext2_filsys fs, int fd, int flags) blk++; left--; cp += fs->blocksize; - r = lseek(fd, fs->blocksize, SEEK_CUR); - if (r < 0) { - retval = errno; - goto errout; - } + lseek(fd, fs->blocksize, SEEK_CUR); continue; } /* Find non-zero blocks */ @@ -141,7 +136,7 @@ errcode_t ext2fs_image_inode_read(ext2_filsys fs, int fd, { unsigned int group, c, left; char *buf; - blk64_t blk; + blk_t blk; ssize_t actual; errcode_t retval; @@ -150,7 +145,7 @@ errcode_t ext2fs_image_inode_read(ext2_filsys fs, int fd, return ENOMEM; for (group = 0; group < fs->group_desc_count; group++) { - blk = ext2fs_inode_table_loc(fs, (unsigned)group); + blk = fs->group_desc[(unsigned)group].bg_inode_table; if (!blk) { retval = EXT2_ET_MISSING_INODE_TABLE; goto errout; @@ -169,7 +164,7 @@ errcode_t ext2fs_image_inode_read(ext2_filsys fs, int fd, retval = EXT2_ET_SHORT_READ; goto errout; } - retval = io_channel_write_blk64(fs->io, blk, c, buf); + retval = io_channel_write_blk(fs->io, blk, c, buf); if (retval) goto errout; @@ -283,7 +278,7 @@ errout: errcode_t ext2fs_image_bitmap_write(ext2_filsys fs, int fd, int flags) { ext2fs_generic_bitmap bmap; - errcode_t retval; + errcode_t err, retval; ssize_t actual; __u32 itr, cnt, size; int c, total_size; @@ -296,6 +291,7 @@ errcode_t ext2fs_image_bitmap_write(ext2_filsys fs, int fd, int flags) return retval; } bmap = fs->inode_map; + err = EXT2_ET_MAGIC_INODE_BITMAP; itr = 1; cnt = EXT2_INODES_PER_GROUP(fs->super) * fs->group_desc_count; size = (EXT2_INODES_PER_GROUP(fs->super) / 8); @@ -306,6 +302,7 @@ errcode_t ext2fs_image_bitmap_write(ext2_filsys fs, int fd, int flags) return retval; } bmap = fs->block_map; + err = EXT2_ET_MAGIC_BLOCK_BITMAP; itr = fs->super->s_first_data_block; cnt = EXT2_BLOCKS_PER_GROUP(fs->super) * fs->group_desc_count; size = EXT2_BLOCKS_PER_GROUP(fs->super) / 8; @@ -317,8 +314,8 @@ errcode_t ext2fs_image_bitmap_write(ext2_filsys fs, int fd, int flags) if (size > (cnt >> 3)) size = (cnt >> 3); - retval = ext2fs_get_generic_bmap_range(bmap, itr, - size << 3, buf); + retval = ext2fs_get_generic_bitmap_range(bmap, + err, itr, size << 3, buf); if (retval) return retval; @@ -358,7 +355,7 @@ errcode_t ext2fs_image_bitmap_write(ext2_filsys fs, int fd, int flags) errcode_t ext2fs_image_bitmap_read(ext2_filsys fs, int fd, int flags) { ext2fs_generic_bitmap bmap; - errcode_t retval; + errcode_t err, retval; __u32 itr, cnt; char buf[1024]; unsigned int size; @@ -371,6 +368,7 @@ errcode_t ext2fs_image_bitmap_read(ext2_filsys fs, int fd, int flags) return retval; } bmap = fs->inode_map; + err = EXT2_ET_MAGIC_INODE_BITMAP; itr = 1; cnt = EXT2_INODES_PER_GROUP(fs->super) * fs->group_desc_count; size = (EXT2_INODES_PER_GROUP(fs->super) / 8); @@ -381,6 +379,7 @@ errcode_t ext2fs_image_bitmap_read(ext2_filsys fs, int fd, int flags) return retval; } bmap = fs->block_map; + err = EXT2_ET_MAGIC_BLOCK_BITMAP; itr = fs->super->s_first_data_block; cnt = EXT2_BLOCKS_PER_GROUP(fs->super) * fs->group_desc_count; size = EXT2_BLOCKS_PER_GROUP(fs->super) / 8; @@ -397,8 +396,8 @@ errcode_t ext2fs_image_bitmap_read(ext2_filsys fs, int fd, int flags) if (actual != (int) size) return EXT2_ET_SHORT_READ; - retval = ext2fs_set_generic_bmap_range(bmap, itr, - size << 3, buf); + retval = ext2fs_set_generic_bitmap_range(bmap, + err, itr, size << 3, buf); if (retval) return retval; diff --git a/lib/ext2fs/initialize.c b/lib/ext2fs/initialize.c index a57ffcb5..32f075e7 100644 --- a/lib/ext2fs/initialize.c +++ b/lib/ext2fs/initialize.c @@ -45,6 +45,19 @@ #endif /* defined(__GNU__) && defined(EXT2_OS_HURD) */ #endif /* defined(__linux__) && defined(EXT2_OS_LINUX) */ +/* + * Note we override the kernel include file's idea of what the default + * check interval (never) should be. It's a good idea to check at + * least *occasionally*, specially since servers will never rarely get + * to reboot, since Linux is so robust these days. :-) + * + * 180 days (six months) seems like a good value. + */ +#ifdef EXT2_DFL_CHECKINTERVAL +#undef EXT2_DFL_CHECKINTERVAL +#endif +#define EXT2_DFL_CHECKINTERVAL (86400L * 180L) + /* * Calculate the number of GDT blocks to reserve for online filesystem growth. * The absolute maximum number of GDT blocks we can reserve is determined by @@ -62,12 +75,8 @@ static unsigned int calc_reserved_gdt_blocks(ext2_filsys fs) /* We set it at 1024x the current filesystem size, or * the upper block count limit (2^32), whichever is lower. */ - if (ext2fs_blocks_count(sb) < max_blocks / 1024) - max_blocks = ext2fs_blocks_count(sb) * 1024; - /* - * ext2fs_div64_ceil() is unnecessary because max_blocks is - * max _GDT_ blocks, which is limited to 32 bits. - */ + if (sb->s_blocks_count < max_blocks / 1024) + max_blocks = sb->s_blocks_count * 1024; rsv_groups = ext2fs_div_ceil(max_blocks - sb->s_first_data_block, bpg); rsv_gdb = ext2fs_div_ceil(rsv_groups, gdpb) - fs->desc_blocks; if (rsv_gdb > EXT2_ADDR_PER_BLOCK(sb)) @@ -87,22 +96,19 @@ errcode_t ext2fs_initialize(const char *name, int flags, ext2_filsys fs; errcode_t retval; struct ext2_super_block *super; + int frags_per_block; unsigned int rem; unsigned int overhead = 0; unsigned int ipg; dgrp_t i; - blk64_t free_blocks; blk_t numblocks; int rsv_gdt; int csum_flag; - int bigalloc_flag; int io_flags; - unsigned reserved_inos; char *buf = 0; char c; - double reserved_ratio; - if (!param || !ext2fs_blocks_count(param)) + if (!param || !param->s_blocks_count) return EXT2_ET_INVALID_ARGUMENT; retval = ext2fs_get_mem(sizeof(struct struct_ext2_filsys), &fs); @@ -113,15 +119,12 @@ errcode_t ext2fs_initialize(const char *name, int flags, fs->magic = EXT2_ET_MAGIC_EXT2FS_FILSYS; fs->flags = flags | EXT2_FLAG_RW; fs->umask = 022; - fs->default_bitmap_type = EXT2FS_BMAP64_RBTREE; #ifdef WORDS_BIGENDIAN fs->flags |= EXT2_FLAG_SWAP_BYTES; #endif io_flags = IO_FLAG_RW; if (flags & EXT2_FLAG_EXCLUSIVE) io_flags |= IO_FLAG_EXCLUSIVE; - if (flags & EXT2_FLAG_DIRECT_IO) - io_flags |= IO_FLAG_DIRECT_IO; retval = manager->open(name, io_flags, &fs->io); if (retval) goto cleanup; @@ -141,32 +144,18 @@ errcode_t ext2fs_initialize(const char *name, int flags, #define set_field(field, default) (super->field = param->field ? \ param->field : (default)) -#define assign_field(field) (super->field = param->field) super->s_magic = EXT2_SUPER_MAGIC; super->s_state = EXT2_VALID_FS; - bigalloc_flag = EXT2_HAS_RO_COMPAT_FEATURE(param, - EXT4_FEATURE_RO_COMPAT_BIGALLOC); - - assign_field(s_log_block_size); - - if (bigalloc_flag) { - set_field(s_log_cluster_size, super->s_log_block_size+4); - if (super->s_log_block_size > super->s_log_cluster_size) { - retval = EXT2_ET_INVALID_ARGUMENT; - goto cleanup; - } - } else - super->s_log_cluster_size = super->s_log_block_size; - - set_field(s_first_data_block, super->s_log_cluster_size ? 0 : 1); - set_field(s_max_mnt_count, 0); + set_field(s_log_block_size, 0); /* default blocksize: 1024 bytes */ + set_field(s_log_frag_size, 0); /* default fragsize: 1024 bytes */ + set_field(s_first_data_block, super->s_log_block_size ? 0 : 1); + set_field(s_max_mnt_count, EXT2_DFL_MAX_MNT_COUNT); set_field(s_errors, EXT2_ERRORS_DEFAULT); set_field(s_feature_compat, 0); set_field(s_feature_incompat, 0); set_field(s_feature_ro_compat, 0); - set_field(s_default_mount_opts, 0); set_field(s_first_meta_bg, 0); set_field(s_raid_stride, 0); /* default stride size: 0 */ set_field(s_raid_stripe_width, 0); /* default stripe width: 0 */ @@ -196,61 +185,28 @@ errcode_t ext2fs_initialize(const char *name, int flags, super->s_inode_size = EXT2_GOOD_OLD_INODE_SIZE; } - set_field(s_checkinterval, 0); + set_field(s_checkinterval, EXT2_DFL_CHECKINTERVAL); super->s_mkfs_time = super->s_lastcheck = fs->now ? fs->now : time(NULL); super->s_creator_os = CREATOR_OS; - fs->fragsize = fs->blocksize = EXT2_BLOCK_SIZE(super); - fs->cluster_ratio_bits = super->s_log_cluster_size - - super->s_log_block_size; + fs->blocksize = EXT2_BLOCK_SIZE(super); + fs->fragsize = EXT2_FRAG_SIZE(super); + frags_per_block = fs->blocksize / fs->fragsize; - if (bigalloc_flag) { - unsigned long long bpg; + /* default: (fs->blocksize*8) blocks/group, up to 2^16 (GDT limit) */ + set_field(s_blocks_per_group, fs->blocksize * 8); + if (super->s_blocks_per_group > EXT2_MAX_BLOCKS_PER_GROUP(super)) + super->s_blocks_per_group = EXT2_MAX_BLOCKS_PER_GROUP(super); + super->s_frags_per_group = super->s_blocks_per_group * frags_per_block; - if (param->s_blocks_per_group && - param->s_clusters_per_group && - ((param->s_clusters_per_group * EXT2FS_CLUSTER_RATIO(fs)) != - param->s_blocks_per_group)) { - retval = EXT2_ET_INVALID_ARGUMENT; - goto cleanup; - } - if (param->s_clusters_per_group) - assign_field(s_clusters_per_group); - else if (param->s_blocks_per_group) - super->s_clusters_per_group = - param->s_blocks_per_group / - EXT2FS_CLUSTER_RATIO(fs); - else if (super->s_log_cluster_size + 15 < 32) - super->s_clusters_per_group = fs->blocksize * 8; - else - super->s_clusters_per_group = (fs->blocksize - 1) * 8; - if (super->s_clusters_per_group > EXT2_MAX_CLUSTERS_PER_GROUP(super)) - super->s_clusters_per_group = EXT2_MAX_CLUSTERS_PER_GROUP(super); - bpg = EXT2FS_C2B(fs, - (unsigned long long) super->s_clusters_per_group); - if (bpg >= (((unsigned long long) 1) << 32)) { - retval = EXT2_ET_INVALID_ARGUMENT; - goto cleanup; - } - super->s_blocks_per_group = bpg; - } else { - set_field(s_blocks_per_group, fs->blocksize * 8); - if (super->s_blocks_per_group > EXT2_MAX_BLOCKS_PER_GROUP(super)) - super->s_blocks_per_group = EXT2_MAX_BLOCKS_PER_GROUP(super); - super->s_clusters_per_group = super->s_blocks_per_group; - } - - ext2fs_blocks_count_set(super, ext2fs_blocks_count(param) & - ~((blk64_t) EXT2FS_CLUSTER_MASK(fs))); - ext2fs_r_blocks_count_set(super, ext2fs_r_blocks_count(param)); - if (ext2fs_r_blocks_count(super) >= ext2fs_blocks_count(param)) { + super->s_blocks_count = param->s_blocks_count; + super->s_r_blocks_count = param->s_r_blocks_count; + if (super->s_r_blocks_count >= param->s_blocks_count) { retval = EXT2_ET_INVALID_ARGUMENT; goto cleanup; } - set_field(s_mmp_update_interval, 0); - /* * If we're creating an external journal device, we don't need * to bother with the rest. @@ -263,28 +219,18 @@ errcode_t ext2fs_initialize(const char *name, int flags, } retry: - fs->group_desc_count = (dgrp_t) ext2fs_div64_ceil( - ext2fs_blocks_count(super) - super->s_first_data_block, - EXT2_BLOCKS_PER_GROUP(super)); + fs->group_desc_count = ext2fs_div_ceil(super->s_blocks_count - + super->s_first_data_block, + EXT2_BLOCKS_PER_GROUP(super)); if (fs->group_desc_count == 0) { retval = EXT2_ET_TOOSMALL; goto cleanup; } - - set_field(s_desc_size, - super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT ? - EXT2_MIN_DESC_SIZE_64BIT : 0); - fs->desc_blocks = ext2fs_div_ceil(fs->group_desc_count, EXT2_DESC_PER_BLOCK(super)); i = fs->blocksize >= 4096 ? 1 : 4096 / fs->blocksize; - - if (super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT && - (ext2fs_blocks_count(super) / i) > (1ULL << 32)) - set_field(s_inodes_count, ~0U); - else - set_field(s_inodes_count, ext2fs_blocks_count(super) / i); + set_field(s_inodes_count, super->s_blocks_count / i); /* * Make sure we have at least EXT2_FIRST_INO + 1 inodes, so @@ -301,12 +247,12 @@ retry: */ ipg = ext2fs_div_ceil(super->s_inodes_count, fs->group_desc_count); if (ipg > fs->blocksize * 8) { - if (!bigalloc_flag && super->s_blocks_per_group >= 256) { + if (super->s_blocks_per_group >= 256) { /* Try again with slightly different parameters */ super->s_blocks_per_group -= 8; - ext2fs_blocks_count_set(super, - ext2fs_blocks_count(param)); - super->s_clusters_per_group = super->s_blocks_per_group; + super->s_blocks_count = param->s_blocks_count; + super->s_frags_per_group = super->s_blocks_per_group * + frags_per_block; goto retry; } else { retval = EXT2_ET_TOO_MANY_INODES; @@ -337,8 +283,6 @@ ipg_retry: * multiple of 8. This is needed to simplify the bitmap * splicing code. */ - if (super->s_inodes_per_group < 8) - super->s_inodes_per_group = 8; super->s_inodes_per_group &= ~7; fs->inode_blocks_per_group = (((super->s_inodes_per_group * EXT2_INODE_SIZE(super)) + @@ -394,24 +338,14 @@ ipg_retry: overhead = (int) (2 + fs->inode_blocks_per_group); if (ext2fs_bg_has_super(fs, fs->group_desc_count - 1)) overhead += 1 + fs->desc_blocks + super->s_reserved_gdt_blocks; - rem = ((ext2fs_blocks_count(super) - super->s_first_data_block) % + rem = ((super->s_blocks_count - super->s_first_data_block) % super->s_blocks_per_group); if ((fs->group_desc_count == 1) && rem && (rem < overhead)) { retval = EXT2_ET_TOOSMALL; goto cleanup; } if (rem && (rem < overhead+50)) { - ext2fs_blocks_count_set(super, ext2fs_blocks_count(super) - - rem); - /* - * If blocks count is changed, we need to recalculate - * reserved blocks count not to exceed 50%. - */ - reserved_ratio = 100.0 * ext2fs_r_blocks_count(param) / - ext2fs_blocks_count(param); - ext2fs_r_blocks_count_set(super, reserved_ratio * - ext2fs_blocks_count(super) / 100.0); - + super->s_blocks_count -= rem; goto retry; } @@ -427,7 +361,7 @@ ipg_retry: strcpy(buf, "block bitmap for "); strcat(buf, fs->device_name); - retval = ext2fs_allocate_subcluster_bitmap(fs, buf, &fs->block_map); + retval = ext2fs_allocate_block_bitmap(fs, buf, &fs->block_map); if (retval) goto cleanup; @@ -457,10 +391,9 @@ ipg_retry: * superblock and group descriptors (the inode tables and * bitmaps will be accounted for when allocated). */ - free_blocks = 0; + super->s_free_blocks_count = 0; csum_flag = EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM); - reserved_inos = super->s_first_ino; for (i = 0; i < fs->group_desc_count; i++) { /* * Don't set the BLOCK_UNINIT group for the last group @@ -468,33 +401,25 @@ ipg_retry: */ if (csum_flag) { if (i != fs->group_desc_count - 1) - ext2fs_bg_flags_set(fs, i, - EXT2_BG_BLOCK_UNINIT); - ext2fs_bg_flags_set(fs, i, EXT2_BG_INODE_UNINIT); + fs->group_desc[i].bg_flags |= + EXT2_BG_BLOCK_UNINIT; + fs->group_desc[i].bg_flags |= EXT2_BG_INODE_UNINIT; numblocks = super->s_inodes_per_group; - if (reserved_inos) { - if (numblocks > reserved_inos) { - numblocks -= reserved_inos; - reserved_inos = 0; - } else { - reserved_inos -= numblocks; - numblocks = 0; - } - } - ext2fs_bg_itable_unused_set(fs, i, numblocks); + if (i == 0) + numblocks -= super->s_first_ino; + fs->group_desc[i].bg_itable_unused = numblocks; } numblocks = ext2fs_reserve_super_and_bgd(fs, i, fs->block_map); if (fs->super->s_log_groups_per_flex) numblocks += 2 + fs->inode_blocks_per_group; - free_blocks += numblocks; - ext2fs_bg_free_blocks_count_set(fs, i, numblocks); - ext2fs_bg_free_inodes_count_set(fs, i, fs->super->s_inodes_per_group); - ext2fs_bg_used_dirs_count_set(fs, i, 0); + super->s_free_blocks_count += numblocks; + fs->group_desc[i].bg_free_blocks_count = numblocks; + fs->group_desc[i].bg_free_inodes_count = + fs->super->s_inodes_per_group; + fs->group_desc[i].bg_used_dirs_count = 0; ext2fs_group_desc_csum_set(fs, i); } - free_blocks &= ~EXT2FS_CLUSTER_MASK(fs); - ext2fs_free_blocks_count_set(super, free_blocks); c = (char) 255; if (((int) c) == -1) { diff --git a/lib/ext2fs/inline.c b/lib/ext2fs/inline.c index 4d0f4ad1..f9be368b 100644 --- a/lib/ext2fs/inline.c +++ b/lib/ext2fs/inline.c @@ -11,9 +11,6 @@ * %End-Header% */ -#ifndef _XOPEN_SOURCE -#define _XOPEN_SOURCE 600 /* for posix_memalign() */ -#endif #include #include @@ -28,93 +25,8 @@ #if HAVE_SYS_TYPES_H #include #endif -#ifdef HAVE_MALLOC_H -#include -#endif #include "ext2_fs.h" #define INCLUDE_INLINE_FUNCS #include "ext2fs.h" -/* - * We used to define this as an inline, but since we are now using - * autoconf-defined #ifdef's, we need to export this as a - * library-provided function exclusively. - */ -errcode_t ext2fs_get_memalign(unsigned long size, - unsigned long align, void *ptr) -{ - errcode_t retval; - void **p = ptr; - - if (align < 8) - align = 8; -#ifdef HAVE_POSIX_MEMALIGN - retval = posix_memalign(p, align, size); - if (retval) { - if (retval == ENOMEM) - return EXT2_ET_NO_MEMORY; - return retval; - } -#else -#ifdef HAVE_MEMALIGN - *p = memalign(align, size); - if (*p == NULL) { - if (errno) - return errno; - else - return EXT2_ET_NO_MEMORY; - } -#else -#ifdef HAVE_VALLOC - if (align > sizeof(long long)) - *p = valloc(size); - else -#endif - *p = malloc(size); - if ((unsigned long) *p & (align - 1)) { - free(*p); - *p = 0; - } - if (*p == 0) - return EXT2_ET_NO_MEMORY; -#endif -#endif - return 0; -} - -#ifdef DEBUG -static int isaligned(void *ptr, unsigned long align) -{ - return (((unsigned long) ptr & (align - 1)) == 0); -} - -static errcode_t test_memalign(unsigned long align) -{ - void *ptr = 0; - errcode_t retval; - - retval = ext2fs_get_memalign(32, align, &ptr); - if (!retval && !isaligned(ptr, align)) - retval = EINVAL; - free(ptr); - printf("tst_memalign(%lu) is %s\n", align, - retval ? error_message(retval) : "OK"); - return retval; -} - -int main(int argc, char **argv) -{ - int err = 0; - - if (test_memalign(4)) - err++; - if (test_memalign(32)) - err++; - if (test_memalign(1024)) - err++; - if (test_memalign(4096)) - err++; - return err; -} -#endif diff --git a/lib/ext2fs/inode.c b/lib/ext2fs/inode.c index d0b528cf..5088f9bb 100644 --- a/lib/ext2fs/inode.c +++ b/lib/ext2fs/inode.c @@ -33,7 +33,7 @@ struct ext2_struct_inode_scan { errcode_t magic; ext2_filsys fs; ext2_ino_t current_inode; - blk64_t current_block; + blk_t current_block; dgrp_t current_group; ext2_ino_t inodes_left; blk_t blocks_left; @@ -143,21 +143,21 @@ errcode_t ext2fs_open_inode_scan(ext2_filsys fs, int buffer_blocks, scan->current_group = 0; scan->groups_left = fs->group_desc_count - 1; scan->inode_buffer_blocks = buffer_blocks ? buffer_blocks : 8; - scan->current_block = ext2fs_inode_table_loc(scan->fs, - scan->current_group); + scan->current_block = scan->fs-> + group_desc[scan->current_group].bg_inode_table; scan->inodes_left = EXT2_INODES_PER_GROUP(scan->fs->super); scan->blocks_left = scan->fs->inode_blocks_per_group; if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) { scan->inodes_left -= - ext2fs_bg_itable_unused(fs, scan->current_group); + fs->group_desc[scan->current_group].bg_itable_unused; scan->blocks_left = (scan->inodes_left + (fs->blocksize / scan->inode_size - 1)) * scan->inode_size / fs->blocksize; } - retval = io_channel_alloc_buf(fs->io, scan->inode_buffer_blocks, - &scan->inode_buffer); + retval = ext2fs_get_memalign(scan->inode_buffer_blocks * fs->blocksize, + fs->blocksize, &scan->inode_buffer); scan->done_group = 0; scan->done_group_data = 0; scan->bad_block_ptr = 0; @@ -232,8 +232,8 @@ static errcode_t get_next_blockgroup(ext2_inode_scan scan) scan->current_group++; scan->groups_left--; - scan->current_block = ext2fs_inode_table_loc(scan->fs, - scan->current_group); + scan->current_block =fs->group_desc[scan->current_group].bg_inode_table; + scan->current_inode = scan->current_group * EXT2_INODES_PER_GROUP(fs->super); @@ -243,7 +243,7 @@ static errcode_t get_next_blockgroup(ext2_inode_scan scan) if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) { scan->inodes_left -= - ext2fs_bg_itable_unused(fs, scan->current_group); + fs->group_desc[scan->current_group].bg_itable_unused; scan->blocks_left = (scan->inodes_left + (fs->blocksize / scan->inode_size - 1)) * @@ -269,9 +269,9 @@ errcode_t ext2fs_inode_scan_goto_blockgroup(ext2_inode_scan scan, * increasing order. */ static errcode_t check_for_inode_bad_blocks(ext2_inode_scan scan, - blk64_t *num_blocks) + blk_t *num_blocks) { - blk64_t blk = scan->current_block; + blk_t blk = scan->current_block; badblocks_list bb = scan->fs->badblocks; /* @@ -328,7 +328,7 @@ static errcode_t check_for_inode_bad_blocks(ext2_inode_scan scan, */ static errcode_t get_next_blocks(ext2_inode_scan scan) { - blk64_t num_blocks; + blk_t num_blocks; errcode_t retval; /* @@ -364,7 +364,7 @@ static errcode_t get_next_blocks(ext2_inode_scan scan) memset(scan->inode_buffer, 0, (size_t) num_blocks * scan->fs->blocksize); } else { - retval = io_channel_read_blk64(scan->fs->io, + retval = io_channel_read_blk(scan->fs->io, scan->current_block, (int) num_blocks, scan->inode_buffer); @@ -434,8 +434,8 @@ errcode_t ext2fs_get_next_inode_full(ext2_inode_scan scan, ext2_ino_t *ino, * they can be done for block group #0. */ if ((scan->scan_flags & EXT2_SF_DO_LAZY) && - (ext2fs_bg_flags_test(scan->fs, scan->current_group, EXT2_BG_INODE_UNINIT) - )) + (scan->fs->group_desc[scan->current_group].bg_flags & + EXT2_BG_INODE_UNINIT)) goto force_new_group; if (scan->inodes_left == 0) goto force_new_group; @@ -522,8 +522,7 @@ errcode_t ext2fs_get_next_inode(ext2_inode_scan scan, ext2_ino_t *ino, errcode_t ext2fs_read_inode_full(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode * inode, int bufsize) { - blk64_t block_nr; - unsigned long group, block, offset; + unsigned long group, block, block_nr, offset; char *ptr; errcode_t retval; int clen, i, inodes_per_block, length; @@ -532,9 +531,7 @@ errcode_t ext2fs_read_inode_full(ext2_filsys fs, ext2_ino_t ino, EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); /* Check to see if user has an override function */ - if (fs->read_inode && - ((bufsize == sizeof(struct ext2_inode)) || - (EXT2_INODE_SIZE(fs->super) == sizeof(struct ext2_inode)))) { + if (fs->read_inode) { retval = (fs->read_inode)(fs, ino, inode); if (retval != EXT2_ET_CALLBACK_NOTHANDLED) return retval; @@ -571,9 +568,9 @@ errcode_t ext2fs_read_inode_full(ext2_filsys fs, ext2_ino_t ino, offset = ((ino - 1) % EXT2_INODES_PER_GROUP(fs->super)) * EXT2_INODE_SIZE(fs->super); block = offset >> EXT2_BLOCK_SIZE_BITS(fs->super); - if (!ext2fs_inode_table_loc(fs, (unsigned) group)) + if (!fs->group_desc[(unsigned)group].bg_inode_table) return EXT2_ET_MISSING_INODE_TABLE; - block_nr = ext2fs_inode_table_loc(fs, group) + + block_nr = fs->group_desc[(unsigned)group].bg_inode_table + block; io = fs->io; } @@ -590,7 +587,7 @@ errcode_t ext2fs_read_inode_full(ext2_filsys fs, ext2_ino_t ino, clen = fs->blocksize - offset; if (block_nr != fs->icache->buffer_blk) { - retval = io_channel_read_blk64(io, block_nr, 1, + retval = io_channel_read_blk(io, block_nr, 1, fs->icache->buffer); if (retval) return retval; @@ -631,8 +628,7 @@ errcode_t ext2fs_read_inode(ext2_filsys fs, ext2_ino_t ino, errcode_t ext2fs_write_inode_full(ext2_filsys fs, ext2_ino_t ino, struct ext2_inode * inode, int bufsize) { - blk64_t block_nr; - unsigned long group, block, offset; + unsigned long group, block, block_nr, offset; errcode_t retval = 0; struct ext2_inode_large temp_inode, *w_inode; char *ptr; @@ -673,10 +669,8 @@ errcode_t ext2fs_write_inode_full(ext2_filsys fs, ext2_ino_t ino, if (length > (int) sizeof(struct ext2_inode_large)) { w_inode = malloc(length); - if (!w_inode) { - retval = ENOMEM; - goto errout; - } + if (!w_inode) + return ENOMEM; } else w_inode = &temp_inode; memset(w_inode, 0, length); @@ -693,11 +687,11 @@ errcode_t ext2fs_write_inode_full(ext2_filsys fs, ext2_ino_t ino, offset = ((ino - 1) % EXT2_INODES_PER_GROUP(fs->super)) * EXT2_INODE_SIZE(fs->super); block = offset >> EXT2_BLOCK_SIZE_BITS(fs->super); - if (!ext2fs_inode_table_loc(fs, (unsigned) group)) { + if (!fs->group_desc[(unsigned) group].bg_inode_table) { retval = EXT2_ET_MISSING_INODE_TABLE; goto errout; } - block_nr = ext2fs_inode_table_loc(fs, (unsigned) group) + block; + block_nr = fs->group_desc[(unsigned) group].bg_inode_table + block; offset &= (EXT2_BLOCK_SIZE(fs->super) - 1); @@ -713,7 +707,7 @@ errcode_t ext2fs_write_inode_full(ext2_filsys fs, ext2_ino_t ino, clen = fs->blocksize - offset; if (fs->icache->buffer_blk != block_nr) { - retval = io_channel_read_blk64(fs->io, block_nr, 1, + retval = io_channel_read_blk(fs->io, block_nr, 1, fs->icache->buffer); if (retval) goto errout; @@ -724,7 +718,7 @@ errcode_t ext2fs_write_inode_full(ext2_filsys fs, ext2_ino_t ino, memcpy((char *) fs->icache->buffer + (unsigned) offset, ptr, clen); - retval = io_channel_write_blk64(fs->io, block_nr, 1, + retval = io_channel_write_blk(fs->io, block_nr, 1, fs->icache->buffer); if (retval) goto errout; diff --git a/lib/ext2fs/inode_io.c b/lib/ext2fs/inode_io.c index ced32448..4faaa487 100644 --- a/lib/ext2fs/inode_io.c +++ b/lib/ext2fs/inode_io.c @@ -163,10 +163,9 @@ static errcode_t inode_open(const char *name, int flags, io_channel *channel) return 0; cleanup: - if (io && io->name) - ext2fs_free_mem(&io->name); - if (data) + if (data) { ext2fs_free_mem(&data); + } if (io) ext2fs_free_mem(&io); return retval; diff --git a/lib/ext2fs/io_manager.c b/lib/ext2fs/io_manager.c index 116f2aea..6d0e2343 100644 --- a/lib/ext2fs/io_manager.c +++ b/lib/ext2fs/io_manager.c @@ -99,31 +99,3 @@ errcode_t io_channel_write_blk64(io_channel channel, unsigned long long block, return (channel->manager->write_blk)(channel, (unsigned long) block, count, data); } - -errcode_t io_channel_discard(io_channel channel, unsigned long long block, - unsigned long long count) -{ - EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL); - - if (channel->manager->discard) - return (channel->manager->discard)(channel, block, count); - - return EXT2_ET_UNIMPLEMENTED; -} - -errcode_t io_channel_alloc_buf(io_channel io, int count, void *ptr) -{ - size_t size; - - if (count == 0) - size = io->block_size; - else if (count > 0) - size = io->block_size * count; - else - size = -count; - - if (io->align) - return ext2fs_get_memalign(size, io->align, ptr); - else - return ext2fs_get_mem(size, ptr); -} diff --git a/lib/ext2fs/irel.h b/lib/ext2fs/irel.h index 8aaa2d2b..9a4958be 100644 --- a/lib/ext2fs/irel.h +++ b/lib/ext2fs/irel.h @@ -10,7 +10,7 @@ */ struct ext2_inode_reference { - blk64_t block; + blk_t block; __u16 offset; }; diff --git a/lib/ext2fs/ismounted.c b/lib/ext2fs/ismounted.c index db80c460..2e9df4e0 100644 --- a/lib/ext2fs/ismounted.c +++ b/lib/ext2fs/ismounted.c @@ -20,13 +20,6 @@ #ifdef HAVE_LINUX_FD_H #include #endif -#ifdef HAVE_LINUX_LOOP_H -#include -#include -#ifdef HAVE_LINUX_MAJOR_H -#include -#endif /* HAVE_LINUX_MAJOR_H */ -#endif /* HAVE_LINUX_LOOP_H */ #ifdef HAVE_MNTENT_H #include #endif @@ -41,37 +34,7 @@ #include "ext2_fs.h" #include "ext2fs.h" -/* - * Check to see if a regular file is mounted. - * If /etc/mtab/ is a symlink of /proc/mounts, you will need the following check - * because the name in /proc/mounts is a loopback device not a regular file. - */ -static int check_loop_mounted(const char *mnt_fsname, dev_t mnt_rdev, - dev_t file_dev, ino_t file_ino) -{ -#if defined(HAVE_LINUX_LOOP_H) && defined(HAVE_LINUX_MAJOR_H) - struct loop_info64 loopinfo; - int loop_fd, ret; - - if (major(mnt_rdev) == LOOP_MAJOR) { - loop_fd = open(mnt_fsname, O_RDONLY); - if (loop_fd < 0) - return -1; - - ret = ioctl(loop_fd, LOOP_GET_STATUS64, &loopinfo); - close(loop_fd); - if (ret < 0) - return -1; - - if (file_dev == loopinfo.lo_device && - file_ino == loopinfo.lo_inode) - return 1; - } -#endif /* defined(HAVE_LINUX_LOOP_H) && defined(HAVE_LINUX_MAJOR_H) */ - return 0; -} - -#ifdef HAVE_SETMNTENT +#ifdef HAVE_MNTENT_H /* * Helper function which checks a file in /etc/mtab format to see if a * filesystem is mounted. Returns an error if the file doesn't exist @@ -89,15 +52,8 @@ static errcode_t check_mntent_file(const char *mtab_file, const char *file, int fd; *mount_flags = 0; - if ((f = setmntent (mtab_file, "r")) == NULL) { - if (errno == ENOENT) { - if (getenv("EXT2FS_NO_MTAB_OK")) - return 0; - else - return EXT2_ET_NO_MTAB_FILE; - } - return errno; - } + if ((f = setmntent (mtab_file, "r")) == NULL) + return (errno == ENOENT ? EXT2_NO_MTAB_FILE : errno); if (stat(file, &st_buf) == 0) { if (S_ISBLK(st_buf.st_mode)) { #ifndef __GNU__ /* The GNU hurd is broken with respect to stat devices */ @@ -118,10 +74,6 @@ static errcode_t check_mntent_file(const char *mtab_file, const char *file, #ifndef __GNU__ if (file_rdev && (file_rdev == st_buf.st_rdev)) break; - if (check_loop_mounted(mnt->mnt_fsname, - st_buf.st_rdev, file_dev, - file_ino) == 1) - break; #endif /* __GNU__ */ } else { if (file_dev && ((file_dev == st_buf.st_dev) && @@ -278,7 +230,7 @@ static errcode_t check_getmntinfo(const char *file, int *mount_flags, return 0; } #endif /* HAVE_GETMNTINFO */ -#endif /* HAVE_SETMNTENT */ +#endif /* HAVE_MNTENT_H */ /* * Check to see if we're dealing with the swap device. @@ -349,13 +301,15 @@ leave: errcode_t ext2fs_check_mount_point(const char *device, int *mount_flags, char *mtpt, int mtlen) { + struct stat st_buf; errcode_t retval = 0; + int fd; if (is_swap_device(device)) { *mount_flags = EXT2_MF_MOUNTED | EXT2_MF_SWAP; strncpy(mtpt, "", mtlen); } else { -#ifdef HAVE_SETMNTENT +#ifdef HAVE_MNTENT_H retval = check_mntent(device, mount_flags, mtpt, mtlen); #else #ifdef HAVE_GETMNTINFO @@ -366,24 +320,21 @@ errcode_t ext2fs_check_mount_point(const char *device, int *mount_flags, #endif *mount_flags = 0; #endif /* HAVE_GETMNTINFO */ -#endif /* HAVE_SETMNTENT */ +#endif /* HAVE_MNTENT_H */ } if (retval) return retval; #ifdef __linux__ /* This only works on Linux 2.6+ systems */ - { - struct stat st_buf; - - if (stat(device, &st_buf) == 0 && S_ISBLK(st_buf.st_mode)) { - int fd = open(device, O_RDONLY | O_EXCL); - - if (fd >= 0) - close(fd); - else if (errno == EBUSY) - *mount_flags |= EXT2_MF_BUSY; - } - } + if ((stat(device, &st_buf) != 0) || + !S_ISBLK(st_buf.st_mode)) + return 0; + fd = open(device, O_RDONLY | O_EXCL); + if (fd < 0) { + if (errno == EBUSY) + *mount_flags |= EXT2_MF_BUSY; + } else + close(fd); #endif return 0; diff --git a/lib/ext2fs/kernel-jbd.h b/lib/ext2fs/kernel-jbd.h index 059bf8fa..331b0e47 100644 --- a/lib/ext2fs/kernel-jbd.h +++ b/lib/ext2fs/kernel-jbd.h @@ -214,13 +214,13 @@ typedef struct journal_superblock_s #define JFS_HAS_COMPAT_FEATURE(j,mask) \ ((j)->j_format_version >= 2 && \ - ((j)->j_superblock->s_feature_compat & ext2fs_cpu_to_be32((mask)))) + ((j)->j_superblock->s_feature_compat & cpu_to_be32((mask)))) #define JFS_HAS_RO_COMPAT_FEATURE(j,mask) \ ((j)->j_format_version >= 2 && \ - ((j)->j_superblock->s_feature_ro_compat & ext2fs_cpu_to_be32((mask)))) + ((j)->j_superblock->s_feature_ro_compat & cpu_to_be32((mask)))) #define JFS_HAS_INCOMPAT_FEATURE(j,mask) \ ((j)->j_format_version >= 2 && \ - ((j)->j_superblock->s_feature_incompat & ext2fs_cpu_to_be32((mask)))) + ((j)->j_superblock->s_feature_incompat & cpu_to_be32((mask)))) #define JFS_FEATURE_COMPAT_CHECKSUM 0x00000001 @@ -234,8 +234,7 @@ typedef struct journal_superblock_s #define JFS_KNOWN_COMPAT_FEATURES 0 #define JFS_KNOWN_ROCOMPAT_FEATURES 0 #define JFS_KNOWN_INCOMPAT_FEATURES (JFS_FEATURE_INCOMPAT_REVOKE|\ - JFS_FEATURE_INCOMPAT_ASYNC_COMMIT|\ - JFS_FEATURE_INCOMPAT_64BIT) + JFS_FEATURE_INCOMPAT_ASYNC_COMMIT) #ifdef __KERNEL__ diff --git a/lib/ext2fs/kernel-list.h b/lib/ext2fs/kernel-list.h index 01f4f6b9..e07d06b6 100644 --- a/lib/ext2fs/kernel-list.h +++ b/lib/ext2fs/kernel-list.h @@ -17,6 +17,9 @@ struct list_head { #define LIST_HEAD_INIT(name) { &(name), &(name) } +#define LIST_HEAD(name) \ + struct list_head name = { &name, &name } + #define INIT_LIST_HEAD(ptr) do { \ (ptr)->next = (ptr); (ptr)->prev = (ptr); \ } while (0) diff --git a/lib/ext2fs/link.c b/lib/ext2fs/link.c index 8c5553c9..4cc8426a 100644 --- a/lib/ext2fs/link.c +++ b/lib/ext2fs/link.c @@ -41,9 +41,6 @@ static int link_proc(struct ext2_dir_entry *dirent, unsigned int rec_len, min_rec_len, curr_rec_len; int ret = 0; - if (ls->done) - return DIRENT_ABORT; - rec_len = EXT2_DIR_REC_LEN(ls->namelen); ls->err = ext2fs_get_rec_len(ls->fs, dirent, &curr_rec_len); @@ -55,9 +52,9 @@ static int link_proc(struct ext2_dir_entry *dirent, * if so, absorb it into this one. */ next = (struct ext2_dir_entry *) (buf + offset + curr_rec_len); - if ((offset + (int) curr_rec_len < blocksize - 8) && + if ((offset + curr_rec_len < blocksize - 8) && (next->inode == 0) && - (offset + (int) curr_rec_len + (int) next->rec_len <= blocksize)) { + (offset + curr_rec_len + next->rec_len <= blocksize)) { curr_rec_len += next->rec_len; ls->err = ext2fs_set_rec_len(ls->fs, curr_rec_len, dirent); if (ls->err) diff --git a/lib/ext2fs/llseek.c b/lib/ext2fs/llseek.c index 774d1d4d..7855590b 100644 --- a/lib/ext2fs/llseek.c +++ b/lib/ext2fs/llseek.c @@ -89,14 +89,17 @@ static ext2_loff_t my_llseek (int fd, ext2_loff_t offset, int origin) ext2_loff_t ext2fs_llseek (int fd, ext2_loff_t offset, int origin) { -#if SIZEOF_OFF_T >= SIZEOF_LONG_LONG - return lseek (fd, offset, origin); -#else ext2_loff_t result; static int do_compat = 0; - if (do_compat) - goto fallback; + if ((sizeof(off_t) >= sizeof(ext2_loff_t)) || + (offset < ((ext2_loff_t) 1 << ((sizeof(off_t)*8) -1)))) + return lseek(fd, (off_t) offset, origin); + + if (do_compat) { + errno = EINVAL; + return -1; + } result = my_llseek (fd, offset, origin); if (result == -1 && errno == ENOSYS) { @@ -105,14 +108,9 @@ ext2_loff_t ext2fs_llseek (int fd, ext2_loff_t offset, int origin) * which does not support the llseek system call */ do_compat++; - fallback: - if (offset < ((ext2_loff_t) 1 << ((sizeof(off_t)*8) -1))) - return lseek(fd, (off_t) offset, origin); errno = EINVAL; - return -1; } return result; -#endif } #else /* !linux */ diff --git a/lib/ext2fs/mkdir.c b/lib/ext2fs/mkdir.c index 9b6b7996..549ff6a3 100644 --- a/lib/ext2fs/mkdir.c +++ b/lib/ext2fs/mkdir.c @@ -33,12 +33,11 @@ errcode_t ext2fs_mkdir(ext2_filsys fs, ext2_ino_t parent, ext2_ino_t inum, const char *name) { - ext2_extent_handle_t handle; errcode_t retval; struct ext2_inode parent_inode, inode; ext2_ino_t ino = inum; ext2_ino_t scratch_ino; - blk64_t blk; + blk_t blk; char *block = 0; EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); @@ -56,7 +55,7 @@ errcode_t ext2fs_mkdir(ext2_filsys fs, ext2_ino_t parent, ext2_ino_t inum, /* * Allocate a data block for the directory */ - retval = ext2fs_new_block2(fs, 0, 0, &blk); + retval = ext2fs_new_block(fs, 0, 0, &blk); if (retval) goto cleanup; @@ -84,10 +83,7 @@ errcode_t ext2fs_mkdir(ext2_filsys fs, ext2_ino_t parent, ext2_ino_t inum, inode.i_mode = LINUX_S_IFDIR | (0777 & ~fs->umask); inode.i_uid = inode.i_gid = 0; ext2fs_iblk_set(fs, &inode, 1); - if (fs->super->s_feature_incompat & EXT3_FEATURE_INCOMPAT_EXTENTS) - inode.i_flags |= EXT4_EXTENTS_FL; - else - inode.i_block[0] = blk; + inode.i_block[0] = blk; inode.i_links_count = 2; inode.i_size = fs->blocksize; @@ -101,16 +97,6 @@ errcode_t ext2fs_mkdir(ext2_filsys fs, ext2_ino_t parent, ext2_ino_t inum, if (retval) goto cleanup; - if (fs->super->s_feature_incompat & EXT3_FEATURE_INCOMPAT_EXTENTS) { - retval = ext2fs_extent_open2(fs, ino, &inode, &handle); - if (retval) - goto cleanup; - retval = ext2fs_extent_set_bmap(handle, 0, blk, 0); - ext2fs_extent_free(handle); - if (retval) - goto cleanup; - } - /* * Link the directory into the filesystem hierarchy */ @@ -142,7 +128,7 @@ errcode_t ext2fs_mkdir(ext2_filsys fs, ext2_ino_t parent, ext2_ino_t inum, /* * Update accounting.... */ - ext2fs_block_alloc_stats2(fs, blk, +1); + ext2fs_block_alloc_stats(fs, blk, +1); ext2fs_inode_alloc_stats2(fs, ino, +1, 1); cleanup: diff --git a/lib/ext2fs/mkjournal.c b/lib/ext2fs/mkjournal.c index 02ffb97c..4a81f4b2 100644 --- a/lib/ext2fs/mkjournal.c +++ b/lib/ext2fs/mkjournal.c @@ -42,13 +42,13 @@ * returns it as an allocated block. */ errcode_t ext2fs_create_journal_superblock(ext2_filsys fs, - __u32 num_blocks, int flags, + __u32 size, int flags, char **ret_jsb) { errcode_t retval; journal_superblock_t *jsb; - if (num_blocks < 1024) + if (size < 1024) return EXT2_ET_JOURNAL_TOO_SMALL; if ((retval = ext2fs_get_mem(fs->blocksize, &jsb))) @@ -62,7 +62,7 @@ errcode_t ext2fs_create_journal_superblock(ext2_filsys fs, else jsb->s_header.h_blocktype = htonl(JFS_SUPERBLOCK_V2); jsb->s_blocksize = htonl(fs->blocksize); - jsb->s_maxlen = htonl(num_blocks); + jsb->s_maxlen = htonl(size); jsb->s_nr_users = htonl(1); jsb->s_first = htonl(1); jsb->s_sequence = htonl(1); @@ -90,21 +90,20 @@ errcode_t ext2fs_create_journal_superblock(ext2_filsys fs, * filesystems. */ static errcode_t write_journal_file(ext2_filsys fs, char *filename, - blk_t num_blocks, int flags) + blk_t size, int flags) { errcode_t retval; char *buf = 0; int fd, ret_size; blk_t i; - if ((retval = ext2fs_create_journal_superblock(fs, num_blocks, flags, - &buf))) + if ((retval = ext2fs_create_journal_superblock(fs, size, flags, &buf))) return retval; /* Open the device or journal file */ if ((fd = open(filename, O_WRONLY)) < 0) { retval = errno; - goto errfree; + goto errout; } /* Write the superblock out */ @@ -118,10 +117,7 @@ static errcode_t write_journal_file(ext2_filsys fs, char *filename, goto errout; memset(buf, 0, fs->blocksize); - if (flags & EXT2_MKJOURNAL_LAZYINIT) - goto success; - - for (i = 1; i < num_blocks; i++) { + for (i = 1; i < size; i++) { ret_size = write(fd, buf, fs->blocksize); if (ret_size < 0) { retval = errno; @@ -130,12 +126,10 @@ static errcode_t write_journal_file(ext2_filsys fs, char *filename, if (ret_size != (int) fs->blocksize) goto errout; } + close(fd); -success: retval = 0; errout: - close(fd); -errfree: ext2fs_free_mem(&buf); return retval; } @@ -151,8 +145,8 @@ errfree: * programs that check for memory leaks happy.) */ #define STRIDE_LENGTH 8 -errcode_t ext2fs_zero_blocks2(ext2_filsys fs, blk64_t blk, int num, - blk64_t *ret_blk, int *ret_count) +errcode_t ext2fs_zero_blocks(ext2_filsys fs, blk_t blk, int num, + blk_t *ret_blk, int *ret_count) { int j, count; static char *buf; @@ -185,7 +179,7 @@ errcode_t ext2fs_zero_blocks2(ext2_filsys fs, blk64_t blk, int num, if (count > STRIDE_LENGTH) count = STRIDE_LENGTH; } - retval = io_channel_write_blk64(fs->io, blk, count, buf); + retval = io_channel_write_blk(fs->io, blk, count, buf); if (retval) { if (ret_count) *ret_count = count; @@ -198,76 +192,56 @@ errcode_t ext2fs_zero_blocks2(ext2_filsys fs, blk64_t blk, int num, return 0; } -errcode_t ext2fs_zero_blocks(ext2_filsys fs, blk_t blk, int num, - blk_t *ret_blk, int *ret_count) -{ - blk64_t ret_blk2; - errcode_t retval; - - retval = ext2fs_zero_blocks2(fs, blk, num, &ret_blk2, ret_count); - if (retval) - *ret_blk = (blk_t) ret_blk2; - return retval; -} - /* * Helper function for creating the journal using direct I/O routines */ struct mkjournal_struct { int num_blocks; int newblocks; - blk64_t goal; - blk64_t blk_to_zero; + blk_t goal; + blk_t blk_to_zero; int zero_count; - int flags; char *buf; errcode_t err; }; static int mkjournal_proc(ext2_filsys fs, - blk64_t *blocknr, - e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), - int ref_offset EXT2FS_ATTR((unused)), - void *priv_data) + blk_t *blocknr, + e2_blkcnt_t blockcnt, + blk_t ref_block EXT2FS_ATTR((unused)), + int ref_offset EXT2FS_ATTR((unused)), + void *priv_data) { struct mkjournal_struct *es = (struct mkjournal_struct *) priv_data; - blk64_t new_blk; + blk_t new_blk; errcode_t retval; if (*blocknr) { es->goal = *blocknr; return 0; } - if (blockcnt && - (EXT2FS_B2C(fs, es->goal) == EXT2FS_B2C(fs, es->goal+1))) - new_blk = es->goal+1; - else { - es->goal &= ~EXT2FS_CLUSTER_MASK(fs); - retval = ext2fs_new_block2(fs, es->goal, 0, &new_blk); - if (retval) { - es->err = retval; - return BLOCK_ABORT; - } - ext2fs_block_alloc_stats2(fs, new_blk, +1); - es->newblocks++; + retval = ext2fs_new_block(fs, es->goal, 0, &new_blk); + if (retval) { + es->err = retval; + return BLOCK_ABORT; } if (blockcnt >= 0) es->num_blocks--; + es->newblocks++; retval = 0; if (blockcnt <= 0) - retval = io_channel_write_blk64(fs->io, new_blk, 1, es->buf); - else if (!(es->flags & EXT2_MKJOURNAL_LAZYINIT)) { + retval = io_channel_write_blk(fs->io, new_blk, 1, es->buf); + else { if (es->zero_count) { if ((es->blk_to_zero + es->zero_count == new_blk) && (es->zero_count < 1024)) es->zero_count++; else { - retval = ext2fs_zero_blocks2(fs, - es->blk_to_zero, - es->zero_count, - 0, 0); + retval = ext2fs_zero_blocks(fs, + es->blk_to_zero, + es->zero_count, + 0, 0); es->zero_count = 0; } } @@ -285,6 +259,7 @@ static int mkjournal_proc(ext2_filsys fs, return BLOCK_ABORT; } *blocknr = es->goal = new_blk; + ext2fs_block_alloc_stats(fs, new_blk, +1); if (es->num_blocks == 0) return (BLOCK_CHANGED | BLOCK_ABORT); @@ -297,41 +272,36 @@ static int mkjournal_proc(ext2_filsys fs, * This function creates a journal using direct I/O routines. */ static errcode_t write_journal_inode(ext2_filsys fs, ext2_ino_t journal_ino, - blk_t num_blocks, int flags) + blk_t size, int flags) { char *buf; dgrp_t group, start, end, i, log_flex; errcode_t retval; struct ext2_inode inode; - unsigned long long inode_size; struct mkjournal_struct es; - if ((retval = ext2fs_create_journal_superblock(fs, num_blocks, flags, - &buf))) + if ((retval = ext2fs_create_journal_superblock(fs, size, flags, &buf))) return retval; if ((retval = ext2fs_read_bitmaps(fs))) - goto out2; + return retval; if ((retval = ext2fs_read_inode(fs, journal_ino, &inode))) - goto out2; + return retval; - if (inode.i_blocks > 0) { - retval = EEXIST; - goto out2; - } + if (inode.i_blocks > 0) + return EEXIST; - es.num_blocks = num_blocks; + es.num_blocks = size; es.newblocks = 0; es.buf = buf; es.err = 0; - es.flags = flags; es.zero_count = 0; if (fs->super->s_feature_incompat & EXT3_FEATURE_INCOMPAT_EXTENTS) { inode.i_flags |= EXT4_EXTENTS_FL; if ((retval = ext2fs_write_inode(fs, journal_ino, &inode))) - goto out2; + return retval; } /* @@ -339,13 +309,13 @@ static errcode_t write_journal_inode(ext2_filsys fs, ext2_ino_t journal_ino, * the filesystem. Pick a group that has the largest number * of free blocks. */ - group = ext2fs_group_of_blk2(fs, (ext2fs_blocks_count(fs->super) - + group = ext2fs_group_of_blk(fs, (fs->super->s_blocks_count - fs->super->s_first_data_block) / 2); log_flex = 1 << fs->super->s_log_groups_per_flex; if (fs->super->s_log_groups_per_flex && (group > log_flex)) { group = group & ~(log_flex - 1); while ((group < fs->group_desc_count) && - ext2fs_bg_free_blocks_count(fs, group) == 0) + fs->group_desc[group].bg_free_blocks_count == 0) group++; if (group == fs->group_desc_count) group = 0; @@ -355,19 +325,21 @@ static errcode_t write_journal_inode(ext2_filsys fs, ext2_ino_t journal_ino, end = ((group+1) < fs->group_desc_count) ? group+1 : group; group = start; for (i=start+1; i <= end; i++) - if (ext2fs_bg_free_blocks_count(fs, i) > - ext2fs_bg_free_blocks_count(fs, group)) + if (fs->group_desc[i].bg_free_blocks_count > + fs->group_desc[group].bg_free_blocks_count) group = i; - es.goal = ext2fs_group_first_block2(fs, group); - retval = ext2fs_block_iterate3(fs, journal_ino, BLOCK_FLAG_APPEND, + es.goal = (fs->super->s_blocks_per_group * group) + + fs->super->s_first_data_block; + + retval = ext2fs_block_iterate2(fs, journal_ino, BLOCK_FLAG_APPEND, 0, mkjournal_proc, &es); if (es.err) { retval = es.err; goto errout; } if (es.zero_count) { - retval = ext2fs_zero_blocks2(fs, es.blk_to_zero, + retval = ext2fs_zero_blocks(fs, es.blk_to_zero, es.zero_count, 0, 0); if (retval) goto errout; @@ -376,12 +348,7 @@ static errcode_t write_journal_inode(ext2_filsys fs, ext2_ino_t journal_ino, if ((retval = ext2fs_read_inode(fs, journal_ino, &inode))) goto errout; - inode_size = (unsigned long long)fs->blocksize * num_blocks; - inode.i_size = inode_size & 0xFFFFFFFF; - inode.i_size_high = (inode_size >> 32) & 0xFFFFFFFF; - if (ext2fs_needs_large_file_feature(inode_size)) - fs->super->s_feature_ro_compat |= - EXT2_FEATURE_RO_COMPAT_LARGE_FILE; + inode.i_size += fs->blocksize * size; ext2fs_iblk_add_blocks(fs, &inode, es.newblocks); inode.i_mtime = inode.i_ctime = fs->now ? fs->now : time(0); inode.i_links_count = 1; @@ -392,14 +359,11 @@ static errcode_t write_journal_inode(ext2_filsys fs, ext2_ino_t journal_ino, retval = 0; memcpy(fs->super->s_jnl_blocks, inode.i_block, EXT2_N_BLOCKS*4); - fs->super->s_jnl_blocks[15] = inode.i_size_high; fs->super->s_jnl_blocks[16] = inode.i_size; fs->super->s_jnl_backup_type = EXT3_JNL_BACKUP_BLOCKS; ext2fs_mark_super_dirty(fs); errout: - ext2fs_zero_blocks2(0, 0, 0, 0, 0); -out2: ext2fs_free_mem(&buf); return retval; } @@ -409,17 +373,17 @@ out2: * in the filesystem. For very small filesystems, it is not reasonable to * have a journal that fills more than half of the filesystem. */ -int ext2fs_default_journal_size(__u64 num_blocks) +int ext2fs_default_journal_size(__u64 blocks) { - if (num_blocks < 2048) + if (blocks < 2048) return -1; - if (num_blocks < 32768) + if (blocks < 32768) return (1024); - if (num_blocks < 256*1024) + if (blocks < 256*1024) return (4096); - if (num_blocks < 512*1024) + if (blocks < 512*1024) return (8192); - if (num_blocks < 1024*1024) + if (blocks < 1024*1024) return (16384); return 32768; } @@ -447,8 +411,7 @@ errcode_t ext2fs_add_journal_device(ext2_filsys fs, ext2_filsys journal_dev) start = 1; if (journal_dev->blocksize == 1024) start++; - if ((retval = io_channel_read_blk64(journal_dev->io, start, -1024, - buf))) + if ((retval = io_channel_read_blk(journal_dev->io, start, -1024, buf))) return retval; jsb = (journal_superblock_t *) buf; @@ -473,7 +436,7 @@ errcode_t ext2fs_add_journal_device(ext2_filsys fs, ext2_filsys journal_dev) } /* Writeback the journal superblock */ - if ((retval = io_channel_write_blk64(journal_dev->io, start, -1024, buf))) + if ((retval = io_channel_write_blk(journal_dev->io, start, -1024, buf))) return retval; fs->super->s_journal_inum = 0; @@ -490,26 +453,20 @@ errcode_t ext2fs_add_journal_device(ext2_filsys fs, ext2_filsys journal_dev) * POSIX routines if the filesystem is mounted, or using direct I/O * functions if it is not. */ -errcode_t ext2fs_add_journal_inode(ext2_filsys fs, blk_t num_blocks, int flags) +errcode_t ext2fs_add_journal_inode(ext2_filsys fs, blk_t size, int flags) { errcode_t retval; ext2_ino_t journal_ino; struct stat st; char jfile[1024]; - int mount_flags; + int mount_flags, f; int fd = -1; - if (flags & EXT2_MKJOURNAL_NO_MNT_CHECK) - mount_flags = 0; - else if ((retval = ext2fs_check_mount_point(fs->device_name, - &mount_flags, - jfile, sizeof(jfile)-10))) + if ((retval = ext2fs_check_mount_point(fs->device_name, &mount_flags, + jfile, sizeof(jfile)-10))) return retval; if (mount_flags & EXT2_MF_MOUNTED) { -#if HAVE_EXT2_IOCTLS - int f = 0; -#endif strcat(jfile, "/.journal"); /* @@ -522,10 +479,9 @@ errcode_t ext2fs_add_journal_inode(ext2_filsys fs, blk_t num_blocks, int flags) #if HAVE_EXT2_IOCTLS fd = open(jfile, O_RDONLY); if (fd >= 0) { - retval = ioctl(fd, EXT2_IOC_SETFLAGS, &f); + f = 0; + ioctl(fd, EXT2_IOC_SETFLAGS, &f); close(fd); - if (retval) - return retval; } #endif #endif @@ -534,14 +490,7 @@ errcode_t ext2fs_add_journal_inode(ext2_filsys fs, blk_t num_blocks, int flags) if ((fd = open(jfile, O_CREAT|O_WRONLY, 0600)) < 0) return errno; - /* Note that we can't do lazy journal initialization for mounted - * filesystems, since the zero writing is also allocating the - * journal blocks. We could use fallocate, but not all kernels - * support that, and creating a journal on a mounted ext2 - * filesystems is extremely rare these days... Ignore it. */ - flags &= ~EXT2_MKJOURNAL_LAZYINIT; - - if ((retval = write_journal_file(fs, jfile, num_blocks, flags))) + if ((retval = write_journal_file(fs, jfile, size, flags))) goto errout; /* Get inode number of the journal file */ @@ -581,7 +530,7 @@ errcode_t ext2fs_add_journal_inode(ext2_filsys fs, blk_t num_blocks, int flags) } journal_ino = EXT2_JOURNAL_INO; if ((retval = write_journal_inode(fs, journal_ino, - num_blocks, flags))) + size, flags))) return retval; } @@ -594,7 +543,7 @@ errcode_t ext2fs_add_journal_inode(ext2_filsys fs, blk_t num_blocks, int flags) ext2fs_mark_super_dirty(fs); return 0; errout: - if (fd >= 0) + if (fd > 0) close(fd); return retval; } @@ -604,7 +553,7 @@ main(int argc, char **argv) { errcode_t retval; char *device_name; - ext2_filsys fs; + ext2_filsys fs; if (argc < 2) { fprintf(stderr, "Usage: %s filesystem\n", argv[0]); @@ -619,7 +568,7 @@ main(int argc, char **argv) exit(1); } - retval = ext2fs_add_journal_inode(fs, 1024, 0); + retval = ext2fs_add_journal_inode(fs, 1024); if (retval) { com_err(argv[0], retval, "while adding journal to %s", device_name); diff --git a/lib/ext2fs/mmp.c b/lib/ext2fs/mmp.c deleted file mode 100644 index a9eae504..00000000 --- a/lib/ext2fs/mmp.c +++ /dev/null @@ -1,397 +0,0 @@ -/* - * Helper functions for multiple mount protection (MMP). - * - * Copyright (C) 2011 Whamcloud, Inc. - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Library - * General Public License, version 2. - * %End-Header% - */ - -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif - - -#if HAVE_UNISTD_H -#include -#endif -#include - -#include -#include -#include - -#include "ext2fs/ext2_fs.h" -#include "ext2fs/ext2fs.h" - -#ifndef O_DIRECT -#define O_DIRECT 0 -#endif - -errcode_t ext2fs_mmp_read(ext2_filsys fs, blk64_t mmp_blk, void *buf) -{ - struct mmp_struct *mmp_cmp; - errcode_t retval = 0; - - if ((mmp_blk <= fs->super->s_first_data_block) || - (mmp_blk >= ext2fs_blocks_count(fs->super))) - return EXT2_ET_MMP_BAD_BLOCK; - - /* ext2fs_open() reserves fd0,1,2 to avoid stdio collision, so checking - * mmp_fd <= 0 is OK to validate that the fd is valid. This opens its - * own fd to read the MMP block to ensure that it is using O_DIRECT, - * regardless of how the io_manager is doing reads, to avoid caching of - * the MMP block by the io_manager or the VM. It needs to be fresh. */ - if (fs->mmp_fd <= 0) { - fs->mmp_fd = open(fs->device_name, O_RDWR | O_DIRECT); - if (fs->mmp_fd < 0) { - retval = EXT2_ET_MMP_OPEN_DIRECT; - goto out; - } - } - - if (fs->mmp_cmp == NULL) { - int align = ext2fs_get_dio_alignment(fs->mmp_fd); - - retval = ext2fs_get_memalign(fs->blocksize, align, - &fs->mmp_cmp); - if (retval) - return retval; - } - - if ((blk64_t) ext2fs_llseek(fs->mmp_fd, mmp_blk * fs->blocksize, - SEEK_SET) != - mmp_blk * fs->blocksize) { - retval = EXT2_ET_LLSEEK_FAILED; - goto out; - } - - if (read(fs->mmp_fd, fs->mmp_cmp, fs->blocksize) != fs->blocksize) { - retval = EXT2_ET_SHORT_READ; - goto out; - } - - mmp_cmp = fs->mmp_cmp; -#ifdef WORDS_BIGENDIAN - ext2fs_swap_mmp(mmp_cmp); -#endif - - if (buf != NULL && buf != fs->mmp_cmp) - memcpy(buf, fs->mmp_cmp, fs->blocksize); - - if (mmp_cmp->mmp_magic != EXT4_MMP_MAGIC) { - retval = EXT2_ET_MMP_MAGIC_INVALID; - goto out; - } - -out: - return retval; -} - -errcode_t ext2fs_mmp_write(ext2_filsys fs, blk64_t mmp_blk, void *buf) -{ - struct mmp_struct *mmp_s = buf; - struct timeval tv; - errcode_t retval = 0; - - gettimeofday(&tv, 0); - mmp_s->mmp_time = tv.tv_sec; - fs->mmp_last_written = tv.tv_sec; - - if (fs->super->s_mmp_block < fs->super->s_first_data_block || - fs->super->s_mmp_block > ext2fs_blocks_count(fs->super)) - return EXT2_ET_MMP_BAD_BLOCK; - -#ifdef WORDS_BIGENDIAN - ext2fs_swap_mmp(mmp_s); -#endif - - /* I was tempted to make this use O_DIRECT and the mmp_fd, but - * this caused no end of grief, while leaving it as-is works. */ - retval = io_channel_write_blk64(fs->io, mmp_blk, -(int)sizeof(struct mmp_struct), buf); - -#ifdef WORDS_BIGENDIAN - ext2fs_swap_mmp(mmp_s); -#endif - - /* Make sure the block gets to disk quickly */ - io_channel_flush(fs->io); - return retval; -} - -#ifdef HAVE_SRANDOM -#define srand(x) srandom(x) -#define rand() random() -#endif - -unsigned ext2fs_mmp_new_seq(void) -{ - unsigned new_seq; - struct timeval tv; - - gettimeofday(&tv, 0); - srand((getpid() << 16) ^ getuid() ^ tv.tv_sec ^ tv.tv_usec); - - gettimeofday(&tv, 0); - /* Crank the random number generator a few times */ - for (new_seq = (tv.tv_sec ^ tv.tv_usec) & 0x1F; new_seq > 0; new_seq--) - rand(); - - do { - new_seq = rand(); - } while (new_seq > EXT4_MMP_SEQ_MAX); - - return new_seq; -} - -static errcode_t ext2fs_mmp_reset(ext2_filsys fs) -{ - struct mmp_struct *mmp_s = NULL; - errcode_t retval = 0; - - if (fs->mmp_buf == NULL) { - retval = ext2fs_get_mem(fs->blocksize, &fs->mmp_buf); - if (retval) - goto out; - } - - memset(fs->mmp_buf, 0, fs->blocksize); - mmp_s = fs->mmp_buf; - - mmp_s->mmp_magic = EXT4_MMP_MAGIC; - mmp_s->mmp_seq = EXT4_MMP_SEQ_CLEAN; - mmp_s->mmp_time = 0; -#if _BSD_SOURCE || _XOPEN_SOURCE >= 500 - gethostname(mmp_s->mmp_nodename, sizeof(mmp_s->mmp_nodename)); -#else - mmp_s->mmp_nodename[0] = '\0'; -#endif - strncpy(mmp_s->mmp_bdevname, fs->device_name, - sizeof(mmp_s->mmp_bdevname)); - - mmp_s->mmp_check_interval = fs->super->s_mmp_update_interval; - if (mmp_s->mmp_check_interval < EXT4_MMP_MIN_CHECK_INTERVAL) - mmp_s->mmp_check_interval = EXT4_MMP_MIN_CHECK_INTERVAL; - - retval = ext2fs_mmp_write(fs, fs->super->s_mmp_block, fs->mmp_buf); -out: - return retval; -} - -errcode_t ext2fs_mmp_clear(ext2_filsys fs) -{ - errcode_t retval = 0; - - if (!(fs->flags & EXT2_FLAG_RW)) - return EXT2_ET_RO_FILSYS; - - retval = ext2fs_mmp_reset(fs); - - return retval; -} - -errcode_t ext2fs_mmp_init(ext2_filsys fs) -{ - struct ext2_super_block *sb = fs->super; - blk64_t mmp_block; - errcode_t retval; - - if (sb->s_mmp_update_interval == 0) - sb->s_mmp_update_interval = EXT4_MMP_UPDATE_INTERVAL; - /* This is probably excessively large, but who knows? */ - else if (sb->s_mmp_update_interval > EXT4_MMP_MAX_UPDATE_INTERVAL) - return EXT2_ET_INVALID_ARGUMENT; - - if (fs->mmp_buf == NULL) { - retval = ext2fs_get_mem(fs->blocksize, &fs->mmp_buf); - if (retval) - goto out; - } - - retval = ext2fs_alloc_block2(fs, 0, fs->mmp_buf, &mmp_block); - if (retval) - goto out; - - sb->s_mmp_block = mmp_block; - - retval = ext2fs_mmp_reset(fs); - if (retval) - goto out; - -out: - return retval; -} - -/* - * Make sure that the fs is not mounted or being fsck'ed while opening the fs. - */ -errcode_t ext2fs_mmp_start(ext2_filsys fs) -{ - struct mmp_struct *mmp_s; - unsigned seq; - unsigned int mmp_check_interval; - errcode_t retval = 0; - - if (fs->mmp_buf == NULL) { - retval = ext2fs_get_mem(fs->blocksize, &fs->mmp_buf); - if (retval) - goto mmp_error; - } - - retval = ext2fs_mmp_read(fs, fs->super->s_mmp_block, fs->mmp_buf); - if (retval) - goto mmp_error; - - mmp_s = fs->mmp_buf; - - mmp_check_interval = fs->super->s_mmp_update_interval; - if (mmp_check_interval < EXT4_MMP_MIN_CHECK_INTERVAL) - mmp_check_interval = EXT4_MMP_MIN_CHECK_INTERVAL; - - seq = mmp_s->mmp_seq; - if (seq == EXT4_MMP_SEQ_CLEAN) - goto clean_seq; - if (seq == EXT4_MMP_SEQ_FSCK) { - retval = EXT2_ET_MMP_FSCK_ON; - goto mmp_error; - } - - if (seq > EXT4_MMP_SEQ_FSCK) { - retval = EXT2_ET_MMP_UNKNOWN_SEQ; - goto mmp_error; - } - - /* - * If check_interval in MMP block is larger, use that instead of - * check_interval from the superblock. - */ - if (mmp_s->mmp_check_interval > mmp_check_interval) - mmp_check_interval = mmp_s->mmp_check_interval; - - sleep(2 * mmp_check_interval + 1); - - retval = ext2fs_mmp_read(fs, fs->super->s_mmp_block, fs->mmp_buf); - if (retval) - goto mmp_error; - - if (seq != mmp_s->mmp_seq) { - retval = EXT2_ET_MMP_FAILED; - goto mmp_error; - } - -clean_seq: - if (!(fs->flags & EXT2_FLAG_RW)) - goto mmp_error; - - mmp_s->mmp_seq = seq = ext2fs_mmp_new_seq(); -#if _BSD_SOURCE || _XOPEN_SOURCE >= 500 - gethostname(mmp_s->mmp_nodename, sizeof(mmp_s->mmp_nodename)); -#else - strcpy(mmp_s->mmp_nodename, "unknown host"); -#endif - strncpy(mmp_s->mmp_bdevname, fs->device_name, - sizeof(mmp_s->mmp_bdevname)); - - retval = ext2fs_mmp_write(fs, fs->super->s_mmp_block, fs->mmp_buf); - if (retval) - goto mmp_error; - - sleep(2 * mmp_check_interval + 1); - - retval = ext2fs_mmp_read(fs, fs->super->s_mmp_block, fs->mmp_buf); - if (retval) - goto mmp_error; - - if (seq != mmp_s->mmp_seq) { - retval = EXT2_ET_MMP_FAILED; - goto mmp_error; - } - - mmp_s->mmp_seq = EXT4_MMP_SEQ_FSCK; - retval = ext2fs_mmp_write(fs, fs->super->s_mmp_block, fs->mmp_buf); - if (retval) - goto mmp_error; - - return 0; - -mmp_error: - return retval; -} - -/* - * Clear the MMP usage in the filesystem. If this function returns an - * error EXT2_ET_MMP_CHANGE_ABORT it means the filesystem was modified - * by some other process while in use, and changes should be dropped, or - * risk filesystem corruption. - */ -errcode_t ext2fs_mmp_stop(ext2_filsys fs) -{ - struct mmp_struct *mmp, *mmp_cmp; - errcode_t retval = 0; - - if (!(fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_MMP) || - !(fs->flags & EXT2_FLAG_RW) || (fs->flags & EXT2_FLAG_SKIP_MMP)) - goto mmp_error; - - retval = ext2fs_mmp_read(fs, fs->super->s_mmp_block, fs->mmp_buf); - if (retval) - goto mmp_error; - - /* Check if the MMP block is not changed. */ - mmp = fs->mmp_buf; - mmp_cmp = fs->mmp_cmp; - if (memcmp(mmp, mmp_cmp, sizeof(*mmp_cmp))) { - retval = EXT2_ET_MMP_CHANGE_ABORT; - goto mmp_error; - } - - mmp_cmp->mmp_seq = EXT4_MMP_SEQ_CLEAN; - retval = ext2fs_mmp_write(fs, fs->super->s_mmp_block, fs->mmp_cmp); - -mmp_error: - if (fs->mmp_fd > 0) { - close(fs->mmp_fd); - fs->mmp_fd = -1; - } - - return retval; -} - -#define EXT2_MIN_MMP_UPDATE_INTERVAL 60 - -/* - * Update the on-disk mmp buffer, after checking that it hasn't been changed. - */ -errcode_t ext2fs_mmp_update(ext2_filsys fs) -{ - struct mmp_struct *mmp, *mmp_cmp; - struct timeval tv; - errcode_t retval = 0; - - if (!(fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_MMP) || - !(fs->flags & EXT2_FLAG_RW) || (fs->flags & EXT2_FLAG_SKIP_MMP)) - return 0; - - gettimeofday(&tv, 0); - if (tv.tv_sec - fs->mmp_last_written < EXT2_MIN_MMP_UPDATE_INTERVAL) - return 0; - - retval = ext2fs_mmp_read(fs, fs->super->s_mmp_block, NULL); - if (retval) - goto mmp_error; - - mmp = fs->mmp_buf; - mmp_cmp = fs->mmp_cmp; - - if (memcmp(mmp, mmp_cmp, sizeof(*mmp_cmp))) - return EXT2_ET_MMP_CHANGE_ABORT; - - mmp->mmp_time = tv.tv_sec; - mmp->mmp_seq = EXT4_MMP_SEQ_FSCK; - retval = ext2fs_mmp_write(fs, fs->super->s_mmp_block, fs->mmp_buf); - -mmp_error: - return retval; -} diff --git a/lib/ext2fs/namei.c b/lib/ext2fs/namei.c index dd710b89..22d2d2d2 100644 --- a/lib/ext2fs/namei.c +++ b/lib/ext2fs/namei.c @@ -19,7 +19,6 @@ #include "ext2_fs.h" #include "ext2fs.h" -#include "ext2fsP.h" static errcode_t open_namei(ext2_filsys fs, ext2_ino_t root, ext2_ino_t base, const char *pathname, size_t pathlen, int follow, @@ -33,7 +32,6 @@ static errcode_t follow_link(ext2_filsys fs, ext2_ino_t root, ext2_ino_t dir, char *buffer = 0; errcode_t retval; struct ext2_inode ei; - blk64_t blk; #ifdef NAMEI_DEBUG printf("follow_link: root=%lu, dir=%lu, inode=%lu, lc=%d\n", @@ -46,19 +44,14 @@ static errcode_t follow_link(ext2_filsys fs, ext2_ino_t root, ext2_ino_t dir, *res_inode = inode; return 0; } - if (link_count++ >= EXT2FS_MAX_NESTED_LINKS) + if (link_count++ > 5) { return EXT2_ET_SYMLINK_LOOP; - + } if (ext2fs_inode_data_blocks(fs,&ei)) { - retval = ext2fs_bmap2(fs, inode, &ei, NULL, 0, 0, NULL, &blk); - if (retval) - return retval; - retval = ext2fs_get_mem(fs->blocksize, &buffer); if (retval) return retval; - - retval = io_channel_read_blk64(fs->io, blk, 1, buffer); + retval = io_channel_read_blk(fs->io, ei.i_block[0], 1, buffer); if (retval) { ext2fs_free_mem(&buffer); return retval; diff --git a/lib/ext2fs/newdir.c b/lib/ext2fs/newdir.c index bccaecdb..6bc57194 100644 --- a/lib/ext2fs/newdir.c +++ b/lib/ext2fs/newdir.c @@ -43,10 +43,8 @@ errcode_t ext2fs_new_dir_block(ext2_filsys fs, ext2_ino_t dir_ino, dir = (struct ext2_dir_entry *) buf; retval = ext2fs_set_rec_len(fs, fs->blocksize, dir); - if (retval) { - ext2fs_free_mem(&buf); + if (retval) return retval; - } if (dir_ino) { if (fs->super->s_feature_incompat & @@ -66,10 +64,8 @@ errcode_t ext2fs_new_dir_block(ext2_filsys fs, ext2_ino_t dir_ino, */ dir = (struct ext2_dir_entry *) (buf + dir->rec_len); retval = ext2fs_set_rec_len(fs, rec_len, dir); - if (retval) { - ext2fs_free_mem(&buf); + if (retval) return retval; - } dir->inode = parent_ino; dir->name_len = 2 | filetype; dir->name[0] = '.'; diff --git a/lib/ext2fs/nt_io.c b/lib/ext2fs/nt_io.c index a29e1d49..0f10543a 100644 --- a/lib/ext2fs/nt_io.c +++ b/lib/ext2fs/nt_io.c @@ -13,6 +13,7 @@ */ #ifdef HAVE_CONFIG_H +#include "config.h" #endif diff --git a/lib/ext2fs/openfs.c b/lib/ext2fs/openfs.c index 45b3627e..d638da03 100644 --- a/lib/ext2fs/openfs.c +++ b/lib/ext2fs/openfs.c @@ -22,9 +22,6 @@ #if HAVE_SYS_TYPES_H #include #endif -#ifdef HAVE_ERRNO_H -#include -#endif #include "ext2_fs.h" @@ -32,12 +29,11 @@ #include "ext2fs.h" #include "e2image.h" -blk64_t ext2fs_descriptor_block_loc2(ext2_filsys fs, blk64_t group_block, - dgrp_t i) +blk_t ext2fs_descriptor_block_loc(ext2_filsys fs, blk_t group_block, dgrp_t i) { int bg; int has_super = 0; - blk64_t ret_blk; + int ret_blk; if (!(fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) || (i < fs->super->s_first_meta_bg)) @@ -46,7 +42,7 @@ blk64_t ext2fs_descriptor_block_loc2(ext2_filsys fs, blk64_t group_block, bg = EXT2_DESC_PER_BLOCK(fs->super) * i; if (ext2fs_bg_has_super(fs, bg)) has_super = 1; - ret_blk = ext2fs_group_first_block2(fs, bg) + has_super; + ret_blk = ext2fs_group_first_block(fs, bg) + has_super; /* * If group_block is not the normal value, we're trying to use * the backup group descriptors and superblock --- so use the @@ -57,16 +53,11 @@ blk64_t ext2fs_descriptor_block_loc2(ext2_filsys fs, blk64_t group_block, */ if (group_block != fs->super->s_first_data_block && ((ret_blk + fs->super->s_blocks_per_group) < - ext2fs_blocks_count(fs->super))) + fs->super->s_blocks_count)) ret_blk += fs->super->s_blocks_per_group; return ret_blk; } -blk_t ext2fs_descriptor_block_loc(ext2_filsys fs, blk_t group_block, dgrp_t i) -{ - return ext2fs_descriptor_block_loc2(fs, group_block, i); -} - errcode_t ext2fs_open(const char *name, int flags, int superblock, unsigned int block_size, io_manager manager, ext2_filsys *ret_fs) @@ -85,9 +76,6 @@ errcode_t ext2fs_open(const char *name, int flags, int superblock, * EXT2_FLAG_FORCE - Open the filesystem even if some of the * features aren't supported. * EXT2_FLAG_JOURNAL_DEV_OK - Open an ext3 journal device - * EXT2_FLAG_SKIP_MMP - Open without multi-mount protection check. - * EXT2_FLAG_64BITS - Allow 64-bit bitfields (needed for large - * filesystems) */ errcode_t ext2fs_open2(const char *name, const char *io_options, int flags, int superblock, @@ -98,11 +86,10 @@ errcode_t ext2fs_open2(const char *name, const char *io_options, errcode_t retval; unsigned long i, first_meta_bg; __u32 features; - unsigned int blocks_per_group, io_flags; - blk64_t group_block, blk; + int groups_per_block, blocks_per_group, io_flags; + blk_t group_block, blk; char *dest, *cp; #ifdef WORDS_BIGENDIAN - unsigned int groups_per_block; struct ext2_group_desc *gdp; int j; #endif @@ -144,7 +131,7 @@ errcode_t ext2fs_open2(const char *name, const char *io_options, goto cleanup; fs->image_io = fs->io; fs->io->app_data = fs; - retval = io_channel_alloc_buf(fs->io, -SUPERBLOCK_SIZE, &fs->super); + retval = ext2fs_get_memalign(SUPERBLOCK_SIZE, 512, &fs->super); if (retval) goto cleanup; if (flags & EXT2_FLAG_IMAGE_FILE) { @@ -221,7 +208,7 @@ errcode_t ext2fs_open2(const char *name, const char *io_options, features = fs->super->s_feature_incompat; #ifdef EXT2_LIB_SOFTSUPP_INCOMPAT if (flags & EXT2_FLAG_SOFTSUPP_FEATURES) - features &= ~EXT2_LIB_SOFTSUPP_INCOMPAT; + features &= !EXT2_LIB_SOFTSUPP_INCOMPAT; #endif if (features & ~EXT2_LIB_FEATURE_INCOMPAT_SUPP) { retval = EXT2_ET_UNSUPP_FEATURE; @@ -231,7 +218,7 @@ errcode_t ext2fs_open2(const char *name, const char *io_options, features = fs->super->s_feature_ro_compat; #ifdef EXT2_LIB_SOFTSUPP_RO_COMPAT if (flags & EXT2_FLAG_SOFTSUPP_FEATURES) - features &= ~EXT2_LIB_SOFTSUPP_RO_COMPAT; + features &= !EXT2_LIB_SOFTSUPP_RO_COMPAT; #endif if ((flags & EXT2_FLAG_RW) && (features & ~EXT2_LIB_FEATURE_RO_COMPAT_SUPP)) { @@ -252,36 +239,12 @@ errcode_t ext2fs_open2(const char *name, const char *io_options, retval = EXT2_ET_CORRUPT_SUPERBLOCK; goto cleanup; } - - /* - * bigalloc requires cluster-aware bitfield operations, which at the - * moment means we need EXT2_FLAG_64BITS. - */ - if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_BIGALLOC) && - !(flags & EXT2_FLAG_64BITS)) { - retval = EXT2_ET_CANT_USE_LEGACY_BITMAPS; - goto cleanup; - } - - if (!EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_BIGALLOC) && - (fs->super->s_log_block_size != fs->super->s_log_cluster_size)) { - retval = EXT2_ET_CORRUPT_SUPERBLOCK; - goto cleanup; - } - fs->fragsize = fs->blocksize = EXT2_BLOCK_SIZE(fs->super); + fs->blocksize = EXT2_BLOCK_SIZE(fs->super); if (EXT2_INODE_SIZE(fs->super) < EXT2_GOOD_OLD_INODE_SIZE) { retval = EXT2_ET_CORRUPT_SUPERBLOCK; goto cleanup; } - fs->cluster_ratio_bits = fs->super->s_log_cluster_size - - fs->super->s_log_block_size; - if (EXT2_BLOCKS_PER_GROUP(fs->super) != - EXT2_CLUSTERS_PER_GROUP(fs->super) << fs->cluster_ratio_bits) { - retval = EXT2_ET_CORRUPT_SUPERBLOCK; - goto cleanup; - } + fs->fragsize = EXT2_FRAG_SIZE(fs->super); fs->inode_blocks_per_group = ((EXT2_INODES_PER_GROUP(fs->super) * EXT2_INODE_SIZE(fs->super) + EXT2_BLOCK_SIZE(fs->super) - 1) / @@ -321,18 +284,18 @@ errcode_t ext2fs_open2(const char *name, const char *io_options, blocks_per_group > EXT2_MAX_BLOCKS_PER_GROUP(fs->super) || fs->inode_blocks_per_group > EXT2_MAX_INODES_PER_GROUP(fs->super) || EXT2_DESC_PER_BLOCK(fs->super) == 0 || - fs->super->s_first_data_block >= ext2fs_blocks_count(fs->super)) { + fs->super->s_first_data_block >= fs->super->s_blocks_count) { retval = EXT2_ET_CORRUPT_SUPERBLOCK; goto cleanup; } - fs->group_desc_count = ext2fs_div64_ceil(ext2fs_blocks_count(fs->super) - - fs->super->s_first_data_block, - blocks_per_group); - if (fs->group_desc_count * EXT2_INODES_PER_GROUP(fs->super) != - fs->super->s_inodes_count) { - retval = EXT2_ET_CORRUPT_SUPERBLOCK; + fs->group_desc_count = ext2fs_div_ceil(fs->super->s_blocks_count - + fs->super->s_first_data_block, + blocks_per_group); + if (fs->group_desc_count * EXT2_INODES_PER_GROUP(fs->super) != + fs->super->s_inodes_count) { + retval = EXT2_ET_CORRUPT_SUPERBLOCK; goto cleanup; - } + } fs->desc_blocks = ext2fs_div_ceil(fs->group_desc_count, EXT2_DESC_PER_BLOCK(fs->super)); retval = ext2fs_get_array(fs->desc_blocks, fs->blocksize, @@ -341,12 +304,8 @@ errcode_t ext2fs_open2(const char *name, const char *io_options, goto cleanup; if (!group_block) group_block = fs->super->s_first_data_block; - if (group_block == 0 && fs->blocksize == 1024) - group_block = 1; /* Deal with 1024 blocksize && bigalloc */ dest = (char *) fs->group_desc; -#ifdef WORDS_BIGENDIAN groups_per_block = EXT2_DESC_PER_BLOCK(fs->super); -#endif if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) first_meta_bg = fs->super->s_first_meta_bg; else @@ -358,24 +317,20 @@ errcode_t ext2fs_open2(const char *name, const char *io_options, goto cleanup; #ifdef WORDS_BIGENDIAN gdp = (struct ext2_group_desc *) dest; - for (j=0; j < groups_per_block*first_meta_bg; j++) { - gdp = ext2fs_group_desc(fs, fs->group_desc, j); - ext2fs_swap_group_desc2(fs, gdp); - } + for (j=0; j < groups_per_block*first_meta_bg; j++) + ext2fs_swap_group_desc(gdp++); #endif dest += fs->blocksize*first_meta_bg; } for (i=first_meta_bg ; i < fs->desc_blocks; i++) { - blk = ext2fs_descriptor_block_loc2(fs, group_block, i); - retval = io_channel_read_blk64(fs->io, blk, 1, dest); + blk = ext2fs_descriptor_block_loc(fs, group_block, i); + retval = io_channel_read_blk(fs->io, blk, 1, dest); if (retval) goto cleanup; #ifdef WORDS_BIGENDIAN - for (j=0; j < groups_per_block; j++) { - gdp = ext2fs_group_desc(fs, fs->group_desc, - i * groups_per_block + j); - ext2fs_swap_group_desc2(fs, gdp); - } + gdp = (struct ext2_group_desc *) dest; + for (j=0; j < groups_per_block; j++) + ext2fs_swap_group_desc(gdp++); #endif dest += fs->blocksize; } @@ -388,34 +343,18 @@ errcode_t ext2fs_open2(const char *name, const char *io_options, */ if (superblock > 1 && EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) { - dgrp_t group; - - for (group = 0; group < fs->group_desc_count; group++) { - ext2fs_bg_flags_clear(fs, group, EXT2_BG_BLOCK_UNINIT); - ext2fs_bg_flags_clear(fs, group, EXT2_BG_INODE_UNINIT); - ext2fs_bg_itable_unused_set(fs, group, 0); - /* The checksum will be reset later, but fix it here - * anyway to avoid printing a lot of spurious errors. */ - ext2fs_group_desc_csum_set(fs, group); - } - if (fs->flags & EXT2_FLAG_RW) - ext2fs_mark_super_dirty(fs); - } - - if ((fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_MMP) && - !(flags & EXT2_FLAG_SKIP_MMP) && - (flags & (EXT2_FLAG_RW | EXT2_FLAG_EXCLUSIVE))) { - retval = ext2fs_mmp_start(fs); - if (retval) { - fs->flags |= EXT2_FLAG_SKIP_MMP; /* just do cleanup */ - ext2fs_mmp_stop(fs); - goto cleanup; + struct ext2_group_desc *gd; + for (i = 0, gd = fs->group_desc; i < fs->group_desc_count; + i++, gd++) { + gd->bg_flags &= ~EXT2_BG_BLOCK_UNINIT; + gd->bg_flags &= ~EXT2_BG_INODE_UNINIT; + gd->bg_itable_unused = 0; } + ext2fs_mark_super_dirty(fs); } fs->flags &= ~EXT2_FLAG_NOFREE_ON_ERROR; *ret_fs = fs; - return 0; cleanup: if (flags & EXT2_FLAG_NOFREE_ON_ERROR) @@ -450,20 +389,8 @@ errcode_t ext2fs_set_data_io(ext2_filsys fs, io_channel new_io) errcode_t ext2fs_rewrite_to_io(ext2_filsys fs, io_channel new_io) { - errcode_t err; - if ((fs->flags & EXT2_FLAG_IMAGE_FILE) == 0) return EXT2_ET_NOT_IMAGE_FILE; - err = io_channel_set_blksize(new_io, fs->blocksize); - if (err) - return err; - if ((new_io == fs->image_io) || (new_io == fs->io)) - return 0; - if ((fs->image_io != fs->io) && - fs->image_io) - io_channel_close(fs->image_io); - if (fs->io) - io_channel_close(fs->io); fs->io = fs->image_io = new_io; fs->flags |= EXT2_FLAG_DIRTY | EXT2_FLAG_RW | EXT2_FLAG_BB_DIRTY | EXT2_FLAG_IB_DIRTY; diff --git a/lib/ext2fs/progress.c b/lib/ext2fs/progress.c deleted file mode 100644 index ad6a3d4d..00000000 --- a/lib/ext2fs/progress.c +++ /dev/null @@ -1,96 +0,0 @@ -/* - * progress.c - Numeric progress meter - * - * Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - * 2003, 2004, 2005 by Theodore Ts'o. - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - */ - -#include "ext2fs.h" -#include "ext2fsP.h" - -#include - -static char spaces[80], backspaces[80]; -static time_t last_update; - -static int int_log10(unsigned int arg) -{ - int l; - - for (l=0; arg ; l++) - arg = arg / 10; - return l; -} - -void ext2fs_numeric_progress_init(ext2_filsys fs, - struct ext2fs_numeric_progress_struct * progress, - const char *label, __u64 max) -{ - /* - * The PRINT_PROGRESS flag turns on or off ALL - * progress-related messages, whereas the SKIP_PROGRESS - * environment variable prints the start and end messages but - * not the numeric countdown in the middle. - */ - if (!(fs->flags & EXT2_FLAG_PRINT_PROGRESS)) - return; - - memset(spaces, ' ', sizeof(spaces)-1); - spaces[sizeof(spaces)-1] = 0; - memset(backspaces, '\b', sizeof(backspaces)-1); - backspaces[sizeof(backspaces)-1] = 0; - - memset(progress, 0, sizeof(*progress)); - if (getenv("E2FSPROGS_SKIP_PROGRESS")) - progress->skip_progress++; - - - /* - * Figure out how many digits we need - */ - progress->max = max; - progress->log_max = int_log10(max); - - if (label) { - fputs(label, stdout); - fflush(stdout); - } - last_update = 0; -} - -void ext2fs_numeric_progress_update(ext2_filsys fs, - struct ext2fs_numeric_progress_struct * progress, - __u64 val) -{ - time_t now; - - if (!(fs->flags & EXT2_FLAG_PRINT_PROGRESS)) - return; - if (progress->skip_progress) - return; - now = time(0); - if (now == last_update) - return; - last_update = now; - - printf("%*llu/%*llu", progress->log_max, val, - progress->log_max, progress->max); - fprintf(stdout, "%.*s", (2*progress->log_max)+1, backspaces); -} - -void ext2fs_numeric_progress_close(ext2_filsys fs, - struct ext2fs_numeric_progress_struct * progress, - const char *message) -{ - if (!(fs->flags & EXT2_FLAG_PRINT_PROGRESS)) - return; - fprintf(stdout, "%.*s", (2*progress->log_max)+1, spaces); - fprintf(stdout, "%.*s", (2*progress->log_max)+1, backspaces); - if (message) - fputs(message, stdout); -} diff --git a/lib/ext2fs/punch.c b/lib/ext2fs/punch.c deleted file mode 100644 index adfcdecb..00000000 --- a/lib/ext2fs/punch.c +++ /dev/null @@ -1,447 +0,0 @@ -/* - * punch.c --- deallocate blocks allocated to an inode - * - * Copyright (C) 2010 Theodore Ts'o. - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Library - * General Public License, version 2. - * %End-Header% - */ - -#include -#include -#if HAVE_UNISTD_H -#include -#endif -#include - -#include "ext2_fs.h" -#include "ext2fs.h" - -#undef PUNCH_DEBUG - -/* - * This function returns 1 if the specified block is all zeros - */ -static int check_zero_block(char *buf, int blocksize) -{ - char *cp = buf; - int left = blocksize; - - while (left > 0) { - if (*cp++) - return 0; - left--; - } - return 1; -} - -/* - * This clever recursive function handles i_blocks[] as well as - * indirect, double indirect, and triple indirect blocks. It iterates - * over the entries in the i_blocks array or indirect blocks, and for - * each one, will recursively handle any indirect blocks and then - * frees and deallocates the blocks. - */ -static errcode_t ind_punch(ext2_filsys fs, struct ext2_inode *inode, - char *block_buf, blk_t *p, int level, - blk_t start, blk_t count, int max) -{ - errcode_t retval; - blk_t b; - int i; - blk64_t offset, incr; - int freed = 0; - -#ifdef PUNCH_DEBUG - printf("Entering ind_punch, level %d, start %u, count %u, " - "max %d\n", level, start, count, max); -#endif - incr = 1ULL << ((EXT2_BLOCK_SIZE_BITS(fs->super)-2)*level); - for (i=0, offset=0; i < max; i++, p++, offset += incr) { - if (offset >= start + count) - break; - if (*p == 0 || (offset+incr) <= start) - continue; - b = *p; - if (level > 0) { - blk_t start2; -#ifdef PUNCH_DEBUG - printf("Reading indirect block %u\n", b); -#endif - retval = ext2fs_read_ind_block(fs, b, block_buf); - if (retval) - return retval; - start2 = (start > offset) ? start - offset : 0; - retval = ind_punch(fs, inode, block_buf + fs->blocksize, - (blk_t *) block_buf, level - 1, - start2, count - offset, - fs->blocksize >> 2); - if (retval) - return retval; - retval = ext2fs_write_ind_block(fs, b, block_buf); - if (retval) - return retval; - if (!check_zero_block(block_buf, fs->blocksize)) - continue; - } -#ifdef PUNCH_DEBUG - printf("Freeing block %u (offset %llu)\n", b, offset); -#endif - ext2fs_block_alloc_stats(fs, b, -1); - *p = 0; - freed++; - } -#ifdef PUNCH_DEBUG - printf("Freed %d blocks\n", freed); -#endif - return ext2fs_iblk_sub_blocks(fs, inode, freed); -} - -static errcode_t ext2fs_punch_ind(ext2_filsys fs, struct ext2_inode *inode, - char *block_buf, blk_t start, blk_t count) -{ - errcode_t retval; - char *buf = 0; - int level; - int num = EXT2_NDIR_BLOCKS; - blk_t *bp = inode->i_block; - blk_t addr_per_block; - blk64_t max = EXT2_NDIR_BLOCKS; - - if (!block_buf) { - retval = ext2fs_get_array(3, fs->blocksize, &buf); - if (retval) - return retval; - block_buf = buf; - } - - addr_per_block = (blk_t) fs->blocksize >> 2; - - for (level = 0; level < 4; level++, max *= (blk64_t)addr_per_block) { -#ifdef PUNCH_DEBUG - printf("Main loop level %d, start %u count %u " - "max %llu num %d\n", level, start, count, max, num); -#endif - if (start < max) { - retval = ind_punch(fs, inode, block_buf, bp, level, - start, count, num); - if (retval) - goto errout; - if (count > max) - count -= max - start; - else - break; - start = 0; - } else - start -= max; - bp += num; - if (level == 0) { - num = 1; - max = 1; - } - } - retval = 0; -errout: - if (buf) - ext2fs_free_mem(&buf); - return retval; -} - -#ifdef PUNCH_DEBUG - -#define dbg_printf(f, a...) printf(f, ## a) - -static void dbg_print_extent(char *desc, struct ext2fs_extent *extent) -{ - if (desc) - printf("%s: ", desc); - printf("extent: lblk %llu--%llu, len %u, pblk %llu, flags: ", - extent->e_lblk, extent->e_lblk + extent->e_len - 1, - extent->e_len, extent->e_pblk); - if (extent->e_flags & EXT2_EXTENT_FLAGS_LEAF) - fputs("LEAF ", stdout); - if (extent->e_flags & EXT2_EXTENT_FLAGS_UNINIT) - fputs("UNINIT ", stdout); - if (extent->e_flags & EXT2_EXTENT_FLAGS_SECOND_VISIT) - fputs("2ND_VISIT ", stdout); - if (!extent->e_flags) - fputs("(none)", stdout); - fputc('\n', stdout); - -} -#else -#define dbg_print_extent(desc, ex) do { } while (0) -#define dbg_printf(f, a...) do { } while (0) -#endif - -/* Free a range of blocks, respecting cluster boundaries */ -static errcode_t punch_extent_blocks(ext2_filsys fs, ext2_ino_t ino, - struct ext2_inode *inode, - blk64_t lfree_start, blk64_t free_start, - __u32 free_count, int *freed) -{ - blk64_t pblk; - int freed_now = 0; - __u32 cluster_freed; - errcode_t retval = 0; - - /* No bigalloc? Just free each block. */ - if (EXT2FS_CLUSTER_RATIO(fs) == 1) { - *freed += free_count; - while (free_count-- > 0) - ext2fs_block_alloc_stats2(fs, free_start++, -1); - return retval; - } - - /* - * Try to free up to the next cluster boundary. We assume that all - * blocks in a logical cluster map to blocks from the same physical - * cluster, and that the offsets within the [pl]clusters match. - */ - if (free_start & EXT2FS_CLUSTER_MASK(fs)) { - retval = ext2fs_map_cluster_block(fs, ino, inode, - lfree_start, &pblk); - if (retval) - goto errout; - if (!pblk) { - ext2fs_block_alloc_stats2(fs, free_start, -1); - freed_now++; - } - cluster_freed = EXT2FS_CLUSTER_RATIO(fs) - - (free_start & EXT2FS_CLUSTER_MASK(fs)); - if (cluster_freed > free_count) - cluster_freed = free_count; - free_count -= cluster_freed; - free_start += cluster_freed; - lfree_start += cluster_freed; - } - - /* Free whole clusters from the middle of the range. */ - while (free_count > 0 && free_count >= EXT2FS_CLUSTER_RATIO(fs)) { - ext2fs_block_alloc_stats2(fs, free_start, -1); - freed_now++; - cluster_freed = EXT2FS_CLUSTER_RATIO(fs); - free_count -= cluster_freed; - free_start += cluster_freed; - lfree_start += cluster_freed; - } - - /* Try to free the last cluster. */ - if (free_count > 0) { - retval = ext2fs_map_cluster_block(fs, ino, inode, - lfree_start, &pblk); - if (retval) - goto errout; - if (!pblk) { - ext2fs_block_alloc_stats2(fs, free_start, -1); - freed_now++; - } - } - -errout: - *freed += freed_now; - return retval; -} - -static errcode_t ext2fs_punch_extent(ext2_filsys fs, ext2_ino_t ino, - struct ext2_inode *inode, - blk64_t start, blk64_t end) -{ - ext2_extent_handle_t handle = 0; - struct ext2fs_extent extent; - errcode_t retval; - blk64_t free_start, next, lfree_start; - __u32 free_count, newlen; - int freed = 0; - int op; - - retval = ext2fs_extent_open2(fs, ino, inode, &handle); - if (retval) - return retval; - /* - * Find the extent closest to the start of the punch range. We don't - * check the return value because _goto() sets the current node to the - * next-lowest extent if 'start' is in a hole, and doesn't set a - * current node if there was a real error reading the extent tree. - * In that case, _get() will error out. - * - * Note: If _get() returns 'no current node', that simply means that - * there aren't any blocks mapped past this point in the file, so we're - * done. - */ - ext2fs_extent_goto(handle, start); - retval = ext2fs_extent_get(handle, EXT2_EXTENT_CURRENT, &extent); - if (retval == EXT2_ET_NO_CURRENT_NODE) { - retval = 0; - goto errout; - } else if (retval) - goto errout; - while (1) { - op = EXT2_EXTENT_NEXT_LEAF; - dbg_print_extent("main loop", &extent); - next = extent.e_lblk + extent.e_len; - dbg_printf("start %llu, end %llu, next %llu\n", - (unsigned long long) start, - (unsigned long long) end, - (unsigned long long) next); - if (start <= extent.e_lblk) { - if (end < extent.e_lblk) - goto next_extent; - dbg_printf("Case #%d\n", 1); - /* Start of deleted region before extent; - adjust beginning of extent */ - free_start = extent.e_pblk; - lfree_start = extent.e_lblk; - if (next > end) - free_count = end - extent.e_lblk + 1; - else - free_count = extent.e_len; - extent.e_len -= free_count; - extent.e_lblk += free_count; - extent.e_pblk += free_count; - } else if (end >= next-1) { - if (start >= next) - break; - /* End of deleted region after extent; - adjust end of extent */ - dbg_printf("Case #%d\n", 2); - newlen = start - extent.e_lblk; - free_start = extent.e_pblk + newlen; - lfree_start = extent.e_lblk + newlen; - free_count = extent.e_len - newlen; - extent.e_len = newlen; - } else { - struct ext2fs_extent newex; - - dbg_printf("Case #%d\n", 3); - /* The hard case; we need to split the extent */ - newex.e_pblk = extent.e_pblk + - (end + 1 - extent.e_lblk); - newex.e_lblk = end + 1; - newex.e_len = next - end - 1; - newex.e_flags = extent.e_flags; - - extent.e_len = start - extent.e_lblk; - free_start = extent.e_pblk + extent.e_len; - lfree_start = extent.e_lblk + extent.e_len; - free_count = end - start + 1; - - dbg_print_extent("inserting", &newex); - retval = ext2fs_extent_insert(handle, - EXT2_EXTENT_INSERT_AFTER, &newex); - if (retval) - goto errout; - /* Now pointing at inserted extent; so go back */ - retval = ext2fs_extent_get(handle, - EXT2_EXTENT_PREV_LEAF, - &newex); - if (retval) - goto errout; - } - if (extent.e_len) { - dbg_print_extent("replacing", &extent); - retval = ext2fs_extent_replace(handle, 0, &extent); - } else { - struct ext2fs_extent newex; - blk64_t old_lblk, next_lblk; - dbg_printf("deleting current extent%s\n", ""); - - /* - * Save the location of the next leaf, then slip - * back to the current extent. - */ - retval = ext2fs_extent_get(handle, EXT2_EXTENT_CURRENT, - &newex); - if (retval) - goto errout; - old_lblk = newex.e_lblk; - - retval = ext2fs_extent_get(handle, - EXT2_EXTENT_NEXT_LEAF, - &newex); - if (retval == EXT2_ET_EXTENT_NO_NEXT) - next_lblk = old_lblk; - else if (retval) - goto errout; - else - next_lblk = newex.e_lblk; - - retval = ext2fs_extent_goto(handle, old_lblk); - if (retval) - goto errout; - - /* Now delete the extent. */ - retval = ext2fs_extent_delete(handle, 0); - if (retval) - goto errout; - - /* Jump forward to the next extent. */ - ext2fs_extent_goto(handle, next_lblk); - op = EXT2_EXTENT_CURRENT; - } - if (retval) - goto errout; - dbg_printf("Free start %llu, free count = %u\n", - free_start, free_count); - retval = punch_extent_blocks(fs, ino, inode, lfree_start, - free_start, free_count, &freed); - if (retval) - goto errout; - next_extent: - retval = ext2fs_extent_get(handle, op, - &extent); - if (retval == EXT2_ET_EXTENT_NO_NEXT || - retval == EXT2_ET_NO_CURRENT_NODE) - break; - if (retval) - goto errout; - } - dbg_printf("Freed %d blocks\n", freed); - retval = ext2fs_iblk_sub_blocks(fs, inode, freed); -errout: - ext2fs_extent_free(handle); - return retval; -} - -/* - * Deallocate all logical blocks starting at start to end, inclusive. - * If end is ~0, then this is effectively truncate. - */ -errcode_t ext2fs_punch(ext2_filsys fs, ext2_ino_t ino, - struct ext2_inode *inode, - char *block_buf, blk64_t start, - blk64_t end) -{ - errcode_t retval; - struct ext2_inode inode_buf; - - if (start > end) - return EINVAL; - - /* Read inode structure if necessary */ - if (!inode) { - retval = ext2fs_read_inode(fs, ino, &inode_buf); - if (retval) - return retval; - inode = &inode_buf; - } - if (inode->i_flags & EXT4_EXTENTS_FL) - retval = ext2fs_punch_extent(fs, ino, inode, start, end); - else { - blk_t count; - - if (start > ~0U) - return 0; - if (end > ~0U) - end = ~0U; - count = ((end - start + 1) < ~0U) ? (end - start + 1) : ~0U; - retval = ext2fs_punch_ind(fs, inode, block_buf, - (blk_t) start, count); - } - if (retval) - return retval; - - return ext2fs_write_inode(fs, ino, inode); -} diff --git a/lib/ext2fs/qcow2.c b/lib/ext2fs/qcow2.c deleted file mode 100644 index 9d56ae58..00000000 --- a/lib/ext2fs/qcow2.c +++ /dev/null @@ -1,255 +0,0 @@ -/* - * qcow2.c --- Functions to generate qcow2 formatted disk images. This - * format is used originally by QEMU for virtual machines, and stores the - * filesystem data on disk in a packed format to avoid creating sparse - * image files that need lots of seeking to read and write. - * - * The qcow2 format supports zlib compression, but that is not yet - * implemented. - * - * It is possible to directly mount a qcow2 image using qemu-nbd: - * - * [root]# modprobe nbd max_part=63 - * [root]# qemu-nbd -c /dev/nbd0 image.img - * [root]# mount /dev/nbd0p1 /mnt/qemu - * - * Format details at http://people.gnome.org/~markmc/qcow-image-format.html - * - * Copyright (C) 2010 Red Hat, Inc., Lukas Czerner - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - */ - -#define _LARGEFILE_SOURCE -#define _LARGEFILE64_SOURCE - -#include -#include -#include -#include -#ifdef HAVE_STDLIB_H -#include -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#include "ext2fs/ext2fs.h" -#include "qcow2.h" - -/* Functions for converting qcow2 image into raw image */ - -struct ext2_qcow2_hdr *qcow2_read_header(int fd) -{ - void *buffer = NULL; - struct ext2_qcow2_hdr *hdr = NULL; - size_t size; - errcode_t ret; - - ret = ext2fs_get_mem(sizeof(struct ext2_qcow2_hdr), &buffer); - if (ret) - return NULL; - memset(buffer, 0, sizeof(struct ext2_qcow2_hdr)); - - if (ext2fs_llseek(fd, 0, SEEK_SET < 0)) { - ext2fs_free_mem(&buffer); - return NULL; - } - - size = read(fd, buffer, sizeof(struct ext2_qcow2_hdr)); - if (size != sizeof(struct ext2_qcow2_hdr)) { - ext2fs_free_mem(&buffer); - return NULL; - } - - hdr = (struct ext2_qcow2_hdr *)(buffer); - - if ((ext2fs_be32_to_cpu(hdr->magic) != QCOW_MAGIC) || - (ext2fs_be32_to_cpu(hdr->version) != 2)) { - ext2fs_free_mem(&hdr); - return NULL; - } - - return hdr; -} - -static int qcow2_read_l1_table(struct ext2_qcow2_image *img) -{ - int fd = img->fd; - size_t size, l1_size = img->l1_size * sizeof(blk64_t); - blk64_t *table; - errcode_t ret; - - ret = ext2fs_get_memzero(l1_size, &table); - if (ret) - return ret; - - if (ext2fs_llseek(fd, img->l1_offset, SEEK_SET) < 0) { - ext2fs_free_mem(&table); - return errno; - } - - size = read(fd, table, l1_size); - if (size != l1_size) { - ext2fs_free_mem(&table); - return errno; - } - - img->l1_table = table; - - return 0; -} - -static int qcow2_read_l2_table(struct ext2_qcow2_image *img, - ext2_off64_t offset, blk64_t **l2_table) -{ - int fd = img->fd; - size_t size; - - assert(*l2_table); - - if (ext2fs_llseek(fd, offset, SEEK_SET) < 0) - return errno; - - size = read(fd, *l2_table, img->cluster_size); - if (size != img->cluster_size) - return errno; - - return 0; -} - -static int qcow2_copy_data(int fdin, int fdout, ext2_off64_t off_in, - ext2_off64_t off_out, void *buf, size_t count) -{ - size_t size; - - assert(buf); - - if (ext2fs_llseek(fdout, off_out, SEEK_SET) < 0) - return errno; - - if (ext2fs_llseek(fdin, off_in, SEEK_SET) < 0) - return errno; - - size = read(fdin, buf, count); - if (size != count) - return errno; - - size = write(fdout, buf, count); - if (size != count) - return errno; - - return 0; -} - - -int qcow2_write_raw_image(int qcow2_fd, int raw_fd, - struct ext2_qcow2_hdr *hdr) -{ - struct ext2_qcow2_image img; - errcode_t ret = 0; - unsigned int l1_index, l2_index; - ext2_off64_t offset; - blk64_t *l1_table, *l2_table = NULL; - void *copy_buf = NULL; - size_t size; - - if (hdr->crypt_method) - return -QCOW_ENCRYPTED; - - img.fd = qcow2_fd; - img.hdr = hdr; - img.l2_cache = NULL; - img.l1_table = NULL; - img.cluster_bits = ext2fs_be32_to_cpu(hdr->cluster_bits); - img.cluster_size = 1 << img.cluster_bits; - img.l1_size = ext2fs_be32_to_cpu(hdr->l1_size); - img.l1_offset = ext2fs_be64_to_cpu(hdr->l1_table_offset); - img.l2_size = 1 << (img.cluster_bits - 3); - img.image_size = ext2fs_be64_to_cpu(hdr->size); - - - ret = ext2fs_get_memzero(img.cluster_size, &l2_table); - if (ret) - goto out; - - ret = ext2fs_get_memzero(1 << img.cluster_bits, ©_buf); - if (ret) - goto out; - - if (ext2fs_llseek(raw_fd, 0, SEEK_SET) < 0) { - ret = errno; - goto out; - } - - ret = qcow2_read_l1_table(&img); - if (ret) - goto out; - - l1_table = img.l1_table; - /* Walk through l1 table */ - for (l1_index = 0; l1_index < img.l1_size; l1_index++) { - ext2_off64_t off_out; - - offset = ext2fs_be64_to_cpu(l1_table[l1_index]) & - ~QCOW_OFLAG_COPIED; - - if ((offset > img.image_size) || - (offset <= 0)) - continue; - - if (offset & QCOW_OFLAG_COMPRESSED) { - ret = -QCOW_COMPRESSED; - goto out; - } - - ret = qcow2_read_l2_table(&img, offset, &l2_table); - if (ret) - break; - - /* Walk through l2 table and copy data blocks into raw image */ - for (l2_index = 0; l2_index < img.l2_size; l2_index++) { - offset = ext2fs_be64_to_cpu(l2_table[l2_index]) & - ~QCOW_OFLAG_COPIED; - - if (offset == 0) - continue; - - off_out = (l1_index * img.l2_size) + - l2_index; - off_out <<= img.cluster_bits; - ret = qcow2_copy_data(qcow2_fd, raw_fd, offset, - off_out, copy_buf, img.cluster_size); - if (ret) - goto out; - } - } - - /* Resize the output image to the filesystem size */ - if (ext2fs_llseek(raw_fd, img.image_size - 1, SEEK_SET) < 0) - return errno; - - ((char *)copy_buf)[0] = 0; - size = write(raw_fd, copy_buf, 1); - if (size != 1) { - ret = errno; - goto out; - } - -out: - if (copy_buf) - ext2fs_free_mem(©_buf); - if (img.l1_table) - ext2fs_free_mem(&img.l1_table); - if (l2_table) - ext2fs_free_mem(&l2_table); - return ret; -} diff --git a/lib/ext2fs/qcow2.h b/lib/ext2fs/qcow2.h deleted file mode 100644 index 81e0ec93..00000000 --- a/lib/ext2fs/qcow2.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - * qcow2.h --- structures and function prototypes for qcow2.c to generate - * qcow2 formatted disk images. This format is used originally by QEMU - * for virtual machines, and stores the filesystem data on disk in a - * packed format to avoid creating sparse image files that need lots of - * seeking to read and write. - * - * The qcow2 format supports zlib compression, but that is not yet - * implemented. - * - * It is possible to directly mount a qcow2 image using qemu-nbd: - * - * [root]# modprobe nbd max_part=63 - * [root]# qemu-nbd -c /dev/nbd0 image.img - * [root]# mount /dev/nbd0p1 /mnt/qemu - * - * Format details at http://people.gnome.org/~markmc/qcow-image-format.html - * - * Copyright (C) 2010 Red Hat, Inc., Lukas Czerner - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - */ - -/* Number of l2 tables in memory before writeback */ -#define L2_CACHE_PREALLOC 512 - - -#define QCOW_MAGIC (('Q' << 24) | ('F' << 16) | ('I' << 8) | 0xfb) -#define QCOW_VERSION 2 -#define QCOW_OFLAG_COPIED (1LL << 63) -#define QCOW_OFLAG_COMPRESSED (1LL << 62) - -#define QCOW_COMPRESSED 1 -#define QCOW_ENCRYPTED 2 - -struct ext2_qcow2_hdr { - __u32 magic; - __u32 version; - - __u64 backing_file_offset; - __u32 backing_file_size; - - __u32 cluster_bits; - __u64 size; - __u32 crypt_method; - - __u32 l1_size; - __u64 l1_table_offset; - - __u64 refcount_table_offset; - __u32 refcount_table_clusters; - - __u32 nb_snapshots; - __u64 snapshots_offset; -}; - -typedef struct ext2_qcow2_l2_table L2_CACHE_HEAD; - -struct ext2_qcow2_l2_table { - __u32 l1_index; - __u64 offset; - __u64 *data; - L2_CACHE_HEAD *next; -}; - -struct ext2_qcow2_l2_cache { - L2_CACHE_HEAD *used_head; - L2_CACHE_HEAD *used_tail; - L2_CACHE_HEAD *free_head; - __u32 free; - __u32 count; - __u64 next_offset; -}; - -struct ext2_qcow2_refcount { - __u64 *refcount_table; - __u64 refcount_table_offset; - __u64 refcount_block_offset; - - __u32 refcount_table_clusters; - __u32 refcount_table_index; - __u32 refcount_block_index; - - __u16 *refcount_block; -}; - -struct ext2_qcow2_image { - int fd; - struct ext2_qcow2_hdr *hdr; - struct ext2_qcow2_l2_cache *l2_cache; - struct ext2_qcow2_refcount refcount; - __u32 cluster_size; - __u32 cluster_bits; - __u32 l1_size; - __u32 l2_size; - - __u64 *l1_table; - __u64 l2_offset; - __u64 l1_offset; - __u64 image_size; -}; - -/* Function prototypes */ - -/* qcow2.c */ - -/* Functions for converting qcow2 image into raw image */ -struct ext2_qcow2_hdr *qcow2_read_header(int); -int qcow2_write_raw_image(int, int, struct ext2_qcow2_hdr *); - diff --git a/lib/ext2fs/rbtree.c b/lib/ext2fs/rbtree.c deleted file mode 100644 index 94393030..00000000 --- a/lib/ext2fs/rbtree.c +++ /dev/null @@ -1,451 +0,0 @@ -/* - Red Black Trees - (C) 1999 Andrea Arcangeli - (C) 2002 David Woodhouse - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - linux/lib/rbtree.c -*/ - -#include "rbtree.h" - -static void __rb_rotate_left(struct rb_node *node, struct rb_root *root) -{ - struct rb_node *right = node->rb_right; - struct rb_node *parent = ext2fs_rb_parent(node); - - if ((node->rb_right = right->rb_left)) - ext2fs_rb_set_parent(right->rb_left, node); - right->rb_left = node; - - ext2fs_rb_set_parent(right, parent); - - if (parent) - { - if (node == parent->rb_left) - parent->rb_left = right; - else - parent->rb_right = right; - } - else - root->rb_node = right; - ext2fs_rb_set_parent(node, right); -} - -static void __rb_rotate_right(struct rb_node *node, struct rb_root *root) -{ - struct rb_node *left = node->rb_left; - struct rb_node *parent = ext2fs_rb_parent(node); - - if ((node->rb_left = left->rb_right)) - ext2fs_rb_set_parent(left->rb_right, node); - left->rb_right = node; - - ext2fs_rb_set_parent(left, parent); - - if (parent) - { - if (node == parent->rb_right) - parent->rb_right = left; - else - parent->rb_left = left; - } - else - root->rb_node = left; - ext2fs_rb_set_parent(node, left); -} - -void ext2fs_rb_insert_color(struct rb_node *node, struct rb_root *root) -{ - struct rb_node *parent, *gparent; - - while ((parent = ext2fs_rb_parent(node)) && ext2fs_rb_is_red(parent)) - { - gparent = ext2fs_rb_parent(parent); - - if (parent == gparent->rb_left) - { - { - register struct rb_node *uncle = gparent->rb_right; - if (uncle && ext2fs_rb_is_red(uncle)) - { - ext2fs_rb_set_black(uncle); - ext2fs_rb_set_black(parent); - ext2fs_rb_set_red(gparent); - node = gparent; - continue; - } - } - - if (parent->rb_right == node) - { - register struct rb_node *tmp; - __rb_rotate_left(parent, root); - tmp = parent; - parent = node; - node = tmp; - } - - ext2fs_rb_set_black(parent); - ext2fs_rb_set_red(gparent); - __rb_rotate_right(gparent, root); - } else { - { - register struct rb_node *uncle = gparent->rb_left; - if (uncle && ext2fs_rb_is_red(uncle)) - { - ext2fs_rb_set_black(uncle); - ext2fs_rb_set_black(parent); - ext2fs_rb_set_red(gparent); - node = gparent; - continue; - } - } - - if (parent->rb_left == node) - { - register struct rb_node *tmp; - __rb_rotate_right(parent, root); - tmp = parent; - parent = node; - node = tmp; - } - - ext2fs_rb_set_black(parent); - ext2fs_rb_set_red(gparent); - __rb_rotate_left(gparent, root); - } - } - - ext2fs_rb_set_black(root->rb_node); -} - -static void __rb_erase_color(struct rb_node *node, struct rb_node *parent, - struct rb_root *root) -{ - struct rb_node *other; - - while ((!node || ext2fs_rb_is_black(node)) && node != root->rb_node) - { - if (parent->rb_left == node) - { - other = parent->rb_right; - if (ext2fs_rb_is_red(other)) - { - ext2fs_rb_set_black(other); - ext2fs_rb_set_red(parent); - __rb_rotate_left(parent, root); - other = parent->rb_right; - } - if ((!other->rb_left || ext2fs_rb_is_black(other->rb_left)) && - (!other->rb_right || ext2fs_rb_is_black(other->rb_right))) - { - ext2fs_rb_set_red(other); - node = parent; - parent = ext2fs_rb_parent(node); - } - else - { - if (!other->rb_right || ext2fs_rb_is_black(other->rb_right)) - { - ext2fs_rb_set_black(other->rb_left); - ext2fs_rb_set_red(other); - __rb_rotate_right(other, root); - other = parent->rb_right; - } - ext2fs_rb_set_color(other, ext2fs_rb_color(parent)); - ext2fs_rb_set_black(parent); - ext2fs_rb_set_black(other->rb_right); - __rb_rotate_left(parent, root); - node = root->rb_node; - break; - } - } - else - { - other = parent->rb_left; - if (ext2fs_rb_is_red(other)) - { - ext2fs_rb_set_black(other); - ext2fs_rb_set_red(parent); - __rb_rotate_right(parent, root); - other = parent->rb_left; - } - if ((!other->rb_left || ext2fs_rb_is_black(other->rb_left)) && - (!other->rb_right || ext2fs_rb_is_black(other->rb_right))) - { - ext2fs_rb_set_red(other); - node = parent; - parent = ext2fs_rb_parent(node); - } - else - { - if (!other->rb_left || ext2fs_rb_is_black(other->rb_left)) - { - ext2fs_rb_set_black(other->rb_right); - ext2fs_rb_set_red(other); - __rb_rotate_left(other, root); - other = parent->rb_left; - } - ext2fs_rb_set_color(other, ext2fs_rb_color(parent)); - ext2fs_rb_set_black(parent); - ext2fs_rb_set_black(other->rb_left); - __rb_rotate_right(parent, root); - node = root->rb_node; - break; - } - } - } - if (node) - ext2fs_rb_set_black(node); -} - -void ext2fs_rb_erase(struct rb_node *node, struct rb_root *root) -{ - struct rb_node *child, *parent; - int color; - - if (!node->rb_left) - child = node->rb_right; - else if (!node->rb_right) - child = node->rb_left; - else - { - struct rb_node *old = node, *left; - - node = node->rb_right; - while ((left = node->rb_left) != NULL) - node = left; - - if (ext2fs_rb_parent(old)) { - if (ext2fs_rb_parent(old)->rb_left == old) - ext2fs_rb_parent(old)->rb_left = node; - else - ext2fs_rb_parent(old)->rb_right = node; - } else - root->rb_node = node; - - child = node->rb_right; - parent = ext2fs_rb_parent(node); - color = ext2fs_rb_color(node); - - if (parent == old) { - parent = node; - } else { - if (child) - ext2fs_rb_set_parent(child, parent); - parent->rb_left = child; - - node->rb_right = old->rb_right; - ext2fs_rb_set_parent(old->rb_right, node); - } - - node->rb_parent_color = old->rb_parent_color; - node->rb_left = old->rb_left; - ext2fs_rb_set_parent(old->rb_left, node); - - goto color; - } - - parent = ext2fs_rb_parent(node); - color = ext2fs_rb_color(node); - - if (child) - ext2fs_rb_set_parent(child, parent); - if (parent) - { - if (parent->rb_left == node) - parent->rb_left = child; - else - parent->rb_right = child; - } - else - root->rb_node = child; - - color: - if (color == RB_BLACK) - __rb_erase_color(child, parent, root); -} - -static void ext2fs_rb_augment_path(struct rb_node *node, rb_augment_f func, void *data) -{ - struct rb_node *parent; - -up: - func(node, data); - parent = ext2fs_rb_parent(node); - if (!parent) - return; - - if (node == parent->rb_left && parent->rb_right) - func(parent->rb_right, data); - else if (parent->rb_left) - func(parent->rb_left, data); - - node = parent; - goto up; -} - -/* - * after inserting @node into the tree, update the tree to account for - * both the new entry and any damage done by rebalance - */ -void ext2fs_rb_augment_insert(struct rb_node *node, rb_augment_f func, void *data) -{ - if (node->rb_left) - node = node->rb_left; - else if (node->rb_right) - node = node->rb_right; - - ext2fs_rb_augment_path(node, func, data); -} - -/* - * before removing the node, find the deepest node on the rebalance path - * that will still be there after @node gets removed - */ -struct rb_node *ext2fs_rb_augment_erase_begin(struct rb_node *node) -{ - struct rb_node *deepest; - - if (!node->rb_right && !node->rb_left) - deepest = ext2fs_rb_parent(node); - else if (!node->rb_right) - deepest = node->rb_left; - else if (!node->rb_left) - deepest = node->rb_right; - else { - deepest = ext2fs_rb_next(node); - if (deepest->rb_right) - deepest = deepest->rb_right; - else if (ext2fs_rb_parent(deepest) != node) - deepest = ext2fs_rb_parent(deepest); - } - - return deepest; -} - -/* - * after removal, update the tree to account for the removed entry - * and any rebalance damage. - */ -void ext2fs_rb_augment_erase_end(struct rb_node *node, rb_augment_f func, void *data) -{ - if (node) - ext2fs_rb_augment_path(node, func, data); -} - -/* - * This function returns the first node (in sort order) of the tree. - */ -struct rb_node *ext2fs_rb_first(const struct rb_root *root) -{ - struct rb_node *n; - - n = root->rb_node; - if (!n) - return NULL; - while (n->rb_left) - n = n->rb_left; - return n; -} - -struct rb_node *ext2fs_rb_last(const struct rb_root *root) -{ - struct rb_node *n; - - n = root->rb_node; - if (!n) - return NULL; - while (n->rb_right) - n = n->rb_right; - return n; -} - -struct rb_node *ext2fs_rb_next(struct rb_node *node) -{ - struct rb_node *parent; - - if (ext2fs_rb_parent(node) == node) - return NULL; - - /* If we have a right-hand child, go down and then left as far - as we can. */ - if (node->rb_right) { - node = node->rb_right; - while (node->rb_left) - node=node->rb_left; - return (struct rb_node *)node; - } - - /* No right-hand children. Everything down and left is - smaller than us, so any 'next' node must be in the general - direction of our parent. Go up the tree; any time the - ancestor is a right-hand child of its parent, keep going - up. First time it's a left-hand child of its parent, said - parent is our 'next' node. */ - while ((parent = ext2fs_rb_parent(node)) && node == parent->rb_right) - node = parent; - - return parent; -} - -struct rb_node *ext2fs_rb_prev(struct rb_node *node) -{ - struct rb_node *parent; - - if (ext2fs_rb_parent(node) == node) - return NULL; - - /* If we have a left-hand child, go down and then right as far - as we can. */ - if (node->rb_left) { - node = node->rb_left; - while (node->rb_right) - node=node->rb_right; - return (struct rb_node *)node; - } - - /* No left-hand children. Go up till we find an ancestor which - is a right-hand child of its parent */ - while ((parent = ext2fs_rb_parent(node)) && node == parent->rb_left) - node = parent; - - return parent; -} - -void ext2fs_rb_replace_node(struct rb_node *victim, struct rb_node *new, - struct rb_root *root) -{ - struct rb_node *parent = ext2fs_rb_parent(victim); - - /* Set the surrounding nodes to point to the replacement */ - if (parent) { - if (victim == parent->rb_left) - parent->rb_left = new; - else - parent->rb_right = new; - } else { - root->rb_node = new; - } - if (victim->rb_left) - ext2fs_rb_set_parent(victim->rb_left, new); - if (victim->rb_right) - ext2fs_rb_set_parent(victim->rb_right, new); - - /* Copy the pointers/colour from the victim to the replacement */ - *new = *victim; -} diff --git a/lib/ext2fs/rbtree.h b/lib/ext2fs/rbtree.h deleted file mode 100644 index 3b0b0784..00000000 --- a/lib/ext2fs/rbtree.h +++ /dev/null @@ -1,180 +0,0 @@ -/* - Red Black Trees - (C) 1999 Andrea Arcangeli - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - linux/include/linux/rbtree.h - - To use rbtrees you'll have to implement your own insert and search cores. - This will avoid us to use callbacks and to drop drammatically performances. - I know it's not the cleaner way, but in C (not in C++) to get - performances and genericity... - - Some example of insert and search follows here. The search is a plain - normal search over an ordered tree. The insert instead must be implemented - in two steps: First, the code must insert the element in order as a red leaf - in the tree, and then the support library function rb_insert_color() must - be called. Such function will do the not trivial work to rebalance the - rbtree, if necessary. - ------------------------------------------------------------------------ -static inline struct page * rb_search_page_cache(struct inode * inode, - unsigned long offset) -{ - struct rb_node * n = inode->i_rb_page_cache.rb_node; - struct page * page; - - while (n) - { - page = rb_entry(n, struct page, rb_page_cache); - - if (offset < page->offset) - n = n->rb_left; - else if (offset > page->offset) - n = n->rb_right; - else - return page; - } - return NULL; -} - -static inline struct page * __rb_insert_page_cache(struct inode * inode, - unsigned long offset, - struct rb_node * node) -{ - struct rb_node ** p = &inode->i_rb_page_cache.rb_node; - struct rb_node * parent = NULL; - struct page * page; - - while (*p) - { - parent = *p; - page = rb_entry(parent, struct page, rb_page_cache); - - if (offset < page->offset) - p = &(*p)->rb_left; - else if (offset > page->offset) - p = &(*p)->rb_right; - else - return page; - } - - rb_link_node(node, parent, p); - - return NULL; -} - -static inline struct page * rb_insert_page_cache(struct inode * inode, - unsigned long offset, - struct rb_node * node) -{ - struct page * ret; - if ((ret = __rb_insert_page_cache(inode, offset, node))) - goto out; - rb_insert_color(node, &inode->i_rb_page_cache); - out: - return ret; -} ------------------------------------------------------------------------ -*/ - -#ifndef _LINUX_RBTREE_H -#define _LINUX_RBTREE_H - -#include - -#undef offsetof -#ifdef __compiler_offsetof -#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER) -#else -#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) -#endif - -#define container_of(ptr, type, member) ({ \ - const __typeof__( ((type *)0)->member ) *__mptr = (ptr); \ - (type *)( (char *)__mptr - offsetof(type,member) );}) - -struct rb_node -{ - unsigned long rb_parent_color; -#define RB_RED 0 -#define RB_BLACK 1 - struct rb_node *rb_right; - struct rb_node *rb_left; -} __attribute__((aligned(sizeof(long)))); - /* The alignment might seem pointless, but allegedly CRIS needs it */ - -struct rb_root -{ - struct rb_node *rb_node; -}; - - -#define ext2fs_rb_parent(r) ((struct rb_node *)((r)->rb_parent_color & ~3)) -#define ext2fs_rb_color(r) ((r)->rb_parent_color & 1) -#define ext2fs_rb_is_red(r) (!ext2fs_rb_color(r)) -#define ext2fs_rb_is_black(r) ext2fs_rb_color(r) -#define ext2fs_rb_set_red(r) do { (r)->rb_parent_color &= ~1; } while (0) -#define ext2fs_rb_set_black(r) do { (r)->rb_parent_color |= 1; } while (0) - -static inline void ext2fs_rb_set_parent(struct rb_node *rb, struct rb_node *p) -{ - rb->rb_parent_color = (rb->rb_parent_color & 3) | (unsigned long)p; -} -static inline void ext2fs_rb_set_color(struct rb_node *rb, int color) -{ - rb->rb_parent_color = (rb->rb_parent_color & ~1) | color; -} - -#define RB_ROOT (struct rb_root) { NULL, } -#define ext2fs_rb_entry(ptr, type, member) container_of(ptr, type, member) - -#define EXT2FS_RB_EMPTY_ROOT(root) ((root)->rb_node == NULL) -#define EXT2FS_RB_EMPTY_NODE(node) (ext2fs_rb_parent(node) == node) -#define EXT2FS_RB_CLEAR_NODE(node) (ext2fs_rb_set_parent(node, node)) - -extern void ext2fs_rb_insert_color(struct rb_node *, struct rb_root *); -extern void ext2fs_rb_erase(struct rb_node *, struct rb_root *); - -typedef void (*rb_augment_f)(struct rb_node *node, void *data); - -extern void ext2fs_rb_augment_insert(struct rb_node *node, - rb_augment_f func, void *data); -extern struct rb_node *ext2fs_rb_augment_erase_begin(struct rb_node *node); -extern void ext2fs_rb_augment_erase_end(struct rb_node *node, - rb_augment_f func, void *data); - -/* Find logical next and previous nodes in a tree */ -extern struct rb_node *ext2fs_rb_next(struct rb_node *); -extern struct rb_node *ext2fs_rb_prev(struct rb_node *); -extern struct rb_node *ext2fs_rb_first(const struct rb_root *); -extern struct rb_node *ext2fs_rb_last(const struct rb_root *); - -/* Fast replacement of a single node without remove/rebalance/add/rebalance */ -extern void ext2fs_rb_replace_node(struct rb_node *victim, struct rb_node *new, - struct rb_root *root); - -static inline void ext2fs_rb_link_node(struct rb_node * node, - struct rb_node * parent, - struct rb_node ** rb_link) -{ - node->rb_parent_color = (unsigned long )parent; - node->rb_left = node->rb_right = NULL; - - *rb_link = node; -} - -#endif /* _LINUX_RBTREE_H */ diff --git a/lib/ext2fs/read_bb.c b/lib/ext2fs/read_bb.c index e5d63227..33167840 100644 --- a/lib/ext2fs/read_bb.c +++ b/lib/ext2fs/read_bb.c @@ -49,7 +49,7 @@ static int mark_bad_block(ext2_filsys fs, blk_t *block_nr, return 0; if ((*block_nr < fs->super->s_first_data_block) || - (*block_nr >= ext2fs_blocks_count(fs->super))) + (*block_nr >= fs->super->s_blocks_count)) return 0; /* Ignore illegal blocks */ rb->err = ext2fs_badblocks_list_add(rb->bb_list, *block_nr); diff --git a/lib/ext2fs/read_bb_file.c b/lib/ext2fs/read_bb_file.c index 89c567bb..0ca76045 100644 --- a/lib/ext2fs/read_bb_file.c +++ b/lib/ext2fs/read_bb_file.c @@ -38,7 +38,7 @@ errcode_t ext2fs_read_bb_FILE2(ext2_filsys fs, FILE *f, void *priv_data)) { errcode_t retval; - blk64_t blockno; + blk_t blockno; int count; char buf[128]; @@ -54,15 +54,12 @@ errcode_t ext2fs_read_bb_FILE2(ext2_filsys fs, FILE *f, while (!feof (f)) { if (fgets(buf, sizeof(buf), f) == NULL) break; - count = sscanf(buf, "%llu", &blockno); + count = sscanf(buf, "%u", &blockno); if (count <= 0) continue; - /* Badblocks isn't going to be updated for 64bit */ - if (blockno >> 32) - return EOVERFLOW; if (fs && ((blockno < fs->super->s_first_data_block) || - (blockno >= ext2fs_blocks_count(fs->super)))) { + (blockno >= fs->super->s_blocks_count))) { if (invalid) (invalid)(fs, blockno, buf, priv_data); continue; diff --git a/lib/ext2fs/res_gdt.c b/lib/ext2fs/res_gdt.c index acce650d..424d8671 100644 --- a/lib/ext2fs/res_gdt.c +++ b/lib/ext2fs/res_gdt.c @@ -65,9 +65,8 @@ errcode_t ext2fs_create_resize_inode(ext2_filsys fs) struct ext2_inode inode; __u32 *dindir_buf, *gdt_buf; unsigned long long apb, inode_size; - /* FIXME-64 - can't deal with extents */ blk_t dindir_blk, rsv_off, gdt_off, gdt_blk; - int dindir_dirty = 0, inode_dirty = 0, sb_blk = 0; + int dindir_dirty = 0, inode_dirty = 0; EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); @@ -75,22 +74,13 @@ errcode_t ext2fs_create_resize_inode(ext2_filsys fs) retval = ext2fs_get_array(2, fs->blocksize, &dindir_buf); if (retval) - return retval; + goto out_free; gdt_buf = (__u32 *)((char *)dindir_buf + fs->blocksize); retval = ext2fs_read_inode(fs, EXT2_RESIZE_INO, &inode); if (retval) goto out_free; - /* - * File systems with a blocksize of 1024 and bigalloc have - * sb->s_first_data_block of 0; yet the superblock is still at - * block #1. We compensate for it here. - */ - sb_blk = sb->s_first_data_block; - if (fs->blocksize == 1024 && sb_blk == 0) - sb_blk = 1; - /* Maximum possible file size (we donly use the dindirect blocks) */ apb = EXT2_ADDR_PER_BLOCK(sb); if ((dindir_blk = inode.i_block[EXT2_DIND_BLOCK])) { @@ -101,7 +91,7 @@ errcode_t ext2fs_create_resize_inode(ext2_filsys fs) if (retval) goto out_inode; } else { - blk_t goal = sb_blk + fs->desc_blocks + + blk_t goal = sb->s_first_data_block + fs->desc_blocks + sb->s_reserved_gdt_blocks + 2 + fs->inode_blocks_per_group; @@ -129,7 +119,7 @@ errcode_t ext2fs_create_resize_inode(ext2_filsys fs) } for (rsv_off = 0, gdt_off = fs->desc_blocks, - gdt_blk = sb_blk + 1 + fs->desc_blocks; + gdt_blk = sb->s_first_data_block + 1 + fs->desc_blocks; rsv_off < sb->s_reserved_gdt_blocks; rsv_off++, gdt_off++, gdt_blk++) { unsigned int three = 1, five = 5, seven = 7; diff --git a/lib/ext2fs/rw_bitmaps.c b/lib/ext2fs/rw_bitmaps.c index eacf86a5..4e77a8f1 100644 --- a/lib/ext2fs/rw_bitmaps.c +++ b/lib/ext2fs/rw_bitmaps.c @@ -34,10 +34,10 @@ static errcode_t write_bitmaps(ext2_filsys fs, int do_inode, int do_block) int block_nbytes, inode_nbytes; unsigned int nbits; errcode_t retval; - char *block_buf = NULL, *inode_buf = NULL; + char *block_buf, *inode_buf; int csum_flag = 0; - blk64_t blk; - blk64_t blk_itr = EXT2FS_B2C(fs, fs->super->s_first_data_block); + blk_t blk; + blk_t blk_itr = fs->super->s_first_data_block; ext2_ino_t ino_itr = 1; EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); @@ -51,18 +51,20 @@ static errcode_t write_bitmaps(ext2_filsys fs, int do_inode, int do_block) inode_nbytes = block_nbytes = 0; if (do_block) { - block_nbytes = EXT2_CLUSTERS_PER_GROUP(fs->super) / 8; - retval = io_channel_alloc_buf(fs->io, 0, &block_buf); + block_nbytes = EXT2_BLOCKS_PER_GROUP(fs->super) / 8; + retval = ext2fs_get_memalign(fs->blocksize, fs->blocksize, + &block_buf); if (retval) - goto errout; + return retval; memset(block_buf, 0xff, fs->blocksize); } if (do_inode) { inode_nbytes = (size_t) ((EXT2_INODES_PER_GROUP(fs->super)+7) / 8); - retval = io_channel_alloc_buf(fs->io, 0, &inode_buf); + retval = ext2fs_get_memalign(fs->blocksize, fs->blocksize, + &inode_buf); if (retval) - goto errout; + return retval; memset(inode_buf, 0xff, fs->blocksize); } @@ -70,33 +72,30 @@ static errcode_t write_bitmaps(ext2_filsys fs, int do_inode, int do_block) if (!do_block) goto skip_block_bitmap; - if (csum_flag && ext2fs_bg_flags_test(fs, i, EXT2_BG_BLOCK_UNINIT) - ) + if (csum_flag && fs->group_desc[i].bg_flags & + EXT2_BG_BLOCK_UNINIT) goto skip_this_block_bitmap; - retval = ext2fs_get_block_bitmap_range2(fs->block_map, + retval = ext2fs_get_block_bitmap_range(fs->block_map, blk_itr, block_nbytes << 3, block_buf); if (retval) - goto errout; + return retval; if (i == fs->group_desc_count - 1) { /* Force bitmap padding for the last group */ - nbits = EXT2FS_NUM_B2C(fs, - ((ext2fs_blocks_count(fs->super) - - (__u64) fs->super->s_first_data_block) - % (__u64) EXT2_BLOCKS_PER_GROUP(fs->super))); + nbits = ((fs->super->s_blocks_count + - fs->super->s_first_data_block) + % EXT2_BLOCKS_PER_GROUP(fs->super)); if (nbits) for (j = nbits; j < fs->blocksize * 8; j++) ext2fs_set_bit(j, block_buf); } - blk = ext2fs_block_bitmap_loc(fs, i); + blk = fs->group_desc[i].bg_block_bitmap; if (blk) { - retval = io_channel_write_blk64(fs->io, blk, 1, - block_buf); - if (retval) { - retval = EXT2_ET_BLOCK_BITMAP_WRITE; - goto errout; - } + retval = io_channel_write_blk(fs->io, blk, 1, + block_buf); + if (retval) + return EXT2_ET_BLOCK_BITMAP_WRITE; } skip_this_block_bitmap: blk_itr += block_nbytes << 3; @@ -105,23 +104,21 @@ static errcode_t write_bitmaps(ext2_filsys fs, int do_inode, int do_block) if (!do_inode) continue; - if (csum_flag && ext2fs_bg_flags_test(fs, i, EXT2_BG_INODE_UNINIT) - ) + if (csum_flag && fs->group_desc[i].bg_flags & + EXT2_BG_INODE_UNINIT) goto skip_this_inode_bitmap; - retval = ext2fs_get_inode_bitmap_range2(fs->inode_map, + retval = ext2fs_get_inode_bitmap_range(fs->inode_map, ino_itr, inode_nbytes << 3, inode_buf); if (retval) - goto errout; + return retval; - blk = ext2fs_inode_bitmap_loc(fs, i); + blk = fs->group_desc[i].bg_inode_bitmap; if (blk) { - retval = io_channel_write_blk64(fs->io, blk, 1, + retval = io_channel_write_blk(fs->io, blk, 1, inode_buf); - if (retval) { - retval = EXT2_ET_INODE_BITMAP_WRITE; - goto errout; - } + if (retval) + return EXT2_ET_INODE_BITMAP_WRITE; } skip_this_inode_bitmap: ino_itr += inode_nbytes << 3; @@ -136,12 +133,6 @@ static errcode_t write_bitmaps(ext2_filsys fs, int do_inode, int do_block) ext2fs_free_mem(&inode_buf); } return 0; -errout: - if (inode_buf) - ext2fs_free_mem(&inode_buf); - if (block_buf) - ext2fs_free_mem(&block_buf); - return retval; } static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block) @@ -150,22 +141,19 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block) char *block_bitmap = 0, *inode_bitmap = 0; char *buf; errcode_t retval; - int block_nbytes = EXT2_CLUSTERS_PER_GROUP(fs->super) / 8; + int block_nbytes = EXT2_BLOCKS_PER_GROUP(fs->super) / 8; int inode_nbytes = EXT2_INODES_PER_GROUP(fs->super) / 8; int csum_flag = 0; + int do_image = fs->flags & EXT2_FLAG_IMAGE_FILE; unsigned int cnt; - blk64_t blk; - blk64_t blk_itr = EXT2FS_B2C(fs, fs->super->s_first_data_block); - blk64_t blk_cnt; + blk_t blk; + blk_t blk_itr = fs->super->s_first_data_block; + blk_t blk_cnt; ext2_ino_t ino_itr = 1; ext2_ino_t ino_cnt; EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); - if ((block_nbytes > (int) fs->blocksize) || - (inode_nbytes > (int) fs->blocksize)) - return EXT2_ET_CORRUPT_SUPERBLOCK; - fs->write_bitmaps = ext2fs_write_bitmaps; if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, @@ -183,7 +171,13 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block) retval = ext2fs_allocate_block_bitmap(fs, buf, &fs->block_map); if (retval) goto cleanup; - retval = io_channel_alloc_buf(fs->io, 0, &block_bitmap); + if (do_image) + retval = ext2fs_get_mem(fs->blocksize, &block_bitmap); + else + retval = ext2fs_get_memalign((unsigned) block_nbytes, + fs->blocksize, + &block_bitmap); + if (retval) goto cleanup; } else @@ -196,7 +190,8 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block) retval = ext2fs_allocate_inode_bitmap(fs, buf, &fs->inode_map); if (retval) goto cleanup; - retval = io_channel_alloc_buf(fs->io, 0, &inode_bitmap); + retval = ext2fs_get_mem(do_image ? fs->blocksize : + (unsigned) inode_nbytes, &inode_bitmap); if (retval) goto cleanup; } else @@ -207,14 +202,14 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block) blk = (fs->image_header->offset_inodemap / fs->blocksize); ino_cnt = fs->super->s_inodes_count; while (inode_nbytes > 0) { - retval = io_channel_read_blk64(fs->image_io, blk++, + retval = io_channel_read_blk(fs->image_io, blk++, 1, inode_bitmap); if (retval) goto cleanup; cnt = fs->blocksize << 3; if (cnt > ino_cnt) cnt = ino_cnt; - retval = ext2fs_set_inode_bitmap_range2(fs->inode_map, + retval = ext2fs_set_inode_bitmap_range(fs->inode_map, ino_itr, cnt, inode_bitmap); if (retval) goto cleanup; @@ -224,17 +219,17 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block) } blk = (fs->image_header->offset_blockmap / fs->blocksize); - blk_cnt = (blk64_t)EXT2_CLUSTERS_PER_GROUP(fs->super) * + blk_cnt = EXT2_BLOCKS_PER_GROUP(fs->super) * fs->group_desc_count; while (block_nbytes > 0) { - retval = io_channel_read_blk64(fs->image_io, blk++, + retval = io_channel_read_blk(fs->image_io, blk++, 1, block_bitmap); if (retval) goto cleanup; cnt = fs->blocksize << 3; if (cnt > blk_cnt) cnt = blk_cnt; - retval = ext2fs_set_block_bitmap_range2(fs->block_map, + retval = ext2fs_set_block_bitmap_range(fs->block_map, blk_itr, cnt, block_bitmap); if (retval) goto cleanup; @@ -247,14 +242,14 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block) for (i = 0; i < fs->group_desc_count; i++) { if (block_bitmap) { - blk = ext2fs_block_bitmap_loc(fs, i); - if (csum_flag && - ext2fs_bg_flags_test(fs, i, EXT2_BG_BLOCK_UNINIT) && + blk = fs->group_desc[i].bg_block_bitmap; + if (csum_flag && fs->group_desc[i].bg_flags & + EXT2_BG_BLOCK_UNINIT && ext2fs_group_desc_csum_verify(fs, i)) blk = 0; if (blk) { - retval = io_channel_read_blk64(fs->io, blk, - 1, block_bitmap); + retval = io_channel_read_blk(fs->io, blk, + -block_nbytes, block_bitmap); if (retval) { retval = EXT2_ET_BLOCK_BITMAP_READ; goto cleanup; @@ -262,21 +257,21 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block) } else memset(block_bitmap, 0, block_nbytes); cnt = block_nbytes << 3; - retval = ext2fs_set_block_bitmap_range2(fs->block_map, + retval = ext2fs_set_block_bitmap_range(fs->block_map, blk_itr, cnt, block_bitmap); if (retval) goto cleanup; blk_itr += block_nbytes << 3; } if (inode_bitmap) { - blk = ext2fs_inode_bitmap_loc(fs, i); - if (csum_flag && - ext2fs_bg_flags_test(fs, i, EXT2_BG_INODE_UNINIT) && + blk = fs->group_desc[i].bg_inode_bitmap; + if (csum_flag && fs->group_desc[i].bg_flags & + EXT2_BG_INODE_UNINIT && ext2fs_group_desc_csum_verify(fs, i)) blk = 0; if (blk) { - retval = io_channel_read_blk64(fs->io, blk, - 1, inode_bitmap); + retval = io_channel_read_blk(fs->io, blk, + -inode_nbytes, inode_bitmap); if (retval) { retval = EXT2_ET_INODE_BITMAP_READ; goto cleanup; @@ -284,7 +279,7 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block) } else memset(inode_bitmap, 0, inode_nbytes); cnt = inode_nbytes << 3; - retval = ext2fs_set_inode_bitmap_range2(fs->inode_map, + retval = ext2fs_set_inode_bitmap_range(fs->inode_map, ino_itr, cnt, inode_bitmap); if (retval) goto cleanup; diff --git a/lib/ext2fs/sparse.c b/lib/ext2fs/sparse.c new file mode 100644 index 00000000..63c11f61 --- /dev/null +++ b/lib/ext2fs/sparse.c @@ -0,0 +1,78 @@ +/* + * sparse.c --- find the groups in an ext2 filesystem with metadata backups + * + * Copyright (C) 1993, 1994, 1995, 1996 Theodore Ts'o. + * Copyright (C) 2002 Andreas Dilger. + * + * %Begin-Header% + * This file may be redistributed under the terms of the GNU Library + * General Public License, version 2. + * %End-Header% + */ + +#include + +#include "ext2_fs.h" +#include "ext2fsP.h" + +static int test_root(int a, int b) +{ + if (a == 0) + return 1; + while (1) { + if (a == 1) + return 1; + if (a % b) + return 0; + a = a / b; + } +} + +int ext2fs_bg_has_super(ext2_filsys fs, int group_block) +{ + if (!(fs->super->s_feature_ro_compat & + EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER)) + return 1; + + if (test_root(group_block, 3) || (test_root(group_block, 5)) || + test_root(group_block, 7)) + return 1; + + return 0; +} + +/* + * Iterate through the groups which hold BACKUP superblock/GDT copies in an + * ext3 filesystem. The counters should be initialized to 1, 5, and 7 before + * calling this for the first time. In a sparse filesystem it will be the + * sequence of powers of 3, 5, and 7: 1, 3, 5, 7, 9, 25, 27, 49, 81, ... + * For a non-sparse filesystem it will be every group: 1, 2, 3, 4, ... + */ +unsigned int ext2fs_list_backups(ext2_filsys fs, unsigned int *three, + unsigned int *five, unsigned int *seven) +{ + unsigned int *min = three; + int mult = 3; + unsigned int ret; + + if (!(fs->super->s_feature_ro_compat & + EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER)) { + ret = *min; + *min += 1; + return ret; + } + + if (*five < *min) { + min = five; + mult = 5; + } + if (*seven < *min) { + min = seven; + mult = 7; + } + + ret = *min; + *min *= mult; + + return ret; +} diff --git a/lib/ext2fs/swapfs.c b/lib/ext2fs/swapfs.c index 46d60ef4..12427e0a 100644 --- a/lib/ext2fs/swapfs.c +++ b/lib/ext2fs/swapfs.c @@ -31,9 +31,9 @@ void ext2fs_swap_super(struct ext2_super_block * sb) sb->s_free_inodes_count = ext2fs_swab32(sb->s_free_inodes_count); sb->s_first_data_block = ext2fs_swab32(sb->s_first_data_block); sb->s_log_block_size = ext2fs_swab32(sb->s_log_block_size); - sb->s_log_cluster_size = ext2fs_swab32(sb->s_log_cluster_size); + sb->s_log_frag_size = ext2fs_swab32(sb->s_log_frag_size); sb->s_blocks_per_group = ext2fs_swab32(sb->s_blocks_per_group); - sb->s_clusters_per_group = ext2fs_swab32(sb->s_clusters_per_group); + sb->s_frags_per_group = ext2fs_swab32(sb->s_frags_per_group); sb->s_inodes_per_group = ext2fs_swab32(sb->s_inodes_per_group); sb->s_mtime = ext2fs_swab32(sb->s_mtime); sb->s_wtime = ext2fs_swab32(sb->s_wtime); @@ -70,41 +70,32 @@ void ext2fs_swap_super(struct ext2_super_block * sb) sb->s_min_extra_isize = ext2fs_swab16(sb->s_min_extra_isize); sb->s_want_extra_isize = ext2fs_swab16(sb->s_want_extra_isize); sb->s_flags = ext2fs_swab32(sb->s_flags); - sb->s_mmp_update_interval = ext2fs_swab16(sb->s_mmp_update_interval); - sb->s_mmp_block = ext2fs_swab64(sb->s_mmp_block); sb->s_kbytes_written = ext2fs_swab64(sb->s_kbytes_written); sb->s_snapshot_inum = ext2fs_swab32(sb->s_snapshot_inum); sb->s_snapshot_id = ext2fs_swab32(sb->s_snapshot_id); sb->s_snapshot_r_blocks_count = ext2fs_swab64(sb->s_snapshot_r_blocks_count); sb->s_snapshot_list = ext2fs_swab32(sb->s_snapshot_list); - sb->s_usr_quota_inum = ext2fs_swab32(sb->s_usr_quota_inum); - sb->s_grp_quota_inum = ext2fs_swab32(sb->s_grp_quota_inum); - sb->s_overhead_blocks = ext2fs_swab32(sb->s_overhead_blocks); - sb->s_checksum = ext2fs_swab32(sb->s_checksum); for (i=0; i < 4; i++) sb->s_hash_seed[i] = ext2fs_swab32(sb->s_hash_seed[i]); /* if journal backup is for a valid extent-based journal... */ - if (ext2fs_extent_header_verify(sb->s_jnl_blocks, - sizeof(sb->s_jnl_blocks)) == 0) { - /* ... swap only the journal i_size and i_size_high, - * and the extent data is not swapped on read */ - i = 15; - } else { - /* direct/indirect journal: swap it all */ - i = 0; + if (!ext2fs_extent_header_verify(sb->s_jnl_blocks, + sizeof(sb->s_jnl_blocks))) { + /* ... swap only the journal i_size */ + sb->s_jnl_blocks[16] = ext2fs_swab32(sb->s_jnl_blocks[16]); + /* and the extent data is not swapped on read */ + return; } - for (; i < 17; i++) + + /* direct/indirect journal: swap it all */ + for (i=0; i < 17; i++) sb->s_jnl_blocks[i] = ext2fs_swab32(sb->s_jnl_blocks[i]); } -void ext2fs_swap_group_desc2(ext2_filsys fs, struct ext2_group_desc *gdp) +void ext2fs_swap_group_desc(struct ext2_group_desc *gdp) { - struct ext4_group_desc *gdp4 = (struct ext4_group_desc *)gdp; - - /* Do the 32-bit parts first */ gdp->bg_block_bitmap = ext2fs_swab32(gdp->bg_block_bitmap); gdp->bg_inode_bitmap = ext2fs_swab32(gdp->bg_inode_bitmap); gdp->bg_inode_table = ext2fs_swab32(gdp->bg_inode_table); @@ -112,41 +103,10 @@ void ext2fs_swap_group_desc2(ext2_filsys fs, struct ext2_group_desc *gdp) gdp->bg_free_inodes_count = ext2fs_swab16(gdp->bg_free_inodes_count); gdp->bg_used_dirs_count = ext2fs_swab16(gdp->bg_used_dirs_count); gdp->bg_flags = ext2fs_swab16(gdp->bg_flags); - gdp->bg_exclude_bitmap_lo = ext2fs_swab32(gdp->bg_exclude_bitmap_lo); - gdp->bg_block_bitmap_csum_lo = - ext2fs_swab16(gdp->bg_block_bitmap_csum_lo); - gdp->bg_inode_bitmap_csum_lo = - ext2fs_swab16(gdp->bg_inode_bitmap_csum_lo); gdp->bg_itable_unused = ext2fs_swab16(gdp->bg_itable_unused); gdp->bg_checksum = ext2fs_swab16(gdp->bg_checksum); - /* If we're 32-bit, we're done */ - if (fs == NULL || EXT2_DESC_SIZE(fs->super) < EXT2_MIN_DESC_SIZE_64BIT) - return; - - /* Swap the 64-bit parts */ - gdp4->bg_block_bitmap_hi = ext2fs_swab32(gdp4->bg_block_bitmap_hi); - gdp4->bg_inode_bitmap_hi = ext2fs_swab32(gdp4->bg_inode_bitmap_hi); - gdp4->bg_inode_table_hi = ext2fs_swab32(gdp4->bg_inode_table_hi); - gdp4->bg_free_blocks_count_hi = - ext2fs_swab16(gdp4->bg_free_blocks_count_hi); - gdp4->bg_free_inodes_count_hi = - ext2fs_swab16(gdp4->bg_free_inodes_count_hi); - gdp4->bg_used_dirs_count_hi = - ext2fs_swab16(gdp4->bg_used_dirs_count_hi); - gdp4->bg_itable_unused_hi = ext2fs_swab16(gdp4->bg_itable_unused_hi); - gdp4->bg_exclude_bitmap_hi = ext2fs_swab16(gdp4->bg_exclude_bitmap_hi); - gdp4->bg_block_bitmap_csum_hi = - ext2fs_swab16(gdp4->bg_block_bitmap_csum_hi); - gdp4->bg_inode_bitmap_csum_hi = - ext2fs_swab16(gdp4->bg_inode_bitmap_csum_hi); -} - -void ext2fs_swap_group_desc(struct ext2_group_desc *gdp) -{ - ext2fs_swap_group_desc2(0, gdp); } - void ext2fs_swap_ext_attr_header(struct ext2_ext_attr_header *to_header, struct ext2_ext_attr_header *from_header) { @@ -258,8 +218,8 @@ void ext2fs_swap_inode_full(ext2_filsys fs, struct ext2_inode_large *t, ext2fs_swab16 (f->osd2.linux2.l_i_uid_high); t->osd2.linux2.l_i_gid_high = ext2fs_swab16 (f->osd2.linux2.l_i_gid_high); - t->osd2.linux2.l_i_checksum_lo = - ext2fs_swab16(f->osd2.linux2.l_i_checksum_lo); + t->osd2.linux2.l_i_reserved2 = + ext2fs_swab32(f->osd2.linux2.l_i_reserved2); break; case EXT2_OS_HURD: t->osd1.hurd1.h_i_translator = @@ -293,21 +253,6 @@ void ext2fs_swap_inode_full(ext2_filsys fs, struct ext2_inode_large *t, return; } - if (extra_isize >= 4) - t->i_checksum_hi = ext2fs_swab16(f->i_checksum_hi); - if (extra_isize >= 8) - t->i_ctime_extra = ext2fs_swab32(f->i_ctime_extra); - if (extra_isize >= 12) - t->i_mtime_extra = ext2fs_swab32(f->i_mtime_extra); - if (extra_isize >= 16) - t->i_atime_extra = ext2fs_swab32(f->i_atime_extra); - if (extra_isize >= 20) - t->i_crtime = ext2fs_swab32(f->i_crtime); - if (extra_isize >= 24) - t->i_crtime_extra = ext2fs_swab32(f->i_crtime_extra); - if (extra_isize >= 28) - t->i_version_hi = ext2fs_swab32(f->i_version_hi); - i = sizeof(struct ext2_inode) + extra_isize + sizeof(__u32); if (bufsize < (int) i) return; /* no space for EA magic */ @@ -341,12 +286,4 @@ void ext2fs_swap_inode(ext2_filsys fs, struct ext2_inode *t, sizeof(struct ext2_inode)); } -void ext2fs_swap_mmp(struct mmp_struct *mmp) -{ - mmp->mmp_magic = ext2fs_swab32(mmp->mmp_magic); - mmp->mmp_seq = ext2fs_swab32(mmp->mmp_seq); - mmp->mmp_time = ext2fs_swab64(mmp->mmp_time); - mmp->mmp_check_interval = ext2fs_swab16(mmp->mmp_check_interval); -} - #endif diff --git a/lib/ext2fs/symlink.c b/lib/ext2fs/symlink.c deleted file mode 100644 index 4478dffe..00000000 --- a/lib/ext2fs/symlink.c +++ /dev/null @@ -1,150 +0,0 @@ -/* - * symlink.c --- make a symlink in the filesystem, based on mkdir.c - * - * Copyright (c) 2012, Intel Corporation. - * All Rights Reserved. - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Library - * General Public License, version 2. - * %End-Header% - */ - -#include -#include -#if HAVE_UNISTD_H -#include -#endif -#include -#include -#if HAVE_SYS_STAT_H -#include -#endif -#if HAVE_SYS_TYPES_H -#include -#endif - -#include "ext2_fs.h" -#include "ext2fs.h" - -errcode_t ext2fs_symlink(ext2_filsys fs, ext2_ino_t parent, ext2_ino_t ino, - const char *name, char *target) -{ - ext2_extent_handle_t handle; - errcode_t retval; - struct ext2_inode inode; - ext2_ino_t scratch_ino; - blk64_t blk; - int fastlink; - unsigned int target_len; - char *block_buf = 0; - - EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS); - - /* The Linux kernel doesn't allow for links longer than a block */ - target_len = strlen(target); - if (target_len > fs->blocksize) { - retval = EXT2_ET_INVALID_ARGUMENT; - goto cleanup; - } - - /* - * Allocate a data block for slow links - */ - fastlink = (target_len < sizeof(inode.i_block)); - if (!fastlink) { - retval = ext2fs_new_block2(fs, 0, 0, &blk); - if (retval) - goto cleanup; - retval = ext2fs_get_mem(fs->blocksize, &block_buf); - if (retval) - goto cleanup; - } - - /* - * Allocate an inode, if necessary - */ - if (!ino) { - retval = ext2fs_new_inode(fs, parent, LINUX_S_IFLNK | 0755, - 0, &ino); - if (retval) - goto cleanup; - } - - /* - * Create the inode structure.... - */ - memset(&inode, 0, sizeof(struct ext2_inode)); - inode.i_mode = LINUX_S_IFLNK | 0777; - inode.i_uid = inode.i_gid = 0; - ext2fs_iblk_set(fs, &inode, fastlink ? 0 : 1); - inode.i_links_count = 1; - inode.i_size = target_len; - /* The time fields are set by ext2fs_write_new_inode() */ - - if (fastlink) { - /* Fast symlinks, target stored in inode */ - strcpy((char *)&inode.i_block, target); - } else { - /* Slow symlinks, target stored in the first block */ - memset(block_buf, 0, fs->blocksize); - strcpy(block_buf, target); - if (fs->super->s_feature_incompat & - EXT3_FEATURE_INCOMPAT_EXTENTS) { - /* - * The extent bmap is setup after the inode and block - * have been written out below. - */ - inode.i_flags |= EXT4_EXTENTS_FL; - } - } - - /* - * Write out the inode and inode data block. The inode generation - * number is assigned by write_new_inode, which means that the - * operations using ino must come after it. - */ - retval = ext2fs_write_new_inode(fs, ino, &inode); - if (retval) - goto cleanup; - - if (!fastlink) { - retval = ext2fs_bmap2(fs, ino, &inode, NULL, BMAP_SET, 0, NULL, - &blk); - if (retval) - goto cleanup; - - retval = io_channel_write_blk64(fs->io, blk, 1, block_buf); - if (retval) - goto cleanup; - } - - /* - * Link the symlink into the filesystem hierarchy - */ - if (name) { - retval = ext2fs_lookup(fs, parent, name, strlen(name), 0, - &scratch_ino); - if (!retval) { - retval = EXT2_ET_FILE_EXISTS; - goto cleanup; - } - if (retval != EXT2_ET_FILE_NOT_FOUND) - goto cleanup; - retval = ext2fs_link(fs, parent, name, ino, EXT2_FT_SYMLINK); - if (retval) - goto cleanup; - } - - /* - * Update accounting.... - */ - if (!fastlink) - ext2fs_block_alloc_stats2(fs, blk, +1); - ext2fs_inode_alloc_stats2(fs, ino, +1, 0); - -cleanup: - if (block_buf) - ext2fs_free_mem(&block_buf); - return retval; -} diff --git a/lib/ext2fs/tdb.c b/lib/ext2fs/tdb.c index 869c4057..0c82a248 100644 --- a/lib/ext2fs/tdb.c +++ b/lib/ext2fs/tdb.c @@ -107,12 +107,14 @@ typedef int bool; #include "tdb.h" -static TDB_DATA tdb_null; - #ifndef u32 #define u32 unsigned #endif +#ifndef HAVE_GETPAGESIZE +#define getpagesize() 0x2000 +#endif + typedef u32 tdb_len_t; typedef u32 tdb_off_t; @@ -1747,7 +1749,7 @@ static int transaction_sync(struct tdb_context *tdb, tdb_off_t offset, tdb_len_t TDB_LOG((tdb, TDB_DEBUG_FATAL, "tdb_transaction: fsync failed\n")); return -1; } -#if defined(HAVE_MSYNC) && defined(MS_SYNC) +#ifdef MS_SYNC if (tdb->map_ptr) { tdb_off_t moffset = offset & ~(tdb->page_size-1); if (msync(moffset + (char *)tdb->map_ptr, @@ -3055,6 +3057,8 @@ int tdb_printfreelist(struct tdb_context *tdb) /* file: tdb.c */ +TDB_DATA tdb_null; + /* non-blocking increment of the tdb sequence number if the tdb has been opened using the TDB_SEQNUM flag @@ -3706,17 +3710,17 @@ void tdb_enable_seqnum(struct tdb_context *tdb) static struct tdb_context *tdbs = NULL; -/* This is from a hash algorithm suggested by Rogier Wolff */ +/* This is based on the hash algorithm from gdbm */ static unsigned int default_tdb_hash(TDB_DATA *key) { u32 value; /* Used to compute the hash value. */ u32 i; /* Used to cycle through random values. */ /* Set the initial value from the key size. */ - for (value = 0, i=0; i < key->dsize; i++) - value = value * 256 + key->dptr[i] + (value >> 24) * 241; + for (value = 0x238F13AF * key->dsize, i=0; i < key->dsize; i++) + value = (value + (key->dptr[i] << (i*5 % 24))); - return value; + return (1103515243 * value + 12345); } @@ -3834,7 +3838,7 @@ struct tdb_context *tdb_open_ex(const char *name, int hash_size, int tdb_flags, tdb->hash_fn = hash_fn ? hash_fn : default_tdb_hash; /* cache the page size */ - tdb->page_size = sysconf(_SC_PAGESIZE); + tdb->page_size = getpagesize(); if (tdb->page_size <= 0) { tdb->page_size = 0x2000; } diff --git a/lib/ext2fs/tdb.h b/lib/ext2fs/tdb.h index 732ef0ec..bfcd9436 100644 --- a/lib/ext2fs/tdb.h +++ b/lib/ext2fs/tdb.h @@ -206,6 +206,8 @@ void tdb_dump_all(struct tdb_context *tdb); int tdb_printfreelist(struct tdb_context *tdb); int tdb_validate_freelist(struct tdb_context *tdb, int *pnum_entries); +extern TDB_DATA tdb_null; + #ifdef __cplusplus } #endif diff --git a/lib/ext2fs/test_io.c b/lib/ext2fs/test_io.c index d79c6d58..8d887a86 100644 --- a/lib/ext2fs/test_io.c +++ b/lib/ext2fs/test_io.c @@ -9,12 +9,6 @@ * %End-Header% */ -#if HAVE_SECURE_GETENV -#define _GNU_SOURCE -#endif -#if HAVE_SECURE_GETENV -#define _GNU_SOURCE -#endif #include #include #if HAVE_UNISTD_H @@ -79,8 +73,7 @@ static errcode_t test_write_byte(io_channel channel, unsigned long offset, static errcode_t test_set_option(io_channel channel, const char *option, const char *arg); static errcode_t test_get_stats(io_channel channel, io_stats *stats); -static errcode_t test_discard(io_channel channel, unsigned long long block, - unsigned long long count); + static struct struct_io_manager struct_test_manager = { EXT2_ET_MAGIC_IO_MANAGER, @@ -96,7 +89,6 @@ static struct struct_io_manager struct_test_manager = { test_get_stats, test_read_blk64, test_write_blk64, - test_discard, }; io_manager test_io_manager = &struct_test_manager; @@ -128,7 +120,6 @@ void (*test_io_cb_write_byte) #define TEST_FLAG_FLUSH 0x08 #define TEST_FLAG_DUMP 0x10 #define TEST_FLAG_SET_OPTION 0x20 -#define TEST_FLAG_DISCARD 0x40 static void test_dump_block(io_channel channel, struct test_private_data *data, @@ -178,9 +169,7 @@ static char *safe_getenv(const char *arg) #endif #endif -#if defined(HAVE_SECURE_GETENV) - return secure_getenv(arg); -#elif defined(HAVE___SECURE_GETENV) +#ifdef HAVE___SECURE_GETENV return __secure_getenv(arg); #else return getenv(arg); @@ -198,12 +187,14 @@ static errcode_t test_open(const char *name, int flags, io_channel *channel) return EXT2_ET_BAD_DEVICE_NAME; retval = ext2fs_get_mem(sizeof(struct struct_io_channel), &io); if (retval) - goto cleanup; + return retval; memset(io, 0, sizeof(struct struct_io_channel)); io->magic = EXT2_ET_MAGIC_IO_CHANNEL; retval = ext2fs_get_mem(sizeof(struct test_private_data), &data); - if (retval) + if (retval) { + retval = EXT2_ET_NO_MEMORY; goto cleanup; + } io->manager = test_io_manager; retval = ext2fs_get_mem(strlen(name)+1, &io->name); if (retval) @@ -254,9 +245,6 @@ static errcode_t test_open(const char *name, int flags, io_channel *channel) if ((value = safe_getenv("TEST_IO_WRITE_ABORT")) != NULL) data->write_abort_count = strtoul(value, NULL, 0); - if (data->real) - io->align = data->real->align; - *channel = io; return 0; @@ -302,10 +290,8 @@ static errcode_t test_set_blksize(io_channel channel, int blksize) data = (struct test_private_data *) channel->private_data; EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_TEST_IO_CHANNEL); - if (data->real) { + if (data->real) retval = io_channel_set_blksize(data->real, blksize); - channel->align = data->real->align; - } if (data->set_blksize) data->set_blksize(blksize, retval); if (data->flags & TEST_FLAG_SET_BLKSIZE) @@ -509,22 +495,3 @@ static errcode_t test_get_stats(io_channel channel, io_stats *stats) } return retval; } - -static errcode_t test_discard(io_channel channel, unsigned long long block, - unsigned long long count) -{ - struct test_private_data *data; - errcode_t retval = 0; - - EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL); - data = (struct test_private_data *) channel->private_data; - EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_TEST_IO_CHANNEL); - - if (data->real) - retval = io_channel_discard(data->real, block, count); - if (data->flags & TEST_FLAG_DISCARD) - fprintf(data->outfile, - "Test_io: discard(%llu, %llu) returned %s\n", - block, count, retval ? error_message(retval) : "OK"); - return retval; -} diff --git a/lib/ext2fs/tst_badblocks.c b/lib/ext2fs/tst_badblocks.c index 717b95b9..82090b1c 100644 --- a/lib/ext2fs/tst_badblocks.c +++ b/lib/ext2fs/tst_badblocks.c @@ -227,7 +227,7 @@ int file_test_invalid(badblocks_list bb) fs->super = malloc(SUPERBLOCK_SIZE); memset(fs->super, 0, SUPERBLOCK_SIZE); fs->super->s_first_data_block = 1; - ext2fs_blocks_count_set(fs->super, 100); + fs->super->s_blocks_count = 100; f = tmpfile(); if (!f) { diff --git a/lib/ext2fs/tst_bitmaps.c b/lib/ext2fs/tst_bitmaps.c deleted file mode 100644 index d433e77d..00000000 --- a/lib/ext2fs/tst_bitmaps.c +++ /dev/null @@ -1,652 +0,0 @@ -/* - * tst_bitmaps.c - * - * Copyright (C) 2011 Theodore Ts'o. - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Library - * General Public License, version 2. - * %End-Header% - */ - -#include -#include -#include -#ifdef HAVE_GETOPT_H -#include -#endif -#include -#include -#include -#include -#include -#include "ss/ss.h" - -#include "ext2_fs.h" -#include "ext2fs.h" -#include "ext2fsP.h" - -extern ss_request_table tst_bitmaps_cmds; - -static char subsystem_name[] = "tst_bitmaps"; -static char version[] = "1.0"; - -ext2_filsys test_fs; -int exit_status = 0; - -static int source_file(const char *cmd_file, int sci_idx) -{ - FILE *f; - char buf[256]; - char *cp; - int retval; - int noecho; - - if (strcmp(cmd_file, "-") == 0) - f = stdin; - else { - f = fopen(cmd_file, "r"); - if (!f) { - perror(cmd_file); - exit(1); - } - } - fflush(stdout); - fflush(stderr); - setbuf(stdout, NULL); - setbuf(stderr, NULL); - while (!feof(f)) { - if (fgets(buf, sizeof(buf), f) == NULL) - break; - if (buf[0] == '#') - continue; - noecho = 0; - if (buf[0] == '-') { - noecho = 1; - buf[0] = ' '; - } - cp = strchr(buf, '\n'); - if (cp) - *cp = 0; - cp = strchr(buf, '\r'); - if (cp) - *cp = 0; - if (!noecho) - printf("%s: %s\n", subsystem_name, buf); - retval = ss_execute_line(sci_idx, buf); - if (retval) { - ss_perror(sci_idx, retval, buf); - exit_status++; - } - } - return exit_status; -} - - -/* - * This function resets the libc getopt() function, which keeps - * internal state. Bad design! Stupid libc API designers! No - * biscuit! - * - * BSD-derived getopt() functions require that optind be reset to 1 in - * order to reset getopt() state. This used to be generally accepted - * way of resetting getopt(). However, glibc's getopt() - * has additional getopt() state beyond optind, and requires that - * optind be set zero to reset its state. So the unfortunate state of - * affairs is that BSD-derived versions of getopt() misbehave if - * optind is set to 0 in order to reset getopt(), and glibc's getopt() - * will core dump if optind is set 1 in order to reset getopt(). - * - * More modern versions of BSD require that optreset be set to 1 in - * order to reset getopt(). Sigh. Standards, anyone? - * - * We hide the hair here. - */ -void reset_getopt(void) -{ -#if defined(__GLIBC__) || defined(__linux__) - optind = 0; -#else - optind = 1; -#endif -#ifdef HAVE_OPTRESET - optreset = 1; /* Makes BSD getopt happy */ -#endif -} - -/* - * This function will convert a string to an unsigned long, printing - * an error message if it fails, and returning success or failure in err. - */ -unsigned long parse_ulong(const char *str, const char *cmd, - const char *descr, int *err) -{ - char *tmp; - unsigned long ret; - - ret = strtoul(str, &tmp, 0); - if (*tmp == 0) { - if (err) - *err = 0; - return ret; - } - com_err(cmd, 0, "Bad %s - %s", descr, str); - if (err) - *err = 1; - else - exit(1); - return 0; -} - - -int check_fs_open(char *name) -{ - if (!test_fs) { - com_err(name, 0, "Filesystem not open"); - return 1; - } - return 0; -} - -static void setup_filesystem(const char *name, - unsigned int blocks, unsigned int inodes, - unsigned int type, int flags) -{ - struct ext2_super_block param; - errcode_t retval; - - memset(¶m, 0, sizeof(param)); - ext2fs_blocks_count_set(¶m, blocks); - param.s_inodes_count = inodes; - - retval = ext2fs_initialize("test fs", flags, ¶m, - test_io_manager, &test_fs); - - if (retval) { - com_err(name, retval, "while initializing filesystem"); - return; - } - test_fs->default_bitmap_type = type; - ext2fs_free_block_bitmap(test_fs->block_map); - test_fs->block_map = 0; - ext2fs_free_inode_bitmap(test_fs->inode_map); - test_fs->inode_map = 0; - retval = ext2fs_allocate_block_bitmap(test_fs, "block bitmap", - &test_fs->block_map); - if (retval) { - com_err(name, retval, "while allocating block bitmap"); - goto errout; - } - retval = ext2fs_allocate_inode_bitmap(test_fs, "inode bitmap", - &test_fs->inode_map); - if (retval) { - com_err(name, retval, "while allocating inode bitmap"); - goto errout; - } - return; - -errout: - ext2fs_close(test_fs); - test_fs = 0; -} - -void setup_cmd(int argc, char **argv) -{ - int c, err; - unsigned int blocks = 128; - unsigned int inodes = 0; - unsigned int type = EXT2FS_BMAP64_BITARRAY; - int flags = EXT2_FLAG_64BITS; - - if (test_fs) { - ext2fs_close(test_fs); - test_fs = 0; - } - - reset_getopt(); - while ((c = getopt(argc, argv, "b:i:lt:")) != EOF) { - switch (c) { - case 'b': - blocks = parse_ulong(optarg, argv[0], - "number of blocks", &err); - if (err) - return; - break; - case 'i': - inodes = parse_ulong(optarg, argv[0], - "number of blocks", &err); - if (err) - return; - break; - case 'l': /* Legacy bitmaps */ - flags = 0; - break; - case 't': - type = parse_ulong(optarg, argv[0], - "bitmap backend type", &err); - if (err) - return; - break; - default: - fprintf(stderr, "%s: usage: setup [-b blocks] " - "[-i inodes] [-t type]\n", argv[0]); - return; - } - } - setup_filesystem(argv[0], blocks, inodes, type, flags); -} - -void close_cmd(int argc, char **argv) -{ - if (check_fs_open(argv[0])) - return; - - ext2fs_close(test_fs); - test_fs = 0; -} - - -void dump_bitmap(ext2fs_generic_bitmap bmap, unsigned int start, unsigned num) -{ - unsigned char *buf; - errcode_t retval; - int i, len = (num - start + 7) / 8; - - buf = malloc(len); - if (!buf) { - com_err("dump_bitmap", 0, "couldn't allocate buffer"); - return; - } - memset(buf, 0, len); - retval = ext2fs_get_generic_bmap_range(bmap, (__u64) start, num, buf); - if (retval) { - com_err("dump_bitmap", retval, - "while calling ext2fs_generic_bmap_range"); - free(buf); - return; - } - for (i=0; i < len; i++) - printf("%02x", buf[i]); - printf("\n"); - printf("bits set: %u\n", ext2fs_bitcount(buf, len)); - free(buf); -} - -void dump_inode_bitmap_cmd(int argc, char **argv) -{ - if (check_fs_open(argv[0])) - return; - - printf("inode bitmap: "); - dump_bitmap(test_fs->inode_map, 1, test_fs->super->s_inodes_count); -} - -void dump_block_bitmap_cmd(int argc, char **argv) -{ - if (check_fs_open(argv[0])) - return; - - printf("block bitmap: "); - dump_bitmap(test_fs->block_map, test_fs->super->s_first_data_block, - test_fs->super->s_blocks_count); -} - -void do_setb(int argc, char *argv[]) -{ - unsigned int block, num; - int err; - int test_result, op_result; - - if (check_fs_open(argv[0])) - return; - - if (argc != 2 && argc != 3) { - com_err(argv[0], 0, "Usage: setb [num]"); - return; - } - - block = parse_ulong(argv[1], argv[0], "block", &err); - if (err) - return; - - if (argc == 3) { - num = parse_ulong(argv[2], argv[0], "num", &err); - if (err) - return; - - ext2fs_mark_block_bitmap_range2(test_fs->block_map, - block, num); - printf("Marking blocks %u to %u\n", block, block + num - 1); - return; - } - - test_result = ext2fs_test_block_bitmap2(test_fs->block_map, block); - op_result = ext2fs_mark_block_bitmap2(test_fs->block_map, block); - printf("Setting block %u, was %s before\n", block, op_result ? - "set" : "clear"); - if (!test_result != !op_result) - com_err(argv[0], 0, "*ERROR* test_result different! (%d, %d)", - test_result, op_result); -} - -void do_clearb(int argc, char *argv[]) -{ - unsigned int block, num; - int err; - int test_result, op_result; - - if (check_fs_open(argv[0])) - return; - - if (argc != 2 && argc != 3) { - com_err(argv[0], 0, "Usage: clearb [num]"); - return; - } - - block = parse_ulong(argv[1], argv[0], "block", &err); - if (err) - return; - - if (argc == 3) { - num = parse_ulong(argv[2], argv[0], "num", &err); - if (err) - return; - - ext2fs_unmark_block_bitmap_range2(test_fs->block_map, - block, num); - printf("Clearing blocks %u to %u\n", block, block + num - 1); - return; - } - - test_result = ext2fs_test_block_bitmap2(test_fs->block_map, block); - op_result = ext2fs_unmark_block_bitmap2(test_fs->block_map, block); - printf("Clearing block %u, was %s before\n", block, op_result ? - "set" : "clear"); - if (!test_result != !op_result) - com_err(argv[0], 0, "*ERROR* test_result different! (%d, %d)", - test_result, op_result); -} - -void do_testb(int argc, char *argv[]) -{ - unsigned int block, num; - int err; - int test_result; - - if (check_fs_open(argv[0])) - return; - - if (argc != 2 && argc != 3) { - com_err(argv[0], 0, "Usage: testb [num]"); - return; - } - - block = parse_ulong(argv[1], argv[0], "block", &err); - if (err) - return; - - if (argc == 3) { - num = parse_ulong(argv[2], argv[0], "num", &err); - if (err) - return; - - test_result = - ext2fs_test_block_bitmap_range2(test_fs->block_map, - block, num); - printf("Blocks %u to %u are %sall clear.\n", - block, block + num - 1, test_result ? "" : "NOT "); - return; - } - - test_result = ext2fs_test_block_bitmap2(test_fs->block_map, block); - printf("Block %u is %s\n", block, test_result ? "set" : "clear"); -} - -void do_ffzb(int argc, char *argv[]) -{ - unsigned int start, end; - int err; - errcode_t retval; - blk64_t out; - - if (check_fs_open(argv[0])) - return; - - if (argc != 3 && argc != 3) { - com_err(argv[0], 0, "Usage: ffzb "); - return; - } - - start = parse_ulong(argv[1], argv[0], "start", &err); - if (err) - return; - - end = parse_ulong(argv[2], argv[0], "end", &err); - if (err) - return; - - retval = ext2fs_find_first_zero_block_bitmap2(test_fs->block_map, - start, end, &out); - if (retval) { - printf("ext2fs_find_first_zero_block_bitmap2() returned %s\n", - error_message(retval)); - return; - } - printf("First unmarked block is %llu\n", out); -} - - -void do_zerob(int argc, char *argv[]) -{ - if (check_fs_open(argv[0])) - return; - - printf("Clearing block bitmap.\n"); - ext2fs_clear_block_bitmap(test_fs->block_map); -} - -void do_seti(int argc, char *argv[]) -{ - unsigned int inode; - int err; - int test_result, op_result; - - if (check_fs_open(argv[0])) - return; - - if (argc != 2) { - com_err(argv[0], 0, "Usage: seti "); - return; - } - - inode = parse_ulong(argv[1], argv[0], "inode", &err); - if (err) - return; - - test_result = ext2fs_test_inode_bitmap2(test_fs->inode_map, inode); - op_result = ext2fs_mark_inode_bitmap2(test_fs->inode_map, inode); - printf("Setting inode %u, was %s before\n", inode, op_result ? - "set" : "clear"); - if (!test_result != !op_result) { - com_err(argv[0], 0, "*ERROR* test_result different! (%d, %d)", - test_result, op_result); - exit_status++; - } -} - -void do_cleari(int argc, char *argv[]) -{ - unsigned int inode; - int err; - int test_result, op_result; - - if (check_fs_open(argv[0])) - return; - - if (argc != 2) { - com_err(argv[0], 0, "Usage: clearb "); - return; - } - - inode = parse_ulong(argv[1], argv[0], "inode", &err); - if (err) - return; - - test_result = ext2fs_test_inode_bitmap2(test_fs->inode_map, inode); - op_result = ext2fs_unmark_inode_bitmap2(test_fs->inode_map, inode); - printf("Clearing inode %u, was %s before\n", inode, op_result ? - "set" : "clear"); - if (!test_result != !op_result) { - com_err(argv[0], 0, "*ERROR* test_result different! (%d, %d)", - test_result, op_result); - exit_status++; - } -} - -void do_testi(int argc, char *argv[]) -{ - unsigned int inode; - int err; - int test_result; - - if (check_fs_open(argv[0])) - return; - - if (argc != 2) { - com_err(argv[0], 0, "Usage: testb "); - return; - } - - inode = parse_ulong(argv[1], argv[0], "inode", &err); - if (err) - return; - - test_result = ext2fs_test_inode_bitmap2(test_fs->inode_map, inode); - printf("Inode %u is %s\n", inode, test_result ? "set" : "clear"); -} - -void do_ffzi(int argc, char *argv[]) -{ - unsigned int start, end; - int err; - errcode_t retval; - ext2_ino_t out; - - if (check_fs_open(argv[0])) - return; - - if (argc != 3 && argc != 3) { - com_err(argv[0], 0, "Usage: ffzi "); - return; - } - - start = parse_ulong(argv[1], argv[0], "start", &err); - if (err) - return; - - end = parse_ulong(argv[2], argv[0], "end", &err); - if (err) - return; - - retval = ext2fs_find_first_zero_inode_bitmap2(test_fs->inode_map, - start, end, &out); - if (retval) { - printf("ext2fs_find_first_zero_inode_bitmap2() returned %s\n", - error_message(retval)); - return; - } - printf("First unmarked inode is %u\n", out); -} - - -void do_zeroi(int argc, char *argv[]) -{ - if (check_fs_open(argv[0])) - return; - - printf("Clearing inode bitmap.\n"); - ext2fs_clear_inode_bitmap(test_fs->inode_map); -} - -int main(int argc, char **argv) -{ - unsigned int blocks = 128; - unsigned int inodes = 0; - unsigned int type = EXT2FS_BMAP64_BITARRAY; - int c, err, code; - char *request = (char *)NULL; - char *cmd_file = 0; - int sci_idx; - int flags = EXT2_FLAG_64BITS; - - add_error_table(&et_ss_error_table); - add_error_table(&et_ext2_error_table); - while ((c = getopt (argc, argv, "b:i:lt:R:f:")) != EOF) { - switch (c) { - case 'b': - blocks = parse_ulong(optarg, argv[0], - "number of blocks", &err); - if (err) - exit(1); - break; - case 'i': - inodes = parse_ulong(optarg, argv[0], - "number of blocks", &err); - if (err) - exit(1); - break; - case 'l': /* Legacy bitmaps */ - flags = 0; - break; - case 't': - type = parse_ulong(optarg, argv[0], - "bitmap backend type", &err); - if (err) - exit(1); - break; - case 'R': - request = optarg; - break; - case 'f': - cmd_file = optarg; - break; - default: - com_err(argv[0], 0, "Usage: %s [-R request] " - "[-f cmd_file]", subsystem_name); - exit(1); - } - } - - sci_idx = ss_create_invocation(subsystem_name, version, - (char *)NULL, &tst_bitmaps_cmds, &code); - if (code) { - ss_perror(sci_idx, code, "creating invocation"); - exit(1); - } - - (void) ss_add_request_table (sci_idx, &ss_std_requests, 1, &code); - if (code) { - ss_perror(sci_idx, code, "adding standard requests"); - exit (1); - } - - printf("%s %s. Type '?' for a list of commands.\n\n", - subsystem_name, version); - - setup_filesystem(argv[0], blocks, inodes, type, flags); - - if (request) { - code = ss_execute_line(sci_idx, request); - if (code) { - ss_perror(sci_idx, code, request); - exit_status++; - } - } else if (cmd_file) { - exit_status = source_file(cmd_file, sci_idx); - } else { - ss_listen(sci_idx); - } - - exit(exit_status); -} - diff --git a/lib/ext2fs/tst_bitmaps_cmd.ct b/lib/ext2fs/tst_bitmaps_cmd.ct deleted file mode 100644 index 1e1e5d34..00000000 --- a/lib/ext2fs/tst_bitmaps_cmd.ct +++ /dev/null @@ -1,45 +0,0 @@ -command_table tst_bitmaps_cmds; - -request setup_cmd, "Setup file system", - setup; - -request close_cmd, "Close file system", - close; - -request dump_inode_bitmap_cmd, "Dump the inode bitmap", - dump_inode_bitmap, dump_ib; - -request dump_block_bitmap_cmd, "Dump the block bitmap", - dump_block_bitmap, dump_bb; - -request do_setb, "Set block", - set_block, setb; - -request do_clearb, "Clear block", - clear_block, clearb; - -request do_testb, "Test block", - test_block, testb; - -request do_ffzb, "Find first zero block", - find_first_zero_block, ffzb; - -request do_zerob, "Clear block bitmap", - clear_block_bitmap, zerob; - -request do_seti, "Set inode", - set_inode, seti; - -request do_cleari, "Clear inode", - clear_inode, cleari; - -request do_testi, "Test inode", - test_inode, testi; - -request do_ffzi, "Find first zero inode", - find_first_zero_inode, ffzi; - -request do_zeroi, "Clear inode bitmap", - clear_inode_bitmap, zeroi; - -end; diff --git a/lib/ext2fs/tst_bitmaps_cmds b/lib/ext2fs/tst_bitmaps_cmds deleted file mode 100644 index 31e2a600..00000000 --- a/lib/ext2fs/tst_bitmaps_cmds +++ /dev/null @@ -1,99 +0,0 @@ -setb 12 -setb 12 -clearb 12 -clearb 12 -setb 12 -setb 14 -setb 16 -testb 13 -testb 15 -testb 12 -testb 14 -setb 13 -setb 15 -testb 12 -testb 11 -testb 15 -testb 16 -dump_bb -ffzb 11 16 -ffzb 12 16 -ffzb 12 20 -clearb 13 -ffzb 12 20 -setb 13 -clearb 12 7 -testb 12 7 -setb 15 -testb 12 7 -clearb 15 -testb 12 7 -setb 12 7 -dump_bb -seti 2 -seti 5 -seti 4 -seti 3 -seti 4 -seti 5 -testi 6 -testi 1 -dump_ib -ffzi 1 6 -ffzi 2 5 -ffzi 2 6 -cleari 4 -ffzi 2 6 -zeroi -testi 5 -seti 5 -seti 5 -cleari 5 -cleari 5 -testi 17 -testi 6 -testi 4 -clearb 7 12 -dump_bb -setb 1 -dump_bb -setb 2 -dump_bb -setb 3 -dump_bb -setb 4 -dump_bb -setb 5 -dump_bb -setb 6 -dump_bb -setb 7 -dump_bb -setb 8 -dump_bb -setb 10 -setb 12 -setb 14 -setb 17 -setb 19 -setb 24 -setb 26 -setb 27 -setb 30 -setb 31 -setb 32 -setb 35 -setb 39 -setb 40 -setb 44 -setb 46 -setb 47 -setb 49 -setb 51 -setb 52 -clearb 2 -clearb 3 -clearb 7 -dump_bb -quit - diff --git a/lib/ext2fs/tst_bitmaps_exp b/lib/ext2fs/tst_bitmaps_exp deleted file mode 100644 index 2d62b66d..00000000 --- a/lib/ext2fs/tst_bitmaps_exp +++ /dev/null @@ -1,211 +0,0 @@ -tst_bitmaps 1.0. Type '?' for a list of commands. - -tst_bitmaps: setb 12 -Setting block 12, was clear before -tst_bitmaps: setb 12 -Setting block 12, was set before -tst_bitmaps: clearb 12 -Clearing block 12, was set before -tst_bitmaps: clearb 12 -Clearing block 12, was clear before -tst_bitmaps: setb 12 -Setting block 12, was clear before -tst_bitmaps: setb 14 -Setting block 14, was clear before -tst_bitmaps: setb 16 -Setting block 16, was clear before -tst_bitmaps: testb 13 -Block 13 is clear -tst_bitmaps: testb 15 -Block 15 is clear -tst_bitmaps: testb 12 -Block 12 is set -tst_bitmaps: testb 14 -Block 14 is set -tst_bitmaps: setb 13 -Setting block 13, was clear before -tst_bitmaps: setb 15 -Setting block 15, was clear before -tst_bitmaps: testb 12 -Block 12 is set -tst_bitmaps: testb 11 -Block 11 is clear -tst_bitmaps: testb 15 -Block 15 is set -tst_bitmaps: testb 16 -Block 16 is set -tst_bitmaps: dump_bb -block bitmap: 00f80000000000000000000000000000 -bits set: 5 -tst_bitmaps: ffzb 11 16 -First unmarked block is 11 -tst_bitmaps: ffzb 12 16 -ext2fs_find_first_zero_block_bitmap2() returned No such file or directory -tst_bitmaps: ffzb 12 20 -First unmarked block is 17 -tst_bitmaps: clearb 13 -Clearing block 13, was set before -tst_bitmaps: ffzb 12 20 -First unmarked block is 13 -tst_bitmaps: setb 13 -Setting block 13, was clear before -tst_bitmaps: clearb 12 7 -Clearing blocks 12 to 18 -tst_bitmaps: testb 12 7 -Blocks 12 to 18 are all clear. -tst_bitmaps: setb 15 -Setting block 15, was clear before -tst_bitmaps: testb 12 7 -Blocks 12 to 18 are NOT all clear. -tst_bitmaps: clearb 15 -Clearing block 15, was set before -tst_bitmaps: testb 12 7 -Blocks 12 to 18 are all clear. -tst_bitmaps: setb 12 7 -Marking blocks 12 to 18 -tst_bitmaps: dump_bb -block bitmap: 00f80300000000000000000000000000 -bits set: 7 -tst_bitmaps: seti 2 -Setting inode 2, was clear before -tst_bitmaps: seti 5 -Setting inode 5, was clear before -tst_bitmaps: seti 4 -Setting inode 4, was clear before -tst_bitmaps: seti 3 -Setting inode 3, was clear before -tst_bitmaps: seti 4 -Setting inode 4, was set before -tst_bitmaps: seti 5 -Setting inode 5, was set before -tst_bitmaps: testi 6 -Inode 6 is clear -tst_bitmaps: testi 1 -Inode 1 is clear -tst_bitmaps: dump_ib -inode bitmap: 1e000000 -bits set: 4 -tst_bitmaps: ffzi 1 6 -First unmarked inode is 1 -tst_bitmaps: ffzi 2 5 -ext2fs_find_first_zero_inode_bitmap2() returned No such file or directory -tst_bitmaps: ffzi 2 6 -First unmarked inode is 6 -tst_bitmaps: cleari 4 -Clearing inode 4, was set before -tst_bitmaps: ffzi 2 6 -First unmarked inode is 4 -tst_bitmaps: zeroi -Clearing inode bitmap. -tst_bitmaps: testi 5 -Inode 5 is clear -tst_bitmaps: seti 5 -Setting inode 5, was clear before -tst_bitmaps: seti 5 -Setting inode 5, was set before -tst_bitmaps: cleari 5 -Clearing inode 5, was set before -tst_bitmaps: cleari 5 -Clearing inode 5, was clear before -tst_bitmaps: testi 17 -Inode 17 is clear -tst_bitmaps: testi 6 -Inode 6 is clear -tst_bitmaps: testi 4 -Inode 4 is clear -tst_bitmaps: clearb 7 12 -Clearing blocks 7 to 18 -tst_bitmaps: dump_bb -block bitmap: 00000000000000000000000000000000 -bits set: 0 -tst_bitmaps: setb 1 -Setting block 1, was clear before -tst_bitmaps: dump_bb -block bitmap: 01000000000000000000000000000000 -bits set: 1 -tst_bitmaps: setb 2 -Setting block 2, was clear before -tst_bitmaps: dump_bb -block bitmap: 03000000000000000000000000000000 -bits set: 2 -tst_bitmaps: setb 3 -Setting block 3, was clear before -tst_bitmaps: dump_bb -block bitmap: 07000000000000000000000000000000 -bits set: 3 -tst_bitmaps: setb 4 -Setting block 4, was clear before -tst_bitmaps: dump_bb -block bitmap: 0f000000000000000000000000000000 -bits set: 4 -tst_bitmaps: setb 5 -Setting block 5, was clear before -tst_bitmaps: dump_bb -block bitmap: 1f000000000000000000000000000000 -bits set: 5 -tst_bitmaps: setb 6 -Setting block 6, was clear before -tst_bitmaps: dump_bb -block bitmap: 3f000000000000000000000000000000 -bits set: 6 -tst_bitmaps: setb 7 -Setting block 7, was clear before -tst_bitmaps: dump_bb -block bitmap: 7f000000000000000000000000000000 -bits set: 7 -tst_bitmaps: setb 8 -Setting block 8, was clear before -tst_bitmaps: dump_bb -block bitmap: ff000000000000000000000000000000 -bits set: 8 -tst_bitmaps: setb 10 -Setting block 10, was clear before -tst_bitmaps: setb 12 -Setting block 12, was clear before -tst_bitmaps: setb 14 -Setting block 14, was clear before -tst_bitmaps: setb 17 -Setting block 17, was clear before -tst_bitmaps: setb 19 -Setting block 19, was clear before -tst_bitmaps: setb 24 -Setting block 24, was clear before -tst_bitmaps: setb 26 -Setting block 26, was clear before -tst_bitmaps: setb 27 -Setting block 27, was clear before -tst_bitmaps: setb 30 -Setting block 30, was clear before -tst_bitmaps: setb 31 -Setting block 31, was clear before -tst_bitmaps: setb 32 -Setting block 32, was clear before -tst_bitmaps: setb 35 -Setting block 35, was clear before -tst_bitmaps: setb 39 -Setting block 39, was clear before -tst_bitmaps: setb 40 -Setting block 40, was clear before -tst_bitmaps: setb 44 -Setting block 44, was clear before -tst_bitmaps: setb 46 -Setting block 46, was clear before -tst_bitmaps: setb 47 -Setting block 47, was clear before -tst_bitmaps: setb 49 -Setting block 49, was clear before -tst_bitmaps: setb 51 -Setting block 51, was clear before -tst_bitmaps: setb 52 -Setting block 52, was clear before -tst_bitmaps: clearb 2 -Clearing block 2, was set before -tst_bitmaps: clearb 3 -Clearing block 3, was set before -tst_bitmaps: clearb 7 -Clearing block 7, was set before -tst_bitmaps: dump_bb -block bitmap: b92a85e6c4680d000000000000000000 -bits set: 25 -tst_bitmaps: quit -tst_bitmaps: diff --git a/lib/ext2fs/tst_bitops.c b/lib/ext2fs/tst_bitops.c index b64735cd..f57a2e46 100644 --- a/lib/ext2fs/tst_bitops.c +++ b/lib/ext2fs/tst_bitops.c @@ -169,125 +169,5 @@ int main(int argc, char **argv) printf("ext2fs_fast_set_bit big_test successful\n"); - /* Repeat foregoing tests for 64-bit bitops */ - - /* Test test_bit */ - for (i=0,j=0; i < size; i++) { - if (ext2fs_test_bit64(i, bitarray)) { - if (bits_list[j] == i) { - j++; - } else { - printf("64-bit: Bit %d set, not expected\n", - i); - exit(1); - } - } else { - if (bits_list[j] == i) { - printf("64-bit: " - "Expected bit %d to be clear.\n", i); - exit(1); - } - } - } - printf("64-bit: ext2fs_test_bit appears to be correct\n"); - - /* Test ext2fs_set_bit */ - memset(testarray, 0, sizeof(testarray)); - for (i=0; bits_list[i] > 0; i++) { - ext2fs_set_bit64(bits_list[i], testarray); - } - if (memcmp(testarray, bitarray, sizeof(testarray)) == 0) { - printf("64-bit: ext2fs_set_bit test succeeded.\n"); - } else { - printf("64-bit: ext2fs_set_bit test failed.\n"); - for (i=0; i < sizeof(testarray); i++) { - printf("%02x ", testarray[i]); - } - printf("\n"); - exit(1); - } - for (i=0; bits_list[i] > 0; i++) { - ext2fs_clear_bit64(bits_list[i], testarray); - } - for (i=0; i < sizeof(testarray); i++) { - if (testarray[i]) { - printf("64-bit: ext2fs_clear_bit failed, " - "testarray[%d] is %d\n", i, testarray[i]); - exit(1); - } - } - printf("64-bit: ext2fs_clear_bit test succeed.\n"); - - /* Do bigarray test */ - bigarray = malloc(1 << 29); - if (!bigarray) { - fprintf(stderr, "Failed to allocate scratch memory!\n"); - exit(1); - } - - bigarray[BIG_TEST_BIT >> 3] = 0; - - ext2fs_set_bit64(BIG_TEST_BIT, bigarray); - printf("64-bit: big bit number (%u) test: %d, expected %d\n", - BIG_TEST_BIT, bigarray[BIG_TEST_BIT >> 3], - (1 << (BIG_TEST_BIT & 7))); - if (bigarray[BIG_TEST_BIT >> 3] != (1 << (BIG_TEST_BIT & 7))) - exit(1); - - ext2fs_clear_bit64(BIG_TEST_BIT, bigarray); - - printf("64-bit: big bit number (%u) test: %d, expected 0\n", - BIG_TEST_BIT, - bigarray[BIG_TEST_BIT >> 3]); - if (bigarray[BIG_TEST_BIT >> 3] != 0) - exit(1); - - printf("64-bit: ext2fs_set_bit big_test successful\n"); - - /* Now test ext2fs_fast_set_bit */ - memset(testarray, 0, sizeof(testarray)); - for (i=0; bits_list[i] > 0; i++) { - ext2fs_fast_set_bit64(bits_list[i], testarray); - } - if (memcmp(testarray, bitarray, sizeof(testarray)) == 0) { - printf("64-bit: ext2fs_fast_set_bit test succeeded.\n"); - } else { - printf("64-bit: ext2fs_fast_set_bit test failed.\n"); - for (i=0; i < sizeof(testarray); i++) { - printf("%02x ", testarray[i]); - } - printf("\n"); - exit(1); - } - for (i=0; bits_list[i] > 0; i++) { - ext2fs_clear_bit64(bits_list[i], testarray); - } - for (i=0; i < sizeof(testarray); i++) { - if (testarray[i]) { - printf("64-bit: ext2fs_clear_bit failed, " - "testarray[%d] is %d\n", i, testarray[i]); - exit(1); - } - } - printf("64-bit: ext2fs_clear_bit test succeed.\n"); - - bigarray[BIG_TEST_BIT >> 3] = 0; - - ext2fs_fast_set_bit64(BIG_TEST_BIT, bigarray); - printf("64-bit: big bit number (%u) test: %d, expected %d\n", - BIG_TEST_BIT, bigarray[BIG_TEST_BIT >> 3], - (1 << (BIG_TEST_BIT & 7))); - if (bigarray[BIG_TEST_BIT >> 3] != (1 << (BIG_TEST_BIT & 7))) - exit(1); - - ext2fs_fast_clear_bit64(BIG_TEST_BIT, bigarray); - - printf("64-bit: big bit number (%u) test: %d, expected 0\n", - BIG_TEST_BIT, bigarray[BIG_TEST_BIT >> 3]); - if (bigarray[BIG_TEST_BIT >> 3] != 0) - exit(1); - - printf("64-bit: ext2fs_fast_set_bit big_test successful\n"); - exit(0); } diff --git a/lib/ext2fs/tst_fs_struct.c b/lib/ext2fs/tst_fs_struct.c deleted file mode 100644 index 6f44df18..00000000 --- a/lib/ext2fs/tst_fs_struct.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * This testing program checks the offset of the ext2_filsys structure - * - * Copyright (C) 2007 by Theodore Ts'o. - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Library - * General Public License, version 2. - * %End-Header% - */ - -#include -#include -#include - -#include "ext2fs.h" - -struct struct_ext2_filsys fs; - -#ifndef offsetof -#define offsetof(type, member) __builtin_offsetof (type, member) -#endif -#define check_field(x) cur_offset = do_field(#x, sizeof(fs.x), \ - offsetof(struct struct_ext2_filsys, x), \ - cur_offset) - -static int do_field(const char *field, size_t size, int offset, int cur_offset) -{ - if (offset != cur_offset) { - printf("\t(padding %d bytes?)\n", offset - cur_offset); - } - printf("%8d %-30s %3u\n", offset, field, (unsigned) size); - return offset + size; -} - -int main(int argc, char **argv) -{ -#if (__GNUC__ >= 4) - int cur_offset = 0; - - printf("%8s %-30s %3s\n", "offset", "field", "size"); - check_field(magic); - check_field(io); - check_field(flags); - check_field(device_name); - check_field(super); - check_field(blocksize); - check_field(fragsize); - check_field(group_desc_count); - check_field(desc_blocks); - check_field(group_desc); - check_field(inode_blocks_per_group); - check_field(inode_map); - check_field(block_map); - check_field(get_blocks); - check_field(check_directory); - check_field(write_bitmaps); - check_field(read_inode); - check_field(write_inode); - check_field(badblocks); - check_field(dblist); - check_field(stride); - check_field(orig_super); - check_field(image_header); - check_field(umask); - check_field(now); - check_field(cluster_ratio_bits); - check_field(reserved); - check_field(priv_data); - check_field(icache); - check_field(image_io); - check_field(get_alloc_block); - check_field(block_alloc_stats); - check_field(mmp_buf); - check_field(mmp_cmp); - check_field(mmp_fd); - check_field(mmp_last_written); - printf("Ending offset is %d\n\n", cur_offset); -#endif - exit(0); -} diff --git a/lib/ext2fs/tst_inode_size.c b/lib/ext2fs/tst_inode_size.c deleted file mode 100644 index 3f0ab82c..00000000 --- a/lib/ext2fs/tst_inode_size.c +++ /dev/null @@ -1,87 +0,0 @@ -/* - * This testing program makes sure the ext2_inode structure is 1024 bytes long - * - * Copyright (C) 2007 by Theodore Ts'o. - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Library - * General Public License, version 2. - * %End-Header% - */ - -#include -#include -#include - -#include "ext2_fs.h" - -struct ext2_inode_large inode; - -#ifndef offsetof -#define offsetof(type, member) __builtin_offsetof(type, member) -#endif - -#define check_field(x, s) cur_offset = do_field(#x, s, sizeof(inode.x), \ - offsetof(struct ext2_inode_large, x), \ - cur_offset) - -static int do_field(const char *field, unsigned size, unsigned cur_size, - unsigned offset, unsigned cur_offset) -{ - if (size != cur_size) { - printf("error: %s size %u should be %u\n", - field, cur_size, size); - exit(1); - } - if (offset != cur_offset) { - printf("error: %s offset %u should be %u\n", - field, cur_offset, offset); - exit(1); - } - printf("%8d %-30s %3u\n", offset, field, (unsigned) size); - return offset + size; -} - -int main(int argc, char **argv) -{ -#if (__GNUC__ >= 4) - int cur_offset = 0; - - printf("%8s %-30s %3s\n", "offset", "field", "size"); - check_field(i_mode, 2); - check_field(i_uid, 2); - check_field(i_size, 4); - check_field(i_atime, 4); - check_field(i_ctime, 4); - check_field(i_mtime, 4); - check_field(i_dtime, 4); - check_field(i_gid, 2); - check_field(i_links_count, 2); - check_field(i_blocks, 4); - check_field(i_flags, 4); - check_field(osd1.linux1.l_i_version, 4); - check_field(i_block, 15 * 4); - check_field(i_generation, 4); - check_field(i_file_acl, 4); - check_field(i_size_high, 4); - check_field(i_faddr, 4); - check_field(osd2.linux2.l_i_blocks_hi, 2); - check_field(osd2.linux2.l_i_file_acl_high, 2); - check_field(osd2.linux2.l_i_uid_high, 2); - check_field(osd2.linux2.l_i_gid_high, 2); - check_field(osd2.linux2.l_i_checksum_lo, 2); - check_field(osd2.linux2.l_i_reserved, 2); - do_field("Small inode end", 0, 0, cur_offset, 128); - check_field(i_extra_isize, 2); - check_field(i_checksum_hi, 2); - check_field(i_ctime_extra, 4); - check_field(i_mtime_extra, 4); - check_field(i_atime_extra, 4); - check_field(i_crtime, 4); - check_field(i_crtime_extra, 4); - check_field(i_version_hi, 4); - /* This size will change as new fields are added */ - do_field("Large inode end", 0, 0, cur_offset, sizeof(inode)); -#endif - return 0; -} diff --git a/lib/ext2fs/tst_iscan.c b/lib/ext2fs/tst_iscan.c index efeeb772..443b1b45 100644 --- a/lib/ext2fs/tst_iscan.c +++ b/lib/ext2fs/tst_iscan.c @@ -25,7 +25,7 @@ #include "ext2_fs.h" #include "ext2fs.h" -blk64_t test_vec[] = { 8, 12, 24, 34, 43, 44, 100, 0 }; +blk_t test_vec[] = { 8, 12, 24, 34, 43, 44, 100, 0 }; ext2_filsys test_fs; ext2fs_block_bitmap bad_block_map, touched_map; @@ -35,7 +35,7 @@ badblocks_list test_badblocks; int first_no_comma = 1; int failed = 0; -static void iscan_test_read_blk64(unsigned long long block, int count, errcode_t err) +static void test_read_blk(unsigned long block, int count, errcode_t err) { int i; @@ -45,25 +45,20 @@ static void iscan_test_read_blk64(unsigned long long block, int count, errcode_t printf(", "); if (count > 1) - printf("%llu-%llu", block, block+count-1); + printf("%lu-%lu", block, block+count-1); else - printf("%llu", block); + printf("%lu", block); for (i=0; i < count; i++, block++) { - if (ext2fs_test_block_bitmap2(touched_map, block)) { - printf("\nDuplicate block?!? --- %llu\n", block); + if (ext2fs_test_block_bitmap(touched_map, block)) { + printf("\nDuplicate block?!? --- %lu\n", block); failed++; first_no_comma = 1; } - ext2fs_mark_block_bitmap2(touched_map, block); + ext2fs_mark_block_bitmap(touched_map, block); } } -static void iscan_test_read_blk(unsigned long block, int count, errcode_t err) -{ - iscan_test_read_blk64(block, count, err); -} - /* * Setup the variables for doing the inode scan test. */ @@ -76,13 +71,12 @@ static void setup(void) initialize_ext2_error_table(); memset(¶m, 0, sizeof(param)); - ext2fs_blocks_count_set(¶m, 12000); + param.s_blocks_count = 12000; - test_io_cb_read_blk = iscan_test_read_blk; - test_io_cb_read_blk64 = iscan_test_read_blk64; + test_io_cb_read_blk = test_read_blk; - retval = ext2fs_initialize("test fs", EXT2_FLAG_64BITS, ¶m, + retval = ext2fs_initialize("test fs", 0, ¶m, test_io_manager, &test_fs); if (retval) { com_err("setup", retval, @@ -129,7 +123,7 @@ static void setup(void) "while adding test vector %d", i); exit(1); } - ext2fs_mark_block_bitmap2(bad_block_map, test_vec[i]); + ext2fs_mark_block_bitmap(bad_block_map, test_vec[i]); } test_fs->badblocks = test_badblocks; } @@ -158,7 +152,7 @@ static void iterate(void) while (ino) { retval = ext2fs_get_next_inode(scan, &ino, &inode); if (retval == EXT2_ET_BAD_BLOCK_IN_INODE_TABLE) { - ext2fs_mark_inode_bitmap2(bad_inode_map, ino); + ext2fs_mark_inode_bitmap(bad_inode_map, ino); continue; } if (retval) { @@ -177,30 +171,30 @@ static void iterate(void) static void check_map(void) { int i, j, first=1; - blk64_t blk; + unsigned long blk; for (i=0; test_vec[i]; i++) { - if (ext2fs_test_block_bitmap2(touched_map, test_vec[i])) { - printf("Bad block was touched --- %llu\n", test_vec[i]); + if (ext2fs_test_block_bitmap(touched_map, test_vec[i])) { + printf("Bad block was touched --- %u\n", test_vec[i]); failed++; first_no_comma = 1; } - ext2fs_mark_block_bitmap2(touched_map, test_vec[i]); + ext2fs_mark_block_bitmap(touched_map, test_vec[i]); } for (i = 0; i < test_fs->group_desc_count; i++) { - for (j=0, blk = ext2fs_inode_table_loc(test_fs, i); + for (j=0, blk = test_fs->group_desc[i].bg_inode_table; j < test_fs->inode_blocks_per_group; j++, blk++) { - if (!ext2fs_test_block_bitmap2(touched_map, blk) && - !ext2fs_test_block_bitmap2(bad_block_map, blk)) { - printf("Missing block --- %llu\n", blk); + if (!ext2fs_test_block_bitmap(touched_map, blk) && + !ext2fs_test_block_bitmap(bad_block_map, blk)) { + printf("Missing block --- %lu\n", blk); failed++; } } } printf("Bad inodes: "); for (i=1; i <= test_fs->super->s_inodes_count; i++) { - if (ext2fs_test_inode_bitmap2(bad_inode_map, i)) { + if (ext2fs_test_inode_bitmap(bad_inode_map, i)) { if (first) first = 0; else diff --git a/lib/ext2fs/tst_super_size.c b/lib/ext2fs/tst_super_size.c index eef5a630..eb9114f1 100644 --- a/lib/ext2fs/tst_super_size.c +++ b/lib/ext2fs/tst_super_size.c @@ -20,123 +20,123 @@ struct sb_struct sb; -#ifndef offsetof -#define offsetof(type, member) __builtin_offsetof (type, member) -#endif +int verbose = 0; -#define check_field(x, s) cur_offset = do_field(#x, s, sizeof(sb.x), \ - offsetof(struct sb_struct, x), \ - cur_offset) +#define offsetof(type, member) __builtin_offsetof (type, member) +#define check_field(x) cur_offset = do_field(#x, sizeof(sb.x), \ + offsetof(struct sb_struct, x), \ + cur_offset) -static int do_field(const char *field, unsigned size, unsigned cur_size, - unsigned offset, unsigned cur_offset) +static int do_field(const char *field, size_t size, int offset, int cur_offset) { - if (size != cur_size) { - printf("error: %s size %u should be %u\n", - field, cur_size, size); - exit(1); - } if (offset != cur_offset) { - printf("error: %s offset %u should be %u\n", - field, cur_offset, offset); + printf("Warning! Unexpected offset at %s\n", field); exit(1); } - printf("%8d %-30s %3u\n", offset, field, size); + printf("%8d %-30s %3u\n", offset, field, (unsigned) size); return offset + size; } -int main(int argc, char **argv) +void check_superblock_fields() { #if (__GNUC__ >= 4) int cur_offset = 0; printf("%8s %-30s %3s\n", "offset", "field", "size"); - check_field(s_inodes_count, 4); - check_field(s_blocks_count, 4); - check_field(s_r_blocks_count, 4); - check_field(s_free_blocks_count, 4); - check_field(s_free_inodes_count, 4); - check_field(s_first_data_block, 4); - check_field(s_log_block_size, 4); - check_field(s_log_cluster_size, 4); - check_field(s_blocks_per_group, 4); - check_field(s_clusters_per_group, 4); - check_field(s_inodes_per_group, 4); - check_field(s_mtime, 4); - check_field(s_wtime, 4); - check_field(s_mnt_count, 2); - check_field(s_max_mnt_count, 2); - check_field(s_magic, 2); - check_field(s_state, 2); - check_field(s_errors, 2); - check_field(s_minor_rev_level, 2); - check_field(s_lastcheck, 4); - check_field(s_checkinterval, 4); - check_field(s_creator_os, 4); - check_field(s_rev_level, 4); - check_field(s_def_resuid, 2); - check_field(s_def_resgid, 2); - check_field(s_first_ino, 4); - check_field(s_inode_size, 2); - check_field(s_block_group_nr, 2); - check_field(s_feature_compat, 4); - check_field(s_feature_incompat, 4); - check_field(s_feature_ro_compat, 4); - check_field(s_uuid, 16); - check_field(s_volume_name, 16); - check_field(s_last_mounted, 64); - check_field(s_algorithm_usage_bitmap, 4); - check_field(s_prealloc_blocks, 1); - check_field(s_prealloc_dir_blocks, 1); - check_field(s_reserved_gdt_blocks, 2); - check_field(s_journal_uuid, 16); - check_field(s_journal_inum, 4); - check_field(s_journal_dev, 4); - check_field(s_last_orphan, 4); - check_field(s_hash_seed, 4 * 4); - check_field(s_def_hash_version, 1); - check_field(s_jnl_backup_type, 1); - check_field(s_desc_size, 2); - check_field(s_default_mount_opts, 4); - check_field(s_first_meta_bg, 4); - check_field(s_mkfs_time, 4); - check_field(s_jnl_blocks, 17 * 4); - check_field(s_blocks_count_hi, 4); - check_field(s_r_blocks_count_hi, 4); - check_field(s_free_blocks_hi, 4); - check_field(s_min_extra_isize, 2); - check_field(s_want_extra_isize, 2); - check_field(s_flags, 4); - check_field(s_raid_stride, 2); - check_field(s_mmp_update_interval, 2); - check_field(s_mmp_block, 8); - check_field(s_raid_stripe_width, 4); - check_field(s_log_groups_per_flex, 1); - check_field(s_reserved_char_pad, 1); - check_field(s_reserved_pad, 2); - check_field(s_kbytes_written, 8); - check_field(s_snapshot_inum, 4); - check_field(s_snapshot_id, 4); - check_field(s_snapshot_r_blocks_count, 8); - check_field(s_snapshot_list, 4); - check_field(s_error_count, 4); - check_field(s_first_error_time, 4); - check_field(s_first_error_ino, 4); - check_field(s_first_error_block, 8); - check_field(s_first_error_func, 32); - check_field(s_first_error_line, 4); - check_field(s_last_error_time, 4); - check_field(s_last_error_ino, 4); - check_field(s_last_error_line, 4); - check_field(s_last_error_block, 8); - check_field(s_last_error_func, 32); - check_field(s_mount_opts, 64); - check_field(s_usr_quota_inum, 4); - check_field(s_grp_quota_inum, 4); - check_field(s_overhead_blocks, 4); - check_field(s_reserved, 108 * 4); - check_field(s_checksum, 4); - do_field("Superblock end", 0, 0, cur_offset, 1024); + check_field(s_inodes_count); + check_field(s_blocks_count); + check_field(s_r_blocks_count); + check_field(s_free_blocks_count); + check_field(s_free_inodes_count); + check_field(s_first_data_block); + check_field(s_log_block_size); + check_field(s_log_frag_size); + check_field(s_blocks_per_group); + check_field(s_frags_per_group); + check_field(s_inodes_per_group); + check_field(s_mtime); + check_field(s_wtime); + check_field(s_mnt_count); + check_field(s_max_mnt_count); + check_field(s_magic); + check_field(s_state); + check_field(s_errors); + check_field(s_minor_rev_level); + check_field(s_lastcheck); + check_field(s_checkinterval); + check_field(s_creator_os); + check_field(s_rev_level); + check_field(s_def_resuid); + check_field(s_def_resgid); + check_field(s_first_ino); + check_field(s_inode_size); + check_field(s_block_group_nr); + check_field(s_feature_compat); + check_field(s_feature_incompat); + check_field(s_feature_ro_compat); + check_field(s_uuid); + check_field(s_volume_name); + check_field(s_last_mounted); + check_field(s_algorithm_usage_bitmap); + check_field(s_prealloc_blocks); + check_field(s_prealloc_dir_blocks); + check_field(s_reserved_gdt_blocks); + check_field(s_journal_uuid); + check_field(s_journal_inum); + check_field(s_journal_dev); + check_field(s_last_orphan); + check_field(s_hash_seed); + check_field(s_def_hash_version); + check_field(s_jnl_backup_type); + check_field(s_desc_size); + check_field(s_default_mount_opts); + check_field(s_first_meta_bg); + check_field(s_mkfs_time); + check_field(s_jnl_blocks); + check_field(s_blocks_count_hi); + check_field(s_r_blocks_count_hi); + check_field(s_free_blocks_hi); + check_field(s_min_extra_isize); + check_field(s_want_extra_isize); + check_field(s_flags); + check_field(s_raid_stride); + check_field(s_mmp_interval); + check_field(s_mmp_block); + check_field(s_raid_stripe_width); + check_field(s_log_groups_per_flex); + check_field(s_reserved_char_pad); + check_field(s_reserved_pad); + check_field(s_kbytes_written); + check_field(s_snapshot_inum); + check_field(s_snapshot_id); + check_field(s_snapshot_r_blocks_count); + check_field(s_snapshot_list); + check_field(s_error_count); + check_field(s_first_error_time); + check_field(s_first_error_ino); + check_field(s_first_error_block); + check_field(s_first_error_func); + check_field(s_first_error_line); + check_field(s_last_error_time); + check_field(s_last_error_ino); + check_field(s_last_error_line); + check_field(s_last_error_block); + check_field(s_last_error_func); + check_field(s_mount_opts); + check_field(s_reserved); + printf("Ending offset is %d\n\n", cur_offset); #endif - return 0; +} + + +int main(int argc, char **argv) +{ + int s = sizeof(struct sb_struct); + + check_superblock_fields(); + printf("Size of struct %s is %d\n", sb_struct_name, s); + if (s != 1024) { + exit(1); + } + exit(0); } diff --git a/lib/ext2fs/undo_io.c b/lib/ext2fs/undo_io.c index df55abf3..7cf88684 100644 --- a/lib/ext2fs/undo_io.c +++ b/lib/ext2fs/undo_io.c @@ -73,10 +73,6 @@ struct undo_private_data { static errcode_t undo_open(const char *name, int flags, io_channel *channel); static errcode_t undo_close(io_channel channel); static errcode_t undo_set_blksize(io_channel channel, int blksize); -static errcode_t undo_read_blk64(io_channel channel, unsigned long long block, - int count, void *data); -static errcode_t undo_write_blk64(io_channel channel, unsigned long long block, - int count, const void *data); static errcode_t undo_read_blk(io_channel channel, unsigned long block, int count, void *data); static errcode_t undo_write_blk(io_channel channel, unsigned long block, @@ -86,7 +82,6 @@ static errcode_t undo_write_byte(io_channel channel, unsigned long offset, int size, const void *data); static errcode_t undo_set_option(io_channel channel, const char *option, const char *arg); -static errcode_t undo_get_stats(io_channel channel, io_stats *stats); static struct struct_io_manager struct_undo_manager = { EXT2_ET_MAGIC_IO_MANAGER, @@ -98,10 +93,7 @@ static struct struct_io_manager struct_undo_manager = { undo_write_blk, undo_flush, undo_write_byte, - undo_set_option, - undo_get_stats, - undo_read_blk64, - undo_write_blk64, + undo_set_option }; io_manager undo_io_manager = &struct_undo_manager; @@ -148,7 +140,7 @@ static errcode_t write_file_system_identity(io_channel undo_channel, block_size = channel->block_size; io_channel_set_blksize(channel, SUPERBLOCK_OFFSET); - retval = io_channel_read_blk64(channel, 1, -SUPERBLOCK_SIZE, &super); + retval = io_channel_read_blk(channel, 1, -SUPERBLOCK_SIZE, &super); if (retval) goto err_out; @@ -198,17 +190,17 @@ static errcode_t write_block_size(TDB_CONTEXT *tdb, int block_size) } static errcode_t undo_write_tdb(io_channel channel, - unsigned long long block, int count) + unsigned long block, int count) { int size, sz; - unsigned long long block_num, backing_blk_num; + unsigned long block_num, backing_blk_num; errcode_t retval = 0; ext2_loff_t offset; struct undo_private_data *data; TDB_DATA tdb_key, tdb_data; unsigned char *read_ptr; - unsigned long long end_block; + unsigned long end_block; data = (struct undo_private_data *) channel->private_data; @@ -274,7 +266,7 @@ static errcode_t undo_write_tdb(io_channel channel, sz = count / channel->block_size; else sz = -count; - retval = io_channel_read_blk64(data->real, backing_blk_num, + retval = io_channel_read_blk(data->real, backing_blk_num, sz, read_ptr); if (retval) { if (retval != EXT2_ET_SHORT_READ) { @@ -293,7 +285,7 @@ static errcode_t undo_write_tdb(io_channel channel, tdb_data.dptr = read_ptr + ((offset - data->offset) % channel->block_size); #ifdef DEBUG - printf("Printing with key %lld data %x and size %d\n", + printf("Printing with key %ld data %x and size %d\n", block_num, tdb_data.dptr, tdb_data.dsize); @@ -357,7 +349,7 @@ static errcode_t undo_open(const char *name, int flags, io_channel *channel) return EXT2_ET_BAD_DEVICE_NAME; retval = ext2fs_get_mem(sizeof(struct struct_io_channel), &io); if (retval) - goto cleanup; + return retval; memset(io, 0, sizeof(struct struct_io_channel)); io->magic = EXT2_ET_MAGIC_IO_CHANNEL; retval = ext2fs_get_mem(sizeof(struct undo_private_data), &data); @@ -400,14 +392,13 @@ static errcode_t undo_open(const char *name, int flags, io_channel *channel) * setup err handler for read so that we know * when the backing manager fails do short read */ - if (data->real) - undo_err_handler_init(data->real); + undo_err_handler_init(data->real); *channel = io; return 0; cleanup: - if (data && data->real) + if (data->real) io_channel_close(data->real); if (data) ext2fs_free_mem(&data); @@ -464,7 +455,7 @@ static errcode_t undo_set_blksize(io_channel channel, int blksize) return retval; } -static errcode_t undo_read_blk64(io_channel channel, unsigned long long block, +static errcode_t undo_read_blk(io_channel channel, unsigned long block, int count, void *buf) { errcode_t retval = 0; @@ -475,18 +466,12 @@ static errcode_t undo_read_blk64(io_channel channel, unsigned long long block, EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_UNIX_IO_CHANNEL); if (data->real) - retval = io_channel_read_blk64(data->real, block, count, buf); + retval = io_channel_read_blk(data->real, block, count, buf); return retval; } -static errcode_t undo_read_blk(io_channel channel, unsigned long block, - int count, void *buf) -{ - return undo_read_blk64(channel, block, count, buf); -} - -static errcode_t undo_write_blk64(io_channel channel, unsigned long long block, +static errcode_t undo_write_blk(io_channel channel, unsigned long block, int count, const void *buf) { struct undo_private_data *data; @@ -502,17 +487,11 @@ static errcode_t undo_write_blk64(io_channel channel, unsigned long long block, if (retval) return retval; if (data->real) - retval = io_channel_write_blk64(data->real, block, count, buf); + retval = io_channel_write_blk(data->real, block, count, buf); return retval; } -static errcode_t undo_write_blk(io_channel channel, unsigned long block, - int count, const void *buf) -{ - return undo_write_blk64(channel, block, count, buf); -} - static errcode_t undo_write_byte(io_channel channel, unsigned long offset, int size, const void *buf) { @@ -605,18 +584,3 @@ static errcode_t undo_set_option(io_channel channel, const char *option, } return retval; } - -static errcode_t undo_get_stats(io_channel channel, io_stats *stats) -{ - errcode_t retval = 0; - struct undo_private_data *data; - - EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL); - data = (struct undo_private_data *) channel->private_data; - EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_UNIX_IO_CHANNEL); - - if (data->real) - retval = (data->real->manager->get_stats)(data->real, stats); - - return retval; -} diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c index 419564fe..5bf2c925 100644 --- a/lib/ext2fs/unix_io.c +++ b/lib/ext2fs/unix_io.c @@ -17,9 +17,7 @@ #define _LARGEFILE_SOURCE #define _LARGEFILE64_SOURCE -#ifndef _GNU_SOURCE #define _GNU_SOURCE -#endif #include #include @@ -49,14 +47,15 @@ #if HAVE_SYS_RESOURCE_H #include #endif -#if HAVE_LINUX_FALLOC_H -#include -#endif #if defined(__linux__) && defined(_IO) && !defined(BLKROGET) #define BLKROGET _IO(0x12, 94) /* Get read-only status (0 = read_write). */ #endif +#if defined(__linux__) && defined(_IO) && !defined(BLKSSZGET) +#define BLKSSZGET _IO(0x12,104)/* get block device sector size */ +#endif + #undef ALIGN_DEBUG #include "ext2_fs.h" @@ -70,11 +69,11 @@ if ((struct)->magic != (code)) return (code) struct unix_cache { - char *buf; - unsigned long long block; - int access_time; - unsigned dirty:1; - unsigned in_use:1; + char *buf; + unsigned long block; + int access_time; + unsigned dirty:1; + unsigned in_use:1; }; #define CACHE_SIZE 8 @@ -116,8 +115,6 @@ static errcode_t unix_read_blk64(io_channel channel, unsigned long long block, int count, void *data); static errcode_t unix_write_blk64(io_channel channel, unsigned long long block, int count, const void *data); -static errcode_t unix_discard(io_channel channel, unsigned long long block, - unsigned long long count); static struct struct_io_manager struct_unix_manager = { EXT2_ET_MAGIC_IO_MANAGER, @@ -133,7 +130,6 @@ static struct struct_io_manager struct_unix_manager = { unix_get_stats, unix_read_blk64, unix_write_blk64, - unix_discard, }; io_manager unix_io_manager = &struct_unix_manager; @@ -160,13 +156,12 @@ static errcode_t unix_get_stats(io_channel channel, io_stats *stats) static errcode_t raw_read_blk(io_channel channel, struct unix_private_data *data, unsigned long long block, - int count, void *bufv) + int count, void *buf) { errcode_t retval; ssize_t size; ext2_loff_t location; int actual = 0; - unsigned char *buf = bufv; size = (count < 0) ? -count : count * channel->block_size; data->io_stats.bytes_read += size; @@ -175,9 +170,8 @@ static errcode_t raw_read_blk(io_channel channel, retval = errno ? errno : EXT2_ET_LLSEEK_FAILED; goto error_out; } - if ((channel->align == 0) || - (IS_ALIGNED(buf, channel->align) && - IS_ALIGNED(size, channel->align))) { + if ((data->align == 0) || + ((IS_ALIGNED(buf, data->align)) && IS_ALIGNED(size, data->align))) { actual = read(data->dev, buf, size); if (actual != size) { short_read: @@ -222,13 +216,12 @@ error_out: static errcode_t raw_write_blk(io_channel channel, struct unix_private_data *data, unsigned long long block, - int count, const void *bufv) + int count, const void *buf) { ssize_t size; ext2_loff_t location; int actual = 0; errcode_t retval; - const unsigned char *buf = bufv; if (count == 1) size = channel->block_size; @@ -246,9 +239,8 @@ static errcode_t raw_write_blk(io_channel channel, goto error_out; } - if ((channel->align == 0) || - (IS_ALIGNED(buf, channel->align) && - IS_ALIGNED(size, channel->align))) { + if ((data->align == 0) || + ((IS_ALIGNED(buf, data->align)) && IS_ALIGNED(size, data->align))) { actual = write(data->dev, buf, size); if (actual != size) { short_write: @@ -315,14 +307,16 @@ static errcode_t alloc_cache(io_channel channel, cache->in_use = 0; if (cache->buf) ext2fs_free_mem(&cache->buf); - retval = io_channel_alloc_buf(channel, 0, &cache->buf); + retval = ext2fs_get_memalign(channel->block_size, + data->align, &cache->buf); if (retval) return retval; } - if (channel->align) { + if (data->align) { if (data->bounce) ext2fs_free_mem(&data->bounce); - retval = io_channel_alloc_buf(channel, 0, &data->bounce); + retval = ext2fs_get_memalign(channel->block_size, data->align, + &data->bounce); } return retval; } @@ -428,44 +422,6 @@ static errcode_t flush_cached_blocks(io_channel channel, } #endif /* NO_IO_CACHE */ -#ifdef __linux__ -#ifndef BLKDISCARDZEROES -#define BLKDISCARDZEROES _IO(0x12,124) -#endif -#endif - -int ext2fs_open_file(const char *pathname, int flags, mode_t mode) -{ - if (mode) -#if defined(HAVE_OPEN64) && !defined(__OSX_AVAILABLE_BUT_DEPRECATED) - return open64(pathname, flags, mode); - else - return open64(pathname, flags); -#else - return open(pathname, flags, mode); - else - return open(pathname, flags); -#endif -} - -int ext2fs_stat(const char *path, ext2fs_struct_stat *buf) -{ -#if defined(HAVE_FSTAT64) && !defined(__OSX_AVAILABLE_BUT_DEPRECATED) - return stat64(path, buf); -#else - return stat(path, buf); -#endif -} - -int ext2fs_fstat(int fd, ext2fs_struct_stat *buf) -{ -#if defined(HAVE_FSTAT64) && !defined(__OSX_AVAILABLE_BUT_DEPRECATED) - return fstat64(fd, buf); -#else - return fstat(fd, buf); -#endif -} - static errcode_t unix_open(const char *name, int flags, io_channel *channel) { io_channel io = NULL; @@ -473,7 +429,7 @@ static errcode_t unix_open(const char *name, int flags, io_channel *channel) errcode_t retval; int open_flags; int f_nocache = 0; - ext2fs_struct_stat st; + struct stat st; #ifdef __linux__ struct utsname ut; #endif @@ -482,7 +438,7 @@ static errcode_t unix_open(const char *name, int flags, io_channel *channel) return EXT2_ET_BAD_DEVICE_NAME; retval = ext2fs_get_mem(sizeof(struct struct_io_channel), &io); if (retval) - goto cleanup; + return retval; memset(io, 0, sizeof(struct struct_io_channel)); io->magic = EXT2_ET_MAGIC_IO_CHANNEL; retval = ext2fs_get_mem(sizeof(struct unix_private_data), &data); @@ -504,29 +460,28 @@ static errcode_t unix_open(const char *name, int flags, io_channel *channel) memset(data, 0, sizeof(struct unix_private_data)); data->magic = EXT2_ET_MAGIC_UNIX_IO_CHANNEL; data->io_stats.num_fields = 2; - data->dev = -1; open_flags = (flags & IO_FLAG_RW) ? O_RDWR : O_RDONLY; if (flags & IO_FLAG_EXCLUSIVE) open_flags |= O_EXCL; -#if defined(O_DIRECT) - if (flags & IO_FLAG_DIRECT_IO) { - open_flags |= O_DIRECT; - io->align = ext2fs_get_dio_alignment(data->dev); - } -#elif defined(F_NOCACHE) - if (flags & IO_FLAG_DIRECT_IO) { + if (flags & IO_FLAG_DIRECT_IO) +#if !defined(O_DIRECT) && defined(F_NOCACHE) f_nocache = F_NOCACHE; - io->align = 4096; - } +#else + open_flags |= O_DIRECT; #endif data->flags = flags; - data->dev = ext2fs_open_file(io->name, open_flags, 0); +#ifdef HAVE_OPEN64 + data->dev = open64(io->name, open_flags); +#else + data->dev = open(io->name, open_flags); +#endif if (data->dev < 0) { retval = errno; goto cleanup; } + if (f_nocache) { if (fcntl(data->dev, f_nocache, 1) < 0) { retval = errno; @@ -534,26 +489,10 @@ static errcode_t unix_open(const char *name, int flags, io_channel *channel) } } - /* - * If the device is really a block device, then set the - * appropriate flag, otherwise we can set DISCARD_ZEROES flag - * because we are going to use punch hole instead of discard - * and if it succeed, subsequent read from sparse area returns - * zero. - */ - if (ext2fs_stat(io->name, &st) == 0) { - if (S_ISBLK(st.st_mode)) - io->flags |= CHANNEL_FLAGS_BLOCK_DEVICE; - else - io->flags |= CHANNEL_FLAGS_DISCARD_ZEROES; - } - -#ifdef BLKDISCARDZEROES - { - int zeroes = 0; - if (ioctl(data->dev, BLKDISCARDZEROES, &zeroes) == 0 && - zeroes) - io->flags |= CHANNEL_FLAGS_DISCARD_ZEROES; +#ifdef BLKSSZGET + if (flags & IO_FLAG_DIRECT_IO) { + if (ioctl(data->dev, BLKSSZGET, &data->align) != 0) + data->align = io->block_size; } #endif @@ -562,8 +501,7 @@ static errcode_t unix_open(const char *name, int flags, io_channel *channel) * Some operating systems require that the buffers be aligned, * regardless of O_DIRECT */ - if (!io->align) - io->align = 512; + data->align = 512; #endif @@ -578,6 +516,7 @@ static errcode_t unix_open(const char *name, int flags, io_channel *channel) /* Is the block device actually writable? */ error = ioctl(data->dev, BLKROGET, &readonly); if (!error && readonly) { + close(data->dev); retval = EPERM; goto cleanup; } @@ -604,7 +543,7 @@ static errcode_t unix_open(const char *name, int flags, io_channel *channel) (ut.release[2] == '4') && (ut.release[3] == '.') && (ut.release[4] == '1') && (ut.release[5] >= '0') && (ut.release[5] < '8')) && - (ext2fs_stat(io->name, &st) == 0) && + (fstat(data->dev, &st) == 0) && (S_ISBLK(st.st_mode))) { struct rlimit rlim; @@ -623,17 +562,11 @@ static errcode_t unix_open(const char *name, int flags, io_channel *channel) cleanup: if (data) { - if (data->dev >= 0) - close(data->dev); free_cache(data); ext2fs_free_mem(&data); } - if (io) { - if (io->name) { - ext2fs_free_mem(&io->name); - } + if (io) ext2fs_free_mem(&io); - } return retval; } @@ -844,7 +777,7 @@ static errcode_t unix_write_byte(io_channel channel, unsigned long offset, data = (struct unix_private_data *) channel->private_data; EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_UNIX_IO_CHANNEL); - if (channel->align != 0) { + if (data->align != 0) { #ifdef ALIGN_DEBUG printf("unix_write_byte: O_DIRECT fallback\n"); #endif @@ -913,52 +846,3 @@ static errcode_t unix_set_option(io_channel channel, const char *option, } return EXT2_ET_INVALID_ARGUMENT; } - -#if defined(__linux__) && !defined(BLKDISCARD) -#define BLKDISCARD _IO(0x12,119) -#endif - -static errcode_t unix_discard(io_channel channel, unsigned long long block, - unsigned long long count) -{ - struct unix_private_data *data; - int ret; - - EXT2_CHECK_MAGIC(channel, EXT2_ET_MAGIC_IO_CHANNEL); - data = (struct unix_private_data *) channel->private_data; - EXT2_CHECK_MAGIC(data, EXT2_ET_MAGIC_UNIX_IO_CHANNEL); - - if (channel->flags & CHANNEL_FLAGS_BLOCK_DEVICE) { -#ifdef BLKDISCARD - __uint64_t range[2]; - - range[0] = (__uint64_t)(block) * channel->block_size; - range[1] = (__uint64_t)(count) * channel->block_size; - - ret = ioctl(data->dev, BLKDISCARD, &range); -#else - goto unimplemented; -#endif - } else { -#if defined(HAVE_FALLOCATE) && defined(FALLOC_FL_PUNCH_HOLE) - /* - * If we are not on block device, try to use punch hole - * to reclaim free space. - */ - ret = fallocate(data->dev, - FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, - (off_t)(block) * channel->block_size, - (off_t)(count) * channel->block_size); -#else - goto unimplemented; -#endif - } - if (ret < 0) { - if (errno == EOPNOTSUPP) - goto unimplemented; - return errno; - } - return 0; -unimplemented: - return EXT2_ET_UNIMPLEMENTED; -} diff --git a/lib/ext2fs/valid_blk.c b/lib/ext2fs/valid_blk.c index 7c3defc7..32ac9e60 100644 --- a/lib/ext2fs/valid_blk.c +++ b/lib/ext2fs/valid_blk.c @@ -23,7 +23,7 @@ * This function returns 1 if the inode's block entries actually * contain block entries. */ -int ext2fs_inode_has_valid_blocks2(ext2_filsys fs, struct ext2_inode *inode) +int ext2fs_inode_has_valid_blocks(struct ext2_inode *inode) { /* * Only directories, regular files, and some symbolic links @@ -38,7 +38,7 @@ int ext2fs_inode_has_valid_blocks2(ext2_filsys fs, struct ext2_inode *inode) * target is stored in the block entries. */ if (LINUX_S_ISLNK (inode->i_mode)) { - if (ext2fs_file_acl_block(fs, inode) == 0) { + if (inode->i_file_acl == 0) { /* With no EA block, we can rely on i_blocks */ if (inode->i_blocks == 0) return 0; @@ -53,8 +53,3 @@ int ext2fs_inode_has_valid_blocks2(ext2_filsys fs, struct ext2_inode *inode) } return 1; } - -int ext2fs_inode_has_valid_blocks(struct ext2_inode *inode) -{ - return ext2fs_inode_has_valid_blocks2(NULL, inode); -} diff --git a/lib/quota/Android.mk b/lib/quota/Android.mk deleted file mode 100644 index 8d0bfc32..00000000 --- a/lib/quota/Android.mk +++ /dev/null @@ -1,61 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -libext2_quota_src_files := \ - mkquota.c \ - quotaio.c \ - quotaio_tree.c \ - quotaio_v2.c \ - ../../e2fsck/dict.c - -libext2_quota_c_includes := external/e2fsprogs/lib - -libext2_quota_cflags := -O2 -g -W -Wall \ - -DHAVE_UNISTD_H \ - -DHAVE_ERRNO_H \ - -DHAVE_NETINET_IN_H \ - -DHAVE_SYS_IOCTL_H \ - -DHAVE_SYS_MMAN_H \ - -DHAVE_SYS_MOUNT_H \ - -DHAVE_SYS_PRCTL_H \ - -DHAVE_SYS_RESOURCE_H \ - -DHAVE_SYS_SELECT_H \ - -DHAVE_SYS_STAT_H \ - -DHAVE_SYS_TYPES_H \ - -DHAVE_STDLIB_H \ - -DHAVE_STRDUP \ - -DHAVE_MMAP \ - -DHAVE_UTIME_H \ - -DHAVE_GETPAGESIZE \ - -DHAVE_LSEEK64 \ - -DHAVE_LSEEK64_PROTOTYPE \ - -DHAVE_EXT2_IOCTLS \ - -DHAVE_LINUX_FD_H \ - -DHAVE_TYPE_SSIZE_T \ - -DHAVE_SYS_TIME_H \ - -DHAVE_SYS_PARAM_H \ - -DHAVE_SYSCONF - -libext2_quota_shared_libraries := libext2fs libext2_com_err - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(libext2_quota_src_files) -LOCAL_C_INCLUDES := $(libext2_quota_c_includes) -LOCAL_CFLAGS := $(libext2_quota_cflags) -LOCAL_SYSTEM_SHARED_LIBRARIES := libc $(libext2_quota_shared_libraries) -LOCAL_PRELINK_MODULE := false -LOCAL_MODULE := libext2_quota -LOCAL_MODULE_TAGS := optional - -include $(BUILD_SHARED_LIBRARY) - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(libext2_quota_src_files) -LOCAL_C_INCLUDES := $(libext2_quota_c_includes) -LOCAL_CFLAGS := $(libext2_quota_cflags) -LOCAL_MODULE := libext2_quota_host -LOCAL_MODULE_TAGS := optional -LOCAL_SHARED_LIBRARIES := $(addsuffix _host, $(libext2_quota_shared_libraries)) - -include $(BUILD_HOST_SHARED_LIBRARY) diff --git a/lib/quota/Makefile.in b/lib/quota/Makefile.in deleted file mode 100644 index ec4f6c45..00000000 --- a/lib/quota/Makefile.in +++ /dev/null @@ -1,162 +0,0 @@ -# Makefile for the QUOTA library -# - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -top_builddir = ../.. -my_dir = lib/quota -INSTALL = @INSTALL@ - -@MCONFIG@ - -all:: - -SMANPAGES= - - -OBJS= mkquota.o quotaio.o quotaio_v2.o quotaio_tree.o dict.o - -SRCS= $(srcdir)/mkquota.c \ - $(srcdir)/quotaio.c \ - $(srcdir)/quotaio_tree.c \ - $(srcdir)/quotaio_v2.c \ - $(srcdir)/../../e2fsck/dict.c - -LIBRARY= libquota -LIBDIR= quota - -#ELF_VERSION = 1.0 -#ELF_SO_VERSION = 1 -#ELF_IMAGE = libquota -#ELF_MYDIR = quota -#ELF_INSTALL_DIR = $(root_libdir) -#ELF_OTHER_LIBS = -lext2fs - -#BSDLIB_VERSION = 1.0 -#BSDLIB_IMAGE = libquota -#BSDLIB_MYDIR = quota -#BSDLIB_INSTALL_DIR = $(root_libdir) - -@MAKEFILE_LIBRARY@ -#MAKEFILE_ELF# -#MAKEFILE_BSDLIB# -@MAKEFILE_PROFILE@ -@MAKEFILE_CHECKER@ - -.c.o: - $(E) " CC $<" - $(Q) $(CC) $(ALL_CFLAGS) -c $< -o $@ - $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< -@PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $< -@CHECKER_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -checker -g -o checker/$*.o -c $< -#ELF_CMT# $(Q) $(CC) $(ALL_CFLAGS) -fPIC -o elfshared/$*.o -c $< -#BSDLIB_CMT# $(Q) $(CC) $(ALL_CFLAGS) $(BSDLIB_PIC_FLAG) -o pic/$*.o -c $< - -all:: $(SMANPAGES) quota.pc - -quota.pc: $(srcdir)/quota.pc.in $(top_builddir)/config.status - $(E) " CONFIG.STATUS $@" - $(Q) cd $(top_builddir); CONFIG_FILES=lib/quota/quota.pc ./config.status - -dict.o: - $(E) " CC $<" - $(Q) $(CC) -c $(ALL_CFLAGS) $(top_srcdir)/e2fsck/dict.c -o $@ -@PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/dict.o -c \ -@PROFILE_CMT@ $(top_srcdir)/e2fsck/dict.c -@CHECKER_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -checker -g -o checker/$*.o -c \ -@CHECKER_CMT@ $(top_srcdir)/e2fsck/dict.c -#ELF_CMT# $(Q) $(CC) $(ALL_CFLAGS) -fPIC -o elfshared/$*.o -c \ -#ELF_CMT# $(top_srcdir)/e2fsck/dict.c -#BSDLIB_CMT# $(Q) $(CC) $(ALL_CFLAGS) $(BSDLIB_PIC_FLAG) -o pic/$*.o -c \ -#BSDLIB_CMT# $(top_srcdir)/e2fsck/dict.c - -installdirs:: - $(E) " MKINSTALLDIRS $(libdir) $(includedir)/quota $(man3dir)" - $(Q) $(MKINSTALLDIRS) $(DESTDIR)$(libdir) \ - $(DESTDIR)$(includedir)/quota $(DESTDIR)$(man3dir) \ - $(DESTDIR)$(libdir)/pkgconfig - -install:: all installdirs - $(E) " INSTALL_DATA $(libdir)/libquota.a" - $(Q) $(INSTALL_DATA) libquota.a $(DESTDIR)$(libdir)/libquota.a - -$(Q) $(RANLIB) $(DESTDIR)$(libdir)/libquota.a - $(Q) $(CHMOD) $(LIBMODE) $(DESTDIR)$(libdir)/libquota.a - $(E) " INSTALL_DATA $(includedir)/quota/mkquota.h" - $(Q) $(INSTALL_DATA) $(srcdir)/mkquota.h $(DESTDIR)$(includedir)/quota/mkquota.h - $(Q) for i in $(SMANPAGES); do \ - $(RM) -f $(DESTDIR)$(man3dir)/$$i.gz; \ - echo " INSTALL_DATA $(man3dir)/$$i"; \ - $(INSTALL_DATA) $$i $(DESTDIR)$(man3dir)/$$i; \ - done - $(E) " INSTALL_DATA $(libdir)/pkgconfig/quota.pc" - $(Q) $(INSTALL_DATA) quota.pc $(DESTDIR)$(libdir)/pkgconfig/quota.pc - -uninstall:: - $(RM) -f $(DESTDIR)$(libdir)/libquota.a \ - $(DESTDIR)$(libdir)/pkgconfig/quota.pc - for i in $(SMANPAGES); do \ - $(RM) -f $(DESTDIR)$(man3dir)/$$i; \ - done - -clean:: - $(RM) -f \#* *.s *.o *.a *~ *.bak core profiled/* checker/* - $(RM) -f ../libquota.a ../libquota_p.a $(SMANPAGES) - -#check:: tst_uuid -# LD_LIBRARY_PATH=$(LIB) DYLD_LIBRARY_PATH=$(LIB) ./tst_uuid - -mostlyclean:: clean -distclean:: clean - $(RM) -f .depend Makefile quota.pc \ - $(srcdir)/TAGS $(srcdir)/Makefile.in.old - -# -# Hack to parallel makes recognize dependencies correctly. -# -../../lib/libquota.a: libquota.a -../../lib/libquota.so: image -../../lib/libquota.dylib: image - -$(OBJS): - -# +++ Dependency line eater +++ -# -# Makefile dependencies follow. This must be the last section in -# the Makefile.in file -# -mkquota.o: $(srcdir)/mkquota.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ - $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ - $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(top_srcdir)/lib/e2p/e2p.h $(srcdir)/quotaio.h $(srcdir)/dqblk_v2.h \ - $(srcdir)/quotaio_tree.h $(srcdir)/quotaio_v2.h $(srcdir)/mkquota.h \ - $(top_srcdir)/lib/../e2fsck/dict.h $(srcdir)/common.h -quotaio.o: $(srcdir)/quotaio.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/common.h $(srcdir)/quotaio.h \ - $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ - $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ - $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ - $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/dqblk_v2.h $(srcdir)/quotaio_tree.h -quotaio_tree.o: $(srcdir)/quotaio_tree.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/common.h $(srcdir)/quotaio_tree.h \ - $(srcdir)/quotaio.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ - $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ - $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/dqblk_v2.h -quotaio_v2.o: $(srcdir)/quotaio_v2.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/common.h $(srcdir)/quotaio_v2.h \ - $(srcdir)/quotaio.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ - $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ - $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(srcdir)/dqblk_v2.h $(srcdir)/quotaio_tree.h -dict.o: $(srcdir)/../../e2fsck/dict.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/../../e2fsck/dict.h diff --git a/lib/quota/common.h b/lib/quota/common.h deleted file mode 100644 index 7f3f4b98..00000000 --- a/lib/quota/common.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * - * Various things common for all utilities - * - */ - -#ifndef __QUOTA_COMMON_H__ -#define __QUOTA_COMMON_H__ - -#ifndef __attribute__ -# if !defined __GNUC__ || __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__ -# define __attribute__(x) -# endif -#endif - -#define log_err(format, arg ...) \ - fprintf(stderr, "[ERROR] %s:%d:%s:: " format "\n", \ - __FILE__, __LINE__, __func__, ## arg) - -#ifdef DEBUG_QUOTA -# define log_debug(format, arg ...) \ - fprintf(stderr, "[DEBUG] %s:%d:%s:: " format "\n", \ - __FILE__, __LINE__, __func__, ## arg) -#else -# define log_debug(format, ...) -#endif - -#endif /* __QUOTA_COMMON_H__ */ diff --git a/lib/quota/dqblk_v2.h b/lib/quota/dqblk_v2.h deleted file mode 100644 index d12512a6..00000000 --- a/lib/quota/dqblk_v2.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Header file for disk format of new quotafile format - * - * Jan Kara - sponsored by SuSE CR - */ - -#ifndef __QUOTA_DQBLK_V2_H__ -#define __QUOTA_DQBLK_V2_H__ - -#include "quotaio_tree.h" - -/* Structure for format specific information */ -struct v2_mem_dqinfo { - struct qtree_mem_dqinfo dqi_qtree; - unsigned int dqi_flags; /* Flags set in quotafile */ - unsigned int dqi_used_entries; /* Number of entries in file - - updated by scan_dquots */ - unsigned int dqi_data_blocks; /* Number of data blocks in file - - updated by scan_dquots */ -}; - -struct v2_mem_dqblk { - long long dqb_off; /* Offset of dquot in file */ -}; - -struct quotafile_ops; /* Will be defined later in quotaio.h */ - -/* Operations above this format */ -extern struct quotafile_ops quotafile_ops_2; - -#endif /* __QUOTA_DQBLK_V2_H__ */ diff --git a/lib/quota/mkquota.c b/lib/quota/mkquota.c deleted file mode 100644 index 46e17b6c..00000000 --- a/lib/quota/mkquota.c +++ /dev/null @@ -1,560 +0,0 @@ -/* - * mkquota.c --- create quota files for a filesystem - * - * Aditya Kali - */ -#include -#include -#include -#include -#include -#include - -#include "ext2fs/ext2_fs.h" -#include "ext2fs/ext2fs.h" -#include "e2p/e2p.h" - -#include "quotaio.h" -#include "quotaio_v2.h" -#include "quotaio_tree.h" -#include "mkquota.h" -#include "common.h" - -/* Needed for architectures where sizeof(int) != sizeof(void *) */ -#define UINT_TO_VOIDPTR(val) ((void *)(intptr_t)(val)) -#define VOIDPTR_TO_UINT(ptr) ((unsigned int)(intptr_t)(ptr)) - -#if DEBUG_QUOTA -static void print_inode(struct ext2_inode *inode) -{ - if (!inode) - return; - - fprintf(stderr, " i_mode = %d\n", inode->i_mode); - fprintf(stderr, " i_uid = %d\n", inode->i_uid); - fprintf(stderr, " i_size = %d\n", inode->i_size); - fprintf(stderr, " i_atime = %d\n", inode->i_atime); - fprintf(stderr, " i_ctime = %d\n", inode->i_ctime); - fprintf(stderr, " i_mtime = %d\n", inode->i_mtime); - fprintf(stderr, " i_dtime = %d\n", inode->i_dtime); - fprintf(stderr, " i_gid = %d\n", inode->i_gid); - fprintf(stderr, " i_links_count = %d\n", inode->i_links_count); - fprintf(stderr, " i_blocks = %d\n", inode->i_blocks); - fprintf(stderr, " i_flags = %d\n", inode->i_flags); - - return; -} -#endif - -/* - * Returns 0 if not able to find the quota file, otherwise returns its - * inode number. - */ -int quota_file_exists(ext2_filsys fs, int qtype, int fmt) -{ - char qf_name[256]; - errcode_t ret; - ext2_ino_t ino; - - if (qtype >= MAXQUOTAS) - return -EINVAL; - - quota_get_qf_name(qtype, QFMT_VFS_V1, qf_name); - - ret = ext2fs_lookup(fs, EXT2_ROOT_INO, qf_name, strlen(qf_name), 0, - &ino); - if (ret) - return 0; - - return ino; -} - -/* - * Set the value for reserved quota inode number field in superblock. - */ -void quota_set_sb_inum(ext2_filsys fs, ext2_ino_t ino, int qtype) -{ - ext2_ino_t *inump; - - inump = (qtype == USRQUOTA) ? &fs->super->s_usr_quota_inum : - &fs->super->s_grp_quota_inum; - - log_debug("setting quota ino in superblock: ino=%u, type=%d", ino, - qtype); - *inump = ino; - ext2fs_mark_super_dirty(fs); -} - -errcode_t quota_remove_inode(ext2_filsys fs, int qtype) -{ - ext2_ino_t qf_ino; - - ext2fs_read_bitmaps(fs); - qf_ino = (qtype == USRQUOTA) ? fs->super->s_usr_quota_inum : - fs->super->s_grp_quota_inum; - quota_set_sb_inum(fs, 0, qtype); - /* Truncate the inode only if its a reserved one. */ - if (qf_ino < EXT2_FIRST_INODE(fs->super)) - quota_inode_truncate(fs, qf_ino); - - ext2fs_mark_super_dirty(fs); - fs->flags &= ~EXT2_FLAG_SUPER_ONLY; - ext2fs_write_bitmaps(fs); - return 0; -} - -static void write_dquots(dict_t *dict, struct quota_handle *qh) -{ - dnode_t *n; - struct dquot *dq; - - for (n = dict_first(dict); n; n = dict_next(dict, n)) { - dq = dnode_get(n); - if (dq) { - dq->dq_h = qh; - update_grace_times(dq); - qh->qh_ops->commit_dquot(dq); - } - } -} - -errcode_t quota_write_inode(quota_ctx_t qctx, int qtype) -{ - int retval = 0, i; - dict_t *dict; - ext2_filsys fs; - struct quota_handle *h = NULL; - int fmt = QFMT_VFS_V1; - - if (!qctx) - return 0; - - fs = qctx->fs; - retval = ext2fs_get_mem(sizeof(struct quota_handle), &h); - if (retval) { - log_err("Unable to allocate quota handle"); - goto out; - } - - ext2fs_read_bitmaps(fs); - - for (i = 0; i < MAXQUOTAS; i++) { - if ((qtype != -1) && (i != qtype)) - continue; - - dict = qctx->quota_dict[i]; - if (!dict) - continue; - - retval = quota_file_create(h, fs, i, fmt); - if (retval < 0) { - log_err("Cannot initialize io on quotafile"); - continue; - } - - write_dquots(dict, h); - retval = quota_file_close(h); - if (retval < 0) { - log_err("Cannot finish IO on new quotafile: %s", - strerror(errno)); - if (h->qh_qf.e2_file) - ext2fs_file_close(h->qh_qf.e2_file); - quota_inode_truncate(fs, h->qh_qf.ino); - continue; - } - - /* Set quota inode numbers in superblock. */ - quota_set_sb_inum(fs, h->qh_qf.ino, i); - ext2fs_mark_super_dirty(fs); - ext2fs_mark_bb_dirty(fs); - fs->flags &= ~EXT2_FLAG_SUPER_ONLY; - } - - ext2fs_write_bitmaps(fs); -out: - if (h) - ext2fs_free_mem(&h); - return retval; -} - -/******************************************************************/ -/* Helper functions for computing quota in memory. */ -/******************************************************************/ - -static int dict_uint_cmp(const void *a, const void *b) -{ - unsigned int c, d; - - c = VOIDPTR_TO_UINT(a); - d = VOIDPTR_TO_UINT(b); - - return c - d; -} - -static inline qid_t get_qid(struct ext2_inode *inode, int qtype) -{ - if (qtype == USRQUOTA) - return inode_uid(*inode); - return inode_gid(*inode); -} - -static void quota_dnode_free(dnode_t *node, - void *context EXT2FS_ATTR((unused))) -{ - void *ptr = node ? dnode_get(node) : 0; - - ext2fs_free_mem(&ptr); - free(node); -} - -/* - * Set up the quota tracking data structures. - */ -errcode_t quota_init_context(quota_ctx_t *qctx, ext2_filsys fs, int qtype) -{ - int i, err = 0; - dict_t *dict; - quota_ctx_t ctx; - - err = ext2fs_get_mem(sizeof(struct quota_ctx), &ctx); - if (err) { - log_err("Failed to allocate quota context"); - return err; - } - - memset(ctx, 0, sizeof(struct quota_ctx)); - for (i = 0; i < MAXQUOTAS; i++) { - if ((qtype != -1) && (i != qtype)) - continue; - err = ext2fs_get_mem(sizeof(dict_t), &dict); - if (err) { - log_err("Failed to allocate dictionary"); - quota_release_context(&ctx); - return err; - } - ctx->quota_dict[i] = dict; - dict_init(dict, DICTCOUNT_T_MAX, dict_uint_cmp); - dict_set_allocator(dict, NULL, quota_dnode_free, NULL); - } - - ctx->fs = fs; - *qctx = ctx; - return 0; -} - -void quota_release_context(quota_ctx_t *qctx) -{ - dict_t *dict; - int i; - quota_ctx_t ctx; - - if (!qctx) - return; - - ctx = *qctx; - for (i = 0; i < MAXQUOTAS; i++) { - dict = ctx->quota_dict[i]; - ctx->quota_dict[i] = 0; - if (dict) { - dict_free_nodes(dict); - free(dict); - } - } - *qctx = NULL; - free(ctx); -} - -static struct dquot *get_dq(dict_t *dict, __u32 key) -{ - struct dquot *dq; - dnode_t *n; - - n = dict_lookup(dict, UINT_TO_VOIDPTR(key)); - if (n) - dq = dnode_get(n); - else { - if (ext2fs_get_mem(sizeof(struct dquot), &dq)) { - log_err("Unable to allocate dquot"); - return NULL; - } - memset(dq, 0, sizeof(struct dquot)); - dict_alloc_insert(dict, UINT_TO_VOIDPTR(key), dq); - dq->dq_id = key; - } - return dq; -} - - -/* - * Called to update the blocks used by a particular inode - */ -void quota_data_add(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino, - qsize_t space) -{ - struct dquot *dq; - dict_t *dict; - int i; - - if (!qctx) - return; - - log_debug("ADD_DATA: Inode: %u, UID/GID: %u/%u, space: %ld", ino, - inode_uid(*inode), - inode_gid(*inode), space); - for (i = 0; i < MAXQUOTAS; i++) { - dict = qctx->quota_dict[i]; - if (dict) { - dq = get_dq(dict, get_qid(inode, i)); - if (dq) - dq->dq_dqb.dqb_curspace += space; - } - } -} - -/* - * Called to remove some blocks used by a particular inode - */ -void quota_data_sub(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino, - qsize_t space) -{ - struct dquot *dq; - dict_t *dict; - int i; - - if (!qctx) - return; - - log_debug("SUB_DATA: Inode: %u, UID/GID: %u/%u, space: %ld", ino, - inode_uid(*inode), - inode_gid(*inode), space); - for (i = 0; i < MAXQUOTAS; i++) { - dict = qctx->quota_dict[i]; - if (dict) { - dq = get_dq(dict, get_qid(inode, i)); - dq->dq_dqb.dqb_curspace -= space; - } - } -} - -/* - * Called to count the files used by an inode's user/group - */ -void quota_data_inodes(quota_ctx_t qctx, struct ext2_inode *inode, - ext2_ino_t ino, int adjust) -{ - struct dquot *dq; - dict_t *dict; - int i; - - if (!qctx) - return; - - log_debug("ADJ_INODE: Inode: %u, UID/GID: %u/%u, adjust: %d", ino, - inode_uid(*inode), - inode_gid(*inode), adjust); - for (i = 0; i < MAXQUOTAS; i++) { - dict = qctx->quota_dict[i]; - if (dict) { - dq = get_dq(dict, get_qid(inode, i)); - dq->dq_dqb.dqb_curinodes += adjust; - } - } -} - -errcode_t quota_compute_usage(quota_ctx_t qctx) -{ - ext2_filsys fs; - ext2_ino_t ino; - errcode_t ret; - struct ext2_inode inode; - qsize_t space; - ext2_inode_scan scan; - - if (!qctx) - return 0; - - fs = qctx->fs; - ret = ext2fs_open_inode_scan(fs, 0, &scan); - if (ret) { - log_err("while opening inode scan. ret=%ld", ret); - return ret; - } - - while (1) { - ret = ext2fs_get_next_inode(scan, &ino, &inode); - if (ret) { - log_err("while getting next inode. ret=%ld", ret); - ext2fs_close_inode_scan(scan); - return ret; - } - if (ino == 0) - break; - if (inode.i_links_count && - (ino == EXT2_ROOT_INO || - ino >= EXT2_FIRST_INODE(fs->super))) { - space = ext2fs_inode_i_blocks(fs, &inode) << 9; - quota_data_add(qctx, &inode, ino, space); - quota_data_inodes(qctx, &inode, ino, +1); - } - } - - ext2fs_close_inode_scan(scan); - - return 0; -} - -struct scan_dquots_data { - dict_t *quota_dict; - int update_limits; /* update limits from disk */ - int update_usage; - int usage_is_inconsistent; -}; - -static int scan_dquots_callback(struct dquot *dquot, void *cb_data) -{ - struct scan_dquots_data *scan_data = cb_data; - dict_t *quota_dict = scan_data->quota_dict; - struct dquot *dq; - - dq = get_dq(quota_dict, dquot->dq_id); - dq->dq_id = dquot->dq_id; - dq->dq_dqb.u.v2_mdqb.dqb_off = dquot->dq_dqb.u.v2_mdqb.dqb_off; - - /* Check if there is inconsistancy. */ - if (dq->dq_dqb.dqb_curspace != dquot->dq_dqb.dqb_curspace || - dq->dq_dqb.dqb_curinodes != dquot->dq_dqb.dqb_curinodes) { - scan_data->usage_is_inconsistent = 1; - fprintf(stderr, "[QUOTA WARNING] Usage inconsistent for ID %d:" - "actual (%llu, %llu) != expected (%llu, %llu)\n", - dq->dq_id, (long long)dq->dq_dqb.dqb_curspace, - (long long)dq->dq_dqb.dqb_curinodes, - (long long)dquot->dq_dqb.dqb_curspace, - (long long)dquot->dq_dqb.dqb_curinodes); - } - - if (scan_data->update_limits) { - dq->dq_dqb.dqb_ihardlimit = dquot->dq_dqb.dqb_ihardlimit; - dq->dq_dqb.dqb_isoftlimit = dquot->dq_dqb.dqb_isoftlimit; - dq->dq_dqb.dqb_bhardlimit = dquot->dq_dqb.dqb_bhardlimit; - dq->dq_dqb.dqb_bsoftlimit = dquot->dq_dqb.dqb_bsoftlimit; - } - - if (scan_data->update_usage) { - dq->dq_dqb.dqb_curspace = dquot->dq_dqb.dqb_curspace; - dq->dq_dqb.dqb_curinodes = dquot->dq_dqb.dqb_curinodes; - } - - return 0; -} - -/* - * Read all dquots from quota file into memory - */ -static errcode_t quota_read_all_dquots(struct quota_handle *qh, - quota_ctx_t qctx, int update_limits) -{ - struct scan_dquots_data scan_data; - - scan_data.quota_dict = qctx->quota_dict[qh->qh_type]; - scan_data.update_limits = update_limits; - scan_data.update_usage = 0; - - return qh->qh_ops->scan_dquots(qh, scan_dquots_callback, &scan_data); -} - -/* - * Write all memory dquots into quota file - */ -#if 0 /* currently unused, but may be useful in the future? */ -static errcode_t quota_write_all_dquots(struct quota_handle *qh, - quota_ctx_t qctx) -{ - errcode_t err; - - err = ext2fs_read_bitmaps(qctx->fs); - if (err) - return err; - write_dquots(qctx->quota_dict[qh->qh_type], qh); - ext2fs_mark_bb_dirty(qctx->fs); - qctx->fs->flags &= ~EXT2_FLAG_SUPER_ONLY; - ext2fs_write_bitmaps(qctx->fs); - return 0; -} -#endif - -/* - * Updates the in-memory quota limits from the given quota inode. - */ -errcode_t quota_update_limits(quota_ctx_t qctx, ext2_ino_t qf_ino, int type) -{ - struct quota_handle *qh; - errcode_t err; - - if (!qctx) - return 0; - - err = ext2fs_get_mem(sizeof(struct quota_handle), &qh); - if (err) { - log_err("Unable to allocate quota handle"); - return err; - } - - err = quota_file_open(qh, qctx->fs, qf_ino, type, -1, 0); - if (err) { - log_err("Open quota file failed"); - goto out; - } - - quota_read_all_dquots(qh, qctx, 1); - - err = quota_file_close(qh); - if (err) { - log_err("Cannot finish IO on new quotafile: %s", - strerror(errno)); - if (qh->qh_qf.e2_file) - ext2fs_file_close(qh->qh_qf.e2_file); - } -out: - ext2fs_free_mem(&qh); - return err; -} - -/* - * Compares the measured quota in qctx->quota_dict with that in the quota inode - * on disk and updates the limits in qctx->quota_dict. 'usage_inconsistent' is - * set to 1 if the supplied and on-disk quota usage values are not identical. - */ -errcode_t quota_compare_and_update(quota_ctx_t qctx, int qtype, - int *usage_inconsistent) -{ - ext2_filsys fs = qctx->fs; - struct quota_handle qh; - struct scan_dquots_data scan_data; - ext2_ino_t qf_ino; - errcode_t err = 0; - - if (!qctx->quota_dict[qtype]) - goto out; - - qf_ino = qtype == USRQUOTA ? fs->super->s_usr_quota_inum : - fs->super->s_grp_quota_inum; - err = quota_file_open(&qh, fs, qf_ino, qtype, -1, 0); - if (err) { - log_err("Open quota file failed"); - goto out; - } - - scan_data.quota_dict = qctx->quota_dict[qtype]; - scan_data.update_limits = 1; - scan_data.update_usage = 0; - scan_data.usage_is_inconsistent = 0; - err = qh.qh_ops->scan_dquots(&qh, scan_dquots_callback, &scan_data); - if (err) { - log_err("Error scanning dquots"); - goto out; - } - *usage_inconsistent = scan_data.usage_is_inconsistent; - -out: - return err; -} diff --git a/lib/quota/mkquota.h b/lib/quota/mkquota.h deleted file mode 100644 index ee150719..00000000 --- a/lib/quota/mkquota.h +++ /dev/null @@ -1,64 +0,0 @@ -/** mkquota.h - * - * Interface to the quota library. - * - * The quota library provides interface for creating and updating the quota - * files and the ext4 superblock fields. It supports the new VFS_V1 quota - * format. The quota library also provides support for keeping track of quotas - * in memory. - * The typical way to use the quota library is as follows: - * { - * quota_ctx_t qctx; - * - * quota_init_context(&qctx, fs, -1); - * { - * quota_compute_usage(qctx, -1); - * AND/OR - * quota_data_add/quota_data_sub/quota_data_inodes(); - * } - * quota_write_inode(qctx, USRQUOTA); - * quota_write_inode(qctx, GRPQUOTA); - * quota_release_context(&qctx); - * } - * - * This initial version does not support reading the quota files. This support - * will be added in near future. - * - * Aditya Kali - */ - -#ifndef __QUOTA_QUOTAIO_H__ -#define __QUOTA_QUOTAIO_H__ - -#include "ext2fs/ext2_fs.h" -#include "ext2fs/ext2fs.h" -#include "quotaio.h" -#include "../e2fsck/dict.h" - -typedef struct quota_ctx *quota_ctx_t; - -struct quota_ctx { - ext2_filsys fs; - dict_t *quota_dict[MAXQUOTAS]; -}; - -/* In mkquota.c */ -errcode_t quota_init_context(quota_ctx_t *qctx, ext2_filsys fs, int qtype); -void quota_data_inodes(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino, - int adjust); -void quota_data_add(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino, - qsize_t space); -void quota_data_sub(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino, - qsize_t space); -errcode_t quota_write_inode(quota_ctx_t qctx, int qtype); -errcode_t quota_update_limits(quota_ctx_t qctx, ext2_ino_t qf_ino, int type); -errcode_t quota_compute_usage(quota_ctx_t qctx); -void quota_release_context(quota_ctx_t *qctx); - -errcode_t quota_remove_inode(ext2_filsys fs, int qtype); -int quota_file_exists(ext2_filsys fs, int qtype, int fmt); -void quota_set_sb_inum(ext2_filsys fs, ext2_ino_t ino, int qtype); -errcode_t quota_compare_and_update(quota_ctx_t qctx, int qtype, - int *usage_inconsistent); - -#endif /* __QUOTA_QUOTAIO_H__ */ diff --git a/lib/quota/quota.pc.in b/lib/quota/quota.pc.in deleted file mode 100644 index 1e4b8874..00000000 --- a/lib/quota/quota.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: quota -Description: Quota management library -Version: @E2FSPROGS_VERSION@ -Requires: -Cflags: -I${includedir}/quota -I${includedir} -Libs: -L${libdir} -lquota diff --git a/lib/quota/quotaio.c b/lib/quota/quotaio.c deleted file mode 100644 index b518bc86..00000000 --- a/lib/quota/quotaio.c +++ /dev/null @@ -1,381 +0,0 @@ -/** quotaio.c - * - * Generic IO operations on quotafiles - * Jan Kara - sponsored by SuSE CR - * Aditya Kali - Ported to e2fsprogs - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "common.h" -#include "quotaio.h" - -static const char * const extensions[MAXQUOTAS] = {"user", "group"}; -static const char * const basenames[] = { - "", /* undefined */ - "quota", /* QFMT_VFS_OLD */ - "aquota", /* QFMT_VFS_V0 */ - "", /* QFMT_OCFS2 */ - "aquota" /* QFMT_VFS_V1 */ -}; - -/* Header in all newer quotafiles */ -struct disk_dqheader { - u_int32_t dqh_magic; - u_int32_t dqh_version; -} __attribute__ ((packed)); - -/** - * Convert type of quota to written representation - */ -const char *type2name(int type) -{ - return extensions[type]; -} - -/** - * Creates a quota file name for given type and format. - */ -const char *quota_get_qf_name(int type, int fmt, char *buf) -{ - if (!buf) - return NULL; - snprintf(buf, QUOTA_NAME_LEN, "%s.%s", - basenames[fmt], extensions[type]); - - return buf; -} - -const char *quota_get_qf_path(const char *mntpt, int qtype, int fmt, - char *path_buf, size_t path_buf_size) -{ - char qf_name[QUOTA_NAME_LEN]; - - if (!mntpt || !path_buf || !path_buf_size) - return NULL; - - strncpy(path_buf, mntpt, path_buf_size); - strncat(path_buf, "/", 1); - strncat(path_buf, quota_get_qf_name(qtype, fmt, qf_name), - path_buf_size - strlen(path_buf)); - - return path_buf; -} - -/* - * Set grace time if needed - */ -void update_grace_times(struct dquot *q) -{ - time_t now; - - time(&now); - if (q->dq_dqb.dqb_bsoftlimit && toqb(q->dq_dqb.dqb_curspace) > - q->dq_dqb.dqb_bsoftlimit) { - if (!q->dq_dqb.dqb_btime) - q->dq_dqb.dqb_btime = - now + q->dq_h->qh_info.dqi_bgrace; - } else { - q->dq_dqb.dqb_btime = 0; - } - - if (q->dq_dqb.dqb_isoftlimit && q->dq_dqb.dqb_curinodes > - q->dq_dqb.dqb_isoftlimit) { - if (!q->dq_dqb.dqb_itime) - q->dq_dqb.dqb_itime = - now + q->dq_h->qh_info.dqi_igrace; - } else { - q->dq_dqb.dqb_itime = 0; - } -} - -static int compute_num_blocks_proc(ext2_filsys fs, blk64_t *blocknr, - e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), - blk64_t ref_block EXT2FS_ATTR((unused)), - int ref_offset EXT2FS_ATTR((unused)), - void *private) -{ - blk64_t *num_blocks = private; - - *num_blocks += 1; - return 0; -} - -errcode_t quota_inode_truncate(ext2_filsys fs, ext2_ino_t ino) -{ - struct ext2_inode inode; - errcode_t err; - - if ((err = ext2fs_read_inode(fs, ino, &inode))) - return err; - - if ((ino == EXT4_USR_QUOTA_INO) || (ino == EXT4_GRP_QUOTA_INO)) { - inode.i_dtime = fs->now ? fs->now : time(0); - if (!ext2fs_inode_has_valid_blocks2(fs, &inode)) - return 0; - err = ext2fs_punch(fs, ino, &inode, NULL, 0, ~0ULL); - if (err) - return err; - fs->flags &= ~EXT2_FLAG_SUPER_ONLY; - memset(&inode, 0, sizeof(struct ext2_inode)); - } else { - inode.i_flags &= ~EXT2_IMMUTABLE_FL; - } - err = ext2fs_write_inode(fs, ino, &inode); - return err; -} - -static ext2_off64_t compute_inode_size(ext2_filsys fs, ext2_ino_t ino) -{ - blk64_t num_blocks = 0; - - ext2fs_block_iterate3(fs, ino, - BLOCK_FLAG_READ_ONLY, - NULL, - compute_num_blocks_proc, - &num_blocks); - return num_blocks * fs->blocksize; -} - -/* Functions to read/write quota file. */ -static unsigned int quota_write_nomount(struct quota_file *qf, - ext2_loff_t offset, - void *buf, unsigned int size) -{ - ext2_file_t e2_file = qf->e2_file; - unsigned int bytes_written = 0; - errcode_t err; - - err = ext2fs_file_llseek(e2_file, offset, EXT2_SEEK_SET, NULL); - if (err) { - log_err("ext2fs_file_llseek failed: %ld", err); - return 0; - } - - err = ext2fs_file_write(e2_file, buf, size, &bytes_written); - if (err) { - log_err("ext2fs_file_write failed: %ld", err); - return 0; - } - - /* Correct inode.i_size is set in end_io. */ - return bytes_written; -} - -static unsigned int quota_read_nomount(struct quota_file *qf, - ext2_loff_t offset, - void *buf, unsigned int size) -{ - ext2_file_t e2_file = qf->e2_file; - unsigned int bytes_read = 0; - errcode_t err; - - err = ext2fs_file_llseek(e2_file, offset, EXT2_SEEK_SET, NULL); - if (err) { - log_err("ext2fs_file_llseek failed: %ld", err); - return 0; - } - - err = ext2fs_file_read(e2_file, buf, size, &bytes_read); - if (err) { - log_err("ext2fs_file_read failed: %ld", err); - return 0; - } - - return bytes_read; -} - -/* - * Detect quota format and initialize quota IO - */ -errcode_t quota_file_open(struct quota_handle *h, ext2_filsys fs, - ext2_ino_t qf_ino, int type, int fmt, int flags) -{ - ext2_file_t e2_file; - errcode_t err; - - if (fmt == -1) - fmt = QFMT_VFS_V1; - - err = ext2fs_read_bitmaps(fs); - if (err) - return err; - - log_debug("Opening quota ino=%lu, type=%d", qf_ino, type); - err = ext2fs_file_open(fs, qf_ino, flags, &e2_file); - if (err) { - log_err("ext2fs_file_open failed: %s", error_message(err)); - return err; - } - h->qh_qf.e2_file = e2_file; - - h->qh_qf.fs = fs; - h->qh_qf.ino = qf_ino; - h->e2fs_write = quota_write_nomount; - h->e2fs_read = quota_read_nomount; - h->qh_io_flags = 0; - h->qh_type = type; - h->qh_fmt = fmt; - memset(&h->qh_info, 0, sizeof(h->qh_info)); - h->qh_ops = "afile_ops_2; - - if (h->qh_ops->check_file && - (h->qh_ops->check_file(h, type, fmt) == 0)) { - log_err("qh_ops->check_file failed"); - ext2fs_file_close(e2_file); - return -1; - } - - if (h->qh_ops->init_io && (h->qh_ops->init_io(h) < 0)) { - log_err("qh_ops->init_io failed"); - ext2fs_file_close(e2_file); - return -1; - } - - return 0; -} - -static errcode_t quota_inode_init_new(ext2_filsys fs, ext2_ino_t ino) -{ - struct ext2_inode inode; - errcode_t err = 0; - - err = ext2fs_read_inode(fs, ino, &inode); - if (err) { - log_err("ex2fs_read_inode failed"); - return err; - } - - if (EXT2_I_SIZE(&inode)) - quota_inode_truncate(fs, ino); - - memset(&inode, 0, sizeof(struct ext2_inode)); - ext2fs_iblk_set(fs, &inode, 0); - inode.i_atime = inode.i_mtime = - inode.i_ctime = fs->now ? fs->now : time(0); - inode.i_links_count = 1; - inode.i_mode = LINUX_S_IFREG | 0600; - inode.i_flags |= EXT2_IMMUTABLE_FL; - if (fs->super->s_feature_incompat & - EXT3_FEATURE_INCOMPAT_EXTENTS) - inode.i_flags |= EXT4_EXTENTS_FL; - - err = ext2fs_write_new_inode(fs, ino, &inode); - if (err) { - log_err("ext2fs_write_new_inode failed: %ld", err); - return err; - } - return err; -} - -/* - * Create new quotafile of specified format on given filesystem - */ -errcode_t quota_file_create(struct quota_handle *h, ext2_filsys fs, int type, int fmt) -{ - ext2_file_t e2_file; - int err; - unsigned long qf_inum; - - if (fmt == -1) - fmt = QFMT_VFS_V1; - - h->qh_qf.fs = fs; - if (type == USRQUOTA) - qf_inum = EXT4_USR_QUOTA_INO; - else if (type == GRPQUOTA) - qf_inum = EXT4_GRP_QUOTA_INO; - else - return -1; - - err = ext2fs_read_bitmaps(fs); - if (err) - goto out_err; - - err = quota_inode_init_new(fs, qf_inum); - if (err) { - log_err("init_new_quota_inode failed"); - goto out_err; - } - h->qh_qf.ino = qf_inum; - h->e2fs_write = quota_write_nomount; - h->e2fs_read = quota_read_nomount; - - log_debug("Creating quota ino=%lu, type=%d", qf_inum, type); - err = ext2fs_file_open(fs, qf_inum, - EXT2_FILE_WRITE | EXT2_FILE_CREATE, &e2_file); - if (err) { - log_err("ext2fs_file_open failed: %d", err); - goto out_err; - } - h->qh_qf.e2_file = e2_file; - - h->qh_io_flags = 0; - h->qh_type = type; - h->qh_fmt = fmt; - memset(&h->qh_info, 0, sizeof(h->qh_info)); - h->qh_ops = "afile_ops_2; - - if (h->qh_ops->new_io && (h->qh_ops->new_io(h) < 0)) { - log_err("qh_ops->new_io failed"); - goto out_err1; - } - - return 0; - -out_err1: - ext2fs_file_close(e2_file); -out_err: - - if (qf_inum) - quota_inode_truncate(fs, qf_inum); - - return -1; -} - -/* - * Close quotafile and release handle - */ -errcode_t quota_file_close(struct quota_handle *h) -{ - if (h->qh_io_flags & IOFL_INFODIRTY) { - if (h->qh_ops->write_info && h->qh_ops->write_info(h) < 0) - return -1; - h->qh_io_flags &= ~IOFL_INFODIRTY; - } - - if (h->qh_ops->end_io && h->qh_ops->end_io(h) < 0) - return -1; - if (h->qh_qf.e2_file) { - ext2fs_file_flush(h->qh_qf.e2_file); - ext2fs_file_set_size2(h->qh_qf.e2_file, - compute_inode_size(h->qh_qf.fs, h->qh_qf.ino)); - ext2fs_file_close(h->qh_qf.e2_file); - } - - return 0; -} - -/* - * Create empty quota structure - */ -struct dquot *get_empty_dquot(void) -{ - struct dquot *dquot; - - if (ext2fs_get_memzero(sizeof(struct dquot), &dquot)) { - log_err("Failed to allocate dquot"); - return NULL; - } - - dquot->dq_id = -1; - return dquot; -} diff --git a/lib/quota/quotaio.h b/lib/quota/quotaio.h deleted file mode 100644 index 1c062f10..00000000 --- a/lib/quota/quotaio.h +++ /dev/null @@ -1,165 +0,0 @@ -/** quotaio.h - * - * Header of IO operations for quota utilities - * Jan Kara - */ - -#ifndef GUARD_QUOTAIO_H -#define GUARD_QUOTAIO_H - -#include -#include -#include - -#include "ext2fs/ext2fs.h" -#include "dqblk_v2.h" - -typedef int64_t qsize_t; /* Type in which we store size limitations */ - -#define MAXQUOTAS 2 -#define USRQUOTA 0 -#define GRPQUOTA 1 - -/* - * Definitions of magics and versions of current quota files - */ -#define INITQMAGICS {\ - 0xd9c01f11, /* USRQUOTA */\ - 0xd9c01927 /* GRPQUOTA */\ -} - -/* Size of blocks in which are counted size limits in generic utility parts */ -#define QUOTABLOCK_BITS 10 -#define QUOTABLOCK_SIZE (1 << QUOTABLOCK_BITS) -#define toqb(x) (((x) + QUOTABLOCK_SIZE - 1) >> QUOTABLOCK_BITS) - -/* Quota format type IDs */ -#define QFMT_VFS_OLD 1 -#define QFMT_VFS_V0 2 -#define QFMT_VFS_V1 4 - -/* - * The following constants define the default amount of time given a user - * before the soft limits are treated as hard limits (usually resulting - * in an allocation failure). The timer is started when the user crosses - * their soft limit, it is reset when they go below their soft limit. - */ -#define MAX_IQ_TIME 604800 /* (7*24*60*60) 1 week */ -#define MAX_DQ_TIME 604800 /* (7*24*60*60) 1 week */ - -#define IOFL_INFODIRTY 0x01 /* Did info change? */ - -struct quotafile_ops; - -/* Generic information about quotafile */ -struct util_dqinfo { - time_t dqi_bgrace; /* Block grace time for given quotafile */ - time_t dqi_igrace; /* Inode grace time for given quotafile */ - union { - struct v2_mem_dqinfo v2_mdqi; - } u; /* Format specific info about quotafile */ -}; - -struct quota_file { - ext2_filsys fs; - ext2_ino_t ino; - ext2_file_t e2_file; -}; - -/* Structure for one opened quota file */ -struct quota_handle { - int qh_type; /* Type of quotafile */ - int qh_fmt; /* Quotafile format */ - int qh_io_flags; /* IO flags for file */ - struct quota_file qh_qf; - unsigned int (*e2fs_read)(struct quota_file *qf, ext2_loff_t offset, - void *buf, unsigned int size); - unsigned int (*e2fs_write)(struct quota_file *qf, ext2_loff_t offset, - void *buf, unsigned int size); - struct quotafile_ops *qh_ops; /* Operations on quotafile */ - struct util_dqinfo qh_info; /* Generic quotafile info */ -}; - -/* Utility quota block */ -struct util_dqblk { - qsize_t dqb_ihardlimit; - qsize_t dqb_isoftlimit; - qsize_t dqb_curinodes; - qsize_t dqb_bhardlimit; - qsize_t dqb_bsoftlimit; - qsize_t dqb_curspace; - time_t dqb_btime; - time_t dqb_itime; - union { - struct v2_mem_dqblk v2_mdqb; - } u; /* Format specific dquot information */ -}; - -/* Structure for one loaded quota */ -struct dquot { - struct dquot *dq_next; /* Pointer to next dquot in the list */ - qid_t dq_id; /* ID dquot belongs to */ - int dq_flags; /* Some flags for utils */ - struct quota_handle *dq_h; /* Handle of quotafile for this dquot */ - struct util_dqblk dq_dqb; /* Parsed data of dquot */ -}; - -/* Structure of quotafile operations */ -struct quotafile_ops { - /* Check whether quotafile is in our format */ - int (*check_file) (struct quota_handle *h, int type, int fmt); - /* Open quotafile */ - int (*init_io) (struct quota_handle *h); - /* Create new quotafile */ - int (*new_io) (struct quota_handle *h); - /* Write all changes and close quotafile */ - int (*end_io) (struct quota_handle *h); - /* Write info about quotafile */ - int (*write_info) (struct quota_handle *h); - /* Read dquot into memory */ - struct dquot *(*read_dquot) (struct quota_handle *h, qid_t id); - /* Write given dquot to disk */ - int (*commit_dquot) (struct dquot *dquot); - /* Scan quotafile and call callback on every structure */ - int (*scan_dquots) (struct quota_handle *h, - int (*process_dquot) (struct dquot *dquot, - void *data), - void *data); - /* Function to print format specific file information */ - int (*report) (struct quota_handle *h, int verbose); -}; - -/* This might go into a special header file but that sounds a bit silly... */ -extern struct quotafile_ops quotafile_ops_meta; - -/* Open existing quotafile of given type (and verify its format) on given - * filesystem. */ -errcode_t quota_file_open(struct quota_handle *h, ext2_filsys fs, - ext2_ino_t qf_ino, int type, int fmt, int flags); - - -/* Create new quotafile of specified format on given filesystem */ -errcode_t quota_file_create(struct quota_handle *h, ext2_filsys fs, - int type, int fmt); - -/* Close quotafile */ -errcode_t quota_file_close(struct quota_handle *h); - -/* Get empty quota structure */ -struct dquot *get_empty_dquot(void); - -errcode_t quota_inode_truncate(ext2_filsys fs, ext2_ino_t ino); - -const char *type2name(int type); - -void update_grace_times(struct dquot *q); - -/* size for the buffer returned by quota_get_qf_name(); must be greater - than maxlen of extensions[] and fmtnames[] (plus 2) found in quotaio.c */ -#define QUOTA_NAME_LEN 16 - -const char *quota_get_qf_name(int type, int fmt, char *buf); -const char *quota_get_qf_path(const char *mntpt, int qtype, int fmt, - char *path_buf, size_t path_buf_size); - -#endif /* GUARD_QUOTAIO_H */ diff --git a/lib/quota/quotaio_tree.c b/lib/quota/quotaio_tree.c deleted file mode 100644 index 964494d1..00000000 --- a/lib/quota/quotaio_tree.c +++ /dev/null @@ -1,655 +0,0 @@ -/* - * Implementation of new quotafile format - * - * Jan Kara - sponsored by SuSE CR - */ - -#include -#include -#include -#include -#include -#include - -#include "common.h" -#include "quotaio_tree.h" -#include "quotaio.h" - -typedef char *dqbuf_t; - -#define freedqbuf(buf) ext2fs_free_mem(&buf) - -static inline dqbuf_t getdqbuf(void) -{ - dqbuf_t buf; - if (ext2fs_get_memzero(QT_BLKSIZE, &buf)) { - log_err("Failed to allocate dqbuf"); - return NULL; - } - - return buf; -} - -/* Is given dquot empty? */ -int qtree_entry_unused(struct qtree_mem_dqinfo *info, char *disk) -{ - int i; - - for (i = 0; i < info->dqi_entry_size; i++) - if (disk[i]) - return 0; - return 1; -} - -int qtree_dqstr_in_blk(struct qtree_mem_dqinfo *info) -{ - return (QT_BLKSIZE - sizeof(struct qt_disk_dqdbheader)) / - info->dqi_entry_size; -} - -static int get_index(qid_t id, int depth) -{ - return (id >> ((QT_TREEDEPTH - depth - 1) * 8)) & 0xff; -} - -static inline void mark_quotafile_info_dirty(struct quota_handle *h) -{ - h->qh_io_flags |= IOFL_INFODIRTY; -} - -/* Read given block */ -static void read_blk(struct quota_handle *h, uint blk, dqbuf_t buf) -{ - int err; - - err = h->e2fs_read(&h->qh_qf, blk << QT_BLKSIZE_BITS, buf, - QT_BLKSIZE); - if (err < 0) - log_err("Cannot read block %u: %s", blk, strerror(errno)); - else if (err != QT_BLKSIZE) - memset(buf + err, 0, QT_BLKSIZE - err); -} - -/* Write block */ -static int write_blk(struct quota_handle *h, uint blk, dqbuf_t buf) -{ - int err; - - err = h->e2fs_write(&h->qh_qf, blk << QT_BLKSIZE_BITS, buf, - QT_BLKSIZE); - if (err < 0 && errno != ENOSPC) - log_err("Cannot write block (%u): %s", blk, strerror(errno)); - if (err != QT_BLKSIZE) - return -ENOSPC; - return 0; -} - -/* Get free block in file (either from free list or create new one) */ -static int get_free_dqblk(struct quota_handle *h) -{ - dqbuf_t buf = getdqbuf(); - struct qt_disk_dqdbheader *dh = (struct qt_disk_dqdbheader *)buf; - struct qtree_mem_dqinfo *info = &h->qh_info.u.v2_mdqi.dqi_qtree; - int blk; - - if (!buf) - return -ENOMEM; - - if (info->dqi_free_blk) { - blk = info->dqi_free_blk; - read_blk(h, blk, buf); - info->dqi_free_blk = ext2fs_le32_to_cpu(dh->dqdh_next_free); - } else { - memset(buf, 0, QT_BLKSIZE); - /* Assure block allocation... */ - if (write_blk(h, info->dqi_blocks, buf) < 0) { - freedqbuf(buf); - log_err("Cannot allocate new quota block " - "(out of disk space)."); - return -ENOSPC; - } - blk = info->dqi_blocks++; - } - mark_quotafile_info_dirty(h); - freedqbuf(buf); - return blk; -} - -/* Put given block to free list */ -static void put_free_dqblk(struct quota_handle *h, dqbuf_t buf, uint blk) -{ - struct qt_disk_dqdbheader *dh = (struct qt_disk_dqdbheader *)buf; - struct qtree_mem_dqinfo *info = &h->qh_info.u.v2_mdqi.dqi_qtree; - - dh->dqdh_next_free = ext2fs_cpu_to_le32(info->dqi_free_blk); - dh->dqdh_prev_free = ext2fs_cpu_to_le32(0); - dh->dqdh_entries = ext2fs_cpu_to_le16(0); - info->dqi_free_blk = blk; - mark_quotafile_info_dirty(h); - write_blk(h, blk, buf); -} - -/* Remove given block from the list of blocks with free entries */ -static void remove_free_dqentry(struct quota_handle *h, dqbuf_t buf, uint blk) -{ - dqbuf_t tmpbuf = getdqbuf(); - struct qt_disk_dqdbheader *dh = (struct qt_disk_dqdbheader *)buf; - uint nextblk = ext2fs_le32_to_cpu(dh->dqdh_next_free), prevblk = - - ext2fs_le32_to_cpu(dh->dqdh_prev_free); - - if (!tmpbuf) - return; - - if (nextblk) { - read_blk(h, nextblk, tmpbuf); - ((struct qt_disk_dqdbheader *)tmpbuf)->dqdh_prev_free = - dh->dqdh_prev_free; - write_blk(h, nextblk, tmpbuf); - } - if (prevblk) { - read_blk(h, prevblk, tmpbuf); - ((struct qt_disk_dqdbheader *)tmpbuf)->dqdh_next_free = - dh->dqdh_next_free; - write_blk(h, prevblk, tmpbuf); - } else { - h->qh_info.u.v2_mdqi.dqi_qtree.dqi_free_entry = nextblk; - mark_quotafile_info_dirty(h); - } - freedqbuf(tmpbuf); - dh->dqdh_next_free = dh->dqdh_prev_free = ext2fs_cpu_to_le32(0); - write_blk(h, blk, buf); /* No matter whether write succeeds - * block is out of list */ -} - -/* Insert given block to the beginning of list with free entries */ -static void insert_free_dqentry(struct quota_handle *h, dqbuf_t buf, uint blk) -{ - dqbuf_t tmpbuf = getdqbuf(); - struct qt_disk_dqdbheader *dh = (struct qt_disk_dqdbheader *)buf; - struct qtree_mem_dqinfo *info = &h->qh_info.u.v2_mdqi.dqi_qtree; - - if (!tmpbuf) - return; - - dh->dqdh_next_free = ext2fs_cpu_to_le32(info->dqi_free_entry); - dh->dqdh_prev_free = ext2fs_cpu_to_le32(0); - write_blk(h, blk, buf); - if (info->dqi_free_entry) { - read_blk(h, info->dqi_free_entry, tmpbuf); - ((struct qt_disk_dqdbheader *)tmpbuf)->dqdh_prev_free = - ext2fs_cpu_to_le32(blk); - write_blk(h, info->dqi_free_entry, tmpbuf); - } - freedqbuf(tmpbuf); - info->dqi_free_entry = blk; - mark_quotafile_info_dirty(h); -} - -/* Find space for dquot */ -static uint find_free_dqentry(struct quota_handle *h, struct dquot *dquot, - int *err) -{ - int blk, i; - struct qt_disk_dqdbheader *dh; - struct qtree_mem_dqinfo *info = &h->qh_info.u.v2_mdqi.dqi_qtree; - char *ddquot; - dqbuf_t buf; - - *err = 0; - buf = getdqbuf(); - if (!buf) { - *err = -ENOMEM; - return 0; - } - - dh = (struct qt_disk_dqdbheader *)buf; - if (info->dqi_free_entry) { - blk = info->dqi_free_entry; - read_blk(h, blk, buf); - } else { - blk = get_free_dqblk(h); - if (blk < 0) { - freedqbuf(buf); - *err = blk; - return 0; - } - memset(buf, 0, QT_BLKSIZE); - info->dqi_free_entry = blk; - mark_quotafile_info_dirty(h); - } - - /* Block will be full? */ - if (ext2fs_le16_to_cpu(dh->dqdh_entries) + 1 >= - qtree_dqstr_in_blk(info)) - remove_free_dqentry(h, buf, blk); - - dh->dqdh_entries = - ext2fs_cpu_to_le16(ext2fs_le16_to_cpu(dh->dqdh_entries) + 1); - /* Find free structure in block */ - ddquot = buf + sizeof(struct qt_disk_dqdbheader); - for (i = 0; - i < qtree_dqstr_in_blk(info) && !qtree_entry_unused(info, ddquot); - i++) - ddquot += info->dqi_entry_size; - - if (i == qtree_dqstr_in_blk(info)) - log_err("find_free_dqentry(): Data block full unexpectedly."); - - write_blk(h, blk, buf); - dquot->dq_dqb.u.v2_mdqb.dqb_off = - (blk << QT_BLKSIZE_BITS) + sizeof(struct qt_disk_dqdbheader) + - i * info->dqi_entry_size; - freedqbuf(buf); - return blk; -} - -/* Insert reference to structure into the trie */ -static int do_insert_tree(struct quota_handle *h, struct dquot *dquot, - uint * treeblk, int depth) -{ - dqbuf_t buf; - int newson = 0, newact = 0; - u_int32_t *ref; - uint newblk; - int ret = 0; - - log_debug("inserting in tree: treeblk=%u, depth=%d", *treeblk, depth); - buf = getdqbuf(); - if (!buf) - return -ENOMEM; - - if (!*treeblk) { - ret = get_free_dqblk(h); - if (ret < 0) - goto out_buf; - *treeblk = ret; - memset(buf, 0, QT_BLKSIZE); - newact = 1; - } else { - read_blk(h, *treeblk, buf); - } - - ref = (u_int32_t *) buf; - newblk = ext2fs_le32_to_cpu(ref[get_index(dquot->dq_id, depth)]); - if (!newblk) - newson = 1; - if (depth == QT_TREEDEPTH - 1) { - if (newblk) - log_err("Inserting already present quota entry " - "(block %u).", - ref[get_index(dquot->dq_id, depth)]); - newblk = find_free_dqentry(h, dquot, &ret); - } else { - ret = do_insert_tree(h, dquot, &newblk, depth + 1); - } - - if (newson && ret >= 0) { - ref[get_index(dquot->dq_id, depth)] = - ext2fs_cpu_to_le32(newblk); - write_blk(h, *treeblk, buf); - } else if (newact && ret < 0) { - put_free_dqblk(h, buf, *treeblk); - } - -out_buf: - freedqbuf(buf); - return ret; -} - -/* Wrapper for inserting quota structure into tree */ -static void dq_insert_tree(struct quota_handle *h, struct dquot *dquot) -{ - uint tmp = QT_TREEOFF; - - if (do_insert_tree(h, dquot, &tmp, 0) < 0) - log_err("Cannot write quota (id %u): %s", - (uint) dquot->dq_id, strerror(errno)); -} - -/* Write dquot to file */ -void qtree_write_dquot(struct dquot *dquot) -{ - ssize_t ret; - char *ddquot; - struct quota_handle *h = dquot->dq_h; - struct qtree_mem_dqinfo *info = - &dquot->dq_h->qh_info.u.v2_mdqi.dqi_qtree; - log_debug("writing ddquot 1: off=%llu, info->dqi_entry_size=%u", - dquot->dq_dqb.u.v2_mdqb.dqb_off, - info->dqi_entry_size); - ret = ext2fs_get_mem(info->dqi_entry_size, &ddquot); - if (ret) { - errno = ENOMEM; - log_err("Quota write failed (id %u): %s", - (uint)dquot->dq_id, strerror(errno)); - return; - } - - if (!dquot->dq_dqb.u.v2_mdqb.dqb_off) - dq_insert_tree(dquot->dq_h, dquot); - info->dqi_ops->mem2disk_dqblk(ddquot, dquot); - log_debug("writing ddquot 2: off=%llu, info->dqi_entry_size=%u", - dquot->dq_dqb.u.v2_mdqb.dqb_off, - info->dqi_entry_size); - ret = h->e2fs_write(&h->qh_qf, dquot->dq_dqb.u.v2_mdqb.dqb_off, ddquot, - info->dqi_entry_size); - - if (ret != info->dqi_entry_size) { - if (ret > 0) - errno = ENOSPC; - log_err("Quota write failed (id %u): %s", - (uint)dquot->dq_id, strerror(errno)); - } - ext2fs_free_mem(&ddquot); -} - -/* Free dquot entry in data block */ -static void free_dqentry(struct quota_handle *h, struct dquot *dquot, uint blk) -{ - struct qt_disk_dqdbheader *dh; - struct qtree_mem_dqinfo *info = &h->qh_info.u.v2_mdqi.dqi_qtree; - dqbuf_t buf = getdqbuf(); - - if (!buf) - return; - - if (dquot->dq_dqb.u.v2_mdqb.dqb_off >> QT_BLKSIZE_BITS != blk) - log_err("Quota structure has offset to other block (%u) " - "than it should (%u).", blk, - (uint) (dquot->dq_dqb.u.v2_mdqb.dqb_off >> - QT_BLKSIZE_BITS)); - - read_blk(h, blk, buf); - dh = (struct qt_disk_dqdbheader *)buf; - dh->dqdh_entries = - ext2fs_cpu_to_le16(ext2fs_le16_to_cpu(dh->dqdh_entries) - 1); - - if (!ext2fs_le16_to_cpu(dh->dqdh_entries)) { /* Block got free? */ - remove_free_dqentry(h, buf, blk); - put_free_dqblk(h, buf, blk); - } else { - memset(buf + (dquot->dq_dqb.u.v2_mdqb.dqb_off & - ((1 << QT_BLKSIZE_BITS) - 1)), - 0, info->dqi_entry_size); - - /* First free entry? */ - if (ext2fs_le16_to_cpu(dh->dqdh_entries) == - qtree_dqstr_in_blk(info) - 1) - /* This will also write data block */ - insert_free_dqentry(h, buf, blk); - else - write_blk(h, blk, buf); - } - dquot->dq_dqb.u.v2_mdqb.dqb_off = 0; - freedqbuf(buf); -} - -/* Remove reference to dquot from tree */ -static void remove_tree(struct quota_handle *h, struct dquot *dquot, - uint * blk, int depth) -{ - dqbuf_t buf = getdqbuf(); - uint newblk; - u_int32_t *ref = (u_int32_t *) buf; - - if (!buf) - return; - - read_blk(h, *blk, buf); - newblk = ext2fs_le32_to_cpu(ref[get_index(dquot->dq_id, depth)]); - if (depth == QT_TREEDEPTH - 1) { - free_dqentry(h, dquot, newblk); - newblk = 0; - } else { - remove_tree(h, dquot, &newblk, depth + 1); - } - - if (!newblk) { - int i; - - ref[get_index(dquot->dq_id, depth)] = ext2fs_cpu_to_le32(0); - - /* Block got empty? */ - for (i = 0; i < QT_BLKSIZE && !buf[i]; i++); - - /* Don't put the root block into the free block list */ - if (i == QT_BLKSIZE && *blk != QT_TREEOFF) { - put_free_dqblk(h, buf, *blk); - *blk = 0; - } else { - write_blk(h, *blk, buf); - } - } - freedqbuf(buf); -} - -/* Delete dquot from tree */ -void qtree_delete_dquot(struct dquot *dquot) -{ - uint tmp = QT_TREEOFF; - - if (!dquot->dq_dqb.u.v2_mdqb.dqb_off) /* Even not allocated? */ - return; - remove_tree(dquot->dq_h, dquot, &tmp, 0); -} - -/* Find entry in block */ -static ext2_loff_t find_block_dqentry(struct quota_handle *h, - struct dquot *dquot, uint blk) -{ - struct qtree_mem_dqinfo *info = &h->qh_info.u.v2_mdqi.dqi_qtree; - dqbuf_t buf = getdqbuf(); - int i; - char *ddquot = buf + sizeof(struct qt_disk_dqdbheader); - - if (!buf) - return -ENOMEM; - - read_blk(h, blk, buf); - for (i = 0; - i < qtree_dqstr_in_blk(info) && !info->dqi_ops->is_id(ddquot, dquot); - i++) - ddquot += info->dqi_entry_size; - - if (i == qtree_dqstr_in_blk(info)) - log_err("Quota for id %u referenced but not present.", - dquot->dq_id); - freedqbuf(buf); - return (blk << QT_BLKSIZE_BITS) + sizeof(struct qt_disk_dqdbheader) + - i * info->dqi_entry_size; -} - -/* Find entry for given id in the tree */ -static ext2_loff_t find_tree_dqentry(struct quota_handle *h, - struct dquot *dquot, - uint blk, int depth) -{ - dqbuf_t buf = getdqbuf(); - ext2_loff_t ret = 0; - u_int32_t *ref = (u_int32_t *) buf; - - if (!buf) - return -ENOMEM; - - read_blk(h, blk, buf); - ret = 0; - blk = ext2fs_le32_to_cpu(ref[get_index(dquot->dq_id, depth)]); - if (!blk) /* No reference? */ - goto out_buf; - if (depth < QT_TREEDEPTH - 1) - ret = find_tree_dqentry(h, dquot, blk, depth + 1); - else - ret = find_block_dqentry(h, dquot, blk); -out_buf: - freedqbuf(buf); - return ret; -} - -/* Find entry for given id in the tree - wrapper function */ -static inline ext2_loff_t find_dqentry(struct quota_handle *h, - struct dquot *dquot) -{ - return find_tree_dqentry(h, dquot, QT_TREEOFF, 0); -} - -/* - * Read dquot from disk. - */ -struct dquot *qtree_read_dquot(struct quota_handle *h, qid_t id) -{ - struct qtree_mem_dqinfo *info = &h->qh_info.u.v2_mdqi.dqi_qtree; - ext2_loff_t offset; - ssize_t ret; - char *ddquot; - struct dquot *dquot = get_empty_dquot(); - - if (!dquot) - return NULL; - if (ext2fs_get_mem(info->dqi_entry_size, &ddquot)) { - ext2fs_free_mem(&dquot); - return NULL; - } - - dquot->dq_id = id; - dquot->dq_h = h; - dquot->dq_dqb.u.v2_mdqb.dqb_off = 0; - memset(&dquot->dq_dqb, 0, sizeof(struct util_dqblk)); - - offset = find_dqentry(h, dquot); - if (offset > 0) { - dquot->dq_dqb.u.v2_mdqb.dqb_off = offset; - ret = h->e2fs_read(&h->qh_qf, offset, ddquot, - info->dqi_entry_size); - if (ret != info->dqi_entry_size) { - if (ret > 0) - errno = EIO; - log_err("Cannot read quota structure for id %u: %s", - dquot->dq_id, strerror(errno)); - } - info->dqi_ops->disk2mem_dqblk(dquot, ddquot); - } - ext2fs_free_mem(&ddquot); - return dquot; -} - -/* - * Scan all dquots in file and call callback on each - */ -#define set_bit(bmp, ind) ((bmp)[(ind) >> 3] |= (1 << ((ind) & 7))) -#define get_bit(bmp, ind) ((bmp)[(ind) >> 3] & (1 << ((ind) & 7))) - -static int report_block(struct dquot *dquot, uint blk, char *bitmap, - int (*process_dquot) (struct dquot *, void *), - void *data) -{ - struct qtree_mem_dqinfo *info = - &dquot->dq_h->qh_info.u.v2_mdqi.dqi_qtree; - dqbuf_t buf = getdqbuf(); - struct qt_disk_dqdbheader *dh; - char *ddata; - int entries, i; - - if (!buf) - return 0; - - set_bit(bitmap, blk); - read_blk(dquot->dq_h, blk, buf); - dh = (struct qt_disk_dqdbheader *)buf; - ddata = buf + sizeof(struct qt_disk_dqdbheader); - entries = ext2fs_le16_to_cpu(dh->dqdh_entries); - for (i = 0; i < qtree_dqstr_in_blk(info); - i++, ddata += info->dqi_entry_size) - if (!qtree_entry_unused(info, ddata)) { - dquot->dq_dqb.u.v2_mdqb.dqb_off = - (blk << QT_BLKSIZE_BITS) + - sizeof(struct qt_disk_dqdbheader) + - i * info->dqi_entry_size; - info->dqi_ops->disk2mem_dqblk(dquot, ddata); - if (process_dquot(dquot, data) < 0) - break; - } - freedqbuf(buf); - return entries; -} - -static void check_reference(struct quota_handle *h, uint blk) -{ - if (blk >= h->qh_info.u.v2_mdqi.dqi_qtree.dqi_blocks) - log_err("Illegal reference (%u >= %u) in %s quota file. " - "Quota file is probably corrupted.\n" - "Please run e2fsck (8) to fix it.", - blk, - h->qh_info.u.v2_mdqi.dqi_qtree.dqi_blocks, - type2name(h->qh_type)); -} - -static int report_tree(struct dquot *dquot, uint blk, int depth, char *bitmap, - int (*process_dquot) (struct dquot *, void *), - void *data) -{ - int entries = 0, i; - dqbuf_t buf = getdqbuf(); - u_int32_t *ref = (u_int32_t *) buf; - - if (!buf) - return 0; - - read_blk(dquot->dq_h, blk, buf); - if (depth == QT_TREEDEPTH - 1) { - for (i = 0; i < QT_BLKSIZE >> 2; i++) { - blk = ext2fs_le32_to_cpu(ref[i]); - check_reference(dquot->dq_h, blk); - if (blk && !get_bit(bitmap, blk)) - entries += report_block(dquot, blk, bitmap, - process_dquot, data); - } - } else { - for (i = 0; i < QT_BLKSIZE >> 2; i++) { - blk = ext2fs_le32_to_cpu(ref[i]); - if (blk) { - check_reference(dquot->dq_h, blk); - entries += report_tree(dquot, blk, depth + 1, - bitmap, process_dquot, - data); - } - } - } - freedqbuf(buf); - return entries; -} - -static uint find_set_bits(char *bmp, int blocks) -{ - uint i, used = 0; - - for (i = 0; i < blocks; i++) - if (get_bit(bmp, i)) - used++; - return used; -} - -int qtree_scan_dquots(struct quota_handle *h, - int (*process_dquot) (struct dquot *, void *), - void *data) -{ - char *bitmap; - struct v2_mem_dqinfo *v2info = &h->qh_info.u.v2_mdqi; - struct qtree_mem_dqinfo *info = &v2info->dqi_qtree; - struct dquot *dquot = get_empty_dquot(); - - if (!dquot) - return -1; - - dquot->dq_h = h; - if (ext2fs_get_memzero((info->dqi_blocks + 7) >> 3, &bitmap)) { - ext2fs_free_mem(&dquot); - return -1; - } - v2info->dqi_used_entries = report_tree(dquot, QT_TREEOFF, 0, bitmap, - process_dquot, data); - v2info->dqi_data_blocks = find_set_bits(bitmap, info->dqi_blocks); - ext2fs_free_mem(&bitmap); - ext2fs_free_mem(&dquot); - return 0; -} diff --git a/lib/quota/quotaio_tree.h b/lib/quota/quotaio_tree.h deleted file mode 100644 index 6ee54c99..00000000 --- a/lib/quota/quotaio_tree.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Definitions of structures for vfsv0 quota format - */ - -#ifndef _LINUX_QUOTA_TREE_H -#define _LINUX_QUOTA_TREE_H - -#include - -typedef u_int32_t qid_t; /* Type in which we store ids in memory */ - -#define QT_TREEOFF 1 /* Offset of tree in file in blocks */ -#define QT_TREEDEPTH 4 /* Depth of quota tree */ -#define QT_BLKSIZE_BITS 10 -#define QT_BLKSIZE (1 << QT_BLKSIZE_BITS) /* Size of block with quota - * structures */ - -/* - * Structure of header of block with quota structures. It is padded to 16 bytes - * so there will be space for exactly 21 quota-entries in a block - */ -struct qt_disk_dqdbheader { - u_int32_t dqdh_next_free; /* Number of next block with free - * entry */ - u_int32_t dqdh_prev_free; /* Number of previous block with free - * entry */ - u_int16_t dqdh_entries; /* Number of valid entries in block */ - u_int16_t dqdh_pad1; - u_int32_t dqdh_pad2; -} __attribute__ ((packed)); - -struct dquot; -struct quota_handle; - -/* Operations */ -struct qtree_fmt_operations { - /* Convert given entry from in memory format to disk one */ - void (*mem2disk_dqblk)(void *disk, struct dquot *dquot); - /* Convert given entry from disk format to in memory one */ - void (*disk2mem_dqblk)(struct dquot *dquot, void *disk); - /* Is this structure for given id? */ - int (*is_id)(void *disk, struct dquot *dquot); -}; - -/* Inmemory copy of version specific information */ -struct qtree_mem_dqinfo { - unsigned int dqi_blocks; /* # of blocks in quota file */ - unsigned int dqi_free_blk; /* First block in list of free blocks */ - unsigned int dqi_free_entry; /* First block with free entry */ - unsigned int dqi_entry_size; /* Size of quota entry in quota file */ - struct qtree_fmt_operations *dqi_ops; /* Operations for entry - * manipulation */ -}; - -void qtree_write_dquot(struct dquot *dquot); -struct dquot *qtree_read_dquot(struct quota_handle *h, qid_t id); -void qtree_delete_dquot(struct dquot *dquot); -int qtree_entry_unused(struct qtree_mem_dqinfo *info, char *disk); -int qtree_scan_dquots(struct quota_handle *h, - int (*process_dquot) (struct dquot *, void *), void *data); - -int qtree_dqstr_in_blk(struct qtree_mem_dqinfo *info); - -#endif /* _LINUX_QUOTAIO_TREE_H */ diff --git a/lib/quota/quotaio_v2.c b/lib/quota/quotaio_v2.c deleted file mode 100644 index de53e7d4..00000000 --- a/lib/quota/quotaio_v2.c +++ /dev/null @@ -1,282 +0,0 @@ -/* - * Implementation of new quotafile format - * - * Jan Kara - sponsored by SuSE CR - */ - -#include -#include -#include -#include -#include -#include - -#include "common.h" -#include "quotaio_v2.h" -#include "dqblk_v2.h" -#include "quotaio.h" -#include "quotaio_tree.h" - -static int v2_check_file(struct quota_handle *h, int type, int fmt); -static int v2_init_io(struct quota_handle *h); -static int v2_new_io(struct quota_handle *h); -static int v2_write_info(struct quota_handle *h); -static struct dquot *v2_read_dquot(struct quota_handle *h, qid_t id); -static int v2_commit_dquot(struct dquot *dquot); -static int v2_scan_dquots(struct quota_handle *h, - int (*process_dquot) (struct dquot *dquot, - void *data), - void *data); -static int v2_report(struct quota_handle *h, int verbose); - -struct quotafile_ops quotafile_ops_2 = { - .check_file = v2_check_file, - .init_io = v2_init_io, - .new_io = v2_new_io, - .write_info = v2_write_info, - .read_dquot = v2_read_dquot, - .commit_dquot = v2_commit_dquot, - .scan_dquots = v2_scan_dquots, - .report = v2_report, -}; - -/* - * Copy dquot from disk to memory - */ -static void v2r1_disk2memdqblk(struct dquot *dquot, void *dp) -{ - struct util_dqblk *m = &dquot->dq_dqb; - struct v2r1_disk_dqblk *d = dp, empty; - - dquot->dq_id = ext2fs_le32_to_cpu(d->dqb_id); - m->dqb_ihardlimit = ext2fs_le64_to_cpu(d->dqb_ihardlimit); - m->dqb_isoftlimit = ext2fs_le64_to_cpu(d->dqb_isoftlimit); - m->dqb_bhardlimit = ext2fs_le64_to_cpu(d->dqb_bhardlimit); - m->dqb_bsoftlimit = ext2fs_le64_to_cpu(d->dqb_bsoftlimit); - m->dqb_curinodes = ext2fs_le64_to_cpu(d->dqb_curinodes); - m->dqb_curspace = ext2fs_le64_to_cpu(d->dqb_curspace); - m->dqb_itime = ext2fs_le64_to_cpu(d->dqb_itime); - m->dqb_btime = ext2fs_le64_to_cpu(d->dqb_btime); - - memset(&empty, 0, sizeof(struct v2r1_disk_dqblk)); - empty.dqb_itime = ext2fs_cpu_to_le64(1); - if (!memcmp(&empty, dp, sizeof(struct v2r1_disk_dqblk))) - m->dqb_itime = 0; -} - -/* - * Copy dquot from memory to disk - */ -static void v2r1_mem2diskdqblk(void *dp, struct dquot *dquot) -{ - struct util_dqblk *m = &dquot->dq_dqb; - struct v2r1_disk_dqblk *d = dp; - - d->dqb_ihardlimit = ext2fs_cpu_to_le64(m->dqb_ihardlimit); - d->dqb_isoftlimit = ext2fs_cpu_to_le64(m->dqb_isoftlimit); - d->dqb_bhardlimit = ext2fs_cpu_to_le64(m->dqb_bhardlimit); - d->dqb_bsoftlimit = ext2fs_cpu_to_le64(m->dqb_bsoftlimit); - d->dqb_curinodes = ext2fs_cpu_to_le64(m->dqb_curinodes); - d->dqb_curspace = ext2fs_cpu_to_le64(m->dqb_curspace); - d->dqb_itime = ext2fs_cpu_to_le64(m->dqb_itime); - d->dqb_btime = ext2fs_cpu_to_le64(m->dqb_btime); - d->dqb_id = ext2fs_cpu_to_le32(dquot->dq_id); - if (qtree_entry_unused(&dquot->dq_h->qh_info.u.v2_mdqi.dqi_qtree, dp)) - d->dqb_itime = ext2fs_cpu_to_le64(1); -} - -static int v2r1_is_id(void *dp, struct dquot *dquot) -{ - struct v2r1_disk_dqblk *d = dp; - struct qtree_mem_dqinfo *info = - &dquot->dq_h->qh_info.u.v2_mdqi.dqi_qtree; - - if (qtree_entry_unused(info, dp)) - return 0; - return ext2fs_le32_to_cpu(d->dqb_id) == dquot->dq_id; -} - -static struct qtree_fmt_operations v2r1_fmt_ops = { - .mem2disk_dqblk = v2r1_mem2diskdqblk, - .disk2mem_dqblk = v2r1_disk2memdqblk, - .is_id = v2r1_is_id, -}; - -/* - * Copy dqinfo from disk to memory - */ -static inline void v2_disk2memdqinfo(struct util_dqinfo *m, - struct v2_disk_dqinfo *d) -{ - m->dqi_bgrace = ext2fs_le32_to_cpu(d->dqi_bgrace); - m->dqi_igrace = ext2fs_le32_to_cpu(d->dqi_igrace); - m->u.v2_mdqi.dqi_flags = ext2fs_le32_to_cpu(d->dqi_flags) & V2_DQF_MASK; - m->u.v2_mdqi.dqi_qtree.dqi_blocks = ext2fs_le32_to_cpu(d->dqi_blocks); - m->u.v2_mdqi.dqi_qtree.dqi_free_blk = - ext2fs_le32_to_cpu(d->dqi_free_blk); - m->u.v2_mdqi.dqi_qtree.dqi_free_entry = - ext2fs_le32_to_cpu(d->dqi_free_entry); -} - -/* - * Copy dqinfo from memory to disk - */ -static inline void v2_mem2diskdqinfo(struct v2_disk_dqinfo *d, - struct util_dqinfo *m) -{ - d->dqi_bgrace = ext2fs_cpu_to_le32(m->dqi_bgrace); - d->dqi_igrace = ext2fs_cpu_to_le32(m->dqi_igrace); - d->dqi_flags = ext2fs_cpu_to_le32(m->u.v2_mdqi.dqi_flags & V2_DQF_MASK); - d->dqi_blocks = ext2fs_cpu_to_le32(m->u.v2_mdqi.dqi_qtree.dqi_blocks); - d->dqi_free_blk = - ext2fs_cpu_to_le32(m->u.v2_mdqi.dqi_qtree.dqi_free_blk); - d->dqi_free_entry = - ext2fs_cpu_to_le32(m->u.v2_mdqi.dqi_qtree.dqi_free_entry); -} - -static int v2_read_header(struct quota_handle *h, struct v2_disk_dqheader *dqh) -{ - if (h->e2fs_read(&h->qh_qf, 0, dqh, sizeof(struct v2_disk_dqheader)) != - sizeof(struct v2_disk_dqheader)) - return 0; - - return 1; -} - -/* - * Check whether given quota file is in our format - */ -static int v2_check_file(struct quota_handle *h, int type, int fmt) -{ - struct v2_disk_dqheader dqh; - int file_magics[] = INITQMAGICS; - - if (fmt != QFMT_VFS_V1) - return 0; - - if (!v2_read_header(h, &dqh)) - return 0; - - if (ext2fs_le32_to_cpu(dqh.dqh_magic) != file_magics[type]) { - if (ext2fs_be32_to_cpu(dqh.dqh_magic) == file_magics[type]) - log_err("Your quota file is stored in wrong endianity"); - return 0; - } - if (V2_VERSION != ext2fs_le32_to_cpu(dqh.dqh_version)) - return 0; - return 1; -} - -/* - * Open quotafile - */ -static int v2_init_io(struct quota_handle *h) -{ - struct v2_disk_dqinfo ddqinfo; - - h->qh_info.u.v2_mdqi.dqi_qtree.dqi_entry_size = - sizeof(struct v2r1_disk_dqblk); - h->qh_info.u.v2_mdqi.dqi_qtree.dqi_ops = &v2r1_fmt_ops; - - /* Read information about quotafile */ - if (h->e2fs_read(&h->qh_qf, V2_DQINFOOFF, &ddqinfo, - sizeof(ddqinfo)) != sizeof(ddqinfo)) - return -1; - v2_disk2memdqinfo(&h->qh_info, &ddqinfo); - return 0; -} - -/* - * Initialize new quotafile - */ -static int v2_new_io(struct quota_handle *h) -{ - int file_magics[] = INITQMAGICS; - struct v2_disk_dqheader ddqheader; - struct v2_disk_dqinfo ddqinfo; - - if (h->qh_fmt != QFMT_VFS_V1) - return -1; - - /* Write basic quota header */ - ddqheader.dqh_magic = ext2fs_cpu_to_le32(file_magics[h->qh_type]); - ddqheader.dqh_version = ext2fs_cpu_to_le32(V2_VERSION); - if (h->e2fs_write(&h->qh_qf, 0, &ddqheader, sizeof(ddqheader)) != - sizeof(ddqheader)) - return -1; - - /* Write information about quotafile */ - h->qh_info.dqi_bgrace = MAX_DQ_TIME; - h->qh_info.dqi_igrace = MAX_IQ_TIME; - h->qh_info.u.v2_mdqi.dqi_flags = 0; - h->qh_info.u.v2_mdqi.dqi_qtree.dqi_blocks = QT_TREEOFF + 1; - h->qh_info.u.v2_mdqi.dqi_qtree.dqi_free_blk = 0; - h->qh_info.u.v2_mdqi.dqi_qtree.dqi_free_entry = 0; - h->qh_info.u.v2_mdqi.dqi_qtree.dqi_entry_size = - sizeof(struct v2r1_disk_dqblk); - h->qh_info.u.v2_mdqi.dqi_qtree.dqi_ops = &v2r1_fmt_ops; - v2_mem2diskdqinfo(&ddqinfo, &h->qh_info); - if (h->e2fs_write(&h->qh_qf, V2_DQINFOOFF, &ddqinfo, - sizeof(ddqinfo)) != - sizeof(ddqinfo)) - return -1; - - return 0; -} - -/* - * Write information (grace times to file) - */ -static int v2_write_info(struct quota_handle *h) -{ - struct v2_disk_dqinfo ddqinfo; - - v2_mem2diskdqinfo(&ddqinfo, &h->qh_info); - if (h->e2fs_write(&h->qh_qf, V2_DQINFOOFF, &ddqinfo, sizeof(ddqinfo)) != - sizeof(ddqinfo)) - return -1; - - return 0; -} - -/* - * Read dquot from disk - */ -static struct dquot *v2_read_dquot(struct quota_handle *h, qid_t id) -{ - return qtree_read_dquot(h, id); -} - -/* - * Commit changes of dquot to disk - it might also mean deleting it when quota - * became fake one and user has no blocks. - * User can process use 'errno' to detect errstr. - */ -static int v2_commit_dquot(struct dquot *dquot) -{ - struct util_dqblk *b = &dquot->dq_dqb; - - if (!b->dqb_curspace && !b->dqb_curinodes && !b->dqb_bsoftlimit && - !b->dqb_isoftlimit && !b->dqb_bhardlimit && !b->dqb_ihardlimit) - qtree_delete_dquot(dquot); - else - qtree_write_dquot(dquot); - return 0; -} - -static int v2_scan_dquots(struct quota_handle *h, - int (*process_dquot) (struct dquot *, void *), - void *data) -{ - return qtree_scan_dquots(h, process_dquot, data); -} - -/* Report information about quotafile. - * TODO: Not used right now, but we should be able to use this when we add - * support to debugfs to read quota files. - */ -static int v2_report(struct quota_handle *h, int verbose) -{ - log_err("Not Implemented."); - return -1; -} diff --git a/lib/quota/quotaio_v2.h b/lib/quota/quotaio_v2.h deleted file mode 100644 index 0bb4363e..00000000 --- a/lib/quota/quotaio_v2.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * - * Header file for disk format of new quotafile format - * - */ - -#ifndef GUARD_QUOTAIO_V2_H -#define GUARD_QUOTAIO_V2_H - -#include -#include "quotaio.h" - -/* Offset of info header in file */ -#define V2_DQINFOOFF sizeof(struct v2_disk_dqheader) -/* Supported version of quota-tree format */ -#define V2_VERSION 1 - -struct v2_disk_dqheader { - u_int32_t dqh_magic; /* Magic number identifying file */ - u_int32_t dqh_version; /* File version */ -} __attribute__ ((packed)); - -/* Flags for version specific files */ -#define V2_DQF_MASK 0x0000 /* Mask for all valid ondisk flags */ - -/* Header with type and version specific information */ -struct v2_disk_dqinfo { - u_int32_t dqi_bgrace; /* Time before block soft limit becomes - * hard limit */ - u_int32_t dqi_igrace; /* Time before inode soft limit becomes - * hard limit */ - u_int32_t dqi_flags; /* Flags for quotafile (DQF_*) */ - u_int32_t dqi_blocks; /* Number of blocks in file */ - u_int32_t dqi_free_blk; /* Number of first free block in the list */ - u_int32_t dqi_free_entry; /* Number of block with at least one - * free entry */ -} __attribute__ ((packed)); - -struct v2r1_disk_dqblk { - u_int32_t dqb_id; /* id this quota applies to */ - u_int32_t dqb_pad; - u_int64_t dqb_ihardlimit; /* absolute limit on allocated inodes */ - u_int64_t dqb_isoftlimit; /* preferred inode limit */ - u_int64_t dqb_curinodes; /* current # allocated inodes */ - u_int64_t dqb_bhardlimit; /* absolute limit on disk space - * (in QUOTABLOCK_SIZE) */ - u_int64_t dqb_bsoftlimit; /* preferred limit on disk space - * (in QUOTABLOCK_SIZE) */ - u_int64_t dqb_curspace; /* current space occupied (in bytes) */ - u_int64_t dqb_btime; /* time limit for excessive disk use */ - u_int64_t dqb_itime; /* time limit for excessive inode use */ -} __attribute__ ((packed)); - -#endif diff --git a/lib/ss/MODULE_LICENSE_MIT b/lib/ss/MODULE_LICENSE_MIT new file mode 100644 index 00000000..e69de29b diff --git a/lib/ss/Makefile.in b/lib/ss/Makefile.in index 1b23b38d..4a2bdb1b 100644 --- a/lib/ss/Makefile.in +++ b/lib/ss/Makefile.in @@ -20,7 +20,7 @@ ELF_SO_VERSION = 2 ELF_IMAGE = libss ELF_MYDIR = ss ELF_INSTALL_DIR = $(root_libdir) -ELF_OTHER_LIBS = -lcom_err $(DLOPEN_LIB) +ELF_OTHER_LIBS = -L../.. -lcom_err $(DLOPEN_LIB) BSDLIB_VERSION = 1.0 BSDLIB_IMAGE = libss @@ -31,10 +31,14 @@ TAGS=etags COMPILE_ET=../et/compile_et --build-tree MK_CMDS=_SS_DIR_OVERRIDE=. ./mk_cmds +# -I.. is so that ss/ss_err.h works +# -I$(srcdir)/.. is so that ss/ss.h works +# -I$(srcdir)/../et is so com_err.h works +XTRA_CFLAGS= -I$(srcdir)/../et + .c.o: $(E) " CC $<" $(Q) $(CC) $(ALL_CFLAGS) -c $< - $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< @PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $< @CHECKER_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -checker -g -o checker/$*.o -c $< @ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -DSHARED_ELF_LIB -fPIC -o elfshared/$*.o -c $< @@ -192,42 +196,31 @@ $(OBJS): subdirs # Makefile dependencies follow. This must be the last section in # the Makefile.in file # -invocation.o: $(srcdir)/invocation.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ss_internal.h $(srcdir)/ss.h \ - $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h -help.o: $(srcdir)/help.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ss_internal.h $(srcdir)/ss.h \ +invocation.o: $(srcdir)/invocation.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h -execute_cmd.o: $(srcdir)/execute_cmd.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ss_internal.h $(srcdir)/ss.h \ +help.o: $(srcdir)/help.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h -listen.o: $(srcdir)/listen.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ss_internal.h $(srcdir)/ss.h \ +execute_cmd.o: $(srcdir)/execute_cmd.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h -parse.o: $(srcdir)/parse.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ss_internal.h $(srcdir)/ss.h \ +listen.o: $(srcdir)/listen.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h -error.o: $(srcdir)/error.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \ - $(srcdir)/ss_internal.h $(srcdir)/ss.h $(top_builddir)/lib/ss/ss_err.h -prompt.o: $(srcdir)/prompt.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ss_internal.h $(srcdir)/ss.h \ +parse.o: $(srcdir)/parse.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h -request_tbl.o: $(srcdir)/request_tbl.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ss_internal.h $(srcdir)/ss.h \ +error.o: $(srcdir)/error.c $(top_srcdir)/lib/et/com_err.h \ + $(srcdir)/ss_internal.h $(srcdir)/ss.h $(top_builddir)/lib/ss/ss_err.h \ + $(top_srcdir)/lib/et/com_err.h +prompt.o: $(srcdir)/prompt.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h -list_rqs.o: $(srcdir)/list_rqs.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ss_internal.h $(srcdir)/ss.h \ +request_tbl.o: $(srcdir)/request_tbl.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h -pager.o: $(srcdir)/pager.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ss_internal.h $(srcdir)/ss.h \ +list_rqs.o: $(srcdir)/list_rqs.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h -requests.o: $(srcdir)/requests.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ss_internal.h $(srcdir)/ss.h \ +pager.o: $(srcdir)/pager.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h -data.o: $(srcdir)/data.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ss_internal.h $(srcdir)/ss.h \ +requests.o: $(srcdir)/requests.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h -get_readline.o: $(srcdir)/get_readline.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/ss_internal.h $(srcdir)/ss.h \ +data.o: $(srcdir)/data.c $(srcdir)/ss_internal.h $(srcdir)/ss.h \ $(top_builddir)/lib/ss/ss_err.h $(top_srcdir)/lib/et/com_err.h +get_readline.o: $(srcdir)/get_readline.c $(srcdir)/ss_internal.h \ + $(srcdir)/ss.h $(top_builddir)/lib/ss/ss_err.h \ + $(top_srcdir)/lib/et/com_err.h diff --git a/lib/ss/error.c b/lib/ss/error.c index c7ebc4a2..9a4b5269 100644 --- a/lib/ss/error.c +++ b/lib/ss/error.c @@ -14,12 +14,13 @@ #include -#include "et/com_err.h" +#include #include "ss_internal.h" #include -char *ss_name(int sci_idx) +char * ss_name(sci_idx) + int sci_idx; { register char *ret_val; register ss_data *infop; @@ -68,7 +69,10 @@ void ss_error (int sci_idx, long code, const char * fmt, ...) va_end(pvar); } -void ss_perror(int sci_idx, long code, char const *msg) /* for compatibility */ +void ss_perror (sci_idx, code, msg) /* for compatibility */ + int sci_idx; + long code; + char const *msg; { ss_error (sci_idx, code, "%s", msg); } diff --git a/lib/ss/execute_cmd.c b/lib/ss/execute_cmd.c index 02dfbfde..bc2a2046 100644 --- a/lib/ss/execute_cmd.c +++ b/lib/ss/execute_cmd.c @@ -81,8 +81,11 @@ static struct _ss_request_entry * get_request (tbl, idx) * Notes: */ -static int check_request_table(register ss_request_table *rqtbl, int argc, - char *argv[], int sci_idx) +static int check_request_table (rqtbl, argc, argv, sci_idx) + register ss_request_table *rqtbl; + int argc; + char *argv[]; + int sci_idx; { #ifdef __SABER__ struct _ss_request_entry *request; @@ -131,7 +134,10 @@ static int check_request_table(register ss_request_table *rqtbl, int argc, * Notes: */ -static int really_execute_command(int sci_idx, int argc, char **argv[]) +static int really_execute_command (sci_idx, argc, argv) + int sci_idx; + int argc; + char **argv[]; { register ss_request_table **rqtbl; register ss_data *info; @@ -161,7 +167,9 @@ static int really_execute_command(int sci_idx, int argc, char **argv[]) * Notes: */ -int ss_execute_command(int sci_idx, register char *argv[]) +int ss_execute_command(sci_idx, argv) + int sci_idx; + register char *argv[]; { register int i, argc; char **argp; @@ -193,7 +201,9 @@ int ss_execute_command(int sci_idx, register char *argv[]) * Notes: */ -int ss_execute_line(int sci_idx, char *line_ptr) +int ss_execute_line (sci_idx, line_ptr) + int sci_idx; + char *line_ptr; { char **argv; int argc, ret; diff --git a/lib/ss/help.c b/lib/ss/help.c index fbc040f8..c1a167d1 100644 --- a/lib/ss/help.c +++ b/lib/ss/help.c @@ -35,7 +35,11 @@ extern int errno; #endif #include "ss_internal.h" -void ss_help(int argc, char const * const *argv, int sci_idx, pointer info_ptr) +void ss_help (argc, argv, sci_idx, info_ptr) + int argc; + char const * const *argv; + int sci_idx; + pointer info_ptr; { char *buffer; char const *request_name; @@ -105,14 +109,13 @@ void ss_help(int argc, char const * const *argv, int sci_idx, pointer info_ptr) switch (child = fork()) { case -1: ss_perror(sci_idx, errno, "Can't fork for pager"); - (void) close(fd); return; case 0: (void) dup2(fd, 0); /* put file on stdin */ ss_page_stdin(); default: (void) close(fd); /* what can we do if it fails? */ - while (wait(NULL) != child) { + while (wait(0) != child) { /* do nothing if wrong pid */ }; } @@ -124,7 +127,10 @@ void ss_help(int argc, char const * const *argv, int sci_idx, pointer info_ptr) #include #endif -void ss_add_info_dir(int sci_idx, char *info_dir, int *code_ptr) +void ss_add_info_dir(sci_idx, info_dir, code_ptr) + int sci_idx; + char *info_dir; + int *code_ptr; { register ss_data *info; DIR *d; @@ -158,7 +164,10 @@ void ss_add_info_dir(int sci_idx, char *info_dir, int *code_ptr) *code_ptr = 0; } -void ss_delete_info_dir(int sci_idx, char *info_dir, int *code_ptr) +void ss_delete_info_dir(sci_idx, info_dir, code_ptr) + int sci_idx; + char *info_dir; + int *code_ptr; { register char **i_d; register char **info_dirs; diff --git a/lib/ss/invocation.c b/lib/ss/invocation.c index 57666ecc..74fcb144 100644 --- a/lib/ss/invocation.c +++ b/lib/ss/invocation.c @@ -19,11 +19,13 @@ #ifdef HAVE_DLOPEN #include #endif -#include -int ss_create_invocation(const char *subsystem_name, const char *version_string, - void *info_ptr, ss_request_table *request_table_ptr, - int *code_ptr) +int ss_create_invocation(subsystem_name, version_string, info_ptr, + request_table_ptr, code_ptr) + const char *subsystem_name, *version_string; + void *info_ptr; + ss_request_table *request_table_ptr; + int *code_ptr; { register int sci_idx; register ss_data *new_table; @@ -43,10 +45,6 @@ int ss_create_invocation(const char *subsystem_name, const char *version_string, ; table = (ss_data **) realloc((char *)table, ((unsigned)sci_idx+2)*size); - if (table == NULL) { - *code_ptr = errno; - return 0; - } table[sci_idx+1] = (ss_data *) NULL; table[sci_idx] = new_table; @@ -86,7 +84,8 @@ int ss_create_invocation(const char *subsystem_name, const char *version_string, } void -ss_delete_invocation(int sci_idx) +ss_delete_invocation(sci_idx) + int sci_idx; { register ss_data *t; int ignored_code; diff --git a/lib/ss/list_rqs.c b/lib/ss/list_rqs.c index 220534c7..770f5f02 100644 --- a/lib/ss/list_rqs.c +++ b/lib/ss/list_rqs.c @@ -44,11 +44,6 @@ void ss_list_requests(int argc __SS_ATTR((unused)), sigprocmask(SIG_BLOCK, &igmask, &omask); func = signal(SIGINT, SIG_IGN); fd = ss_pager_create(); - if (fd < 0) { - perror("ss_pager_create"); - (void) signal(SIGINT, func); - return; - } output = fdopen(fd, "w"); sigprocmask(SIG_SETMASK, &omask, (sigset_t *) 0); diff --git a/lib/ss/pager.c b/lib/ss/pager.c index bb149d69..67fc1044 100644 --- a/lib/ss/pager.c +++ b/lib/ss/pager.c @@ -14,9 +14,6 @@ * express or implied warranty. */ -#if HAVE_SECURE_GETENV -#define _GNU_SOURCE -#endif #ifdef HAVE_UNISTD_H #include #endif @@ -41,6 +38,7 @@ extern int errno; #endif static char MORE[] = "more"; +extern char *_ss_pager_name; extern char *getenv PROTOTYPE((const char *)); char *ss_safe_getenv(const char *arg) @@ -57,9 +55,7 @@ char *ss_safe_getenv(const char *arg) #endif #endif -#if defined(HAVE_SECURE_GETENV) - return secure_getenv(arg); -#elif defined(HAVE___SECURE_GETENV) +#ifdef HAVE___SECURE_GETENV return __secure_getenv(arg); #else return getenv(arg); @@ -129,7 +125,7 @@ static int write_all(int fd, char *buf, size_t count) return c; } -void ss_page_stdin(void) +void ss_page_stdin() { int i; sigset_t mask; diff --git a/lib/ss/parse.c b/lib/ss/parse.c index 54b768b8..495030a2 100644 --- a/lib/ss/parse.c +++ b/lib/ss/parse.c @@ -42,7 +42,10 @@ enum parse_mode { WHITESPACE, TOKEN, QUOTED_STRING }; #define NEW_ARGV(old,n) (char **)realloc((char *)old,\ (unsigned)(n+2)*sizeof(char*)) -char **ss_parse(int sci_idx, register char *line_ptr, int *argc_ptr) +char **ss_parse (sci_idx, line_ptr, argc_ptr) + int sci_idx; + register char *line_ptr; + int *argc_ptr; { register char **argv, *cp; register int argc; @@ -86,10 +89,6 @@ char **ss_parse(int sci_idx, register char *line_ptr, int *argc_ptr) parse_mode = TOKEN; cp = line_ptr; argv = NEW_ARGV (argv, argc); - if (argv == NULL) { - *argc_ptr = errno; - return argv; - } argv[argc++] = line_ptr; argv[argc] = NULL; } diff --git a/lib/ss/request_tbl.c b/lib/ss/request_tbl.c index 16cb4213..4632d65d 100644 --- a/lib/ss/request_tbl.c +++ b/lib/ss/request_tbl.c @@ -19,7 +19,11 @@ #define ssrt ss_request_table /* for some readable code... */ -void ss_add_request_table(int sci_idx, ssrt *rqtbl_ptr, int position, int *code_ptr) +void ss_add_request_table(sci_idx, rqtbl_ptr, position, code_ptr) + int sci_idx; + ssrt *rqtbl_ptr; + int position; /* 1 -> becomes second... */ + int *code_ptr; { register ss_data *info; register int i, size; @@ -30,7 +34,7 @@ void ss_add_request_table(int sci_idx, ssrt *rqtbl_ptr, int position, int *code_ ; /* size == C subscript of NULL == #elements */ size += 2; /* new element, and NULL */ - t = (ssrt **)realloc(info->rqt_tables, (unsigned)size*sizeof(ssrt *)); + t = (ssrt **)realloc(info->rqt_tables, (unsigned)size*sizeof(ssrt)); if (t == (ssrt **)NULL) { *code_ptr = errno; return; @@ -48,7 +52,10 @@ void ss_add_request_table(int sci_idx, ssrt *rqtbl_ptr, int position, int *code_ *code_ptr = 0; } -void ss_delete_request_table(int sci_idx, ssrt *rqtbl_ptr, int *code_ptr) +void ss_delete_request_table(sci_idx, rqtbl_ptr, code_ptr) + int sci_idx; + ssrt *rqtbl_ptr; + int *code_ptr; { register ss_data *info; register ssrt **rt1, **rt2; diff --git a/lib/ss/ss.h b/lib/ss/ss.h index 7333ffc9..6cc050bd 100644 --- a/lib/ss/ss.h +++ b/lib/ss/ss.h @@ -90,7 +90,6 @@ void ss_unimplemented(int argc, const char * const *argv, void ss_set_prompt(int sci_idx, char *new_prompt); char *ss_get_prompt(int sci_idx); void ss_get_readline(int sci_idx); -char *ss_safe_getenv(const char *arg); extern ss_request_table ss_std_requests; #endif /* _ss_h */ diff --git a/lib/ss/ss.pc.in b/lib/ss/ss.pc.in index 5c9eccb1..cf893611 100644 --- a/lib/ss/ss.pc.in +++ b/lib/ss/ss.pc.in @@ -7,6 +7,6 @@ Name: ss Description: Subsystem command parsing library Version: @E2FSPROGS_VERSION@ Requires.private: com_err -Cflags: -I${includedir}/ss -I${includedir} +Cflags: -I${includedir}/ss Libs: -L${libdir} -lss Libs.private: @DLOPEN_LIB@ diff --git a/lib/ss/ss_internal.h b/lib/ss/ss_internal.h index 19a6be7a..15d618ee 100644 --- a/lib/ss/ss_internal.h +++ b/lib/ss/ss_internal.h @@ -94,7 +94,6 @@ char **ss_rl_completion(const char *text, int start, int end); extern ss_data **_ss_table; extern char *ss_et_msgs[]; -extern char *_ss_pager_name; #ifdef USE_SIGPROCMASK /* fake sigmask, sigblock, sigsetmask */ diff --git a/lib/uuid/MODULE_LICENSE_BSD_LIKE b/lib/uuid/MODULE_LICENSE_BSD_LIKE new file mode 100644 index 00000000..e69de29b diff --git a/lib/uuid/Makefile.in b/lib/uuid/Makefile.in index 14d08c16..141b8dca 100644 --- a/lib/uuid/Makefile.in +++ b/lib/uuid/Makefile.in @@ -62,7 +62,6 @@ BSDLIB_INSTALL_DIR = $(root_libdir) .c.o: $(E) " CC $<" $(Q) $(CC) $(ALL_CFLAGS) -c $< -o $@ - $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< @PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $< @CHECKER_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -checker -g -o checker/$*.o -c $< @ELF_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -fPIC -o elfshared/$*.o -c $< @@ -77,7 +76,7 @@ uuid.h: $(srcdir)/uuid.h.in $(top_builddir)/lib/uuid/uuid_types.h: $(srcdir)/uuid_types.h.in $(top_builddir)/config.status cd $(top_builddir); CONFIG_FILES=$(my_dir)/uuid_types.h ./config.status -tst_uuid.o: $(srcdir)/tst_uuid.c uuid.h +tst_uuid.o: $(srcdir)/tst_uuid.c $(E) " CC $@" $(Q) $(CC) $(ALL_CFLAGS) -c $(srcdir)/tst_uuid.c -o tst_uuid.o @@ -87,8 +86,8 @@ tst_uuid: tst_uuid.o $(DEPSTATIC_LIBUUID) uuid_time: $(srcdir)/uuid_time.c $(DEPLIBUUID) $(E) " LD $@" - $(Q) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -DDEBUG -o uuid_time \ - $(srcdir)/uuid_time.c $(LIBUUID) + $(Q) $(CC) $(ALL_CFLAGS) -DDEBUG -o uuid_time $(srcdir)/uuid_time.c \ + $(LIBUUID) uuid.3: $(DEP_SUBSTITUTE) $(srcdir)/uuid.3.in $(E) " SUBST $@" @@ -193,23 +192,13 @@ $(OBJS): subdirs uuid.h # Makefile dependencies follow. This must be the last section in # the Makefile.in file # -clear.o: $(srcdir)/clear.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h -compare.o: $(srcdir)/compare.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h -copy.o: $(srcdir)/copy.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h -gen_uuid.o: $(srcdir)/gen_uuid.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h $(srcdir)/uuidd.h -isnull.o: $(srcdir)/isnull.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h -pack.o: $(srcdir)/pack.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h -parse.o: $(srcdir)/parse.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h -unpack.o: $(srcdir)/unpack.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h -unparse.o: $(srcdir)/unparse.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h -uuid_time.o: $(srcdir)/uuid_time.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/uuidP.h +clear.o: $(srcdir)/clear.c $(srcdir)/uuidP.h +compare.o: $(srcdir)/compare.c $(srcdir)/uuidP.h +copy.o: $(srcdir)/copy.c $(srcdir)/uuidP.h +gen_uuid.o: $(srcdir)/gen_uuid.c $(srcdir)/uuidP.h $(srcdir)/uuidd.h +isnull.o: $(srcdir)/isnull.c $(srcdir)/uuidP.h +pack.o: $(srcdir)/pack.c $(srcdir)/uuidP.h +parse.o: $(srcdir)/parse.c $(srcdir)/uuidP.h +unpack.o: $(srcdir)/unpack.c $(srcdir)/uuidP.h +unparse.o: $(srcdir)/unparse.c $(srcdir)/uuidP.h +uuid_time.o: $(srcdir)/uuid_time.c $(srcdir)/uuidP.h diff --git a/lib/uuid/gen_uuid.c b/lib/uuid/gen_uuid.c index ddc14d71..420ca2b2 100644 --- a/lib/uuid/gen_uuid.c +++ b/lib/uuid/gen_uuid.c @@ -38,7 +38,6 @@ */ #define _SVID_SOURCE - #ifdef _WIN32 #define _WIN32_WINNT 0x0500 #include @@ -175,7 +174,8 @@ static void get_random_bytes(void *buf, int nbytes) { int i, n = nbytes, fd = get_random_fd(); int lose_counter = 0; - unsigned char *cp = buf; + unsigned char *cp = (unsigned char *) buf; + unsigned short tmp_seed[3]; if (fd >= 0) { while (n > 0) { @@ -198,16 +198,12 @@ static void get_random_bytes(void *buf, int nbytes) for (cp = buf, i = 0; i < nbytes; i++) *cp++ ^= (rand() >> 7) & 0xFF; #ifdef DO_JRAND_MIX - { - unsigned short tmp_seed[3]; - - memcpy(tmp_seed, jrand_seed, sizeof(tmp_seed)); - jrand_seed[2] = jrand_seed[2] ^ syscall(__NR_gettid); - for (cp = buf, i = 0; i < nbytes; i++) - *cp++ ^= (jrand48(tmp_seed) >> 7) & 0xFF; - memcpy(jrand_seed, tmp_seed, - sizeof(jrand_seed) - sizeof(unsigned short)); - } + memcpy(tmp_seed, jrand_seed, sizeof(tmp_seed)); + jrand_seed[2] = jrand_seed[2] ^ syscall(__NR_gettid); + for (cp = buf, i = 0; i < nbytes; i++) + *cp++ ^= (jrand48(tmp_seed) >> 7) & 0xFF; + memcpy(jrand_seed, tmp_seed, + sizeof(jrand_seed)-sizeof(unsigned short)); #endif return; @@ -400,10 +396,9 @@ try_again: if (state_fd > 0) { rewind(state_f); - len = fprintf(state_f, + len = fprintf(state_f, "clock: %04x tv: %016lu %08lu adj: %08d\n", - clock_seq, last.tv_sec, (long)last.tv_usec, - adjustment); + clock_seq, last.tv_sec, last.tv_usec, adjustment); fflush(state_f); if (ftruncate(state_fd, len) < 0) { fprintf(state_f, " \n"); diff --git a/lib/uuid/tst_uuid.c b/lib/uuid/tst_uuid.c index 8c1b6552..7ac0207e 100644 --- a/lib/uuid/tst_uuid.c +++ b/lib/uuid/tst_uuid.c @@ -32,7 +32,6 @@ * %End-Header% */ - #ifdef _WIN32 #define _WIN32_WINNT 0x0500 #include @@ -73,7 +72,7 @@ main(int argc ATTR((unused)) , char **argv ATTR((unused))) uuid_t buf, tst; char str[100]; struct timeval tv; - time_t time_reg, time_gen; + time_t time_reg; unsigned char *cp; int i; int failed = 0; @@ -103,8 +102,7 @@ main(int argc ATTR((unused)) , char **argv ATTR((unused))) printf("%02x", *cp++); } printf("\n"); - type = uuid_type(buf); - variant = uuid_variant(buf); + type = uuid_type(buf); variant = uuid_variant(buf); printf("UUID type = %d, UUID variant = %d\n", type, variant); if (variant != UUID_VARIANT_DCE) { printf("Incorrect UUID Variant; was expecting DCE!\n"); @@ -117,7 +115,6 @@ main(int argc ATTR((unused)) , char **argv ATTR((unused))) } printf("\n"); - time_gen = time(0); uuid_generate_time(buf); uuid_unparse(buf, str); printf("UUID string = %s\n", str); @@ -126,8 +123,7 @@ main(int argc ATTR((unused)) , char **argv ATTR((unused))) printf("%02x", *cp++); } printf("\n"); - type = uuid_type(buf); - variant = uuid_variant(buf); + type = uuid_type(buf); variant = uuid_variant(buf); printf("UUID type = %d, UUID variant = %d\n", type, variant); if (variant != UUID_VARIANT_DCE) { printf("Incorrect UUID Variant; was expecting DCE!\n"); @@ -138,25 +134,15 @@ main(int argc ATTR((unused)) , char **argv ATTR((unused))) "1 (time-based type)!\\n"); failed++; } - tv.tv_sec = 0; tv.tv_usec = 0; time_reg = uuid_time(buf, &tv); - printf("UUID generated at %lu reports %lu (%ld.%ld)\n", - time_gen, time_reg, tv.tv_sec, (long)tv.tv_usec); - /* allow 1s margin in case of rollover between sampling - * the current time and when the UUID is generated. */ - if (time_reg > time_gen + 1) { - printf("UUID time comparison failed!\n"); - failed++; - } else { - printf("UUID time comparison succeeded.\n"); - } - + printf("UUID time is: (%ld, %ld): %s\n", tv.tv_sec, tv.tv_usec, + ctime(&time_reg)); uuid_parse(str, tst); - if (!uuid_compare(buf, tst)) { + if (!uuid_compare(buf, tst)) printf("UUID parse and compare succeeded.\n"); - } else { + else { printf("UUID parse and compare failed!\n"); failed++; } @@ -174,7 +160,6 @@ main(int argc ATTR((unused)) , char **argv ATTR((unused))) printf("UUID copy and compare failed!\n"); failed++; } - failed += test_uuid("84949cc5-4701-4a84-895b-354c584a981b", 1); failed += test_uuid("84949CC5-4701-4A84-895B-354C584A981B", 1); failed += test_uuid("84949cc5-4701-4a84-895b-354c584a981bc", 0); diff --git a/lib/uuid/uuid.pc.in b/lib/uuid/uuid.pc.in index eaa4e4d5..9e38a326 100644 --- a/lib/uuid/uuid.pc.in +++ b/lib/uuid/uuid.pc.in @@ -7,5 +7,5 @@ Name: uuid Description: Universally unique id library Version: @E2FSPROGS_VERSION@ Requires: -Cflags: -I${includedir}/uuid -I${includedir} +Cflags: -I${includedir}/uuid Libs: -L${libdir} -luuid diff --git a/lib/uuid/uuid_time.c b/lib/uuid/uuid_time.c index 849427f1..f25f5c90 100644 --- a/lib/uuid/uuid_time.c +++ b/lib/uuid/uuid_time.c @@ -163,7 +163,7 @@ main(int argc, char **argv) printf("Warning: not a time-based UUID, so UUID time " "decoding will likely not work!\n"); } - printf("UUID time is: (%ld, %ld): %s\n", tv.tv_sec, (long)tv.tv_usec, + printf("UUID time is: (%ld, %ld): %s\n", tv.tv_sec, tv.tv_usec, ctime(&time_reg)); return 0; diff --git a/misc/Android.mk b/misc/Android.mk index 2a50e63a..68fee3d8 100644 --- a/misc/Android.mk +++ b/misc/Android.mk @@ -48,7 +48,6 @@ mke2fs_shared_libraries := \ libext2_blkid \ libext2_uuid \ libext2_profile \ - libext2_quota \ libext2_com_err \ libext2_e2p @@ -126,7 +125,6 @@ tune2fs_shared_libraries := \ libext2fs \ libext2_com_err \ libext2_blkid \ - libext2_quota \ libext2_uuid \ libext2_e2p diff --git a/misc/MODULE_LICENSE_GPL b/misc/MODULE_LICENSE_GPL new file mode 100644 index 00000000..e69de29b diff --git a/misc/Makefile.in b/misc/Makefile.in index 553c361c..def66f0e 100644 --- a/misc/Makefile.in +++ b/misc/Makefile.in @@ -11,9 +11,6 @@ INSTALL = @INSTALL@ @MCONFIG@ -@DEFRAG_CMT@@LINUX_CMT@E4DEFRAG_PROG= e4defrag -@DEFRAG_CMT@@LINUX_CMT@E4DEFRAG_MAN= e4defrag.8 - @IMAGER_CMT@E2IMAGE_PROG= e2image @IMAGER_CMT@E2IMAGE_MAN= e2image.8 @@ -28,12 +25,11 @@ INSTALL = @INSTALL@ SPROGS= mke2fs badblocks tune2fs dumpe2fs $(BLKID_PROG) logsave \ $(E2IMAGE_PROG) @FSCK_PROG@ e2undo -USPROGS= mklost+found filefrag e2freefrag $(UUIDD_PROG) $(E4DEFRAG_PROG) +USPROGS= mklost+found filefrag e2freefrag $(UUIDD_PROG) SMANPAGES= tune2fs.8 mklost+found.8 mke2fs.8 dumpe2fs.8 badblocks.8 \ e2label.8 $(FINDFS_MAN) $(BLKID_MAN) $(E2IMAGE_MAN) \ - logsave.8 filefrag.8 e2freefrag.8 e2undo.8 \ - $(UUIDD_MAN) $(E4DEFRAG_MAN) @FSCK_MAN@ -FMANPAGES= mke2fs.conf.5 ext4.5 + logsave.8 filefrag.8 e2freefrag.8 e2undo.8 $(UUIDD_MAN) @FSCK_MAN@ +FMANPAGES= mke2fs.conf.5 UPROGS= chattr lsattr @UUID_CMT@ uuidgen UMANPAGES= chattr.1 lsattr.1 @UUID_CMT@ uuidgen.1 @@ -54,7 +50,6 @@ FSCK_OBJS= fsck.o base_device.o ismounted.o BLKID_OBJS= blkid.o FILEFRAG_OBJS= filefrag.o E2UNDO_OBJS= e2undo.o -E4DEFRAG_OBJS= e4defrag.o E2FREEFRAG_OBJS= e2freefrag.o PROFILED_TUNE2FS_OBJS= profiled/tune2fs.o profiled/util.o @@ -72,9 +67,10 @@ PROFILED_FSCK_OBJS= profiled/fsck.o profiled/base_device.o \ profiled/ismounted.o PROFILED_BLKID_OBJS= profiled/blkid.o PROFILED_FILEFRAG_OBJS= profiled/filefrag.o -PROFILED_E2FREEFRAG_OBJS= profiled/e2freefrag.o PROFILED_E2UNDO_OBJS= profiled/e2undo.o -PROFILED_E4DEFRAG_OBJS= profiled/e4defrag.o + + +XTRA_CFLAGS= -I$(srcdir)/../e2fsck -I. SRCS= $(srcdir)/tune2fs.c $(srcdir)/mklost+found.c $(srcdir)/mke2fs.c \ $(srcdir)/chattr.c $(srcdir)/lsattr.c $(srcdir)/dumpe2fs.c \ @@ -100,16 +96,15 @@ COMPILE_ET=$(top_builddir)/lib/et/compile_et --build-tree .c.o: $(E) " CC $<" $(Q) $(CC) -c $(ALL_CFLAGS) $< -o $@ - $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< @PROFILE_CMT@ $(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $< all:: profiled $(SPROGS) $(UPROGS) $(USPROGS) $(SMANPAGES) $(UMANPAGES) \ - $(FMANPAGES) $(LPROGS) $(E4DEFRAG_PROG) + $(FMANPAGES) $(LPROGS) @PROFILE_CMT@all:: tune2fs.profiled blkid.profiled e2image.profiled \ e2undo.profiled mke2fs.profiled dumpe2fs.profiled fsck.profiled \ logsave.profiled filefrag.profiled uuidgen.profiled uuidd.profiled \ - e2image.profiled e4defrag.profiled e2freefrag.profiled + e2image.profiled profiled: @PROFILE_CMT@ $(E) " MKDIR $@" @@ -119,20 +114,9 @@ prof_err.c prof_err.h: $(srcdir)/../e2fsck/prof_err.et $(E) " COMPILE_ET prof_err.et" $(Q) $(COMPILE_ET) $(srcdir)/../e2fsck/prof_err.et -profile.h: $(top_srcdir)/e2fsck/profile.h - $(E) " CP $<" - $(Q) cp $< $@ - -mke2fs.conf: $(srcdir)/mke2fs.conf.in - if test -f $(srcdir)/mke2fs.conf.custom.in ; then \ - cp $(srcdir)/mke2fs.conf.custom.in mke2fs.conf; \ - else \ - cp $(srcdir)/mke2fs.conf.in mke2fs.conf; \ - fi - -default_profile.c: mke2fs.conf $(srcdir)/profile-to-c.awk +default_profile.c: $(srcdir)/mke2fs.conf $(srcdir)/profile-to-c.awk $(E) " PROFILE_TO_C mke2fs.conf" - $(Q) $(AWK) -f $(srcdir)/profile-to-c.awk < mke2fs.conf \ + $(Q) $(AWK) -f $(srcdir)/profile-to-c.awk < $(srcdir)/mke2fs.conf \ > default_profile.c profile.o: $(E) " CC $<" @@ -142,7 +126,7 @@ profile.o: findsuper: findsuper.o $(E) " LD $@" - $(Q) $(CC) $(ALL_LDFLAGS) -o findsuper findsuper.o $(LIBS) + $(Q) $(CC) $(ALL_LDFLAGS) -o findsuper findsuper.o partinfo: partinfo.o $(E) " LD $@" @@ -154,26 +138,24 @@ e2initrd_helper: e2initrd_helper.o $(DEPLIBS) $(DEPLIBBLKID) $(LIBEXT2FS) $(LIBBLKID) $(LIBEXT2FS) $(LIBINTL) tune2fs: $(TUNE2FS_OBJS) $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBBLKID) \ - $(DEPLIBUUID) $(DEPLIBQUOTA) $(LIBEXT2FS) + $(DEPLIBUUID) $(LIBEXT2FS) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -o tune2fs $(TUNE2FS_OBJS) $(LIBS) \ - $(LIBBLKID) $(LIBUUID) $(LIBQUOTA) $(LIBEXT2FS) $(LIBS_E2P) \ - $(LIBINTL) + $(LIBBLKID) $(LIBUUID) $(LIBEXT2FS) $(LIBS_E2P) $(LIBINTL) tune2fs.static: $(TUNE2FS_OBJS) $(STATIC_DEPLIBS) $(STATIC_LIBE2P) $(DEPSTATIC_LIBBLKID) $(E) " LD $@" $(Q) $(CC) $(LDFLAGS_STATIC) -o tune2fs.static $(TUNE2FS_OBJS) \ $(STATIC_LIBS) $(STATIC_LIBBLKID) $(STATIC_LIBUUID) \ - $(STATIC_LIBQUOTA) $(STATIC_LIBE2P) $(LIBINTL) + $(STATIC_LIBE2P) $(LIBINTL) -tune2fs.profiled: $(TUNE2FS_OBJS) $(PROFILED_DEPLIBS) \ - $(PROFILED_E2P) $(DEPPROFILED_LIBBLKID) $(DEPPROFILED_LIBUUID) \ - $(DEPPROFILED_LIBQUOTA) +tune2fs.profiled: $(PROFILED_TUNE2FS_OBJS) $(PROFILED_DEPLIBS) \ + $(PROFILED_E2P) $(DEPPROFILED_LIBBLKID) $(DEPPROFILED_LIBUUID) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o tune2fs.profiled \ $(PROFILED_TUNE2FS_OBJS) $(PROFILED_LIBBLKID) \ - $(PROFILED_LIBUUID) $(PROFILED_LIBQUOTA) $(PROFILED_LIBE2P) \ - $(LIBINTL) $(PROFILED_LIBS) + $(PROFILED_LIBUUID) $(PROFILED_LIBE2P) $(LIBINTL) \ + $(PROFILED_LIBS) blkid: $(BLKID_OBJS) $(DEPLIBBLKID) $(LIBEXT2FS) $(E) " LD $@" @@ -185,7 +167,7 @@ blkid.static: $(BLKID_OBJS) $(STATIC_DEPLIBS) $(DEPSTATIC_LIBBLKID) $(Q) $(CC) $(ALL_LDFLAGS) -o blkid.static $(BLKID_OBJS) $(STATIC_LIBS) \ $(STATIC_LIBBLKID) $(LIBINTL) -blkid.profiled: $(BLKID_OBJS) $(DEPPROFILED_LIBBLKID) \ +blkid.profiled: $(PROFILED_BLKID_OBJS) $(DEPPROFILED_LIBBLKID) \ $(PROFILED_LIBEXT2FS) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o blkid.profiled $(PROFILED_BLKID_OBJS) \ @@ -195,7 +177,7 @@ e2image: $(E2IMAGE_OBJS) $(DEPLIBS) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -o e2image $(E2IMAGE_OBJS) $(LIBS) $(LIBINTL) -e2image.profiled: $(E2IMAGE_OBJS) $(PROFILED_DEPLIBS) +e2image.profiled: $(PROFILED_E2IMAGE_OBJS) $(PROFILED_DEPLIBS) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o e2image.profiled \ $(PROFILED_E2IMAGE_OBJS) $(PROFILED_LIBS) $(LIBINTL) @@ -204,20 +186,11 @@ e2undo: $(E2UNDO_OBJS) $(DEPLIBS) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -o e2undo $(E2UNDO_OBJS) $(LIBS) $(LIBINTL) -e2undo.profiled: $(E2UNDO_OBJS) $(PROFILED_DEPLIBS) +e2undo.profiled: $(PROFILED_E2UNDO_OBJS) $(PROFILED_DEPLIBS) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o e2undo.profiled \ $(PROFILED_E2UNDO_OBJS) $(PROFILED_LIBS) $(LIBINTL) -e4defrag: $(E4DEFRAG_OBJS) $(DEPLIBS) - $(E) " LD $@" - $(Q) $(CC) $(ALL_LDFLAGS) -o e4defrag $(E4DEFRAG_OBJS) $(LIBS) - -e4defrag.profiled: $(E4DEFRAG_OBJS) $(PROFILED_DEPLIBS) - $(E) " LD $@" - $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o e4defrag.profiled \ - $(PROFILED_E4DEFRAG_OBJS) $(PROFILED_LIBS) - base_device: base_device.c $(E) " LD $@" $(Q) $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) $(srcdir)/base_device.c \ @@ -232,25 +205,23 @@ mklost+found: $(MKLPF_OBJS) $(Q) $(CC) $(ALL_LDFLAGS) -o mklost+found $(MKLPF_OBJS) $(LIBINTL) mke2fs: $(MKE2FS_OBJS) $(DEPLIBS) $(LIBE2P) $(DEPLIBBLKID) $(DEPLIBUUID) \ - $(DEPLIBQUOTA) $(LIBEXT2FS) + $(LIBEXT2FS) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -o mke2fs $(MKE2FS_OBJS) $(LIBS) $(LIBBLKID) \ - $(LIBUUID) $(LIBQUOTA) $(LIBEXT2FS) $(LIBE2P) $(LIBINTL) + $(LIBUUID) $(LIBEXT2FS) $(LIBE2P) $(LIBINTL) -mke2fs.static: $(MKE2FS_OBJS) $(STATIC_DEPLIBS) $(STATIC_LIBE2P) $(DEPSTATIC_LIBUUID) \ - $(DEPSTATIC_LIBQUOTA) $(DEPSTATIC_LIBBLKID) +mke2fs.static: $(MKE2FS_OBJS) $(STATIC_DEPLIBS) $(STATIC_LIBE2P) $(DEPSTATIC_LIBUUID) $(DEPSTATIC_LIBBLKID) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -static -o mke2fs.static $(MKE2FS_OBJS) \ - $(STATIC_LIBQUOTA) $(STATIC_LIBS) $(STATIC_LIBE2P) \ - $(STATIC_LIBBLKID) $(STATIC_LIBUUID) $(LIBINTL) + $(STATIC_LIBS) $(STATIC_LIBE2P) $(STATIC_LIBBLKID) \ + $(STATIC_LIBUUID) $(LIBINTL) -mke2fs.profiled: $(MKE2FS_OBJS) $(PROFILED_DEPLIBS) \ - $(PROFILED_LIBE2P) $(PROFILED_DEPLIBBLKID) $(PROFILED_DEPLIBUUID) \ - $(PROFILED_LIBQUOTA) +mke2fs.profiled: $(PROFILED_MKE2FS_OBJS) $(PROFILED_DEPLIBS) \ + $(PROFILED_LIBE2P) $(PROFILED_DEPLIBBLKID) $(PROFILED_DEPLIBUUID) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o mke2fs.profiled \ $(PROFILED_MKE2FS_OBJS) $(PROFILED_LIBBLKID) \ - $(PROFILED_LIBUUID) $(PROFILED_LIBQUOTA) $(PROFILED_LIBE2P) $(LIBINTL) \ + $(PROFILED_LIBUUID) $(PROFILED_LIBE2P) $(LIBINTL) \ $(PROFILED_LIBS) chattr: $(CHATTR_OBJS) $(DEPLIBS_E2P) @@ -265,7 +236,7 @@ uuidgen: $(UUIDGEN_OBJS) $(DEPLIBUUID) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -o uuidgen $(UUIDGEN_OBJS) $(LIBUUID) $(LIBINTL) -uuidgen.profiled: $(UUIDGEN_OBJS) $(PROFILED_DEPLIBUUID) +uuidgen.profiled: $(PROFILED_UUIDGEN_OBJS) $(PROFILED_DEPLIBUUID) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o uuidgen.profiled \ $(PROFILED_UUIDGEN_OBJS) $(PROFILED_LIBUUID) $(LIBINTL) @@ -274,7 +245,7 @@ uuidd: $(UUIDD_OBJS) $(DEPLIBUUID) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -o uuidd $(UUIDD_OBJS) $(LIBUUID) $(LIBINTL) -uuidd.profiled: $(UUIDD_OBJS) $(PROFILED_DEPLIBUUID) +uuidd.profiled: $(PROFILED_UUIDD_OBJS) $(PROFILED_DEPLIBUUID) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o uuidd.profiled $(PROFILED_UUIDD_OBJS) \ $(PROFILED_LIBUUID) $(LIBINTL) @@ -284,7 +255,7 @@ dumpe2fs: $(DUMPE2FS_OBJS) $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBUUID) $(Q) $(CC) $(ALL_LDFLAGS) -o dumpe2fs $(DUMPE2FS_OBJS) $(LIBS) \ $(LIBS_E2P) $(LIBUUID) $(LIBINTL) -dumpe2fs.profiled: $(DUMPE2FS_OBJS) $(PROFILED_DEPLIBS) \ +dumpe2fs.profiled: $(PROFILED_DUMPE2FS_OBJS) $(PROFILED_DEPLIBS) \ $(PROFILED_LIBE2P) $(PROFILED_DEPLIBUUID) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o dumpe2fs.profiled \ @@ -295,7 +266,7 @@ fsck: $(FSCK_OBJS) $(DEPLIBBLKID) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -o fsck $(FSCK_OBJS) $(LIBBLKID) $(LIBINTL) -fsck.profiled: $(FSCK_OBJS) $(PROFILED_DEPLIBBLKID) +fsck.profiled: $(PROFILED_FSCK_OBJS) $(PROFILED_DEPLIBBLKID) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o fsck.profiled $(PROFILED_FSCK_OBJS) \ $(PROFILED_LIBBLKID) $(LIBINTL) @@ -304,7 +275,7 @@ badblocks: $(BADBLOCKS_OBJS) $(DEPLIBS) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -o badblocks $(BADBLOCKS_OBJS) $(LIBS) $(LIBINTL) -badblocks.profiled: $(BADBLOCKS_OBJS) $(PROFILED_DEPLIBS) +badblocks.profiled: $(PROFILED_BADBLOCKS_OBJS) $(PROFILED_DEPLIBS) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o badblocks.profiled \ $(PROFILED_BADBLOCKS_OBJS) $(PROFILED_LIBS) $(LIBINTL) @@ -313,7 +284,7 @@ logsave: logsave.o $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -o logsave logsave.o -logsave.profiled: logsave.o +logsave.profiled: profiled/logsave.o $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o logsave.profiled profiled/logsave.o @@ -321,16 +292,11 @@ e2freefrag: $(E2FREEFRAG_OBJS) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -o e2freefrag $(E2FREEFRAG_OBJS) $(LIBS) -e2freefrag.profiled: $(E2FREEFRAG_OBJS) $(PROFILED_DEPLIBS) - $(E) " LD $@" - $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o e2freefrag.profiled \ - $(PROFILED_E2FREEFRAG_OBJS) $(PROFILED_LIBS) - filefrag: $(FILEFRAG_OBJS) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -o filefrag $(FILEFRAG_OBJS) -filefrag.profiled: $(FILEFRAG_OBJS) +filefrag.profiled: $(PROFILED_FILEFRAG_OBJS) $(E) " LD $@" $(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o filefrag.profiled \ $(PROFILED_FILEFRAG_OBJS) @@ -356,10 +322,6 @@ mke2fs.conf.5: $(DEP_SUBSTITUTE) $(srcdir)/mke2fs.conf.5.in $(E) " SUBST $@" $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/mke2fs.conf.5.in mke2fs.conf.5 -ext4.5: $(DEP_SUBSTITUTE) $(srcdir)/ext4.5.in - $(E) " SUBST $@" - $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/$@.in $@ - e2label.8: $(DEP_SUBSTITUTE) $(srcdir)/e2label.8.in $(E) " SUBST $@" $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e2label.8.in e2label.8 @@ -376,10 +338,6 @@ e2image.8: $(DEP_SUBSTITUTE) $(srcdir)/e2image.8.in $(E) " SUBST $@" $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e2image.8.in e2image.8 -e4defrag.8: $(DEP_SUBSTITUTE) $(srcdir)/e4defrag.8.in - $(E) " SUBST $@" - $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e4defrag.8.in e4defrag.8 - dumpe2fs.8: $(DEP_SUBSTITUTE) $(srcdir)/dumpe2fs.8.in $(E) " SUBST $@" $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/dumpe2fs.8.in dumpe2fs.8 @@ -421,7 +379,7 @@ blkid.1: $(DEP_SUBSTITUTE) $(srcdir)/blkid.1.in $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/blkid.1.in blkid.1 e2freefrag.8: $(DEP_SUBSTITUTE) $(srcdir)/e2freefrag.8.in - $(E) " SUBST $@" + @echo " SUBST $@" @$(SUBSTITUTE_UPTIME) $(srcdir)/e2freefrag.8.in e2freefrag.8 filefrag.8: $(DEP_SUBSTITUTE) $(srcdir)/filefrag.8.in @@ -438,44 +396,44 @@ installdirs: install: all $(SMANPAGES) $(UMANPAGES) installdirs $(Q) for i in $(SPROGS); do \ - $(ES) " INSTALL $(root_sbindir)/$$i"; \ + echo " INSTALL $(root_sbindir)/$$i"; \ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(root_sbindir)/$$i; \ done $(Q) for i in $(USPROGS); do \ - $(ES) " INSTALL $(sbindir)/$$i"; \ + echo " INSTALL $(sbindir)/$$i"; \ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(sbindir)/$$i; \ done $(Q) for i in ext2 ext3 ext4 ext4dev; do \ - $(ES) " LINK $(root_sbindir)/mkfs.$$i"; \ + echo " LINK $(root_sbindir)/mkfs.$$i"; \ (cd $(DESTDIR)$(root_sbindir); \ $(LN) $(LINK_INSTALL_FLAGS) mke2fs mkfs.$$i); \ done $(Q) (cd $(DESTDIR)$(root_sbindir); \ $(LN) $(LINK_INSTALL_FLAGS) tune2fs e2label) $(Q) if test -n "$(FINDFS_LINK)"; then \ - $(ES) " LINK $(root_sbindir)/findfs"; \ + echo " LINK $(root_sbindir)/findfs"; \ (cd $(DESTDIR)$(root_sbindir); \ $(LN) $(LINK_INSTALL_FLAGS) tune2fs $(FINDFS_LINK)); \ fi $(Q) for i in $(UPROGS); do \ - $(ES) " INSTALL $(bindir)/$$i"; \ + echo " INSTALL $(bindir)/$$i"; \ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(bindir)/$$i; \ done $(Q) for i in $(LPROGS); do \ - $(ES) " INSTALL $(libdir)/$$i"; \ + echo " INSTALL $(libdir)/$$i"; \ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(libdir)/$$i; \ done $(Q) for i in $(SMANPAGES); do \ for j in $(COMPRESS_EXT); do \ $(RM) -f $(DESTDIR)$(man8dir)/$$i.$$j; \ done; \ - $(ES) " INSTALL_DATA $(man8dir)/$$i"; \ + echo " INSTALL_DATA $(man8dir)/$$i"; \ $(INSTALL_DATA) $$i $(DESTDIR)$(man8dir)/$$i; \ done $(Q) $(RM) -f $(DESTDIR)$(man8dir)/mkfs.ext2.8.gz \ $(DESTDIR)$(man8dir)/mkfs.ext3.8.gz $(Q) for i in ext2 ext3 ext4 ext4dev; do \ - $(ES) " LINK mkfs.$$i.8"; \ + echo " LINK mkfs.$$i.8"; \ (cd $(DESTDIR)$(man8dir); \ $(LN) $(LINK_INSTALL_FLAGS) mke2fs.8 mkfs.$$i.8); \ done @@ -483,37 +441,32 @@ install: all $(SMANPAGES) $(UMANPAGES) installdirs for j in $(COMPRESS_EXT); do \ $(RM) -f $(DESTDIR)$(man1dir)/$$i.$$j; \ done; \ - $(ES) " INSTALL_DATA $(man1dir)/$$i"; \ + echo " INSTALL_DATA $(man1dir)/$$i"; \ $(INSTALL_DATA) $$i $(DESTDIR)$(man1dir)/$$i; \ done $(Q) for i in $(FMANPAGES); do \ for j in $(COMPRESS_EXT); do \ $(RM) -f $(DESTDIR)$(man5dir)/$$i.$$j; \ done; \ - $(ES) " INSTALL_DATA $(man5dir)/$$i"; \ + echo " INSTALL_DATA $(man5dir)/$$i"; \ $(INSTALL_DATA) $$i $(DESTDIR)$(man5dir)/$$i; \ done - $(Q) for i in ext2 ext3; do \ - $(ES) " LINK $$i.5"; \ - (cd $(DESTDIR)$(man5dir); \ - $(LN) $(LINK_INSTALL_FLAGS) ext4.5 $$i.5); \ - done $(Q) if test -f $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; then \ if cmp -s $(DESTDIR)$(root_sysconfdir)/mke2fs.conf \ - mke2fs.conf; then \ + $(srcdir)/mke2fs.conf; then \ true; \ else \ if grep -q ext4dev $(DESTDIR)$(root_sysconfdir)/mke2fs.conf ; then \ - $(ES) " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \ - $(INSTALL_DATA) mke2fs.conf \ + echo " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \ + $(INSTALL_DATA) $(srcdir)/mke2fs.conf \ $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-new; \ echo "Warning: installing mke2fs.conf in $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \ echo "Check to see if you need to update your $(root_sysconfdir)/mke2fs.conf"; \ else \ - $(ES) " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \ + echo " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \ mv $(DESTDIR)$(root_sysconfdir)/mke2fs.conf \ $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-old; \ - $(INSTALL_DATA) mke2fs.conf \ + $(INSTALL_DATA) $(srcdir)/mke2fs.conf \ $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; \ echo "Your mke2fs.conf is too old. Backing up old version in"; \ echo "$(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-old. Please check to see"; \ @@ -522,18 +475,18 @@ install: all $(SMANPAGES) $(UMANPAGES) installdirs echo " "; \ fi; \ else \ - $(ES) " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \ - $(INSTALL_DATA) mke2fs.conf \ + echo " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \ + $(INSTALL_DATA) $(srcdir)/mke2fs.conf \ $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; \ fi install-strip: install $(Q) for i in $(SPROGS); do \ - $(E) " STRIP $(root_sbindir)/$$i"; \ + echo " STRIP $(root_sbindir)/$$i"; \ $(STRIP) $(DESTDIR)$(root_sbindir)/$$i; \ done $(Q) for i in $(USPROGS); do \ - $(E) " STRIP $(sbindir)/$$i"; \ + echo " STRIP $(sbindir)/$$i"; \ $(STRIP) $(DESTDIR)$(sbindir)/$$i; \ done @@ -560,12 +513,7 @@ uninstall: $(RM) -f $(DESTDIR)$(man8dir)/mkfs.ext2.8 \ $(DESTDIR)$(man8dir)/mkfs.ext3.8 \ $(DESTDIR)$(man8dir)/mkfs.ext4.8 \ - $(DESTDIR)$(man8dir)/mkfs.ext4dev.8 \ - $(DESTDIR)$(man8dir)/fsck.ext2.8 \ - $(DESTDIR)$(man8dir)/fsck.ext3.8 \ - $(DESTDIR)$(man8dir)/fsck.ext4.8 \ - $(DESTDIR)$(man8dir)/fsck.ext4dev.8 - + $(DESTDIR)$(man8dir)/mkfs.ext4dev.8 for i in $(UMANPAGES); do \ $(RM) -f $(DESTDIR)$(man1dir)/$$i; \ done @@ -575,24 +523,20 @@ uninstall: for i in $(FMANPAGES); do \ $(RM) -f $(DESTDIR)$(man5dir)/$$i; \ done - $(Q) for i in ext2 ext3; do \ - $(ES) " LINK $$i.5"; \ - $(RM) -f $(DESTDIR)$(man5dir)/$$i.5; \ - done - if cmp -s mke2fs.conf $(DESTDIR)/$(root_sysconfdir)/mke2fs.conf; then \ + if cmp -s $(srcdir)/mke2fs.conf $(DESTDIR)/$(root_sysconfdir)/mke2fs.conf; then \ $(RM) $(DESTDIR)/$(root_sysconfdir)/mke2fs.conf; \ fi clean: $(RM) -f $(SPROGS) $(USPROGS) $(UPROGS) $(UMANPAGES) $(SMANPAGES) \ - $(FMANPAGES) profile.h \ + $(FMANPAGES) \ base_device base_device.out mke2fs.static filefrag e2freefrag \ e2initrd_helper partinfo prof_err.[ch] default_profile.c \ uuidd e2image tune2fs.static tst_ismounted fsck.profiled \ blkid.profiled tune2fs.profiled e2image.profiled \ e2undo.profiled mke2fs.profiled dumpe2fs.profiled \ logsave.profiled filefrag.profiled uuidgen.profiled \ - uuidd.profiled e2image.profiled mke2fs.conf \ + uuidd.profiled e2image.profiled \ profiled/*.o \#* *.s *.o *.a *~ core gmon.out mostlyclean: clean @@ -604,8 +548,7 @@ distclean: clean # Makefile dependencies follow. This must be the last section in # the Makefile.in file # -tune2fs.o: $(srcdir)/tune2fs.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ +tune2fs.o: $(srcdir)/tune2fs.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ @@ -613,36 +556,25 @@ tune2fs.o: $(srcdir)/tune2fs.c $(top_builddir)/lib/config.h \ $(top_srcdir)/lib/e2p/e2p.h $(srcdir)/jfs_user.h \ $(top_srcdir)/lib/ext2fs/kernel-jbd.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \ $(top_srcdir)/lib/ext2fs/kernel-list.h $(srcdir)/util.h \ - $(top_srcdir)/lib/quota/mkquota.h $(top_srcdir)/lib/quota/quotaio.h \ - $(top_srcdir)/lib/quota/dqblk_v2.h $(top_srcdir)/lib/quota/quotaio_tree.h \ - $(top_srcdir)/lib/../e2fsck/dict.h $(top_srcdir)/version.h \ - $(srcdir)/nls-enable.h -mklost+found.o: $(srcdir)/mklost+found.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ + $(top_srcdir)/version.h $(srcdir)/nls-enable.h +mklost+found.o: $(srcdir)/mklost+found.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/version.h \ $(srcdir)/nls-enable.h -mke2fs.o: $(srcdir)/mke2fs.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fsP.h \ - $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ - $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ +mke2fs.o: $(srcdir)/mke2fs.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \ + $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/et/com_err.h \ + $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ + $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ - $(srcdir)/util.h profile.h prof_err.h $(top_srcdir)/version.h \ - $(srcdir)/nls-enable.h $(top_srcdir)/lib/quota/mkquota.h \ - $(top_srcdir)/lib/quota/quotaio.h $(top_srcdir)/lib/quota/dqblk_v2.h \ - $(top_srcdir)/lib/quota/quotaio_tree.h $(top_srcdir)/lib/../e2fsck/dict.h -chattr.o: $(srcdir)/chattr.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ + $(srcdir)/util.h $(srcdir)/../e2fsck/profile.h prof_err.h \ + $(top_srcdir)/version.h $(srcdir)/nls-enable.h +chattr.o: $(srcdir)/chattr.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/et/com_err.h \ $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/version.h $(srcdir)/nls-enable.h -lsattr.o: $(srcdir)/lsattr.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ +lsattr.o: $(srcdir)/lsattr.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/et/com_err.h \ $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/version.h $(srcdir)/nls-enable.h -dumpe2fs.o: $(srcdir)/dumpe2fs.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ +dumpe2fs.o: $(srcdir)/dumpe2fs.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ @@ -651,60 +583,44 @@ dumpe2fs.o: $(srcdir)/dumpe2fs.c $(top_builddir)/lib/config.h \ $(top_srcdir)/lib/ext2fs/kernel-jbd.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \ $(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/version.h \ $(srcdir)/nls-enable.h -badblocks.o: $(srcdir)/badblocks.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \ +badblocks.o: $(srcdir)/badblocks.c $(top_srcdir)/lib/et/com_err.h \ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ $(srcdir)/nls-enable.h -fsck.o: $(srcdir)/fsck.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/version.h \ - $(srcdir)/nls-enable.h $(srcdir)/fsck.h -util.o: $(srcdir)/util.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \ +fsck.o: $(srcdir)/fsck.c $(top_srcdir)/version.h $(srcdir)/nls-enable.h \ + $(srcdir)/fsck.h +util.o: $(srcdir)/util.c $(top_srcdir)/lib/et/com_err.h \ $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ $(srcdir)/nls-enable.h $(srcdir)/util.h -uuidgen.o: $(srcdir)/uuidgen.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/nls-enable.h -blkid.o: $(srcdir)/blkid.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ +uuidgen.o: $(srcdir)/uuidgen.c $(srcdir)/nls-enable.h +blkid.o: $(srcdir)/blkid.c $(top_srcdir)/lib/ext2fs/ext2fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h -logsave.o: $(srcdir)/logsave.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h -filefrag.o: $(srcdir)/filefrag.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ - $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ - $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ - $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ +logsave.o: $(srcdir)/logsave.c +filefrag.o: $(srcdir)/filefrag.c $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/fiemap.h -base_device.o: $(srcdir)/base_device.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/fsck.h -ismounted.o: $(srcdir)/ismounted.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/fsck.h \ +base_device.o: $(srcdir)/base_device.c $(srcdir)/fsck.h +ismounted.o: $(srcdir)/ismounted.c $(srcdir)/fsck.h \ $(top_srcdir)/lib/et/com_err.h -profile.o: $(srcdir)/../e2fsck/profile.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \ +profile.o: $(srcdir)/../e2fsck/profile.c $(top_srcdir)/lib/et/com_err.h \ $(srcdir)/../e2fsck/profile.h prof_err.h -e2undo.o: $(srcdir)/e2undo.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/tdb.h \ +e2undo.o: $(srcdir)/e2undo.c $(top_srcdir)/lib/ext2fs/tdb.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ $(srcdir)/nls-enable.h -e2freefrag.o: $(srcdir)/e2freefrag.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \ +e2freefrag.o: $(srcdir)/e2freefrag.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \ $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ diff --git a/misc/badblocks.8.in b/misc/badblocks.8.in index f507f63b..f256c0ee 100644 --- a/misc/badblocks.8.in +++ b/misc/badblocks.8.in @@ -5,7 +5,7 @@ badblocks \- search a device for bad blocks .SH SYNOPSIS .B badblocks [ -.B \-svwnfBX +.B \-svwnf ] [ .B \-b @@ -184,8 +184,7 @@ are specified then all blocks will be tested with one pattern before proceeding to the next pattern. .TP .B \-v -Verbose mode. Will write the number of read errors, write errors and data- -corruptions to stderr. +Verbose mode. .TP .B \-w Use write-mode test. With this option, @@ -196,9 +195,6 @@ This option may not be combined with the .B \-n option, as they are mutually exclusive. .TP -.B \-B -Use buffered I/O and do not use Direct I/O, even if it is available. -.TP .B \-X Internal flag only to be used by .BR e2fsck (8) diff --git a/misc/badblocks.c b/misc/badblocks.c index 87c87f63..5d5ca898 100644 --- a/misc/badblocks.c +++ b/misc/badblocks.c @@ -29,8 +29,10 @@ * list. (Work done by David Beattie) */ -#ifndef _GNU_SOURCE #define _GNU_SOURCE /* for O_DIRECT */ + +#ifndef O_LARGEFILE +#define O_LARGEFILE 0 #endif #include @@ -60,30 +62,26 @@ extern int optind; #include "ext2fs/ext2fs.h" #include "nls-enable.h" -#ifndef O_LARGEFILE -#define O_LARGEFILE 0 -#endif - -static const char * program_name = "badblocks"; -static const char * done_string = N_("done \n"); +const char * program_name = "badblocks"; +const char * done_string = N_("done \n"); -static int v_flag; /* verbose */ -static int w_flag; /* do r/w test: 0=no, 1=yes, +static int v_flag = 0; /* verbose */ +static int w_flag = 0; /* do r/w test: 0=no, 1=yes, * 2=non-destructive */ -static int s_flag; /* show progress of test */ -static int force; /* force check of mounted device */ -static int t_flag; /* number of test patterns */ -static int t_max; /* allocated test patterns */ -static unsigned int *t_patts; /* test patterns */ -static int use_buffered_io; -static int exclusive_ok; -static unsigned int max_bb; /* Abort test if more than this number of bad blocks has been encountered */ -static unsigned int d_flag; /* delay factor between reads */ +static int s_flag = 0; /* show progress of test */ +static int force = 0; /* force check of mounted device */ +static int t_flag = 0; /* number of test patterns */ +static int t_max = 0; /* allocated test patterns */ +static unsigned int *t_patts = NULL; /* test patterns */ +static int current_O_DIRECT = 0; /* Current status of O_DIRECT flag */ +static int exclusive_ok = 0; +static unsigned int max_bb = 0; /* Abort test if more than this number of bad blocks has been encountered */ +static unsigned int d_flag = 0; /* delay factor between reads */ static struct timeval time_start; #define T_INC 32 -static unsigned int sys_page_size = 4096; +unsigned int sys_page_size = 4096; static void usage(void) { @@ -106,16 +104,11 @@ static void exclusive_usage(void) static blk_t currently_testing = 0; static blk_t num_blocks = 0; -static blk_t num_read_errors = 0; -static blk_t num_write_errors = 0; -static blk_t num_corruption_errors = 0; static ext2_badblocks_list bb_list = NULL; static FILE *out; static blk_t next_bad = 0; static ext2_badblocks_iterate bb_iter = NULL; -enum error_types { READ_ERROR, WRITE_ERROR, CORRUPTION_ERROR }; - static void *allocate_buffer(size_t size) { void *ret = 0; @@ -143,7 +136,7 @@ static void *allocate_buffer(size_t size) * This routine reports a new bad block. If the bad block has already * been seen before, then it returns 0; otherwise it returns 1. */ -static int bb_output (blk_t bad, enum error_types error_type) +static int bb_output (blk_t bad) { errcode_t errcode; @@ -165,14 +158,6 @@ static int bb_output (blk_t bad, enum error_types error_type) position. This should not cause next_bad to change. */ if (bb_iter && bad < next_bad) ext2fs_badblocks_list_iterate (bb_iter, &next_bad); - - if (error_type == READ_ERROR) { - num_read_errors++; - } else if (error_type == WRITE_ERROR) { - num_write_errors++; - } else if (error_type == CORRUPTION_ERROR) { - num_corruption_errors++; - } return 1; } @@ -214,14 +199,10 @@ static void print_status(void) gettimeofday(&time_end, 0); len = snprintf(line_buf, sizeof(line_buf), - _("%6.2f%% done, %s elapsed. " - "(%d/%d/%d errors)"), + _("%6.2f%% done, %s elapsed"), calc_percent((unsigned long) currently_testing, (unsigned long) num_blocks), - time_diff_format(&time_end, &time_start, diff_buf), - num_read_errors, - num_write_errors, - num_corruption_errors); + time_diff_format(&time_end, &time_start, diff_buf)); #ifdef HAVE_MBSTOWCS len = mbstowcs(NULL, line_buf, sizeof(line_buf)); #endif @@ -276,22 +257,16 @@ static void uncapture_terminate(void) signal (SIGUSR2, SIG_DFL); } -/* Linux requires that O_DIRECT I/Os be 512-byte sector aligned */ - -#define O_DIRECT_SIZE 512 - static void set_o_direct(int dev, unsigned char *buffer, size_t size, - ext2_loff_t offset) + blk_t current_block) { #ifdef O_DIRECT - static int current_O_DIRECT; /* Current status of O_DIRECT flag */ int new_flag = O_DIRECT; int flag; - if ((use_buffered_io != 0) || - (((unsigned long) buffer & (sys_page_size - 1)) != 0) || + if ((((unsigned long) buffer & (sys_page_size - 1)) != 0) || ((size & (sys_page_size - 1)) != 0) || - ((offset & (O_DIRECT_SIZE - 1)) != 0)) + ((current_block & ((sys_page_size >> 9)-1)) != 0)) new_flag = 0; if (new_flag != current_O_DIRECT) { @@ -356,11 +331,7 @@ static int do_read (int dev, unsigned char * buffer, int try, int block_size, #define NANOSEC (1000000000L) #define MILISEC (1000L) -#if 0 - printf("do_read: block %d, try %d\n", current_block, try); -#endif - set_o_direct(dev, buffer, try * block_size, - ((ext2_loff_t) current_block) * block_size); + set_o_direct(dev, buffer, try * block_size, current_block); if (v_flag > 1) print_status(); @@ -368,7 +339,7 @@ static int do_read (int dev, unsigned char * buffer, int try, int block_size, /* Seek to the correct loc. */ if (ext2fs_llseek (dev, (ext2_loff_t) current_block * block_size, SEEK_SET) != (ext2_loff_t) current_block * block_size) - com_err (program_name, errno, "%s", _("during seek")); + com_err (program_name, errno, _("during seek")); /* Try the read */ if (d_flag) @@ -429,11 +400,7 @@ static int do_write(int dev, unsigned char * buffer, int try, int block_size, { long got; -#if 0 - printf("do_write: block %lu, try %d\n", current_block, try); -#endif - set_o_direct(dev, buffer, try * block_size, - ((ext2_loff_t) current_block) * block_size); + set_o_direct(dev, buffer, try * block_size, current_block); if (v_flag > 1) print_status(); @@ -441,7 +408,7 @@ static int do_write(int dev, unsigned char * buffer, int try, int block_size, /* Seek to the correct loc. */ if (ext2fs_llseek (dev, (ext2_loff_t) current_block * block_size, SEEK_SET) != (ext2_loff_t) current_block * block_size) - com_err (program_name, errno, "%s", _("during seek")); + com_err (program_name, errno, _("during seek")); /* Try the write */ got = write (dev, buffer, try * block_size); @@ -459,14 +426,9 @@ static void flush_bufs(void) { errcode_t retval; -#ifdef O_DIRECT - if (!use_buffered_io) - return; -#endif retval = ext2fs_sync_device(host_dev, 1); if (retval) - com_err(program_name, retval, "%s", - _("during ext2fs_sync_device")); + com_err(program_name, retval, _("during ext2fs_sync_device")); } static unsigned int test_ro (int dev, blk_t last_block, @@ -478,15 +440,14 @@ static unsigned int test_ro (int dev, blk_t last_block, int got; unsigned int bb_count = 0; errcode_t errcode; - blk_t recover_block = ~0; /* set up abend handler */ capture_terminate(NULL); errcode = ext2fs_badblocks_list_iterate_begin(bb_list,&bb_iter); if (errcode) { - com_err(program_name, errcode, "%s", - _("while beginning bad block list iteration")); + com_err (program_name, errcode, + _("while beginning bad block list iteration")); exit (1); } do { @@ -500,14 +461,13 @@ static unsigned int test_ro (int dev, blk_t last_block, } if (!blkbuf) { - com_err(program_name, ENOMEM, "%s", - _("while allocating buffers")); + com_err (program_name, ENOMEM, _("while allocating buffers")); exit (1); } if (v_flag) { - fprintf(stderr, _("Checking blocks %lu to %lu\n"), - (unsigned long)first_block, - (unsigned long)last_block - 1); + fprintf (stderr, _("Checking blocks %lu to %lu\n"), + (unsigned long) first_block, + (unsigned long) last_block - 1); } if (t_flag) { fputs(_("Checking for bad blocks in read-only mode\n"), stderr); @@ -518,10 +478,11 @@ static unsigned int test_ro (int dev, blk_t last_block, try = blocks_at_once; currently_testing = first_block; num_blocks = last_block - 1; - if (!t_flag && (s_flag || v_flag)) + if (!t_flag && (s_flag || v_flag)) { fputs(_("Checking for bad blocks (read-only test): "), stderr); - if (s_flag && v_flag <= 1) - alarm_intr(SIGALRM); + if (v_flag <= 1) + alarm_intr(SIGALRM); + } while (currently_testing < last_block) { if (max_bb && bb_count >= max_bb) { @@ -551,20 +512,23 @@ static unsigned int test_ro (int dev, blk_t last_block, if (memcmp (blkbuf+i*block_size, blkbuf+blocks_at_once*block_size, block_size)) - bb_count += bb_output(currently_testing + i, CORRUPTION_ERROR); + bb_count += bb_output(currently_testing + i); } - if (got == 0 && try == 1) - bb_count += bb_output(currently_testing++, READ_ERROR); currently_testing += got; - if (got != try) { - try = 1; - if (recover_block == ~0U) - recover_block = currently_testing - got + - blocks_at_once; - continue; - } else if (currently_testing == recover_block) { + if (got == try) { try = blocks_at_once; - recover_block = ~0; + /* recover page-aligned offset for O_DIRECT */ + if ( (blocks_at_once >= sys_page_size >> 9) + && (currently_testing % (sys_page_size >> 9)!= 0)) + try -= (sys_page_size >> 9) + - (currently_testing + % (sys_page_size >> 9)); + continue; + } + else + try = 1; + if (got == 0) { + bb_count += bb_output(currently_testing++); } } num_blocks = 0; @@ -591,7 +555,6 @@ static unsigned int test_rw (int dev, blk_t last_block, const unsigned int *pattern; int i, try, got, nr_pattern, pat_idx; unsigned int bb_count = 0; - blk_t recover_block = ~0; /* set up abend handler */ capture_terminate(NULL); @@ -600,8 +563,7 @@ static unsigned int test_rw (int dev, blk_t last_block, read_buffer = buffer + blocks_at_once * block_size; if (!buffer) { - com_err(program_name, ENOMEM, "%s", - _("while allocating buffers")); + com_err (program_name, ENOMEM, _("while allocating buffers")); exit (1); } @@ -644,18 +606,21 @@ static unsigned int test_rw (int dev, blk_t last_block, if (v_flag > 1) print_status(); - if (got == 0 && try == 1) - bb_count += bb_output(currently_testing++, WRITE_ERROR); currently_testing += got; - if (got != try) { - try = 1; - if (recover_block == ~0U) - recover_block = currently_testing - - got + blocks_at_once; - continue; - } else if (currently_testing == recover_block) { + if (got == try) { try = blocks_at_once; - recover_block = ~0; + /* recover page-aligned offset for O_DIRECT */ + if ( (blocks_at_once >= sys_page_size >> 9) + && (currently_testing % + (sys_page_size >> 9)!= 0)) + try -= (sys_page_size >> 9) + - (currently_testing + % (sys_page_size >> 9)); + continue; + } else + try = 1; + if (got == 0) { + bb_count += bb_output(currently_testing++); } } @@ -683,25 +648,25 @@ static unsigned int test_rw (int dev, blk_t last_block, try = last_block - currently_testing; got = do_read (dev, read_buffer, try, block_size, currently_testing); - if (got == 0 && try == 1) - bb_count += bb_output(currently_testing++, READ_ERROR); - currently_testing += got; - if (got != try) { - try = 1; - if (recover_block == ~0U) - recover_block = currently_testing - - got + blocks_at_once; + if (got == 0) { + bb_count += bb_output(currently_testing++); continue; - } else if (currently_testing == recover_block) { - try = blocks_at_once; - recover_block = ~0U; } for (i=0; i < got; i++) { if (memcmp(read_buffer + i * block_size, buffer + i * block_size, block_size)) - bb_count += bb_output(currently_testing+i, CORRUPTION_ERROR); + bb_count += bb_output(currently_testing+i); } + currently_testing += got; + /* recover page-aligned offset for O_DIRECT */ + if ( (blocks_at_once >= sys_page_size >> 9) + && (currently_testing % (sys_page_size >> 9)!= 0)) + try = blocks_at_once - (sys_page_size >> 9) + - (currently_testing + % (sys_page_size >> 9)); + else + try = blocks_at_once; if (v_flag > 1) print_status(); } @@ -741,14 +706,12 @@ static unsigned int test_nd (int dev, blk_t last_block, errcode_t errcode; unsigned long buf_used; static unsigned int bb_count; - unsigned int granularity = blocks_at_once; - blk_t recover_block = ~0U; bb_count = 0; errcode = ext2fs_badblocks_list_iterate_begin(bb_list,&bb_iter); if (errcode) { - com_err(program_name, errcode, "%s", - _("while beginning bad block list iteration")); + com_err (program_name, errcode, + _("while beginning bad block list iteration")); exit (1); } do { @@ -756,10 +719,9 @@ static unsigned int test_nd (int dev, blk_t last_block, } while (next_bad && next_bad < first_block); blkbuf = allocate_buffer(3 * blocks_at_once * block_size); - test_record = malloc(blocks_at_once * sizeof(struct saved_blk_record)); + test_record = malloc (blocks_at_once*sizeof(struct saved_blk_record)); if (!blkbuf || !test_record) { - com_err(program_name, ENOMEM, "%s", - _("while allocating buffers")); + com_err(program_name, ENOMEM, _("while allocating buffers")); exit (1); } @@ -826,7 +788,7 @@ static unsigned int test_nd (int dev, blk_t last_block, } break; } - got = try = granularity - buf_used; + got = try = blocks_at_once - buf_used; if (next_bad) { if (currently_testing == next_bad) { /* fprintf (out, "%lu\n", nextbad); */ @@ -842,15 +804,8 @@ static unsigned int test_nd (int dev, blk_t last_block, got = do_read (dev, save_ptr, try, block_size, currently_testing); if (got == 0) { - if (recover_block == ~0U) - recover_block = currently_testing + - blocks_at_once; - if (granularity != 1) { - granularity = 1; - continue; - } /* First block must have been bad. */ - bb_count += bb_output(currently_testing++, READ_ERROR); + bb_count += bb_output(currently_testing++); goto check_for_more; } @@ -875,13 +830,8 @@ static unsigned int test_nd (int dev, blk_t last_block, save_ptr += got * block_size; test_ptr += got * block_size; currently_testing += got; - if (got != try) { - try = 1; - if (recover_block == ~0U) - recover_block = currently_testing - - got + blocks_at_once; - continue; - } + if (got != try) + bb_count += bb_output(currently_testing++); check_for_more: /* @@ -889,15 +839,10 @@ static unsigned int test_nd (int dev, blk_t last_block, * around, and we're not done yet testing the disk, go * back and get some more blocks. */ - if ((buf_used != granularity) && + if ((buf_used != blocks_at_once) && (currently_testing < last_block)) continue; - if (currently_testing >= recover_block) { - granularity = blocks_at_once; - recover_block = ~0; - } - flush_bufs(); save_currently_testing = currently_testing; @@ -934,9 +879,9 @@ static unsigned int test_nd (int dev, blk_t last_block, for (i = 0; i < got; ++i) if (memcmp (test_ptr+i*block_size, read_ptr+i*block_size, block_size)) - bb_count += bb_output(currently_testing + i, CORRUPTION_ERROR); + bb_count += bb_output(currently_testing + i); if (got < try) { - bb_count += bb_output(currently_testing + got, READ_ERROR); + bb_count += bb_output(currently_testing + got); got++; } @@ -1039,7 +984,7 @@ int main (int argc, char ** argv) FILE * in = NULL; int block_size = 1024; unsigned int blocks_at_once = 64; - blk64_t last_block, first_block; + blk_t last_block, first_block; int num_passes = 0; int passes_clean = 0; int dev; @@ -1050,7 +995,6 @@ int main (int argc, char ** argv) unsigned int); int open_flag; long sysval; - blk64_t inblk; setbuf(stdout, NULL); setbuf(stderr, NULL); @@ -1059,7 +1003,6 @@ int main (int argc, char ** argv) setlocale(LC_CTYPE, ""); bindtextdomain(NLS_CAT_NAME, LOCALEDIR); textdomain(NLS_CAT_NAME); - set_com_err_gettext(gettext); #endif srandom((unsigned int)time(NULL)); /* simple randomness is enough */ test_func = test_ro; @@ -1078,7 +1021,7 @@ int main (int argc, char ** argv) if (argc && *argv) program_name = *argv; - while ((c = getopt (argc, argv, "b:d:e:fi:o:svwnc:p:h:t:BX")) != EOF) { + while ((c = getopt (argc, argv, "b:d:e:fi:o:svwnc:p:h:t:X")) != EOF) { switch (c) { case 'b': block_size = parse_uint(optarg, "block size"); @@ -1151,9 +1094,6 @@ int main (int argc, char ** argv) t_patts[t_flag++] = pattern; } break; - case 'B': - use_buffered_io = 1; - break; case 'X': exclusive_ok++; break; @@ -1163,15 +1103,15 @@ int main (int argc, char ** argv) } if (!w_flag) { if (t_flag > 1) { - com_err(program_name, 0, "%s", - _("Maximum of one test_pattern may be " - "specified in read-only mode")); + com_err(program_name, 0, + _("Maximum of one test_pattern may be specified " + "in read-only mode")); exit(1); } if (t_patts && (t_patts[0] == (unsigned int) ~0)) { - com_err(program_name, 0, "%s", - _("Random test_pattern is not allowed " - "in read-only mode")); + com_err(program_name, 0, + _("Random test_pattern is not allowed " + "in read-only mode")); exit(1); } } @@ -1179,17 +1119,17 @@ int main (int argc, char ** argv) usage(); device_name = argv[optind++]; if (optind > argc - 1) { - errcode = ext2fs_get_device_size2(device_name, + errcode = ext2fs_get_device_size(device_name, block_size, &last_block); if (errcode == EXT2_ET_UNIMPLEMENTED) { - com_err(program_name, 0, "%s", + com_err(program_name, 0, _("Couldn't determine device size; you " "must specify\nthe size manually\n")); exit(1); } if (errcode) { - com_err(program_name, errcode, "%s", + com_err(program_name, errcode, _("while trying to determine device size")); exit(1); } @@ -1204,17 +1144,10 @@ int main (int argc, char ** argv) first_block = parse_uint(argv[optind], _("first block")); } else first_block = 0; if (first_block >= last_block) { - com_err (program_name, 0, _("invalid starting block (%llu): must be less than %llu"), - first_block, last_block); + com_err (program_name, 0, _("invalid starting block (%lu): must be less than %lu"), + (unsigned long) first_block, (unsigned long) last_block); exit (1); } - /* ext2 badblocks file can't handle large values */ - if (last_block >> 32) { - com_err(program_name, EOVERFLOW, - _("invalid end block (%llu): must be 32-bit value"), - last_block); - exit(1); - } if (w_flag) check_mount(device_name); @@ -1266,35 +1199,23 @@ int main (int argc, char ** argv) errcode = ext2fs_badblocks_list_create(&bb_list,0); if (errcode) { - com_err(program_name, errcode, "%s", - _("while creating in-memory bad blocks list")); + com_err (program_name, errcode, + _("while creating in-memory bad blocks list")); exit (1); } if (in) { for(;;) { - switch (fscanf(in, "%llu\n", &inblk)) { + switch(fscanf (in, "%u\n", &next_bad)) { case 0: - com_err(program_name, 0, "%s", - _("input file - bad format")); + com_err (program_name, 0, "input file - bad format"); exit (1); case EOF: break; default: - if (inblk >> 32) { - com_err(program_name, - EOVERFLOW, "%s", - _("while adding to in-memory " - "bad block list")); - exit(1); - } - next_bad = inblk; errcode = ext2fs_badblocks_list_add(bb_list,next_bad); if (errcode) { - com_err(program_name, errcode, - "%s", - _("while adding to in-memory " - "bad block list")); + com_err (program_name, errcode, _("while adding to in-memory bad block list")); exit (1); } continue; @@ -1318,8 +1239,8 @@ int main (int argc, char ** argv) if (v_flag) fprintf(stderr, - _("Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"), - bb_count, num_read_errors, num_write_errors, num_corruption_errors); + _("Pass completed, %u bad blocks found.\n"), + bb_count); } while (passes_clean < num_passes); @@ -1329,3 +1250,4 @@ int main (int argc, char ** argv) free(t_patts); return 0; } + diff --git a/misc/chattr.1.in b/misc/chattr.1.in index 932ef4bc..92f6d703 100644 --- a/misc/chattr.1.in +++ b/misc/chattr.1.in @@ -19,18 +19,17 @@ chattr \- change file attributes on a Linux file system .B chattr changes the file attributes on a Linux file system. .PP -The format of a symbolic mode is +-=[acdeijstuACDST]. +The format of a symbolic mode is +-=[acdeijstuADST]. .PP The operator `+' causes the selected attributes to be added to the existing attributes of the files; `-' causes them to be removed; and `=' causes them to be the only attributes that the files have. .PP -The letters `acdeijstuACDST' select the new attributes for the files: +The letters `acdeijstuADST' select the new attributes for the files: append only (a), compressed (c), no dump (d), extent format (e), immutable (i), -data journalling (j), secure deletion (s), no tail-merging (t), -undeletable (u), no atime updates (A), no copy on write (C), -synchronous directory updates (D), synchronous updates (S), -and top of directory hierarchy (T). +data journalling (j), secure deletion (s), no tail-merging (t), +undeletable (u), no atime updates (A), synchronous directory updates (D), +synchronous updates (S), and top of directory hierarchy (T). .PP The following attributes are read-only, and may be listed by .BR lsattr (1) @@ -56,24 +55,15 @@ not modified. This avoids a certain amount of disk I/O for laptop systems. .PP A file with the `a' attribute set can only be open in append mode for writing. -Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE +Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute. .PP A file with the `c' attribute set is automatically compressed on the disk by the kernel. A read from this file returns uncompressed data. A write to -this file compresses data before storing them on the disk. Note: please +this file compresses data before storing them on the disk. Note: please make sure to read the bugs and limitations section at the end of this document. .PP -A file with the 'C' attribute set will not be subject to copy-on-write -updates. This flag is only supported on file systems which perform -copy-on-write. (Note: For btrfs, the 'C' flag should be -set on new or empty files. If it is set on a file which already has -data blocks, it is undefined when the blocks assigned to the file will -be fully stable. If the 'C' flag is set on a directory, it will have no -effect on the directory, but new files created in that directory will -the No_COW attribute.) -.PP When a directory with the `D' attribute set is modified, the changes are written synchronously on the disk; this is equivalent to the `dirsync' mount option applied to a subset of the files. @@ -82,9 +72,9 @@ A file with the `d' attribute set is not candidate for backup when the .BR dump (8) program is run. .PP -The 'E' attribute is used by the experimental compression patches to +The 'E' attribute is used by the experimental compression patches to indicate that a compressed file has a compression error. It may not be -set or reset using +set or reset using .BR chattr (1), although it can be displayed by .BR lsattr (1). @@ -94,7 +84,7 @@ the blocks on disk. It may not be removed using .BR chattr (1). .PP The 'I' attribute is used by the htree code to indicate that a directory -is being indexed using hashed trees. It may not be set or reset using +is being indexed using hashed trees. It may not be set or reset using .BR chattr (1), although it can be displayed by .BR lsattr (1). @@ -115,8 +105,8 @@ A file with the `j' attribute has all of its data written to the ext3 journal before being written to the file itself, if the filesystem is mounted with the "data=ordered" or "data=writeback" options. When the filesystem is mounted with the "data=journal" option all file data -is already journalled and this attribute has no effect. Only -the superuser or a process possessing the CAP_SYS_RESOURCE +is already journalled and this attribute has no effect. +Only the superuser or a process possessing the CAP_SYS_RESOURCE capability can set or clear this attribute. .PP When a file with the `s' attribute set is deleted, its blocks are zeroed @@ -127,7 +117,7 @@ When a file with the `S' attribute set is modified, the changes are written synchronously on the disk; this is equivalent to the `sync' mount option applied to a subset of the files. .PP -A directory with the 'T' attribute will be deemed to be the top of +A directory with the 'T' attribute will be deemed to be the top of directory hierarchies for the purposes of the Orlov block allocator. This is a hint to the block allocator used by ext3 and ext4 that the subdirectories under this directory are not related, and thus should be @@ -139,7 +129,7 @@ group subdirectories closer together where possible. .PP A file with the 't' attribute will not have a partial block fragment at the end of the file merged with other files (for those filesystems which -support tail-merging). This is necessary for applications such as LILO +support tail-merging). This is necessary for applications such as LILO which read the filesystem directly, and which don't understand tail-merged files. Note: As of this writing, the ext2 or ext3 filesystems do not (yet, except in very experimental patches) support tail-merging. @@ -149,15 +139,15 @@ saved. This allows the user to ask for its undeletion. Note: please make sure to read the bugs and limitations section at the end of this document. .PP -The 'X' attribute is used by the experimental compression patches to +The 'X' attribute is used by the experimental compression patches to indicate that a raw contents of a compressed file can be accessed -directly. It currently may not be set or reset using +directly. It currently may not be set or reset using .BR chattr (1), although it can be displayed by .BR lsattr (1). .PP -The 'Z' attribute is used by the experimental compression patches to -indicate a compressed file is dirty. It may not be set or reset using +The 'Z' attribute is used by the experimental compression patches to +indicate a compressed file is dirty. It may not be set or reset using .BR chattr (1), although it can be displayed by .BR lsattr (1). @@ -167,9 +157,10 @@ although it can be displayed by was written by Remy Card . It is currently being maintained by Theodore Ts'o . .SH BUGS AND LIMITATIONS -The `c', 's', and `u' attributes are not honored -by the ext2, ext3, and ext4 filesystems as implemented in the current -mainline Linux kernels. +The `c', 's', and `u' attributes are not honored +by the ext2 and ext3 filesystems as implemented in the current mainline +Linux kernels. These attributes may be implemented +in future versions of the ext2 and ext3 filesystems. .PP The `j' option is only useful if the filesystem is mounted as ext3. .PP diff --git a/misc/chattr.c b/misc/chattr.c index 3567cfe0..de33b083 100644 --- a/misc/chattr.c +++ b/misc/chattr.c @@ -82,7 +82,7 @@ static unsigned long sf; static void usage(void) { fprintf(stderr, - _("Usage: %s [-RVf] [-+=AaCcDdeijsSu] [-v version] files...\n"), + _("Usage: %s [-RVf] [-+=AacDdeijsSu] [-v version] files...\n"), program_name); exit(1); } @@ -106,7 +106,6 @@ static const struct flags_char flags_array[] = { { EXT2_UNRM_FL, 'u' }, { EXT2_NOTAIL_FL, 't' }, { EXT2_TOPDIR_FL, 'T' }, - { FS_NOCOW_FL, 'C' }, { 0, 0 } }; @@ -193,6 +192,7 @@ static int change_attributes(const char * name) { unsigned long flags; STRUCT_STAT st; + int extent_file = 0; if (LSTAT (name, &st) == -1) { if (!silent) @@ -207,7 +207,16 @@ static int change_attributes(const char * name) _("while reading flags on %s"), name); return -1; } + if (flags & EXT4_EXTENTS_FL) + extent_file = 1; if (set) { + if (extent_file && !(sf & EXT4_EXTENTS_FL)) { + if (!silent) + com_err(program_name, 0, + _("Clearing extent flag not supported on %s"), + name); + return -1; + } if (verbose) { printf (_("Flags of %s set as "), name); print_flags (stdout, sf, 0); @@ -220,6 +229,13 @@ static int change_attributes(const char * name) flags &= ~rf; if (add) flags |= af; + if (extent_file && !(flags & EXT4_EXTENTS_FL)) { + if (!silent) + com_err(program_name, 0, + _("Clearing extent flag not supported on %s"), + name); + return -1; + } if (verbose) { printf(_("Flags of %s set as "), name); print_flags(stdout, flags, 0); @@ -262,9 +278,8 @@ static int chattr_dir_proc (const char * dir_name, struct dirent * de, path = malloc(strlen (dir_name) + 1 + strlen (de->d_name) + 1); if (!path) { - fprintf(stderr, "%s", - _("Couldn't allocate path variable " - "in chattr_dir_proc")); + fprintf(stderr, _("Couldn't allocate path variable " + "in chattr_dir_proc")); return -1; } sprintf(path, "%s/%s", dir_name, de->d_name); @@ -285,7 +300,6 @@ int main (int argc, char ** argv) setlocale(LC_CTYPE, ""); bindtextdomain(NLS_CAT_NAME, LOCALEDIR); textdomain(NLS_CAT_NAME); - set_com_err_gettext(gettext); #endif if (argc && *argv) program_name = *argv; diff --git a/misc/default_profile.c b/misc/default_profile.c index ce312ffd..21c514dd 100644 --- a/misc/default_profile.c +++ b/misc/default_profile.c @@ -1,8 +1,6 @@ const char *mke2fs_default_profile = "[defaults]\n" " base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr\n" - " default_mntopts = acl,user_xattr\n" - " enable_periodic_fsck = 0\n" " blocksize = 4096\n" " inode_size = 256\n" " inode_ratio = 16384\n" @@ -13,7 +11,6 @@ const char *mke2fs_default_profile = " }\n" " ext4 = {\n" " features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize\n" - " auto_64-bit_support = 1\n" " inode_size = 256\n" " }\n" " ext4dev = {\n" @@ -31,12 +28,6 @@ const char *mke2fs_default_profile = " inode_size = 128\n" " inode_ratio = 8192\n" " }\n" - " big = {\n" - " inode_ratio = 32768\n" - " }\n" - " huge = {\n" - " inode_ratio = 65536\n" - " }\n" " news = {\n" " inode_ratio = 4096\n" " }\n" diff --git a/misc/dumpe2fs.8.in b/misc/dumpe2fs.8.in index befaf948..c1dfcbd7 100644 --- a/misc/dumpe2fs.8.in +++ b/misc/dumpe2fs.8.in @@ -23,9 +23,10 @@ prints the super block and blocks group information for the filesystem present on .I device. .PP -.B Note: -When used with a mounted filesystem, the printed -information may be old or inconsistent. +.B dumpe2fs +is similar to Berkeley's +.B dumpfs +program for the BSD Fast File System. .SH OPTIONS .TP .B \-b @@ -82,6 +83,5 @@ http://e2fsprogs.sourceforge.net. .SH SEE ALSO .BR e2fsck (8), .BR mke2fs (8), -.BR tune2fs (8). -.BR ext4 (5) +.BR tune2fs (8) diff --git a/misc/dumpe2fs.c b/misc/dumpe2fs.c index 9e5d2df4..5e0a8a2d 100644 --- a/misc/dumpe2fs.c +++ b/misc/dumpe2fs.c @@ -44,10 +44,9 @@ extern int optind; #define in_use(m, x) (ext2fs_test_bit ((x), (m))) -static const char * program_name = "dumpe2fs"; -static char * device_name = NULL; -static int hex_format = 0; -static int blocks64 = 0; +const char * program_name = "dumpe2fs"; +char * device_name = NULL; +int hex_format = 0; static void usage(void) { @@ -56,48 +55,41 @@ static void usage(void) exit (1); } -static void print_number(unsigned long long num) +static void print_number(unsigned long num) { - if (hex_format) { - if (blocks64) - printf("0x%08llx", num); - else - printf("0x%04llx", num); - } else - printf("%llu", num); + if (hex_format) + printf("0x%04lx", num); + else + printf("%lu", num); } -static void print_range(unsigned long long a, unsigned long long b) +static void print_range(unsigned long a, unsigned long b) { - if (hex_format) { - if (blocks64) - printf("0x%08llx-0x%08llx", a, b); - else - printf("0x%04llx-0x%04llx", a, b); - } else - printf("%llu-%llu", a, b); + if (hex_format) + printf("0x%04lx-0x%04lx", a, b); + else + printf("%lu-%lu", a, b); } -static void print_free(unsigned long group, char * bitmap, - unsigned long num, unsigned long offset, int ratio) +static void print_free (unsigned long group, char * bitmap, + unsigned long nbytes, unsigned long offset) { int p = 0; unsigned long i; unsigned long j; - offset /= ratio; - offset += group * num; - for (i = 0; i < num; i++) + offset += group * nbytes; + for (i = 0; i < nbytes; i++) if (!in_use (bitmap, i)) { if (p) printf (", "); - print_number((i + offset) * ratio); - for (j = i; j < num && !in_use (bitmap, j); j++) + print_number(i + offset); + for (j = i; j < nbytes && !in_use (bitmap, j); j++) ; if (--j != i) { fputc('-', stdout); - print_number((j + offset) * ratio); + print_number(j + offset); i = j; } p = 1; @@ -121,7 +113,7 @@ static void print_bg_opts(ext2_filsys fs, dgrp_t i) int first = 1, bg_flags = 0; if (fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_GDT_CSUM) - bg_flags = ext2fs_bg_flags(fs, i); + bg_flags = fs->group_desc[i].bg_flags; print_bg_opt(bg_flags, EXT2_BG_INODE_UNINIT, "INODE_UNINIT", &first); @@ -143,31 +135,25 @@ static void print_bg_rel_offset(ext2_filsys fs, blk64_t block, int itable, printf(" (+%u)", (unsigned)(block - first_block)); } else if (fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_FLEX_BG) { - dgrp_t flex_grp = ext2fs_group_of_blk2(fs, block); + dgrp_t flex_grp = ext2fs_group_of_blk(fs, block); printf(" (bg #%u + %u)", flex_grp, - (unsigned)(block-ext2fs_group_first_block2(fs,flex_grp))); + (unsigned)(block-ext2fs_group_first_block(fs,flex_grp))); } } static void list_desc (ext2_filsys fs) { unsigned long i; - blk64_t first_block, last_block; - blk64_t super_blk, old_desc_blk, new_desc_blk; + blk_t first_block, last_block; + blk_t super_blk, old_desc_blk, new_desc_blk; char *block_bitmap=NULL, *inode_bitmap=NULL; - const char *units = _("blocks"); int inode_blocks_per_group, old_desc_blocks, reserved_gdt; int block_nbytes, inode_nbytes; int has_super; - blk64_t blk_itr = EXT2FS_B2C(fs, fs->super->s_first_data_block); + blk_t blk_itr = fs->super->s_first_data_block; ext2_ino_t ino_itr = 1; - errcode_t retval; - - if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_BIGALLOC)) - units = _("clusters"); - block_nbytes = EXT2_CLUSTERS_PER_GROUP(fs->super) / 8; + block_nbytes = EXT2_BLOCKS_PER_GROUP(fs->super) / 8; inode_nbytes = EXT2_INODES_PER_GROUP(fs->super) / 8; if (fs->block_map) @@ -187,26 +173,20 @@ static void list_desc (ext2_filsys fs) else old_desc_blocks = fs->desc_blocks; for (i = 0; i < fs->group_desc_count; i++) { - first_block = ext2fs_group_first_block2(fs, i); - last_block = ext2fs_group_last_block2(fs, i); + first_block = ext2fs_group_first_block(fs, i); + last_block = ext2fs_group_last_block(fs, i); - ext2fs_super_and_bgd_loc2(fs, i, &super_blk, - &old_desc_blk, &new_desc_blk, 0); + ext2fs_super_and_bgd_loc(fs, i, &super_blk, + &old_desc_blk, &new_desc_blk, 0); printf (_("Group %lu: (Blocks "), i); print_range(first_block, last_block); fputs(")", stdout); print_bg_opts(fs, i); - if (fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_GDT_CSUM) { - unsigned csum = ext2fs_bg_checksum(fs, i); - unsigned exp_csum = ext2fs_group_desc_csum(fs, i); - - printf(_(" Checksum 0x%04x"), csum); - if (csum != exp_csum) - printf(_(" (EXPECTED 0x%04x)"), exp_csum); - printf(_(", unused inodes %u\n"), - ext2fs_bg_itable_unused(fs, i)); - } + if (fs->super->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_GDT_CSUM) + printf(_(" Checksum 0x%04x, unused inodes %d\n"), + fs->group_desc[i].bg_checksum, + fs->group_desc[i].bg_itable_unused); has_super = ((i==0) || super_blk); if (has_super) { printf (_(" %s superblock at "), @@ -214,72 +194,65 @@ static void list_desc (ext2_filsys fs) print_number(super_blk); } if (old_desc_blk) { - printf("%s", _(", Group descriptors at ")); + printf(_(", Group descriptors at ")); print_range(old_desc_blk, old_desc_blk + old_desc_blocks - 1); if (reserved_gdt) { - printf("%s", _("\n Reserved GDT blocks at ")); + printf(_("\n Reserved GDT blocks at ")); print_range(old_desc_blk + old_desc_blocks, old_desc_blk + old_desc_blocks + reserved_gdt - 1); } } else if (new_desc_blk) { fputc(has_super ? ',' : ' ', stdout); - printf("%s", _(" Group descriptor at ")); + printf(_(" Group descriptor at ")); print_number(new_desc_blk); has_super++; } if (has_super) fputc('\n', stdout); fputs(_(" Block bitmap at "), stdout); - print_number(ext2fs_block_bitmap_loc(fs, i)); - print_bg_rel_offset(fs, ext2fs_block_bitmap_loc(fs, i), 0, + print_number(fs->group_desc[i].bg_block_bitmap); + print_bg_rel_offset(fs, fs->group_desc[i].bg_block_bitmap, 0, first_block, last_block); + fputs(_(", Inode bitmap at "), stdout); - print_number(ext2fs_inode_bitmap_loc(fs, i)); - print_bg_rel_offset(fs, ext2fs_inode_bitmap_loc(fs, i), 0, + print_number(fs->group_desc[i].bg_inode_bitmap); + print_bg_rel_offset(fs, fs->group_desc[i].bg_inode_bitmap, 0, first_block, last_block); + fputs(_("\n Inode table at "), stdout); - print_range(ext2fs_inode_table_loc(fs, i), - ext2fs_inode_table_loc(fs, i) + + print_range(fs->group_desc[i].bg_inode_table, + fs->group_desc[i].bg_inode_table + inode_blocks_per_group - 1); - print_bg_rel_offset(fs, ext2fs_inode_table_loc(fs, i), 1, + print_bg_rel_offset(fs, fs->group_desc[i].bg_inode_table, 1, first_block, last_block); - printf (_("\n %u free %s, %u free inodes, " + + printf (_("\n %u free blocks, %u free inodes, " "%u directories%s"), - ext2fs_bg_free_blocks_count(fs, i), units, - ext2fs_bg_free_inodes_count(fs, i), - ext2fs_bg_used_dirs_count(fs, i), - ext2fs_bg_itable_unused(fs, i) ? "" : "\n"); - if (ext2fs_bg_itable_unused(fs, i)) + fs->group_desc[i].bg_free_blocks_count, + fs->group_desc[i].bg_free_inodes_count, + fs->group_desc[i].bg_used_dirs_count, + fs->group_desc[i].bg_itable_unused ? "" : "\n"); + if (fs->group_desc[i].bg_itable_unused) printf (_(", %u unused inodes\n"), - ext2fs_bg_itable_unused(fs, i)); + fs->group_desc[i].bg_itable_unused); if (block_bitmap) { fputs(_(" Free blocks: "), stdout); - retval = ext2fs_get_block_bitmap_range2(fs->block_map, + ext2fs_get_block_bitmap_range(fs->block_map, blk_itr, block_nbytes << 3, block_bitmap); - if (retval) - com_err("list_desc", retval, - "while reading block bitmap"); - else - print_free(i, block_bitmap, - fs->super->s_clusters_per_group, - fs->super->s_first_data_block, - EXT2FS_CLUSTER_RATIO(fs)); + print_free (i, block_bitmap, + fs->super->s_blocks_per_group, + fs->super->s_first_data_block); fputc('\n', stdout); - blk_itr += fs->super->s_clusters_per_group; + blk_itr += fs->super->s_blocks_per_group; } if (inode_bitmap) { fputs(_(" Free inodes: "), stdout); - retval = ext2fs_get_inode_bitmap_range2(fs->inode_map, + ext2fs_get_inode_bitmap_range(fs->inode_map, ino_itr, inode_nbytes << 3, inode_bitmap); - if (retval) - com_err("list_desc", retval, - "while reading inode bitmap"); - else - print_free(i, inode_bitmap, - fs->super->s_inodes_per_group, - 1, 1); + print_free (i, inode_bitmap, + fs->super->s_inodes_per_group, 1); fputc('\n', stdout); ino_itr += fs->super->s_inodes_per_group; } @@ -306,7 +279,7 @@ static void list_bad_blocks(ext2_filsys fs, int dump) retval = ext2fs_badblocks_list_iterate_begin(bb_list, &bb_iter); if (retval) { com_err("ext2fs_badblocks_list_iterate_begin", retval, - "%s", _("while printing bad block list")); + _("while printing bad block list")); return; } if (dump) { @@ -336,34 +309,32 @@ static void print_inline_journal_information(ext2_filsys fs) __u32 *mask_ptr, mask, m; int i, j, size, printed = 0; - if (fs->flags & EXT2_FLAG_IMAGE_FILE) - return; retval = ext2fs_read_inode(fs, ino, &inode); if (retval) { - com_err(program_name, retval, "%s", + com_err(program_name, retval, _("while reading journal inode")); exit(1); } retval = ext2fs_file_open2(fs, ino, &inode, 0, &journal_file); if (retval) { - com_err(program_name, retval, "%s", + com_err(program_name, retval, _("while opening journal inode")); exit(1); } retval = ext2fs_file_read(journal_file, buf, sizeof(buf), 0); if (retval) { - com_err(program_name, retval, "%s", + com_err(program_name, retval, _("while reading journal super block")); exit(1); } ext2fs_file_close(journal_file); jsb = (journal_superblock_t *) buf; if (be32_to_cpu(jsb->s_header.h_magic) != JFS_MAGIC_NUMBER) { - fprintf(stderr, "%s", - _("Journal superblock magic number invalid!\n")); + fprintf(stderr, + "Journal superblock magic number invalid!\n"); exit(1); } - printf("%s", _("Journal features: ")); + printf(_("Journal features: ")); for (i=0, mask_ptr=&jsb->s_feature_compat; i <3; i++,mask_ptr++) { mask = be32_to_cpu(*mask_ptr); for (j=0,m=1; j < 32; j++, m<<=1) { @@ -393,9 +364,6 @@ static void print_inline_journal_information(ext2_filsys fs) (unsigned int)ntohl(jsb->s_maxlen), (unsigned int)ntohl(jsb->s_sequence), (unsigned int)ntohl(jsb->s_start)); - if (jsb->s_errno != 0) - printf(_("Journal errno: %d\n"), - (int) ntohl(jsb->s_errno)); } static void print_journal_information(ext2_filsys fs) @@ -407,10 +375,8 @@ static void print_journal_information(ext2_filsys fs) journal_superblock_t *jsb; /* Get the journal superblock */ - if ((retval = io_channel_read_blk64(fs->io, - fs->super->s_first_data_block + 1, - -1024, buf))) { - com_err(program_name, retval, "%s", + if ((retval = io_channel_read_blk(fs->io, fs->super->s_first_data_block+1, -1024, buf))) { + com_err(program_name, retval, _("while reading journal superblock")); exit(1); } @@ -418,7 +384,7 @@ static void print_journal_information(ext2_filsys fs) if ((jsb->s_header.h_magic != (unsigned) ntohl(JFS_MAGIC_NUMBER)) || (jsb->s_header.h_blocktype != (unsigned) ntohl(JFS_SUPERBLOCK_V2))) { - com_err(program_name, 0, "%s", + com_err(program_name, 0, _("Couldn't find journal superblock magic numbers")); exit(1); } @@ -441,7 +407,7 @@ static void print_journal_information(ext2_filsys fs) } } -static void parse_extended_opts(const char *opts, blk64_t *superblock, +static void parse_extended_opts(const char *opts, blk_t *superblock, int *blocksize) { char *buf, *token, *next, *p, *arg, *badopt = 0; @@ -451,7 +417,7 @@ static void parse_extended_opts(const char *opts, blk64_t *superblock, len = strlen(opts); buf = malloc(len+1); if (!buf) { - fprintf(stderr, "%s", + fprintf(stderr, _("Couldn't allocate memory to parse options!\n")); exit(1); } @@ -523,7 +489,7 @@ int main (int argc, char ** argv) errcode_t retval; ext2_filsys fs; int print_badblocks = 0; - blk64_t use_superblock = 0; + blk_t use_superblock = 0; int use_blocksize = 0; int image_dump = 0; int force = 0; @@ -536,7 +502,6 @@ int main (int argc, char ** argv) setlocale(LC_CTYPE, ""); bindtextdomain(NLS_CAT_NAME, LOCALEDIR); textdomain(NLS_CAT_NAME); - set_com_err_gettext(gettext); #endif add_error_table(&et_ext2_error_table); fprintf (stderr, "dumpe2fs %s (%s)\n", E2FSPROGS_VERSION, @@ -577,7 +542,7 @@ int main (int argc, char ** argv) if (optind > argc - 1) usage(); device_name = argv[optind++]; - flags = EXT2_FLAG_JOURNAL_DEV_OK | EXT2_FLAG_SOFTSUPP_FEATURES | EXT2_FLAG_64BITS; + flags = EXT2_FLAG_JOURNAL_DEV_OK | EXT2_FLAG_SOFTSUPP_FEATURES; if (force) flags |= EXT2_FLAG_FORCE; if (image_dump) @@ -600,12 +565,9 @@ int main (int argc, char ** argv) if (retval) { com_err (program_name, retval, _("while trying to open %s"), device_name); - printf("%s", _("Couldn't find valid filesystem superblock.\n")); + printf (_("Couldn't find valid filesystem superblock.\n")); exit (1); } - fs->default_bitmap_type = EXT2FS_BMAP64_RBTREE; - if (fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - blocks64 = 1; if (print_badblocks) { list_bad_blocks(fs, 1); } else { diff --git a/misc/e2freefrag.c b/misc/e2freefrag.c index 00fdc4ec..50bb9863 100644 --- a/misc/e2freefrag.c +++ b/misc/e2freefrag.c @@ -29,13 +29,11 @@ extern int optind; #include "ext2fs/ext2fs.h" #include "e2freefrag.h" -static void usage(const char *prog) +void usage(const char *prog) { fprintf(stderr, "usage: %s [-c chunksize in kb] [-h] " "device_name\n", prog); -#ifndef DEBUGFS exit(1); -#endif } static int ul_log2(unsigned long arg) @@ -50,7 +48,7 @@ static int ul_log2(unsigned long arg) return l; } -static void init_chunk_info(ext2_filsys fs, struct chunk_info *info) +void init_chunk_info(ext2_filsys fs, struct chunk_info *info) { int i; @@ -73,16 +71,15 @@ static void init_chunk_info(ext2_filsys fs, struct chunk_info *info) } } -static void update_chunk_stats(struct chunk_info *info, - unsigned long chunk_size) +void update_chunk_stats(struct chunk_info *info, unsigned long chunk_size) { - unsigned long idx; + unsigned long index; - idx = ul_log2(chunk_size) + 1; - if (idx >= MAX_HIST) - idx = MAX_HIST-1; - info->histogram.fc_chunks[idx]++; - info->histogram.fc_blocks[idx] += chunk_size; + index = ul_log2(chunk_size) + 1; + if (index >= MAX_HIST) + index = MAX_HIST-1; + info->histogram.fc_chunks[index]++; + info->histogram.fc_blocks[index] += chunk_size; if (chunk_size > info->max) info->max = chunk_size; @@ -92,9 +89,9 @@ static void update_chunk_stats(struct chunk_info *info, info->real_free_chunks++; } -static void scan_block_bitmap(ext2_filsys fs, struct chunk_info *info) +void scan_block_bitmap(ext2_filsys fs, struct chunk_info *info) { - unsigned long long blocks_count = ext2fs_blocks_count(fs->super); + unsigned long long blocks_count = fs->super->s_blocks_count; unsigned long long chunks = (blocks_count + info->blks_in_chunk) >> (info->chunkbits - info->blocksize_bits); unsigned long long chunk_num; @@ -122,8 +119,8 @@ static void scan_block_bitmap(ext2_filsys fs, struct chunk_info *info) blk = fs->super->s_first_data_block; chunk_start_blk = blk; } - used = ext2fs_fast_test_block_bitmap2(fs->block_map, - chunk_start_blk >> fs->cluster_ratio_bits); + used = ext2fs_fast_test_block_bitmap(fs->block_map, + chunk_start_blk); if (!used) { last_chunk_size++; chunk_free++; @@ -142,50 +139,49 @@ static void scan_block_bitmap(ext2_filsys fs, struct chunk_info *info) update_chunk_stats(info, last_chunk_size); } -static errcode_t get_chunk_info(ext2_filsys fs, struct chunk_info *info, - FILE *f) +errcode_t get_chunk_info(ext2_filsys fs, struct chunk_info *info) { unsigned long total_chunks; - const char *unitp = "KMGTPEZY"; + char *unitp = "KMGTPEZY"; int units = 10; - unsigned long start = 0, end; + unsigned long start = 0, end, cum; int i, retval = 0; scan_block_bitmap(fs, info); - fprintf(f, "Total blocks: %llu\nFree blocks: %u (%0.1f%%)\n", - ext2fs_blocks_count(fs->super), fs->super->s_free_blocks_count, - (double)fs->super->s_free_blocks_count * 100 / - ext2fs_blocks_count(fs->super)); + printf("Total blocks: %u\nFree blocks: %u (%0.1f%%)\n", + fs->super->s_blocks_count, fs->super->s_free_blocks_count, + (double)fs->super->s_free_blocks_count * 100 / + fs->super->s_blocks_count); if (info->chunkbytes) { - fprintf(f, "\nChunksize: %lu bytes (%u blocks)\n", - info->chunkbytes, info->blks_in_chunk); - total_chunks = (ext2fs_blocks_count(fs->super) + + printf("\nChunksize: %lu bytes (%u blocks)\n", + info->chunkbytes, info->blks_in_chunk); + total_chunks = (fs->super->s_blocks_count + info->blks_in_chunk) >> (info->chunkbits - info->blocksize_bits); - fprintf(f, "Total chunks: %lu\nFree chunks: %lu (%0.1f%%)\n", - total_chunks, info->free_chunks, - (double)info->free_chunks * 100 / total_chunks); + printf("Total chunks: %lu\nFree chunks: %lu (%0.1f%%)\n", + total_chunks, info->free_chunks, + (double)info->free_chunks * 100 / total_chunks); } /* Display chunk information in KB */ if (info->real_free_chunks) { - unsigned int scale = fs->blocksize >> 10; - info->min = info->min * scale; - info->max = info->max * scale; - info->avg = info->avg / info->real_free_chunks * scale; + info->min = (info->min * fs->blocksize) >> 10; + info->max = (info->max * fs->blocksize) >> 10; + info->avg = (info->avg / info->real_free_chunks * + fs->blocksize) >> 10; } else { info->min = 0; } - fprintf(f, "\nMin. free extent: %lu KB \nMax. free extent: %lu KB\n" - "Avg. free extent: %lu KB\n", info->min, info->max, info->avg); - fprintf(f, "Num. free extent: %lu\n", info->real_free_chunks); + printf("\nMin. free extent: %lu KB \nMax. free extent: %lu KB\n" + "Avg. free extent: %lu KB\n", info->min, info->max, info->avg); + printf("Num. free extent: %lu\n", info->real_free_chunks); - fprintf(f, "\nHISTOGRAM OF FREE EXTENT SIZES:\n"); - fprintf(f, "%s : %12s %12s %7s\n", "Extent Size Range", - "Free extents", "Free Blocks", "Percent"); + printf("\nHISTOGRAM OF FREE EXTENT SIZES:\n"); + printf("%s : %12s %12s %7s\n", "Extent Size Range", "Free extents", + "Free Blocks", "Percent"); for (i = 0; i < MAX_HIST; i++) { end = 1 << (i + info->blocksize_bits - units); if (info->histogram.fc_chunks[i] != 0) { @@ -194,12 +190,12 @@ static errcode_t get_chunk_info(ext2_filsys fs, struct chunk_info *info, sprintf(end_str, "%5lu%c-", end, *unitp); if (i == MAX_HIST-1) strcpy(end_str, "max "); - fprintf(f, "%5lu%c...%7s : %12lu %12lu %6.2f%%\n", - start, *unitp, end_str, - info->histogram.fc_chunks[i], - info->histogram.fc_blocks[i], - (double)info->histogram.fc_blocks[i] * 100 / - fs->super->s_free_blocks_count); + printf("%5lu%c...%7s : %12lu %12lu %6.2f%%\n", + start, *unitp, end_str, + info->histogram.fc_chunks[i], + info->histogram.fc_blocks[i], + (double)info->histogram.fc_blocks[i] * 100 / + fs->super->s_free_blocks_count); } start = end; if (start == 1<<10) { @@ -212,7 +208,7 @@ static errcode_t get_chunk_info(ext2_filsys fs, struct chunk_info *info, return retval; } -static void close_device(char *device_name, ext2_filsys fs) +void close_device(char *device_name, ext2_filsys fs) { int retval = ext2fs_close(fs); @@ -220,12 +216,12 @@ static void close_device(char *device_name, ext2_filsys fs) com_err(device_name, retval, "while closing the filesystem.\n"); } -static void collect_info(ext2_filsys fs, struct chunk_info *chunk_info, FILE *f) +void collect_info(ext2_filsys fs, struct chunk_info *chunk_info) { - unsigned int retval = 0; + unsigned int retval = 0, i, free_blks; - fprintf(f, "Device: %s\n", fs->device_name); - fprintf(f, "Blocksize: %u bytes\n", fs->blocksize); + printf("Device: %s\n", fs->device_name); + printf("Blocksize: %u bytes\n", fs->blocksize); retval = ext2fs_read_block_bitmap(fs); if (retval) { @@ -236,7 +232,7 @@ static void collect_info(ext2_filsys fs, struct chunk_info *chunk_info, FILE *f) init_chunk_info(fs, chunk_info); - retval = get_chunk_info(fs, chunk_info, f); + retval = get_chunk_info(fs, chunk_info); if (retval) { com_err(fs->device_name, retval, "while collecting chunk info"); close_device(fs->device_name, fs); @@ -244,45 +240,30 @@ static void collect_info(ext2_filsys fs, struct chunk_info *chunk_info, FILE *f) } } -#ifndef DEBUGFS -static void open_device(char *device_name, ext2_filsys *fs) +void open_device(char *device_name, ext2_filsys *fs) { int retval; - int flag = EXT2_FLAG_FORCE | EXT2_FLAG_64BITS; + int flag = EXT2_FLAG_FORCE; retval = ext2fs_open(device_name, flag, 0, 0, unix_io_manager, fs); if (retval) { com_err(device_name, retval, "while opening filesystem"); exit(1); } - (*fs)->default_bitmap_type = EXT2FS_BMAP64_RBTREE; } -#endif -#ifdef DEBUGFS -#include "debugfs.h" - -void do_freefrag(int argc, char **argv) -#else int main(int argc, char *argv[]) -#endif { - struct chunk_info chunk_info; + struct chunk_info chunk_info = { }; + errcode_t retval = 0; ext2_filsys fs = NULL; + char *device_name; char *progname; char *end; int c; -#ifdef DEBUGFS - if (check_fs_open(argv[0])) - return; -#else - char *device_name; - add_error_table(&et_ext2_error_table); -#endif progname = argv[0]; - memset(&chunk_info, 0, sizeof(chunk_info)); while ((c = getopt(argc, argv, "c:h")) != EOF) { switch (c) { @@ -301,14 +282,15 @@ int main(int argc, char *argv[]) } chunk_info.chunkbytes *= 1024; break; - case 'h': default: + fprintf(stderr, "%s: bad option '%c'\n", + progname, c); + case 'h': usage(progname); break; } } -#ifndef DEBUGFS if (optind == argc) { fprintf(stderr, "%s: missing device name.\n", progname); usage(progname); @@ -317,19 +299,14 @@ int main(int argc, char *argv[]) device_name = argv[optind]; open_device(device_name, &fs); -#else - fs = current_fs; -#endif if (chunk_info.chunkbytes && (chunk_info.chunkbytes < fs->blocksize)) { fprintf(stderr, "%s: chunksize must be greater than or equal " "to filesystem blocksize.\n", progname); exit(1); } - collect_info(fs, &chunk_info, stdout); -#ifndef DEBUGFS + collect_info(fs, &chunk_info); close_device(device_name, fs); - return 0; -#endif + return retval; } diff --git a/misc/e2image.8.in b/misc/e2image.8.in index 75002d77..e18a30b5 100644 --- a/misc/e2image.8.in +++ b/misc/e2image.8.in @@ -8,44 +8,18 @@ e2image \- Save critical ext2/ext3/ext4 filesystem metadata to a file .SH SYNOPSIS .B e2image [ -.B \-r|Q +.B \-rsI ] -[ -.B \-fr -] -.I device -.I image-file -.br -.B e2image -.B \-I .I device .I image-file -.br -.B e2image -.B \-ra -[ -.B \-cfnp -] -[ -.B \-o -.I src_offset -] -[ -.B \-O -.I dest_offset -] -.I src_fs -[ -.I dest_fs -] .SH DESCRIPTION The .B e2image -program will save critical ext2, ext3, or ext4 filesystem metadata located on -.I device -to a file specified by +program will save critical ext2, ext3, or ext4 filesystem metadata located on +.I device +to a file specified by .IR image-file . -The image file may be examined by +The image file may be examined by .B dumpe2fs and .BR debugfs , @@ -56,51 +30,39 @@ recovering catastrophically corrupted filesystems. In the future, e2fsck will be enhanced to be able to use the image file to help recover a badly damaged filesystem. .PP -When saving an e2image for debugging purposes, using either the -.B \-r -or -.B \-Q -options, the filesystem must be unmounted or be mounted read/only, in order -for the image file to be in a consistent state. This requirement can be -overriden using the -.B \-f -option, but the resulting image file is very likely not going to be useful. -.PP -If +If .I image-file -is \-, then the output of +is \-, then the output of .B e2image will be sent to standard output, so that the output can be piped to -another program, such as -.BR gzip (1). +another program, such as +.BR gzip (1). (Note that this is currently only supported when -creating a raw image file using the +creating a raw image file using the .B \-r -option, since the process of creating a normal image file, or QCOW2 -image currently +option, since the process of creating a normal image file currently requires random access to the file, which cannot be done using a pipe. This restriction will hopefully be lifted in a future version of .BR e2image .) .PP It is a very good idea to create image files for all of filesystems on a system and save the partition -layout (which can be generated using the +layout (which can be generated using the .B fdisk \-l command) at regular intervals --- at boot time, and/or every week or so. The image file should be stored on some filesystem other than the filesystem whose data it contains, to ensure that this data is accessible in the case where the filesystem has been badly damaged. .PP -To save disk space, +To save disk space, .B e2image -creates the image file as a sparse file, or in QCOW2 format. -Hence, if the sparse image file +creates the image file as a sparse file. +Hence, if the image file needs to be copied to another location, it should -either be compressed first or copied using the +either be compressed first or copied using the .B \-\-sparse=always -option to the GNU version of -.BR cp . -This does not apply to the QCOW2 image, which is not sparse. +option to the GNU version of +.BR cp . .PP The size of an ext2 image file depends primarily on the size of the filesystems and how many inodes are in use. For a typical 10 gigabyte @@ -113,15 +75,15 @@ disk will generally compress down to 3 or 4 megabytes. .PP .SH RESTORING FILESYSTEM METADATA USING AN IMAGE FILE .PP -The -.B \-I +The +.B \-I option will cause e2image to install the metadata stored in the image -file back to the device. It can be used to restore the filesystem metadata +file back to the device. It can be used to restore the filesystem metadata back to the device in emergency situations. .PP .B WARNING!!!! The -.B \-I +.B \-I option should only be used as a desperation measure when other alternatives have failed. If the filesystem has changed since the image file was created, data @@ -131,13 +93,13 @@ backup of the filesystem first, in case you wish to try other recovery strategies afterwards. .PP .SH RAW IMAGE FILES -The +The .B \-r -option will create a raw image file instead of a normal image file. +option will create a raw image file instead of a normal image file. A raw image file differs from a normal image file in two ways. First, the filesystem metadata is placed in the proper position so that e2fsck, dumpe2fs, debugfs, -etc.\& can be run directly on the raw image file. In order to minimize +etc. can be run directly on the raw image file. In order to minimize the amount of disk space consumed by a raw image file, the file is created as a sparse file. (Beware of copying or compressing/decompressing this file with utilities that don't understand @@ -151,133 +113,28 @@ as part of bug reports to e2fsprogs. When used in this capacity, the recommended command is as follows (replace hda1 with the appropriate device): .PP .br - \fBe2image \-r /dev/hda1 \- | bzip2 > hda1.e2i.bz2\fR +\ \fBe2image \-r /dev/hda1 \- | bzip2 > hda1.e2i.bz2\fR .PP -This will only send the metadata information, without any data blocks. +This will only send the metadata information, without any data blocks. However, the filenames in the directory blocks can still reveal information about the contents of the filesystem that the bug reporter may wish to keep confidential. To address this concern, the .B \-s option can be specified. This will cause -.B e2image +.B e2image to scramble directory entries and zero out any unused portions of the directory blocks before writing the image file. However, -the +the .B \-s option will prevent analysis of problems related to hash-tree indexed directories. .PP -Note that this will work even if you substitute "/dev/hda1" for another raw -disk image, or QCOW2 image previously created by -.BR e2image . -.PP -.SH QCOW2 IMAGE FILES -The -.B \-Q -option will create a QCOW2 image file instead of a normal, or raw image file. -A QCOW2 image contains all the information the raw image does, however unlike -the raw image it is not sparse. The QCOW2 image minimize the amount of disk -space by storing data in special format with pack data closely together, hence -avoiding holes while still minimizing size. -.PP -In order to send filesystem to the maintainer as a part of bug report to -e2fsprogs, use following commands (replace hda1 with the appropriate device): -.PP -.br -\ \fBe2image \-Q /dev/hda1 hda1.qcow2\fR -.br -\ \fBbzip2 -z hda1.qcow2\fR -.PP -This will only send the metadata information, without any data blocks. -However, the filenames in the directory blocks can still reveal -information about the contents of the filesystem that the bug reporter -may wish to keep confidential. To address this concern, the -.B \-s -option can be specified. This will cause -.B e2image -to scramble directory entries and zero out any unused portions -of the directory blocks before writing the image file. However, the -.B \-s -option will prevent analysis of problems related to hash-tree indexed -directories. -.PP -Note that QCOW2 image created by -.B e2image -is regular QCOW2 image and can be processed by tools aware of QCOW2 format -such as for example -.BR qemu-img . -.PP -You can convert a qcow2 image into a raw image with: -.PP -.br -\ \fBe2image \-r hda1.qcow2 hda1.raw\fR -.br -.PP -This can be useful to write a qcow2 image containing all data to a -sparse image file where it can be loop mounted, or to a disk partition. -Note that this may not work with qcow2 images not generated by e2image. -.PP -.SH INCLUDING DATA -Normally -.B e2image -only includes fs metadata, not regular file data. The -.B \-a -option can be specified to include all data. This will -give an image that is suitable to use to clone the entire FS or -for backup purposes. Note that this option only works with the -raw or QCOW2 formats. The -.B \-p -switch may be given to show progress. If the file system is being -cloned to a flash-based storage device (where reads are very fast and -where it is desirable to avoid unnecessary writes to reduce write wear -on the device), the -.B \-c -option which cause e2image to try reading a block from the destination -to see if it is identical to the block which -.B e2image -is about to copy. If the block is already the same, the write can be -skipped. The -.B \-n -option will cause all of the writes to be no-ops, and print the blocks -that would have been written. -.PP -.SH OFFSETS -Normally a filesystem starts at the beginning of a partition, and -.B e2image -is run on the partition. When working with image files, you don't -have the option of using the partition device, so you can specify -the offset where the filesystem starts directly with the -.B \-o -option. Similarly the -.B \-O -option specifies the offset that should be seeked to in the destination -before writing the filesystem. -.PP -For example, if you have a -.B dd -image of a whole hard drive that contains an ext2 fs in a partition -starting at 1 MiB, you can clone that fs with: -.PP -.br -\ \fBe2image \-aro 1048576 img /dev/sda1\fR -.br -.PP -Or you can clone a fs into an image file, leaving room in the first -MiB for a partition table with: -.PP -.br -\ \fBe2image -arO 1048576 /dev/sda1 img\fR -.br -.PP -If you specify at least one offset, and only one file, an in-place -move will be performed, allowing you to safely move the filesystem -from one offset to another. .SH AUTHOR -.B e2image +.B e2image was written by Theodore Ts'o (tytso@mit.edu). .SH AVAILABILITY .B e2image -is part of the e2fsprogs package and is available from +is part of the e2fsprogs package and is available from http://e2fsprogs.sourceforge.net. .SH SEE ALSO .BR dumpe2fs (8), diff --git a/misc/e2image.c b/misc/e2image.c index a924d10a..83c1cca9 100644 --- a/misc/e2image.c +++ b/misc/e2image.c @@ -33,8 +33,6 @@ extern int optind; #include #include #include -#include -#include #include "ext2fs/ext2_fs.h" #include "ext2fs/ext2fs.h" @@ -42,184 +40,51 @@ extern int optind; #include "uuid/uuid.h" #include "e2p/e2p.h" #include "ext2fs/e2image.h" -#include "ext2fs/qcow2.h" #include "../version.h" #include "nls-enable.h" -#define QCOW_OFLAG_COPIED (1LL << 63) -#define NO_BLK ((blk64_t) -1) - -/* Image types */ -#define E2IMAGE_RAW 1 -#define E2IMAGE_QCOW2 2 - -/* Image flags */ -#define E2IMAGE_INSTALL_FLAG 1 -#define E2IMAGE_SCRAMBLE_FLAG 2 -#define E2IMAGE_IS_QCOW2_FLAG 4 -#define E2IMAGE_CHECK_ZERO_FLAG 8 - -static const char * program_name = "e2image"; -static char * device_name = NULL; -static char all_data; -static char output_is_blk; -static char nop_flag; -/* writing to blk device: don't skip zeroed blocks */ -static blk64_t source_offset, dest_offset; -static char move_mode; -static char show_progress; -static char *check_buf; -static int skipped_blocks; - -static blk64_t align_offset(blk64_t offset, unsigned int n) -{ - return (offset + n - 1) & ~((blk64_t) n - 1); -} - -static int get_bits_from_size(size_t size) -{ - int res = 0; - - if (size == 0) - return -1; - - while (size != 1) { - /* Not a power of two */ - if (size & 1) - return -1; - - size >>= 1; - res++; - } - return res; -} +const char * program_name = "e2image"; +char * device_name = NULL; static void usage(void) { - fprintf(stderr, _("Usage: %s [ -r|Q ] [ -fr ] device image-file\n"), - program_name); - fprintf(stderr, _(" %s -I device image-file\n"), program_name); - fprintf(stderr, _(" %s -ra [ -cfnp ] [ -o src_offset ] " - "[ -O dest_offset ] src_fs [ dest_fs ]\n"), + fprintf(stderr, _("Usage: %s [-rsI] device image_file\n"), program_name); exit (1); } -static ext2_loff_t seek_relative(int fd, int offset) +static void write_header(int fd, struct ext2_image_hdr *hdr, int blocksize) { - ext2_loff_t ret = ext2fs_llseek(fd, offset, SEEK_CUR); - if (ret < 0) { - perror("seek_relative"); - exit(1); - } - return ret; -} + char *header_buf; + int actual; -static ext2_loff_t seek_set(int fd, ext2_loff_t offset) -{ - ext2_loff_t ret = ext2fs_llseek(fd, offset, SEEK_SET); - if (ret < 0) { - perror("seek_set"); + header_buf = malloc(blocksize); + if (!header_buf) { + fputs(_("Couldn't allocate header buffer\n"), stderr); exit(1); } - return ret; -} - -/* - * Returns true if the block we are about to write is identical to - * what is already on the disk. - */ -static int check_block(int fd, void *buf, void *cbuf, int blocksize) -{ - char *cp = cbuf; - int count = blocksize, ret; - - if (cbuf == NULL) - return 0; - - while (count > 0) { - ret = read(fd, cp, count); - if (ret < 0) { - perror("check_block"); - exit(1); - } - count -= ret; - cp += ret; - } - ret = memcmp(buf, cbuf, blocksize); - seek_relative(fd, -blocksize); - return (ret == 0) ? 1 : 0; -} - -static void generic_write(int fd, void *buf, int blocksize, blk64_t block) -{ - int count, free_buf = 0; - errcode_t err; - - if (!blocksize) - return; - - if (!buf) { - free_buf = 1; - err = ext2fs_get_arrayzero(1, blocksize, &buf); - if (err) { - com_err(program_name, err, - _("while allocating buffer")); - exit(1); - } - } - if (nop_flag) { - printf(_("Writing block %llu\n"), (unsigned long long) block); - if (fd != 1) - seek_relative(fd, blocksize); - return; - } - count = write(fd, buf, blocksize); - if (count != blocksize) { - if (count == -1) - err = errno; - else - err = 0; - - if (block) - com_err(program_name, err, - _("error writing block %llu"), block); - else - com_err(program_name, err, _("error in write()")); + if (lseek(fd, 0, SEEK_SET) < 0) { + perror("lseek while writing header"); exit(1); } - if (free_buf) - ext2fs_free_mem(&buf); -} + memset(header_buf, 0, blocksize); -static void write_header(int fd, void *hdr, int hdr_size, int wrt_size) -{ - char *header_buf; - int ret; + if (hdr) + memcpy(header_buf, hdr, sizeof(struct ext2_image_hdr)); - /* Sanity check */ - if (hdr_size > wrt_size) { - fprintf(stderr, "%s", - _("Error: header size is bigger than wrt_size\n")); + actual = write(fd, header_buf, blocksize); + if (actual < 0) { + perror("write header"); + exit(1); } - - ret = ext2fs_get_mem(wrt_size, &header_buf); - if (ret) { - fputs(_("Couldn't allocate header buffer\n"), stderr); + if (actual != blocksize) { + fprintf(stderr, _("short write (only %d bytes) for " + "writing image header"), actual); exit(1); } - - seek_set(fd, 0); - memset(header_buf, 0, wrt_size); - - if (hdr) - memcpy(header_buf, hdr, hdr_size); - - generic_write(fd, header_buf, wrt_size, NO_BLK); - - ext2fs_free_mem(&header_buf); + free(header_buf); } static void write_image_file(ext2_filsys fs, int fd) @@ -228,39 +93,35 @@ static void write_image_file(ext2_filsys fs, int fd) struct stat st; errcode_t retval; - write_header(fd, NULL, sizeof(struct ext2_image_hdr), fs->blocksize); + write_header(fd, NULL, fs->blocksize); memset(&hdr, 0, sizeof(struct ext2_image_hdr)); - hdr.offset_super = seek_relative(fd, 0); + hdr.offset_super = lseek(fd, 0, SEEK_CUR); retval = ext2fs_image_super_write(fs, fd, 0); if (retval) { - com_err(program_name, retval, "%s", - _("while writing superblock")); + com_err(program_name, retval, _("while writing superblock")); exit(1); } - hdr.offset_inode = seek_relative(fd, 0); + hdr.offset_inode = lseek(fd, 0, SEEK_CUR); retval = ext2fs_image_inode_write(fs, fd, (fd != 1) ? IMAGER_FLAG_SPARSEWRITE : 0); if (retval) { - com_err(program_name, retval, "%s", - _("while writing inode table")); + com_err(program_name, retval, _("while writing inode table")); exit(1); } - hdr.offset_blockmap = seek_relative(fd, 0); + hdr.offset_blockmap = lseek(fd, 0, SEEK_CUR); retval = ext2fs_image_bitmap_write(fs, fd, 0); if (retval) { - com_err(program_name, retval, "%s", - _("while writing block bitmap")); + com_err(program_name, retval, _("while writing block bitmap")); exit(1); } - hdr.offset_inodemap = seek_relative(fd, 0); + hdr.offset_inodemap = lseek(fd, 0, SEEK_CUR); retval = ext2fs_image_bitmap_write(fs, fd, IMAGER_FLAG_INODEMAP); if (retval) { - com_err(program_name, retval, "%s", - _("while writing inode bitmap")); + com_err(program_name, retval, _("while writing inode bitmap")); exit(1); } @@ -281,15 +142,14 @@ static void write_image_file(ext2_filsys fs, int fd) memcpy(hdr.fs_uuid, fs->super->s_uuid, sizeof(hdr.fs_uuid)); hdr.image_time = time(0); - write_header(fd, &hdr, sizeof(struct ext2_image_hdr), fs->blocksize); + write_header(fd, &hdr, fs->blocksize); } /* * These set of functions are used to write a RAW image file. */ -static ext2fs_block_bitmap meta_block_map; -static ext2fs_block_bitmap scramble_block_map; /* Directory blocks to be scrambled */ -static blk64_t meta_blocks_count; +ext2fs_block_bitmap meta_block_map; +ext2fs_block_bitmap scramble_block_map; /* Directory blocks to be scrambled */ struct process_block_struct { ext2_ino_t ino; @@ -340,9 +200,9 @@ static errcode_t meta_read_inode(ext2_filsys fs EXT2FS_ATTR((unused)), return 0; } -static void use_inode_shortcuts(ext2_filsys fs, int use_shortcuts) +static void use_inode_shortcuts(ext2_filsys fs, int bool) { - if (use_shortcuts) { + if (bool) { fs->get_blocks = meta_get_blocks; fs->check_directory = meta_check_directory; fs->read_inode = meta_read_inode; @@ -355,9 +215,9 @@ static void use_inode_shortcuts(ext2_filsys fs, int use_shortcuts) } static int process_dir_block(ext2_filsys fs EXT2FS_ATTR((unused)), - blk64_t *block_nr, + blk_t *block_nr, e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data EXT2FS_ATTR((unused))) { @@ -365,88 +225,69 @@ static int process_dir_block(ext2_filsys fs EXT2FS_ATTR((unused)), p = (struct process_block_struct *) priv_data; - ext2fs_mark_block_bitmap2(meta_block_map, *block_nr); - meta_blocks_count++; + ext2fs_mark_block_bitmap(meta_block_map, *block_nr); if (scramble_block_map && p->is_dir && blockcnt >= 0) - ext2fs_mark_block_bitmap2(scramble_block_map, *block_nr); + ext2fs_mark_block_bitmap(scramble_block_map, *block_nr); return 0; } static int process_file_block(ext2_filsys fs EXT2FS_ATTR((unused)), - blk64_t *block_nr, + blk_t *block_nr, e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data EXT2FS_ATTR((unused))) { - if (blockcnt < 0 || all_data) { - ext2fs_mark_block_bitmap2(meta_block_map, *block_nr); - meta_blocks_count++; + if (blockcnt < 0) { + ext2fs_mark_block_bitmap(meta_block_map, *block_nr); } return 0; } static void mark_table_blocks(ext2_filsys fs) { - blk64_t first_block, b; + blk_t first_block, b; unsigned int i,j; first_block = fs->super->s_first_data_block; /* * Mark primary superblock */ - ext2fs_mark_block_bitmap2(meta_block_map, first_block); - meta_blocks_count++; + ext2fs_mark_block_bitmap(meta_block_map, first_block); /* * Mark the primary superblock descriptors */ for (j = 0; j < fs->desc_blocks; j++) { - ext2fs_mark_block_bitmap2(meta_block_map, - ext2fs_descriptor_block_loc2(fs, first_block, j)); + ext2fs_mark_block_bitmap(meta_block_map, + ext2fs_descriptor_block_loc(fs, first_block, j)); } - meta_blocks_count += fs->desc_blocks; for (i = 0; i < fs->group_desc_count; i++) { /* * Mark the blocks used for the inode table */ - if ((output_is_blk || - !ext2fs_bg_flags_test(fs, i, EXT2_BG_INODE_UNINIT)) && - ext2fs_inode_table_loc(fs, i)) { - unsigned int end = (unsigned) fs->inode_blocks_per_group; - /* skip unused blocks */ - if (!output_is_blk && - EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) - end -= (ext2fs_bg_itable_unused(fs, i) / - EXT2_INODES_PER_BLOCK(fs->super)); - for (j = 0, b = ext2fs_inode_table_loc(fs, i); - j < end; - j++, b++) { - ext2fs_mark_block_bitmap2(meta_block_map, b); - meta_blocks_count++; - } + if (fs->group_desc[i].bg_inode_table) { + for (j = 0, b = fs->group_desc[i].bg_inode_table; + j < (unsigned) fs->inode_blocks_per_group; + j++, b++) + ext2fs_mark_block_bitmap(meta_block_map, b); } /* * Mark block used for the block bitmap */ - if (!ext2fs_bg_flags_test(fs, i, EXT2_BG_BLOCK_UNINIT) && - ext2fs_block_bitmap_loc(fs, i)) { - ext2fs_mark_block_bitmap2(meta_block_map, - ext2fs_block_bitmap_loc(fs, i)); - meta_blocks_count++; + if (fs->group_desc[i].bg_block_bitmap) { + ext2fs_mark_block_bitmap(meta_block_map, + fs->group_desc[i].bg_block_bitmap); } /* * Mark block used for the inode bitmap */ - if (!ext2fs_bg_flags_test(fs, i, EXT2_BG_INODE_UNINIT) && - ext2fs_inode_bitmap_loc(fs, i)) { - ext2fs_mark_block_bitmap2(meta_block_map, - ext2fs_inode_bitmap_loc(fs, i)); - meta_blocks_count++; + if (fs->group_desc[i].bg_inode_bitmap) { + ext2fs_mark_block_bitmap(meta_block_map, + fs->group_desc[i].bg_inode_bitmap); } } } @@ -459,8 +300,6 @@ static int check_zero_block(char *buf, int blocksize) char *cp = buf; int left = blocksize; - if (output_is_blk) - return 0; while (left > 0) { if (*cp++) return 0; @@ -469,11 +308,40 @@ static int check_zero_block(char *buf, int blocksize) return 1; } -static int name_id[256]; +static void write_block(int fd, char *buf, int sparse_offset, + int blocksize, blk_t block) +{ + int count; + errcode_t err; + + if (sparse_offset) { +#ifdef HAVE_LSEEK64 + if (lseek64(fd, sparse_offset, SEEK_CUR) < 0) + perror("lseek"); +#else + if (lseek(fd, sparse_offset, SEEK_CUR) < 0) + perror("lseek"); +#endif + } + if (blocksize) { + count = write(fd, buf, blocksize); + if (count != blocksize) { + if (count == -1) + err = errno; + else + err = 0; + com_err(program_name, err, "error writing block %u", + block); + exit(1); + } + } +} + +int name_id[256]; #define EXT4_MAX_REC_LEN ((1<<16)-1) -static void scramble_dir_block(ext2_filsys fs, blk64_t blk, char *buf) +static void scramble_dir_block(ext2_filsys fs, blk_t blk, char *buf) { char *p, *end, *cp; struct ext2_dir_entry_2 *dirent; @@ -496,9 +364,9 @@ static void scramble_dir_block(ext2_filsys fs, blk64_t blk, char *buf) #endif if (rec_len < 8 || (rec_len % 4) || (p+rec_len > end)) { - printf(_("Corrupt directory block %llu: " - "bad rec_len (%d)\n"), - (unsigned long long) blk, rec_len); + printf("Corrupt directory block %lu: " + "bad rec_len (%d)\n", (unsigned long) blk, + rec_len); rec_len = end - p; (void) ext2fs_set_rec_len(fs, rec_len, (struct ext2_dir_entry *) dirent); @@ -507,10 +375,10 @@ static void scramble_dir_block(ext2_filsys fs, blk64_t blk, char *buf) #endif continue; } - if (dirent->name_len + 8U > rec_len) { - printf(_("Corrupt directory block %llu: " - "bad name_len (%d)\n"), - (unsigned long long) blk, dirent->name_len); + if (dirent->name_len + 8 > rec_len) { + printf("Corrupt directory block %lu: " + "bad name_len (%d)\n", (unsigned long) blk, + dirent->name_len); dirent->name_len = rec_len - 8; continue; } @@ -535,711 +403,60 @@ static void scramble_dir_block(ext2_filsys fs, blk64_t blk, char *buf) } } -static char got_sigint; - -static void sigint_handler(int unused EXT2FS_ATTR((unused))) -{ - got_sigint = 1; - signal (SIGINT, SIG_DFL); -} - -#define calc_percent(a, b) ((int) ((100.0 * (((float) (a)) / \ - ((float) (b)))) + 0.5)) -#define calc_rate(t, b, d) (((float)(t) / ((1024 * 1024) / (b))) / (d)) - -static int print_progress(blk64_t num, blk64_t total) -{ - return fprintf(stderr, _("%llu / %llu blocks (%d%%)"), num, total, - calc_percent(num, total)); -} - -static void output_meta_data_blocks(ext2_filsys fs, int fd, int flags) +static void output_meta_data_blocks(ext2_filsys fs, int fd) { errcode_t retval; - blk64_t blk; + blk_t blk; char *buf, *zero_buf; int sparse = 0; - blk64_t start = 0; - blk64_t distance = 0; - blk64_t end = ext2fs_blocks_count(fs->super); - time_t last_update = 0; - time_t start_time = 0; - blk64_t total_written = 0; - int bscount = 0; - - retval = ext2fs_get_mem(fs->blocksize, &buf); - if (retval) { - com_err(program_name, retval, _("while allocating buffer")); + + buf = malloc(fs->blocksize); + if (!buf) { + com_err(program_name, ENOMEM, "while allocating buffer"); exit(1); } - retval = ext2fs_get_memzero(fs->blocksize, &zero_buf); - if (retval) { - com_err(program_name, retval, _("while allocating buffer")); + zero_buf = malloc(fs->blocksize); + if (!zero_buf) { + com_err(program_name, ENOMEM, "while allocating buffer"); exit(1); } - if (show_progress) { - fprintf(stderr, _("Copying ")); - bscount = print_progress(total_written, meta_blocks_count); - fflush(stderr); - last_update = time(NULL); - start_time = time(NULL); - } - /* when doing an in place move to the right, you can't start - at the beginning or you will overwrite data, so instead - divide the fs up into distance size chunks and write them - in reverse. */ - if (move_mode && dest_offset > source_offset) { - distance = (dest_offset - source_offset) / fs->blocksize; - if (distance < ext2fs_blocks_count(fs->super)) - start = ext2fs_blocks_count(fs->super) - distance; - } - if (move_mode) - signal (SIGINT, sigint_handler); -more_blocks: - if (distance) - seek_set(fd, (start * fs->blocksize) + dest_offset); - for (blk = start; blk < end; blk++) { - if (got_sigint) { - if (distance) { - /* moving to the right */ - if (distance >= ext2fs_blocks_count(fs->super) || - start == ext2fs_blocks_count(fs->super) - distance) - kill (getpid(), SIGINT); - } else { - /* moving to the left */ - if (blk < (source_offset - dest_offset) / fs->blocksize) - kill (getpid(), SIGINT); - } - if (show_progress) - fputc('\r', stderr); - fprintf(stderr, - _("Stopping now will destroy the filesystem, " - "interrupt again if you are sure\n")); - if (show_progress) { - fprintf(stderr, _("Copying ")); - bscount = print_progress(total_written, - meta_blocks_count); - fflush(stderr); - } - - got_sigint = 0; - } - if (show_progress && last_update != time(NULL)) { - time_t duration; - last_update = time(NULL); - while (bscount--) - fputc('\b', stderr); - bscount = print_progress(total_written, - meta_blocks_count); - duration = time(NULL) - start_time; - if (duration > 5) { - time_t est = (duration * meta_blocks_count / - total_written) - duration; - char buff[30]; - strftime(buff, 30, "%T", gmtime(&est)); - bscount += fprintf(stderr, - _(" %s remaining at %.2f MB/s"), - buff, calc_rate(total_written, - fs->blocksize, - duration)); - } - fflush (stderr); - } + memset(zero_buf, 0, fs->blocksize); + for (blk = 0; blk < fs->super->s_blocks_count; blk++) { if ((blk >= fs->super->s_first_data_block) && - ext2fs_test_block_bitmap2(meta_block_map, blk)) { - retval = io_channel_read_blk64(fs->io, blk, 1, buf); + ext2fs_test_block_bitmap(meta_block_map, blk)) { + retval = io_channel_read_blk(fs->io, blk, 1, buf); if (retval) { com_err(program_name, retval, - _("error reading block %llu"), blk); + "error reading block %u", blk); } - total_written++; if (scramble_block_map && - ext2fs_test_block_bitmap2(scramble_block_map, blk)) + ext2fs_test_block_bitmap(scramble_block_map, blk)) scramble_dir_block(fs, blk, buf); - if ((flags & E2IMAGE_CHECK_ZERO_FLAG) && - check_zero_block(buf, fs->blocksize)) + if ((fd != 1) && check_zero_block(buf, fs->blocksize)) goto sparse_write; - if (sparse) - seek_relative(fd, sparse); + write_block(fd, buf, sparse, fs->blocksize, blk); sparse = 0; - if (check_block(fd, buf, check_buf, fs->blocksize)) { - seek_relative(fd, fs->blocksize); - skipped_blocks++; - } else - generic_write(fd, buf, fs->blocksize, blk); } else { sparse_write: if (fd == 1) { - if (!nop_flag) - generic_write(fd, zero_buf, - fs->blocksize, blk); + write_block(fd, zero_buf, 0, + fs->blocksize, blk); continue; } sparse += fs->blocksize; - if (sparse > 1024*1024) { - seek_relative(fd, 1024*1024); - sparse -= 1024*1024; - } - } - } - if (distance && start) { - if (start < distance) { - end = start; - start = 0; - } else { - end -= distance; - start -= distance; - if (end < distance) { - /* past overlap, do rest in one go */ - end = start; - start = 0; - } - } - sparse = 0; - goto more_blocks; - } - signal (SIGINT, SIG_DFL); - if (show_progress) { - time_t duration = time(NULL) - start_time; - char buff[30]; - while (bscount--) - fputc('\b', stderr); - strftime(buff, 30, "%T", gmtime(&duration)); - fprintf(stderr, _("\b\b\b\b\b\b\b\bCopied %llu / %llu " - "blocks (%llu%%) in %s at %.2f MB/s \n"), - total_written, meta_blocks_count, - calc_percent(total_written, meta_blocks_count), buff, - calc_rate(total_written, fs->blocksize, duration)); - } -#ifdef HAVE_FTRUNCATE64 - if (sparse) { - ext2_loff_t offset; - if (distance) - offset = seek_set(fd, - fs->blocksize * ext2fs_blocks_count(fs->super) + dest_offset); - else - offset = seek_relative(fd, sparse); - - if (ftruncate64(fd, offset) < 0) { - seek_relative(fd, -1); - generic_write(fd, zero_buf, 1, NO_BLK); - } - } -#else - if (sparse && !distance) { - seek_relative(fd, sparse-1); - generic_write(fd, zero_buf, 1, NO_BLK); - } -#endif - ext2fs_free_mem(&zero_buf); - ext2fs_free_mem(&buf); -} - -static void init_l1_table(struct ext2_qcow2_image *image) -{ - __u64 *l1_table; - errcode_t ret; - - ret = ext2fs_get_arrayzero(image->l1_size, sizeof(__u64), &l1_table); - if (ret) { - com_err(program_name, ret, _("while allocating l1 table")); - exit(1); - } - - image->l1_table = l1_table; -} - -static void init_l2_cache(struct ext2_qcow2_image *image) -{ - unsigned int count, i; - struct ext2_qcow2_l2_cache *cache; - struct ext2_qcow2_l2_table *table; - errcode_t ret; - - ret = ext2fs_get_arrayzero(1, sizeof(struct ext2_qcow2_l2_cache), - &cache); - if (ret) - goto alloc_err; - - count = (image->l1_size > L2_CACHE_PREALLOC) ? L2_CACHE_PREALLOC : - image->l1_size; - - cache->count = count; - cache->free = count; - cache->next_offset = image->l2_offset; - - for (i = 0; i < count; i++) { - ret = ext2fs_get_arrayzero(1, - sizeof(struct ext2_qcow2_l2_table), &table); - if (ret) - goto alloc_err; - - ret = ext2fs_get_arrayzero(image->l2_size, - sizeof(__u64), &table->data); - if (ret) - goto alloc_err; - - table->next = cache->free_head; - cache->free_head = table; - } - - image->l2_cache = cache; - return; - -alloc_err: - com_err(program_name, ret, _("while allocating l2 cache")); - exit(1); -} - -static void put_l2_cache(struct ext2_qcow2_image *image) -{ - struct ext2_qcow2_l2_cache *cache = image->l2_cache; - struct ext2_qcow2_l2_table *tmp, *table; - - if (!cache) - return; - - table = cache->free_head; - cache->free_head = NULL; -again: - while (table) { - tmp = table; - table = table->next; - ext2fs_free_mem(&tmp->data); - ext2fs_free_mem(&tmp); - } - - if (cache->free != cache->count) { - fprintf(stderr, _("Warning: There are still tables in the " - "cache while putting the cache, data will " - "be lost so the image may not be valid.\n")); - table = cache->used_head; - cache->used_head = NULL; - goto again; - } - - ext2fs_free_mem(&cache); -} - -static int init_refcount(struct ext2_qcow2_image *img, blk64_t table_offset) -{ - struct ext2_qcow2_refcount *ref; - blk64_t table_clusters; - errcode_t ret; - - ref = &(img->refcount); - - /* - * One refcount block addresses 2048 clusters, one refcount table - * addresses cluster/sizeof(__u64) refcount blocks, and we need - * to address meta_blocks_count clusters + qcow2 metadata clusters - * in the worst case. - */ - table_clusters = meta_blocks_count + (table_offset >> - img->cluster_bits); - table_clusters >>= (img->cluster_bits + 6 - 1); - table_clusters = (table_clusters == 0) ? 1 : table_clusters; - - ref->refcount_table_offset = table_offset; - ref->refcount_table_clusters = table_clusters; - ref->refcount_table_index = 0; - ref->refcount_block_index = 0; - - /* Allocate refcount table */ - ret = ext2fs_get_arrayzero(ref->refcount_table_clusters, - img->cluster_size, &ref->refcount_table); - if (ret) - return ret; - - /* Allocate refcount block */ - ret = ext2fs_get_arrayzero(1, img->cluster_size, &ref->refcount_block); - if (ret) - ext2fs_free_mem(&ref->refcount_table); - - return ret; -} - -static int initialize_qcow2_image(int fd, ext2_filsys fs, - struct ext2_qcow2_image *image) -{ - struct ext2_qcow2_hdr *header; - blk64_t total_size, offset; - int shift, l2_bits, header_size, l1_size, ret; - int cluster_bits = get_bits_from_size(fs->blocksize); - struct ext2_super_block *sb = fs->super; - - /* Allocate header */ - ret = ext2fs_get_memzero(sizeof(struct ext2_qcow2_hdr), &header); - if (ret) - return ret; - - total_size = ext2fs_blocks_count(sb) << cluster_bits; - image->cluster_size = fs->blocksize; - image->l2_size = 1 << (cluster_bits - 3); - image->cluster_bits = cluster_bits; - image->fd = fd; - - header->magic = ext2fs_cpu_to_be32(QCOW_MAGIC); - header->version = ext2fs_cpu_to_be32(QCOW_VERSION); - header->size = ext2fs_cpu_to_be64(total_size); - header->cluster_bits = ext2fs_cpu_to_be32(cluster_bits); - - header_size = (sizeof(struct ext2_qcow2_hdr) + 7) & ~7; - offset = align_offset(header_size, image->cluster_size); - - header->l1_table_offset = ext2fs_cpu_to_be64(offset); - image->l1_offset = offset; - - l2_bits = cluster_bits - 3; - shift = cluster_bits + l2_bits; - l1_size = ((total_size + (1LL << shift) - 1) >> shift); - header->l1_size = ext2fs_cpu_to_be32(l1_size); - image->l1_size = l1_size; - - /* Make space for L1 table */ - offset += align_offset(l1_size * sizeof(blk64_t), image->cluster_size); - - /* Initialize refcounting */ - ret = init_refcount(image, offset); - if (ret) { - ext2fs_free_mem(&header); - return ret; - } - header->refcount_table_offset = ext2fs_cpu_to_be64(offset); - header->refcount_table_clusters = - ext2fs_cpu_to_be32(image->refcount.refcount_table_clusters); - offset += image->cluster_size; - offset += image->refcount.refcount_table_clusters << - image->cluster_bits; - - /* Make space for L2 tables */ - image->l2_offset = offset; - offset += image->cluster_size; - - /* Make space for first refcount block */ - image->refcount.refcount_block_offset = offset; - - image->hdr = header; - /* Initialize l1 and l2 tables */ - init_l1_table(image); - init_l2_cache(image); - - return 0; -} - -static void free_qcow2_image(struct ext2_qcow2_image *img) -{ - if (!img) - return; - - if (img->hdr) - ext2fs_free_mem(&img->hdr); - - if (img->l1_table) - ext2fs_free_mem(&img->l1_table); - - if (img->refcount.refcount_table) - ext2fs_free_mem(&img->refcount.refcount_table); - if (img->refcount.refcount_block) - ext2fs_free_mem(&img->refcount.refcount_block); - - put_l2_cache(img); - - ext2fs_free_mem(&img); -} - -/** - * Put table from used list (used_head) into free list (free_head). - * l2_table is used to return pointer to the next used table (used_head). - */ -static void put_used_table(struct ext2_qcow2_image *img, - struct ext2_qcow2_l2_table **l2_table) -{ - struct ext2_qcow2_l2_cache *cache = img->l2_cache; - struct ext2_qcow2_l2_table *table; - - table = cache->used_head; - cache->used_head = table->next; - - assert(table); - if (!table->next) - cache->used_tail = NULL; - - /* Clean the table for case we will need to use it again */ - memset(table->data, 0, img->cluster_size); - table->next = cache->free_head; - cache->free_head = table; - - cache->free++; - - *l2_table = cache->used_head; -} - -static void flush_l2_cache(struct ext2_qcow2_image *image) -{ - blk64_t seek = 0; - ext2_loff_t offset; - struct ext2_qcow2_l2_cache *cache = image->l2_cache; - struct ext2_qcow2_l2_table *table = cache->used_head; - int fd = image->fd; - - /* Store current position */ - offset = seek_relative(fd, 0); - - assert(table); - while (cache->free < cache->count) { - if (seek != table->offset) { - seek_set(fd, table->offset); - seek = table->offset; - } - - generic_write(fd, (char *)table->data, image->cluster_size, - NO_BLK); - put_used_table(image, &table); - seek += image->cluster_size; - } - - /* Restore previous position */ - seek_set(fd, offset); -} - -/** - * Get first free table (from free_head) and put it into tail of used list - * (to used_tail). - * l2_table is used to return pointer to moved table. - * Returns 1 if the cache is full, 0 otherwise. - */ -static void get_free_table(struct ext2_qcow2_image *image, - struct ext2_qcow2_l2_table **l2_table) -{ - struct ext2_qcow2_l2_table *table; - struct ext2_qcow2_l2_cache *cache = image->l2_cache; - - if (0 == cache->free) - flush_l2_cache(image); - - table = cache->free_head; - assert(table); - cache->free_head = table->next; - - if (cache->used_tail) - cache->used_tail->next = table; - else - /* First item in the used list */ - cache->used_head = table; - - cache->used_tail = table; - cache->free--; - - *l2_table = table; -} - -static int add_l2_item(struct ext2_qcow2_image *img, blk64_t blk, - blk64_t data, blk64_t next) -{ - struct ext2_qcow2_l2_cache *cache = img->l2_cache; - struct ext2_qcow2_l2_table *table = cache->used_tail; - blk64_t l1_index = blk / img->l2_size; - blk64_t l2_index = blk & (img->l2_size - 1); - int ret = 0; - - /* - * Need to create new table if it does not exist, - * or if it is full - */ - if (!table || (table->l1_index != l1_index)) { - get_free_table(img, &table); - table->l1_index = l1_index; - table->offset = cache->next_offset; - cache->next_offset = next; - img->l1_table[l1_index] = - ext2fs_cpu_to_be64(table->offset | QCOW_OFLAG_COPIED); - ret++; - } - - table->data[l2_index] = ext2fs_cpu_to_be64(data | QCOW_OFLAG_COPIED); - return ret; -} - -static int update_refcount(int fd, struct ext2_qcow2_image *img, - blk64_t offset, blk64_t rfblk_pos) -{ - struct ext2_qcow2_refcount *ref; - __u32 table_index; - int ret = 0; - - ref = &(img->refcount); - table_index = offset >> (2 * img->cluster_bits - 1); - - /* - * Need to create new refcount block when the offset addresses - * another item in the refcount table - */ - if (table_index != ref->refcount_table_index) { - - seek_set(fd, ref->refcount_block_offset); - - generic_write(fd, (char *)ref->refcount_block, - img->cluster_size, NO_BLK); - memset(ref->refcount_block, 0, img->cluster_size); - - ref->refcount_table[ref->refcount_table_index] = - ext2fs_cpu_to_be64(ref->refcount_block_offset); - ref->refcount_block_offset = rfblk_pos; - ref->refcount_block_index = 0; - ref->refcount_table_index = table_index; - ret++; - } - - /* - * We are relying on the fact that we are creating the qcow2 - * image sequentially, hence we will always allocate refcount - * block items sequentialy. - */ - ref->refcount_block[ref->refcount_block_index] = ext2fs_cpu_to_be16(1); - ref->refcount_block_index++; - return ret; -} - -static int sync_refcount(int fd, struct ext2_qcow2_image *img) -{ - struct ext2_qcow2_refcount *ref; - - ref = &(img->refcount); - - ref->refcount_table[ref->refcount_table_index] = - ext2fs_cpu_to_be64(ref->refcount_block_offset); - seek_set(fd, ref->refcount_table_offset); - generic_write(fd, (char *)ref->refcount_table, - ref->refcount_table_clusters << img->cluster_bits, NO_BLK); - - seek_set(fd, ref->refcount_block_offset); - generic_write(fd, (char *)ref->refcount_block, img->cluster_size, - NO_BLK); - return 0; -} - -static void output_qcow2_meta_data_blocks(ext2_filsys fs, int fd) -{ - errcode_t retval; - blk64_t blk, offset, size, end; - char *buf; - struct ext2_qcow2_image *img; - unsigned int header_size; - - /* allocate struct ext2_qcow2_image */ - retval = ext2fs_get_mem(sizeof(struct ext2_qcow2_image), &img); - if (retval) { - com_err(program_name, retval, - _("while allocating ext2_qcow2_image")); - exit(1); - } - - retval = initialize_qcow2_image(fd, fs, img); - if (retval) { - com_err(program_name, retval, - _("while initializing ext2_qcow2_image")); - exit(1); - } - header_size = align_offset(sizeof(struct ext2_qcow2_hdr), - img->cluster_size); - write_header(fd, img->hdr, sizeof(struct ext2_qcow2_hdr), header_size); - - /* Refcount all qcow2 related metadata up to refcount_block_offset */ - end = img->refcount.refcount_block_offset; - seek_set(fd, end); - blk = end + img->cluster_size; - for (offset = 0; offset <= end; offset += img->cluster_size) { - if (update_refcount(fd, img, offset, blk)) { - blk += img->cluster_size; - /* - * If we create new refcount block, we need to refcount - * it as well. - */ - end += img->cluster_size; - } - } - seek_set(fd, offset); - - retval = ext2fs_get_mem(fs->blocksize, &buf); - if (retval) { - com_err(program_name, retval, _("while allocating buffer")); - exit(1); - } - /* Write qcow2 data blocks */ - for (blk = 0; blk < ext2fs_blocks_count(fs->super); blk++) { - if ((blk >= fs->super->s_first_data_block) && - ext2fs_test_block_bitmap2(meta_block_map, blk)) { - retval = io_channel_read_blk64(fs->io, blk, 1, buf); - if (retval) { - com_err(program_name, retval, - _("error reading block %llu"), blk); - continue; - } - if (scramble_block_map && - ext2fs_test_block_bitmap2(scramble_block_map, blk)) - scramble_dir_block(fs, blk, buf); - if (check_zero_block(buf, fs->blocksize)) - continue; - - if (update_refcount(fd, img, offset, offset)) { - /* Make space for another refcount block */ - offset += img->cluster_size; - seek_set(fd, offset); - /* - * We have created the new refcount block, this - * means that we need to refcount it as well. - * So the previous update_refcount refcounted - * the block itself and now we are going to - * create refcount for data. New refcount - * block should not be created! - */ - if (update_refcount(fd, img, offset, offset)) { - fprintf(stderr, _("Programming error: " - "multiple sequential refcount " - "blocks created!\n")); - exit(1); - } - } - - generic_write(fd, buf, fs->blocksize, blk); - - if (add_l2_item(img, blk, offset, - offset + img->cluster_size)) { - offset += img->cluster_size; - if (update_refcount(fd, img, offset, - offset + img->cluster_size)) { - offset += img->cluster_size; - if (update_refcount(fd, img, offset, - offset)) { - fprintf(stderr, - _("Programming error: multiple sequential refcount " - "blocks created!\n")); - exit(1); - } - } - offset += img->cluster_size; - seek_set(fd, offset); - continue; + if (sparse >= 1024*1024) { + write_block(fd, 0, sparse, 0, 0); + sparse = 0; } - - offset += img->cluster_size; } } - update_refcount(fd, img, offset, offset); - flush_l2_cache(img); - sync_refcount(fd, img); - - /* Write l1_table*/ - seek_set(fd, img->l1_offset); - size = img->l1_size * sizeof(__u64); - generic_write(fd, (char *)img->l1_table, size, NO_BLK); - - ext2fs_free_mem(&buf); - free_qcow2_image(img); + if (sparse) + write_block(fd, zero_buf, sparse-1, 1, -1); + free(zero_buf); + free(buf); } -static void write_raw_image_file(ext2_filsys fs, int fd, int type, int flags) +static void write_raw_image_file(ext2_filsys fs, int fd, int scramble_flag) { struct process_block_struct pb; struct ext2_inode inode; @@ -1248,40 +465,34 @@ static void write_raw_image_file(ext2_filsys fs, int fd, int type, int flags) errcode_t retval; char * block_buf; - meta_blocks_count = 0; - retval = ext2fs_allocate_block_bitmap(fs, _("in-use block map"), + retval = ext2fs_allocate_block_bitmap(fs, "in-use block map", &meta_block_map); if (retval) { - com_err(program_name, retval, - _("while allocating block bitmap")); + com_err(program_name, retval, "while allocating block bitmap"); exit(1); } - if (flags & E2IMAGE_SCRAMBLE_FLAG) { + if (scramble_flag) { retval = ext2fs_allocate_block_bitmap(fs, "scramble block map", &scramble_block_map); if (retval) { com_err(program_name, retval, - _("while allocating scramble block bitmap")); + "while allocating scramble block bitmap"); exit(1); } } mark_table_blocks(fs); - if (show_progress) - printf(_("Scanning inodes...\n")); retval = ext2fs_open_inode_scan(fs, 0, &scan); if (retval) { - com_err(program_name, retval,"%s", - _("while opening inode scan")); + com_err(program_name, retval, _("while opening inode scan")); exit(1); } - retval = ext2fs_get_mem(fs->blocksize * 3, &block_buf); - if (retval) { - com_err(program_name, 0, "%s", - _("Can't allocate block buffer")); + block_buf = malloc(fs->blocksize * 3); + if (!block_buf) { + com_err(program_name, 0, "Can't allocate block buffer"); exit(1); } @@ -1292,7 +503,7 @@ static void write_raw_image_file(ext2_filsys fs, int fd, int type, int flags) if (retval == EXT2_ET_BAD_BLOCK_IN_INODE_TABLE) continue; if (retval) { - com_err(program_name, retval, "%s", + com_err(program_name, retval, _("while getting next inode")); exit(1); } @@ -1300,12 +511,11 @@ static void write_raw_image_file(ext2_filsys fs, int fd, int type, int flags) break; if (!inode.i_links_count) continue; - if (ext2fs_file_acl_block(fs, &inode)) { - ext2fs_mark_block_bitmap2(meta_block_map, - ext2fs_file_acl_block(fs, &inode)); - meta_blocks_count++; + if (inode.i_file_acl) { + ext2fs_mark_block_bitmap(meta_block_map, + inode.i_file_acl); } - if (!ext2fs_inode_has_valid_blocks2(fs, &inode)) + if (!ext2fs_inode_has_valid_blocks(&inode)) continue; stashed_ino = ino; @@ -1313,14 +523,14 @@ static void write_raw_image_file(ext2_filsys fs, int fd, int type, int flags) pb.is_dir = LINUX_S_ISDIR(inode.i_mode); if (LINUX_S_ISDIR(inode.i_mode) || (LINUX_S_ISLNK(inode.i_mode) && - ext2fs_inode_has_valid_blocks2(fs, &inode)) || + ext2fs_inode_has_valid_blocks(&inode)) || ino == fs->super->s_journal_inum) { - retval = ext2fs_block_iterate3(fs, ino, + retval = ext2fs_block_iterate2(fs, ino, BLOCK_FLAG_READ_ONLY, block_buf, process_dir_block, &pb); if (retval) { com_err(program_name, retval, - _("while iterating over inode %u"), + "while iterating over inode %u", ino); exit(1); } @@ -1328,44 +538,34 @@ static void write_raw_image_file(ext2_filsys fs, int fd, int type, int flags) if ((inode.i_flags & EXT4_EXTENTS_FL) || inode.i_block[EXT2_IND_BLOCK] || inode.i_block[EXT2_DIND_BLOCK] || - inode.i_block[EXT2_TIND_BLOCK] || all_data) { - retval = ext2fs_block_iterate3(fs, + inode.i_block[EXT2_TIND_BLOCK]) { + retval = ext2fs_block_iterate2(fs, ino, BLOCK_FLAG_READ_ONLY, block_buf, process_file_block, &pb); if (retval) { com_err(program_name, retval, - _("while iterating over inode %u"), ino); + "while iterating over inode %u", ino); exit(1); } } } } use_inode_shortcuts(fs, 0); - - if (type & E2IMAGE_QCOW2) - output_qcow2_meta_data_blocks(fs, fd); - else - output_meta_data_blocks(fs, fd, flags); - - ext2fs_free_mem(&block_buf); - ext2fs_close_inode_scan(scan); - ext2fs_free_block_bitmap(meta_block_map); - if (type & E2IMAGE_SCRAMBLE_FLAG) - ext2fs_free_block_bitmap(scramble_block_map); + output_meta_data_blocks(fs, fd); + free(block_buf); } -static void install_image(char *device, char *image_fn, int type) +static void install_image(char *device, char *image_fn, int raw_flag) { errcode_t retval; ext2_filsys fs; - int open_flag = EXT2_FLAG_IMAGE_FILE | EXT2_FLAG_64BITS; + int open_flag = EXT2_FLAG_IMAGE_FILE; int fd = 0; io_manager io_ptr; - io_channel io; + io_channel io, image_io; - if (type) { - com_err(program_name, 0, _("Raw and qcow2 images cannot" - "be installed")); + if (raw_flag) { + com_err(program_name, 0, "Raw images cannot be installed"); exit(1); } @@ -1387,11 +587,15 @@ static void install_image(char *device, char *image_fn, int type) retval = ext2fs_read_bitmaps (fs); if (retval) { - com_err(program_name, retval, _("error reading bitmaps")); + com_err(program_name, retval, "error reading bitmaps"); exit(1); } - fd = ext2fs_open_file(image_fn, O_RDONLY, 0); +#ifdef HAVE_OPEN64 + fd = open64(image_fn, O_RDONLY); +#else + fd = open(image_fn, O_RDONLY); +#endif if (fd < 0) { perror(image_fn); exit(1); @@ -1399,13 +603,18 @@ static void install_image(char *device, char *image_fn, int type) retval = io_ptr->open(device, IO_FLAG_RW, &io); if (retval) { - com_err(device, 0, _("while opening device file")); + com_err(device, 0, "while opening device file"); exit(1); } + image_io = fs->io; + ext2fs_rewrite_to_io(fs, io); - seek_set(fd, fs->image_header->offset_inode); + if (lseek(fd, fs->image_header->offset_inode, SEEK_SET) < 0) { + perror("lseek"); + exit(1); + } retval = ext2fs_image_inode_read(fs, fd, 0); if (retval) { @@ -1413,18 +622,8 @@ static void install_image(char *device, char *image_fn, int type) exit(1); } - close(fd); ext2fs_close (fs); -} - -static struct ext2_qcow2_hdr *check_qcow2_image(int *fd, char *name) -{ - - *fd = ext2fs_open_file(name, O_RDONLY, 0600); - if (*fd < 0) - return NULL; - - return qcow2_read_header(*fd); + exit (0); } int main (int argc, char ** argv) @@ -1432,135 +631,49 @@ int main (int argc, char ** argv) int c; errcode_t retval; ext2_filsys fs; - char *image_fn, offset_opt[64]; - struct ext2_qcow2_hdr *header = NULL; - int open_flag = EXT2_FLAG_64BITS; - int img_type = 0; - int flags = 0; - int mount_flags = 0; - int qcow2_fd = 0; + char *image_fn; + int open_flag = 0; + int raw_flag = 0; + int install_flag = 0; + int scramble_flag = 0; int fd = 0; - int ret = 0; - int ignore_rw_mount = 0; - int check = 0; - struct stat st; #ifdef ENABLE_NLS setlocale(LC_MESSAGES, ""); setlocale(LC_CTYPE, ""); bindtextdomain(NLS_CAT_NAME, LOCALEDIR); textdomain(NLS_CAT_NAME); - set_com_err_gettext(gettext); #endif fprintf (stderr, "e2image %s (%s)\n", E2FSPROGS_VERSION, E2FSPROGS_DATE); if (argc && *argv) program_name = *argv; add_error_table(&et_ext2_error_table); - while ((c = getopt(argc, argv, "nrsIQafo:O:pc")) != EOF) + while ((c = getopt (argc, argv, "rsI")) != EOF) switch (c) { - case 'I': - flags |= E2IMAGE_INSTALL_FLAG; - break; - case 'Q': - if (img_type) - usage(); - img_type |= E2IMAGE_QCOW2; - break; case 'r': - if (img_type) - usage(); - img_type |= E2IMAGE_RAW; + raw_flag++; break; case 's': - flags |= E2IMAGE_SCRAMBLE_FLAG; - break; - case 'a': - all_data = 1; - break; - case 'f': - ignore_rw_mount = 1; + scramble_flag++; break; - case 'n': - nop_flag = 1; - break; - case 'o': - source_offset = strtoull(optarg, NULL, 0); - break; - case 'O': - dest_offset = strtoull(optarg, NULL, 0); - break; - case 'p': - show_progress = 1; - break; - case 'c': - check = 1; + case 'I': + install_flag++; break; default: usage(); } - if (optind == argc - 1 && - (source_offset || dest_offset)) - move_mode = 1; - else if (optind != argc - 2 ) + if (optind != argc - 2 ) usage(); - - if (all_data && !img_type) { - com_err(program_name, 0, _("-a option can only be used " - "with raw or QCOW2 images.")); - exit(1); - } - if ((source_offset || dest_offset) && img_type != E2IMAGE_RAW) { - com_err(program_name, 0, - _("Offsets are only allowed with raw images.")); - exit(1); - } - if (move_mode && img_type != E2IMAGE_RAW) { - com_err(program_name, 0, - _("Move mode is only allowed with raw images.")); - exit(1); - } - if (move_mode && !all_data) { - com_err(program_name, 0, - _("Move mode requires all data mode.")); - exit(1); - } device_name = argv[optind]; - if (move_mode) - image_fn = device_name; - else image_fn = argv[optind+1]; - - retval = ext2fs_check_if_mounted(device_name, &mount_flags); - if (retval) { - com_err(program_name, retval, _("checking if mounted")); - exit(1); - } + image_fn = argv[optind+1]; - if (img_type && !ignore_rw_mount && - (mount_flags & EXT2_MF_MOUNTED) && - !(mount_flags & EXT2_MF_READONLY)) { - fprintf(stderr, _("\nRunning e2image on a R/W mounted " - "filesystem can result in an\n" - "inconsistent image which will not be useful " - "for debugging purposes.\n" - "Use -f option if you really want to do that.\n")); - exit(1); - } - - if (flags & E2IMAGE_INSTALL_FLAG) { - install_image(device_name, image_fn, img_type); + if (install_flag) { + install_image(device_name, image_fn, raw_flag); exit (0); } - if (img_type & E2IMAGE_RAW) { - header = check_qcow2_image(&qcow2_fd, device_name); - if (header) { - flags |= E2IMAGE_IS_QCOW2_FLAG; - goto skip_device; - } - } - sprintf(offset_opt, "offset=%llu", source_offset); - retval = ext2fs_open2(device_name, offset_opt, open_flag, 0, 0, + retval = ext2fs_open (device_name, open_flag, 0, 0, unix_io_manager, &fs); if (retval) { com_err (program_name, retval, _("while trying to open %s"), @@ -1569,94 +682,27 @@ int main (int argc, char ** argv) exit(1); } -skip_device: if (strcmp(image_fn, "-") == 0) fd = 1; else { - int o_flags = O_CREAT|O_RDWR; - - if (img_type != E2IMAGE_RAW) - o_flags |= O_TRUNC; - if (access(image_fn, F_OK) != 0) - flags |= E2IMAGE_CHECK_ZERO_FLAG; - fd = ext2fs_open_file(image_fn, o_flags, 0600); +#ifdef HAVE_OPEN64 + fd = open64(image_fn, O_CREAT|O_TRUNC|O_WRONLY, 0600); +#else + fd = open(image_fn, O_CREAT|O_TRUNC|O_WRONLY, 0600); +#endif if (fd < 0) { com_err(program_name, errno, - _("while trying to open %s"), image_fn); - exit(1); - } - } - if (dest_offset) - seek_set(fd, dest_offset); - - if ((img_type & E2IMAGE_QCOW2) && (fd == 1)) { - com_err(program_name, 0, _("QCOW2 image can not be written to " - "the stdout!\n")); - exit(1); - } - if (fd != 1) { - if (fstat(fd, &st)) { - com_err(program_name, 0, "Can not stat output\n"); + _("while trying to open %s"), argv[optind+1]); exit(1); } - if (S_ISBLK(st.st_mode)) - output_is_blk = 1; - } - if (flags & E2IMAGE_IS_QCOW2_FLAG) { - ret = qcow2_write_raw_image(qcow2_fd, fd, header); - if (ret) { - if (ret == -QCOW_COMPRESSED) - fprintf(stderr, _("Image (%s) is compressed\n"), - image_fn); - if (ret == -QCOW_ENCRYPTED) - fprintf(stderr, _("Image (%s) is encrypted\n"), - image_fn); - com_err(program_name, ret, - _("while trying to convert qcow2 image" - " (%s) into raw image (%s)"), - device_name, image_fn); - } - goto out; } - if (check) { - if (img_type != E2IMAGE_RAW) { - fprintf(stderr, _("The -c option only supported " - "in raw mode\n")); - exit(1); - } - if (fd == 1) { - fprintf(stderr, _("The -c option is not supported " - "when writing to stdout\n")); - exit(1); - } - retval = ext2fs_get_mem(fs->blocksize, &check_buf); - if (retval) { - com_err(program_name, retval, - _("while allocating check_buf")); - exit(1); - } - } - if (show_progress && (img_type != E2IMAGE_RAW)) { - fprintf(stderr, _("The -p option only supported " - "in raw mode\n")); - exit(1); - } - if (img_type) - write_raw_image_file(fs, fd, img_type, flags); + if (raw_flag) + write_raw_image_file(fs, fd, scramble_flag); else write_image_file(fs, fd); ext2fs_close (fs); - if (check) - printf(_("%d blocks already contained the data to be copied.\n"), - skipped_blocks); - -out: - if (header) - free(header); - if (qcow2_fd) - close(qcow2_fd); remove_error_table(&et_ext2_error_table); - return ret; + exit (0); } diff --git a/misc/e2initrd_helper.c b/misc/e2initrd_helper.c index 22672a3d..eaf9ce60 100644 --- a/misc/e2initrd_helper.c +++ b/misc/e2initrd_helper.c @@ -38,8 +38,8 @@ extern char *optarg; #include "../version.h" #include "nls-enable.h" -static const char * program_name = "e2initrd_helper"; -static char * device_name; +const char * program_name = "get_fstab"; +char * device_name; static int open_flag; static int root_type; static blkid_cache cache = NULL; @@ -73,7 +73,7 @@ static errcode_t get_file(ext2_filsys fs, const char * filename, { errcode_t retval; char *buf; - ext2_file_t e2_file = NULL; + ext2_file_t e2_file; unsigned int got; struct ext2_inode inode; ext2_ino_t ino; @@ -101,7 +101,7 @@ static errcode_t get_file(ext2_filsys fs, const char * filename, retval = ext2fs_file_open(fs, ino, 0, &e2_file); if (retval) - goto errout; + return retval; retval = ext2fs_file_read(e2_file, buf, inode.i_size, &got); if (retval) @@ -109,16 +109,13 @@ static errcode_t get_file(ext2_filsys fs, const char * filename, retval = ext2fs_file_close(e2_file); if (retval) - goto errout; + return retval; ret_file->buf = buf; ret_file->size = (int) got; - return 0; errout: - free(buf); - if (e2_file) - ext2fs_file_close(e2_file); + ext2fs_file_close(e2_file); return retval; } @@ -305,7 +302,6 @@ static void PRS(int argc, char **argv) setlocale(LC_CTYPE, ""); bindtextdomain(NLS_CAT_NAME, LOCALEDIR); textdomain(NLS_CAT_NAME); - set_com_err_gettext(gettext); #endif while ((c = getopt(argc, argv, "rv")) != EOF) { @@ -326,7 +322,7 @@ static void PRS(int argc, char **argv) usage(); device_name = blkid_get_devname(NULL, argv[optind], NULL); if (!device_name) { - com_err(program_name, 0, _("Unable to resolve '%s'"), + com_err("tune2fs", 0, _("Unable to resolve '%s'"), argv[optind]); exit(1); } @@ -341,10 +337,6 @@ static void get_root_type(ext2_filsys fs) int ret; retval = get_file(fs, "/etc/fstab", &file); - if (retval) { - com_err(program_name, retval, "couldn't open /etc/fstab"); - exit(1); - } while (!mem_file_eof(&file)) { buf = get_line(&file); diff --git a/misc/e2undo.c b/misc/e2undo.c index d5153737..2c9d5364 100644 --- a/misc/e2undo.c +++ b/misc/e2undo.c @@ -23,17 +23,18 @@ #include "ext2fs/ext2fs.h" #include "nls-enable.h" -static unsigned char mtime_key[] = "filesystem MTIME"; -static unsigned char uuid_key[] = "filesystem UUID"; -static unsigned char blksize_key[] = "filesystem BLKSIZE"; +unsigned char mtime_key[] = "filesystem MTIME"; +unsigned char uuid_key[] = "filesystem UUID"; +unsigned char blksize_key[] = "filesystem BLKSIZE"; -static char *prg_name; +char *prg_name; -static void usage(void) +static void usage(char *prg_name) { fprintf(stderr, _("Usage: %s \n"), prg_name); exit(1); + } static int check_filesystem(TDB_CONTEXT *tdb, io_channel channel) @@ -45,10 +46,10 @@ static int check_filesystem(TDB_CONTEXT *tdb, io_channel channel) struct ext2_super_block super; io_channel_set_blksize(channel, SUPERBLOCK_OFFSET); - retval = io_channel_read_blk64(channel, 1, -SUPERBLOCK_SIZE, &super); + retval = io_channel_read_blk(channel, 1, -SUPERBLOCK_SIZE, &super); if (retval) { - com_err(prg_name, retval, - "%s", _("Failed to read the file system data \n")); + com_err(prg_name, + retval, _("Failed to read the file system data \n")); return retval; } @@ -84,7 +85,7 @@ static int check_filesystem(TDB_CONTEXT *tdb, io_channel channel) } memcpy(s_uuid, tdb_data.dptr, sizeof(s_uuid)); if (memcmp(s_uuid, super.s_uuid, sizeof(s_uuid))) { - com_err(prg_name, 0, "%s", + com_err(prg_name, 0, _("The file system UUID didn't match \n")); return -1; } @@ -125,7 +126,7 @@ int main(int argc, char *argv[]) io_channel channel; errcode_t retval; int mount_flags; - blk64_t blk_num; + unsigned long blk_num; char *device_name, *tdb_file; io_manager manager = unix_io_manager; @@ -134,7 +135,6 @@ int main(int argc, char *argv[]) setlocale(LC_CTYPE, ""); bindtextdomain(NLS_CAT_NAME, LOCALEDIR); textdomain(NLS_CAT_NAME); - set_com_err_gettext(gettext); #endif add_error_table(&et_ext2_error_table); @@ -145,12 +145,12 @@ int main(int argc, char *argv[]) force = 1; break; default: - usage(); + usage(prg_name); } } - if (argc != optind + 2) - usage(); + if (argc != optind+2) + usage(prg_name); tdb_file = argv[optind]; device_name = argv[optind+1]; @@ -171,8 +171,8 @@ int main(int argc, char *argv[]) } if (mount_flags & EXT2_MF_MOUNTED) { - com_err(prg_name, retval, "%s", _("e2undo should only be run " - "on unmounted file system\n")); + com_err(prg_name, retval, _("e2undo should only be run on " + "unmounted file system\n")); exit(1); } @@ -205,10 +205,10 @@ int main(int argc, char *argv[]) _("Failed tdb_fetch %s\n"), tdb_errorstr(tdb)); exit(1); } - blk_num = *(blk64_t *)key.dptr; - printf(_("Replayed transaction of size %zd at location %llu\n"), + blk_num = *(unsigned long *)key.dptr; + printf(_("Replayed transaction of size %zd at location %ld\n"), data.dsize, blk_num); - retval = io_channel_write_blk64(channel, blk_num, + retval = io_channel_write_blk(channel, blk_num, -data.dsize, data.dptr); if (retval == -1) { com_err(prg_name, retval, diff --git a/misc/e4defrag.8.in b/misc/e4defrag.8.in deleted file mode 100644 index 75e1bc9f..00000000 --- a/misc/e4defrag.8.in +++ /dev/null @@ -1,80 +0,0 @@ -.TH E4DEFRAG 8 "May 2009" "e4defrag version 2.0" -.SH NAME -e4defrag \- online defragmenter for ext4 filesystem -.SH SYNOPSIS -.B e4defrag -[ -.B \-c -] -[ -.B \-v -] -.I target -\&... -.SH DESCRIPTION -.B e4defrag -reduces fragmentation of extent based file. The file targeted by -.B e4defrag -is created on ext4 filesystem made with "-O extent" option (see -.BR mke2fs (8)). -The targeted file gets more contiguous blocks and improves the file access -speed. -.PP -.I target -is a regular file, a directory, or a device that is mounted as ext4 filesystem. -If -.I target -is a directory, -.B e4defrag -reduces fragmentation of all files in it. If -.I target -is a device, -.B e4defrag -gets the mount point of it and reduces fragmentation of all files in this mount -point. -.SH OPTIONS -.TP -.B \-c -Get a current fragmentation count and an ideal fragmentation count, and -calculate fragmentation score based on them. By seeing this score, we can -determine whether we should execute -.B e4defrag -to -.IR target . -When used with -.B \-v -option, the current fragmentation count and the ideal fragmentation count are -printed for each file. -.IP -Also this option outputs the average data size in one extent. If you see it, -you'll find the file has ideal extents or not. Note that the maximum extent -size is 131072KB in ext4 filesystem (if block size is 4KB). -.IP -If this option is specified, -.I target -is never defragmented. -.TP -.B \-v -Print error messages and the fragmentation count before and after defrag for -each file. -.SH NOTES -.B e4defrag -does not support swap file, files in lost+found directory, and files allocated -in indirect blocks. When -.I target -is a device or a mount point, -.B e4defrag -doesn't defragment files in mount point of other device. -.PP -Non-privileged users can execute -.B e4defrag -to their own file, but the score is not printed if -.B \-c -option is specified. Therefore, it is desirable to be executed by root user. -.SH AUTHOR -Written by Akira Fujita and Takashi Sato -. -.SH SEE ALSO -.BR mke2fs (8), -.BR mount (8). - diff --git a/misc/e4defrag.c b/misc/e4defrag.c deleted file mode 100644 index d83e2e6e..00000000 --- a/misc/e4defrag.c +++ /dev/null @@ -1,2082 +0,0 @@ -/* - * e4defrag.c - ext4 filesystem defragmenter - * - * Copyright (C) 2009 NEC Software Tohoku, Ltd. - * - * Author: Akira Fujita - * Takashi Sato - */ - -#ifndef _LARGEFILE_SOURCE -#define _LARGEFILE_SOURCE -#endif - -#ifndef _LARGEFILE64_SOURCE -#define _LARGEFILE64_SOURCE -#endif - -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* A relatively new ioctl interface ... */ -#ifndef EXT4_IOC_MOVE_EXT -#define EXT4_IOC_MOVE_EXT _IOWR('f', 15, struct move_extent) -#endif - -/* Macro functions */ -#define PRINT_ERR_MSG(msg) fprintf(stderr, "%s\n", (msg)) -#define IN_FTW_PRINT_ERR_MSG(msg) \ - fprintf(stderr, "\t%s\t\t[ NG ]\n", (msg)) -#define PRINT_FILE_NAME(file) fprintf(stderr, " \"%s\"\n", (file)) -#define PRINT_ERR_MSG_WITH_ERRNO(msg) \ - fprintf(stderr, "\t%s:%s\t[ NG ]\n", (msg), strerror(errno)) -#define STATISTIC_ERR_MSG(msg) \ - fprintf(stderr, "\t%s\n", (msg)) -#define STATISTIC_ERR_MSG_WITH_ERRNO(msg) \ - fprintf(stderr, "\t%s:%s\n", (msg), strerror(errno)) -#define min(x, y) (((x) > (y)) ? (y) : (x)) -#define CALC_SCORE(ratio) \ - ((ratio) > 10 ? (80 + 20 * (ratio) / 100) : (8 * (ratio))) -/* Wrap up the free function */ -#define FREE(tmp) \ - do { \ - if ((tmp) != NULL) \ - free(tmp); \ - } while (0) \ -/* Insert list2 after list1 */ -#define insert(list1, list2) \ - do { \ - list2->next = list1->next; \ - list1->next->prev = list2; \ - list2->prev = list1; \ - list1->next = list2; \ - } while (0) - -/* To delete unused warning */ -#ifdef __GNUC__ -#define EXT2FS_ATTR(x) __attribute__(x) -#else -#define EXT2FS_ATTR(x) -#endif - -/* The mode of defrag */ -#define DETAIL 0x01 -#define STATISTIC 0x02 - -#define DEVNAME 0 -#define DIRNAME 1 -#define FILENAME 2 - -#define FTW_OPEN_FD 2000 - -#define FS_EXT4 "ext4" -#define ROOT_UID 0 - -#define BOUND_SCORE 55 -#define SHOW_FRAG_FILES 5 - -/* Magic number for ext4 */ -#define EXT4_SUPER_MAGIC 0xEF53 - -/* Definition of flex_bg */ -#define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200 - -/* The following macro is used for ioctl FS_IOC_FIEMAP - * EXTENT_MAX_COUNT: the maximum number of extents for exchanging between - * kernel-space and user-space per ioctl - */ -#define EXTENT_MAX_COUNT 512 - -/* The following macros are error message */ -#define MSG_USAGE \ -"Usage : e4defrag [-v] file...| directory...| device...\n\ - : e4defrag -c file...| directory...| device...\n" - -#define NGMSG_EXT4 "Filesystem is not ext4 filesystem" -#define NGMSG_FILE_EXTENT "Failed to get file extents" -#define NGMSG_FILE_INFO "Failed to get file information" -#define NGMSG_FILE_OPEN "Failed to open" -#define NGMSG_FILE_UNREG "File is not regular file" -#define NGMSG_LOST_FOUND "Can not process \"lost+found\"" - -/* Data type for filesystem-wide blocks number */ -typedef unsigned long long ext4_fsblk_t; - -struct fiemap_extent_data { - __u64 len; /* blocks count */ - __u64 logical; /* start logical block number */ - ext4_fsblk_t physical; /* start physical block number */ -}; - -struct fiemap_extent_list { - struct fiemap_extent_list *prev; - struct fiemap_extent_list *next; - struct fiemap_extent_data data; /* extent belong to file */ -}; - -struct fiemap_extent_group { - struct fiemap_extent_group *prev; - struct fiemap_extent_group *next; - __u64 len; /* length of this continuous region */ - struct fiemap_extent_list *start; /* start ext */ - struct fiemap_extent_list *end; /* end ext */ -}; - -struct move_extent { - __s32 reserved; /* original file descriptor */ - __u32 donor_fd; /* donor file descriptor */ - __u64 orig_start; /* logical start offset in block for orig */ - __u64 donor_start; /* logical start offset in block for donor */ - __u64 len; /* block length to be moved */ - __u64 moved_len; /* moved block length */ -}; - -struct frag_statistic_ino { - int now_count; /* the file's extents count of before defrag */ - int best_count; /* the best file's extents count */ - __u64 size_per_ext; /* size(KB) per extent */ - float ratio; /* the ratio of fragmentation */ - char msg_buffer[PATH_MAX + 1]; /* pathname of the file */ -}; - -static char lost_found_dir[PATH_MAX + 1]; -static int block_size; -static int extents_before_defrag; -static int extents_after_defrag; -static int mode_flag; -static unsigned int current_uid; -static unsigned int defraged_file_count; -static unsigned int frag_files_before_defrag; -static unsigned int frag_files_after_defrag; -static unsigned int regular_count; -static unsigned int succeed_cnt; -static unsigned int total_count; -static __u8 log_groups_per_flex; -static __u32 blocks_per_group; -static __u32 feature_incompat; -static ext4_fsblk_t files_block_count; -static struct frag_statistic_ino frag_rank[SHOW_FRAG_FILES]; - - -/* Local definitions of some syscalls glibc may not yet have */ - -#ifndef HAVE_POSIX_FADVISE -#warning Using locally defined posix_fadvise interface. - -#ifndef __NR_fadvise64_64 -#error Your kernel headers dont define __NR_fadvise64_64 -#endif - -/* - * fadvise() - Give advice about file access. - * - * @fd: defrag target file's descriptor. - * @offset: file offset. - * @len: area length. - * @advise: process flag. - */ -static int posix_fadvise(int fd, loff_t offset, size_t len, int advise) -{ - return syscall(__NR_fadvise64_64, fd, offset, len, advise); -} -#endif /* ! HAVE_FADVISE64_64 */ - -#ifndef HAVE_SYNC_FILE_RANGE -#warning Using locally defined sync_file_range interface. - -#ifndef __NR_sync_file_range -#ifndef __NR_sync_file_range2 /* ppc */ -#error Your kernel headers dont define __NR_sync_file_range -#endif -#endif - -/* - * sync_file_range() - Sync file region. - * - * @fd: defrag target file's descriptor. - * @offset: file offset. - * @length: area length. - * @flag: process flag. - */ -int sync_file_range(int fd, loff_t offset, loff_t length, unsigned int flag) -{ -#ifdef __NR_sync_file_range - return syscall(__NR_sync_file_range, fd, offset, length, flag); -#else - return syscall(__NR_sync_file_range2, fd, flag, offset, length); -#endif -} -#endif /* ! HAVE_SYNC_FILE_RANGE */ - -#ifndef HAVE_FALLOCATE64 -#warning Using locally defined fallocate syscall interface. - -#ifndef __NR_fallocate -#error Your kernel headers dont define __NR_fallocate -#endif - -/* - * fallocate64() - Manipulate file space. - * - * @fd: defrag target file's descriptor. - * @mode: process flag. - * @offset: file offset. - * @len: file size. - */ -static int fallocate64(int fd, int mode, loff_t offset, loff_t len) -{ - return syscall(__NR_fallocate, fd, mode, offset, len); -} -#endif /* ! HAVE_FALLOCATE */ - -/* - * get_mount_point() - Get device's mount point. - * - * @devname: the device's name. - * @mount_point: the mount point. - * @dir_path_len: the length of directory. - */ -static int get_mount_point(const char *devname, char *mount_point, - int dir_path_len) -{ - /* Refer to /etc/mtab */ - const char *mtab = MOUNTED; - FILE *fp = NULL; - struct mntent *mnt = NULL; - struct stat64 sb; - - if (stat64(devname, &sb) < 0) { - perror(NGMSG_FILE_INFO); - PRINT_FILE_NAME(devname); - return -1; - } - - fp = setmntent(mtab, "r"); - if (fp == NULL) { - perror("Couldn't access /etc/mtab"); - return -1; - } - - while ((mnt = getmntent(fp)) != NULL) { - struct stat64 ms; - - /* - * To handle device symlinks, we see if the - * device number matches, not the name - */ - if (stat64(mnt->mnt_fsname, &ms) < 0) - continue; - if (sb.st_rdev != ms.st_rdev) - continue; - - endmntent(fp); - if (strcmp(mnt->mnt_type, FS_EXT4) == 0) { - strncpy(mount_point, mnt->mnt_dir, - dir_path_len); - return 0; - } - PRINT_ERR_MSG(NGMSG_EXT4); - return -1; - } - endmntent(fp); - PRINT_ERR_MSG("Filesystem is not mounted"); - return -1; -} - -/* - * is_ext4() - Whether on an ext4 filesystem. - * - * @file: the file's name. - */ -static int is_ext4(const char *file, char *devname) -{ - int maxlen = 0; - int len, ret; - FILE *fp = NULL; - char *mnt_type = NULL; - /* Refer to /etc/mtab */ - const char *mtab = MOUNTED; - char file_path[PATH_MAX + 1]; - struct mntent *mnt = NULL; - struct statfs64 fsbuf; - - /* Get full path */ - if (realpath(file, file_path) == NULL) { - perror("Couldn't get full path"); - PRINT_FILE_NAME(file); - return -1; - } - - if (statfs64(file_path, &fsbuf) < 0) { - perror("Failed to get filesystem information"); - PRINT_FILE_NAME(file); - return -1; - } - - if (fsbuf.f_type != EXT4_SUPER_MAGIC) { - PRINT_ERR_MSG(NGMSG_EXT4); - return -1; - } - - fp = setmntent(mtab, "r"); - if (fp == NULL) { - perror("Couldn't access /etc/mtab"); - return -1; - } - - while ((mnt = getmntent(fp)) != NULL) { - if (mnt->mnt_fsname[0] != '/') - continue; - len = strlen(mnt->mnt_dir); - ret = memcmp(file_path, mnt->mnt_dir, len); - if (ret != 0) - continue; - - if (maxlen >= len) - continue; - - maxlen = len; - - mnt_type = realloc(mnt_type, strlen(mnt->mnt_type) + 1); - if (mnt_type == NULL) { - endmntent(fp); - return -1; - } - memset(mnt_type, 0, strlen(mnt->mnt_type) + 1); - strncpy(mnt_type, mnt->mnt_type, strlen(mnt->mnt_type)); - strncpy(lost_found_dir, mnt->mnt_dir, PATH_MAX); - strncpy(devname, mnt->mnt_fsname, strlen(mnt->mnt_fsname) + 1); - } - - endmntent(fp); - if (mnt_type && strcmp(mnt_type, FS_EXT4) == 0) { - FREE(mnt_type); - return 0; - } else { - FREE(mnt_type); - PRINT_ERR_MSG(NGMSG_EXT4); - return -1; - } -} - -/* - * calc_entry_counts() - Calculate file counts. - * - * @file: file name. - * @buf: file info. - * @flag: file type. - * @ftwbuf: the pointer of a struct FTW. - */ -static int calc_entry_counts(const char *file EXT2FS_ATTR((unused)), - const struct stat64 *buf, int flag EXT2FS_ATTR((unused)), - struct FTW *ftwbuf EXT2FS_ATTR((unused))) -{ - if (S_ISREG(buf->st_mode)) - regular_count++; - - total_count++; - - return 0; -} - -/* - * page_in_core() - Get information on whether pages are in core. - * - * @fd: defrag target file's descriptor. - * @defrag_data: data used for defrag. - * @vec: page state array. - * @page_num: page number. - */ -static int page_in_core(int fd, struct move_extent defrag_data, - unsigned char **vec, unsigned int *page_num) -{ - long pagesize; - void *page = NULL; - loff_t offset, end_offset, length; - - if (vec == NULL || *vec != NULL) - return -1; - - pagesize = sysconf(_SC_PAGESIZE); - if (pagesize < 0) - return -1; - /* In mmap, offset should be a multiple of the page size */ - offset = (loff_t)defrag_data.orig_start * block_size; - length = (loff_t)defrag_data.len * block_size; - end_offset = offset + length; - /* Round the offset down to the nearest multiple of pagesize */ - offset = (offset / pagesize) * pagesize; - length = end_offset - offset; - - page = mmap(NULL, length, PROT_READ, MAP_SHARED, fd, offset); - if (page == MAP_FAILED) - return -1; - - *page_num = 0; - *page_num = (length + pagesize - 1) / pagesize; - *vec = (unsigned char *)calloc(*page_num, 1); - if (*vec == NULL) - return -1; - - /* Get information on whether pages are in core */ - if (mincore(page, (size_t)length, *vec) == -1 || - munmap(page, length) == -1) { - FREE(*vec); - return -1; - } - - return 0; -} - -/* - * defrag_fadvise() - Predeclare an access pattern for file data. - * - * @fd: defrag target file's descriptor. - * @defrag_data: data used for defrag. - * @vec: page state array. - * @page_num: page number. - */ -static int defrag_fadvise(int fd, struct move_extent defrag_data, - unsigned char *vec, unsigned int page_num) -{ - int flag = 1; - long pagesize = sysconf(_SC_PAGESIZE); - int fadvise_flag = POSIX_FADV_DONTNEED; - int sync_flag = SYNC_FILE_RANGE_WAIT_BEFORE | - SYNC_FILE_RANGE_WRITE | - SYNC_FILE_RANGE_WAIT_AFTER; - unsigned int i; - loff_t offset; - - if (pagesize < 1) - return -1; - - offset = (loff_t)defrag_data.orig_start * block_size; - offset = (offset / pagesize) * pagesize; - - /* Sync file for fadvise process */ - if (sync_file_range(fd, offset, - (loff_t)pagesize * page_num, sync_flag) < 0) - return -1; - - /* Try to release buffer cache which this process used, - * then other process can use the released buffer - */ - for (i = 0; i < page_num; i++) { - if ((vec[i] & 0x1) == 0) { - offset += pagesize; - continue; - } - if (posix_fadvise(fd, offset, pagesize, fadvise_flag) < 0) { - if ((mode_flag & DETAIL) && flag) { - perror("\tFailed to fadvise"); - flag = 0; - } - } - offset += pagesize; - } - - return 0; -} - -/* - * check_free_size() - Check if there's enough disk space. - * - * @fd: defrag target file's descriptor. - * @file: file name. - * @blk_count: file blocks. - */ -static int check_free_size(int fd, const char *file, ext4_fsblk_t blk_count) -{ - ext4_fsblk_t free_blk_count; - struct statfs64 fsbuf; - - if (fstatfs64(fd, &fsbuf) < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - PRINT_ERR_MSG_WITH_ERRNO( - "Failed to get filesystem information"); - } - return -1; - } - - /* Compute free space for root and normal user separately */ - if (current_uid == ROOT_UID) - free_blk_count = fsbuf.f_bfree; - else - free_blk_count = fsbuf.f_bavail; - - if (free_blk_count >= blk_count) - return 0; - - return -ENOSPC; -} - -/* - * file_frag_count() - Get file fragment count. - * - * @fd: defrag target file's descriptor. - */ -static int file_frag_count(int fd) -{ - int ret; - struct fiemap fiemap_buf; - - /* When fm_extent_count is 0, - * ioctl just get file fragment count. - */ - memset(&fiemap_buf, 0, sizeof(struct fiemap)); - fiemap_buf.fm_start = 0; - fiemap_buf.fm_length = FIEMAP_MAX_OFFSET; - fiemap_buf.fm_flags |= FIEMAP_FLAG_SYNC; - - ret = ioctl(fd, FS_IOC_FIEMAP, &fiemap_buf); - if (ret < 0) - return ret; - - return fiemap_buf.fm_mapped_extents; -} - -/* - * file_check() - Check file's attributes. - * - * @fd: defrag target file's descriptor. - * @buf: a pointer of the struct stat64. - * @file: file name. - * @extents: file extents. - * @blk_count: file blocks. - */ -static int file_check(int fd, const struct stat64 *buf, const char *file, - int extents, ext4_fsblk_t blk_count) -{ - int ret; - struct flock lock; - - /* Write-lock check is more reliable */ - lock.l_type = F_WRLCK; - lock.l_start = 0; - lock.l_whence = SEEK_SET; - lock.l_len = 0; - - /* Free space */ - ret = check_free_size(fd, file, blk_count); - if (ret < 0) { - if ((mode_flag & DETAIL) && ret == -ENOSPC) { - printf("\033[79;0H\033[K[%u/%u] \"%s\"\t\t" - " extents: %d -> %d\n", defraged_file_count, - total_count, file, extents, extents); - IN_FTW_PRINT_ERR_MSG( - "Defrag size is larger than filesystem's free space"); - } - return -1; - } - - /* Access authority */ - if (current_uid != ROOT_UID && - buf->st_uid != current_uid) { - if (mode_flag & DETAIL) { - printf("\033[79;0H\033[K[%u/%u] \"%s\"\t\t" - " extents: %d -> %d\n", defraged_file_count, - total_count, file, extents, extents); - IN_FTW_PRINT_ERR_MSG( - "File is not current user's file" - " or current user is not root"); - } - return -1; - } - - /* Lock status */ - if (fcntl(fd, F_GETLK, &lock) < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - PRINT_ERR_MSG_WITH_ERRNO( - "Failed to get lock information"); - } - return -1; - } else if (lock.l_type != F_UNLCK) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - IN_FTW_PRINT_ERR_MSG("File has been locked"); - } - return -1; - } - - return 0; -} - -/* - * insert_extent_by_logical() - Sequentially insert extent by logical. - * - * @ext_list_head: the head of logical extent list. - * @ext: the extent element which will be inserted. - */ -static int insert_extent_by_logical(struct fiemap_extent_list **ext_list_head, - struct fiemap_extent_list *ext) -{ - struct fiemap_extent_list *ext_list_tmp = *ext_list_head; - - if (ext == NULL) - goto out; - - /* First element */ - if (*ext_list_head == NULL) { - (*ext_list_head) = ext; - (*ext_list_head)->prev = *ext_list_head; - (*ext_list_head)->next = *ext_list_head; - return 0; - } - - if (ext->data.logical <= ext_list_tmp->data.logical) { - /* Insert before head */ - if (ext_list_tmp->data.logical < - ext->data.logical + ext->data.len) - /* Overlap */ - goto out; - /* Adjust head */ - *ext_list_head = ext; - } else { - /* Insert into the middle or last of the list */ - do { - if (ext->data.logical < ext_list_tmp->data.logical) - break; - ext_list_tmp = ext_list_tmp->next; - } while (ext_list_tmp != (*ext_list_head)); - if (ext->data.logical < - ext_list_tmp->prev->data.logical + - ext_list_tmp->prev->data.len) - /* Overlap */ - goto out; - - if (ext_list_tmp != *ext_list_head && - ext_list_tmp->data.logical < - ext->data.logical + ext->data.len) - /* Overlap */ - goto out; - } - ext_list_tmp = ext_list_tmp->prev; - /* Insert "ext" after "ext_list_tmp" */ - insert(ext_list_tmp, ext); - return 0; -out: - errno = EINVAL; - return -1; -} - -/* - * insert_extent_by_physical() - Sequentially insert extent by physical. - * - * @ext_list_head: the head of physical extent list. - * @ext: the extent element which will be inserted. - */ -static int insert_extent_by_physical(struct fiemap_extent_list **ext_list_head, - struct fiemap_extent_list *ext) -{ - struct fiemap_extent_list *ext_list_tmp = *ext_list_head; - - if (ext == NULL) - goto out; - - /* First element */ - if (*ext_list_head == NULL) { - (*ext_list_head) = ext; - (*ext_list_head)->prev = *ext_list_head; - (*ext_list_head)->next = *ext_list_head; - return 0; - } - - if (ext->data.physical <= ext_list_tmp->data.physical) { - /* Insert before head */ - if (ext_list_tmp->data.physical < - ext->data.physical + ext->data.len) - /* Overlap */ - goto out; - /* Adjust head */ - *ext_list_head = ext; - } else { - /* Insert into the middle or last of the list */ - do { - if (ext->data.physical < ext_list_tmp->data.physical) - break; - ext_list_tmp = ext_list_tmp->next; - } while (ext_list_tmp != (*ext_list_head)); - if (ext->data.physical < - ext_list_tmp->prev->data.physical + - ext_list_tmp->prev->data.len) - /* Overlap */ - goto out; - - if (ext_list_tmp != *ext_list_head && - ext_list_tmp->data.physical < - ext->data.physical + ext->data.len) - /* Overlap */ - goto out; - } - ext_list_tmp = ext_list_tmp->prev; - /* Insert "ext" after "ext_list_tmp" */ - insert(ext_list_tmp, ext); - return 0; -out: - errno = EINVAL; - return -1; -} - -/* - * insert_exts_group() - Insert a exts_group. - * - * @ext_group_head: the head of a exts_group list. - * @exts_group: the exts_group element which will be inserted. - */ -static int insert_exts_group(struct fiemap_extent_group **ext_group_head, - struct fiemap_extent_group *exts_group) -{ - struct fiemap_extent_group *ext_group_tmp = NULL; - - if (exts_group == NULL) { - errno = EINVAL; - return -1; - } - - /* Initialize list */ - if (*ext_group_head == NULL) { - (*ext_group_head) = exts_group; - (*ext_group_head)->prev = *ext_group_head; - (*ext_group_head)->next = *ext_group_head; - return 0; - } - - ext_group_tmp = (*ext_group_head)->prev; - insert(ext_group_tmp, exts_group); - - return 0; -} - -/* - * join_extents() - Find continuous region(exts_group). - * - * @ext_list_head: the head of the extent list. - * @ext_group_head: the head of the target exts_group list. - */ -static int join_extents(struct fiemap_extent_list *ext_list_head, - struct fiemap_extent_group **ext_group_head) -{ - __u64 len = ext_list_head->data.len; - struct fiemap_extent_list *ext_list_start = ext_list_head; - struct fiemap_extent_list *ext_list_tmp = ext_list_head->next; - - do { - struct fiemap_extent_group *ext_group_tmp = NULL; - - /* This extent and previous extent are not continuous, - * so, all previous extents are treated as an extent group. - */ - if ((ext_list_tmp->prev->data.logical + - ext_list_tmp->prev->data.len) - != ext_list_tmp->data.logical) { - ext_group_tmp = - malloc(sizeof(struct fiemap_extent_group)); - if (ext_group_tmp == NULL) - return -1; - - memset(ext_group_tmp, 0, - sizeof(struct fiemap_extent_group)); - ext_group_tmp->len = len; - ext_group_tmp->start = ext_list_start; - ext_group_tmp->end = ext_list_tmp->prev; - - if (insert_exts_group(ext_group_head, - ext_group_tmp) < 0) { - FREE(ext_group_tmp); - return -1; - } - ext_list_start = ext_list_tmp; - len = ext_list_tmp->data.len; - ext_list_tmp = ext_list_tmp->next; - continue; - } - - /* This extent and previous extent are continuous, - * so, they belong to the same extent group, and we check - * if the next extent belongs to the same extent group. - */ - len += ext_list_tmp->data.len; - ext_list_tmp = ext_list_tmp->next; - } while (ext_list_tmp != ext_list_head->next); - - return 0; -} - -/* - * get_file_extents() - Get file's extent list. - * - * @fd: defrag target file's descriptor. - * @ext_list_head: the head of the extent list. - */ -static int get_file_extents(int fd, struct fiemap_extent_list **ext_list_head) -{ - __u32 i; - int ret; - int ext_buf_size, fie_buf_size; - __u64 pos = 0; - struct fiemap *fiemap_buf = NULL; - struct fiemap_extent *ext_buf = NULL; - struct fiemap_extent_list *ext_list = NULL; - - /* Convert units, in bytes. - * Be careful : now, physical block number in extent is 48bit, - * and the maximum blocksize for ext4 is 4K(12bit), - * so there is no overflow, but in future it may be changed. - */ - - /* Alloc space for fiemap */ - ext_buf_size = EXTENT_MAX_COUNT * sizeof(struct fiemap_extent); - fie_buf_size = sizeof(struct fiemap) + ext_buf_size; - - fiemap_buf = malloc(fie_buf_size); - if (fiemap_buf == NULL) - return -1; - - ext_buf = fiemap_buf->fm_extents; - memset(fiemap_buf, 0, fie_buf_size); - fiemap_buf->fm_length = FIEMAP_MAX_OFFSET; - fiemap_buf->fm_flags |= FIEMAP_FLAG_SYNC; - fiemap_buf->fm_extent_count = EXTENT_MAX_COUNT; - - do { - fiemap_buf->fm_start = pos; - memset(ext_buf, 0, ext_buf_size); - ret = ioctl(fd, FS_IOC_FIEMAP, fiemap_buf); - if (ret < 0 || fiemap_buf->fm_mapped_extents == 0) - goto out; - for (i = 0; i < fiemap_buf->fm_mapped_extents; i++) { - ext_list = NULL; - ext_list = malloc(sizeof(struct fiemap_extent_list)); - if (ext_list == NULL) - goto out; - - ext_list->data.physical = ext_buf[i].fe_physical - / block_size; - ext_list->data.logical = ext_buf[i].fe_logical - / block_size; - ext_list->data.len = ext_buf[i].fe_length - / block_size; - - ret = insert_extent_by_physical( - ext_list_head, ext_list); - if (ret < 0) { - FREE(ext_list); - goto out; - } - } - /* Record file's logical offset this time */ - pos = ext_buf[EXTENT_MAX_COUNT-1].fe_logical + - ext_buf[EXTENT_MAX_COUNT-1].fe_length; - /* - * If fm_extents array has been filled and - * there are extents left, continue to cycle. - */ - } while (fiemap_buf->fm_mapped_extents - == EXTENT_MAX_COUNT && - !(ext_buf[EXTENT_MAX_COUNT-1].fe_flags - & FIEMAP_EXTENT_LAST)); - - FREE(fiemap_buf); - return 0; -out: - FREE(fiemap_buf); - return -1; -} - -/* - * get_logical_count() - Get the file logical extents count. - * - * @logical_list_head: the head of the logical extent list. - */ -static int get_logical_count(struct fiemap_extent_list *logical_list_head) -{ - int ret = 0; - struct fiemap_extent_list *ext_list_tmp = logical_list_head; - - do { - ret++; - ext_list_tmp = ext_list_tmp->next; - } while (ext_list_tmp != logical_list_head); - - return ret; -} - -/* - * get_physical_count() - Get the file physical extents count. - * - * @physical_list_head: the head of the physical extent list. - */ -static int get_physical_count(struct fiemap_extent_list *physical_list_head) -{ - int ret = 0; - struct fiemap_extent_list *ext_list_tmp = physical_list_head; - - do { - if ((ext_list_tmp->data.physical + ext_list_tmp->data.len) - != ext_list_tmp->next->data.physical) { - /* This extent and next extent are not continuous. */ - ret++; - } - - ext_list_tmp = ext_list_tmp->next; - } while (ext_list_tmp != physical_list_head); - - return ret; -} - -/* - * change_physical_to_logical() - Change list from physical to logical. - * - * @physical_list_head: the head of physical extent list. - * @logical_list_head: the head of logical extent list. - */ -static int change_physical_to_logical( - struct fiemap_extent_list **physical_list_head, - struct fiemap_extent_list **logical_list_head) -{ - int ret; - struct fiemap_extent_list *ext_list_tmp = *physical_list_head; - struct fiemap_extent_list *ext_list_next = ext_list_tmp->next; - - while (1) { - if (ext_list_tmp == ext_list_next) { - ret = insert_extent_by_logical( - logical_list_head, ext_list_tmp); - if (ret < 0) - return -1; - - *physical_list_head = NULL; - break; - } - - ext_list_tmp->prev->next = ext_list_tmp->next; - ext_list_tmp->next->prev = ext_list_tmp->prev; - *physical_list_head = ext_list_next; - - ret = insert_extent_by_logical( - logical_list_head, ext_list_tmp); - if (ret < 0) { - FREE(ext_list_tmp); - return -1; - } - ext_list_tmp = ext_list_next; - ext_list_next = ext_list_next->next; - } - - return 0; -} - -/* get_file_blocks() - Get total file blocks. - * - * @ext_list_head: the extent list head of the target file - */ -static ext4_fsblk_t get_file_blocks(struct fiemap_extent_list *ext_list_head) -{ - ext4_fsblk_t blk_count = 0; - struct fiemap_extent_list *ext_list_tmp = ext_list_head; - - do { - blk_count += ext_list_tmp->data.len; - ext_list_tmp = ext_list_tmp->next; - } while (ext_list_tmp != ext_list_head); - - return blk_count; -} - -/* - * free_ext() - Free the extent list. - * - * @ext_list_head: the extent list head of which will be free. - */ -static void free_ext(struct fiemap_extent_list *ext_list_head) -{ - struct fiemap_extent_list *ext_list_tmp = NULL; - - if (ext_list_head == NULL) - return; - - while (ext_list_head->next != ext_list_head) { - ext_list_tmp = ext_list_head; - ext_list_head->prev->next = ext_list_head->next; - ext_list_head->next->prev = ext_list_head->prev; - ext_list_head = ext_list_head->next; - free(ext_list_tmp); - } - free(ext_list_head); -} - -/* - * free_exts_group() - Free the exts_group. - * - * @*ext_group_head: the exts_group list head which will be free. - */ -static void free_exts_group(struct fiemap_extent_group *ext_group_head) -{ - struct fiemap_extent_group *ext_group_tmp = NULL; - - if (ext_group_head == NULL) - return; - - while (ext_group_head->next != ext_group_head) { - ext_group_tmp = ext_group_head; - ext_group_head->prev->next = ext_group_head->next; - ext_group_head->next->prev = ext_group_head->prev; - ext_group_head = ext_group_head->next; - free(ext_group_tmp); - } - free(ext_group_head); -} - -/* - * get_best_count() - Get the file best extents count. - * - * @block_count: the file's physical block count. - */ -static int get_best_count(ext4_fsblk_t block_count) -{ - int ret; - unsigned int flex_bg_num; - - /* Calcuate best extents count */ - if (feature_incompat & EXT4_FEATURE_INCOMPAT_FLEX_BG) { - flex_bg_num = 1 << log_groups_per_flex; - ret = ((block_count - 1) / - ((ext4_fsblk_t)blocks_per_group * - flex_bg_num)) + 1; - } else - ret = ((block_count - 1) / blocks_per_group) + 1; - - return ret; -} - - -/* - * file_statistic() - Get statistic info of the file's fragments. - * - * @file: the file's name. - * @buf: the pointer of the struct stat64. - * @flag: file type. - * @ftwbuf: the pointer of a struct FTW. - */ -static int file_statistic(const char *file, const struct stat64 *buf, - int flag EXT2FS_ATTR((unused)), - struct FTW *ftwbuf EXT2FS_ATTR((unused))) -{ - int fd; - int ret; - int now_ext_count, best_ext_count = 0, physical_ext_count; - int i, j; - __u64 size_per_ext = 0; - float ratio = 0.0; - ext4_fsblk_t blk_count = 0; - char msg_buffer[PATH_MAX + 24]; - struct fiemap_extent_list *physical_list_head = NULL; - struct fiemap_extent_list *logical_list_head = NULL; - - defraged_file_count++; - - if (mode_flag & DETAIL) { - if (total_count == 1 && regular_count == 1) - printf("\n"); - else { - printf("[%u/%u]", defraged_file_count, total_count); - fflush(stdout); - } - } - if (lost_found_dir[0] != '\0' && - !memcmp(file, lost_found_dir, strnlen(lost_found_dir, PATH_MAX))) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - STATISTIC_ERR_MSG(NGMSG_LOST_FOUND); - } - return 0; - } - - if (!S_ISREG(buf->st_mode)) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - STATISTIC_ERR_MSG(NGMSG_FILE_UNREG); - } - return 0; - } - - /* Access authority */ - if (current_uid != ROOT_UID && - buf->st_uid != current_uid) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - STATISTIC_ERR_MSG( - "File is not current user's file" - " or current user is not root"); - } - return 0; - } - - /* Empty file */ - if (buf->st_size == 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - STATISTIC_ERR_MSG("File size is 0"); - } - return 0; - } - - /* Has no blocks */ - if (buf->st_blocks == 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - STATISTIC_ERR_MSG("File has no blocks"); - } - return 0; - } - - fd = open64(file, O_RDONLY); - if (fd < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - STATISTIC_ERR_MSG_WITH_ERRNO(NGMSG_FILE_OPEN); - } - return 0; - } - - /* Get file's physical extents */ - ret = get_file_extents(fd, &physical_list_head); - if (ret < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - STATISTIC_ERR_MSG_WITH_ERRNO(NGMSG_FILE_EXTENT); - } - goto out; - } - - /* Get the count of file's continuous physical region */ - physical_ext_count = get_physical_count(physical_list_head); - - /* Change list from physical to logical */ - ret = change_physical_to_logical(&physical_list_head, - &logical_list_head); - if (ret < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - STATISTIC_ERR_MSG_WITH_ERRNO(NGMSG_FILE_EXTENT); - } - goto out; - } - - /* Count file fragments before defrag */ - now_ext_count = get_logical_count(logical_list_head); - - if (current_uid == ROOT_UID) { - /* Calculate the size per extent */ - blk_count = get_file_blocks(logical_list_head); - - best_ext_count = get_best_count(blk_count); - - /* e4defrag rounds size_per_ext up to a block size boundary */ - size_per_ext = blk_count * (buf->st_blksize / 1024) / - now_ext_count; - - ratio = (float)(physical_ext_count - best_ext_count) * 100 / - blk_count; - - extents_before_defrag += now_ext_count; - extents_after_defrag += best_ext_count; - files_block_count += blk_count; - } - - if (total_count == 1 && regular_count == 1) { - /* File only */ - if (mode_flag & DETAIL) { - int count = 0; - struct fiemap_extent_list *ext_list_tmp = - logical_list_head; - - /* Print extents info */ - do { - count++; - printf("[ext %d]:\tstart %llu:\tlogical " - "%llu:\tlen %llu\n", count, - ext_list_tmp->data.physical, - ext_list_tmp->data.logical, - ext_list_tmp->data.len); - ext_list_tmp = ext_list_tmp->next; - } while (ext_list_tmp != logical_list_head); - - } else { - printf("%-40s%10s/%-10s%9s\n", - "", "now", "best", "size/ext"); - if (current_uid == ROOT_UID) { - if (strlen(file) > 40) - printf("%s\n%50d/%-10d%6llu KB\n", - file, now_ext_count, - best_ext_count, size_per_ext); - else - printf("%-40s%10d/%-10d%6llu KB\n", - file, now_ext_count, - best_ext_count, size_per_ext); - } else { - if (strlen(file) > 40) - printf("%s\n%50d/%-10s%7s\n", - file, now_ext_count, - "-", "-"); - else - printf("%-40s%10d/%-10s%7s\n", - file, now_ext_count, - "-", "-"); - } - } - succeed_cnt++; - goto out; - } - - if (mode_flag & DETAIL) { - /* Print statistic info */ - sprintf(msg_buffer, "[%u/%u]%s", - defraged_file_count, total_count, file); - if (current_uid == ROOT_UID) { - if (strlen(msg_buffer) > 40) - printf("\033[79;0H\033[K%s\n" - "%50d/%-10d%6llu KB\n", - msg_buffer, now_ext_count, - best_ext_count, size_per_ext); - else - printf("\033[79;0H\033[K%-40s" - "%10d/%-10d%6llu KB\n", - msg_buffer, now_ext_count, - best_ext_count, size_per_ext); - } else { - if (strlen(msg_buffer) > 40) - printf("\033[79;0H\033[K%s\n%50d/%-10s%7s\n", - msg_buffer, now_ext_count, - "-", "-"); - else - printf("\033[79;0H\033[K%-40s%10d/%-10s%7s\n", - msg_buffer, now_ext_count, - "-", "-"); - } - } - - for (i = 0; i < SHOW_FRAG_FILES; i++) { - if (ratio >= frag_rank[i].ratio) { - for (j = SHOW_FRAG_FILES - 1; j > i; j--) { - memset(&frag_rank[j], 0, - sizeof(struct frag_statistic_ino)); - strncpy(frag_rank[j].msg_buffer, - frag_rank[j - 1].msg_buffer, - strnlen(frag_rank[j - 1].msg_buffer, - PATH_MAX)); - frag_rank[j].now_count = - frag_rank[j - 1].now_count; - frag_rank[j].best_count = - frag_rank[j - 1].best_count; - frag_rank[j].size_per_ext = - frag_rank[j - 1].size_per_ext; - frag_rank[j].ratio = - frag_rank[j - 1].ratio; - } - memset(&frag_rank[i], 0, - sizeof(struct frag_statistic_ino)); - strncpy(frag_rank[i].msg_buffer, file, - strnlen(file, PATH_MAX)); - frag_rank[i].now_count = now_ext_count; - frag_rank[i].best_count = best_ext_count; - frag_rank[i].size_per_ext = size_per_ext; - frag_rank[i].ratio = ratio; - break; - } - } - - succeed_cnt++; - -out: - close(fd); - free_ext(physical_list_head); - free_ext(logical_list_head); - return 0; -} - -/* - * print_progress - Print defrag progress - * - * @file: file name. - * @start: logical offset for defrag target file - * @file_size: defrag target filesize - */ -static void print_progress(const char *file, loff_t start, loff_t file_size) -{ - int percent = (start * 100) / file_size; - printf("\033[79;0H\033[K[%u/%u]%s:\t%3d%%", - defraged_file_count, total_count, file, min(percent, 100)); - fflush(stdout); - - return; -} - -/* - * call_defrag() - Execute the defrag program. - * - * @fd: target file descriptor. - * @donor_fd: donor file descriptor. - * @file: target file name. - * @buf: pointer of the struct stat64. - * @ext_list_head: head of the extent list. - */ -static int call_defrag(int fd, int donor_fd, const char *file, - const struct stat64 *buf, struct fiemap_extent_list *ext_list_head) -{ - loff_t start = 0; - unsigned int page_num; - unsigned char *vec = NULL; - int defraged_ret = 0; - int ret; - struct move_extent move_data; - struct fiemap_extent_list *ext_list_tmp = NULL; - - memset(&move_data, 0, sizeof(struct move_extent)); - move_data.donor_fd = donor_fd; - - /* Print defrag progress */ - print_progress(file, start, buf->st_size); - - ext_list_tmp = ext_list_head; - do { - move_data.orig_start = ext_list_tmp->data.logical; - /* Logical offset of orig and donor should be same */ - move_data.donor_start = move_data.orig_start; - move_data.len = ext_list_tmp->data.len; - move_data.moved_len = 0; - - ret = page_in_core(fd, move_data, &vec, &page_num); - if (ret < 0) { - if (mode_flag & DETAIL) { - printf("\n"); - PRINT_ERR_MSG_WITH_ERRNO( - "Failed to get file map"); - } else { - printf("\t[ NG ]\n"); - } - return -1; - } - - /* EXT4_IOC_MOVE_EXT */ - defraged_ret = - ioctl(fd, EXT4_IOC_MOVE_EXT, &move_data); - - /* Free pages */ - ret = defrag_fadvise(fd, move_data, vec, page_num); - if (vec) { - free(vec); - vec = NULL; - } - if (ret < 0) { - if (mode_flag & DETAIL) { - printf("\n"); - PRINT_ERR_MSG_WITH_ERRNO( - "Failed to free page"); - } else { - printf("\t[ NG ]\n"); - } - return -1; - } - - if (defraged_ret < 0) { - if (mode_flag & DETAIL) { - printf("\n"); - PRINT_ERR_MSG_WITH_ERRNO( - "Failed to defrag with " - "EXT4_IOC_MOVE_EXT ioctl"); - if (errno == ENOTTY) - printf("\tAt least 2.6.31-rc1 of " - "vanilla kernel is required\n"); - } else { - printf("\t[ NG ]\n"); - } - return -1; - } - /* Adjust logical offset for next ioctl */ - move_data.orig_start += move_data.moved_len; - move_data.donor_start = move_data.orig_start; - - start = move_data.orig_start * buf->st_blksize; - - /* Print defrag progress */ - print_progress(file, start, buf->st_size); - - /* End of file */ - if (start >= buf->st_size) - break; - - ext_list_tmp = ext_list_tmp->next; - } while (ext_list_tmp != ext_list_head); - - return 0; -} - -/* - * file_defrag() - Check file attributes and call ioctl to defrag. - * - * @file: the file's name. - * @buf: the pointer of the struct stat64. - * @flag: file type. - * @ftwbuf: the pointer of a struct FTW. - */ -static int file_defrag(const char *file, const struct stat64 *buf, - int flag EXT2FS_ATTR((unused)), - struct FTW *ftwbuf EXT2FS_ATTR((unused))) -{ - int fd; - int donor_fd = -1; - int ret; - int best; - int file_frags_start, file_frags_end; - int orig_physical_cnt, donor_physical_cnt = 0; - char tmp_inode_name[PATH_MAX + 8]; - ext4_fsblk_t blk_count = 0; - struct fiemap_extent_list *orig_list_physical = NULL; - struct fiemap_extent_list *orig_list_logical = NULL; - struct fiemap_extent_list *donor_list_physical = NULL; - struct fiemap_extent_list *donor_list_logical = NULL; - struct fiemap_extent_group *orig_group_head = NULL; - struct fiemap_extent_group *orig_group_tmp = NULL; - - defraged_file_count++; - - if (mode_flag & DETAIL) { - printf("[%u/%u]", defraged_file_count, total_count); - fflush(stdout); - } - - if (lost_found_dir[0] != '\0' && - !memcmp(file, lost_found_dir, strnlen(lost_found_dir, PATH_MAX))) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - IN_FTW_PRINT_ERR_MSG(NGMSG_LOST_FOUND); - } - return 0; - } - - if (!S_ISREG(buf->st_mode)) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - IN_FTW_PRINT_ERR_MSG(NGMSG_FILE_UNREG); - } - return 0; - } - - /* Empty file */ - if (buf->st_size == 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - IN_FTW_PRINT_ERR_MSG("File size is 0"); - } - return 0; - } - - /* Has no blocks */ - if (buf->st_blocks == 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - STATISTIC_ERR_MSG("File has no blocks"); - } - return 0; - } - - fd = open64(file, O_RDWR); - if (fd < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - PRINT_ERR_MSG_WITH_ERRNO(NGMSG_FILE_OPEN); - } - return 0; - } - - /* Get file's extents */ - ret = get_file_extents(fd, &orig_list_physical); - if (ret < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - PRINT_ERR_MSG_WITH_ERRNO(NGMSG_FILE_EXTENT); - } - goto out; - } - - /* Get the count of file's continuous physical region */ - orig_physical_cnt = get_physical_count(orig_list_physical); - - /* Change list from physical to logical */ - ret = change_physical_to_logical(&orig_list_physical, - &orig_list_logical); - if (ret < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - PRINT_ERR_MSG_WITH_ERRNO(NGMSG_FILE_EXTENT); - } - goto out; - } - - /* Count file fragments before defrag */ - file_frags_start = get_logical_count(orig_list_logical); - - blk_count = get_file_blocks(orig_list_logical); - if (file_check(fd, buf, file, file_frags_start, blk_count) < 0) - goto out; - - if (fsync(fd) < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - PRINT_ERR_MSG_WITH_ERRNO("Failed to sync(fsync)"); - } - goto out; - } - - if (current_uid == ROOT_UID) - best = get_best_count(blk_count); - else - best = 1; - - if (file_frags_start <= best) - goto check_improvement; - - /* Combine extents to group */ - ret = join_extents(orig_list_logical, &orig_group_head); - if (ret < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - PRINT_ERR_MSG_WITH_ERRNO(NGMSG_FILE_EXTENT); - } - goto out; - } - - /* Create donor inode */ - memset(tmp_inode_name, 0, PATH_MAX + 8); - sprintf(tmp_inode_name, "%.*s.defrag", - (int)strnlen(file, PATH_MAX), file); - donor_fd = open64(tmp_inode_name, O_WRONLY | O_CREAT | O_EXCL, S_IRUSR); - if (donor_fd < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - if (errno == EEXIST) - PRINT_ERR_MSG_WITH_ERRNO( - "File is being defraged by other program"); - else - PRINT_ERR_MSG_WITH_ERRNO(NGMSG_FILE_OPEN); - } - goto out; - } - - /* Unlink donor inode */ - ret = unlink(tmp_inode_name); - if (ret < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - PRINT_ERR_MSG_WITH_ERRNO("Failed to unlink"); - } - goto out; - } - - /* Allocate space for donor inode */ - orig_group_tmp = orig_group_head; - do { - ret = fallocate64(donor_fd, 0, - (loff_t)orig_group_tmp->start->data.logical * block_size, - (loff_t)orig_group_tmp->len * block_size); - if (ret < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - PRINT_ERR_MSG_WITH_ERRNO("Failed to fallocate"); - } - goto out; - } - - orig_group_tmp = orig_group_tmp->next; - } while (orig_group_tmp != orig_group_head); - - /* Get donor inode's extents */ - ret = get_file_extents(donor_fd, &donor_list_physical); - if (ret < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - PRINT_ERR_MSG_WITH_ERRNO(NGMSG_FILE_EXTENT); - } - goto out; - } - - /* Calcuate donor inode's continuous physical region */ - donor_physical_cnt = get_physical_count(donor_list_physical); - - /* Change donor extent list from physical to logical */ - ret = change_physical_to_logical(&donor_list_physical, - &donor_list_logical); - if (ret < 0) { - if (mode_flag & DETAIL) { - PRINT_FILE_NAME(file); - PRINT_ERR_MSG_WITH_ERRNO(NGMSG_FILE_EXTENT); - } - goto out; - } - -check_improvement: - if (mode_flag & DETAIL) { - if (file_frags_start != 1) - frag_files_before_defrag++; - - extents_before_defrag += file_frags_start; - } - - if (file_frags_start <= best || - orig_physical_cnt <= donor_physical_cnt) { - printf("\033[79;0H\033[K[%u/%u]%s:\t%3d%%", - defraged_file_count, total_count, file, 100); - if (mode_flag & DETAIL) - printf(" extents: %d -> %d", - file_frags_start, file_frags_start); - - printf("\t[ OK ]\n"); - succeed_cnt++; - - if (file_frags_start != 1) - frag_files_after_defrag++; - - extents_after_defrag += file_frags_start; - goto out; - } - - /* Defrag the file */ - ret = call_defrag(fd, donor_fd, file, buf, donor_list_logical); - - /* Count file fragments after defrag and print extents info */ - if (mode_flag & DETAIL) { - file_frags_end = file_frag_count(fd); - if (file_frags_end < 0) { - printf("\n"); - PRINT_ERR_MSG_WITH_ERRNO(NGMSG_FILE_INFO); - goto out; - } - - if (file_frags_end != 1) - frag_files_after_defrag++; - - extents_after_defrag += file_frags_end; - - if (ret < 0) - goto out; - - printf(" extents: %d -> %d", - file_frags_start, file_frags_end); - fflush(stdout); - } - - if (ret < 0) - goto out; - - printf("\t[ OK ]\n"); - fflush(stdout); - succeed_cnt++; - -out: - close(fd); - if (donor_fd != -1) - close(donor_fd); - free_ext(orig_list_physical); - free_ext(orig_list_logical); - free_ext(donor_list_physical); - free_exts_group(orig_group_head); - return 0; -} - -/* - * main() - Ext4 online defrag. - * - * @argc: the number of parameter. - * @argv[]: the pointer array of parameter. - */ -int main(int argc, char *argv[]) -{ - int opt; - int i, j, ret = 0; - int flags = FTW_PHYS | FTW_MOUNT; - int arg_type = -1; - int success_flag = 0; - char dir_name[PATH_MAX + 1]; - char dev_name[PATH_MAX + 1]; - struct stat64 buf; - ext2_filsys fs = NULL; - - /* Parse arguments */ - if (argc == 1) - goto out; - - while ((opt = getopt(argc, argv, "vc")) != EOF) { - switch (opt) { - case 'v': - mode_flag |= DETAIL; - break; - case 'c': - mode_flag |= STATISTIC; - break; - default: - goto out; - } - } - - if (argc == optind) - goto out; - - current_uid = getuid(); - - /* Main process */ - for (i = optind; i < argc; i++) { - succeed_cnt = 0; - regular_count = 0; - total_count = 0; - frag_files_before_defrag = 0; - frag_files_after_defrag = 0; - extents_before_defrag = 0; - extents_after_defrag = 0; - defraged_file_count = 0; - files_block_count = 0; - blocks_per_group = 0; - feature_incompat = 0; - log_groups_per_flex = 0; - - memset(dir_name, 0, PATH_MAX + 1); - memset(dev_name, 0, PATH_MAX + 1); - memset(lost_found_dir, 0, PATH_MAX + 1); - memset(frag_rank, 0, - sizeof(struct frag_statistic_ino) * SHOW_FRAG_FILES); - - if ((mode_flag & STATISTIC) && i > optind) - printf("\n"); - -#if BYTE_ORDER != BIG_ENDIAN && BYTE_ORDER != LITTLE_ENDIAN - PRINT_ERR_MSG("Endian's type is not big/little endian"); - PRINT_FILE_NAME(argv[i]); - continue; -#endif - - if (lstat64(argv[i], &buf) < 0) { - perror(NGMSG_FILE_INFO); - PRINT_FILE_NAME(argv[i]); - continue; - } - - /* Handle i.e. lvm device symlinks */ - if (S_ISLNK(buf.st_mode)) { - struct stat64 buf2; - - if (stat64(argv[i], &buf2) == 0 && - S_ISBLK(buf2.st_mode)) - buf = buf2; - } - - if (S_ISBLK(buf.st_mode)) { - /* Block device */ - strncpy(dev_name, argv[i], strnlen(argv[i], PATH_MAX)); - if (get_mount_point(argv[i], dir_name, PATH_MAX) < 0) - continue; - if (lstat64(dir_name, &buf) < 0) { - perror(NGMSG_FILE_INFO); - PRINT_FILE_NAME(argv[i]); - continue; - } - arg_type = DEVNAME; - if (!(mode_flag & STATISTIC)) - printf("ext4 defragmentation for device(%s)\n", - argv[i]); - } else if (S_ISDIR(buf.st_mode)) { - /* Directory */ - if (access(argv[i], R_OK) < 0) { - perror(argv[i]); - continue; - } - arg_type = DIRNAME; - strncpy(dir_name, argv[i], strnlen(argv[i], PATH_MAX)); - } else if (S_ISREG(buf.st_mode)) { - /* Regular file */ - arg_type = FILENAME; - } else { - /* Irregular file */ - PRINT_ERR_MSG(NGMSG_FILE_UNREG); - PRINT_FILE_NAME(argv[i]); - continue; - } - - /* Set blocksize */ - block_size = buf.st_blksize; - - /* For device case, - * filesystem type checked in get_mount_point() - */ - if (arg_type == FILENAME || arg_type == DIRNAME) { - if (is_ext4(argv[i], dev_name) < 0) - continue; - if (realpath(argv[i], dir_name) == NULL) { - perror("Couldn't get full path"); - PRINT_FILE_NAME(argv[i]); - continue; - } - } - - if (current_uid == ROOT_UID) { - /* Get super block info */ - ret = ext2fs_open(dev_name, 0, 0, block_size, - unix_io_manager, &fs); - if (ret) { - if (mode_flag & DETAIL) { - perror("Can't get super block info"); - PRINT_FILE_NAME(argv[i]); - } - continue; - } - - blocks_per_group = fs->super->s_blocks_per_group; - feature_incompat = fs->super->s_feature_incompat; - log_groups_per_flex = fs->super->s_log_groups_per_flex; - - ext2fs_close(fs); - } - - switch (arg_type) { - int mount_dir_len = 0; - - case DIRNAME: - if (!(mode_flag & STATISTIC)) - printf("ext4 defragmentation " - "for directory(%s)\n", argv[i]); - - mount_dir_len = strnlen(lost_found_dir, PATH_MAX); - - strncat(lost_found_dir, "/lost+found", - PATH_MAX - strnlen(lost_found_dir, PATH_MAX)); - - /* Not the case("e4defrag mount_piont_dir") */ - if (dir_name[mount_dir_len] != '\0') { - /* - * "e4defrag mount_piont_dir/lost+found" - * or "e4defrag mount_piont_dir/lost+found/" - */ - if (strncmp(lost_found_dir, dir_name, - strnlen(lost_found_dir, - PATH_MAX)) == 0 && - (dir_name[strnlen(lost_found_dir, - PATH_MAX)] == '\0' || - dir_name[strnlen(lost_found_dir, - PATH_MAX)] == '/')) { - PRINT_ERR_MSG(NGMSG_LOST_FOUND); - PRINT_FILE_NAME(argv[i]); - continue; - } - - /* "e4defrag mount_piont_dir/else_dir" */ - memset(lost_found_dir, 0, PATH_MAX + 1); - } - case DEVNAME: - if (arg_type == DEVNAME) { - strncpy(lost_found_dir, dir_name, - strnlen(dir_name, PATH_MAX)); - strncat(lost_found_dir, "/lost+found/", - PATH_MAX - strnlen(lost_found_dir, - PATH_MAX)); - } - - nftw64(dir_name, calc_entry_counts, FTW_OPEN_FD, flags); - - if (mode_flag & STATISTIC) { - if (mode_flag & DETAIL) - printf("%-40s%10s/%-10s%9s\n", - "", "now", "best", "size/ext"); - - if (!(mode_flag & DETAIL) && - current_uid != ROOT_UID) { - printf(" Done.\n"); - success_flag = 1; - continue; - } - - nftw64(dir_name, file_statistic, - FTW_OPEN_FD, flags); - - if (succeed_cnt != 0 && - current_uid == ROOT_UID) { - if (mode_flag & DETAIL) - printf("\n"); - printf("%-40s%10s/%-10s%9s\n", - "", "now", - "best", "size/ext"); - for (j = 0; j < SHOW_FRAG_FILES; j++) { - if (strlen(frag_rank[j]. - msg_buffer) > 37) { - printf("%d. %s\n%50d/" - "%-10d%6llu KB\n", - j + 1, - frag_rank[j].msg_buffer, - frag_rank[j].now_count, - frag_rank[j].best_count, - frag_rank[j]. - size_per_ext); - } else if (strlen(frag_rank[j]. - msg_buffer) > 0) { - printf("%d. %-37s%10d/" - "%-10d%6llu KB\n", - j + 1, - frag_rank[j].msg_buffer, - frag_rank[j].now_count, - frag_rank[j].best_count, - frag_rank[j]. - size_per_ext); - } else - break; - } - } - break; - } - /* File tree walk */ - nftw64(dir_name, file_defrag, FTW_OPEN_FD, flags); - printf("\n\tSuccess:\t\t\t[ %u/%u ]\n", succeed_cnt, - total_count); - printf("\tFailure:\t\t\t[ %u/%u ]\n", - total_count - succeed_cnt, total_count); - if (mode_flag & DETAIL) { - printf("\tTotal extents:\t\t\t%4d->%d\n", - extents_before_defrag, - extents_after_defrag); - printf("\tFragmented percentage:\t\t" - "%3llu%%->%llu%%\n", - !regular_count ? 0 : - ((unsigned long long) - frag_files_before_defrag * 100) / - regular_count, - !regular_count ? 0 : - ((unsigned long long) - frag_files_after_defrag * 100) / - regular_count); - } - break; - case FILENAME: - total_count = 1; - regular_count = 1; - strncat(lost_found_dir, "/lost+found/", - PATH_MAX - strnlen(lost_found_dir, - PATH_MAX)); - if (strncmp(lost_found_dir, dir_name, - strnlen(lost_found_dir, - PATH_MAX)) == 0) { - PRINT_ERR_MSG(NGMSG_LOST_FOUND); - PRINT_FILE_NAME(argv[i]); - continue; - } - - if (mode_flag & STATISTIC) { - file_statistic(argv[i], &buf, FTW_F, NULL); - break; - } else - printf("ext4 defragmentation for %s\n", - argv[i]); - /* Defrag single file process */ - file_defrag(argv[i], &buf, FTW_F, NULL); - if (succeed_cnt != 0) - printf(" Success:\t\t\t[1/1]\n"); - else - printf(" Success:\t\t\t[0/1]\n"); - - break; - } - - if (succeed_cnt != 0) - success_flag = 1; - if (mode_flag & STATISTIC) { - if (current_uid != ROOT_UID) { - printf(" Done.\n"); - continue; - } - - if (!succeed_cnt) { - if (mode_flag & DETAIL) - printf("\n"); - - if (arg_type == DEVNAME) - printf(" In this device(%s), " - "none can be defragmented.\n", argv[i]); - else if (arg_type == DIRNAME) - printf(" In this directory(%s), " - "none can be defragmented.\n", argv[i]); - else - printf(" This file(%s) " - "can't be defragmented.\n", argv[i]); - } else { - float files_ratio = 0.0; - float score = 0.0; - __u64 size_per_ext = files_block_count * - (buf.st_blksize / 1024) / - extents_before_defrag; - files_ratio = (float)(extents_before_defrag - - extents_after_defrag) * - 100 / files_block_count; - score = CALC_SCORE(files_ratio); - printf("\n Total/best extents\t\t\t\t%d/%d\n" - " Average size per extent" - "\t\t\t%llu KB\n" - " Fragmentation score\t\t\t\t%.0f\n", - extents_before_defrag, - extents_after_defrag, - size_per_ext, score); - printf(" [0-30 no problem:" - " 31-55 a little bit fragmented:" - " 56- needs defrag]\n"); - - if (arg_type == DEVNAME) - printf(" This device (%s) ", argv[i]); - else if (arg_type == DIRNAME) - printf(" This directory (%s) ", - argv[i]); - else - printf(" This file (%s) ", argv[i]); - - if (score > BOUND_SCORE) - printf("needs defragmentation.\n"); - else - printf("does not need " - "defragmentation.\n"); - } - printf(" Done.\n"); - } - - } - - if (success_flag) - return 0; - - exit(1); - -out: - printf(MSG_USAGE); - exit(1); -} - diff --git a/misc/ext4.5.in b/misc/ext4.5.in deleted file mode 100644 index 98494eca..00000000 --- a/misc/ext4.5.in +++ /dev/null @@ -1,257 +0,0 @@ -.\" -*- nroff -*- -.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved. -.\" This file may be copied under the terms of the GNU Public License. -.\" -.TH EXT4 5 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@" -.SH NAME -ext2 \- the second extended file system -.br -ext2 \- the third extended file system -.br -ext4 \- the fourth extended file system -.SH DESCRIPTION -The second, third, and fourth extended file systems, or ext2, ext3, and -ext4 as they are commonly known, are Linux file systems that have -historically been the default file system for many Linux distributions. -They are general purpose file systems that have been designed for -extensibility and backwards compatibility. In particular, file systems -previously intended for use with the ext2 and ext3 file systems can be -mounted using the ext4 file system driver, and indeed in many modern -Linux distributions, the ext4 file system driver has been configured -handle mount requests for ext2 and ext3 file systems. -.SH FILE SYSTEM FEATURES -A file system formated for ext2, ext3, or ext4 can be have some -collection of the follow file system feature flags enabled. Some of -these features are not supported by all implementations of the ext2, -ext3, and ext4 file system drivers, depending on Linux kernel version in -use. On other operating systems, such as the GNU/HURD or FreeBSD, only -a very restrictive set of file system features may be supported in their -implementations of ext2. -.RS 1.2i -.TP -.B 64bit -.br -Enables the file system to be larger than 2^32 blocks. This feature is set -automatically, as needed, but it can be useful to specify this feature -explicitly if the file system might need to be resized larger than 2^32 -blocks, even if it was smaller than that threshold when it was -originally created. Note that some older kernels and older versions -of e2fsprogs will not support file systems with this ext4 feature enabled. -.TP -.B bigalloc -.br -This ext4 feature enables clustered block allocation, so that the unit of -allocation is a power of two number of blocks. That is, each bit in the -what had traditionally been known as the block allocation bitmap now -indicates whether a cluster is in use or not, where a cluster is by -default composed of 16 blocks. This feature can decrease the time -spent on doing block allocation and brings smaller fragmentation, especially -for large files. The size can be specified using the -.B \-C option. -.IP -.B Warning: -The bigalloc feature is still under development, and may not be fully -supported with your kernel or may have various bugs. Please see the web -page http://ext4.wiki.kernel.org/index.php/Bigalloc for details. -May clash with delayed allocation (see -.BR nodelalloc mount option). -.IP -This feature requires that the -.B extent -features be enabled. -.TP -.B dir_index -.br -Use hashed b-trees to speed up name lookups in large directories. This -feature is supported by ext3 and ext4 file systems, and is ignored by -ext2 file systems. -.TP -.B dir_nlink -.br -This ext4 feature allows more than 65000 subdirectories per directory. -.TP -.B extent -.br -This ext4 feature allows the mapping of logical block numbers for a -particular inode to physical blocks on the storage device to be stored -using an extent tree, which is a more efficient data structure than the -traditional indirect block scheme used by the ext2 and ext3 file -systems. The use of the extent tree decreases metadata block overhead, -improves file system performance, and decreases the needed to run -.BR e2fsck (8) -on the file system. -(Note: both -.B extent -and -.B extents -are accepted as valid names for this feature for -historical/backwards compatibility reasons.) -.TP -.B extra_isize -.br -This ext4 feature reserves a specific amount of space in each inode for -extended metadata such as nanosecond timestamps and file creation time, -even if the current kernel does not current need to reserve this much -space. Without this feature, the kernel will reserve the amount of -space for features currently it currently needs, and the rest may be -consumed by extended attributes. - -For this feature to be useful the inode size must be 256 bytes in size -or larger. -.TP -.B ext_attr -.br -This feature enables the use of extended attributes. This feature is -supported by ext2, ext3, and ext4. -.TP -.B filetype -.br -This feature enables the storage file type information in directory -entries. This feature is supported by ext2, ext3, and ext4. -.TP -.TP -.B flex_bg -.br -This ext4 feature allows the per-block group metadata (allocation -bitmaps -and inode tables) -to be placed anywhere on the storage media. In addition, -.B mke2fs -will place the per-block group metadata together starting at the first -block group of each "flex_bg group". The size of the flex_bg group -can be specified using the -.B \-G -option. -.TP -.B has_journal -.br -Create a journal to ensure filesystem consistency even across unclean -shutdowns. Setting the filesystem feature is equivalent to using the -.B \-j -option. This feature is supported by ext3 and ext4, and ignored by the -ext2 file system driver. -.TP -.B huge_file -.br -This ext4 feature allows files to be larger than 2 terabytes in size. -.TP -.B journal_dev -.br -This feature is enabled on the superblock found on an external journal -device. The block size for the external journal must be the same as the -file system which uses it. -.IP -The external journal device can be used by a file system by specifying -the -.B \-J -.BR device= -option to -.BR mke2fs (8) -or -.BR tune2fs(8). -.TP -.B large_file -.br -This feature flag is set automatically by modern kernels when a file -larger than 2 gigabytes is created. Very old kernels could not -handle large files, so this feature flag was used to prohibit those -kernels from mounting file systems that they could not understand. -.\" .TP -.\" .B metadata_csum -.\" .br -.\" This ext4 feature enables metadata checksumming. This feature stores -.\" checksums for all of the filesystem metadata (superblock, group -.\" descriptor blocks, inode and block bitmaps, directories, and -.\" extent tree blocks). The checksum algorithm used for the metadata -.\" blocks is different than the one used for group descriptors with the -.\" .B uninit_bg -.\" feature, these two features are incompatible and -.\" .B metadata_csum -.\" will be used preferentially instead of -.\" .BR uninit_bg . -.\" .br -.\" .B Future feature, available in e2fsprogs 1.43-WIP -.TP -.B meta_bg -.br -This ext4 feature allows file systems to be resized on-line without explicitly -needing to reserve space for growth in the size of the block group -descriptors. This scheme is also used to resize file systems which are -larger than 2^32 blocks. It is not recommended that this feature be set -when a file system is created, since this alternate method of storing -the block group descriptor will slow down the time needed to mount the -file system, and newer kernels can automatically set this feature as -necessary when doing an online resize and no more reserved space is -available in the resize inode. -.TP -.B mmp -.br -This ext4 feature provides multiple mount protection (MMP). MMP helps to -protect the filesystem from being multiply mounted and is useful in -shared storage environments. -@QUOTA_MAN_COMMENT@.TP -@QUOTA_MAN_COMMENT@.B quota -@QUOTA_MAN_COMMENT@.br -@QUOTA_MAN_COMMENT@Create quota inodes (inode #3 for userquota and inode -@QUOTA_MAN_COMMENT@#4 for group quota) and set them in the superblock. -@QUOTA_MAN_COMMENT@With this feature, the quotas will be enabled -@QUOTA_MAN_COMMENT@automatically when the filesystem is mounted. -@QUOTA_MAN_COMMENT@.IP -@QUOTA_MAN_COMMENT@Causes the quota files (i.e., user.quota and -@QUOTA_MAN_COMMENT@group.quota which existed -@QUOTA_MAN_COMMENT@in the older quota design) to be hidden inodes. -@QUOTA_MAN_COMMENT@.IP -@QUOTA_MAN_COMMENT@.B Warning: -@QUOTA_MAN_COMMENT@The quota feature is still under development, -@QUOTA_MAN_COMMENT@and may not be fully supported with your kernel -@QUOTA_MAN_COMMENT@or may have various bugs. Please -@QUOTA_MAN_COMMENT@see https://ext4.wiki.kernel.org/index.php/Quota -@QUOTA_MAN_COMMENT@for more details. -.TP -.B resize_inode -.br -This file system feature indicates that space has been reserved so -the block group descriptor table can be extended by the file system is -resized while the file system is mounted. The online resize operation -is carried out by the kernel, triggered, by -.BR resize2fs (8). -By default -.B mke2fs -will attempt to reserve enough space so that the -filesystem may grow to 1024 times its initial size. This can be changed -using the -.B resize -extended option. -.IP -This feature requires that the -.B sparse_super -feature be enabled. -.TP -.B sparse_super -.br -This file system feature is set on all modern ext2, ext3, and ext4 file -system. It indicates that backup copies of the superblock and block -group descriptors be present only on a few block groups, and not all of -them. -.TP -.B uninit_bg -.br -This ext4 file system feature indicates that the block group descriptors -will be protected using checksums, making it safe for -.BR mke2fs (8) -to create a file system without initializing all of the block groups. -The kernel will keep a high watermark of unused inodes, and initialize -inode tables and block lazily. This feature speeds up the time to check -the file system using -.BR e2fsck (8), -and it also speeds up the time required for -.BR mke2fs (8) -to create the file system. -.RE -.SH SEE ALSO -.BR mke2fs (8), -.BR mke2fs.conf (5), -.BR e2fsck (8), -.BR dumpe2fs (8), -.BR tune2fs (8), -.BR debugfs (8) diff --git a/misc/filefrag.8.in b/misc/filefrag.8.in index a6d7b27c..463f7315 100644 --- a/misc/filefrag.8.in +++ b/misc/filefrag.8.in @@ -5,10 +5,7 @@ filefrag \- report on file fragmentation .SH SYNOPSIS .B filefrag [ -.BI \-b blocksize -] -[ -.B \-BeksvxX +.B \-Bbsvx ] [ .I files... @@ -30,21 +27,8 @@ If FIEMAP is not supported then filefrag will fall back to using FIBMAP. Force the use of the older FIBMAP ioctl instead of the FIEMAP ioctl for testing purposes. .TP -.BI \-b blocksize -Use -.I blocksize -in bytes for output instead of the filesystem blocksize. -For compatibility with earlier versions of -.BR filefrag , -if -.I blocksize -is unspecified it defaults to 1024 bytes. -.TP -.B \-e -Print output in extent format, even for block-mapped files. -.TP -.BI \-k -Use 1024\-byte blocksize for output (identical to '\-b 1024'). +.B \-b +Use 1024 byte blocksize for the output. .TP .B \-s Sync the file before requesting the mapping. @@ -54,9 +38,6 @@ Be verbose when checking for file fragmentation. .TP .B \-x Display mapping of extended attributes. -.TP -.B \-X -Display extent block numbers in hexadecimal format. .SH AUTHOR .B filefrag was written by Theodore Ts'o . diff --git a/misc/filefrag.c b/misc/filefrag.c index 1a30a28b..1611f90d 100644 --- a/misc/filefrag.c +++ b/misc/filefrag.c @@ -15,8 +15,8 @@ #include int main(void) { - fputs("This program is only supported on Linux!\n", stderr); - exit(EXIT_FAILURE); + fputs("This program is only supported on Linux!\n", stderr); + exit(EXIT_FAILURE); } #else #define _LARGEFILE64_SOURCE @@ -39,27 +39,23 @@ extern int optind; #include #include #include -#include #include #include int verbose = 0; -int blocksize; /* Use specified blocksize (default 1kB) */ +int no_bs = 0; /* Don't use the files blocksize, use 1K blocksize */ int sync_file = 0; /* fsync file before getting the mapping */ int xattr_map = 0; /* get xattr mapping */ -int force_bmap; /* force use of FIBMAP instead of FIEMAP */ -int force_extent; /* print output in extent format always */ -int logical_width = 8; -int physical_width = 10; -const char *ext_fmt = "%4d: %*llu..%*llu: %*llu..%*llu: %6llu: %s\n"; -const char *hex_fmt = "%4d: %*llx..%*llx: %*llx..%*llx: %6llx: %s\n"; +int force_bmap = 0; +int logical_width = 12; +int physical_width = 14; +unsigned long long filesize; #define FILEFRAG_FIEMAP_FLAGS_COMPAT (FIEMAP_FLAG_SYNC | FIEMAP_FLAG_XATTR) #define FIBMAP _IO(0x00, 1) /* bmap access */ #define FIGETBSZ _IO(0x00, 2) /* get the block size used for bmap */ - -#define LUSTRE_SUPER_MAGIC 0x0BD00BD0 +#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap) #define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ #define EXT3_IOC_GETFLAGS _IOR('f', 1, long) @@ -106,47 +102,30 @@ static int get_bmap(int fd, unsigned long block, unsigned long *phy_blk) if (errno == EPERM) { fprintf(stderr, "No permission to use FIBMAP ioctl; " "must have root privileges\n"); + exit(1); } + perror("FIBMAP"); } *phy_blk = b; return ret; } -static void print_extent_header(void) -{ - printf(" ext: %*s %*s length: %*s flags:\n", - logical_width * 2 + 3, - "logical_offset:", - physical_width * 2 + 3, "physical_offset:", - physical_width + 1, - "expected:"); -} - static void print_extent_info(struct fiemap_extent *fm_extent, int cur_ex, - unsigned long long expected, int blk_shift, - ext2fs_struct_stat *st) + unsigned long long expected, int blk_shift) { - unsigned long long physical_blk; + __u64 phy_blk; unsigned long long logical_blk; - unsigned long long ext_len; - unsigned long long ext_blks; + unsigned long ext_len; char flags[256] = ""; - /* For inline data all offsets should be in bytes, not blocks */ + /* For inline data all offsets should be in terms of bytes, not blocks */ if (fm_extent->fe_flags & FIEMAP_EXTENT_DATA_INLINE) blk_shift = 0; ext_len = fm_extent->fe_length >> blk_shift; - ext_blks = (fm_extent->fe_length - 1) >> blk_shift; logical_blk = fm_extent->fe_logical >> blk_shift; - physical_blk = fm_extent->fe_physical >> blk_shift; - - if (expected) - sprintf(flags, ext_fmt == hex_fmt ? "%*llx: " : "%*llu: ", - physical_width, expected >> blk_shift); - else - sprintf(flags, "%.*s ", physical_width, " "); + phy_blk = fm_extent->fe_physical >> blk_shift; if (fm_extent->fe_flags & FIEMAP_EXTENT_UNKNOWN) strcat(flags, "unknown,"); @@ -165,39 +144,48 @@ static void print_extent_info(struct fiemap_extent *fm_extent, int cur_ex, if (fm_extent->fe_flags & FIEMAP_EXTENT_MERGED) strcat(flags, "merged,"); - if (fm_extent->fe_logical + fm_extent->fe_length >= (__u64) st->st_size) + if (fm_extent->fe_logical + fm_extent->fe_length >= filesize) strcat(flags, "eof,"); /* Remove trailing comma, if any */ if (flags[0]) flags[strlen(flags) - 1] = '\0'; - printf(ext_fmt, cur_ex, logical_width, logical_blk, - logical_width, logical_blk + ext_blks, - physical_width, physical_blk, - physical_width, physical_blk + ext_blks, - ext_len, flags); + if (expected) + printf("%4d %*llu %*llu %*llu %6lu %s\n", + cur_ex, logical_width, logical_blk, + physical_width, phy_blk, physical_width, expected, + ext_len, flags); + else + printf("%4d %*llu %*llu %*s %6lu %s\n", + cur_ex, logical_width, logical_blk, + physical_width, phy_blk, physical_width, "", + ext_len, flags); } -static int filefrag_fiemap(int fd, int blk_shift, int *num_extents, - ext2fs_struct_stat *st) +static int filefrag_fiemap(int fd, int blk_shift, int *num_extents) { - char buf[16384]; + char buf[4096] = ""; struct fiemap *fiemap = (struct fiemap *)buf; struct fiemap_extent *fm_ext = &fiemap->fm_extents[0]; int count = (sizeof(buf) - sizeof(*fiemap)) / sizeof(struct fiemap_extent); - unsigned long long expected = 0; + unsigned long long last_blk = 0; unsigned long flags = 0; unsigned int i; static int fiemap_incompat_printed; int fiemap_header_printed = 0; - int tot_extents = 0, n = 0; + int tot_extents = 1, n = 0; int last = 0; int rc; + fiemap->fm_length = ~0ULL; + memset(fiemap, 0, sizeof(struct fiemap)); + if (!verbose) + count = 0; + if (sync_file) flags |= FIEMAP_FLAG_SYNC; @@ -218,133 +206,73 @@ static int filefrag_fiemap(int fd, int blk_shift, int *num_extents, return rc; } - /* If 0 extents are returned, then more ioctls are not needed */ - if (fiemap->fm_mapped_extents == 0) - break; - if (verbose && !fiemap_header_printed) { - print_extent_header(); + printf(" ext %*s %*s %*s length flags\n", logical_width, + "logical", physical_width, "physical", + physical_width, "expected"); fiemap_header_printed = 1; } + if (!verbose) { + *num_extents = fiemap->fm_mapped_extents; + goto out; + } + + /* If 0 extents are returned, then more ioctls are not needed */ + if (fiemap->fm_mapped_extents == 0) + break; + for (i = 0; i < fiemap->fm_mapped_extents; i++) { - if (fm_ext[i].fe_logical != 0 && - fm_ext[i].fe_physical != expected) { + __u64 phy_blk, logical_blk; + unsigned long ext_len; + + phy_blk = fm_ext[i].fe_physical >> blk_shift; + ext_len = fm_ext[i].fe_length >> blk_shift; + logical_blk = fm_ext[i].fe_logical >> blk_shift; + + if (logical_blk && phy_blk != last_blk + 1) tot_extents++; - } else { - expected = 0; - if (!tot_extents) - tot_extents = 1; - } - if (verbose) - print_extent_info(&fm_ext[i], n, expected, - blk_shift, st); + else + last_blk = 0; + print_extent_info(&fm_ext[i], n, last_blk, blk_shift); - expected = fm_ext[i].fe_physical + fm_ext[i].fe_length; + last_blk = phy_blk + ext_len - 1; if (fm_ext[i].fe_flags & FIEMAP_EXTENT_LAST) last = 1; n++; } - fiemap->fm_start = (fm_ext[i - 1].fe_logical + - fm_ext[i - 1].fe_length); + fiemap->fm_start = (fm_ext[i-1].fe_logical + + fm_ext[i-1].fe_length); } while (last == 0); *num_extents = tot_extents; - +out: return 0; } #define EXT2_DIRECT 12 -static int filefrag_fibmap(int fd, int blk_shift, int *num_extents, - ext2fs_struct_stat *st, - unsigned long numblocks, int is_ext2) -{ - struct fiemap_extent fm_ext; - unsigned long i, last_block; - unsigned long long logical; - /* Blocks per indirect block */ - const long bpib = st->st_blksize / 4; - int count; - - if (force_extent) { - memset(&fm_ext, 0, sizeof(fm_ext)); - fm_ext.fe_flags = FIEMAP_EXTENT_MERGED; - } - - if (sync_file) - fsync(fd); - - for (i = 0, logical = 0, *num_extents = 0, count = last_block = 0; - i < numblocks; - i++, logical += st->st_blksize) { - unsigned long block = 0; - int rc; - - if (is_ext2 && last_block) { - if (((i - EXT2_DIRECT) % bpib) == 0) - last_block++; - if (((i - EXT2_DIRECT - bpib) % (bpib * bpib)) == 0) - last_block++; - if (((i - EXT2_DIRECT - bpib - bpib * bpib) % - (((unsigned long long)bpib) * bpib * bpib)) == 0) - last_block++; - } - rc = get_bmap(fd, i, &block); - if (rc < 0) - return rc; - if (block == 0) - continue; - if (*num_extents == 0) { - (*num_extents)++; - if (force_extent) { - print_extent_header(); - fm_ext.fe_physical = block * st->st_blksize; - } - } - count++; - if (force_extent && last_block != 0 && - (block != last_block + 1 || - fm_ext.fe_logical + fm_ext.fe_length != logical)) { - print_extent_info(&fm_ext, *num_extents - 1, - (last_block + 1) * st->st_blksize, - blk_shift, st); - fm_ext.fe_logical = logical; - fm_ext.fe_physical = block * st->st_blksize; - fm_ext.fe_length = 0; - (*num_extents)++; - } else if (verbose && last_block && (block != last_block + 1)) { - printf("Discontinuity: Block %ld is at %lu (was %lu)\n", - i, block, last_block + 1); - (*num_extents)++; - } - fm_ext.fe_length += st->st_blksize; - last_block = block; - } - - if (force_extent) - print_extent_info(&fm_ext, *num_extents - 1, - last_block * st->st_blksize, blk_shift, st); - - return count; -} - static void frag_report(const char *filename) { - static struct statfs fsinfo; - ext2fs_struct_stat st; - int blk_shift; + struct statfs fsinfo; +#ifdef HAVE_FSTAT64 + struct stat64 fileinfo; +#else + struct stat fileinfo; +#endif + int bs; long fd; - unsigned long numblocks; - int data_blocks_per_cyl = 1; - int num_extents = 1, expected = ~0; + unsigned long block, last_block = 0, numblocks, i, count; + long bpib; /* Blocks per indirect block */ + long cylgroups; + int num_extents = 0, expected; int is_ext2 = 0; - static dev_t last_device; + static int once = 1; unsigned int flags; - int width; + int rc; -#if defined(HAVE_OPEN64) && !defined(__OSX_AVAILABLE_BUT_DEPRECATED) +#ifdef HAVE_OPEN64 fd = open64(filename, O_RDONLY); #else fd = open(filename, O_RDONLY); @@ -354,100 +282,101 @@ static void frag_report(const char *filename) return; } -#if defined(HAVE_FSTAT64) && !defined(__OSX_AVAILABLE_BUT_DEPRECATED) - if (fstat64(fd, &st) < 0) { + if (statfs(filename, &fsinfo) < 0) { + perror("statfs"); + return; + } +#ifdef HAVE_FSTAT64 + if (stat64(filename, &fileinfo) < 0) { #else - if (fstat(fd, &st) < 0) { + if (stat(filename, &fileinfo) < 0) { #endif - close(fd); perror("stat"); return; } - - if (last_device != st.st_dev) { - if (fstatfs(fd, &fsinfo) < 0) { - close(fd); - perror("fstatfs"); - return; - } - if (verbose) - printf("Filesystem type is: %lx\n", - (unsigned long) fsinfo.f_type); - } - st.st_blksize = fsinfo.f_bsize; if (ioctl(fd, EXT3_IOC_GETFLAGS, &flags) < 0) flags = 0; if (!(flags & EXT4_EXTENTS_FL) && ((fsinfo.f_type == 0xef51) || (fsinfo.f_type == 0xef52) || (fsinfo.f_type == 0xef53))) is_ext2++; + if (verbose && once) + printf("Filesystem type is: %lx\n", + (unsigned long) fsinfo.f_type); - if (is_ext2) { - long cylgroups = div_ceil(fsinfo.f_blocks, fsinfo.f_bsize * 8); + cylgroups = div_ceil(fsinfo.f_blocks, fsinfo.f_bsize*8); + if (verbose && is_ext2 && once) + printf("Filesystem cylinder groups is approximately %ld\n", + cylgroups); - if (verbose && last_device != st.st_dev) - printf("Filesystem cylinder groups approximately %ld\n", - cylgroups); + physical_width = int_log10(fsinfo.f_blocks); + if (physical_width < 8) + physical_width = 8; - data_blocks_per_cyl = fsinfo.f_bsize * 8 - - (fsinfo.f_files / 8 / cylgroups) - 3; + if (ioctl(fd, FIGETBSZ, &bs) < 0) { /* FIGETBSZ takes an int */ + perror("FIGETBSZ"); + close(fd); + return; } - last_device = st.st_dev; - width = int_log10(fsinfo.f_blocks); - if (width > physical_width) - physical_width = width; - - numblocks = (st.st_size + fsinfo.f_bsize - 1) / fsinfo.f_bsize; - if (blocksize != 0) - blk_shift = int_log2(blocksize); - else - blk_shift = int_log2(fsinfo.f_bsize); + if (no_bs) + bs = 1024; - width = int_log10(numblocks); - if (width > logical_width) - logical_width = width; + bpib = bs / 4; + numblocks = (fileinfo.st_size + (bs-1)) / bs; + logical_width = int_log10(numblocks); + if (logical_width < 7) + logical_width = 7; + filesize = (long long)fileinfo.st_size; if (verbose) - printf("File size of %s is %llu (%lu block%s of %d bytes)\n", - filename, (unsigned long long)st.st_size, - numblocks * fsinfo.f_bsize >> blk_shift, - numblocks == 1 ? "" : "s", 1 << blk_shift); - + printf("File size of %s is %lld (%ld block%s, blocksize %d)\n", + filename, (long long) fileinfo.st_size, numblocks, + numblocks == 1 ? "" : "s", bs); if (force_bmap || - filefrag_fiemap(fd, blk_shift, &num_extents, &st) != 0) { - expected = filefrag_fibmap(fd, blk_shift, &num_extents, - &st, numblocks, is_ext2); - if (expected < 0) { - if (errno == EINVAL || errno == ENOTTY) { - fprintf(stderr, "%s: FIBMAP unsupported\n", - filename); - } else if (errno != EPERM) { - fprintf(stderr, "%s: FIBMAP error: %s", - filename, strerror(errno)); + filefrag_fiemap(fd, int_log2(bs), &num_extents) != 0) { + for (i = 0, count = 0; i < numblocks; i++) { + if (is_ext2 && last_block) { + if (((i-EXT2_DIRECT) % bpib) == 0) + last_block++; + if (((i-EXT2_DIRECT-bpib) % (bpib*bpib)) == 0) + last_block++; + if (((i-EXT2_DIRECT-bpib-bpib*bpib) % + (((__u64) bpib)*bpib*bpib)) == 0) + last_block++; + } + rc = get_bmap(fd, i, &block); + if (block == 0) + continue; + if (!num_extents) + num_extents++; + count++; + if (last_block && (block != last_block+1) ) { + if (verbose) + printf("Discontinuity: Block %ld is at " + "%lu (was %lu)\n", + i, block, last_block+1); + num_extents++; } - goto out_close; + last_block = block; } - expected = expected / data_blocks_per_cyl + 1; } - if (num_extents == 1) printf("%s: 1 extent found", filename); else printf("%s: %d extents found", filename, num_extents); - /* count, and thus expected, only set for indirect FIBMAP'd files */ - if (is_ext2 && expected && expected < num_extents) + expected = (count/((bs*8)-(fsinfo.f_files/8/cylgroups)-3))+1; + if (is_ext2 && expected < num_extents) printf(", perfection would be %d extent%s\n", expected, - (expected > 1) ? "s" : ""); + (expected>1) ? "s" : ""); else fputc('\n', stdout); -out_close: close(fd); + once = 0; } static void usage(const char *progname) { - fprintf(stderr, "Usage: %s [-b{blocksize}] [-BeklsvxX] file ...\n", - progname); + fprintf(stderr, "Usage: %s [-Bbvsx] file ...\n", progname); exit(1); } @@ -456,61 +385,23 @@ int main(int argc, char**argv) char **cpp; int c; - while ((c = getopt(argc, argv, "Bb::eksvxX")) != EOF) + while ((c = getopt(argc, argv, "Bbsvx")) != EOF) switch (c) { case 'B': force_bmap++; break; case 'b': - if (optarg) { - char *end; - blocksize = strtoul(optarg, &end, 0); - if (end) { - switch (end[0]) { - case 'g': - case 'G': - blocksize *= 1024; - /* no break */ - case 'm': - case 'M': - blocksize *= 1024; - /* no break */ - case 'k': - case 'K': - blocksize *= 1024; - break; - default: - break; - } - } - } else { /* Allow -b without argument for compat. Remove - * this eventually so "-b {blocksize}" works */ - fprintf(stderr, "%s: -b needs a blocksize " - "option, assuming 1024-byte blocks.\n", - argv[0]); - blocksize = 1024; - } + no_bs++; break; - case 'e': - force_extent++; - if (!verbose) - verbose++; - break; - case 'k': - blocksize = 1024; + case 'v': + verbose++; break; case 's': sync_file++; break; - case 'v': - verbose++; - break; case 'x': xattr_map++; break; - case 'X': - ext_fmt = hex_fmt; - break; default: usage(argv[0]); break; diff --git a/misc/findsuper.c b/misc/findsuper.c index b03c8aaa..fbc28a37 100644 --- a/misc/findsuper.c +++ b/misc/findsuper.c @@ -92,7 +92,6 @@ #include #include "ext2fs/ext2_fs.h" -#include "ext2fs/ext2fs.h" #include "nls-enable.h" #undef DEBUG @@ -130,7 +129,6 @@ int main(int argc, char *argv[]) setlocale(LC_CTYPE, ""); bindtextdomain(NLS_CAT_NAME, LOCALEDIR); textdomain(NLS_CAT_NAME); - set_com_err_gettext(gettext); #endif while ((c = getopt (argc, argv, "j")) != EOF) { @@ -171,7 +169,7 @@ int main(int argc, char *argv[]) optind++; } if (sk < 0) { - fprintf(stderr, _("startkb should be positive, not %llu\n"),sk); + fprintf(stderr, _("startkb should be positive, not %Lu\n"), sk); exit(1); } @@ -182,7 +180,7 @@ int main(int argc, char *argv[]) } /* Now, go looking for the superblock! */ - printf(_("starting at %llu, with %u byte increments\n"), sk, skiprate); + printf(_("starting at %Lu, with %u byte increments\n"), sk, skiprate); if (print_jnl_copies) printf(_("[*] probably superblock written in the ext3 " "journal superblock,\n\tso start/end/grp wrong\n")); @@ -217,14 +215,12 @@ int main(int argc, char *argv[]) continue; if (ext2.s_log_block_size > 6) WHY("log block size > 6 (%u)\n", ext2.s_log_block_size); - if (ext2fs_r_blocks_count(&ext2) > ext2fs_blocks_count(&ext2)) + if (ext2.s_r_blocks_count > ext2.s_blocks_count) WHY("r_blocks_count > blocks_count (%u > %u)\n", - ext2fs_r_blocks_count(&ext2), - ext2fs_blocks_count(&ext2)); - if (ext2fs_free_blocks_count(&ext2) > ext2fs_blocks_count(&ext2)) + ext2.s_r_blocks_count, ext2.s_blocks_count); + if (ext2.s_free_blocks_count > ext2.s_blocks_count) WHY("free_blocks_count > blocks_count\n (%u > %u)\n", - ext2fs_free_blocks_count(&ext2), - ext2fs_blocks_count(&ext2)); + ext2.s_free_blocks_count, ext2.s_blocks_count); if (ext2.s_free_inodes_count > ext2.s_inodes_count) WHY("free_inodes_count > inodes_count (%u > %u)\n", ext2.s_free_inodes_count, ext2.s_inodes_count); @@ -250,9 +246,9 @@ int main(int argc, char *argv[]) printf("\r%11Lu %11Lu%s %11Lu%s %9u %5Lu %4u%s %s %02x%02x%02x%02x %s\n", sk, sk - ext2.s_block_group_nr * grpsize - sb_offset, jnl_copy ? "*":" ", - sk + ext2fs_blocks_count(&ext2) * bsize - + sk + ext2.s_blocks_count * bsize - ext2.s_block_group_nr * grpsize - sb_offset, - jnl_copy ? "*" : " ", ext2fs_blocks_count(&ext2), bsize, + jnl_copy ? "*" : " ", ext2.s_blocks_count, bsize, ext2.s_block_group_nr, jnl_copy ? "*" : " ", s, ext2.s_uuid[0], ext2.s_uuid[1], ext2.s_uuid[2], ext2.s_uuid[3], ext2.s_volume_name); diff --git a/misc/fsck.c b/misc/fsck.c index 72505d7b..fe9426e0 100644 --- a/misc/fsck.c +++ b/misc/fsck.c @@ -29,6 +29,7 @@ #include #include +#include #include #include #include @@ -96,32 +97,32 @@ static const char *really_wanted[] = { /* * Global variables for options */ -static char *devices[MAX_DEVICES]; -static char *args[MAX_ARGS]; -static int num_devices, num_args; - -static int verbose = 0; -static int doall = 0; -static int noexecute = 0; -static int serialize = 0; -static int skip_root = 0; -static int ignore_mounted = 0; -static int notitle = 0; -static int parallel_root = 0; -static int progress = 0; -static int progress_fd = 0; -static int force_all_parallel = 0; -static int num_running = 0; -static int max_running = 0; -static volatile int cancel_requested = 0; -static int kill_sent = 0; -static char *progname; -static char *fstype = NULL; -static struct fs_info *filesys_info = NULL, *filesys_last = NULL; -static struct fsck_instance *instance_list; -static const char *fsck_prefix_path = "/sbin:/sbin/fs.d:/sbin/fs:/etc/fs:/etc"; -static char *fsck_path = 0; -static blkid_cache cache = NULL; +char *devices[MAX_DEVICES]; +char *args[MAX_ARGS]; +int num_devices, num_args; + +int verbose = 0; +int doall = 0; +int noexecute = 0; +int serialize = 0; +int skip_root = 0; +int ignore_mounted = 0; +int notitle = 0; +int parallel_root = 0; +int progress = 0; +int progress_fd = 0; +int force_all_parallel = 0; +int num_running = 0; +int max_running = 0; +volatile int cancel_requested = 0; +int kill_sent = 0; +char *progname; +char *fstype = NULL; +struct fs_info *filesys_info = NULL, *filesys_last = NULL; +struct fsck_instance *instance_list; +const char *fsck_prefix_path = "/sbin:/sbin/fs.d:/sbin/fs:/etc/fs:/etc"; +char *fsck_path = 0; +blkid_cache cache = NULL; static char *string_copy(const char *s) { @@ -364,8 +365,7 @@ static void load_fs_info(const char *filename) fclose(f); if (old_fstab && filesys_info) { - fputs("\007\007\007", stderr); - fputs(_( + fputs(_("\007\007\007" "WARNING: Your /etc/fstab does not contain the fsck passno\n" " field. I will kludge around things for you, but you\n" " should fix your /etc/fstab file as soon as you can.\n\n"), stderr); @@ -727,7 +727,7 @@ static void fsck_device(struct fs_info *fs, int interactive) /* * Deal with the fsck -t argument. */ -static struct fs_type_compile { +struct fs_type_compile { char **list; int *type; int negate; @@ -1179,8 +1179,8 @@ static void PRS(int argc, char *argv[]) if (progress_fd < 0) progress_fd = 0; else { - ++i; goto next_arg; + i++; } } break; diff --git a/misc/ismounted.c b/misc/ismounted.c index ee662f4f..50b41407 100644 --- a/misc/ismounted.c +++ b/misc/ismounted.c @@ -39,7 +39,6 @@ #include "et/com_err.h" -#ifdef HAVE_SETMNTENT static char *skip_over_blank(char *cp) { while (*cp && isspace(*cp)) @@ -69,7 +68,6 @@ static char *parse_word(char **buf) *buf = next; return word; } -#endif /* * Helper function which checks a file in /etc/mtab format to see if a @@ -79,7 +77,7 @@ static char *parse_word(char **buf) static errcode_t check_mntent_file(const char *mtab_file, const char *file, int *mount_flags) { -#ifdef HAVE_SETMNTENT +#ifdef HAVE_MNTENT_H struct stat st_buf; errcode_t retval = 0; dev_t file_dev=0, file_rdev=0; @@ -179,7 +177,7 @@ static errcode_t check_mntent_file(const char *mtab_file, const char *file, errout: endmntent (f); return retval; -#else /* !HAVE_SETMNTENT */ +#else /* !HAVE_MNTENT_H */ return 0; #endif /* HAVE_MNTENT_H */ } diff --git a/misc/logsave.c b/misc/logsave.c index e85bd6c2..43eb6f71 100644 --- a/misc/logsave.c +++ b/misc/logsave.c @@ -31,17 +31,17 @@ extern char *optarg; extern int optind; #endif -static int outfd = -1; -static int outbufsize = 0; -static void *outbuf = 0; -static int verbose = 0; -static int do_skip = 0; -static int skip_mode = 0; -static pid_t child_pid = -1; +int outfd = -1; +int outbufsize = 0; +void *outbuf = 0; +int verbose = 0; +int do_skip = 0; +int skip_mode = 0; +pid_t child_pid = -1; static void usage(char *progname) { - printf("Usage: %s [-asv] logfile program\n", progname); + printf("Usage: %s [-v] [-d dir] logfile program\n", progname); exit(1); } @@ -189,7 +189,6 @@ static int run_program(char **argv) dup2(fds[1],1); /* fds[1] replaces stdout */ dup2(fds[1],2); /* fds[1] replaces stderr */ close(fds[0]); /* don't need this here */ - close(fds[1]); execvp(argv[0], argv); perror(argv[0]); @@ -326,8 +325,7 @@ int main(int argc, char **argv) write_all(outfd, outbuf, outbufsize); free(outbuf); } - if (outfd >= 0) - close(outfd); + close(outfd); exit(rc); } diff --git a/misc/lsattr.c b/misc/lsattr.c index 43acacef..15b17ad1 100644 --- a/misc/lsattr.c +++ b/misc/lsattr.c @@ -166,7 +166,6 @@ int main (int argc, char ** argv) setlocale(LC_CTYPE, ""); bindtextdomain(NLS_CAT_NAME, LOCALEDIR); textdomain(NLS_CAT_NAME); - set_com_err_gettext(gettext); #endif if (argc && *argv) program_name = *argv; diff --git a/misc/mke2fs-hurd.conf b/misc/mke2fs-hurd.conf deleted file mode 100644 index 4f0527df..00000000 --- a/misc/mke2fs-hurd.conf +++ /dev/null @@ -1,42 +0,0 @@ -[defaults] - base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr - default_mntopts = acl,user_xattr - enable_periodic_fsck = 0 - blocksize = 4096 - inode_size = 128 - inode_ratio = 16384 - -[fs_types] - ext3 = { - features = has_journal - } - ext4 = { - features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize - auto_64-bit_support = 1 - inode_size = 256 - } - small = { - inode_ratio = 4096 - } - floppy = { - inode_ratio = 8192 - } - big = { - inode_ratio = 32768 - } - huge = { - inode_ratio = 65536 - } - news = { - inode_ratio = 4096 - } - largefile = { - inode_ratio = 1048576 - } - largefile4 = { - inode_ratio = 4194304 - } - hurd = { - blocksize = 4096 - inode_size = 128 - } diff --git a/misc/mke2fs.8.in b/misc/mke2fs.8.in index fea50da1..c587d810 100644 --- a/misc/mke2fs.8.in +++ b/misc/mke2fs.8.in @@ -18,9 +18,6 @@ mke2fs \- create an ext2/ext3/ext4 filesystem .I block-size ] [ -.B \-D -] -[ .B \-f .I fragment-size ] @@ -187,21 +184,6 @@ Check the device for bad blocks before creating the file system. If this option is specified twice, then a slower read-write test is used instead of a fast read-only test. .TP -.B \-C " cluster-size" -Specify the size of cluster in bytes for filesystems using the bigalloc -feature. Valid cluster-size values are from 2048 to 256M bytes per -cluster. This can only be specified if the bigalloc feature is -enabled. (See the -.B ext4 (5) -man page for more details about bigalloc.) The default cluster size if -bigalloc is enabled is 16 times the block size. -.TP -.B \-D -Use direct I/O when writing to the disk. This avoids mke2fs dirtying a -lot of buffer cache memory, which may impact other applications running -on a busy server. This option will cause mke2fs to run much more -slowly, however, so there is a tradeoff to using direct I/O. -.TP .BI \-E " extended-options" Set extended options for the filesystem. Extended options are comma separated, and may take an argument using the equals ('=') sign. The @@ -212,20 +194,10 @@ in earlier versions of .BR mke2fs . The .B \-R -option is still accepted for backwards compatibility, but is deprecated. -The following extended options are supported: +option is still accepted for backwards compatibility. The +following extended options are supported: .RS 1.2i .TP -.BI mmp_update_interval= interval -Adjust the initial MMP update interval to -.I interval -seconds. Specifying an -.I interval -of 0 means to use the default interval. The specified interval must -be less than 300 seconds. Requires that the -.B mmp -feature be enabled. -.TP .BI stride= stride-size Configure the filesystem for a RAID array with .I stride-size @@ -237,7 +209,7 @@ This mostly affects placement of filesystem metadata like bitmaps at time to avoid placing them on a single disk, which can hurt performance. It may also be used by the block allocator. .TP -.BI stripe_width= stripe-width +.BI stripe-width= stripe-width Configure the filesystem for a RAID array with .I stripe-width filesystem blocks per stripe. This is typically stride-size * N, where @@ -260,24 +232,7 @@ This speeds up filesystem initialization noticeably, but it requires the kernel to finish initializing the filesystem in the background when the filesystem is first mounted. If the option value is omitted, it defaults to 1 to -enable lazy inode table zeroing. -.TP -.B lazy_journal_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR] -If enabled, the journal inode will not be fully zeroed out by -.BR mke2fs . -This speeds up filesystem initialization noticeably, but carries some -small risk if the system crashes before the journal has been overwritten -entirely one time. If the option value is omitted, it defaults to 1 to -enable lazy journal inode zeroing. -.TP -.BI root_owner [=uid:gid] -Specify the numeric user and group ID of the root directory. If no UID:GID -is specified, use the user and group ID of the user running \fBmke2fs\fR. -In \fBmke2fs\fR 1.42 and earlier the UID and GID of the root directory were -set by default to the UID and GID of the user running the mke2fs command. -The \fBroot_owner=\fR option allows explicitly specifying these values, -and avoid side-effects for users that do not expect the contents of the -filesystem to change based on the user running \fBmke2fs\fR. +enable lazy inode table initialization. .TP .B test_fs Set a flag in the filesystem superblock indicating that it may be @@ -292,14 +247,7 @@ zeroed. This significantly speeds up filesystem initialization. This is set as default. .TP .BI nodiscard -Do not attempt to discard blocks at mkfs time. -@QUOTA_MAN_COMMENT@.TP -@QUOTA_MAN_COMMENT@.BI quotatype -@QUOTA_MAN_COMMENT@Specify which quota type ('usr' or 'grp') is to be -@QUOTA_MAN_COMMENT@initialized. This option has effect only if the -@QUOTA_MAN_COMMENT@.B quota -@QUOTA_MAN_COMMENT@feature is set. Without this extended option, the default -@QUOTA_MAN_COMMENT@behavior is to initialize both user and group quotas. +Do not attempt to discard blocks at mkfs time. This is the default. .RE .TP .BI \-f " fragment-size" @@ -327,10 +275,6 @@ RAID parameter as part of the option rather than manipulating the number of blocks per group.) This option is generally used by developers who are developing test cases. -.IP -If the bigalloc feature is enabled, the -.B \-g -option will specify the number of clusters in a block group. .TP .BI \-G " number-of-groups" Specify the number of block groups that will be packed together to @@ -351,36 +295,26 @@ bytes of space on the disk. The larger the ratio, the fewer inodes will be created. This value generally shouldn't be smaller than the blocksize of the filesystem, since in that case more inodes would be made than can ever be used. Be warned that it is not -possible to change this ratio on a filesystem after it is created, so be -careful deciding the correct value for this parameter. Note that resizing -a filesystem changes the numer of inodes to maintain this ratio. +possible to expand the number +of inodes on a filesystem after it is created, so be careful deciding the +correct value for this parameter. .TP .BI \-I " inode-size" Specify the size of each inode in bytes. -The +.B mke2fs +creates 256-byte inodes by default. 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. The .I inode-size value must be a power of 2 larger or equal to 128. The larger the .I inode-size the more space the inode table will consume, and this reduces the usable 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. -.IP -The default inode size is controlled by the -.BR mke2fs.conf (5) -file. In the -.B mke2fs.conf -file shipped with e2fsprogs, the default inode size is 256 bytes for -most file systems, except for small file systems where the inode size -will be 128 bytes. +filesystems will not be mountable with 2.4 kernels at all. It is not +possible to change this value after the filesystem is created. .TP .B \-j Create the filesystem with an ext3 journal. If the @@ -403,8 +337,7 @@ Create an internal journal (i.e., stored inside the filesystem) of size megabytes. The size of the journal must be at least 1024 filesystem blocks (i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.) -and may be no more than 10,240,000 filesystem blocks or half the total -file system size (whichever is smaller) +and may be no more than 102,400 filesystem blocks. @JDEV@.TP @JDEV@.BI device= external-journal @JDEV@Attach the filesystem to the journal block device located on @@ -544,13 +477,75 @@ section of the configuration file. .sp The filesystem feature set is comprised of a list of features, separated by commas, that are to be enabled. To disable a feature, simply -prefix the feature name with a caret ('^') or a minus ('-') character. -Features with dependencies will not be removed successfully. -The pseudo-filesystem feature "none" will clear all filesystem features. +prefix the feature name with a caret ('^') character. The +pseudo-filesystem feature "none" will clear all filesystem features. +.RS 1.2i +.TP +.B dir_index +Use hashed b-trees to speed up lookups in large directories. +.TP +.B extent +Instead of using the indirect block scheme for storing the location of +data blocks in an inode, use extents instead. This is a much more +efficient encoding which speeds up filesystem access, especially for +large files. .TP -For more information about the features which can be set, please see -the manual page -.BR ext4 (5). +.B filetype +Store file type information in directory entries. +.TP +.B flex_bg +Allow the per-block group metadata (allocation bitmaps and inode tables) +to be placed anywhere on the storage media. In addition, +.B mke2fs +will place the per-block group metadata together starting at the first +block group of each "flex_bg group". The size of the flex_bg group +can be specified using the +.B \-G +option. +.TP +.B has_journal +Create an ext3 journal (as if using the +.B \-j +option). +@JDEV@.TP +@JDEV@.B journal_dev +@JDEV@Create an external ext3 journal on the given device +@JDEV@instead of a regular ext2 filesystem. +@JDEV@Note that +@JDEV@.I external-journal +@JDEV@must be created with the same +@JDEV@block size as the filesystems that will be using it. +.TP +.B large_file +Filesystem can contain files that are greater than 2GB. (Modern kernels +set this feature automatically when a file > 2GB is created.) +.TP +.B resize_inode +Reserve space so the block group descriptor table may grow in the future. +Useful for online resizing using +.BR resize2fs . +By default +.B mke2fs +will attempt to reserve enough space so that the +filesystem may grow to 1024 times its initial size. This can be changed +using the +.B resize +extended option. +.TP +.B sparse_super +Create a filesystem with fewer superblock backup copies +(saves space on large filesystems). +.TP +.B uninit_bg +Create a filesystem without initializing all of the block groups. This +feature also enables checksums and highest-inode-used statistics in each +blockgroup. This feature can +speed up filesystem creation time noticeably (if lazy_itable_init is +enabled), and can also reduce +.BR e2fsck +time dramatically. It is only supported by the ext4 filesystem in +recent Linux kernels. +.RE .TP .B \-q Quiet execution. Useful if @@ -581,19 +576,18 @@ or there is no chance of recovery. .\" using the specified test. .TP .BI \-t " fs-type" -Specify the filesystem type (i.e., ext2, ext3, ext4, etc.) that is -to be created. +Specify the filesystem type (i.e., ext2, ext3, ext4, etc.) that is to be created. If this option is not specified, .B mke2fs will pick a default either via how the command was run (for example, using a name of the form mkfs.ext2, mkfs.ext3, etc.) or via a default as defined by the -.B /etc/mke2fs.conf +.BR /etc/mke2fs.conf (5) file. This option controls which filesystem options are used by default, based on the .B fstypes configuration stanza in -.BR /etc/mke2fs.conf . +.BR /etc/mke2fs.conf (5). .sp If the .B \-O @@ -601,7 +595,7 @@ option is used to explicitly add or remove filesystem options that should be set in the newly created filesystem, the resulting filesystem may not be supported by the requested .IR fs-type . -(e.g., "\fBmke2fs \-t ext3 \-O extent /dev/sdXX\fR" will create a +(e.g., "\fBmke2fs \-t ext3 \-O extents /dev/sdXX\fR" will create a filesystem that is not supported by the ext3 implementation as found in the Linux kernel; and "\fBmke2fs \-t ext3 \-O ^has_journal /dev/hdXX\fR" will create a filesystem that does not have a journal and hence will not @@ -612,7 +606,7 @@ Specify how the filesystem is going to be used, so that .B mke2fs can choose optimal filesystem parameters for that use. The usage types that are supported are defined in the configuration file -.BR /etc/mke2fs.conf . +.BR /etc/mke2fs.conf (5). The user may specify one or more usage types using a comma separated list. .sp @@ -626,17 +620,8 @@ will use the filesystem type If the filesystem size is greater than 3 but less than or equal to 512 megabytes, .BR mke2fs (8) -will use the filesystem type +will use the filesystem .IR small . -If the filesystem size is greater than or equal to 4 terabytes but less than -16 terabytes, -.BR mke2fs (8) -will use the filesystem type -.IR big . -If the filesystem size is greater than or equal to 16 terabytes, -.BR mke2fs (8) -will use the filesystem type -.IR huge . Otherwise, .BR mke2fs (8) will use the default filesystem type @@ -652,29 +637,6 @@ Verbose execution. Print the version number of .B mke2fs and exit. -.SH ENVIRONMENT -.TP -.BI MKE2FS_SYNC -If set to non-zero integer value, its value is used to determine how often -.BR sync (2) -is called during inode table initialization. -.TP -.BI MKE2FS_CONFIG -Determines the location of the configuration file (see -.BR mke2fs.conf (5)). -.TP -.BI MKE2FS_FIRST_META_BG -If set to non-zero integer value, its value is used to determine first meta -block group. This is mostly for debugging purposes. -.TP -.BI MKE2FS_DEVICE_SECTSIZE -If set to non-zero integer value, its value is used to determine physical -sector size of the -.IR device . -.TP -.BI MKE2FS_SKIP_CHECK_MSG -If set, do not show the message of filesystem automatic check caused by -mount count or check interval. .SH AUTHOR This version of .B mke2fs @@ -696,5 +658,4 @@ http://e2fsprogs.sourceforge.net. .BR badblocks (8), .BR dumpe2fs (8), .BR e2fsck (8), -.BR tune2fs (8), -.BR ext4 (5) +.BR tune2fs (8) diff --git a/misc/mke2fs.c b/misc/mke2fs.c index ee73d39e..30bc8240 100644 --- a/misc/mke2fs.c +++ b/misc/mke2fs.c @@ -42,6 +42,9 @@ extern int optind; #ifdef HAVE_ERRNO_H #include #endif +#ifdef HAVE_MNTENT_H +#include +#endif #include #include #include @@ -50,7 +53,6 @@ extern int optind; #include #include "ext2fs/ext2_fs.h" -#include "ext2fs/ext2fsP.h" #include "et/com_err.h" #include "uuid/uuid.h" #include "e2p/e2p.h" @@ -60,12 +62,9 @@ extern int optind; #include "prof_err.h" #include "../version.h" #include "nls-enable.h" -#include "quota/mkquota.h" #define STRIDE_LENGTH 8 -#define MAX_32_NUM ((((unsigned long long) 1) << 32) - 1) - #ifndef __sparc__ #define ZAP_BOOTBLOCK #endif @@ -74,63 +73,56 @@ extern int optind; #define ROOT_SYSCONFDIR "/etc" #endif -#define DISCARD_STEP_MB (2048) - extern int isatty(int); extern FILE *fpopen(const char *cmd, const char *mode); -static const char * program_name = "mke2fs"; -static const char * device_name /* = NULL */; +const char * program_name = "mke2fs"; +const char * device_name /* = NULL */; /* Command line options */ -static int cflag; -static int verbose; -static int quiet; -static int super_only; -static int discard = 1; /* attempt to discard device before fs creation */ -static int direct_io; -static int force; -static int noaction; -static uid_t root_uid; -static gid_t root_gid; +int cflag; +int verbose; +int quiet; +int super_only; +int discard = 1; /* attempt to discard device before fs creation */ +int force; +int noaction; int journal_size; int journal_flags; -static int lazy_itable_init; -static char *bad_blocks_filename = NULL; -static __u32 fs_stride; -static int quotatype = -1; /* Initialize both user and group quotas by default */ - -static struct ext2_super_block fs_param; -static char *fs_uuid = NULL; -static char *creator_os; -static char *volume_label; -static char *mount_dir; +int lazy_itable_init; +char *bad_blocks_filename; +__u32 fs_stride; + +struct ext2_super_block fs_param; +char *fs_uuid = NULL; +char *creator_os; +char *volume_label; +char *mount_dir; char *journal_device; -static int sync_kludge; /* Set using the MKE2FS_SYNC env. option */ -static char **fs_types; +int sync_kludge; /* Set using the MKE2FS_SYNC env. option */ +char **fs_types; -static profile_t profile; +profile_t profile; -static int sys_page_size = 4096; -static int linux_version_code = 0; +int sys_page_size = 4096; +int linux_version_code = 0; static void usage(void) { fprintf(stderr, _("Usage: %s [-c|-l filename] [-b block-size] " - "[-C cluster-size]\n\t[-i bytes-per-inode] [-I inode-size] " + "[-f fragment-size]\n\t[-i bytes-per-inode] [-I inode-size] " "[-J journal-options]\n" - "\t[-G flex-group-size] [-N number-of-inodes]\n" + "\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] " "[-M last-mounted-directory]\n\t[-O feature[,...]] " "[-r fs-revision] [-E extended-option[,...]]\n" - "\t[-t fs-type] [-T usage-type ] [-U UUID] " - "[-jnqvDFKSV] device [blocks-count]\n"), + "\t[-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]\n"), program_name); exit(1); } -static int int_log2(unsigned long long arg) +static int int_log2(int arg) { int l = 0; @@ -142,7 +134,7 @@ static int int_log2(unsigned long long arg) return l; } -static int int_log10(unsigned long long arg) +static int int_log10(unsigned int arg) { int l; @@ -151,7 +143,6 @@ static int int_log10(unsigned long long arg) return l; } -#ifdef __linux__ static int parse_version_number(const char *s) { int major, minor, rev; @@ -173,7 +164,6 @@ static int parse_version_number(const char *s) return 0; return ((((major * 256) + minor) * 256) + rev); } -#endif /* * Helper function for read_bb_file and test_disk @@ -202,7 +192,7 @@ static void read_bb_file(ext2_filsys fs, badblocks_list *bb_list, retval = ext2fs_read_bb_FILE(fs, f, bb_list, invalid_block); fclose (f); if (retval) { - com_err("ext2fs_read_bb_FILE", retval, "%s", + com_err("ext2fs_read_bb_FILE", retval, _("while reading in list of bad blocks from file")); exit(1); } @@ -217,9 +207,9 @@ static void test_disk(ext2_filsys fs, badblocks_list *bb_list) errcode_t retval; char buf[1024]; - sprintf(buf, "badblocks -b %d -X %s%s%s %llu", fs->blocksize, + sprintf(buf, "badblocks -b %d -X %s%s%s %u", fs->blocksize, quiet ? "" : "-s ", (cflag > 1) ? "-w " : "", - fs->device_name, ext2fs_blocks_count(fs->super)-1); + fs->device_name, fs->super->s_blocks_count-1); if (verbose) printf(_("Running command: %s\n"), buf); f = popen(buf, "r"); @@ -231,7 +221,7 @@ static void test_disk(ext2_filsys fs, badblocks_list *bb_list) retval = ext2fs_read_bb_FILE(fs, f, bb_list, invalid_block); pclose(f); if (retval) { - com_err("ext2fs_read_bb_FILE", retval, "%s", + com_err("ext2fs_read_bb_FILE", retval, _("while processing list of bad blocks from program")); exit(1); } @@ -288,10 +278,10 @@ _("Warning: the backup superblock/group descriptors at block %u contain\n" " bad blocks.\n\n"), group_block); group_bad++; - group = ext2fs_group_of_blk2(fs, group_block+j); - ext2fs_bg_free_blocks_count_set(fs, group, ext2fs_bg_free_blocks_count(fs, group) + 1); + group = ext2fs_group_of_blk(fs, group_block+j); + fs->group_desc[group].bg_free_blocks_count++; ext2fs_group_desc_csum_set(fs, group); - ext2fs_free_blocks_count_add(fs->super, 1); + fs->super->s_free_blocks_count++; } } group_block += fs->super->s_blocks_per_group; @@ -302,47 +292,105 @@ _("Warning: the backup superblock/group descriptors at block %u contain\n" */ retval = ext2fs_badblocks_list_iterate_begin(bb_list, &bb_iter); if (retval) { - com_err("ext2fs_badblocks_list_iterate_begin", retval, "%s", + com_err("ext2fs_badblocks_list_iterate_begin", retval, _("while marking bad blocks as used")); exit(1); } while (ext2fs_badblocks_list_iterate(bb_iter, &blk)) - ext2fs_mark_block_bitmap2(fs->block_map, EXT2FS_B2C(fs, blk)); + ext2fs_mark_block_bitmap(fs->block_map, blk); ext2fs_badblocks_list_iterate_end(bb_iter); } +/* + * These functions implement a generalized progress meter. + */ +struct progress_struct { + char format[20]; + char backup[80]; + __u32 max; + int skip_progress; +}; + +static void progress_init(struct progress_struct *progress, + const char *label,__u32 max) +{ + int i; + + memset(progress, 0, sizeof(struct progress_struct)); + if (quiet) + return; + + /* + * Figure out how many digits we need + */ + i = int_log10(max); + sprintf(progress->format, "%%%dd/%%%dld", i, i); + memset(progress->backup, '\b', sizeof(progress->backup)-1); + progress->backup[sizeof(progress->backup)-1] = 0; + if ((2*i)+1 < (int) sizeof(progress->backup)) + progress->backup[(2*i)+1] = 0; + progress->max = max; + + progress->skip_progress = 0; + if (getenv("MKE2FS_SKIP_PROGRESS")) + progress->skip_progress++; + + fputs(label, stdout); + fflush(stdout); +} + +static void progress_update(struct progress_struct *progress, __u32 val) +{ + if ((progress->format[0] == 0) || progress->skip_progress) + return; + printf(progress->format, val, progress->max); + fputs(progress->backup, stdout); +} + +static void progress_close(struct progress_struct *progress) +{ + if (progress->format[0] == 0) + return; + fputs(_("done \n"), stdout); +} + static void write_inode_tables(ext2_filsys fs, int lazy_flag, int itable_zeroed) { errcode_t retval; - blk64_t blk; + blk_t blk; dgrp_t i; - int num; - struct ext2fs_numeric_progress_struct progress; + int num, ipb; + struct progress_struct progress; - ext2fs_numeric_progress_init(fs, &progress, - _("Writing inode tables: "), - fs->group_desc_count); + if (quiet) + memset(&progress, 0, sizeof(progress)); + else + progress_init(&progress, _("Writing inode tables: "), + fs->group_desc_count); for (i = 0; i < fs->group_desc_count; i++) { - ext2fs_numeric_progress_update(fs, &progress, i); + progress_update(&progress, i); - blk = ext2fs_inode_table_loc(fs, i); + blk = fs->group_desc[i].bg_inode_table; num = fs->inode_blocks_per_group; - if (lazy_flag) - num = ext2fs_div_ceil((fs->super->s_inodes_per_group - - ext2fs_bg_itable_unused(fs, i)) * - EXT2_INODE_SIZE(fs->super), - EXT2_BLOCK_SIZE(fs->super)); + if (lazy_flag) { + ipb = fs->blocksize / EXT2_INODE_SIZE(fs->super); + num = ((((fs->super->s_inodes_per_group - + fs->group_desc[i].bg_itable_unused) * + EXT2_INODE_SIZE(fs->super)) + + EXT2_BLOCK_SIZE(fs->super) - 1) / + EXT2_BLOCK_SIZE(fs->super)); + } if (!lazy_flag || itable_zeroed) { /* The kernel doesn't need to zero the itable blocks */ - ext2fs_bg_flags_set(fs, i, EXT2_BG_INODE_ZEROED); + fs->group_desc[i].bg_flags |= EXT2_BG_INODE_ZEROED; ext2fs_group_desc_csum_set(fs, i); } - retval = ext2fs_zero_blocks2(fs, blk, num, &blk, &num); + retval = ext2fs_zero_blocks(fs, blk, num, &blk, &num); if (retval) { fprintf(stderr, _("\nCould not write %d " - "blocks in inode table starting at %llu: %s\n"), + "blocks in inode table starting at %u: %s\n"), num, blk, error_message(retval)); exit(1); } @@ -353,38 +401,39 @@ static void write_inode_tables(ext2_filsys fs, int lazy_flag, int itable_zeroed) sync(); } } - ext2fs_zero_blocks2(0, 0, 0, 0, 0); - ext2fs_numeric_progress_close(fs, &progress, - _("done \n")); + ext2fs_zero_blocks(0, 0, 0, 0, 0); + progress_close(&progress); } static void create_root_dir(ext2_filsys fs) { errcode_t retval; struct ext2_inode inode; + __u32 uid, gid; retval = ext2fs_mkdir(fs, EXT2_ROOT_INO, EXT2_ROOT_INO, 0); if (retval) { - com_err("ext2fs_mkdir", retval, "%s", - _("while creating root dir")); + com_err("ext2fs_mkdir", retval, _("while creating root dir")); exit(1); } - if (root_uid != 0 || root_gid != 0) { + if (geteuid()) { retval = ext2fs_read_inode(fs, EXT2_ROOT_INO, &inode); if (retval) { - com_err("ext2fs_read_inode", retval, "%s", + com_err("ext2fs_read_inode", retval, _("while reading root inode")); exit(1); } - - inode.i_uid = root_uid; - ext2fs_set_i_uid_high(inode, root_uid >> 16); - inode.i_gid = root_gid; - ext2fs_set_i_gid_high(inode, root_gid >> 16); - + uid = getuid(); + inode.i_uid = uid; + ext2fs_set_i_uid_high(inode, uid >> 16); + if (uid) { + gid = getgid(); + inode.i_gid = gid; + ext2fs_set_i_gid_high(inode, gid >> 16); + } retval = ext2fs_write_new_inode(fs, EXT2_ROOT_INO, &inode); if (retval) { - com_err("ext2fs_write_inode", retval, "%s", + com_err("ext2fs_write_inode", retval, _("while setting root inode ownership")); exit(1); } @@ -402,14 +451,14 @@ static void create_lost_and_found(ext2_filsys fs) fs->umask = 077; retval = ext2fs_mkdir(fs, EXT2_ROOT_INO, 0, name); if (retval) { - com_err("ext2fs_mkdir", retval, "%s", + com_err("ext2fs_mkdir", retval, _("while creating /lost+found")); exit(1); } retval = ext2fs_lookup(fs, EXT2_ROOT_INO, name, strlen(name), 0, &ino); if (retval) { - com_err("ext2_lookup", retval, "%s", + com_err("ext2_lookup", retval, _("while looking up /lost+found")); exit(1); } @@ -422,7 +471,7 @@ static void create_lost_and_found(ext2_filsys fs) break; retval = ext2fs_expand_dir(fs, ino); if (retval) { - com_err("ext2fs_expand_dir", retval, "%s", + com_err("ext2fs_expand_dir", retval, _("while expanding /lost+found")); exit(1); } @@ -433,11 +482,11 @@ static void create_bad_block_inode(ext2_filsys fs, badblocks_list bb_list) { errcode_t retval; - ext2fs_mark_inode_bitmap2(fs->inode_map, EXT2_BAD_INO); + ext2fs_mark_inode_bitmap(fs->inode_map, EXT2_BAD_INO); ext2fs_inode_alloc_stats2(fs, EXT2_BAD_INO, +1, 0); retval = ext2fs_update_bb_inode(fs, bb_list); if (retval) { - com_err("ext2fs_update_bb_inode", retval, "%s", + com_err("ext2fs_update_bb_inode", retval, _("while setting bad block inode")); exit(1); } @@ -472,7 +521,7 @@ static void zap_sector(ext2_filsys fs, int sect, int nsect) if (sect == 0) { /* Check for a BSD disklabel, and don't erase it if so */ - retval = io_channel_read_blk64(fs->io, 0, -512, buf); + retval = io_channel_read_blk(fs->io, 0, -512, buf); if (retval) fprintf(stderr, _("Warning: could not read block 0: %s\n"), @@ -487,7 +536,7 @@ static void zap_sector(ext2_filsys fs, int sect, int nsect) memset(buf, 0, 512*nsect); io_channel_set_blksize(fs->io, 512); - retval = io_channel_write_blk64(fs->io, sect, -512*nsect, buf); + retval = io_channel_write_blk(fs->io, sect, -512*nsect, buf); io_channel_set_blksize(fs->io, fs->blocksize); free(buf); if (retval) @@ -497,57 +546,55 @@ static void zap_sector(ext2_filsys fs, int sect, int nsect) static void create_journal_dev(ext2_filsys fs) { - struct ext2fs_numeric_progress_struct progress; + struct progress_struct progress; errcode_t retval; char *buf; - blk64_t blk, err_blk; + blk_t blk, err_blk; int c, count, err_count; retval = ext2fs_create_journal_superblock(fs, - ext2fs_blocks_count(fs->super), 0, &buf); + fs->super->s_blocks_count, 0, &buf); if (retval) { - com_err("create_journal_dev", retval, "%s", + com_err("create_journal_dev", retval, _("while initializing journal superblock")); exit(1); } + if (quiet) + memset(&progress, 0, sizeof(progress)); + else + progress_init(&progress, _("Zeroing journal device: "), + fs->super->s_blocks_count); - if (journal_flags & EXT2_MKJOURNAL_LAZYINIT) - goto write_superblock; - - ext2fs_numeric_progress_init(fs, &progress, - _("Zeroing journal device: "), - ext2fs_blocks_count(fs->super)); blk = 0; - count = ext2fs_blocks_count(fs->super); + count = fs->super->s_blocks_count; while (count > 0) { if (count > 1024) c = 1024; else c = count; - retval = ext2fs_zero_blocks2(fs, blk, c, &err_blk, &err_count); + retval = ext2fs_zero_blocks(fs, blk, c, &err_blk, &err_count); if (retval) { com_err("create_journal_dev", retval, _("while zeroing journal device " - "(block %llu, count %d)"), + "(block %u, count %d)"), err_blk, err_count); exit(1); } blk += c; count -= c; - ext2fs_numeric_progress_update(fs, &progress, blk); + progress_update(&progress, blk); } - ext2fs_zero_blocks2(0, 0, 0, 0, 0); + ext2fs_zero_blocks(0, 0, 0, 0, 0); - ext2fs_numeric_progress_close(fs, &progress, NULL); -write_superblock: - retval = io_channel_write_blk64(fs->io, - fs->super->s_first_data_block+1, - 1, buf); + retval = io_channel_write_blk(fs->io, + fs->super->s_first_data_block+1, + 1, buf); if (retval) { - com_err("create_journal_dev", retval, "%s", + com_err("create_journal_dev", retval, _("while writing journal superblock")); exit(1); } + progress_close(&progress); } static void show_stats(ext2_filsys fs) @@ -555,41 +602,34 @@ static void show_stats(ext2_filsys fs) struct ext2_super_block *s = fs->super; char buf[80]; char *os; - blk64_t group_block; + blk_t group_block; dgrp_t i; int need, col_left; - if (ext2fs_blocks_count(&fs_param) != ext2fs_blocks_count(s)) - fprintf(stderr, _("warning: %llu blocks unused.\n\n"), - ext2fs_blocks_count(&fs_param) - ext2fs_blocks_count(s)); + if (fs_param.s_blocks_count != s->s_blocks_count) + fprintf(stderr, _("warning: %u blocks unused.\n\n"), + fs_param.s_blocks_count - s->s_blocks_count); memset(buf, 0, sizeof(buf)); strncpy(buf, s->s_volume_name, sizeof(s->s_volume_name)); printf(_("Filesystem label=%s\n"), buf); - os = e2p_os2string(fs->super->s_creator_os); - if (os) - printf(_("OS type: %s\n"), os); + fputs(_("OS type: "), stdout); + os = e2p_os2string(fs->super->s_creator_os); + fputs(os, stdout); free(os); + printf("\n"); printf(_("Block size=%u (log=%u)\n"), fs->blocksize, s->s_log_block_size); - if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_BIGALLOC)) - printf(_("Cluster size=%u (log=%u)\n"), - fs->blocksize << fs->cluster_ratio_bits, - s->s_log_cluster_size); - else - printf(_("Fragment size=%u (log=%u)\n"), EXT2_CLUSTER_SIZE(s), - s->s_log_cluster_size); + printf(_("Fragment size=%u (log=%u)\n"), fs->fragsize, + s->s_log_frag_size); printf(_("Stride=%u blocks, Stripe width=%u blocks\n"), s->s_raid_stride, s->s_raid_stripe_width); - printf(_("%u inodes, %llu blocks\n"), s->s_inodes_count, - ext2fs_blocks_count(s)); - printf(_("%llu blocks (%2.2f%%) reserved for the super user\n"), - ext2fs_r_blocks_count(s), - 100.0 * ext2fs_r_blocks_count(s) / ext2fs_blocks_count(s)); + printf(_("%u inodes, %u blocks\n"), s->s_inodes_count, + s->s_blocks_count); + printf(_("%u blocks (%2.2f%%) reserved for the super user\n"), + s->s_r_blocks_count, + 100.0 * s->s_r_blocks_count / s->s_blocks_count); printf(_("First data block=%u\n"), s->s_first_data_block); - if (root_uid != 0 || root_gid != 0) - printf(_("Root directory owner=%u:%u\n"), root_uid, root_gid); if (s->s_reserved_gdt_blocks) printf(_("Maximum filesystem blocks=%lu\n"), (s->s_reserved_gdt_blocks + fs->desc_blocks) * @@ -598,13 +638,8 @@ static void show_stats(ext2_filsys fs) printf(_("%u block groups\n"), fs->group_desc_count); else printf(_("%u block group\n"), fs->group_desc_count); - if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_BIGALLOC)) - printf(_("%u blocks per group, %u clusters per group\n"), - s->s_blocks_per_group, s->s_clusters_per_group); - else - printf(_("%u blocks per group, %u fragments per group\n"), - s->s_blocks_per_group, s->s_clusters_per_group); + printf(_("%u blocks per group, %u fragments per group\n"), + s->s_blocks_per_group, s->s_frags_per_group); printf(_("%u inodes per group\n"), s->s_inodes_per_group); if (fs->group_desc_count == 1) { @@ -612,7 +647,7 @@ static void show_stats(ext2_filsys fs) return; } - printf("%s", _("Superblock backups stored on blocks: ")); + printf(_("Superblock backups stored on blocks: ")); group_block = s->s_first_data_block; col_left = 0; for (i = 1; i < fs->group_desc_count; i++) { @@ -627,7 +662,7 @@ static void show_stats(ext2_filsys fs) col_left = 72; } col_left -= need; - printf("%llu", group_block); + printf("%u", group_block); } printf("\n\n"); } @@ -665,7 +700,7 @@ static void parse_extended_opts(struct ext2_super_block *param, len = strlen(opts); buf = malloc(len+1); if (!buf) { - fprintf(stderr, "%s", + fprintf(stderr, _("Couldn't allocate memory to parse options!\n")); exit(1); } @@ -682,59 +717,14 @@ static void parse_extended_opts(struct ext2_super_block *param, *arg = 0; arg++; } - if (strcmp(token, "desc-size") == 0 || - strcmp(token, "desc_size") == 0) { - int desc_size; - - if (!(fs_param.s_feature_incompat & - EXT4_FEATURE_INCOMPAT_64BIT)) { - fprintf(stderr, - _("%s requires '-O 64bit'\n"), token); - r_usage++; - continue; - } - if (param->s_reserved_gdt_blocks != 0) { - fprintf(stderr, - _("'%s' must be before 'resize=%u'\n"), - token, param->s_reserved_gdt_blocks); - r_usage++; - continue; - } - if (!arg) { - r_usage++; - badopt = token; - continue; - } - desc_size = strtoul(arg, &p, 0); - if (*p || (desc_size & (desc_size - 1))) { - fprintf(stderr, - _("Invalid desc_size: '%s'\n"), arg); - r_usage++; - continue; - } - param->s_desc_size = desc_size; - } else if (strcmp(token, "mmp_update_interval") == 0) { - if (!arg) { - r_usage++; - badopt = token; - continue; - } - param->s_mmp_update_interval = strtoul(arg, &p, 0); - if (*p) { - fprintf(stderr, - _("Invalid mmp_update_interval: %s\n"), - arg); - r_usage++; - continue; - } - } else if (strcmp(token, "stride") == 0) { + if (strcmp(token, "stride") == 0) { if (!arg) { r_usage++; badopt = token; continue; } param->s_raid_stride = strtoul(arg, &p, 0); - if (*p) { + if (*p || (param->s_raid_stride == 0)) { fprintf(stderr, _("Invalid stride parameter: %s\n"), arg); @@ -749,7 +739,7 @@ static void parse_extended_opts(struct ext2_super_block *param, continue; } param->s_raid_stripe_width = strtoul(arg, &p, 0); - if (*p) { + if (*p || (param->s_raid_stripe_width == 0)) { fprintf(stderr, _("Invalid stripe-width parameter: %s\n"), arg); @@ -757,8 +747,7 @@ static void parse_extended_opts(struct ext2_super_block *param, continue; } } else if (!strcmp(token, "resize")) { - blk64_t resize; - unsigned long bpg, rsv_groups; + unsigned long resize, bpg, rsv_groups; unsigned long group_desc_count, desc_blocks; unsigned int gdpb, blocksize; int rsv_gdb; @@ -769,8 +758,8 @@ static void parse_extended_opts(struct ext2_super_block *param, continue; } - resize = parse_num_blocks2(arg, - param->s_log_block_size); + resize = parse_num_blocks(arg, + param->s_log_block_size); if (resize == 0) { fprintf(stderr, @@ -779,8 +768,8 @@ static void parse_extended_opts(struct ext2_super_block *param, r_usage++; continue; } - if (resize <= ext2fs_blocks_count(param)) { - fprintf(stderr, "%s", + if (resize <= param->s_blocks_count) { + fprintf(stderr, _("The resize maximum must be greater " "than the filesystem size.\n")); r_usage++; @@ -792,11 +781,11 @@ static void parse_extended_opts(struct ext2_super_block *param, if (!bpg) bpg = blocksize * 8; gdpb = EXT2_DESC_PER_BLOCK(param); - group_desc_count = (__u32) ext2fs_div64_ceil( - ext2fs_blocks_count(param), bpg); + group_desc_count = + ext2fs_div_ceil(param->s_blocks_count, bpg); desc_blocks = (group_desc_count + gdpb - 1) / gdpb; - rsv_groups = ext2fs_div64_ceil(resize, bpg); + rsv_groups = ext2fs_div_ceil(resize, bpg); rsv_gdb = ext2fs_div_ceil(rsv_groups, gdpb) - desc_blocks; if (rsv_gdb > (int) EXT2_ADDR_PER_BLOCK(param)) @@ -804,7 +793,7 @@ static void parse_extended_opts(struct ext2_super_block *param, if (rsv_gdb > 0) { if (param->s_rev_level == EXT2_GOOD_OLD_REV) { - fprintf(stderr, "%s", + fprintf(stderr, _("On-line resizing not supported with revision 0 filesystems\n")); free(buf); exit(1); @@ -821,56 +810,10 @@ static void parse_extended_opts(struct ext2_super_block *param, lazy_itable_init = strtoul(arg, &p, 0); else lazy_itable_init = 1; - } else if (!strcmp(token, "lazy_journal_init")) { - if (arg) - journal_flags |= strtoul(arg, &p, 0) ? - EXT2_MKJOURNAL_LAZYINIT : 0; - else - journal_flags |= EXT2_MKJOURNAL_LAZYINIT; - } else if (!strcmp(token, "root_owner")) { - if (arg) { - root_uid = strtoul(arg, &p, 0); - if (*p != ':') { - fprintf(stderr, - _("Invalid root_owner: '%s'\n"), - arg); - r_usage++; - continue; - } - p++; - root_gid = strtoul(p, &p, 0); - if (*p) { - fprintf(stderr, - _("Invalid root_owner: '%s'\n"), - arg); - r_usage++; - continue; - } - } else { - root_uid = getuid(); - root_gid = getgid(); - } } else if (!strcmp(token, "discard")) { discard = 1; } else if (!strcmp(token, "nodiscard")) { discard = 0; - } else if (!strcmp(token, "quotatype")) { - if (!arg) { - r_usage++; - badopt = token; - continue; - } - if (!strncmp(arg, "usr", 3)) { - quotatype = 0; - } else if (!strncmp(arg, "grp", 3)) { - quotatype = 1; - } else { - fprintf(stderr, - _("Invalid quotatype parameter: %s\n"), - arg); - r_usage++; - continue; - } } else { r_usage++; badopt = token; @@ -886,13 +829,9 @@ static void parse_extended_opts(struct ext2_super_block *param, "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" - "\tlazy_journal_init=<0 to disable, 1 to enable>\n" - "\troot_uid=\n" - "\troot_gid=\n" "\ttest_fs\n" "\tdiscard\n" - "\tnodiscard\n" - "\tquotatype=\n\n"), + "\tnodiscard\n\n"), badopt ? badopt : ""); free(buf); exit(1); @@ -917,21 +856,14 @@ static __u32 ok_features[3] = { EXT3_FEATURE_INCOMPAT_EXTENTS| EXT3_FEATURE_INCOMPAT_JOURNAL_DEV| EXT2_FEATURE_INCOMPAT_META_BG| - EXT4_FEATURE_INCOMPAT_FLEX_BG| - EXT4_FEATURE_INCOMPAT_MMP | - EXT4_FEATURE_INCOMPAT_64BIT, + EXT4_FEATURE_INCOMPAT_FLEX_BG, /* R/O compat */ EXT2_FEATURE_RO_COMPAT_LARGE_FILE| EXT4_FEATURE_RO_COMPAT_HUGE_FILE| EXT4_FEATURE_RO_COMPAT_DIR_NLINK| EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE| EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| - EXT4_FEATURE_RO_COMPAT_GDT_CSUM| - EXT4_FEATURE_RO_COMPAT_BIGALLOC| -#ifdef CONFIG_QUOTA - EXT4_FEATURE_RO_COMPAT_QUOTA| -#endif - 0 + EXT4_FEATURE_RO_COMPAT_GDT_CSUM }; @@ -957,18 +889,6 @@ static void edit_feature(const char *str, __u32 *compat_array) } } -static void edit_mntopts(const char *str, __u32 *mntopts) -{ - if (!str) - return; - - if (e2p_edit_mntopts(str, mntopts, ~0)) { - fprintf(stderr, _("Invalid mount option set: %s\n"), - str); - exit(1); - } -} - struct str_list { char **list; int num; @@ -1021,7 +941,7 @@ static void print_str_list(char **list) /* * Return TRUE if the profile has the given subsection */ -static int profile_has_subsection(profile_t prof, const char *section, +static int profile_has_subsection(profile_t profile, const char *section, const char *subsection) { void *state; @@ -1033,7 +953,7 @@ static int profile_has_subsection(profile_t prof, const char *section, names[1] = subsection; names[2] = 0; - if (profile_iterator_create(prof, names, + if (profile_iterator_create(profile, names, PROFILE_ITER_LIST_SECTION | PROFILE_ITER_RELATIONS_ONLY, &state)) return 0; @@ -1049,8 +969,7 @@ static int profile_has_subsection(profile_t prof, const char *section, static char **parse_fs_type(const char *fs_type, const char *usage_types, - struct ext2_super_block *sb, - blk64_t fs_blocks_count, + struct ext2_super_block *fs_param, char *progname) { const char *ext_type = 0; @@ -1059,7 +978,7 @@ static char **parse_fs_type(const char *fs_type, char *cp, *t; const char *size_type; struct str_list list; - unsigned long long meg; + unsigned long meg; int is_hurd = 0; if (init_list(&list)) @@ -1075,8 +994,6 @@ static char **parse_fs_type(const char *fs_type, ext_type = "ext2"; else if (!strcmp(program_name, "mke3fs")) ext_type = "ext3"; - else if (!strcmp(program_name, "mke4fs")) - ext_type = "ext4"; else if (progname) { ext_type = strrchr(progname, '/'); if (ext_type) @@ -1107,37 +1024,35 @@ static char **parse_fs_type(const char *fs_type, "%s filesystem type.\n"), ext_type); if (!strcmp(ext_type, "ext3") || !strcmp(ext_type, "ext4") || !strcmp(ext_type, "ext4dev")) { - printf("%s", _("You probably need to install an " - "updated mke2fs.conf file.\n\n")); + printf(_("You probably need to install an updated " + "mke2fs.conf file.\n\n")); } if (!force) { - printf("%s", _("Aborting...\n")); + printf(_("Aborting...\n")); exit(1); } } - meg = (1024 * 1024) / EXT2_BLOCK_SIZE(sb); - if (fs_blocks_count < 3 * meg) + meg = (1024 * 1024) / EXT2_BLOCK_SIZE(fs_param); + if (fs_param->s_blocks_count < 3 * meg) size_type = "floppy"; - else if (fs_blocks_count < 512 * meg) + else if (fs_param->s_blocks_count < 512 * meg) size_type = "small"; - else if (fs_blocks_count < 4 * 1024 * 1024 * meg) - size_type = "default"; - else if (fs_blocks_count < 16 * 1024 * 1024 * meg) - size_type = "big"; else - size_type = "huge"; + size_type = "default"; if (!usage_types) usage_types = size_type; - parse_str = malloc(strlen(usage_types)+1); + parse_str = malloc(usage_types ? strlen(usage_types)+1 : 1); if (!parse_str) { - free(profile_type); free(list.list); return 0; } - strcpy(parse_str, usage_types); + if (usage_types) + strcpy(parse_str, usage_types); + else + *parse_str = '\0'; if (ext_type) push_string(&list, ext_type); @@ -1158,8 +1073,10 @@ static char **parse_fs_type(const char *fs_type, } if (t) cp = t+1; - else + else { + cp = ""; break; + } } free(parse_str); free(profile_type); @@ -1168,15 +1085,15 @@ static char **parse_fs_type(const char *fs_type, return (list.list); } -static char *get_string_from_profile(char **types, const char *opt, +static char *get_string_from_profile(char **fs_types, const char *opt, const char *def_val) { char *ret = 0; int i; - for (i=0; types[i]; i++); + for (i=0; fs_types[i]; i++); for (i-=1; i >=0 ; i--) { - profile_get_string(profile, "fs_types", types[i], + profile_get_string(profile, "fs_types", fs_types[i], opt, 0, &ret); if (ret) return ret; @@ -1185,36 +1102,24 @@ static char *get_string_from_profile(char **types, const char *opt, return (ret); } -static int get_int_from_profile(char **types, const char *opt, int def_val) +static int get_int_from_profile(char **fs_types, const char *opt, int def_val) { int ret; char **cpp; profile_get_integer(profile, "defaults", opt, 0, def_val, &ret); - for (cpp = types; *cpp; cpp++) + for (cpp = fs_types; *cpp; cpp++) profile_get_integer(profile, "fs_types", *cpp, opt, ret, &ret); return ret; } -static double get_double_from_profile(char **types, const char *opt, - double def_val) -{ - double ret; - char **cpp; - - profile_get_double(profile, "defaults", opt, 0, def_val, &ret); - for (cpp = types; *cpp; cpp++) - profile_get_double(profile, "fs_types", *cpp, opt, ret, &ret); - return ret; -} - -static int get_bool_from_profile(char **types, const char *opt, int def_val) +static int get_bool_from_profile(char **fs_types, const char *opt, int def_val) { int ret; char **cpp; profile_get_boolean(profile, "defaults", opt, 0, def_val, &ret); - for (cpp = types; *cpp; cpp++) + for (cpp = fs_types; *cpp; cpp++) profile_get_boolean(profile, "fs_types", *cpp, opt, ret, &ret); return ret; } @@ -1261,11 +1166,8 @@ static int get_device_geometry(const char *file, if ((opt_io == 0) && (psector_size > blocksize)) opt_io = psector_size; - /* setting stripe/stride to blocksize is pointless */ - if (min_io > blocksize) - fs_param->s_raid_stride = min_io / blocksize; - if (opt_io > blocksize) - fs_param->s_raid_stripe_width = opt_io / blocksize; + fs_param->s_raid_stride = min_io / blocksize; + fs_param->s_raid_stripe_width = opt_io / blocksize; rc = blkid_topology_get_alignment_offset(tp); out: @@ -1277,38 +1179,22 @@ out: static void PRS(int argc, char *argv[]) { int b, c; - int cluster_size = 0; + int size; char *tmp, **cpp; int blocksize = 0; int inode_ratio = 0; int inode_size = 0; unsigned long flex_bg_size = 0; - double reserved_ratio = -1.0; + double reserved_ratio = 5.0; int lsector_size = 0, psector_size = 0; int show_version_only = 0; unsigned long long num_inodes = 0; /* unsigned long long to catch too-large input */ errcode_t retval; char * oldpath = getenv("PATH"); char * extended_opts = 0; - char * fs_type = 0; - char * usage_types = 0; - blk64_t dev_size; - /* - * NOTE: A few words about fs_blocks_count and blocksize: - * - * Initially, blocksize is set to zero, which implies 1024. - * If -b is specified, blocksize is updated to the user's value. - * - * Next, the device size or the user's "blocks" command line argument - * is used to set fs_blocks_count; the units are blocksize. - * - * Later, if blocksize hasn't been set and the profile specifies a - * blocksize, then blocksize is updated and fs_blocks_count is scaled - * appropriately. Note the change in units! - * - * Finally, we complain about fs_blocks_count > 2^32 on a non-64bit fs. - */ - blk64_t fs_blocks_count = 0; + const char * fs_type = 0; + const char * usage_types = 0; + blk_t dev_size; #ifdef __linux__ struct utsname ut; #endif @@ -1322,11 +1208,6 @@ static void PRS(int argc, char *argv[]) if (oldpath) pathlen += strlen(oldpath); newpath = malloc(pathlen); - if (!newpath) { - fprintf(stderr, "%s", - _("Couldn't allocate memory for new PATH.\n")); - exit(1); - } strcpy(newpath, PATH_SET); /* Update our PATH to include /sbin */ @@ -1357,17 +1238,8 @@ static void PRS(int argc, char *argv[]) profile_set_syntax_err_cb(syntax_err_report); retval = profile_init(config_fn, &profile); if (retval == ENOENT) { - retval = profile_init(default_files, &profile); - if (retval) - goto profile_error; - retval = profile_set_default(profile, mke2fs_default_profile); - if (retval) - goto profile_error; - } else if (retval) { -profile_error: - fprintf(stderr, _("Couldn't init profile successfully" - " (error: %ld).\n"), retval); - exit(1); + profile_init(default_files, &profile); + profile_set_default(profile, mke2fs_default_profile); } setbuf(stdout, NULL); @@ -1397,13 +1269,13 @@ profile_error: } while ((c = getopt (argc, argv, - "b:cg:i:jl:m:no:qr:s:t:vC:DE:FG:I:J:KL:M:N:O:R:ST:U:V")) != EOF) { + "b:cf:g:G:i:jl:m:no:qr:s:t:vE:FI:J:KL:M:N:O:R:ST:U:V")) != EOF) { switch (c) { case 'b': - blocksize = parse_num_blocks2(optarg, -1); + blocksize = strtol(optarg, &tmp, 0); b = (blocksize > 0) ? blocksize : -blocksize; if (b < EXT2_MIN_BLOCK_SIZE || - b > EXT2_MAX_BLOCK_SIZE) { + b > EXT2_MAX_BLOCK_SIZE || *tmp) { com_err(program_name, 0, _("invalid block size - %s"), optarg); exit(1); @@ -1420,38 +1292,29 @@ profile_error: case 'c': /* Check for bad blocks */ cflag++; break; - case 'C': - cluster_size = parse_num_blocks2(optarg, -1); - if (cluster_size <= EXT2_MIN_CLUSTER_SIZE || - cluster_size > EXT2_MAX_CLUSTER_SIZE) { + case 'f': + size = strtoul(optarg, &tmp, 0); + if (size < EXT2_MIN_BLOCK_SIZE || + size > EXT2_MAX_BLOCK_SIZE || *tmp) { com_err(program_name, 0, - _("invalid cluster size - %s"), + _("invalid fragment size - %s"), optarg); exit(1); } - break; - case 'D': - direct_io = 1; - break; - case 'R': - com_err(program_name, 0, "%s", - _("'-R' is deprecated, use '-E' instead")); - /* fallthrough */ - case 'E': - extended_opts = optarg; - break; - case 'F': - force++; + fs_param.s_log_frag_size = + int_log2(size >> EXT2_MIN_BLOCK_LOG_SIZE); + fprintf(stderr, _("Warning: fragments not supported. " + "Ignoring -f option\n")); break; case 'g': fs_param.s_blocks_per_group = strtoul(optarg, &tmp, 0); if (*tmp) { - com_err(program_name, 0, "%s", - _("Illegal number for blocks per group")); + com_err(program_name, 0, + _("Illegal number for blocks per group")); exit(1); } if ((fs_param.s_blocks_per_group % 8) != 0) { - com_err(program_name, 0, "%s", + com_err(program_name, 0, _("blocks per group must be multiple of 8")); exit(1); } @@ -1459,13 +1322,13 @@ profile_error: case 'G': flex_bg_size = strtoul(optarg, &tmp, 0); if (*tmp) { - com_err(program_name, 0, "%s", + com_err(program_name, 0, _("Illegal number for flex_bg size")); exit(1); } if (flex_bg_size < 1 || (flex_bg_size & (flex_bg_size-1)) != 0) { - com_err(program_name, 0, "%s", + com_err(program_name, 0, _("flex_bg size must be a power of 2")); exit(1); } @@ -1482,42 +1345,29 @@ profile_error: exit(1); } break; - case 'I': - inode_size = strtoul(optarg, &tmp, 0); - if (*tmp) { - com_err(program_name, 0, - _("invalid inode size - %s"), optarg); - exit(1); - } - break; - case 'j': - if (!journal_size) - journal_size = -1; - break; case 'J': parse_journal_opts(optarg); break; case 'K': - fprintf(stderr, "%s", - _("Warning: -K option is deprecated and " - "should not be used anymore. Use " - "\'-E nodiscard\' extended option " - "instead!\n")); + fprintf(stderr, _("Warning: -K option is deprecated and " + "should not be used anymore. Use " + "\'-E nodiscard\' extended option " + "instead!\n")); discard = 0; break; + case 'j': + if (!journal_size) + journal_size = -1; + break; case 'l': - bad_blocks_filename = realloc(bad_blocks_filename, - strlen(optarg) + 1); + bad_blocks_filename = malloc(strlen(optarg)+1); if (!bad_blocks_filename) { - com_err(program_name, ENOMEM, "%s", + com_err(program_name, ENOMEM, _("in malloc for bad_blocks_filename")); exit(1); } strcpy(bad_blocks_filename, optarg); break; - case 'L': - volume_label = optarg; - break; case 'm': reserved_ratio = strtod(optarg, &tmp); if ( *tmp || reserved_ratio > 50 || @@ -1528,26 +1378,12 @@ profile_error: exit(1); } break; - case 'M': - mount_dir = optarg; - break; case 'n': noaction++; break; - case 'N': - num_inodes = strtoul(optarg, &tmp, 0); - if (*tmp) { - com_err(program_name, 0, - _("bad num inodes - %s"), optarg); - exit(1); - } - break; case 'o': creator_os = optarg; break; - case 'O': - fs_features = optarg; - break; case 'q': quiet = 1; break; @@ -1563,31 +1399,53 @@ profile_error: case 's': /* deprecated */ s_opt = atoi(optarg); break; + case 'I': + inode_size = strtoul(optarg, &tmp, 0); + if (*tmp) { + com_err(program_name, 0, + _("invalid inode size - %s"), optarg); + exit(1); + } + break; + case 'v': + verbose = 1; + break; + case 'F': + force++; + break; + case 'L': + volume_label = optarg; + break; + case 'M': + mount_dir = optarg; + break; + case 'N': + num_inodes = strtoul(optarg, &tmp, 0); + if (*tmp) { + com_err(program_name, 0, + _("bad num inodes - %s"), optarg); + exit(1); + } + break; + case 'O': + fs_features = optarg; + break; + case 'E': + case 'R': + extended_opts = optarg; + break; case 'S': super_only = 1; break; case 't': - if (fs_type) { - com_err(program_name, 0, "%s", - _("The -t option may only be used once")); - exit(1); - } - fs_type = strdup(optarg); + fs_type = optarg; break; case 'T': - if (usage_types) { - com_err(program_name, 0, "%s", - _("The -T option may only be used once")); - exit(1); - } - usage_types = strdup(optarg); + usage_types = optarg; break; case 'U': fs_uuid = optarg; break; - case 'v': - verbose = 1; - break; case 'V': /* Print version number and exit */ show_version_only++; @@ -1648,12 +1506,23 @@ profile_error: ext2fs_close(jfs); } + if (blocksize > sys_page_size) { + if (!force) { + com_err(program_name, 0, + _("%d-byte blocks too big for system (max %d)"), + blocksize, sys_page_size); + proceed_question(); + } + fprintf(stderr, _("Warning: %d-byte blocks too big for system " + "(max %d), forced to continue\n"), + blocksize, sys_page_size); + } if (optind < argc) { - fs_blocks_count = parse_num_blocks2(argv[optind++], - fs_param.s_log_block_size); - if (!fs_blocks_count) { + fs_param.s_blocks_count = parse_num_blocks(argv[optind++], + fs_param.s_log_block_size); + if (!fs_param.s_blocks_count) { com_err(program_name, 0, - _("invalid blocks '%s' on device '%s'"), + _("invalid blocks count '%s' on device '%s'"), argv[optind - 1], device_name); exit(1); } @@ -1665,30 +1534,63 @@ profile_error: check_plausibility(device_name); check_mount(device_name, force, _("filesystem")); - /* Determine the size of the device (if possible) */ - if (noaction && fs_blocks_count) { - dev_size = fs_blocks_count; + fs_param.s_log_frag_size = fs_param.s_log_block_size; + + if (noaction && fs_param.s_blocks_count) { + dev_size = fs_param.s_blocks_count; retval = 0; - } else - retval = ext2fs_get_device_size2(device_name, - EXT2_BLOCK_SIZE(&fs_param), - &dev_size); + } else { + retry: + retval = ext2fs_get_device_size(device_name, + EXT2_BLOCK_SIZE(&fs_param), + &dev_size); + if ((retval == EFBIG) && + (blocksize == 0) && + (fs_param.s_log_block_size == 0)) { + fs_param.s_log_block_size = 2; + blocksize = 4096; + goto retry; + } + } + if (retval == EFBIG) { + blk64_t big_dev_size; + + if (blocksize < 4096) { + fs_param.s_log_block_size = 2; + blocksize = 4096; + } + retval = ext2fs_get_device_size2(device_name, + EXT2_BLOCK_SIZE(&fs_param), &big_dev_size); + if (retval) + goto get_size_failure; + if (big_dev_size == (1ULL << 32)) { + dev_size = (blk_t) (big_dev_size - 1); + goto got_size; + } + fprintf(stderr, _("%s: Size of device %s too big " + "to be expressed in 32 bits\n\t" + "using a blocksize of %d.\n"), + program_name, device_name, EXT2_BLOCK_SIZE(&fs_param)); + exit(1); + } +get_size_failure: if (retval && (retval != EXT2_ET_UNIMPLEMENTED)) { - com_err(program_name, retval, "%s", + com_err(program_name, retval, _("while trying to determine filesystem size")); exit(1); } - if (!fs_blocks_count) { +got_size: + if (!fs_param.s_blocks_count) { if (retval == EXT2_ET_UNIMPLEMENTED) { - com_err(program_name, 0, "%s", + com_err(program_name, 0, _("Couldn't determine device size; you " "must specify\nthe size of the " "filesystem\n")); exit(1); } else { if (dev_size == 0) { - com_err(program_name, 0, "%s", + com_err(program_name, 0, _("Device size reported to be zero. " "Invalid partition specified, or\n\t" "partition table wasn't reread " @@ -1699,34 +1601,21 @@ profile_error: )); exit(1); } - fs_blocks_count = dev_size; + fs_param.s_blocks_count = dev_size; if (sys_page_size > EXT2_BLOCK_SIZE(&fs_param)) - fs_blocks_count &= ~((blk64_t) ((sys_page_size / - EXT2_BLOCK_SIZE(&fs_param))-1)); + fs_param.s_blocks_count &= ~((sys_page_size / + EXT2_BLOCK_SIZE(&fs_param))-1); } - } else if (!force && (fs_blocks_count > dev_size)) { - com_err(program_name, 0, "%s", + + } else if (!force && (fs_param.s_blocks_count > dev_size)) { + com_err(program_name, 0, _("Filesystem larger than apparent device size.")); proceed_question(); } - if (!fs_type) - profile_get_string(profile, "devices", device_name, - "fs_type", 0, &fs_type); - if (!usage_types) - profile_get_string(profile, "devices", device_name, - "usage_types", 0, &usage_types); - - /* - * We have the file system (or device) size, so we can now - * determine the appropriate file system types so the fs can - * be appropriately configured. - */ - fs_types = parse_fs_type(fs_type, usage_types, &fs_param, - fs_blocks_count ? fs_blocks_count : dev_size, - argv[0]); + fs_types = parse_fs_type(fs_type, usage_types, &fs_param, argv[0]); if (!fs_types) { - fprintf(stderr, "%s", _("Failed to parse fs types list\n")); + fprintf(stderr, _("Failed to parse fs types list\n")); exit(1); } @@ -1739,108 +1628,20 @@ profile_error: edit_feature(tmp, &fs_param.s_feature_compat); free(tmp); - /* And which mount options as well */ - tmp = get_string_from_profile(fs_types, "default_mntopts", - "acl,user_xattr"); - edit_mntopts(tmp, &fs_param.s_default_mount_opts); - if (tmp) - free(tmp); - for (cpp = fs_types; *cpp; cpp++) { tmp = NULL; profile_get_string(profile, "fs_types", *cpp, "features", "", &tmp); if (tmp && *tmp) edit_feature(tmp, &fs_param.s_feature_compat); - if (tmp) - free(tmp); + free(tmp); } tmp = get_string_from_profile(fs_types, "default_features", ""); } edit_feature(fs_features ? fs_features : tmp, &fs_param.s_feature_compat); - if (tmp) - free(tmp); - - /* Get the hardware sector sizes, if available */ - retval = ext2fs_get_device_sectsize(device_name, &lsector_size); - if (retval) { - com_err(program_name, retval, "%s", - _("while trying to determine hardware sector size")); - exit(1); - } - retval = ext2fs_get_device_phys_sectsize(device_name, &psector_size); - if (retval) { - com_err(program_name, retval, "%s", - _("while trying to determine physical sector size")); - exit(1); - } - - tmp = getenv("MKE2FS_DEVICE_SECTSIZE"); - if (tmp != NULL) - lsector_size = atoi(tmp); - tmp = getenv("MKE2FS_DEVICE_PHYS_SECTSIZE"); - if (tmp != NULL) - psector_size = atoi(tmp); - - /* Older kernels may not have physical/logical distinction */ - if (!psector_size) - psector_size = lsector_size; - - if (blocksize <= 0) { - use_bsize = get_int_from_profile(fs_types, "blocksize", 4096); - - if (use_bsize == -1) { - use_bsize = sys_page_size; - if ((linux_version_code < (2*65536 + 6*256)) && - (use_bsize > 4096)) - use_bsize = 4096; - } - if (lsector_size && use_bsize < lsector_size) - use_bsize = lsector_size; - if ((blocksize < 0) && (use_bsize < (-blocksize))) - use_bsize = -blocksize; - blocksize = use_bsize; - fs_blocks_count /= (blocksize / 1024); - } else { - if (blocksize < lsector_size) { /* Impossible */ - com_err(program_name, EINVAL, "%s", - _("while setting blocksize; too small " - "for device\n")); - exit(1); - } else if ((blocksize < psector_size) && - (psector_size <= sys_page_size)) { /* Suboptimal */ - fprintf(stderr, _("Warning: specified blocksize %d is " - "less than device physical sectorsize %d\n"), - blocksize, psector_size); - } - } - - fs_param.s_log_block_size = - int_log2(blocksize >> EXT2_MIN_BLOCK_LOG_SIZE); - - /* - * We now need to do a sanity check of fs_blocks_count for - * 32-bit vs 64-bit block number support. - */ - if ((fs_blocks_count > MAX_32_NUM) && - !(fs_param.s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) && - get_bool_from_profile(fs_types, "auto_64-bit_support", 0)) { - fs_param.s_feature_incompat |= EXT4_FEATURE_INCOMPAT_64BIT; - fs_param.s_feature_compat &= ~EXT2_FEATURE_COMPAT_RESIZE_INODE; - } - if ((fs_blocks_count > MAX_32_NUM) && - !(fs_param.s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT)) { - fprintf(stderr, _("%s: Size of device (0x%llx blocks) %s " - "too big to be expressed\n\t" - "in 32 bits using a blocksize of %d.\n"), - program_name, fs_blocks_count, device_name, - EXT2_BLOCK_SIZE(&fs_param)); - exit(1); - } - - ext2fs_blocks_count_set(&fs_param, fs_blocks_count); + free(tmp); if (fs_param.s_feature_incompat & EXT3_FEATURE_INCOMPAT_JOURNAL_DEV) { fs_types[0] = strdup("journal"); @@ -1855,15 +1656,14 @@ profile_error: if (r_opt == EXT2_GOOD_OLD_REV && (fs_param.s_feature_compat || fs_param.s_feature_incompat || fs_param.s_feature_ro_compat)) { - fprintf(stderr, "%s", _("Filesystem features not supported " - "with revision 0 filesystems\n")); + fprintf(stderr, _("Filesystem features not supported " + "with revision 0 filesystems\n")); exit(1); } if (s_opt > 0) { if (r_opt == EXT2_GOOD_OLD_REV) { - fprintf(stderr, "%s", - _("Sparse superblocks not supported " + fprintf(stderr, _("Sparse superblocks not supported " "with revision 0 filesystems\n")); exit(1); } @@ -1875,26 +1675,14 @@ profile_error: if (journal_size != 0) { if (r_opt == EXT2_GOOD_OLD_REV) { - fprintf(stderr, "%s", _("Journals not supported with " - "revision 0 filesystems\n")); + fprintf(stderr, _("Journals not supported " + "with revision 0 filesystems\n")); exit(1); } fs_param.s_feature_compat |= EXT3_FEATURE_COMPAT_HAS_JOURNAL; } - /* Get reserved_ratio from profile if not specified on cmd line. */ - if (reserved_ratio < 0.0) { - reserved_ratio = get_double_from_profile( - fs_types, "reserved_ratio", 5.0); - if (reserved_ratio > 50 || reserved_ratio < 0) { - com_err(program_name, 0, - _("invalid reserved blocks percent - %lf"), - reserved_ratio); - exit(1); - } - } - if (fs_param.s_feature_incompat & EXT3_FEATURE_INCOMPAT_JOURNAL_DEV) { reserved_ratio = 0; @@ -1903,11 +1691,12 @@ profile_error: fs_param.s_feature_ro_compat = 0; } - /* Check the user's mkfs options for 64bit */ - if ((fs_param.s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) && - !(fs_param.s_feature_incompat & EXT3_FEATURE_INCOMPAT_EXTENTS)) { - printf("%s", _("Extents MUST be enabled for a 64-bit " - "filesystem. Pass -O extents to rectify.\n")); + if ((fs_param.s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) && + (fs_param.s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE)) { + fprintf(stderr, _("The resize_inode and meta_bg features " + "are not compatible.\n" + "They can not be both enabled " + "simultaneously.\n")); exit(1); } @@ -1916,37 +1705,69 @@ profile_error: if ((fs_param.s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) && ((tmp = getenv("MKE2FS_FIRST_META_BG")))) fs_param.s_first_meta_bg = atoi(tmp); - if (fs_param.s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_BIGALLOC) { - if (!cluster_size) - cluster_size = get_int_from_profile(fs_types, - "cluster_size", - blocksize*16); - fs_param.s_log_cluster_size = - int_log2(cluster_size >> EXT2_MIN_CLUSTER_LOG_SIZE); - if (fs_param.s_log_cluster_size && - fs_param.s_log_cluster_size < fs_param.s_log_block_size) { - com_err(program_name, 0, "%s", - _("The cluster size may not be " - "smaller than the block size.\n")); + + /* Get the hardware sector sizes, if available */ + retval = ext2fs_get_device_sectsize(device_name, &lsector_size); + if (retval) { + com_err(program_name, retval, + _("while trying to determine hardware sector size")); + exit(1); + } + retval = ext2fs_get_device_phys_sectsize(device_name, &psector_size); + if (retval) { + com_err(program_name, retval, + _("while trying to determine physical sector size")); + exit(1); + } + + if ((tmp = getenv("MKE2FS_DEVICE_SECTSIZE")) != NULL) + lsector_size = atoi(tmp); + if ((tmp = getenv("MKE2FS_DEVICE_PHYS_SECTSIZE")) != NULL) + psector_size = atoi(tmp); + + /* Older kernels may not have physical/logical distinction */ + if (!psector_size) + psector_size = lsector_size; + + if (blocksize <= 0) { + use_bsize = get_int_from_profile(fs_types, "blocksize", 4096); + + if (use_bsize == -1) { + use_bsize = sys_page_size; + if ((linux_version_code < (2*65536 + 6*256)) && + (use_bsize > 4096)) + use_bsize = 4096; + } + if (lsector_size && use_bsize < lsector_size) + use_bsize = lsector_size; + if ((blocksize < 0) && (use_bsize < (-blocksize))) + use_bsize = -blocksize; + blocksize = use_bsize; + fs_param.s_blocks_count /= blocksize / 1024; + } else { + if (blocksize < lsector_size) { /* Impossible */ + com_err(program_name, EINVAL, + _("while setting blocksize; too small " + "for device\n")); exit(1); + } else if ((blocksize < psector_size) && + (psector_size <= sys_page_size)) { /* Suboptimal */ + fprintf(stderr, _("Warning: specified blocksize %d is " + "less than device physical sectorsize %d\n"), + blocksize, psector_size); } - } else if (cluster_size) { - com_err(program_name, 0, "%s", - _("specifying a cluster size requires the " - "bigalloc feature")); - exit(1); - } else - fs_param.s_log_cluster_size = fs_param.s_log_block_size; + } if (inode_ratio == 0) { inode_ratio = get_int_from_profile(fs_types, "inode_ratio", 8192); if (inode_ratio < blocksize) inode_ratio = blocksize; - if (inode_ratio < EXT2_CLUSTER_SIZE(&fs_param)) - inode_ratio = EXT2_CLUSTER_SIZE(&fs_param); } + fs_param.s_log_frag_size = fs_param.s_log_block_size = + int_log2(blocksize >> EXT2_MIN_BLOCK_LOG_SIZE); + #ifdef HAVE_BLKID_PROBE_GET_TOPOLOGY retval = get_device_geometry(device_name, &fs_param, psector_size); if (retval < 0) { @@ -1963,27 +1784,6 @@ profile_error: blocksize = EXT2_BLOCK_SIZE(&fs_param); - /* - * Initialize s_desc_size so that the parse_extended_opts() - * can correctly handle "-E resize=NNN" if the 64-bit option - * is set. - */ - if (fs_param.s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) - fs_param.s_desc_size = EXT2_MIN_DESC_SIZE_64BIT; - - /* This check should happen beyond the last assignment to blocksize */ - if (blocksize > sys_page_size) { - if (!force) { - com_err(program_name, 0, - _("%d-byte blocks too big for system (max %d)"), - blocksize, sys_page_size); - proceed_question(); - } - fprintf(stderr, _("Warning: %d-byte blocks too big for system " - "(max %d), forced to continue\n"), - blocksize, sys_page_size); - } - lazy_itable_init = 0; if (access("/sys/fs/ext4/features/lazy_itable_init", R_OK) == 0) lazy_itable_init = 1; @@ -1992,10 +1792,6 @@ profile_error: "lazy_itable_init", lazy_itable_init); discard = get_bool_from_profile(fs_types, "discard" , discard); - journal_flags |= get_bool_from_profile(fs_types, - "lazy_journal_init", 0) ? - EXT2_MKJOURNAL_LAZYINIT : 0; - journal_flags |= EXT2_MKJOURNAL_NO_MNT_CHECK; /* Get options from profile */ for (cpp = fs_types; *cpp; cpp++) { @@ -2009,44 +1805,12 @@ profile_error: if (extended_opts) parse_extended_opts(&fs_param, extended_opts); - /* Can't support bigalloc feature without extents feature */ - if ((fs_param.s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_BIGALLOC) && - !(fs_param.s_feature_incompat & EXT3_FEATURE_INCOMPAT_EXTENTS)) { - com_err(program_name, 0, "%s", - _("Can't support bigalloc feature without " - "extents feature")); - exit(1); - } - - if ((fs_param.s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) && - (fs_param.s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE)) { - fprintf(stderr, "%s", _("The resize_inode and meta_bg " - "features are not compatible.\n" - "They can not be both enabled " - "simultaneously.\n")); - exit(1); - } - - if (!quiet && - (fs_param.s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_BIGALLOC)) - fprintf(stderr, "%s", _("\nWarning: the bigalloc feature is " - "still under development\n" - "See https://ext4.wiki.kernel.org/" - "index.php/Bigalloc for more information\n\n")); - - if (!quiet && - (fs_param.s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_QUOTA)) - fprintf(stderr, "%s", _("\nWarning: the quota feature is " - "still under development\n" - "See https://ext4.wiki.kernel.org/" - "index.php/Quota for more information\n\n")); - /* Since sparse_super is the default, we would only have a problem * here if it was explicitly disabled. */ if ((fs_param.s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE) && !(fs_param.s_feature_ro_compat&EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER)) { - com_err(program_name, 0, "%s", + com_err(program_name, 0, _("reserved online resize blocks not supported " "on non-sparse filesystem")); exit(1); @@ -2055,21 +1819,12 @@ profile_error: if (fs_param.s_blocks_per_group) { if (fs_param.s_blocks_per_group < 256 || fs_param.s_blocks_per_group > 8 * (unsigned) blocksize) { - com_err(program_name, 0, "%s", + com_err(program_name, 0, _("blocks per group count out of range")); exit(1); } } - /* - * If the bigalloc feature is enabled, then the -g option will - * specify the number of clusters per group. - */ - if (fs_param.s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_BIGALLOC) { - fs_param.s_clusters_per_group = fs_param.s_blocks_per_group; - fs_param.s_blocks_per_group = 0; - } - if (inode_size == 0) inode_size = get_int_from_profile(fs_types, "inode_size", 0); if (!flex_bg_size && (fs_param.s_feature_incompat & @@ -2079,7 +1834,7 @@ profile_error: if (flex_bg_size) { if (!(fs_param.s_feature_incompat & EXT4_FEATURE_INCOMPAT_FLEX_BG)) { - com_err(program_name, 0, "%s", + com_err(program_name, 0, _("Flex_bg feature not enabled, so " "flex_bg size may not be specified")); exit(1); @@ -2103,19 +1858,13 @@ profile_error: /* Make sure number of inodes specified will fit in 32 bits */ if (num_inodes == 0) { unsigned long long n; - n = ext2fs_blocks_count(&fs_param) * blocksize / inode_ratio; - if (n > MAX_32_NUM) { - if (fs_param.s_feature_incompat & - EXT4_FEATURE_INCOMPAT_64BIT) - num_inodes = MAX_32_NUM; - else { - com_err(program_name, 0, - _("too many inodes (%llu), raise " - "inode ratio?"), n); - exit(1); - } + n = (unsigned long long) fs_param.s_blocks_count * blocksize / inode_ratio; + if (n > ~0U) { + com_err(program_name, 0, + _("too many inodes (%llu), raise inode ratio?"), n); + exit(1); } - } else if (num_inodes > MAX_32_NUM) { + } else if (num_inodes > ~0U) { com_err(program_name, 0, _("too many inodes (%llu), specify < 2^32 inodes"), num_inodes); @@ -2125,31 +1874,29 @@ profile_error: * Calculate number of inodes based on the inode ratio */ fs_param.s_inodes_count = num_inodes ? num_inodes : - (ext2fs_blocks_count(&fs_param) * blocksize) / inode_ratio; + ((__u64) fs_param.s_blocks_count * blocksize) + / inode_ratio; - if ((((unsigned long long)fs_param.s_inodes_count) * + if ((((long long)fs_param.s_inodes_count) * (inode_size ? inode_size : EXT2_GOOD_OLD_INODE_SIZE)) >= - ((ext2fs_blocks_count(&fs_param)) * + (((long long)fs_param.s_blocks_count) * EXT2_BLOCK_SIZE(&fs_param))) { com_err(program_name, 0, _("inode_size (%u) * inodes_count " "(%u) too big for a\n\t" - "filesystem with %llu blocks, " + "filesystem with %lu blocks, " "specify higher inode_ratio (-i)\n\t" "or lower inode count (-N).\n"), inode_size ? inode_size : EXT2_GOOD_OLD_INODE_SIZE, fs_param.s_inodes_count, - (unsigned long long) ext2fs_blocks_count(&fs_param)); + (unsigned long) fs_param.s_blocks_count); exit(1); } /* * Calculate number of blocks to reserve */ - ext2fs_r_blocks_count_set(&fs_param, reserved_ratio * - ext2fs_blocks_count(&fs_param) / 100.0); - - free(fs_type); - free(usage_types); + fs_param.s_r_blocks_count = (unsigned int) (reserved_ratio * + fs_param.s_blocks_count / 100.0); } static int should_do_undo(const char *name) @@ -2180,7 +1927,7 @@ static int should_do_undo(const char *name) } io_channel_set_blksize(channel, SUPERBLOCK_OFFSET); - retval = io_channel_read_blk64(channel, 1, -SUPERBLOCK_SIZE, &super); + retval = io_channel_read_blk(channel, 1, -SUPERBLOCK_SIZE, &super); if (retval) { retval = 0; goto err_out; @@ -2205,159 +1952,128 @@ open_err_out: static int mke2fs_setup_tdb(const char *name, io_manager *io_ptr) { - errcode_t retval = ENOMEM; - char *tdb_dir = NULL, *tdb_file = NULL; - char *dev_name, *tmp_name; - int free_tdb_dir = 0; + errcode_t retval = 0; + char *tdb_dir, *tdb_file; + char *device_name, *tmp_name; /* * Configuration via a conf file would be * nice */ tdb_dir = getenv("E2FSPROGS_UNDO_DIR"); - if (!tdb_dir) { + if (!tdb_dir) profile_get_string(profile, "defaults", "undo_dir", 0, "/var/lib/e2fsprogs", &tdb_dir); - free_tdb_dir = 1; - } if (!strcmp(tdb_dir, "none") || (tdb_dir[0] == 0) || - access(tdb_dir, W_OK)) { - if (free_tdb_dir) - free(tdb_dir); + access(tdb_dir, W_OK)) return 0; - } tmp_name = strdup(name); - if (!tmp_name) - goto errout; - dev_name = basename(tmp_name); - tdb_file = malloc(strlen(tdb_dir) + 8 + strlen(dev_name) + 7 + 1); - if (!tdb_file) { - free(tmp_name); - goto errout; - } - sprintf(tdb_file, "%s/mke2fs-%s.e2undo", tdb_dir, dev_name); - free(tmp_name); + if (!tmp_name) { + alloc_fn_fail: + com_err(program_name, ENOMEM, + _("Couldn't allocate memory for tdb filename\n")); + return ENOMEM; + } + device_name = basename(tmp_name); + tdb_file = malloc(strlen(tdb_dir) + 8 + strlen(device_name) + 7 + 1); + if (!tdb_file) + goto alloc_fn_fail; + sprintf(tdb_file, "%s/mke2fs-%s.e2undo", tdb_dir, device_name); if (!access(tdb_file, F_OK)) { if (unlink(tdb_file) < 0) { retval = errno; - goto errout; + com_err(program_name, retval, + _("while trying to delete %s"), + tdb_file); + free(tdb_file); + return retval; } } set_undo_io_backing_manager(*io_ptr); *io_ptr = undo_io_manager; - retval = set_undo_io_backup_file(tdb_file); - if (retval) - goto errout; + set_undo_io_backup_file(tdb_file); printf(_("Overwriting existing filesystem; this can be undone " "using the command:\n" " e2undo %s %s\n\n"), tdb_file, name); - if (free_tdb_dir) - free(tdb_dir); free(tdb_file); - return 0; - -errout: - if (free_tdb_dir) - free(tdb_dir); - free(tdb_file); - com_err(program_name, retval, "%s", - _("while trying to setup undo file\n")); + free(tmp_name); return retval; } -static int mke2fs_discard_device(ext2_filsys fs) -{ - struct ext2fs_numeric_progress_struct progress; - blk64_t blocks = ext2fs_blocks_count(fs->super); - blk64_t count = DISCARD_STEP_MB; - blk64_t cur; - int retval = 0; - - /* - * Let's try if discard really works on the device, so - * we do not print numeric progress resulting in failure - * afterwards. - */ - retval = io_channel_discard(fs->io, 0, fs->blocksize); - if (retval) - return retval; - cur = fs->blocksize; - - count *= (1024 * 1024); - count /= fs->blocksize; - - ext2fs_numeric_progress_init(fs, &progress, - _("Discarding device blocks: "), - blocks); - while (cur < blocks) { - ext2fs_numeric_progress_update(fs, &progress, cur); +#ifdef __linux__ - if (cur + count > blocks) - count = blocks - cur; +#ifndef BLKDISCARD +#define BLKDISCARD _IO(0x12,119) +#endif - retval = io_channel_discard(fs->io, cur, count); - if (retval) - break; - cur += count; - } +#ifndef BLKDISCARDZEROES +#define BLKDISCARDZEROES _IO(0x12,124) +#endif - if (retval) { - ext2fs_numeric_progress_close(fs, &progress, - _("failed - ")); - if (!quiet) - printf("%s\n",error_message(retval)); - } else - ext2fs_numeric_progress_close(fs, &progress, - _("done \n")); +/* + * Return zero if the discard succeeds, and -1 if the discard fails. + */ +static int mke2fs_discard_blocks(ext2_filsys fs) +{ + int fd; + int ret; + int blocksize; + __u64 blocks; + __uint64_t range[2]; - return retval; -} + blocks = fs->super->s_blocks_count; + blocksize = EXT2_BLOCK_SIZE(fs->super); + range[0] = 0; + range[1] = blocks * blocksize; -static void fix_cluster_bg_counts(ext2_filsys fs) -{ - blk64_t cluster, num_clusters, tot_free; - unsigned num = 0; - int grp_free, num_free, group; - - num_clusters = EXT2FS_B2C(fs, ext2fs_blocks_count(fs->super)); - tot_free = num_free = group = grp_free = 0; - for (cluster = EXT2FS_B2C(fs, fs->super->s_first_data_block); - cluster < num_clusters; cluster++) { - if (!ext2fs_test_block_bitmap2(fs->block_map, - EXT2FS_C2B(fs, cluster))) { - grp_free++; - tot_free++; - } - num++; - if ((num == fs->super->s_clusters_per_group) || - (cluster == num_clusters-1)) { - ext2fs_bg_free_blocks_count_set(fs, group, grp_free); - ext2fs_group_desc_csum_set(fs, group); - num = 0; - grp_free = 0; - group++; +#ifdef HAVE_OPEN64 + fd = open64(fs->device_name, O_RDWR); +#else + fd = open(fs->device_name, O_RDWR); +#endif + if (fd > 0) { + ret = ioctl(fd, BLKDISCARD, &range); + if (verbose) { + printf(_("Calling BLKDISCARD from %llu to %llu "), + (unsigned long long) range[0], + (unsigned long long) range[1]); + if (ret) + printf(_("failed.\n")); + else + printf(_("succeeded.\n")); } + close(fd); } - ext2fs_free_blocks_count_set(fs->super, EXT2FS_C2B(fs, tot_free)); + return ret; } -static int create_quota_inodes(ext2_filsys fs) +static int mke2fs_discard_zeroes_data(ext2_filsys fs) { - quota_ctx_t qctx; - - quota_init_context(&qctx, fs, -1); - quota_compute_usage(qctx); - quota_write_inode(qctx, quotatype); - quota_release_context(&qctx); + int fd; + int ret; + int discard_zeroes_data = 0; - return 0; +#ifdef HAVE_OPEN64 + fd = open64(fs->device_name, O_RDWR); +#else + fd = open(fs->device_name, O_RDWR); +#endif + if (fd > 0) { + ioctl(fd, BLKDISCARDZEROES, &discard_zeroes_data); + close(fd); + } + return discard_zeroes_data; } +#else +#define mke2fs_discard_blocks(fs) 1 +#define mke2fs_discard_zeroes_data(fs) 0 +#endif int main (int argc, char *argv[]) { @@ -2365,11 +2081,8 @@ int main (int argc, char *argv[]) ext2_filsys fs; badblocks_list bb_list = 0; unsigned int journal_blocks; - unsigned int i, checkinterval; - int max_mnt_count; + unsigned int i; int val, hash_alg; - int flags; - int old_bitmaps; io_manager io_ptr; char tdb_string[40]; char *hash_alg_str; @@ -2380,7 +2093,6 @@ int main (int argc, char *argv[]) setlocale(LC_CTYPE, ""); bindtextdomain(NLS_CAT_NAME, LOCALEDIR); textdomain(NLS_CAT_NAME); - set_com_err_gettext(gettext); #endif PRS(argc, argv); @@ -2401,41 +2113,21 @@ int main (int argc, char *argv[]) /* * Initialize the superblock.... */ - flags = EXT2_FLAG_EXCLUSIVE; - if (direct_io) - flags |= EXT2_FLAG_DIRECT_IO; - profile_get_boolean(profile, "options", "old_bitmaps", 0, 0, - &old_bitmaps); - if (!old_bitmaps) - flags |= EXT2_FLAG_64BITS; - /* - * By default, we print how many inode tables or block groups - * or whatever we've written so far. The quiet flag disables - * this, along with a lot of other output. - */ - if (!quiet) - flags |= EXT2_FLAG_PRINT_PROGRESS; - retval = ext2fs_initialize(device_name, flags, &fs_param, io_ptr, &fs); + retval = ext2fs_initialize(device_name, EXT2_FLAG_EXCLUSIVE, &fs_param, + io_ptr, &fs); if (retval) { - com_err(device_name, retval, "%s", - _("while setting up superblock")); + com_err(device_name, retval, _("while setting up superblock")); exit(1); } - /* Calculate journal blocks */ - if (!journal_device && ((journal_size) || - (fs_param.s_feature_compat & - EXT3_FEATURE_COMPAT_HAS_JOURNAL))) - journal_blocks = figure_journal_size(journal_size, fs); - /* Can't undo discard ... */ - if (!noaction && discard && (io_ptr != undo_io_manager)) { - retval = mke2fs_discard_device(fs); - if (!retval && io_channel_discard_zeroes_data(fs->io)) { + if (discard && (io_ptr != undo_io_manager)) { + retval = mke2fs_discard_blocks(fs); + + if (!retval && mke2fs_discard_zeroes_data(fs)) { if (verbose) - printf("%s", - _("Discard succeeded and will return " - "0s - skipping inode table wipe\n")); + printf(_("Discard succeeded and will return 0s " + " - skipping inode table wipe\n")); lazy_itable_init = 1; itable_zeroed = 1; } @@ -2486,32 +2178,13 @@ int main (int argc, char *argv[]) uuid_generate((unsigned char *) fs->super->s_hash_seed); /* - * Periodic checks can be enabled/disabled via config file. - * Note we override the kernel include file's idea of what the default - * check interval (never) should be. It's a good idea to check at - * least *occasionally*, specially since servers will never rarely get - * to reboot, since Linux is so robust these days. :-) - * - * 180 days (six months) seems like a good value. + * Add "jitter" to the superblock's check interval so that we + * don't check all the filesystems at the same time. We use a + * kludgy hack of using the UUID to derive a random jitter value. */ -#ifdef EXT2_DFL_CHECKINTERVAL -#undef EXT2_DFL_CHECKINTERVAL -#endif -#define EXT2_DFL_CHECKINTERVAL (86400L * 180L) - - if (get_bool_from_profile(fs_types, "enable_periodic_fsck", 0)) { - fs->super->s_checkinterval = EXT2_DFL_CHECKINTERVAL; - fs->super->s_max_mnt_count = EXT2_DFL_MAX_MNT_COUNT; - /* - * Add "jitter" to the superblock's check interval so that we - * don't check all the filesystems at the same time. We use a - * kludgy hack of using the UUID to derive a random jitter value - */ - for (i = 0, val = 0 ; i < sizeof(fs->super->s_uuid); i++) - val += fs->super->s_uuid[i]; - fs->super->s_max_mnt_count += val % EXT2_DFL_MAX_MNT_COUNT; - } else - fs->super->s_max_mnt_count = -1; + for (i = 0, val = 0 ; i < sizeof(fs->super->s_uuid); i++) + val += fs->super->s_uuid[i]; + fs->super->s_max_mnt_count += val % EXT2_DFL_MAX_MNT_COUNT; /* * Override the creator OS, if applicable @@ -2568,44 +2241,21 @@ int main (int argc, char *argv[]) handle_bad_blocks(fs, bb_list); fs->stride = fs_stride = fs->super->s_raid_stride; - if (!quiet) - printf("%s", _("Allocating group tables: ")); retval = ext2fs_allocate_tables(fs); if (retval) { - com_err(program_name, retval, "%s", + com_err(program_name, retval, _("while trying to allocate filesystem tables")); exit(1); } - if (!quiet) - printf("%s", _("done \n")); - - retval = ext2fs_convert_subcluster_bitmap(fs, &fs->block_map); - if (retval) { - com_err(program_name, retval, "%s", - _("\n\twhile converting subcluster bitmap")); - exit(1); - } - if (super_only) { fs->super->s_state |= EXT2_ERROR_FS; fs->flags &= ~(EXT2_FLAG_IB_DIRTY|EXT2_FLAG_BB_DIRTY); - /* - * The command "mke2fs -S" is used to recover - * corrupted file systems, so do not mark any of the - * inodes as unused; we want e2fsck to consider all - * inodes as potentially containing recoverable data. - */ - if (fs->super->s_feature_ro_compat & - EXT4_FEATURE_RO_COMPAT_GDT_CSUM) { - for (i = 0; i < fs->group_desc_count; i++) - ext2fs_bg_itable_unused_set(fs, i, 0); - } } else { /* rsv must be a power of two (64kB is MD RAID sb alignment) */ - blk64_t rsv = 65536 / fs->blocksize; - blk64_t blocks = ext2fs_blocks_count(fs->super); - blk64_t start; - blk64_t ret_blk; + unsigned int rsv = 65536 / fs->blocksize; + unsigned long blocks = fs->super->s_blocks_count; + unsigned long start; + blk_t ret_blk; #ifdef ZAP_BOOTBLOCK zap_sector(fs, 0, 2); @@ -2620,12 +2270,12 @@ int main (int argc, char *argv[]) if (start > rsv) start -= rsv; if (start > 0) - retval = ext2fs_zero_blocks2(fs, start, blocks - start, + retval = ext2fs_zero_blocks(fs, start, blocks - start, &ret_blk, NULL); if (retval) { com_err(program_name, retval, - _("while zeroing block %llu at end of filesystem"), + _("while zeroing block %u at end of filesystem"), ret_blk); } write_inode_tables(fs, lazy_itable_init, itable_zeroed); @@ -2638,7 +2288,6 @@ int main (int argc, char *argv[]) retval = ext2fs_create_resize_inode(fs); if (retval) { com_err("ext2fs_create_resize_inode", retval, - "%s", _("while reserving blocks for online resize")); exit(1); } @@ -2674,14 +2323,16 @@ int main (int argc, char *argv[]) exit(1); } if (!quiet) - printf("%s", _("done\n")); + printf(_("done\n")); ext2fs_close(jfs); free(journal_device); } else if ((journal_size) || (fs_param.s_feature_compat & EXT3_FEATURE_COMPAT_HAS_JOURNAL)) { + journal_blocks = figure_journal_size(journal_size, fs); + if (super_only) { - printf("%s", _("Skipping journal creation in super-only mode\n")); + printf(_("Skipping journal creation in super-only mode\n")); fs->super->s_journal_inum = EXT2_JOURNAL_INO; goto no_journal; } @@ -2699,56 +2350,34 @@ int main (int argc, char *argv[]) retval = ext2fs_add_journal_inode(fs, journal_blocks, journal_flags); if (retval) { - com_err(program_name, retval, "%s", - _("\n\twhile trying to create journal")); + com_err (program_name, retval, + _("\n\twhile trying to create journal")); exit(1); } if (!quiet) - printf("%s", _("done\n")); + printf(_("done\n")); } no_journal: - if (!super_only && - fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_MMP) { - retval = ext2fs_mmp_init(fs); - if (retval) { - fprintf(stderr, "%s", - _("\nError while enabling multiple " - "mount protection feature.")); - exit(1); - } - if (!quiet) - printf(_("Multiple mount protection is enabled " - "with update interval %d seconds.\n"), - fs->super->s_mmp_update_interval); - } - - if (EXT2_HAS_RO_COMPAT_FEATURE(&fs_param, - EXT4_FEATURE_RO_COMPAT_BIGALLOC)) - fix_cluster_bg_counts(fs); - if (EXT2_HAS_RO_COMPAT_FEATURE(&fs_param, - EXT4_FEATURE_RO_COMPAT_QUOTA)) - create_quota_inodes(fs); if (!quiet) - printf("%s", _("Writing superblocks and " + printf(_("Writing superblocks and " "filesystem accounting information: ")); - checkinterval = fs->super->s_checkinterval; - max_mnt_count = fs->super->s_max_mnt_count; - retval = ext2fs_close(fs); + retval = ext2fs_flush(fs); if (retval) { - fprintf(stderr, "%s", + fprintf(stderr, _("\nWarning, had trouble writing out superblocks.")); - } else if (!quiet) { - printf("%s", _("done\n\n")); + } + if (!quiet) { + printf(_("done\n\n")); if (!getenv("MKE2FS_SKIP_CHECK_MSG")) - print_check_message(max_mnt_count, checkinterval); + print_check_message(fs); } - + val = ext2fs_close(fs); remove_error_table(&et_ext2_error_table); remove_error_table(&et_prof_error_table); profile_release(profile); for (i=0; fs_types[i]; i++) free(fs_types[i]); free(fs_types); - return retval; + return (retval || val) ? 1 : 0; } diff --git a/misc/mke2fs.conf b/misc/mke2fs.conf new file mode 100644 index 00000000..52fe58ed --- /dev/null +++ b/misc/mke2fs.conf @@ -0,0 +1,44 @@ +[defaults] + base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr + blocksize = 4096 + inode_size = 256 + inode_ratio = 16384 + +[fs_types] + ext3 = { + features = has_journal + } + ext4 = { + features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize + inode_size = 256 + } + ext4dev = { + features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize + inode_size = 256 + options = test_fs=1 + } + small = { + blocksize = 1024 + inode_size = 128 + inode_ratio = 4096 + } + floppy = { + blocksize = 1024 + inode_size = 128 + inode_ratio = 8192 + } + news = { + inode_ratio = 4096 + } + largefile = { + inode_ratio = 1048576 + blocksize = -1 + } + largefile4 = { + inode_ratio = 4194304 + blocksize = -1 + } + hurd = { + blocksize = 4096 + inode_size = 128 + } diff --git a/misc/mke2fs.conf.5.in b/misc/mke2fs.conf.5.in index 0625d0ef..dfc06958 100644 --- a/misc/mke2fs.conf.5.in +++ b/misc/mke2fs.conf.5.in @@ -11,7 +11,7 @@ is the configuration file for .BR mke2fs (8). It controls the default parameters used by .BR mke2fs (8) -when it is creating ext2, ext3, or ext4 filesystems. +when it is creating ext2 or ext3 filesystems. .PP The .I mke2fs.conf @@ -59,18 +59,13 @@ apply: "\en" (for the newline character), "\et" (for the tab character), "\eb" (for the backspace character), and "\e\e" (for the backslash character). .P -Some relations expect a boolean value. The parser is quite liberal on -recognizing ``yes'', '`y'', ``true'', ``t'', ``1'', ``on'', etc. as a -boolean true value, and ``no'', ``n'', ``false'', ``nil'', ``0'', -``off'' as a boolean false value. -.P The following stanzas are used in the .I mke2fs.conf file. They will be described in more detail in future sections of this document. .TP .I [defaults] -Contains relations which define the default parameters +Contains relations which define the default parameters used by .BR mke2fs (8). In general, these defaults may be overridden by a definition in the @@ -112,19 +107,8 @@ command-line option to .BR mke2fs (8). .TP -.I enable_periodic_fsck -This boolean relation specifies whether periodic filesystem checks should be -enforced at boot time. If set to true, checks will be forced every -180 days, or after a random number of mounts. These values may -be changed later via the -.B -i -and -.B -c -command-line options to -.BR tune2fs (8). -.TP .I force_undo -This boolean relation, if set to a value of true, forces +This relation, if set to a boolean value of true, forces .B mke2fs to always try to create an undo file, even if the undo file might be huge and it might extend the time to create the filesystem image @@ -173,13 +157,6 @@ specify one on the command line, and the filesystem-type specific section of the configuration file does not specify a default inode size. .TP -.I reserved_ratio -This relation specifies the default percentage of filesystem blocks -reserved for the super-user, if the user does not -specify one on the command line, and the filesystem-type -specific section of the configuration file does not specify a default -reserved ratio. This value can be a floating point number. -.TP .I undo_dir This relation specifies the directory where the undo file should be stored. It can be overridden via the @@ -326,27 +303,12 @@ relations. It may be overridden by the command-line option to .BR mke2fs (8). .TP -.I auto_64-bit_support -This relation is a boolean which specifies whether -.BR mke2fs (8) -should automatically add the 64bit feature if the number of blocks for -the file system requires this feature to be enabled. The resize_inode -feature is also automatically disabled since it doesn't support 64-bit -block numbers. -.TP -.I default_mntopts -This relation specifies the set of mount options which should be enabled -by default. These may be changed at a later time with the -.B -o -command-line option to -.BR tune2fs (8). -.TP .I blocksize This relation specifies the default blocksize if the user does not specify a blocksize on the command line. .TP .I lazy_itable_init -This boolean relation specifies whether the inode table should +This relation is a boolean which specifies whether the inode table should be lazily initialized. It only has meaning if the uninit_bg feature is enabled. If lazy_itable_init is true and the uninit_bg feature is enabled, the inode table will @@ -365,11 +327,6 @@ specify one on the command line. This relation specifies the default inode size if the user does not specify one on the command line. .TP -.I reserved_ratio -This relation specifies the default percentage of filesystem blocks -reserved for the super-user, if the user does not specify one on the command -line. -.TP .I hash_alg This relation specifies the default hash algorithm used for the new filesystems with hashed b-tree directories. Valid algorithms @@ -380,12 +337,11 @@ and .IR tea . .TP .I flex_bg_size -This relation specifies the number of block groups that will be packed +This relation specifies the number of block goups that will be packed together to create one large virtual block group on an ext4 filesystem. This improves meta-data locality and performance on meta-data heavy -workloads. The number of groups must be a power of 2 and may only be +workloads. The number of goups must be a power of 2 and may only be specified if the flex_bg filesystem feature is enabled. -.TP .I options This relation specifies additional extended options which should be treated by @@ -398,30 +354,9 @@ by on a per-filesystem type basis. .TP .I discard -This boolean relation specifies whether the +This relation is a boolean which specifies whether the .BR mke2fs (8) should attempt to discard device prior to filesystem creation. -.TP -.I cluster_size -This relation specifies the default cluster size if the bigalloc file -system feature is enabled. It can be overridden via the -.B \-C -command line option to -.BR mke2fs (8) -.SH THE [devices] STANZA -Each tag in the -.I [devices] -stanza names device name so that per-device defaults can be specified. -.TP -.I fs_type -This relation specifies the default parameter for the -.B \-t -option, if this option isn't specified on the command line. -.TP -.I usage_types -This relation specifies the default parameter for the -.B \-T -option, if this option isn't specified on the command line. .SH FILES .TP .I /etc/mke2fs.conf diff --git a/misc/mke2fs.conf.in b/misc/mke2fs.conf.in deleted file mode 100644 index 0871f777..00000000 --- a/misc/mke2fs.conf.in +++ /dev/null @@ -1,53 +0,0 @@ -[defaults] - base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr - default_mntopts = acl,user_xattr - enable_periodic_fsck = 0 - blocksize = 4096 - inode_size = 256 - inode_ratio = 16384 - -[fs_types] - ext3 = { - features = has_journal - } - ext4 = { - features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize - auto_64-bit_support = 1 - inode_size = 256 - } - ext4dev = { - features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize - inode_size = 256 - options = test_fs=1 - } - small = { - blocksize = 1024 - inode_size = 128 - inode_ratio = 4096 - } - floppy = { - blocksize = 1024 - inode_size = 128 - inode_ratio = 8192 - } - big = { - inode_ratio = 32768 - } - huge = { - inode_ratio = 65536 - } - news = { - inode_ratio = 4096 - } - largefile = { - inode_ratio = 1048576 - blocksize = -1 - } - largefile4 = { - inode_ratio = 4194304 - blocksize = -1 - } - hurd = { - blocksize = 4096 - inode_size = 128 - } diff --git a/misc/mklost+found.c b/misc/mklost+found.c index db7d8682..8d5fa7be 100644 --- a/misc/mklost+found.c +++ b/misc/mklost+found.c @@ -46,7 +46,7 @@ int main (int argc, char ** argv) E2FSPROGS_DATE); if (argc != 1) { (void)argv; /* avoid unused argument warning */ - fprintf (stderr, "%s", _("Usage: mklost+found\n")); + fprintf (stderr, _("Usage: mklost+found\n")); exit(1); } if (mkdir (LPF, 0700) == -1) { diff --git a/misc/nls-enable.h b/misc/nls-enable.h index a91dcc13..e365fbdd 100644 --- a/misc/nls-enable.h +++ b/misc/nls-enable.h @@ -7,7 +7,6 @@ #else #define N_(a) (a) #endif -#define P_(singular, plural, n) (ngettext (singular, plural, n)) #ifndef NLS_CAT_NAME #define NLS_CAT_NAME "e2fsprogs" #endif @@ -17,5 +16,4 @@ #else #define _(a) (a) #define N_(a) a -#define P_(singular, plural, n) ((n) == 1 ? (singular) : (plural)) #endif diff --git a/misc/partinfo.c b/misc/partinfo.c index 59616549..48b395f6 100644 --- a/misc/partinfo.c +++ b/misc/partinfo.c @@ -34,7 +34,6 @@ int main(int argc, char **argv) setlocale(LC_CTYPE, ""); bindtextdomain(NLS_CAT_NAME, LOCALEDIR); textdomain(NLS_CAT_NAME); - set_com_err_gettext(gettext); #endif if (argc == 1) { fprintf(stderr, _("Usage: %s device...\n\nPrints out the " diff --git a/misc/tune2fs.8.in b/misc/tune2fs.8.in index da21080a..2f9db811 100644 --- a/misc/tune2fs.8.in +++ b/misc/tune2fs.8.in @@ -77,10 +77,6 @@ tune2fs \- adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems .RI [^] feature [,...] ] [ -.B \-Q -.I quota-options -] -[ .B \-T .I time-last-checked ] @@ -103,8 +99,8 @@ program. .PP The .I device -specifier can either be a filename (i.e., /dev/sda1), or a LABEL or UUID -specifier: "\fBLABEL=\fIvolume-name\fR" or "\fBUUID=\fIuuid\fR". (i.e., +specifer can either be a filename (i.e., /dev/sda1), or a LABEL or UUID +specifer: "\fBLABEL=\fIvolume-name\fR" or "\fBUUID=\fIuuid\fR". (i.e., LABEL=home or UUID=e40486c6-84d5-4f2f-b99c-032281799c9d). .SH OPTIONS .TP @@ -171,21 +167,6 @@ separated, and may take an argument using the equals ('=') sign. The following extended options are supported: .RS 1.2i .TP -.B clear_mmp -Reset the MMP block (if any) back to the clean state. Use only if -absolutely certain the device is not currently mounted or being -fscked, or major filesystem corruption can result. Needs '-f'. -.TP -.BI mmp_update_interval= interval -Adjust the initial MMP update interval to -.I interval -seconds. Specifying an -.I interval -of 0 means to use the default interval. The specified interval must -be less than 300 seconds. Requires that the -.B mmp -feature be enabled. -.TP .BI stride= stride-size Configure the filesystem for a RAID array with .I stride-size @@ -432,8 +413,8 @@ The following mount options can be set or cleared using Enable debugging code for this filesystem. .TP .B bsdgroups -Emulate BSD behavior when creating new files: they will take the group-id -of the directory in which they were created. The standard System V behavior +Emulate BSD behaviour when creating new files: they will take the group-id +of the directory in which they were created. The standard System V behaviour is the default, where newly created files take on the fsgid of the current process, unless the directory has the setgid bit set, in which case it takes the gid from the parent directory, and also gets the setgid bit set if it is @@ -481,7 +462,7 @@ currently only supported by the ext4 file system driver in 2.6.35+ kernels.) .TP .B discard -The file system will be mounted with the discard mount option. This will +The file system will be mouinted with the discard mount option. This will cause the file system driver to attempt to use the trim/discard feature of some storage devices (such as SSD's and thin-provisioned drives available in some enterprise storage arrays) to inform the storage @@ -501,25 +482,14 @@ More than one filesystem feature can be cleared or set by separating features with commas. Filesystem features prefixed with a caret character ('^') will be cleared in the filesystem's superblock; filesystem features without a prefix character or prefixed with a plus -character ('+') will be added to the filesystem. For a detailed -description of the file system features, please see the man page -.BR ext4 (5). +character ('+') will be added to the filesystem. .IP The following filesystem features can be set or cleared using .BR tune2fs : .RS 1.2i .TP .B dir_index -Use hashed b-trees to speed up lookups for large directories. -.TP -.B dir_nlink -Allow more than 65000 subdirectories per directory. -.TP -.B extent -Enable the use of extent trees to store the location of data blocks in inodes. -.TP -.B extra_isize -Enable the extended inode fields used by ext4. +Use hashed b-trees to speed up lookups in large directories. .TP .B filetype Store file type information in directory entries. @@ -529,7 +499,7 @@ Allow bitmaps and inode tables for a block group to be placed anywhere on the storage media. \fBTune2fs\fR will not reorganize the location of the inode tables and allocation bitmaps, as .BR mke2fs (8) -will do when it creates a freshly formatted file system with +will do when it creates a freshly formated file system with .B flex_bg enabled. .TP @@ -539,11 +509,9 @@ Setting the filesystem feature is equivalent to using the .B \-j option. .TP -.B huge_file -Support files larger than 2 terabytes in size. -.TP .B large_file -Filesystem can contain files that are greater than 2GB. +Filesystem can contain files that are greater than 2GB. (Modern kernels +set this feature automatically when a file > 2GB is created.) .TP .B resize_inode Reserve space so the block group descriptor table may grow in the @@ -551,18 +519,12 @@ future. .B Tune2fs only supports clearing this filesystem feature. .TP -.B mmp -Enable or disable multiple mount protection (MMP) feature. -@QUOTA_MAN_COMMENT@.TP -@QUOTA_MAN_COMMENT@.B quota -@QUOTA_MAN_COMMENT@Enable internal file system quota inodes. -.TP .B sparse_super Limit the number of backup superblocks to save space on large filesystems. .TP .B uninit_bg -Allow the kernel to initialize bitmaps and inode tables lazily, and to -keep a high watermark for the unused inodes in a filesystem, to reduce +Allow the kernel to initialize bitmaps and inode tables and keep a high +watermark for the unused inodes in a filesystem, to reduce .BR e2fsck (8) time. This first e2fsck run after enabling this feature will take the full time, but subsequent e2fsck runs will take only a fraction of the @@ -593,24 +555,9 @@ and .BR flex_bg features are only supported by the ext4 filesystem. .TP -.BI \-p " mmp_check_interval" -Set the desired MMP check interval in seconds. It is 5 seconds by default. -.TP .BI \-r " reserved-blocks-count" Set the number of reserved filesystem blocks. .TP -.BI \-Q " quota-options" -Sets 'quota' feature on the superblock and works on the quota files for the -given quota type. Quota options could be one or more of the following: -.RS 1.2i -.TP -.BR [^]usrquota -Sets/clears user quota inode in the superblock. -.TP -.BR [^]grpquota -Sets/clears group quota inode in the superblock. -.RE -.TP .BI \-T " time-last-checked" Set the time the filesystem was last checked using .BR e2fsck . @@ -692,5 +639,4 @@ http://e2fsprogs.sourceforge.net. .BR debugfs (8), .BR dumpe2fs (8), .BR e2fsck (8), -.BR mke2fs (8), -.BR ext4 (5) +.BR mke2fs (8) diff --git a/misc/tune2fs.c b/misc/tune2fs.c index e22640da..e5722a5a 100644 --- a/misc/tune2fs.c +++ b/misc/tune2fs.c @@ -26,6 +26,7 @@ */ #define _XOPEN_SOURCE 600 /* for inclusion of strptime() */ +#define _BSD_SOURCE /* for inclusion of strcasecmp() */ #include #include #ifdef HAVE_GETOPT_H @@ -39,11 +40,6 @@ extern int optind; #ifdef HAVE_STDLIB_H #include #endif -#ifdef HAVE_STRINGS_H -#include /* for strcasecmp() */ -#else -#define _BSD_SOURCE /* for inclusion of strcasecmp() via */ -#endif #include #include #include @@ -59,29 +55,21 @@ extern int optind; #include "jfs_user.h" #include "util.h" #include "blkid/blkid.h" -#include "quota/mkquota.h" #include "../version.h" #include "nls-enable.h" -#define QOPT_ENABLE (1) -#define QOPT_DISABLE (-1) - -extern int ask_yn(const char *string, int def); - const char *program_name = "tune2fs"; char *device_name; char *new_label, *new_last_mounted, *new_UUID; char *io_options; static int c_flag, C_flag, e_flag, f_flag, g_flag, i_flag, l_flag, L_flag; -static int m_flag, M_flag, Q_flag, r_flag, s_flag = -1, u_flag, U_flag, T_flag; +static int m_flag, M_flag, r_flag, s_flag = -1, u_flag, U_flag, T_flag; static int I_flag; -static int clear_mmp; static time_t last_check_time; static int print_label; static int max_mount_count, mount_count, mount_flags; -static unsigned long interval; -static blk64_t reserved_blocks; +static unsigned long interval, reserved_blocks; static double reserved_ratio; static unsigned long resgid, resuid; static unsigned short errors; @@ -92,8 +80,6 @@ static int stride, stripe_width; static int stride_set, stripe_width_set; static char *extended_cmd; static unsigned long new_inode_size; -static char *ext_mount_opts; -static int usrquota, grpquota; int journal_size, journal_flags; char *journal_device; @@ -102,8 +88,8 @@ static struct list_head blk_move_list; struct blk_move { struct list_head list; - blk64_t old_loc; - blk64_t new_loc; + blk_t old_loc; + blk_t new_loc; }; @@ -120,13 +106,10 @@ static void usage(void) "[-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" "\t[-m reserved_blocks_percent] " - "[-o [^]mount_options[,...]] [-p mmp_update_interval]\n" + "[-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] " "[-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" -#ifdef CONFIG_QUOTA - "\t[-Q quota_options]\n" -#endif "\t[-E extended-option[,...]] [-T last_check_time] " "[-U UUID]\n\t[ -I new_inode_size ] device\n"), program_name); exit(1); @@ -139,17 +122,13 @@ static __u32 ok_features[3] = { /* Incompat */ EXT2_FEATURE_INCOMPAT_FILETYPE | EXT3_FEATURE_INCOMPAT_EXTENTS | - EXT4_FEATURE_INCOMPAT_FLEX_BG | - EXT4_FEATURE_INCOMPAT_MMP, + EXT4_FEATURE_INCOMPAT_FLEX_BG, /* R/O compat */ EXT2_FEATURE_RO_COMPAT_LARGE_FILE | EXT4_FEATURE_RO_COMPAT_HUGE_FILE| EXT4_FEATURE_RO_COMPAT_DIR_NLINK| EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE| EXT4_FEATURE_RO_COMPAT_GDT_CSUM | -#ifdef CONFIG_QUOTA - EXT4_FEATURE_RO_COMPAT_QUOTA | -#endif EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER }; @@ -160,23 +139,19 @@ static __u32 clear_ok_features[3] = { EXT2_FEATURE_COMPAT_DIR_INDEX, /* Incompat */ EXT2_FEATURE_INCOMPAT_FILETYPE | - EXT4_FEATURE_INCOMPAT_FLEX_BG | - EXT4_FEATURE_INCOMPAT_MMP, + EXT4_FEATURE_INCOMPAT_FLEX_BG, /* R/O compat */ EXT2_FEATURE_RO_COMPAT_LARGE_FILE | EXT4_FEATURE_RO_COMPAT_HUGE_FILE| EXT4_FEATURE_RO_COMPAT_DIR_NLINK| EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE| -#ifdef CONFIG_QUOTA - EXT4_FEATURE_RO_COMPAT_QUOTA | -#endif EXT4_FEATURE_RO_COMPAT_GDT_CSUM }; /* * Remove an external journal from the filesystem */ -static int remove_journal_device(ext2_filsys fs) +static void remove_journal_device(ext2_filsys fs) { char *journal_path; ext2_filsys jfs; @@ -197,7 +172,7 @@ static int remove_journal_device(ext2_filsys fs) journal_path = ext2fs_find_block_device(fs->super->s_journal_dev); if (!journal_path) - goto no_valid_journal; + return; } #ifdef CONFIG_TESTIO_DEBUG @@ -211,27 +186,26 @@ static int remove_journal_device(ext2_filsys fs) EXT2_FLAG_JOURNAL_DEV_OK, 0, fs->blocksize, io_ptr, &jfs); if (retval) { - com_err(program_name, retval, "%s", + com_err(program_name, retval, _("while trying to open external journal")); goto no_valid_journal; } - if (!(jfs->super->s_feature_incompat & - EXT3_FEATURE_INCOMPAT_JOURNAL_DEV)) { + if (!(jfs->super->s_feature_incompat & EXT3_FEATURE_INCOMPAT_JOURNAL_DEV)) { fprintf(stderr, _("%s is not a journal device.\n"), journal_path); goto no_valid_journal; } /* Get the journal superblock */ - if ((retval = io_channel_read_blk64(jfs->io, 1, -1024, buf))) { - com_err(program_name, retval, "%s", + if ((retval = io_channel_read_blk(jfs->io, 1, -1024, buf))) { + com_err(program_name, retval, _("while reading journal superblock")); goto no_valid_journal; } jsb = (journal_superblock_t *) buf; - if ((jsb->s_header.h_magic != (unsigned)ntohl(JFS_MAGIC_NUMBER)) || - (jsb->s_header.h_blocktype != (unsigned)ntohl(JFS_SUPERBLOCK_V2))) { + if ((jsb->s_header.h_magic != (unsigned) ntohl(JFS_MAGIC_NUMBER)) || + (jsb->s_header.h_blocktype != (unsigned) ntohl(JFS_SUPERBLOCK_V2))) { fputs(_("Journal superblock not found!\n"), stderr); goto no_valid_journal; } @@ -239,7 +213,8 @@ static int remove_journal_device(ext2_filsys fs) /* Find the filesystem UUID */ nr_users = ntohl(jsb->s_nr_users); for (i = 0; i < nr_users; i++) { - if (memcmp(fs->super->s_uuid, &jsb->s_users[i * 16], 16) == 0) + if (memcmp(fs->super->s_uuid, + &jsb->s_users[i*16], 16) == 0) break; } if (i >= nr_users) { @@ -250,11 +225,11 @@ static int remove_journal_device(ext2_filsys fs) } nr_users--; for (i = 0; i < nr_users; i++) - memcpy(&jsb->s_users[i * 16], &jsb->s_users[(i + 1) * 16], 16); + memcpy(&jsb->s_users[i*16], &jsb->s_users[(i+1)*16], 16); jsb->s_nr_users = htonl(nr_users); /* Write back the journal superblock */ - if ((retval = io_channel_write_blk64(jfs->io, 1, -1024, buf))) { + if ((retval = io_channel_write_blk(jfs->io, 1, -1024, buf))) { com_err(program_name, retval, "while writing journal superblock."); goto no_valid_journal; @@ -264,43 +239,37 @@ static int remove_journal_device(ext2_filsys fs) no_valid_journal: if (commit_remove_journal == 0) { - fputs(_("Cannot locate journal device. It was NOT removed\n" - "Use -f option to remove missing journal device.\n"), - stderr); - return 1; + fputs(_("Journal NOT removed\n"), stderr); + exit(1); } fs->super->s_journal_dev = 0; uuid_clear(fs->super->s_journal_uuid); ext2fs_mark_super_dirty(fs); fputs(_("Journal removed\n"), stdout); free(journal_path); - - return 0; } /* Helper function for remove_journal_inode */ -static int release_blocks_proc(ext2_filsys fs, blk64_t *blocknr, - e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), - blk64_t ref_block EXT2FS_ATTR((unused)), - int ref_offset EXT2FS_ATTR((unused)), +static int release_blocks_proc(ext2_filsys fs, blk_t *blocknr, + int blockcnt EXT2FS_ATTR((unused)), void *private EXT2FS_ATTR((unused))) { - blk64_t block; + blk_t block; int group; block = *blocknr; - ext2fs_unmark_block_bitmap2(fs->block_map, block); - group = ext2fs_group_of_blk2(fs, block); - ext2fs_bg_free_blocks_count_set(fs, group, ext2fs_bg_free_blocks_count(fs, group) + 1); + ext2fs_unmark_block_bitmap(fs->block_map, block); + group = ext2fs_group_of_blk(fs, block); + fs->group_desc[group].bg_free_blocks_count++; ext2fs_group_desc_csum_set(fs, group); - ext2fs_free_blocks_count_add(fs->super, EXT2FS_CLUSTER_RATIO(fs)); + fs->super->s_free_blocks_count++; return 0; } /* * Remove the journal inode from the filesystem */ -static errcode_t remove_journal_inode(ext2_filsys fs) +static void remove_journal_inode(ext2_filsys fs) { struct ext2_inode inode; errcode_t retval; @@ -308,24 +277,24 @@ static errcode_t remove_journal_inode(ext2_filsys fs) retval = ext2fs_read_inode(fs, ino, &inode); if (retval) { - com_err(program_name, retval, "%s", + com_err(program_name, retval, _("while reading journal inode")); - return retval; + exit(1); } if (ino == EXT2_JOURNAL_INO) { retval = ext2fs_read_bitmaps(fs); if (retval) { - com_err(program_name, retval, "%s", + com_err(program_name, retval, _("while reading bitmaps")); - return retval; + exit(1); } - retval = ext2fs_block_iterate3(fs, ino, - BLOCK_FLAG_READ_ONLY, NULL, - release_blocks_proc, NULL); + retval = ext2fs_block_iterate(fs, ino, + BLOCK_FLAG_READ_ONLY, NULL, + release_blocks_proc, NULL); if (retval) { - com_err(program_name, retval, "%s", + com_err(program_name, retval, _("while clearing journal inode")); - return retval; + exit(1); } memset(&inode, 0, sizeof(inode)); ext2fs_mark_bb_dirty(fs); @@ -334,41 +303,27 @@ static errcode_t remove_journal_inode(ext2_filsys fs) inode.i_flags &= ~EXT2_IMMUTABLE_FL; retval = ext2fs_write_inode(fs, ino, &inode); if (retval) { - com_err(program_name, retval, "%s", + com_err(program_name, retval, _("while writing journal inode")); - return retval; + exit(1); } fs->super->s_journal_inum = 0; ext2fs_mark_super_dirty(fs); - - return 0; } /* * Update the default mount options */ -static int update_mntopts(ext2_filsys fs, char *mntopts) +static void update_mntopts(ext2_filsys fs, char *mntopts) { struct ext2_super_block *sb = fs->super; if (e2p_edit_mntopts(mntopts, &sb->s_default_mount_opts, ~0)) { fprintf(stderr, _("Invalid mount option set: %s\n"), mntopts); - return 1; + exit(1); } ext2fs_mark_super_dirty(fs); - - return 0; -} - -static int check_fsck_needed(ext2_filsys fs) -{ - if (fs->super->s_state & EXT2_VALID_FS) - return 0; - printf("\n%s\n", _(please_fsck)); - if (mount_flags & EXT2_MF_READONLY) - printf(_("(and reboot afterwards!)\n")); - return 1; } static void request_fsck_afterwards(ext2_filsys fs) @@ -380,19 +335,19 @@ static void request_fsck_afterwards(ext2_filsys fs) fs->super->s_state &= ~EXT2_VALID_FS; printf("\n%s\n", _(please_fsck)); if (mount_flags & EXT2_MF_READONLY) - printf("%s", _("(and reboot afterwards!)\n")); + printf(_("(and reboot afterwards!)\n")); } /* * Update the feature set as provided by the user. */ -static int update_feature_set(ext2_filsys fs, char *features) +static void update_feature_set(ext2_filsys fs, char *features) { struct ext2_super_block *sb = fs->super; struct ext2_group_desc *gd; + errcode_t retval; __u32 old_features[3]; - dgrp_t i; - int type_err; + int i, type_err; unsigned int mask_err; #define FEATURE_ON(type, mask) (!(old_features[(type)] & (mask)) && \ @@ -423,7 +378,7 @@ static int update_feature_set(ext2_filsys fs, char *features) fprintf(stderr, _("Setting filesystem feature '%s' " "not supported.\n"), e2p_feature2string(type_err, mask_err)); - return 1; + exit(1); } if (FEATURE_OFF(E2P_FEATURE_COMPAT, EXT3_FEATURE_COMPAT_HAS_JOURNAL)) { @@ -433,89 +388,22 @@ static int update_feature_set(ext2_filsys fs, char *features) "cleared when the filesystem is\n" "unmounted or mounted " "read-only.\n"), stderr); - return 1; + exit(1); } if (sb->s_feature_incompat & EXT3_FEATURE_INCOMPAT_RECOVER) { fputs(_("The needs_recovery flag is set. " "Please run e2fsck before clearing\n" "the has_journal flag.\n"), stderr); - return 1; + exit(1); } if (sb->s_journal_inum) { - if (remove_journal_inode(fs)) - return 1; + remove_journal_inode(fs); } if (sb->s_journal_dev) { - if (remove_journal_device(fs)) - return 1; + remove_journal_device(fs); } } - if (FEATURE_ON(E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_MMP)) { - int error; - - if ((mount_flags & EXT2_MF_MOUNTED) || - (mount_flags & EXT2_MF_READONLY)) { - fputs(_("The multiple mount protection feature can't\n" - "be set if the filesystem is mounted or\n" - "read-only.\n"), stderr); - return 1; - } - - error = ext2fs_mmp_init(fs); - if (error) { - fputs(_("\nError while enabling multiple mount " - "protection feature."), stderr); - return 1; - } - - /* - * We want to update group desc with the new free blocks count - */ - fs->flags &= ~EXT2_FLAG_SUPER_ONLY; - - printf(_("Multiple mount protection has been enabled " - "with update interval %ds.\n"), - sb->s_mmp_update_interval); - } - - if (FEATURE_OFF(E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_MMP)) { - int error; - - if (mount_flags & EXT2_MF_READONLY) { - fputs(_("The multiple mount protection feature cannot\n" - "be disabled if the filesystem is readonly.\n"), - stderr); - return 1; - } - - error = ext2fs_read_bitmaps(fs); - if (error) { - fputs(_("Error while reading bitmaps\n"), stderr); - return 1; - } - - error = ext2fs_mmp_read(fs, sb->s_mmp_block, NULL); - if (error) { - struct mmp_struct *mmp_cmp = fs->mmp_cmp; - - if (error == EXT2_ET_MMP_MAGIC_INVALID) - printf(_("Magic number in MMP block does not " - "match. expected: %x, actual: %x\n"), - EXT4_MMP_MAGIC, mmp_cmp->mmp_magic); - else - com_err(program_name, error, "%s", - _("while reading MMP block.")); - goto mmp_error; - } - - /* We need to force out the group descriptors as well */ - fs->flags &= ~EXT2_FLAG_SUPER_ONLY; - ext2fs_block_alloc_stats2(fs, sb->s_mmp_block, -1); -mmp_error: - sb->s_mmp_block = 0; - sb->s_mmp_update_interval = 0; - } if (FEATURE_ON(E2P_FEATURE_COMPAT, EXT3_FEATURE_COMPAT_HAS_JOURNAL)) { /* @@ -540,7 +428,7 @@ mmp_error: fputs(_("Clearing the flex_bg flag would " "cause the the filesystem to be\n" "inconsistent.\n"), stderr); - return 1; + exit(1); } } @@ -552,14 +440,14 @@ mmp_error: "cleared when the filesystem is\n" "unmounted or mounted " "read-only.\n"), stderr); - return 1; + exit(1); } } if (FEATURE_ON(E2P_FEATURE_RO_INCOMPAT, EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) { - for (i = 0; i < fs->group_desc_count; i++) { - gd = ext2fs_group_desc(fs, fs->group_desc, i); + gd = fs->group_desc; + for (i = 0; i < fs->group_desc_count; i++, gd++) { gd->bg_itable_unused = 0; gd->bg_flags = EXT2_BG_INODE_ZEROED; ext2fs_group_desc_csum_set(fs, i); @@ -569,8 +457,8 @@ mmp_error: if (FEATURE_OFF(E2P_FEATURE_RO_INCOMPAT, EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) { - for (i = 0; i < fs->group_desc_count; i++) { - gd = ext2fs_group_desc(fs, fs->group_desc, i); + gd = fs->group_desc; + for (i = 0; i < fs->group_desc_count; i++, gd++) { if ((gd->bg_flags & EXT2_BG_INODE_ZEROED) == 0) { /* * XXX what we really should do is zap @@ -586,36 +474,6 @@ mmp_error: fs->flags &= ~EXT2_FLAG_SUPER_ONLY; } - if (FEATURE_ON(E2P_FEATURE_RO_INCOMPAT, - EXT4_FEATURE_RO_COMPAT_QUOTA)) { - /* - * Set the Q_flag here and handle the quota options in the code - * below. - */ - if (!Q_flag) { - Q_flag = 1; - /* Enable both user quota and group quota by default */ - usrquota = QOPT_ENABLE; - grpquota = QOPT_ENABLE; - } - sb->s_feature_ro_compat &= ~EXT4_FEATURE_RO_COMPAT_QUOTA; - } - - if (FEATURE_OFF(E2P_FEATURE_RO_INCOMPAT, - EXT4_FEATURE_RO_COMPAT_QUOTA)) { - /* - * Set the Q_flag here and handle the quota options in the code - * below. - */ - if (Q_flag) - fputs(_("\nWarning: '^quota' option overrides '-Q'" - "arguments.\n"), stderr); - Q_flag = 1; - /* Disable both user quota and group quota by default */ - usrquota = QOPT_DISABLE; - grpquota = QOPT_DISABLE; - } - if (sb->s_rev_level == EXT2_GOOD_OLD_REV && (sb->s_feature_compat || sb->s_feature_ro_compat || sb->s_feature_incompat)) @@ -637,14 +495,12 @@ mmp_error: (old_features[E2P_FEATURE_INCOMPAT] != sb->s_feature_incompat) || (old_features[E2P_FEATURE_RO_INCOMPAT] != sb->s_feature_ro_compat)) ext2fs_mark_super_dirty(fs); - - return 0; } /* * Add a journal to the filesystem. */ -static int add_journal(ext2_filsys fs) +static void add_journal(ext2_filsys fs) { unsigned long journal_blocks; errcode_t retval; @@ -697,9 +553,9 @@ static int add_journal(ext2_filsys fs) journal_flags); if (retval) { fprintf(stderr, "\n"); - com_err(program_name, retval, "%s", + com_err(program_name, retval, _("\n\twhile trying to create journal file")); - return retval; + exit(1); } else fputs(_("done\n"), stdout); /* @@ -709,109 +565,14 @@ static int add_journal(ext2_filsys fs) if ((mount_flags & EXT2_MF_MOUNTED) == 0) fs->flags &= ~EXT2_FLAG_SUPER_ONLY; } - print_check_message(fs->super->s_max_mnt_count, - fs->super->s_checkinterval); - return 0; + print_check_message(fs); + return; err: free(journal_device); - return 1; -} - -static void handle_quota_options(ext2_filsys fs) -{ - quota_ctx_t qctx; - ext2_ino_t qf_ino; - - if (!usrquota && !grpquota) - /* Nothing to do. */ - return; - - quota_init_context(&qctx, fs, -1); - - if (usrquota == QOPT_ENABLE || grpquota == QOPT_ENABLE) - quota_compute_usage(qctx); - - if (usrquota == QOPT_ENABLE && !fs->super->s_usr_quota_inum) { - if ((qf_ino = quota_file_exists(fs, USRQUOTA, - QFMT_VFS_V1)) > 0) - quota_update_limits(qctx, qf_ino, USRQUOTA); - quota_write_inode(qctx, USRQUOTA); - } else if (usrquota == QOPT_DISABLE) { - quota_remove_inode(fs, USRQUOTA); - } - - if (grpquota == QOPT_ENABLE && !fs->super->s_grp_quota_inum) { - if ((qf_ino = quota_file_exists(fs, GRPQUOTA, - QFMT_VFS_V1)) > 0) - quota_update_limits(qctx, qf_ino, GRPQUOTA); - quota_write_inode(qctx, GRPQUOTA); - } else if (grpquota == QOPT_DISABLE) { - quota_remove_inode(fs, GRPQUOTA); - } - - quota_release_context(&qctx); - - if ((usrquota == QOPT_ENABLE) || (grpquota == QOPT_ENABLE)) { - fprintf(stderr, "%s", _("\nWarning: the quota feature is still " - "under development\n" - "See https://ext4.wiki.kernel.org/" - "index.php/Quota for more information\n\n")); - fs->super->s_feature_ro_compat |= EXT4_FEATURE_RO_COMPAT_QUOTA; - ext2fs_mark_super_dirty(fs); - } else if (!fs->super->s_usr_quota_inum && - !fs->super->s_grp_quota_inum) { - fs->super->s_feature_ro_compat &= ~EXT4_FEATURE_RO_COMPAT_QUOTA; - ext2fs_mark_super_dirty(fs); - } - - return; + exit(1); } -#ifdef CONFIG_QUOTA -static void parse_quota_opts(const char *opts) -{ - char *buf, *token, *next, *p; - int len; - - len = strlen(opts); - buf = malloc(len+1); - if (!buf) { - fputs(_("Couldn't allocate memory to parse quota " - "options!\n"), stderr); - exit(1); - } - strcpy(buf, opts); - for (token = buf; token && *token; token = next) { - p = strchr(token, ','); - next = 0; - if (p) { - *p = 0; - next = p+1; - } - - if (strcmp(token, "usrquota") == 0) { - usrquota = QOPT_ENABLE; - } else if (strcmp(token, "^usrquota") == 0) { - usrquota = QOPT_DISABLE; - } else if (strcmp(token, "grpquota") == 0) { - grpquota = QOPT_ENABLE; - } else if (strcmp(token, "^grpquota") == 0) { - grpquota = QOPT_DISABLE; - } else { - fputs(_("\nBad quota options specified.\n\n" - "Following valid quota options are available " - "(pass by separating with comma):\n" - "\t[^]usrquota\n" - "\t[^]grpquota\n" - "\n\n"), stderr); - free(buf); - exit(1); - } - } - free(buf); -} -#endif static void parse_e2label_options(int argc, char ** argv) { @@ -873,15 +634,11 @@ static void parse_tune2fs_options(int argc, char **argv) char *tmp; struct group *gr; struct passwd *pw; - char optstring[100] = "c:e:fg:i:jlm:o:r:s:u:C:E:I:J:L:M:O:T:U:"; -#ifdef CONFIG_QUOTA - strcat(optstring, "Q:"); -#endif open_flag = 0; printf("tune2fs %s (%s)\n", E2FSPROGS_VERSION, E2FSPROGS_DATE); - while ((c = getopt(argc, argv, optstring)) != EOF) + while ((c = getopt(argc, argv, "c:e:fg:i:jlm:o:r:s:u:C:E:I:J:L:M:O:T:U:")) != EOF) switch (c) { case 'c': max_mount_count = strtol(optarg, &tmp, 0); @@ -1019,29 +776,23 @@ static void parse_tune2fs_options(int argc, char **argv) break; case 'o': if (mntopts_cmd) { - com_err(program_name, 0, "%s", + com_err(program_name, 0, _("-o may only be specified once")); usage(); } mntopts_cmd = optarg; open_flag = EXT2_FLAG_RW; break; + case 'O': if (features_cmd) { - com_err(program_name, 0, "%s", + com_err(program_name, 0, _("-O may only be specified once")); usage(); } features_cmd = optarg; open_flag = EXT2_FLAG_RW; break; -#ifdef CONFIG_QUOTA - case 'Q': - Q_flag = 1; - parse_quota_opts(optarg); - open_flag = EXT2_FLAG_RW; - break; -#endif case 'r': reserved_blocks = strtoul(optarg, &tmp, 0); if (*tmp) { @@ -1119,7 +870,7 @@ static void parse_tune2fs_options(int argc, char **argv) *io_options++ = 0; device_name = blkid_get_devname(NULL, argv[optind], NULL); if (!device_name) { - com_err(program_name, 0, _("Unable to resolve '%s'"), + com_err("tune2fs", 0, _("Unable to resolve '%s'"), argv[optind]); exit(1); } @@ -1146,7 +897,7 @@ void do_findfs(int argc, char **argv) } #endif -static int parse_extended_opts(ext2_filsys fs, const char *opts) +static void parse_extended_opts(ext2_filsys fs, const char *opts) { char *buf, *token, *next, *p, *arg; int len, hash_alg; @@ -1155,9 +906,9 @@ static int parse_extended_opts(ext2_filsys fs, const char *opts) len = strlen(opts); buf = malloc(len+1); if (!buf) { - fprintf(stderr, "%s", + fprintf(stderr, _("Couldn't allocate memory to parse options!\n")); - return 1; + exit(1); } strcpy(buf, opts); for (token = buf; token && *token; token = next) { @@ -1172,40 +923,7 @@ static int parse_extended_opts(ext2_filsys fs, const char *opts) *arg = 0; arg++; } - if (strcmp(token, "clear-mmp") == 0 || - strcmp(token, "clear_mmp") == 0) { - clear_mmp = 1; - } else if (strcmp(token, "mmp_update_interval") == 0) { - unsigned long intv; - if (!arg) { - r_usage++; - continue; - } - intv = strtoul(arg, &p, 0); - if (*p) { - fprintf(stderr, - _("Invalid mmp_update_interval: %s\n"), - arg); - r_usage++; - continue; - } - if (intv == 0) { - intv = EXT4_MMP_UPDATE_INTERVAL; - } else if (intv > EXT4_MMP_MAX_UPDATE_INTERVAL) { - fprintf(stderr, - _("mmp_update_interval too big: %lu\n"), - intv); - r_usage++; - continue; - } - printf(P_("Setting multiple mount protection update " - "interval to %lu second\n", - "Setting multiple mount protection update " - "interval to %lu seconds\n", intv), - intv); - fs->super->s_mmp_update_interval = intv; - ext2fs_mark_super_dirty(fs); - } else if (!strcmp(token, "test_fs")) { + if (!strcmp(token, "test_fs")) { fs->super->s_flags |= EXT2_FLAGS_TEST_FILESYS; printf("Setting test filesystem flag\n"); ext2fs_mark_super_dirty(fs); @@ -1219,9 +937,9 @@ static int parse_extended_opts(ext2_filsys fs, const char *opts) continue; } stride = strtoul(arg, &p, 0); - if (*p) { + if (*p || (stride == 0)) { fprintf(stderr, - _("Invalid RAID stride: %s\n"), + _("Invalid RAID stride: %s\n"), arg); r_usage++; continue; @@ -1234,7 +952,7 @@ static int parse_extended_opts(ext2_filsys fs, const char *opts) continue; } stripe_width = strtoul(arg, &p, 0); - if (*p) { + if (*p || (stripe_width == 0)) { fprintf(stderr, _("Invalid RAID stripe-width: %s\n"), arg); @@ -1261,7 +979,7 @@ static int parse_extended_opts(ext2_filsys fs, const char *opts) "to %s (%d)\n"), arg, hash_alg); ext2fs_mark_super_dirty(fs); - } else if (!strcmp(token, "mount_opts")) { + } else if (strcmp(token, "mount-options")) { if (!arg) { r_usage++; continue; @@ -1271,29 +989,26 @@ static int parse_extended_opts(ext2_filsys fs, const char *opts) "Extended mount options too long\n"); continue; } - ext_mount_opts = strdup(arg); + strcpy(fs->super->s_mount_opts, arg); + ext2fs_mark_super_dirty(fs); } else r_usage++; } if (r_usage) { - fprintf(stderr, "%s", _("\nBad options specified.\n\n" + fprintf(stderr, _("\nBad options specified.\n\n" "Extended options are separated by commas, " "and may take an argument which\n" "\tis set off by an equals ('=') sign.\n\n" "Valid extended options are:\n" - "\tclear_mmp\n" - "\thash_alg=\n" - "\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" + "\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n")); free(buf); - return 1; + exit(1); } free(buf); - - return 0; } /* @@ -1306,22 +1021,22 @@ static int get_move_bitmaps(ext2_filsys fs, int new_ino_blks_per_grp, dgrp_t i; int retval; ext2_badblocks_list bb_list = 0; - blk64_t j, needed_blocks = 0; - blk64_t start_blk, end_blk; + blk_t j, needed_blocks = 0; + blk_t start_blk, end_blk; retval = ext2fs_read_bb_inode(fs, &bb_list); if (retval) return retval; for (i = 0; i < fs->group_desc_count; i++) { - start_blk = ext2fs_inode_table_loc(fs, i) + + start_blk = fs->group_desc[i].bg_inode_table + fs->inode_blocks_per_group; - end_blk = ext2fs_inode_table_loc(fs, i) + + end_blk = fs->group_desc[i].bg_inode_table + new_ino_blks_per_grp; for (j = start_blk; j < end_blk; j++) { - if (ext2fs_test_block_bitmap2(fs->block_map, j)) { + if (ext2fs_test_block_bitmap(fs->block_map, j)) { /* * IF the block is a bad block we fail */ @@ -1330,39 +1045,39 @@ static int get_move_bitmaps(ext2_filsys fs, int new_ino_blks_per_grp, return ENOSPC; } - ext2fs_mark_block_bitmap2(bmap, j); + ext2fs_mark_block_bitmap(bmap, j); } else { /* * We are going to use this block for * inode table. So mark them used. */ - ext2fs_mark_block_bitmap2(fs->block_map, j); + ext2fs_mark_block_bitmap(fs->block_map, j); } } needed_blocks += end_blk - start_blk; } ext2fs_badblocks_list_free(bb_list); - if (needed_blocks > ext2fs_free_blocks_count(fs->super)) + if (needed_blocks > fs->super->s_free_blocks_count) return ENOSPC; return 0; } -static int ext2fs_is_meta_block(ext2_filsys fs, blk64_t blk) +static int ext2fs_is_meta_block(ext2_filsys fs, blk_t blk) { dgrp_t group; - group = ext2fs_group_of_blk2(fs, blk); - if (ext2fs_block_bitmap_loc(fs, group) == blk) + group = ext2fs_group_of_blk(fs, blk); + if (fs->group_desc[group].bg_block_bitmap == blk) return 1; - if (ext2fs_inode_bitmap_loc(fs, group) == blk) + if (fs->group_desc[group].bg_inode_bitmap == blk) return 1; return 0; } -static int ext2fs_is_block_in_group(ext2_filsys fs, dgrp_t group, blk64_t blk) +static int ext2fs_is_block_in_group(ext2_filsys fs, dgrp_t group, blk_t blk) { - blk64_t start_blk, end_blk; + blk_t start_blk, end_blk; start_blk = fs->super->s_first_data_block + EXT2_BLOCKS_PER_GROUP(fs->super) * group; /* @@ -1379,10 +1094,10 @@ static int move_block(ext2_filsys fs, ext2fs_block_bitmap bmap) { char *buf; - dgrp_t group = 0; + dgrp_t group; errcode_t retval; int meta_data = 0; - blk64_t blk, new_blk, goal; + blk_t blk, new_blk, goal; struct blk_move *bmv; retval = ext2fs_get_mem(fs->blocksize, &buf); @@ -1390,8 +1105,8 @@ static int move_block(ext2_filsys fs, ext2fs_block_bitmap bmap) return retval; for (new_blk = blk = fs->super->s_first_data_block; - blk < ext2fs_blocks_count(fs->super); blk++) { - if (!ext2fs_test_block_bitmap2(bmap, blk)) + blk < fs->super->s_blocks_count; blk++) { + if (!ext2fs_test_block_bitmap(bmap, blk)) continue; if (ext2fs_is_meta_block(fs, blk)) { @@ -1402,14 +1117,14 @@ static int move_block(ext2_filsys fs, ext2fs_block_bitmap bmap) * the respective fs metadata pointers. Otherwise * fail */ - group = ext2fs_group_of_blk2(fs, blk); - goal = ext2fs_group_first_block2(fs, group); + group = ext2fs_group_of_blk(fs, blk); + goal = ext2fs_group_first_block(fs, group); meta_data = 1; } else { goal = new_blk; } - retval = ext2fs_new_block2(fs, goal, NULL, &new_blk); + retval = ext2fs_new_block(fs, goal, NULL, &new_blk); if (retval) goto err_out; @@ -1420,7 +1135,7 @@ static int move_block(ext2_filsys fs, ext2fs_block_bitmap bmap) } /* Mark this block as allocated */ - ext2fs_mark_block_bitmap2(fs->block_map, new_blk); + ext2fs_mark_block_bitmap(fs->block_map, new_blk); /* Add it to block move list */ retval = ext2fs_get_mem(sizeof(struct blk_move), &bmv); @@ -1432,11 +1147,11 @@ static int move_block(ext2_filsys fs, ext2fs_block_bitmap bmap) list_add(&(bmv->list), &blk_move_list); - retval = io_channel_read_blk64(fs->io, blk, 1, buf); + retval = io_channel_read_blk(fs->io, blk, 1, buf); if (retval) goto err_out; - retval = io_channel_write_blk64(fs->io, new_blk, 1, buf); + retval = io_channel_write_blk(fs->io, new_blk, 1, buf); if (retval) goto err_out; } @@ -1446,7 +1161,7 @@ err_out: return retval; } -static blk64_t translate_block(blk64_t blk) +static blk_t translate_block(blk_t blk) { struct list_head *entry; struct blk_move *bmv; @@ -1461,17 +1176,17 @@ static blk64_t translate_block(blk64_t blk) } static int process_block(ext2_filsys fs EXT2FS_ATTR((unused)), - blk64_t *block_nr, + blk_t *block_nr, e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { int ret = 0; - blk64_t new_blk; + blk_t new_blk; ext2fs_block_bitmap bmap = (ext2fs_block_bitmap) priv_data; - if (!ext2fs_test_block_bitmap2(bmap, *block_nr)) + if (!ext2fs_test_block_bitmap(bmap, *block_nr)) return 0; new_blk = translate_block(*block_nr); if (new_blk) { @@ -1489,7 +1204,7 @@ static int inode_scan_and_fix(ext2_filsys fs, ext2fs_block_bitmap bmap) { errcode_t retval = 0; ext2_ino_t ino; - blk64_t blk; + blk_t blk; char *block_buf = 0; struct ext2_inode inode; ext2_inode_scan scan = NULL; @@ -1520,15 +1235,13 @@ static int inode_scan_and_fix(ext2_filsys fs, ext2fs_block_bitmap bmap) * Do we need to fix this ?? */ - if (ext2fs_file_acl_block(fs, &inode) && - ext2fs_test_block_bitmap2(bmap, - ext2fs_file_acl_block(fs, &inode))) { - blk = translate_block(ext2fs_file_acl_block(fs, - &inode)); + if (inode.i_file_acl && + ext2fs_test_block_bitmap(bmap, inode.i_file_acl)) { + blk = translate_block(inode.i_file_acl); if (!blk) continue; - ext2fs_file_acl_block_set(fs, &inode, blk); + inode.i_file_acl = blk; /* * Write the inode to disk so that inode table @@ -1539,10 +1252,10 @@ static int inode_scan_and_fix(ext2_filsys fs, ext2fs_block_bitmap bmap) goto err_out; } - if (!ext2fs_inode_has_valid_blocks2(fs, &inode)) + if (!ext2fs_inode_has_valid_blocks(&inode)) continue; - retval = ext2fs_block_iterate3(fs, ino, 0, block_buf, + retval = ext2fs_block_iterate2(fs, ino, 0, block_buf, process_block, bmap); if (retval) goto err_out; @@ -1563,23 +1276,23 @@ err_out: static int group_desc_scan_and_fix(ext2_filsys fs, ext2fs_block_bitmap bmap) { dgrp_t i; - blk64_t blk, new_blk; + blk_t blk, new_blk; for (i = 0; i < fs->group_desc_count; i++) { - blk = ext2fs_block_bitmap_loc(fs, i); - if (ext2fs_test_block_bitmap2(bmap, blk)) { + blk = fs->group_desc[i].bg_block_bitmap; + if (ext2fs_test_block_bitmap(bmap, blk)) { new_blk = translate_block(blk); if (!new_blk) continue; - ext2fs_block_bitmap_loc_set(fs, i, new_blk); + fs->group_desc[i].bg_block_bitmap = new_blk; } - blk = ext2fs_inode_bitmap_loc(fs, i); - if (ext2fs_test_block_bitmap2(bmap, blk)) { + blk = fs->group_desc[i].bg_inode_bitmap; + if (ext2fs_test_block_bitmap(bmap, blk)) { new_blk = translate_block(blk); if (!new_blk) continue; - ext2fs_inode_bitmap_loc_set(fs, i, new_blk); + fs->group_desc[i].bg_inode_bitmap = new_blk; } } return 0; @@ -1588,7 +1301,7 @@ static int group_desc_scan_and_fix(ext2_filsys fs, ext2fs_block_bitmap bmap) static int expand_inode_table(ext2_filsys fs, unsigned long new_ino_size) { dgrp_t i; - blk64_t blk; + blk_t blk; errcode_t retval; int new_ino_blks_per_grp; unsigned int j; @@ -1619,8 +1332,8 @@ static int expand_inode_table(ext2_filsys fs, unsigned long new_ino_size) tmp_new_itable = new_itable; for (i = 0; i < fs->group_desc_count; i++) { - blk = ext2fs_inode_table_loc(fs, i); - retval = io_channel_read_blk64(fs->io, blk, + blk = fs->group_desc[i].bg_inode_table; + retval = io_channel_read_blk(fs->io, blk, fs->inode_blocks_per_group, old_itable); if (retval) goto err_out; @@ -1639,7 +1352,7 @@ static int expand_inode_table(ext2_filsys fs, unsigned long new_ino_size) old_itable = tmp_old_itable; new_itable = tmp_new_itable; - retval = io_channel_write_blk64(fs->io, blk, + retval = io_channel_write_blk(fs->io, blk, new_ino_blks_per_grp, new_itable); if (retval) goto err_out; @@ -1661,7 +1374,7 @@ err_out: static errcode_t ext2fs_calculate_summary_stats(ext2_filsys fs) { - blk64_t blk; + blk_t blk; ext2_ino_t ino; unsigned int group = 0; unsigned int count = 0; @@ -1672,22 +1385,21 @@ static errcode_t ext2fs_calculate_summary_stats(ext2_filsys fs) * First calculate the block statistics */ for (blk = fs->super->s_first_data_block; - blk < ext2fs_blocks_count(fs->super); blk++) { - if (!ext2fs_fast_test_block_bitmap2(fs->block_map, blk)) { + blk < fs->super->s_blocks_count; blk++) { + if (!ext2fs_fast_test_block_bitmap(fs->block_map, blk)) { group_free++; total_free++; } count++; if ((count == fs->super->s_blocks_per_group) || - (blk == ext2fs_blocks_count(fs->super)-1)) { - ext2fs_bg_free_blocks_count_set(fs, group++, - group_free); + (blk == fs->super->s_blocks_count-1)) { + fs->group_desc[group++].bg_free_blocks_count = + group_free; count = 0; group_free = 0; } } - total_free = EXT2FS_C2B(fs, total_free); - ext2fs_free_blocks_count_set(fs->super, total_free); + fs->super->s_free_blocks_count = total_free; /* * Next, calculate the inode statistics @@ -1699,15 +1411,15 @@ static errcode_t ext2fs_calculate_summary_stats(ext2_filsys fs) /* Protect loop from wrap-around if s_inodes_count maxed */ for (ino = 1; ino <= fs->super->s_inodes_count && ino > 0; ino++) { - if (!ext2fs_fast_test_inode_bitmap2(fs->inode_map, ino)) { + if (!ext2fs_fast_test_inode_bitmap(fs->inode_map, ino)) { group_free++; total_free++; } count++; if ((count == fs->super->s_inodes_per_group) || (ino == fs->super->s_inodes_count)) { - ext2fs_bg_free_inodes_count_set(fs, group++, - group_free); + fs->group_desc[group++].bg_free_inodes_count = + group_free; count = 0; group_free = 0; } @@ -1740,16 +1452,8 @@ static int resize_inode(ext2_filsys fs, unsigned long new_size) int new_ino_blks_per_grp; ext2fs_block_bitmap bmap; - retval = ext2fs_read_inode_bitmap(fs); - if (retval) { - fputs(_("Failed to read inode bitmap\n"), stderr); - return retval; - } - retval = ext2fs_read_block_bitmap(fs); - if (retval) { - fputs(_("Failed to read block bitmap\n"), stderr); - return retval; - } + ext2fs_read_inode_bitmap(fs); + ext2fs_read_block_bitmap(fs); INIT_LIST_HEAD(&blk_move_list); @@ -1836,7 +1540,7 @@ static int tune2fs_setup_tdb(const char *name, io_manager *io_ptr) tmp_name = strdup(name); if (!tmp_name) { alloc_fn_fail: - com_err(program_name, ENOMEM, "%s", + com_err(program_name, ENOMEM, _("Couldn't allocate memory for tdb filename\n")); return ENOMEM; } @@ -1883,14 +1587,12 @@ int main(int argc, char **argv) ext2_filsys fs; struct ext2_super_block *sb; io_manager io_ptr, io_ptr_orig = NULL; - int rc = 0; #ifdef ENABLE_NLS setlocale(LC_MESSAGES, ""); setlocale(LC_CTYPE, ""); bindtextdomain(NLS_CAT_NAME, LOCALEDIR); textdomain(NLS_CAT_NAME); - set_com_err_gettext(gettext); #endif if (argc && *argv) program_name = *argv; @@ -1914,40 +1616,16 @@ int main(int argc, char **argv) io_ptr = unix_io_manager; retry_open: - if ((open_flag & EXT2_FLAG_RW) == 0 || f_flag) - open_flag |= EXT2_FLAG_SKIP_MMP; - - open_flag |= EXT2_FLAG_64BITS; - - /* keep the filesystem struct around to dump MMP data */ - open_flag |= EXT2_FLAG_NOFREE_ON_ERROR; - retval = ext2fs_open2(device_name, io_options, open_flag, 0, 0, io_ptr, &fs); if (retval) { - com_err(program_name, retval, - _("while trying to open %s"), + com_err(program_name, retval, + _("while trying to open %s"), device_name); - if (retval == EXT2_ET_MMP_FSCK_ON || - retval == EXT2_ET_MMP_UNKNOWN_SEQ) - dump_mmp_msg(fs->mmp_buf, - _("If you are sure the filesystem " - "is not in use on any node, run:\n" - "'tune2fs -f -E clear_mmp {device}'\n")); - else if (retval == EXT2_ET_MMP_FAILED) - dump_mmp_msg(fs->mmp_buf, NULL); - else if (retval == EXT2_ET_MMP_MAGIC_INVALID) - fprintf(stderr, - _("MMP block magic is bad. Try to fix it by " - "running:\n'e2fsck -f %s'\n"), device_name); - else if (retval != EXT2_ET_MMP_FAILED) - fprintf(stderr, "%s", - _("Couldn't find valid filesystem superblock.\n")); - - ext2fs_free(fs); + fprintf(stderr, + _("Couldn't find valid filesystem superblock.\n")); exit(1); } - fs->default_bitmap_type = EXT2FS_BMAP64_RBTREE; if (I_flag && !io_ptr_orig) { /* @@ -1958,20 +1636,12 @@ retry_open: if (new_inode_size == EXT2_INODE_SIZE(fs->super)) { fprintf(stderr, _("The inode size is already %lu\n"), new_inode_size); - rc = 1; - goto closefs; + exit(1); } if (new_inode_size < EXT2_INODE_SIZE(fs->super)) { - fprintf(stderr, "%s", - _("Shrinking inode size is not supported\n")); - rc = 1; - goto closefs; - } - if (new_inode_size > fs->blocksize) { - fprintf(stderr, _("Invalid inode size %lu (max %d)\n"), - new_inode_size, fs->blocksize); - rc = 1; - goto closefs; + fprintf(stderr, _("Shrinking the inode size is " + "not supported\n")); + exit(1); } /* @@ -1980,10 +1650,8 @@ retry_open: */ io_ptr_orig = io_ptr; retval = tune2fs_setup_tdb(device_name, &io_ptr); - if (retval) { - rc = 1; - goto closefs; - } + if (retval) + exit(1); if (io_ptr != io_ptr_orig) { ext2fs_close(fs); goto retry_open; @@ -1998,7 +1666,7 @@ retry_open: printf("%.*s\n", (int) sizeof(sb->s_volume_name), sb->s_volume_name); remove_error_table(&et_ext2_error_table); - goto closefs; + exit(0); } retval = ext2fs_check_if_mounted(device_name, &mount_flags); @@ -2006,8 +1674,7 @@ retry_open: com_err("ext2fs_check_if_mount", retval, _("while determining whether %s is mounted."), device_name); - rc = 1; - goto closefs; + exit(1); } /* Normally we only need to write out the superblock */ fs->flags |= EXT2_FLAG_SUPER_ONLY; @@ -2034,36 +1701,29 @@ retry_open: printf(_("Setting reserved blocks gid to %lu\n"), resgid); } if (i_flag) { - if (interval >= (1ULL << 32)) { - com_err(program_name, 0, - _("interval between checks is too big (%lu)"), - interval); - rc = 1; - goto closefs; - } sb->s_checkinterval = interval; ext2fs_mark_super_dirty(fs); printf(_("Setting interval between checks to %lu seconds\n"), interval); } if (m_flag) { - ext2fs_r_blocks_count_set(sb, reserved_ratio * - ext2fs_blocks_count(sb) / 100.0); + sb->s_r_blocks_count = (unsigned int) (reserved_ratio * + sb->s_blocks_count / 100.0); ext2fs_mark_super_dirty(fs); - printf (_("Setting reserved blocks percentage to %g%% (%llu blocks)\n"), - reserved_ratio, ext2fs_r_blocks_count(sb)); + printf(_("Setting reserved blocks percentage to %g%% " + "(%u blocks)\n"), + reserved_ratio, sb->s_r_blocks_count); } if (r_flag) { - if (reserved_blocks > ext2fs_blocks_count(sb)/2) { + if (reserved_blocks >= sb->s_blocks_count/2) { com_err(program_name, 0, - _("reserved blocks count is too big (%llu)"), + _("reserved blocks count is too big (%lu)"), reserved_blocks); - rc = 1; - goto closefs; + exit(1); } - ext2fs_r_blocks_count_set(sb, reserved_blocks); + sb->s_r_blocks_count = reserved_blocks; ext2fs_mark_super_dirty(fs); - printf(_("Setting reserved blocks count to %llu\n"), + printf(_("Setting reserved blocks count to %lu\n"), reserved_blocks); } if (s_flag == 1) { @@ -2083,8 +1743,7 @@ retry_open: if (s_flag == 0) { fputs(_("\nClearing the sparse superflag not supported.\n"), stderr); - rc = 1; - goto closefs; + exit(1); } if (T_flag) { sb->s_lastcheck = last_check_time; @@ -2112,46 +1771,14 @@ retry_open: sizeof(sb->s_last_mounted)); ext2fs_mark_super_dirty(fs); } - if (mntopts_cmd) { - rc = update_mntopts(fs, mntopts_cmd); - if (rc) - goto closefs; - } - if (features_cmd) { - rc = update_feature_set(fs, features_cmd); - if (rc) - goto closefs; - } - if (extended_cmd) { - rc = parse_extended_opts(fs, extended_cmd); - if (rc) - goto closefs; - if (clear_mmp && !f_flag) { - fputs(_("Error in using clear_mmp. " - "It must be used with -f\n"), - stderr); - goto closefs; - } - } - if (clear_mmp) { - rc = ext2fs_mmp_clear(fs); - goto closefs; - } - if (journal_size || journal_device) { - rc = add_journal(fs); - if (rc) - goto closefs; - } - - if (Q_flag) { - if (mount_flags & EXT2_MF_MOUNTED) { - fputs(_("The quota feature may only be changed when " - "the filesystem is unmounted.\n"), stderr); - rc = 1; - goto closefs; - } - handle_quota_options(fs); - } + if (mntopts_cmd) + update_mntopts(fs, mntopts_cmd); + if (features_cmd) + update_feature_set(fs, features_cmd); + if (extended_cmd) + parse_extended_opts(fs, extended_cmd); + if (journal_size || journal_device) + add_journal(fs); if (U_flag) { int set_csum = 0; @@ -2159,19 +1786,6 @@ retry_open: if (sb->s_feature_ro_compat & EXT4_FEATURE_RO_COMPAT_GDT_CSUM) { - /* - * Changing the UUID requires rewriting all metadata, - * which can race with a mounted fs. Don't allow that. - */ - if (mount_flags & EXT2_MF_MOUNTED) { - fputs(_("The UUID may only be " - "changed when the filesystem is " - "unmounted.\n"), stderr); - exit(1); - } - if (check_fsck_needed(fs)) - exit(1); - /* * Determine if the block group checksums are * correct so we know whether or not to set @@ -2191,10 +1805,8 @@ retry_open: } else if (strcasecmp(new_UUID, "random") == 0) { uuid_generate(sb->s_uuid); } else if (uuid_parse(new_UUID, sb->s_uuid)) { - com_err(program_name, 0, "%s", - _("Invalid UUID format\n")); - rc = 1; - goto closefs; + com_err(program_name, 0, _("Invalid UUID format\n")); + exit(1); } if (set_csum) { for (i = 0; i < fs->group_desc_count; i++) @@ -2208,8 +1820,7 @@ retry_open: fputs(_("The inode size may only be " "changed when the filesystem is " "unmounted.\n"), stderr); - rc = 1; - goto closefs; + exit(1); } if (fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_FLEX_BG) { @@ -2217,8 +1828,7 @@ retry_open: "filesystems with the flex_bg\n" "feature enabled.\n"), stderr); - rc = 1; - goto closefs; + exit(1); } /* * We want to update group descriptor also @@ -2228,10 +1838,6 @@ retry_open: if (resize_inode(fs, new_inode_size) == 0) { printf(_("Setting inode size %lu\n"), new_inode_size); - } else { - printf("%s", _("Failed to change inode size\n")); - rc = 1; - goto closefs; } } @@ -2247,23 +1853,7 @@ retry_open: ext2fs_mark_super_dirty(fs); printf(_("Setting stripe width to %d\n"), stripe_width); } - if (ext_mount_opts) { - strncpy((char *)(fs->super->s_mount_opts), ext_mount_opts, - sizeof(fs->super->s_mount_opts)); - fs->super->s_mount_opts[sizeof(fs->super->s_mount_opts)-1] = 0; - ext2fs_mark_super_dirty(fs); - printf(_("Setting extended default mount options to '%s'\n"), - ext_mount_opts); - free(ext_mount_opts); - } free(device_name); remove_error_table(&et_ext2_error_table); - -closefs: - if (rc) { - ext2fs_mmp_stop(fs); - exit(1); - } - return (ext2fs_close(fs) ? 1 : 0); } diff --git a/misc/util.c b/misc/util.c index e62cc7fd..28979372 100644 --- a/misc/util.c +++ b/misc/util.c @@ -23,7 +23,6 @@ #ifdef HAVE_SYS_STAT_H #include #endif -#include #include "et/com_err.h" #include "e2p/e2p.h" @@ -80,9 +79,15 @@ void proceed_question(void) void check_plausibility(const char *device) { int val; - ext2fs_struct_stat s; +#ifdef HAVE_OPEN64 + struct stat64 s; - val = ext2fs_stat(device, &s); + val = stat64(device, &s); +#else + struct stat s; + + val = stat(device, &s); +#endif if(val == -1) { fprintf(stderr, _("Could not stat %s --- %s\n"), @@ -149,7 +154,7 @@ void check_mount(const char *device, int force, const char *type) } if (mount_flags & EXT2_MF_MOUNTED) { fprintf(stderr, _("%s is mounted; "), device); - if (force >= 2) { + if (force > 2) { fputs(_("mke2fs forced anyway. Hope /etc/mtab is " "incorrect.\n"), stderr); return; @@ -161,7 +166,7 @@ void check_mount(const char *device, int force, const char *type) if (mount_flags & EXT2_MF_BUSY) { fprintf(stderr, _("%s is apparently in use by the system; "), device); - if (force >= 2) { + if (force > 2) { fputs(_("mke2fs forced anyway.\n"), stderr); return; } @@ -252,7 +257,7 @@ unsigned int figure_journal_size(int size, ext2_filsys fs) { int j_blocks; - j_blocks = ext2fs_default_journal_size(ext2fs_blocks_count(fs->super)); + j_blocks = ext2fs_default_journal_size(fs->super->s_blocks_count); if (j_blocks < 0) { fputs(_("\nFilesystem too small for a journal\n"), stderr); return 0; @@ -268,7 +273,7 @@ unsigned int figure_journal_size(int size, ext2_filsys fs) j_blocks); exit(1); } - if ((unsigned) j_blocks > ext2fs_free_blocks_count(fs->super) / 2) { + if ((unsigned) j_blocks > fs->super->s_free_blocks_count / 2) { fputs(_("\nJournal size too big for filesystem.\n"), stderr); exit(1); @@ -277,28 +282,12 @@ unsigned int figure_journal_size(int size, ext2_filsys fs) return j_blocks; } -void print_check_message(int mnt, unsigned int check) +void print_check_message(ext2_filsys fs) { - if (mnt < 0) - mnt = 0; - if (!mnt && !check) - return; printf(_("This filesystem will be automatically " "checked every %d mounts or\n" "%g days, whichever comes first. " "Use tune2fs -c or -i to override.\n"), - mnt, ((double) check) / (3600 * 24)); -} - -void dump_mmp_msg(struct mmp_struct *mmp, const char *msg) -{ - - if (msg) - printf("MMP check failed: %s\n", msg); - if (mmp) { - time_t t = mmp->mmp_time; - - printf("MMP error info: last update: %s node: %s device: %s\n", - ctime(&t), mmp->mmp_nodename, mmp->mmp_bdevname); - } + fs->super->s_max_mnt_count, + (double)fs->super->s_checkinterval / (3600 * 24)); } diff --git a/misc/util.h b/misc/util.h index f872c38c..e0c99f6c 100644 --- a/misc/util.h +++ b/misc/util.h @@ -23,5 +23,4 @@ extern void check_plausibility(const char *device); extern void parse_journal_opts(const char *opts); extern void check_mount(const char *device, int force, const char *type); extern unsigned int figure_journal_size(int size, ext2_filsys fs); -extern void print_check_message(int, unsigned int); -extern void dump_mmp_msg(struct mmp_struct *mmp, const char *msg); +extern void print_check_message(ext2_filsys fs); diff --git a/misc/uuidd.c b/misc/uuidd.c index c00c9e20..89bff721 100644 --- a/misc/uuidd.c +++ b/misc/uuidd.c @@ -395,11 +395,8 @@ static void server_loop(const char *socket_path, const char *pidfile_path, uuid__generate_time(uu, &num); if (debug) { uuid_unparse(uu, str); - printf(P_("Generated time UUID %s and " - "subsequent UUID\n", - "Generated time UUID %s and %d " - "subsequent UUIDs\n", num), - str, num); + printf(_("Generated time UUID %s and %d " + "following\n"), str, num); } memcpy(reply_buf, uu, sizeof(uu)); reply_len = sizeof(uu); @@ -475,7 +472,6 @@ int main(int argc, char **argv) fprintf(stderr, _("Bad number: %s\n"), optarg); exit(1); } - break; case 'p': pidfile_path = optarg; drop_privs = 1; @@ -539,11 +535,9 @@ int main(int argc, char **argv) uuid_unparse((unsigned char *) buf, str); - printf(P_("%s and subsequent UUID\n", - "%s and subsequent %d UUIDs\n", num), - str, num); + printf(_("%s and subsequent %d UUID's\n"), str, num); } else { - printf("%s", _("List of UUID's:\n")); + printf(_("List of UUID's:\n")); cp = buf + 4; if (ret != (int) (sizeof(num) + num*sizeof(uu))) goto unexpected_size; diff --git a/po/Makefile.in.in b/po/Makefile.in.in index 8dbd0c52..843b0210 100644 --- a/po/Makefile.in.in +++ b/po/Makefile.in.in @@ -100,10 +100,9 @@ stamp-po: $(srcdir)/$(DOMAIN).pot # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. -$(DOMAIN).pot-update: $(srcdir)/POTFILES.in remove-potcdate.sed \ +$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed \ $(srcdir)/at-expand.pl $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --directory=$(top_builddir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ diff --git a/po/Makevars b/po/Makevars index cdd9d301..e20108d6 100644 --- a/po/Makevars +++ b/po/Makevars @@ -8,7 +8,7 @@ subdir = po top_builddir = .. # These options get passed to xgettext. -XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --keyword=P_:1,2 +XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding diff --git a/po/POTFILES.in b/po/POTFILES.in index fb0df5a1..c3001a55 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -38,12 +38,9 @@ misc/mklost+found.c misc/partinfo.c misc/tune2fs.c misc/util.c -misc/uuidd.c misc/uuidgen.c resize/extent.c resize/main.c resize/online.c resize/resize2fs.c resize/sim_progress.c -lib/ext2fs/ext2_err.c -e2fsck/prof_err.c diff --git a/po/at-expand.pl b/po/at-expand.pl index 3786ee16..931c6a0b 100644 --- a/po/at-expand.pl +++ b/po/at-expand.pl @@ -91,7 +91,6 @@ sub do_expand { $msg =~ s/\@n/invalid/g; $msg =~ s/\@o/orphaned/g; $msg =~ s/\@p/problem in/g; - $msg =~ s/\@q/quota/g; $msg =~ s/\@r/root inode/g; $msg =~ s/\@s/should be/g; $msg =~ s/\@S/superblock/g; diff --git a/po/ca.gmo b/po/ca.gmo index 981eebdb..10be8bad 100644 Binary files a/po/ca.gmo and b/po/ca.gmo differ diff --git a/po/ca.po b/po/ca.po index 96230b6a..e6ac38f4 100644 --- a/po/ca.po +++ b/po/ca.po @@ -63,527 +63,511 @@ #. msgid "" msgstr "" -"Project-Id-Version: e2fsprogs 1.42.8\n" +"Project-Id-Version: e2fsprogs 1.41.1\n" "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n" -"POT-Creation-Date: 2013-06-16 08:17-0400\n" -"PO-Revision-Date: 2013-09-25 05:59+0200\n" -"Last-Translator: Walter Garcia-Fontes \n" +"POT-Creation-Date: 2009-01-26 20:41-0500\n" +"PO-Revision-Date: 2008-11-09 23:52+0100\n" +"Last-Translator: David Planella \n" "Language-Team: Catalan \n" -"Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Bookmarks: 434,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" -#: e2fsck/badblocks.c:23 misc/mke2fs.c:180 +#: e2fsck/badblocks.c:22 misc/mke2fs.c:165 #, c-format msgid "Bad block %u out of range; ignored.\n" msgstr "Bloc erroni %u fora dels límits; s'ignorarà.\n" -#: e2fsck/badblocks.c:46 +#: e2fsck/badblocks.c:45 msgid "while sanity checking the bad blocks inode" msgstr "en comprovar l'estat del node-i de blocs erronis" -#: e2fsck/badblocks.c:58 +#: e2fsck/badblocks.c:57 msgid "while reading the bad blocks inode" msgstr "en llegir el node-i de blocs erronis" -#: e2fsck/badblocks.c:72 e2fsck/iscan.c:110 e2fsck/scantest.c:107 -#: e2fsck/unix.c:1332 e2fsck/unix.c:1420 misc/badblocks.c:1214 -#: misc/badblocks.c:1222 misc/badblocks.c:1236 misc/badblocks.c:1248 -#: misc/dumpe2fs.c:588 misc/e2image.c:1196 misc/e2image.c:1324 -#: misc/e2image.c:1337 misc/mke2fs.c:196 misc/tune2fs.c:1907 resize/main.c:315 +#: e2fsck/badblocks.c:71 e2fsck/iscan.c:112 e2fsck/scantest.c:109 +#: e2fsck/unix.c:1037 e2fsck/unix.c:1120 misc/badblocks.c:1148 +#: misc/badblocks.c:1156 misc/badblocks.c:1170 misc/badblocks.c:1182 +#: misc/dumpe2fs.c:505 misc/e2image.c:576 misc/e2image.c:672 +#: misc/e2image.c:688 misc/mke2fs.c:181 misc/tune2fs.c:1515 resize/main.c:309 #, c-format msgid "while trying to open %s" msgstr "en intentar obrir %s" -#: e2fsck/badblocks.c:83 +#: e2fsck/badblocks.c:82 #, c-format msgid "while trying popen '%s'" msgstr "en intentar popen en «%s»" -#: e2fsck/badblocks.c:94 misc/mke2fs.c:203 +#: e2fsck/badblocks.c:93 misc/mke2fs.c:188 msgid "while reading in list of bad blocks from file" msgstr "en llegir la llista de blocs erronis del fitxer" -#: e2fsck/badblocks.c:105 +#: e2fsck/badblocks.c:104 msgid "while updating bad block inode" msgstr "en actualitzar el node-i de block erronis" -#: e2fsck/badblocks.c:131 +#: e2fsck/badblocks.c:130 #, c-format msgid "Warning: illegal block %u found in bad block inode. Cleared.\n" -msgstr "Avís: s'ha trobat el bloc invàlid %u en el node-i de blocs erronis. S'ha esborrat.\n" +msgstr "" +"Avís: s'ha trobat el bloc invàlid %u en el node-i de blocs erronis. S'ha " +"esborrat.\n" -#: e2fsck/ehandler.c:55 +#: e2fsck/ehandler.c:54 #, c-format msgid "Error reading block %lu (%s) while %s. " msgstr "S'ha produït un error en llegir el bloc %lu (%s) mentre %s. " -#: e2fsck/ehandler.c:58 +#: e2fsck/ehandler.c:57 #, c-format msgid "Error reading block %lu (%s). " msgstr "S'ha produït un error en llegir el bloc %lu (%s). " -#: e2fsck/ehandler.c:61 e2fsck/ehandler.c:110 +#: e2fsck/ehandler.c:60 e2fsck/ehandler.c:109 msgid "Ignore error" msgstr "Ignora l'error" -#: e2fsck/ehandler.c:62 +#: e2fsck/ehandler.c:61 msgid "Force rewrite" msgstr "Força la rescriptura" -#: e2fsck/ehandler.c:104 +#: e2fsck/ehandler.c:103 #, c-format msgid "Error writing block %lu (%s) while %s. " msgstr "S'ha produït un error en escriure el bloc %lu (%s) mentre %s. " -#: e2fsck/ehandler.c:107 +#: e2fsck/ehandler.c:106 #, c-format msgid "Error writing block %lu (%s). " msgstr "S'ha produït un error en escriure el bloc %lu (%s). " -#: e2fsck/emptydir.c:57 +#: e2fsck/emptydir.c:56 msgid "empty dirblocks" msgstr "blocs de directori buits" -#: e2fsck/emptydir.c:62 +#: e2fsck/emptydir.c:61 msgid "empty dir map" msgstr "mapa de directori buit" -#: e2fsck/emptydir.c:98 +#: e2fsck/emptydir.c:97 #, c-format msgid "Empty directory block %u (#%d) in inode %u\n" msgstr "El bloc de directori %u (#%d) en el node-i %u és buit\n" -#: e2fsck/extend.c:22 +#: e2fsck/extend.c:21 #, c-format msgid "%s: %s filename nblocks blocksize\n" msgstr "%s: %s fitxer nblocs midadelbloc\n" -#: e2fsck/extend.c:44 +#: e2fsck/extend.c:43 #, c-format msgid "Illegal number of blocks!\n" msgstr "Nombre de blocs invàlid\n" -#: e2fsck/extend.c:50 +#: e2fsck/extend.c:49 #, c-format msgid "Couldn't allocate block buffer (size=%d)\n" msgstr "No s'ha pogut assignar el bloc del búfer (mida=%d)\n" -#: e2fsck/flushb.c:35 +#: e2fsck/flushb.c:34 #, c-format msgid "Usage: %s disk\n" msgstr "Forma d'ús: %s disc\n" -#: e2fsck/flushb.c:64 +#: e2fsck/flushb.c:63 #, c-format msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n" -msgstr "L'ioctl BLKFLSBUF no està implementat. No es poden buidar els búfers.\n" +msgstr "" +"L'ioctl BLKFLSBUF no està implementat. No es poden buidar els búfers.\n" -#: e2fsck/iscan.c:44 +#: e2fsck/iscan.c:46 #, c-format msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n" msgstr "Forma d'ús: %s [-F] [-I blocs_del_búfer_del_node_i] dispositiu\n" -#: e2fsck/iscan.c:81 e2fsck/unix.c:961 +#: e2fsck/iscan.c:83 e2fsck/unix.c:818 #, c-format msgid "while opening %s for flushing" msgstr "en obrir %s per a buidar-lo" -#: e2fsck/iscan.c:86 e2fsck/unix.c:967 resize/main.c:288 +#: e2fsck/iscan.c:88 e2fsck/unix.c:824 resize/main.c:285 #, c-format msgid "while trying to flush %s" msgstr "en intentar buidar %s" -#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1091 +#: e2fsck/iscan.c:121 e2fsck/scantest.c:116 misc/e2image.c:482 msgid "while opening inode scan" msgstr "en obrir l'escaneig de nodes-i" -#: e2fsck/iscan.c:127 misc/e2image.c:1109 +#: e2fsck/iscan.c:129 misc/e2image.c:500 msgid "while getting next inode" msgstr "en obtenir el node-i següent" -#: e2fsck/iscan.c:136 +#: e2fsck/iscan.c:138 #, c-format msgid "%u inodes scanned.\n" msgstr "%u nodes-i escanejats.\n" -#: e2fsck/journal.c:522 +#: e2fsck/journal.c:507 msgid "reading journal superblock\n" msgstr "s'està llegint el súperbloc del registre de transaccions\n" -#: e2fsck/journal.c:579 +#: e2fsck/journal.c:564 #, c-format msgid "%s: no valid journal superblock found\n" msgstr "%s: no s'ha trobat cap súperbloc del registre de transaccions vàlid\n" -#: e2fsck/journal.c:588 +#: e2fsck/journal.c:573 #, c-format msgid "%s: journal too short\n" msgstr "%s: el registre de transaccions és massa curt\n" -#: e2fsck/journal.c:880 +#: e2fsck/journal.c:858 #, c-format msgid "%s: recovering journal\n" msgstr "%s: recuperació del registre de transaccions\n" -#: e2fsck/journal.c:882 +#: e2fsck/journal.c:860 #, c-format msgid "%s: won't do journal recovery while read-only\n" -msgstr "%s: no es recuperarà el registre de transaccions mentre sigui de només lectura\n" +msgstr "" +"%s: no es recuperarà el registre de transaccions mentre sigui de només " +"lectura\n" -#: e2fsck/journal.c:909 +#: e2fsck/journal.c:881 #, c-format msgid "while trying to re-open %s" msgstr "en intentar tornar a obrir %s" -#: e2fsck/message.c:113 +#: e2fsck/message.c:110 msgid "aextended attribute" msgstr "aatribut ampliat" -#: e2fsck/message.c:114 +#: e2fsck/message.c:111 msgid "Aerror allocating" msgstr "Aerror en la ubicació" -#: e2fsck/message.c:115 +#: e2fsck/message.c:112 msgid "bblock" msgstr "bbloc" -#: e2fsck/message.c:116 +#: e2fsck/message.c:113 msgid "Bbitmap" msgstr "Bmapa de bits" -#: e2fsck/message.c:117 +#: e2fsck/message.c:114 msgid "ccompress" msgstr "ccompressió" -#: e2fsck/message.c:118 +#: e2fsck/message.c:115 msgid "Cconflicts with some other fs @b" msgstr "Centra en conflicte amb algun altre @b del sistema de fitxers" -#: e2fsck/message.c:119 +#: e2fsck/message.c:116 msgid "iinode" msgstr "inode-i" -#: e2fsck/message.c:120 +#: e2fsck/message.c:117 msgid "Iillegal" msgstr "Iil·legal" -#: e2fsck/message.c:121 +#: e2fsck/message.c:118 msgid "jjournal" msgstr "jregistre de transaccions" -#: e2fsck/message.c:122 +#: e2fsck/message.c:119 msgid "Ddeleted" msgstr "Dsuprimit" -#: e2fsck/message.c:123 +#: e2fsck/message.c:120 msgid "ddirectory" msgstr "ddirectori" -#: e2fsck/message.c:124 +#: e2fsck/message.c:121 msgid "eentry" msgstr "eentrada" -#: e2fsck/message.c:125 +#: e2fsck/message.c:122 msgid "E@e '%Dn' in %p (%i)" msgstr "E@e «%Dn» a %p (%i)" -#: e2fsck/message.c:126 +#: e2fsck/message.c:123 msgid "ffilesystem" msgstr "fsistema de fitxers" -#: e2fsck/message.c:127 +#: e2fsck/message.c:124 msgid "Ffor @i %i (%Q) is" msgstr "Fper a l'@i %i (%Q) és" -#: e2fsck/message.c:128 +#: e2fsck/message.c:125 msgid "ggroup" msgstr "ggrup" -#: e2fsck/message.c:129 +#: e2fsck/message.c:126 msgid "hHTREE @d @i" msgstr "h@i del @d HTREE" -#: e2fsck/message.c:130 +#: e2fsck/message.c:127 msgid "llost+found" msgstr "llost+found" -#: e2fsck/message.c:131 +#: e2fsck/message.c:128 msgid "Lis a link" msgstr "Lés un enllaç" -#: e2fsck/message.c:132 +#: e2fsck/message.c:129 msgid "mmultiply-claimed" msgstr "mreclamat múltiplement" -#: e2fsck/message.c:133 +#: e2fsck/message.c:130 msgid "ninvalid" msgstr "nno vàlid" -#: e2fsck/message.c:134 +#: e2fsck/message.c:131 msgid "oorphaned" msgstr "oorfe" -#: e2fsck/message.c:135 +#: e2fsck/message.c:132 msgid "pproblem in" msgstr "pproblema en" -#: e2fsck/message.c:136 -msgid "qquota" -msgstr "" - -#: e2fsck/message.c:137 +#: e2fsck/message.c:133 msgid "rroot @i" msgstr "r@i arrel" -#: e2fsck/message.c:138 +#: e2fsck/message.c:134 msgid "sshould be" msgstr "shauria de ser" -#: e2fsck/message.c:139 +#: e2fsck/message.c:135 msgid "Ssuper@b" msgstr "Ssúper@b" -#: e2fsck/message.c:140 +#: e2fsck/message.c:136 msgid "uunattached" msgstr "udesacoblat(s)" -#: e2fsck/message.c:141 +#: e2fsck/message.c:137 msgid "vdevice" msgstr "vdispositiu" # http://en.wikipedia.org/wiki/Extent_(file_systems). Hi ha la ubicació basada en blocs i la ubicació basada en «extents» (dpm). -#: e2fsck/message.c:142 +#: e2fsck/message.c:138 msgid "xextent" msgstr "xextensió" -#: e2fsck/message.c:143 +#: e2fsck/message.c:139 msgid "zzero-length" msgstr "zmida zero" -#: e2fsck/message.c:154 +#: e2fsck/message.c:150 msgid "" msgstr "" -#: e2fsck/message.c:155 +#: e2fsck/message.c:151 msgid "" msgstr "" -#: e2fsck/message.c:157 -#, fuzzy -msgid "" -msgstr "" +#: e2fsck/message.c:153 +msgid "" +msgstr "" -#: e2fsck/message.c:158 -#, fuzzy -msgid "" -msgstr "" +#: e2fsck/message.c:154 +msgid "" +msgstr "" -#: e2fsck/message.c:159 +#: e2fsck/message.c:155 msgid "" msgstr "" -#: e2fsck/message.c:160 +#: e2fsck/message.c:156 msgid "" msgstr "" -#: e2fsck/message.c:161 +#: e2fsck/message.c:157 msgid "" msgstr "" -#: e2fsck/message.c:162 +#: e2fsck/message.c:158 msgid "" msgstr "" -#: e2fsck/message.c:163 +#: e2fsck/message.c:159 msgid "" msgstr "" -#: e2fsck/message.c:164 +#: e2fsck/message.c:160 msgid "" msgstr "" -#: e2fsck/message.c:333 +#: e2fsck/message.c:323 +#, c-format msgid "regular file" msgstr "fitxer normal" -#: e2fsck/message.c:335 +#: e2fsck/message.c:325 +#, c-format msgid "directory" msgstr "directori" -#: e2fsck/message.c:337 +#: e2fsck/message.c:327 +#, c-format msgid "character device" msgstr "dispositiu" -#: e2fsck/message.c:339 +#: e2fsck/message.c:329 +#, c-format msgid "block device" msgstr "dispositiu d'accés per bloc" -#: e2fsck/message.c:341 +#: e2fsck/message.c:331 +#, c-format msgid "named pipe" msgstr "conducte amb nom" -#: e2fsck/message.c:343 +#: e2fsck/message.c:333 +#, c-format msgid "symbolic link" msgstr "enllaç simbòlic" -#: e2fsck/message.c:345 misc/uuidd.c:161 +#: e2fsck/message.c:335 +#, c-format msgid "socket" msgstr "sòcol" -#: e2fsck/message.c:347 +#: e2fsck/message.c:337 #, c-format msgid "unknown file type with mode 0%o" msgstr "tips de fitxer desconegut amb mode 0%o" -#: e2fsck/message.c:422 -#, fuzzy -msgid "indirect block" -msgstr "s'està llegint el bloc de directori" - -#: e2fsck/message.c:424 -#, fuzzy -msgid "double indirect block" -msgstr "s'està llegint el bloc de directori" - -#: e2fsck/message.c:426 -#, fuzzy -msgid "triple indirect block" -msgstr "s'està llegint el bloc de directori" - -#: e2fsck/message.c:428 -#, fuzzy -msgid "translator block" -msgstr "últim bloc" - -#: e2fsck/message.c:430 -#, fuzzy -msgid "block #" -msgstr "bbloc" - -#: e2fsck/pass1b.c:222 +#: e2fsck/pass1b.c:215 msgid "multiply claimed inode map" msgstr "mapa de nodes-i reclamat múltiplement" -#: e2fsck/pass1b.c:610 e2fsck/pass1b.c:730 -#, fuzzy, c-format -msgid "internal error: can't find dup_blk for %llu\n" +#: e2fsck/pass1b.c:567 e2fsck/pass1b.c:700 +#, c-format +msgid "internal error: can't find dup_blk for %u\n" msgstr "error intern: no s'ha trobat dup_blk per a %u\n" -#: e2fsck/pass1b.c:821 +#: e2fsck/pass1b.c:743 msgid "returned from clone_file_block" msgstr "s'ha tornat de la funció clone_file_block" # FIXME (dpm) -#: e2fsck/pass1b.c:843 -#, fuzzy, c-format -msgid "internal error: couldn't lookup EA block record for %llu" -msgstr "error intern: no s'ha pogut cercar el registre de bloc d'atributs ampliats (EA) per a %u" +#: e2fsck/pass1b.c:762 +#, c-format +msgid "internal error: couldn't lookup EA block record for %u" +msgstr "" +"error intern: no s'ha pogut cercar el registre de bloc d'atributs ampliats " +"(EA) per a %u" # FIXME (dpm) -#: e2fsck/pass1b.c:855 +#: e2fsck/pass1b.c:774 #, c-format msgid "internal error: couldn't lookup EA inode record for %u" -msgstr "error intern: no s'ha pogut cercar el registre de node-i d'atributs ampliats (EA) per a %u" +msgstr "" +"error intern: no s'ha pogut cercar el registre de node-i d'atributs ampliats " +"(EA) per a %u" -#: e2fsck/pass1.c:475 e2fsck/pass2.c:782 +#: e2fsck/pass1.c:430 e2fsck/pass2.c:780 msgid "reading directory block" msgstr "s'està llegint el bloc de directori" -#: e2fsck/pass1.c:598 +#: e2fsck/pass1.c:552 msgid "in-use inode map" msgstr "mapa de nodes-i en ús" -#: e2fsck/pass1.c:609 +#: e2fsck/pass1.c:561 msgid "directory inode map" msgstr "mapa de nodes-i de directoris" -#: e2fsck/pass1.c:619 +#: e2fsck/pass1.c:569 msgid "regular file inode map" msgstr "mapa de nodes-i de fitxers normals" -#: e2fsck/pass1.c:628 +#: e2fsck/pass1.c:576 msgid "in-use block map" msgstr "mapa de blocs en ús" -#: e2fsck/pass1.c:695 +#: e2fsck/pass1.c:630 msgid "opening inode scan" msgstr "s'està obring l'escaneig de nodes-i" -#: e2fsck/pass1.c:729 +#: e2fsck/pass1.c:654 msgid "getting next inode from scan" msgstr "s'està obtenint el node-i següent de l'escaneig" -#: e2fsck/pass1.c:1239 +#: e2fsck/pass1.c:1122 msgid "Pass 1" msgstr "Pas 1" -#: e2fsck/pass1.c:1296 +#: e2fsck/pass1.c:1181 #, c-format msgid "reading indirect blocks of inode %u" msgstr "s'estan llegint els blocs indirectes del node-i %u" -#: e2fsck/pass1.c:1346 +#: e2fsck/pass1.c:1225 msgid "bad inode map" msgstr "mapa de nodes-i malmesos" -#: e2fsck/pass1.c:1369 +#: e2fsck/pass1.c:1247 msgid "inode in bad block map" msgstr "node-i en el mapa de nodes-i malmesos" -#: e2fsck/pass1.c:1389 +#: e2fsck/pass1.c:1267 msgid "imagic inode map" msgstr "" -#: e2fsck/pass1.c:1416 +#: e2fsck/pass1.c:1294 msgid "multiply claimed block map" msgstr "" -#: e2fsck/pass1.c:1527 +#: e2fsck/pass1.c:1393 msgid "ext attr block map" msgstr "" -#: e2fsck/pass1.c:2299 +#: e2fsck/pass1.c:2134 #, c-format msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n" msgstr "" -#: e2fsck/pass1.c:2660 +#: e2fsck/pass1.c:2449 msgid "block bitmap" msgstr "" -#: e2fsck/pass1.c:2666 +#: e2fsck/pass1.c:2453 msgid "inode bitmap" msgstr "" -#: e2fsck/pass1.c:2672 +#: e2fsck/pass1.c:2457 msgid "inode table" msgstr "" -#: e2fsck/pass2.c:283 +#: e2fsck/pass2.c:284 msgid "Pass 2" msgstr "Pas 2" -#: e2fsck/pass2.c:805 +#: e2fsck/pass2.c:803 msgid "Can not continue." msgstr "No es pot continuar." -#: e2fsck/pass3.c:77 +#: e2fsck/pass3.c:79 msgid "inode done bitmap" msgstr "" # FIXME: «Memòria màxima»? (dpm) -#: e2fsck/pass3.c:86 +#: e2fsck/pass3.c:90 msgid "Peak memory" msgstr "Pic de memòria" -#: e2fsck/pass3.c:136 +#: e2fsck/pass3.c:146 msgid "Pass 3" msgstr "Pas 3" -#: e2fsck/pass3.c:322 +#: e2fsck/pass3.c:334 msgid "inode loop detection bitmap" msgstr "" @@ -591,184 +575,184 @@ msgstr "" msgid "Pass 4" msgstr "Pas 4" -#: e2fsck/pass5.c:74 +#: e2fsck/pass5.c:70 msgid "Pass 5" msgstr "Pas 5" -#: e2fsck/problem.c:51 +#: e2fsck/problem.c:50 msgid "(no prompt)" msgstr "(sense pregunta)" -#: e2fsck/problem.c:52 +#: e2fsck/problem.c:51 msgid "Fix" msgstr "Arregla" -#: e2fsck/problem.c:53 +#: e2fsck/problem.c:52 msgid "Clear" msgstr "Esborra" -#: e2fsck/problem.c:54 +#: e2fsck/problem.c:53 msgid "Relocate" msgstr "Reubica" -#: e2fsck/problem.c:55 +#: e2fsck/problem.c:54 msgid "Allocate" msgstr "Ubica" -#: e2fsck/problem.c:56 +#: e2fsck/problem.c:55 msgid "Expand" msgstr "Expandeix" -#: e2fsck/problem.c:57 +#: e2fsck/problem.c:56 msgid "Connect to /lost+found" msgstr "Connecta amb /lost+found" -#: e2fsck/problem.c:58 +#: e2fsck/problem.c:57 msgid "Create" msgstr "Crea" -#: e2fsck/problem.c:59 +#: e2fsck/problem.c:58 msgid "Salvage" msgstr "Salva" -#: e2fsck/problem.c:60 +#: e2fsck/problem.c:59 msgid "Truncate" msgstr "Trunca" -#: e2fsck/problem.c:61 +#: e2fsck/problem.c:60 msgid "Clear inode" msgstr "Esborra el node-i" -#: e2fsck/problem.c:62 +#: e2fsck/problem.c:61 msgid "Abort" msgstr "Interromp" -#: e2fsck/problem.c:63 +#: e2fsck/problem.c:62 msgid "Split" msgstr "Divideix" -#: e2fsck/problem.c:64 +#: e2fsck/problem.c:63 msgid "Continue" msgstr "Continua" -#: e2fsck/problem.c:65 +#: e2fsck/problem.c:64 msgid "Clone multiply-claimed blocks" msgstr "Clona els blocs reclamats múltiplement" -#: e2fsck/problem.c:66 +#: e2fsck/problem.c:65 msgid "Delete file" msgstr "Suprimeix el fitxer" -#: e2fsck/problem.c:67 +#: e2fsck/problem.c:66 msgid "Suppress messages" msgstr "Suprimeix els missatges" -#: e2fsck/problem.c:68 +#: e2fsck/problem.c:67 msgid "Unlink" msgstr "Desfés l'enllaç" -#: e2fsck/problem.c:69 +#: e2fsck/problem.c:68 msgid "Clear HTree index" msgstr "Esborra l'índex HTree" -#: e2fsck/problem.c:70 +#: e2fsck/problem.c:69 msgid "Recreate" msgstr "Torna a crear" -#: e2fsck/problem.c:79 +#: e2fsck/problem.c:78 msgid "(NONE)" msgstr "(CAP)" -#: e2fsck/problem.c:80 +#: e2fsck/problem.c:79 msgid "FIXED" msgstr "ARREGLAT" -#: e2fsck/problem.c:81 +#: e2fsck/problem.c:80 msgid "CLEARED" msgstr "ESBORRAT" -#: e2fsck/problem.c:82 +#: e2fsck/problem.c:81 msgid "RELOCATED" msgstr "REUBICAT" -#: e2fsck/problem.c:83 +#: e2fsck/problem.c:82 msgid "ALLOCATED" msgstr "ASSIGNAT" -#: e2fsck/problem.c:84 +#: e2fsck/problem.c:83 msgid "EXPANDED" msgstr "EXPANDIT" -#: e2fsck/problem.c:85 +#: e2fsck/problem.c:84 msgid "RECONNECTED" msgstr "RECONNECTAT" -#: e2fsck/problem.c:86 +#: e2fsck/problem.c:85 msgid "CREATED" msgstr "CREAT" -#: e2fsck/problem.c:87 +#: e2fsck/problem.c:86 msgid "SALVAGED" msgstr "SALVAT" -#: e2fsck/problem.c:88 +#: e2fsck/problem.c:87 msgid "TRUNCATED" msgstr "TRUNCAT" -#: e2fsck/problem.c:89 +#: e2fsck/problem.c:88 msgid "INODE CLEARED" msgstr "NODE-I ESBORRAT" -#: e2fsck/problem.c:90 +#: e2fsck/problem.c:89 msgid "ABORTED" msgstr "INTERROMPUT" -#: e2fsck/problem.c:91 +#: e2fsck/problem.c:90 msgid "SPLIT" msgstr "DIVIDIT" # FIXME -#: e2fsck/problem.c:92 +#: e2fsck/problem.c:91 msgid "CONTINUING" msgstr "CONTINUAT" -#: e2fsck/problem.c:93 +#: e2fsck/problem.c:92 msgid "MULTIPLY-CLAIMED BLOCKS CLONED" msgstr "CLONATS ELS BLOCS RECLAMATS MÚLTIPLEMENT" -#: e2fsck/problem.c:94 +#: e2fsck/problem.c:93 msgid "FILE DELETED" msgstr "FITXER SUPRIMIT" -#: e2fsck/problem.c:95 +#: e2fsck/problem.c:94 msgid "SUPPRESSED" msgstr "SUPRIMIT" -#: e2fsck/problem.c:96 +#: e2fsck/problem.c:95 msgid "UNLINKED" msgstr "ENLLAÇ DESFET" -#: e2fsck/problem.c:97 +#: e2fsck/problem.c:96 msgid "HTREE INDEX CLEARED" msgstr "ÃNDEX HTREE ESBORRAT" -#: e2fsck/problem.c:98 +#: e2fsck/problem.c:97 msgid "WILL RECREATE" msgstr "ES TORNARÀ A CREAR" #. @-expanded: block bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:107 +#: e2fsck/problem.c:106 msgid "@b @B for @g %g is not in @g. (@b %b)\n" msgstr "El @b @B per al @g %g no és a @g. (@b %b)\n" #. @-expanded: inode bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:111 +#: e2fsck/problem.c:110 msgid "@i @B for @g %g is not in @g. (@b %b)\n" msgstr "El @i @B per al @g %g no és a @g. (@b %b)\n" #. @-expanded: inode table for group %g is not in group. (block %b)\n #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n -#: e2fsck/problem.c:116 +#: e2fsck/problem.c:115 msgid "" "@i table for @g %g is not in @g. (@b %b)\n" "WARNING: SEVERE DATA LOSS POSSIBLE.\n" @@ -783,7 +767,7 @@ msgstr "" #. @-expanded: is corrupt, and you might try running e2fsck with an alternate superblock:\n #. @-expanded: e2fsck -b %S \n #. @-expanded: \n -#: e2fsck/problem.c:122 +#: e2fsck/problem.c:121 #, c-format msgid "" "\n" @@ -806,7 +790,7 @@ msgstr "" #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n #. @-expanded: The physical size of the device is %c blocks\n #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n -#: e2fsck/problem.c:131 +#: e2fsck/problem.c:130 msgid "" "The @f size (according to the @S) is %b @bs\n" "The physical size of the @v is %c @bs\n" @@ -819,7 +803,7 @@ msgstr "" #. @-expanded: superblock block_size = %b, fragsize = %c.\n #. @-expanded: This version of e2fsck does not support fragment sizes different\n #. @-expanded: from the block size.\n -#: e2fsck/problem.c:138 +#: e2fsck/problem.c:137 msgid "" "@S @b_size = %b, fragsize = %c.\n" "This version of e2fsck does not support fragment sizes different\n" @@ -830,24 +814,24 @@ msgstr "" "coincideixen amb la mida del @b.\n" #. @-expanded: superblock blocks_per_group = %b, should have been %c\n -#: e2fsck/problem.c:145 +#: e2fsck/problem.c:144 msgid "@S @bs_per_group = %b, should have been %c\n" msgstr "@bs_per_grup del @S = %b, hauria d'haver estat %c\n" #. @-expanded: superblock first_data_block = %b, should have been %c\n -#: e2fsck/problem.c:150 +#: e2fsck/problem.c:149 msgid "@S first_data_@b = %b, should have been %c\n" msgstr "primer_@b_de_dades del @S = %b, hauria d'haver estat %c\n" #. @-expanded: filesystem did not have a UUID; generating one.\n #. @-expanded: \n -#: e2fsck/problem.c:155 +#: e2fsck/problem.c:154 msgid "" "@f did not have a UUID; generating one.\n" "\n" msgstr "El @f no té cap UUID; se li'n generarà un.\n" -#: e2fsck/problem.c:160 +#: e2fsck/problem.c:159 #, c-format msgid "" "Note: if several inode or block bitmap blocks or part\n" @@ -859,48 +843,48 @@ msgid "" msgstr "" #. @-expanded: Corruption found in superblock. (%s = %N).\n -#: e2fsck/problem.c:169 +#: e2fsck/problem.c:168 msgid "Corruption found in @S. (%s = %N).\n" msgstr "El @S està malmès. (%s = %N).\n" #. @-expanded: Error determining size of the physical device: %m\n -#: e2fsck/problem.c:174 +#: e2fsck/problem.c:173 #, c-format msgid "Error determining size of the physical @v: %m\n" msgstr "S'ha produït un error en determinar la mida del @v físic: %m\n" #. @-expanded: inode count in superblock is %i, should be %j.\n -#: e2fsck/problem.c:179 +#: e2fsck/problem.c:178 msgid "@i count in @S is %i, @s %j.\n" msgstr "El nombre de nodes-i en el @S és %i (@s %j).\n" -#: e2fsck/problem.c:183 +#: e2fsck/problem.c:182 msgid "The Hurd does not support the filetype feature.\n" msgstr "El Hurd no és compatible amb la funcionalitat de tipus de fitxer.\n" #. @-expanded: superblock has an invalid journal (inode %i).\n -#: e2fsck/problem.c:188 +#: e2fsck/problem.c:187 #, fuzzy, c-format msgid "@S has an @n @j (@i %i).\n" msgstr "El @S té un @j ext3 @n (@i %i).\n" #. @-expanded: External journal has multiple filesystem users (unsupported).\n -#: e2fsck/problem.c:193 +#: e2fsck/problem.c:192 msgid "External @j has multiple @f users (unsupported).\n" msgstr "El @j extern té múltiples usuaris del @f (no compatible).\n" #. @-expanded: Can't find external journal\n -#: e2fsck/problem.c:198 +#: e2fsck/problem.c:197 msgid "Can't find external @j\n" msgstr "No s'ha trobat el @j extern\n" #. @-expanded: External journal has bad superblock\n -#: e2fsck/problem.c:203 +#: e2fsck/problem.c:202 msgid "External @j has bad @S\n" msgstr "El @j extern té un @S malmès\n" #. @-expanded: External journal does not support this filesystem\n -#: e2fsck/problem.c:208 +#: e2fsck/problem.c:207 msgid "External @j does not support this @f\n" msgstr "El @j extern no és compatible amb aquest @f\n" @@ -908,96 +892,115 @@ msgstr "El @j extern no és compatible amb aquest @f\n" #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal #. @-expanded: format.\n #. @-expanded: It is also possible the journal superblock is corrupt.\n -#: e2fsck/problem.c:213 +#: e2fsck/problem.c:212 msgid "" "@f @j @S is unknown type %N (unsupported).\n" -"It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n" +"It is likely that your copy of e2fsck is old and/or doesn't support this @j " +"format.\n" "It is also possible the @j @S is corrupt.\n" msgstr "" #. @-expanded: journal superblock is corrupt.\n -#: e2fsck/problem.c:221 +#: e2fsck/problem.c:220 #, fuzzy msgid "@j @S is corrupt.\n" msgstr "El @S del @j ext3 està malmès.\n" #. @-expanded: superblock has_journal flag is clear, but a journal %s is present.\n -#: e2fsck/problem.c:226 +#: e2fsck/problem.c:225 #, fuzzy, c-format msgid "@S has_@j flag is clear, but a @j %s is present.\n" msgstr "El senyalador de recuperació està buit, però el @j té dades.\n" #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n -#: e2fsck/problem.c:231 +#: e2fsck/problem.c:230 #, fuzzy msgid "@S needs_recovery flag is set, but no @j is present.\n" -msgstr "El @S té el senyalador ext3 «needs_recovery» (recuperació_necessària) activat, però no té cap @j.\n" +msgstr "" +"El @S té el senyalador ext3 «needs_recovery» (recuperació_necessària) " +"activat, però no té cap @j.\n" #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n -#: e2fsck/problem.c:236 +#: e2fsck/problem.c:235 #, fuzzy msgid "@S needs_recovery flag is clear, but @j has data.\n" msgstr "El senyalador de recuperació està buit, però el @j té dades.\n" #. @-expanded: Clear journal -#: e2fsck/problem.c:241 +#: e2fsck/problem.c:240 msgid "Clear @j" msgstr "Esborra el @j" -#. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. -#: e2fsck/problem.c:246 e2fsck/problem.c:695 -msgid "@f has feature flag(s) set, but is a revision 0 @f. " -msgstr "El @f té els senyaladors de funcionalitat (feature) definits, però és un @f de revisió 0. " +#. @-expanded: Run journal anyway +#: e2fsck/problem.c:245 +msgid "Run @j anyway" +msgstr "Executa el @j de totes maneres" + +#. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n +#: e2fsck/problem.c:250 +msgid "Recovery flag not set in backup @S, so running @j anyway.\n" +msgstr "" +"El senyalador de recuperació no està definit en la còpia del @S, per la qual " +"cosa s'executarà el @j de totes maneres.\n" #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n -#: e2fsck/problem.c:251 +#: e2fsck/problem.c:255 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" msgstr "%s @i @o %i (uid=%Iu, gid=%Ig, mode=%Im, mida=%Is)\n" -#. @-expanded: illegal %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:256 -#, fuzzy -msgid "@I %B (%b) found in @o @i %i.\n" +#. @-expanded: illegal block #%B (%b) found in orphaned inode %i.\n +#: e2fsck/problem.c:260 +msgid "@I @b #%B (%b) found in @o @i %i.\n" msgstr "@b @I #%B (%b) trobat a l'@i @o %i.\n" -#. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:261 -#, fuzzy -msgid "Already cleared %B (%b) found in @o @i %i.\n" +#. @-expanded: Already cleared block #%B (%b) found in orphaned inode %i.\n +#: e2fsck/problem.c:265 +msgid "Already cleared @b #%B (%b) found in @o @i %i.\n" msgstr "@b ja esborrat #%B (%b) trobat a l'@i @o %i.\n" #. @-expanded: illegal orphaned inode %i in superblock.\n -#: e2fsck/problem.c:266 +#: e2fsck/problem.c:270 #, c-format msgid "@I @o @i %i in @S.\n" msgstr "@i @o @I %i en el @S.\n" #. @-expanded: illegal inode %i in orphaned inode list.\n -#: e2fsck/problem.c:271 +#: e2fsck/problem.c:275 #, c-format msgid "@I @i %i in @o @i list.\n" msgstr "@i @o @I %i a la llista de nodes-i @os.\n" +#. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. +#: e2fsck/problem.c:280 e2fsck/problem.c:647 +msgid "@f has feature flag(s) set, but is a revision 0 @f. " +msgstr "" +"El @f té els senyaladors de funcionalitat (feature) definits, però és un @f " +"de revisió 0. " + #. @-expanded: journal superblock has an unknown read-only feature flag set.\n -#: e2fsck/problem.c:276 +#: e2fsck/problem.c:285 #, fuzzy msgid "@j @S has an unknown read-only feature flag set.\n" -msgstr "El @S del @j ext3 té un senyalador desconegut de funcionalitat de només lectura definit.\n" +msgstr "" +"El @S del @j ext3 té un senyalador desconegut de funcionalitat de només " +"lectura definit.\n" #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n -#: e2fsck/problem.c:281 +#: e2fsck/problem.c:290 #, fuzzy msgid "@j @S has an unknown incompatible feature flag set.\n" -msgstr "El @S del @j ext3 té un senyalador desconegut de funcionalitat de només lectura definit.\n" +msgstr "" +"El @S del @j ext3 té un senyalador desconegut de funcionalitat de només " +"lectura definit.\n" #. @-expanded: journal version not supported by this e2fsck.\n -#: e2fsck/problem.c:286 +#: e2fsck/problem.c:295 msgid "@j version not supported by this e2fsck.\n" msgstr "La versió del @j no funciona amb aquest e2fsck.\n" #. @-expanded: Moving journal from /%s to hidden inode.\n #. @-expanded: \n -#: e2fsck/problem.c:291 +#: e2fsck/problem.c:300 #, c-format msgid "" "Moving @j from /%s to hidden @i.\n" @@ -1008,7 +1011,7 @@ msgstr "" #. @-expanded: Error moving journal: %m\n #. @-expanded: \n -#: e2fsck/problem.c:296 +#: e2fsck/problem.c:305 #, c-format msgid "" "Error moving @j: %m\n" @@ -1020,7 +1023,7 @@ msgstr "" #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n #. @-expanded: Clearing fields beyond the V1 journal superblock...\n #. @-expanded: \n -#: e2fsck/problem.c:301 +#: e2fsck/problem.c:310 msgid "" "Found @n V2 @j @S fields (from V1 @j).\n" "Clearing fields beyond the V1 @j @S...\n" @@ -1030,285 +1033,211 @@ msgstr "" "S'estan esborrant els camps més enllà del @S del @j de V1...\n" "\n" -#. @-expanded: Run journal anyway -#: e2fsck/problem.c:307 -msgid "Run @j anyway" -msgstr "Executa el @j de totes maneres" - -#. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n -#: e2fsck/problem.c:312 -msgid "Recovery flag not set in backup @S, so running @j anyway.\n" -msgstr "El senyalador de recuperació no està definit en la còpia del @S, per la qual cosa s'executarà el @j de totes maneres.\n" - #. @-expanded: Backing up journal inode block information.\n #. @-expanded: \n -#: e2fsck/problem.c:317 +#: e2fsck/problem.c:316 msgid "" "Backing up @j @i @b information.\n" "\n" msgstr "" -"S'està fent una còpia de seguretat de la informació del @b de nodes-i del @j.\n" +"S'està fent una còpia de seguretat de la informació del @b de nodes-i del " +"@j.\n" "\n" #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n #. @-expanded: is %N; should be zero. -#: e2fsck/problem.c:322 +#: e2fsck/problem.c:321 msgid "" "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n" "is %N; @s zero. " msgstr "" #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero. -#: e2fsck/problem.c:328 +#: e2fsck/problem.c:327 msgid "Resize_@i not enabled, but the resize @i is non-zero. " msgstr "" #. @-expanded: Resize inode not valid. -#: e2fsck/problem.c:333 +#: e2fsck/problem.c:332 msgid "Resize @i not valid. " msgstr "" -#. @-expanded: superblock last mount time (%t,\n -#. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:338 -#, fuzzy -msgid "" -"@S last mount time (%t,\n" -"\tnow = %T) is in the future.\n" +#. @-expanded: superblock last mount time is in the future. +#: e2fsck/problem.c:337 +msgid "@S last mount time is in the future. " msgstr "La darrera hora de muntatge del @S és en el futur. " -#. @-expanded: superblock last write time (%t,\n -#. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:343 -#, fuzzy -msgid "" -"@S last write time (%t,\n" -"\tnow = %T) is in the future.\n" +#. @-expanded: superblock last write time is in the future. +#: e2fsck/problem.c:342 +msgid "@S last write time is in the future. " msgstr "La darrera hora d'escriptura del @S és en el futur. " #. @-expanded: superblock hint for external superblock should be %X. -#: e2fsck/problem.c:347 +#: e2fsck/problem.c:346 #, c-format msgid "@S hint for external superblock @s %X. " msgstr "" #. @-expanded: Adding dirhash hint to filesystem.\n #. @-expanded: \n -#: e2fsck/problem.c:352 +#: e2fsck/problem.c:351 msgid "" "Adding dirhash hint to @f.\n" "\n" msgstr "" -#. @-expanded: group descriptor %g checksum is %04x, should be %04y. -#: e2fsck/problem.c:357 -msgid "@g descriptor %g checksum is %04x, should be %04y. " +#. @-expanded: group descriptor %g checksum is invalid. +#: e2fsck/problem.c:356 +#, c-format +msgid "@g descriptor %g checksum is invalid. " msgstr "" #. @-expanded: group descriptor %g marked uninitialized without feature set.\n -#: e2fsck/problem.c:362 +#: e2fsck/problem.c:361 #, c-format msgid "@g descriptor %g marked uninitialized without feature set.\n" msgstr "" +#. @-expanded: group %g block bitmap uninitialized but inode bitmap in use.\n +#: e2fsck/problem.c:366 +#, c-format +msgid "@g %g @b @B uninitialized but @i @B in use.\n" +msgstr "" + #. @-expanded: group descriptor %g has invalid unused inodes count %b. -#: e2fsck/problem.c:367 +#: e2fsck/problem.c:371 msgid "@g descriptor %g has invalid unused inodes count %b. " msgstr "" #. @-expanded: Last group block bitmap uninitialized. -#: e2fsck/problem.c:372 +#: e2fsck/problem.c:376 msgid "Last @g @b @B uninitialized. " msgstr "" -#: e2fsck/problem.c:377 -#, c-format -msgid "Journal transaction %i was corrupt, replay was aborted.\n" -msgstr "La transacció del registre de transaccions %i està malmesa, se n'ha interromput la repetició\n" - #: e2fsck/problem.c:381 -msgid "The test_fs flag is set (and ext4 is available). " -msgstr "" - -#. @-expanded: superblock last mount time is in the future.\n -#. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly -#. @-expanded: set) -#: e2fsck/problem.c:386 -msgid "" -"@S last mount time is in the future.\n" -"\t(by less than a day, probably due to the hardware clock being incorrectly set) " -msgstr "" - -#. @-expanded: superblock last write time is in the future.\n -#. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly -#. @-expanded: set). -#: e2fsck/problem.c:392 -msgid "" -"@S last write time is in the future.\n" -"\t(by less than a day, probably due to the hardware clock being incorrectly set). " -msgstr "" - -#. @-expanded: One or more block group descriptor checksums are invalid. -#: e2fsck/problem.c:398 -msgid "One or more @b @g descriptor checksums are invalid. " -msgstr "" - -#. @-expanded: Setting free inodes count to %j (was %i)\n -#: e2fsck/problem.c:403 -#, fuzzy -msgid "Setting free @is count to %j (was %i)\n" -msgstr "Establiment del nombre de blocs reservats a %lu\n" - -#. @-expanded: Setting free blocks count to %c (was %b)\n -#: e2fsck/problem.c:408 -#, fuzzy -msgid "Setting free @bs count to %c (was %b)\n" -msgstr "Establiment del nombre de blocs reservats a %lu\n" - -#. @-expanded: Making quota inode %i (%Q) hidden.\n -#: e2fsck/problem.c:413 -#, fuzzy -msgid "Making @q @i %i (%Q) hidden.\n" -msgstr "" -"S'està traslladant el @j de /%s al @i ocult.\n" -"\n" - -#. @-expanded: superblock has invalid MMP block. -#: e2fsck/problem.c:418 -#, fuzzy -msgid "@S has invalid MMP block. " -msgstr "mida de bloc invàlida - %s" - -#. @-expanded: superblock has invalid MMP magic. -#: e2fsck/problem.c:423 -msgid "@S has invalid MMP magic. " -msgstr "" - -#: e2fsck/problem.c:428 #, c-format -msgid "ext2fs_open2: %m\n" +msgid "Journal transaction %i was corrupt, replay was aborted.\n" msgstr "" +"La transacció del registre de transaccions %i està malmesa, se n'ha " +"interromput la repetició\n" -#: e2fsck/problem.c:433 -#, c-format -msgid "ext2fs_check_desc: %m\n" +#: e2fsck/problem.c:385 +msgid "The test_fs flag is set (and ext4 is available). " msgstr "" #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n -#: e2fsck/problem.c:440 +#: e2fsck/problem.c:392 msgid "Pass 1: Checking @is, @bs, and sizes\n" msgstr "Pas 1: comprovació de nodes-i, @bs i mides\n" #. @-expanded: root inode is not a directory. -#: e2fsck/problem.c:444 +#: e2fsck/problem.c:396 msgid "@r is not a @d. " msgstr "el @r no és un @d. " #. @-expanded: root inode has dtime set (probably due to old mke2fs). -#: e2fsck/problem.c:449 +#: e2fsck/problem.c:401 msgid "@r has dtime set (probably due to old mke2fs). " msgstr "el @r té el dtime definit (segurament degut a un mke2fs antic)." #. @-expanded: Reserved inode %i (%Q) has invalid mode. -#: e2fsck/problem.c:454 +#: e2fsck/problem.c:406 msgid "Reserved @i %i (%Q) has @n mode. " msgstr "El @i %i (%Q) té un mode @n. " # FIXME dtime (dpm) #. @-expanded: deleted inode %i has zero dtime. -#: e2fsck/problem.c:459 +#: e2fsck/problem.c:411 #, c-format msgid "@D @i %i has zero dtime. " msgstr "El @i %i @D té un dtime zero. " #. @-expanded: inode %i is in use, but has dtime set. -#: e2fsck/problem.c:464 +#: e2fsck/problem.c:416 #, c-format msgid "@i %i is in use, but has dtime set. " msgstr "El @i %i s'està utilitzant, però té dtime definit." #. @-expanded: inode %i is a zero-length directory. -#: e2fsck/problem.c:469 +#: e2fsck/problem.c:421 #, c-format msgid "@i %i is a @z @d. " msgstr "El @i %i és un @d de @z. " #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:474 +#: e2fsck/problem.c:426 msgid "@g %g's @b @B at %b @C.\n" msgstr "" #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:479 +#: e2fsck/problem.c:431 msgid "@g %g's @i @B at %b @C.\n" msgstr "" #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:484 +#: e2fsck/problem.c:436 msgid "@g %g's @i table at %b @C.\n" msgstr "" #. @-expanded: group %g's block bitmap (%b) is bad. -#: e2fsck/problem.c:489 +#: e2fsck/problem.c:441 msgid "@g %g's @b @B (%b) is bad. " msgstr "" #. @-expanded: group %g's inode bitmap (%b) is bad. -#: e2fsck/problem.c:494 +#: e2fsck/problem.c:446 msgid "@g %g's @i @B (%b) is bad. " msgstr "" #. @-expanded: inode %i, i_size is %Is, should be %N. -#: e2fsck/problem.c:499 +#: e2fsck/problem.c:451 msgid "@i %i, i_size is %Is, @s %N. " msgstr "" #. @-expanded: inode %i, i_blocks is %Ib, should be %N. -#: e2fsck/problem.c:504 +#: e2fsck/problem.c:456 msgid "@i %i, i_@bs is %Ib, @s %N. " msgstr "" -#. @-expanded: illegal %B (%b) in inode %i. -#: e2fsck/problem.c:509 -#, fuzzy -msgid "@I %B (%b) in @i %i. " -msgstr "Hi ha un número (%B) de @b no vàlid (%b) al @i de @b erronis. " +#. @-expanded: illegal block #%B (%b) in inode %i. +#: e2fsck/problem.c:461 +msgid "@I @b #%B (%b) in @i %i. " +msgstr "" -#. @-expanded: %B (%b) overlaps filesystem metadata in inode %i. -#: e2fsck/problem.c:514 -msgid "%B (%b) overlaps @f metadata in @i %i. " +#. @-expanded: block #%B (%b) overlaps filesystem metadata in inode %i. +#: e2fsck/problem.c:466 +msgid "@b #%B (%b) overlaps @f metadata in @i %i. " msgstr "" #. @-expanded: inode %i has illegal block(s). -#: e2fsck/problem.c:519 +#: e2fsck/problem.c:471 #, c-format msgid "@i %i has illegal @b(s). " msgstr "El @i %i té @bs no vàlids. " #. @-expanded: Too many illegal blocks in inode %i.\n -#: e2fsck/problem.c:524 +#: e2fsck/problem.c:476 #, c-format msgid "Too many illegal @bs in @i %i.\n" msgstr "Hi ha massa @b no vàlids al @i %i.\n" -#. @-expanded: illegal %B (%b) in bad block inode. -#: e2fsck/problem.c:529 -#, fuzzy -msgid "@I %B (%b) in bad @b @i. " +#. @-expanded: illegal block #%B (%b) in bad block inode. +#: e2fsck/problem.c:481 +msgid "@I @b #%B (%b) in bad @b @i. " msgstr "Hi ha un número (%B) de @b no vàlid (%b) al @i de @b erronis. " #. @-expanded: Bad block inode has illegal block(s). -#: e2fsck/problem.c:534 +#: e2fsck/problem.c:486 msgid "Bad @b @i has illegal @b(s). " msgstr "El @i de @b erronis té @bs no vàlids. " #. @-expanded: Duplicate or bad block in use!\n -#: e2fsck/problem.c:539 +#: e2fsck/problem.c:491 msgid "Duplicate or bad @b in use!\n" msgstr "S'està utilitzant el @b duplicat o erroni\n" #. @-expanded: Bad block %b used as bad block inode indirect block. -#: e2fsck/problem.c:544 +#: e2fsck/problem.c:496 msgid "Bad @b %b used as bad @b @i indirect @b. " msgstr "" @@ -1316,7 +1245,7 @@ msgstr "" #. @-expanded: The bad block inode has probably been corrupted. You probably\n #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n #. @-expanded: in the filesystem.\n -#: e2fsck/problem.c:549 +#: e2fsck/problem.c:501 msgid "" "\n" "The bad @b @i has probably been corrupted. You probably\n" @@ -1326,7 +1255,7 @@ msgstr "" #. @-expanded: \n #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n -#: e2fsck/problem.c:556 +#: e2fsck/problem.c:508 msgid "" "\n" "If the @b is really bad, the @f can not be fixed.\n" @@ -1337,7 +1266,7 @@ msgstr "" #. @-expanded: You can remove this block from the bad block list and hope\n #. @-expanded: that the block is really OK. But there are no guarantees.\n #. @-expanded: \n -#: e2fsck/problem.c:561 +#: e2fsck/problem.c:513 msgid "" "You can remove this @b from the bad @b list and hope\n" "that the @b is really OK. But there are no guarantees.\n" @@ -1345,121 +1274,128 @@ msgid "" msgstr "" #. @-expanded: The primary superblock (%b) is on the bad block list.\n -#: e2fsck/problem.c:567 +#: e2fsck/problem.c:519 msgid "The primary @S (%b) is on the bad @b list.\n" msgstr "El @S primary (%b) és a la llista de @bs erronis.\n" #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n -#: e2fsck/problem.c:572 +#: e2fsck/problem.c:524 msgid "Block %b in the primary @g descriptors is on the bad @b list\n" msgstr "" #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n -#: e2fsck/problem.c:578 +#: e2fsck/problem.c:530 msgid "Warning: Group %g's @S (%b) is bad.\n" msgstr "Avís: el @S (%b) del grup %s és erroni.\n" #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n -#: e2fsck/problem.c:583 +#: e2fsck/problem.c:535 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n" -msgstr "Avís: la còpia dels descriptors de @g del grup %g té un @b erroni (%b).\n" +msgstr "" +"Avís: la còpia dels descriptors de @g del grup %g té un @b erroni (%b).\n" #. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n -#: e2fsck/problem.c:589 +#: e2fsck/problem.c:541 msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n" -msgstr "Es probable que s'hagi produït un error de programació: el @b #%b ha estat reclamat sense motiu a process_bad_@b.\n" +msgstr "" +"Es probable que s'hagi produït un error de programació: el @b #%b ha estat " +"reclamat sense motiu a process_bad_@b.\n" #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n -#: e2fsck/problem.c:595 +#: e2fsck/problem.c:547 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n" msgstr "" #. @-expanded: error allocating block buffer for relocating %s\n -#: e2fsck/problem.c:600 +#: e2fsck/problem.c:552 #, c-format msgid "@A @b buffer for relocating %s\n" msgstr "@A de la memòria intermèdia del @b per a reubicar %s\n" #. @-expanded: Relocating group %g's %s from %b to %c...\n -#: e2fsck/problem.c:605 +#: e2fsck/problem.c:557 msgid "Relocating @g %g's %s from %b to %c...\n" msgstr "S'està reubicant %g del @g %s de %b a %c...\n" #. @-expanded: Relocating group %g's %s to %c...\n -#: e2fsck/problem.c:610 +#: e2fsck/problem.c:562 #, c-format msgid "Relocating @g %g's %s to %c...\n" msgstr "S'està reubicant %g del @g %s a %c...\n" #. @-expanded: Warning: could not read block %b of %s: %m\n -#: e2fsck/problem.c:615 +#: e2fsck/problem.c:567 msgid "Warning: could not read @b %b of %s: %m\n" msgstr "Avís: no s'ha pogut llegir el @b %b de %s: %m\n" #. @-expanded: Warning: could not write block %b for %s: %m\n -#: e2fsck/problem.c:620 +#: e2fsck/problem.c:572 msgid "Warning: could not write @b %b for %s: %m\n" msgstr "Avís: no s'ha pogut escriure el @b %b per a %s: %m\n" #. @-expanded: error allocating inode bitmap (%N): %m\n -#: e2fsck/problem.c:625 e2fsck/problem.c:1474 +#: e2fsck/problem.c:577 e2fsck/problem.c:1378 msgid "@A @i @B (%N): %m\n" msgstr "S'ha produït un @A del @B del @i (%N): %m\n" #. @-expanded: error allocating block bitmap (%N): %m\n -#: e2fsck/problem.c:630 +#: e2fsck/problem.c:582 msgid "@A @b @B (%N): %m\n" msgstr "S'ha produït un @A del @B del @b (%N): %m\n" #. @-expanded: error allocating icount link information: %m\n -#: e2fsck/problem.c:635 +#: e2fsck/problem.c:587 #, c-format msgid "@A icount link information: %m\n" msgstr "" #. @-expanded: error allocating directory block array: %m\n -#: e2fsck/problem.c:640 +#: e2fsck/problem.c:592 #, c-format msgid "@A @d @b array: %m\n" msgstr "" #. @-expanded: Error while scanning inodes (%i): %m\n -#: e2fsck/problem.c:645 +#: e2fsck/problem.c:597 #, c-format msgid "Error while scanning @is (%i): %m\n" msgstr "S'ha produït un error en escanejar els nodes-i (%i): %m\n" #. @-expanded: Error while iterating over blocks in inode %i: %m\n -#: e2fsck/problem.c:650 +#: e2fsck/problem.c:602 #, c-format msgid "Error while iterating over @bs in @i %i: %m\n" msgstr "S'ha produït un error en iterar a través dels @bs del @i (%i): %m\n" #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n -#: e2fsck/problem.c:655 +#: e2fsck/problem.c:607 msgid "Error storing @i count information (@i=%i, count=%N): %m\n" -msgstr "S'ha produït un error en desar la informació del nombre de nodes-i (@i=%i, nombre=%N): %m\n" +msgstr "" +"S'ha produït un error en desar la informació del nombre de nodes-i (@i=%i, " +"nombre=%N): %m\n" #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n -#: e2fsck/problem.c:660 +#: e2fsck/problem.c:612 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n" -msgstr "S'ha produït un error en desar la informació del @b de @d (@i=%i, @b=%b, núm=%N): %m\n" +msgstr "" +"S'ha produït un error en desar la informació del @b de @d (@i=%i, @b=%b, núm=" +"%N): %m\n" #. @-expanded: Error reading inode %i: %m\n -#: e2fsck/problem.c:666 +#: e2fsck/problem.c:618 #, c-format msgid "Error reading @i %i: %m\n" msgstr "S'ha produït un error en llegir el @i %i: %m\n" #. @-expanded: inode %i has imagic flag set. -#: e2fsck/problem.c:674 +#: e2fsck/problem.c:626 #, c-format msgid "@i %i has imagic flag set. " msgstr "" #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n #. @-expanded: or append-only flag set. -#: e2fsck/problem.c:679 +#: e2fsck/problem.c:631 #, c-format msgid "" "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n" @@ -1467,208 +1403,211 @@ msgid "" msgstr "" #. @-expanded: inode %i has compression flag set on filesystem without compression support. -#: e2fsck/problem.c:685 +#: e2fsck/problem.c:637 #, c-format msgid "@i %i has @cion flag set on @f without @cion support. " -msgstr "El @i %i té el senyalador de @c definit en un @f que no és compatible amb la @c. " +msgstr "" +"El @i %i té el senyalador de @c definit en un @f que no és compatible amb la " +"@c. " #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size. -#: e2fsck/problem.c:690 +#: e2fsck/problem.c:642 #, c-format msgid "Special (@v/socket/fifo) @i %i has non-zero size. " msgstr "" #. @-expanded: journal inode is not in use, but contains data. -#: e2fsck/problem.c:700 +#: e2fsck/problem.c:652 msgid "@j @i is not in use, but contains data. " msgstr "El @i del @j no s'utilitza, però conté dades. " #. @-expanded: journal is not regular file. -#: e2fsck/problem.c:705 +#: e2fsck/problem.c:657 msgid "@j is not regular file. " msgstr "El @j no és un fitxer normal. " #. @-expanded: inode %i was part of the orphaned inode list. -#: e2fsck/problem.c:710 +#: e2fsck/problem.c:662 #, c-format msgid "@i %i was part of the @o @i list. " msgstr "El @i %i és part de la llista de nodes-i @os. " #. @-expanded: inodes that were part of a corrupted orphan linked list found. -#: e2fsck/problem.c:716 +#: e2fsck/problem.c:668 msgid "@is that were part of a corrupted orphan linked list found. " -msgstr "S'han trobat nodes-i que són part d'una llista enllaçada d'orfes malmesa. " +msgstr "" +"S'han trobat nodes-i que són part d'una llista enllaçada d'orfes malmesa. " #. @-expanded: error allocating refcount structure (%N): %m\n -#: e2fsck/problem.c:721 +#: e2fsck/problem.c:673 msgid "@A refcount structure (%N): %m\n" msgstr "" #. @-expanded: Error reading extended attribute block %b for inode %i. -#: e2fsck/problem.c:726 +#: e2fsck/problem.c:678 msgid "Error reading @a @b %b for @i %i. " msgstr "S'ha produït un error en llegir el @b d'@a del @i %i. " #. @-expanded: inode %i has a bad extended attribute block %b. -#: e2fsck/problem.c:731 +#: e2fsck/problem.c:683 msgid "@i %i has a bad @a @b %b. " msgstr "El @i %i té un @b d'@a %b malmès. " #. @-expanded: Error reading extended attribute block %b (%m). -#: e2fsck/problem.c:736 +#: e2fsck/problem.c:688 msgid "Error reading @a @b %b (%m). " msgstr "S'ha produït un error en llegir el @b d'@a %b (%m). " -#. @-expanded: extended attribute block %b has reference count %r, should be %N. -#: e2fsck/problem.c:741 -#, fuzzy -msgid "@a @b %b has reference count %r, @s %N. " -msgstr "el nombre de referències del @i %s és %Il, @s %N." +#. @-expanded: extended attribute block %b has reference count %B, should be %N. +#: e2fsck/problem.c:693 +msgid "@a @b %b has reference count %B, @s %N. " +msgstr "" #. @-expanded: Error writing extended attribute block %b (%m). -#: e2fsck/problem.c:746 +#: e2fsck/problem.c:698 msgid "Error writing @a @b %b (%m). " msgstr "S'ha produït un error en escriure el @b d'@a %b (%m). " #. @-expanded: extended attribute block %b has h_blocks > 1. -#: e2fsck/problem.c:751 +#: e2fsck/problem.c:703 msgid "@a @b %b has h_@bs > 1. " msgstr "" #. @-expanded: error allocating extended attribute block %b. -#: e2fsck/problem.c:756 +#: e2fsck/problem.c:708 msgid "@A @a @b %b. " msgstr "S'ha produït un @A del @b d'@a %b. " #. @-expanded: extended attribute block %b is corrupt (allocation collision). -#: e2fsck/problem.c:761 +#: e2fsck/problem.c:713 msgid "@a @b %b is corrupt (allocation collision). " msgstr "El @b d'@a està malmès (col·lisió en la ubicació). " #. @-expanded: extended attribute block %b is corrupt (invalid name). -#: e2fsck/problem.c:766 +#: e2fsck/problem.c:718 msgid "@a @b %b is corrupt (@n name). " msgstr "El @b d'@a està malmès (nom @n). " #. @-expanded: extended attribute block %b is corrupt (invalid value). -#: e2fsck/problem.c:771 +#: e2fsck/problem.c:723 msgid "@a @b %b is corrupt (@n value). " msgstr "El @b d'@a està malmès (valor @n). " #. @-expanded: inode %i is too big. -#: e2fsck/problem.c:776 +#: e2fsck/problem.c:728 #, c-format msgid "@i %i is too big. " msgstr "El @i %i és massa gran. " -#. @-expanded: %B (%b) causes directory to be too big. -#: e2fsck/problem.c:780 -#, fuzzy -msgid "%B (%b) causes @d to be too big. " +#. @-expanded: block #%B (%b) causes directory to be too big. +#: e2fsck/problem.c:732 +msgid "@b #%B (%b) causes @d to be too big. " msgstr "El @b #%B (%b) fa que el @d sigui massa gran. " -#: e2fsck/problem.c:785 -#, fuzzy -msgid "%B (%b) causes file to be too big. " +#. @-expanded: block #%B (%b) causes file to be too big. +#: e2fsck/problem.c:737 +msgid "@b #%B (%b) causes file to be too big. " msgstr "El @b #%B (%b) fa que el fitxer sigui massa gran. " -#: e2fsck/problem.c:790 -#, fuzzy -msgid "%B (%b) causes symlink to be too big. " +#. @-expanded: block #%B (%b) causes symlink to be too big. +#: e2fsck/problem.c:742 +msgid "@b #%B (%b) causes symlink to be too big. " msgstr "El @b #%B (%b) fa que l'enllaç simbòlic sigui massa gran. " #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n -#: e2fsck/problem.c:795 +#: e2fsck/problem.c:747 #, c-format msgid "@i %i has INDEX_FL flag set on @f without htree support.\n" -msgstr "El @i %i té el senyalador INDEX_FL definit en un @f que no és compatble amb l'htree.\n" +msgstr "" +"El @i %i té el senyalador INDEX_FL definit en un @f que no és compatble amb " +"l'htree.\n" #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n -#: e2fsck/problem.c:800 +#: e2fsck/problem.c:752 #, c-format msgid "@i %i has INDEX_FL flag set but is not a @d.\n" msgstr "El @i %i té el senyalador INDEX_FL definit però no és un @d.\n" #. @-expanded: HTREE directory inode %i has an invalid root node.\n -#: e2fsck/problem.c:805 +#: e2fsck/problem.c:757 #, c-format msgid "@h %i has an @n root node.\n" msgstr "" #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n -#: e2fsck/problem.c:810 +#: e2fsck/problem.c:762 msgid "@h %i has an unsupported hash version (%N)\n" msgstr "" #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n -#: e2fsck/problem.c:815 +#: e2fsck/problem.c:767 #, c-format msgid "@h %i uses an incompatible htree root node flag.\n" msgstr "" #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n -#: e2fsck/problem.c:820 +#: e2fsck/problem.c:772 msgid "@h %i has a tree depth (%N) which is too big\n" msgstr "" #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n #. @-expanded: filesystem metadata. -#: e2fsck/problem.c:825 +#: e2fsck/problem.c:777 msgid "" "Bad @b @i has an indirect @b (%b) that conflicts with\n" "@f metadata. " msgstr "" #. @-expanded: Resize inode (re)creation failed: %m. -#: e2fsck/problem.c:831 +#: e2fsck/problem.c:783 #, c-format msgid "Resize @i (re)creation failed: %m." msgstr "" #. @-expanded: inode %i has a extra size (%IS) which is invalid\n -#: e2fsck/problem.c:836 +#: e2fsck/problem.c:788 msgid "@i %i has a extra size (%IS) which is @n\n" msgstr "El @i té una mida addicional (%IS) què no és vàlida\n" #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n -#: e2fsck/problem.c:841 +#: e2fsck/problem.c:793 msgid "@a in @i %i has a namelen (%N) which is @n\n" msgstr "La llargada del nom (%N) de l'@a del @i %i no és vàlida\n" +#. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n +#: e2fsck/problem.c:798 +msgid "@a in @i %i has a value size (%N) which is @n\n" +msgstr "La mida del valor (%N) de l'@a del @i %i no és vàlida\n" + #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n -#: e2fsck/problem.c:846 +#: e2fsck/problem.c:803 msgid "@a in @i %i has a value offset (%N) which is @n\n" msgstr "El desplaçament del valor (%N) de l'@a del @i %i no és vàlid\n" #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n -#: e2fsck/problem.c:851 +#: e2fsck/problem.c:808 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" msgstr "El @b del valor (%N) de l'@a del @i %i no és vàlid (hauria de ser 0)\n" -#. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n -#: e2fsck/problem.c:856 -msgid "@a in @i %i has a value size (%N) which is @n\n" -msgstr "La mida del valor (%N) de l'@a del @i %i no és vàlida\n" - #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n -#: e2fsck/problem.c:861 +#: e2fsck/problem.c:813 msgid "@a in @i %i has a hash (%N) which is @n\n" msgstr "L'@a del @i %i té un resum (%N) que no és vàlid\n" #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n -#: e2fsck/problem.c:866 +#: e2fsck/problem.c:818 msgid "@i %i is a %It but it looks like it is really a directory.\n" msgstr "El @i %i és un %It, però sembla ser un directori en realitat.\n" #. @-expanded: Error while reading over extent tree in inode %i: %m\n -#: e2fsck/problem.c:871 +#: e2fsck/problem.c:823 #, c-format msgid "Error while reading over @x tree in @i %i: %m\n" msgstr "S'ha produït un error en llegir l'arbre d'@x al @i %i: %m\n" #. @-expanded: Failed to iterate extents in inode %i\n #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n -#: e2fsck/problem.c:876 +#: e2fsck/problem.c:828 msgid "" "Failed to iterate extents in @i %i\n" "\t(op %s, blk %b, lblk %c): %m\n" @@ -1676,7 +1615,7 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n -#: e2fsck/problem.c:882 +#: e2fsck/problem.c:834 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, @n physical @b %b, len %N)\n" @@ -1684,106 +1623,54 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n -#: e2fsck/problem.c:887 +#: e2fsck/problem.c:839 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, physical @b %b, @n len %N)\n" msgstr "" #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n -#: e2fsck/problem.c:892 +#: e2fsck/problem.c:844 #, c-format msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n" -msgstr "El @i %i té el senyalador EXTENTS_FL definit en un @f que no és compatible amb l'extensió.\n" +msgstr "" +"El @i %i té el senyalador EXTENTS_FL definit en un @f que no és compatible " +"amb l'extensió.\n" #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n -#: e2fsck/problem.c:897 +#: e2fsck/problem.c:849 #, c-format msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n" msgstr "" #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n -#: e2fsck/problem.c:902 +#: e2fsck/problem.c:854 #, c-format msgid "@i %i missing EXTENT_FL, but is in extents format\n" msgstr "" -#: e2fsck/problem.c:907 +#: e2fsck/problem.c:859 #, c-format msgid "Fast symlink %i has EXTENT_FL set. " msgstr "" #. @-expanded: inode %i has out of order extents\n #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:912 +#: e2fsck/problem.c:864 msgid "" "@i %i has out of order extents\n" "\t(@n logical @b %c, physical @b %b, len %N)\n" msgstr "" #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n -#: e2fsck/problem.c:916 +#: e2fsck/problem.c:868 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n" msgstr "" -#. @-expanded: Error converting subcluster block bitmap: %m\n -#: e2fsck/problem.c:921 -#, fuzzy, c-format -msgid "Error converting subcluster @b @B: %m\n" -msgstr "S'ha produït en iterar pels @bs de @d: %m\n" - -#. @-expanded: quota inode is not regular file. -#: e2fsck/problem.c:926 -#, fuzzy -msgid "@q @i is not regular file. " -msgstr "El @j no és un fitxer normal. " - -#. @-expanded: quota inode is not in use, but contains data. -#: e2fsck/problem.c:931 -#, fuzzy -msgid "@q @i is not in use, but contains data. " -msgstr "El @i del @j no s'utilitza, però conté dades. " - -#. @-expanded: quota inode is visible to the user. -#: e2fsck/problem.c:936 -#, fuzzy -msgid "@q @i is visible to the user. " -msgstr "El @i %i s'està utilitzant, però té dtime definit." - -#. @-expanded: The bad block inode looks invalid. -#: e2fsck/problem.c:941 -#, fuzzy -msgid "The bad @b @i looks @n. " -msgstr "" - -#. @-expanded: inode %i has zero length extent\n -#. @-expanded: \t(invalid logical block %c, physical block %b)\n -#: e2fsck/problem.c:946 -msgid "" -"@i %i has zero length extent\n" -"\t(@n logical @b %c, physical @b %b)\n" -msgstr "" - -#. @-expanded: Interior extent node level %N of inode %i:\n -#. @-expanded: Logical start %b does not match logical start %c at next level. -#: e2fsck/problem.c:953 -msgid "" -"Interior @x node level %N of @i %i:\n" -"Logical start %b does not match logical start %c at next level. " -msgstr "" - -#. @-expanded: inode %i, end of extent exceeds allowed value\n -#. @-expanded: \t(logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:959 -msgid "" -"@i %i, end of extent exceeds allowed value\n" -"\t(logical @b %c, physical @b %b, len %N)\n" -msgstr "" - #. @-expanded: \n #. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n #. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n -#: e2fsck/problem.c:967 +#: e2fsck/problem.c:875 msgid "" "\n" "Running additional passes to resolve @bs claimed by more than one @i...\n" @@ -1791,67 +1678,70 @@ msgid "" msgstr "" #. @-expanded: multiply-claimed block(s) in inode %i: -#: e2fsck/problem.c:973 +#: e2fsck/problem.c:881 #, c-format msgid "@m @b(s) in @i %i:" msgstr "@b(s) reclamat(s) múltiplement del @i %i:" -#: e2fsck/problem.c:988 +#: e2fsck/problem.c:896 #, c-format msgid "Error while scanning inodes (%i): %m\n" msgstr "S'ha produït un error en escanejar els nodes-i (%i): %m\n" #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n -#: e2fsck/problem.c:993 +#: e2fsck/problem.c:901 #, c-format msgid "@A @i @B (@i_dup_map): %m\n" msgstr "" #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n -#: e2fsck/problem.c:998 +#: e2fsck/problem.c:906 #, c-format msgid "Error while iterating over @bs in @i %i (%s): %m\n" msgstr "S'ha produït un error en iterar pels @bs al @i %i (%s): %m\n" #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n -#: e2fsck/problem.c:1003 e2fsck/problem.c:1318 +#: e2fsck/problem.c:911 e2fsck/problem.c:1227 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n" -msgstr "S'ha produït un error en ajustar el nombre de referències del @b d'@a %b (@i %i): %m\n" +msgstr "" +"S'ha produït un error en ajustar el nombre de referències del @b d'@a %b (@i " +"%i): %m\n" #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n -#: e2fsck/problem.c:1008 +#: e2fsck/problem.c:917 msgid "Pass 1C: Scanning directories for @is with @m @bs\n" -msgstr "Pas 1C: escaneig dels directoris dels nodes-i amb @bs reclamats múltiplement\n" +msgstr "" +"Pas 1C: escaneig dels directoris dels nodes-i amb @bs reclamats " +"múltiplement\n" #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n -#: e2fsck/problem.c:1014 +#: e2fsck/problem.c:923 msgid "Pass 1D: Reconciling @m @bs\n" msgstr "Pas 1D: conciliació dels @bs reclamats múltiplement\n" #. @-expanded: File %Q (inode #%i, mod time %IM) \n -#. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n -#: e2fsck/problem.c:1019 -#, fuzzy +#. @-expanded: has %B multiply-claimed block(s), shared with %N file(s):\n +#: e2fsck/problem.c:928 msgid "" "File %Q (@i #%i, mod time %IM) \n" -" has %r @m @b(s), shared with %N file(s):\n" +" has %B @m @b(s), shared with %N file(s):\n" msgstr "" "El fitxer %Q (@i #%i, hora de mod %IM) \n" " té %B @b(s) @m, compartits amb %N fitxer(s):\n" #. @-expanded: \t%Q (inode #%i, mod time %IM)\n -#: e2fsck/problem.c:1025 +#: e2fsck/problem.c:934 msgid "\t%Q (@i #%i, mod time %IM)\n" msgstr "\t%Q (@i #%i, hora de modificació %IM)\n" #. @-expanded: \t\n -#: e2fsck/problem.c:1030 +#: e2fsck/problem.c:939 msgid "\t<@f metadata>\n" msgstr "\t\n" #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n #. @-expanded: \n -#: e2fsck/problem.c:1035 +#: e2fsck/problem.c:944 msgid "" "(There are %N @is containing @m @bs.)\n" "\n" @@ -1859,7 +1749,7 @@ msgstr "(Hi ha %N nodes-i que contenen @bs múltiplement reclamats.)\n" #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n #. @-expanded: \n -#: e2fsck/problem.c:1040 +#: e2fsck/problem.c:949 msgid "" "@m @bs already reassigned or cloned.\n" "\n" @@ -1867,325 +1757,317 @@ msgstr "" "@bs reclamats múltiplement ja reassignats o clonats.\n" "\n" -#: e2fsck/problem.c:1053 +#: e2fsck/problem.c:962 #, c-format msgid "Couldn't clone file: %m\n" msgstr "No s'ha pogut clonar el fitxer: %m\n" #. @-expanded: Pass 2: Checking directory structure\n -#: e2fsck/problem.c:1059 +#: e2fsck/problem.c:968 msgid "Pass 2: Checking @d structure\n" msgstr "Pas 2: comprovació de l'estructura del @d\n" #. @-expanded: invalid inode number for '.' in directory inode %i.\n -#: e2fsck/problem.c:1064 +#: e2fsck/problem.c:973 #, c-format msgid "@n @i number for '.' in @d @i %i.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n -#: e2fsck/problem.c:1069 +#: e2fsck/problem.c:978 msgid "@E has @n @i #: %Di.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di. -#: e2fsck/problem.c:1074 +#: e2fsck/problem.c:983 msgid "@E has @D/unused @i %Di. " msgstr "" #. @-expanded: entry '%Dn' in %p (%i) is a link to '.' -#: e2fsck/problem.c:1079 +#: e2fsck/problem.c:988 msgid "@E @L to '.' " msgstr "L'@E @L a «.»" #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n -#: e2fsck/problem.c:1084 +#: e2fsck/problem.c:993 msgid "@E points to @i (%Di) located in a bad @b.\n" msgstr "L'@E apunta al @i (%Di) ubicat en un @b malmès.\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n -#: e2fsck/problem.c:1089 +#: e2fsck/problem.c:998 msgid "@E @L to @d %P (%Di).\n" msgstr "L'@E @L al @d %P (%Di).\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n -#: e2fsck/problem.c:1094 +#: e2fsck/problem.c:1003 msgid "@E @L to the @r.\n" msgstr "L'@E @L al @r.\n" #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n -#: e2fsck/problem.c:1099 +#: e2fsck/problem.c:1008 msgid "@E has illegal characters in its name.\n" msgstr "El nom de l'@E conté caràcters no vàlids.\n" #. @-expanded: Missing '.' in directory inode %i.\n -#: e2fsck/problem.c:1104 +#: e2fsck/problem.c:1013 #, c-format msgid "Missing '.' in @d @i %i.\n" msgstr "Manca el «.» en el @i de @d %i.\n" #. @-expanded: Missing '..' in directory inode %i.\n -#: e2fsck/problem.c:1109 +#: e2fsck/problem.c:1018 #, c-format msgid "Missing '..' in @d @i %i.\n" msgstr "Manca el «..» en el @i de @d %i.\n" #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n -#: e2fsck/problem.c:1114 +#: e2fsck/problem.c:1023 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n" msgstr "La primera @e «%Dn» (@i=%Di) en el @i de @d %i (%p) @s «.»\n" #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n -#: e2fsck/problem.c:1119 +#: e2fsck/problem.c:1028 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n" msgstr "La segona @e «%Dn» (@i=%Di) en el @i de @d %i (%p) @s «..»\n" #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n -#: e2fsck/problem.c:1124 +#: e2fsck/problem.c:1033 msgid "i_faddr @F %IF, @s zero.\n" msgstr "" #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n -#: e2fsck/problem.c:1129 +#: e2fsck/problem.c:1038 msgid "i_file_acl @F %If, @s zero.\n" msgstr "" #. @-expanded: i_dir_acl for inode %i (%Q) is %Id, should be zero.\n -#: e2fsck/problem.c:1134 +#: e2fsck/problem.c:1043 msgid "i_dir_acl @F %Id, @s zero.\n" msgstr "" #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1139 +#: e2fsck/problem.c:1048 msgid "i_frag @F %N, @s zero.\n" msgstr "" #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1144 +#: e2fsck/problem.c:1053 msgid "i_fsize @F %N, @s zero.\n" msgstr "" #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n -#: e2fsck/problem.c:1149 +#: e2fsck/problem.c:1058 msgid "@i %i (%Q) has @n mode (%Im).\n" msgstr "El @i %i (%Q) té un mode @n (%Im).\n" -#. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n -#: e2fsck/problem.c:1154 -#, fuzzy -msgid "@d @i %i, %B, offset %N: @d corrupted\n" -msgstr "@i de @d %i, @b %B, desplaçament %N: el nom de fitxer és massa llarg\n" +#. @-expanded: directory inode %i, block %B, offset %N: directory corrupted\n +#: e2fsck/problem.c:1063 +msgid "@d @i %i, @b %B, offset %N: @d corrupted\n" +msgstr "" -#. @-expanded: directory inode %i, %B, offset %N: filename too long\n -#: e2fsck/problem.c:1159 -#, fuzzy -msgid "@d @i %i, %B, offset %N: filename too long\n" +#. @-expanded: directory inode %i, block %B, offset %N: filename too long\n +#: e2fsck/problem.c:1068 +msgid "@d @i %i, @b %B, offset %N: filename too long\n" msgstr "@i de @d %i, @b %B, desplaçament %N: el nom de fitxer és massa llarg\n" -#. @-expanded: directory inode %i has an unallocated %B. -#: e2fsck/problem.c:1164 -#, fuzzy -msgid "@d @i %i has an unallocated %B. " +#. @-expanded: directory inode %i has an unallocated block #%B. +#: e2fsck/problem.c:1073 +msgid "@d @i %i has an unallocated @b #%B. " msgstr "El @i de @d %i té un @b #%B no ubicat. " #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1169 +#: e2fsck/problem.c:1078 #, c-format msgid "'.' @d @e in @d @i %i is not NULL terminated\n" msgstr "L'@e de @d «.» en el @i de @d %i no acaba en NUL\n" #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1174 +#: e2fsck/problem.c:1083 #, c-format msgid "'..' @d @e in @d @i %i is not NULL terminated\n" msgstr "L'@e de @d «..» en el @i de @d %i no acaba en NUL\n" #. @-expanded: inode %i (%Q) is an illegal character device.\n -#: e2fsck/problem.c:1179 +#: e2fsck/problem.c:1088 msgid "@i %i (%Q) is an @I character @v.\n" msgstr "El @i %i (%Q) és un @v de caràcters @I.\n" #. @-expanded: inode %i (%Q) is an illegal block device.\n -#: e2fsck/problem.c:1184 +#: e2fsck/problem.c:1093 msgid "@i %i (%Q) is an @I @b @v.\n" msgstr "El @i %i (%Q) és un @v de blocs @I.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n -#: e2fsck/problem.c:1189 +#: e2fsck/problem.c:1098 msgid "@E is duplicate '.' @e.\n" msgstr "L'@E és un duplicat de l'@e «.»\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n -#: e2fsck/problem.c:1194 +#: e2fsck/problem.c:1103 msgid "@E is duplicate '..' @e.\n" msgstr "L'@E és un duplicat de l'@e «..»\n" -#: e2fsck/problem.c:1199 e2fsck/problem.c:1499 +#: e2fsck/problem.c:1108 e2fsck/problem.c:1403 #, c-format msgid "Internal error: couldn't find dir_info for %i.\n" msgstr "S'ha produït un error intern: no s'ha trobat dir_info per a %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n -#: e2fsck/problem.c:1204 +#: e2fsck/problem.c:1113 msgid "@E has rec_len of %Dr, @s %N.\n" msgstr "" #. @-expanded: error allocating icount structure: %m\n -#: e2fsck/problem.c:1209 +#: e2fsck/problem.c:1118 #, c-format msgid "@A icount structure: %m\n" msgstr "@A de l'estructura icount: %m\n" #. @-expanded: Error iterating over directory blocks: %m\n -#: e2fsck/problem.c:1214 +#: e2fsck/problem.c:1123 #, c-format msgid "Error iterating over @d @bs: %m\n" msgstr "S'ha produït en iterar pels @bs de @d: %m\n" #. @-expanded: Error reading directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1219 +#: e2fsck/problem.c:1128 msgid "Error reading @d @b %b (@i %i): %m\n" msgstr "S'ha produït un error en llegir el @b de @d %b (@i %i): %m\n" #. @-expanded: Error writing directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1224 +#: e2fsck/problem.c:1133 msgid "Error writing @d @b %b (@i %i): %m\n" msgstr "S'ha produït un error en escriure el @b de @d %b (@i %i): %m\n" #. @-expanded: error allocating new directory block for inode %i (%s): %m\n -#: e2fsck/problem.c:1229 +#: e2fsck/problem.c:1138 #, c-format msgid "@A new @d @b for @i %i (%s): %m\n" msgstr "" #. @-expanded: Error deallocating inode %i: %m\n -#: e2fsck/problem.c:1234 +#: e2fsck/problem.c:1143 #, c-format msgid "Error deallocating @i %i: %m\n" msgstr "S'ha produït un error en desubicar el @i %i: %m\n" #. @-expanded: directory entry for '.' in %p (%i) is big.\n -#: e2fsck/problem.c:1239 +#: e2fsck/problem.c:1148 #, c-format msgid "@d @e for '.' in %p (%i) is big.\n" msgstr "L'@e de @d per a «.» a %p (%i) és gran. \n" #. @-expanded: inode %i (%Q) is an illegal FIFO.\n -#: e2fsck/problem.c:1244 +#: e2fsck/problem.c:1153 msgid "@i %i (%Q) is an @I FIFO.\n" msgstr "El @i %i (%Q) és una FIFO no vàlida.\n" #. @-expanded: inode %i (%Q) is an illegal socket.\n -#: e2fsck/problem.c:1249 +#: e2fsck/problem.c:1158 msgid "@i %i (%Q) is an @I socket.\n" msgstr "El @i %i (%Q) és un sòcol @I.\n" #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n -#: e2fsck/problem.c:1254 +#: e2fsck/problem.c:1163 msgid "Setting filetype for @E to %N.\n" msgstr "S'està establint el tipus de fitxer per a l'@E a %N.\n" #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n -#: e2fsck/problem.c:1259 +#: e2fsck/problem.c:1168 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n" msgstr "El tipus de fitxer de l'@E és incorrecte (és %Dt, @s %N).\n" #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n -#: e2fsck/problem.c:1264 +#: e2fsck/problem.c:1173 msgid "@E has filetype set.\n" msgstr "El tipus de fitxer de l@E està definit.\n" #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n -#: e2fsck/problem.c:1269 +#: e2fsck/problem.c:1178 msgid "@E has a @z name.\n" msgstr "El nom de l'@E és de @z.\n" #. @-expanded: Symlink %Q (inode #%i) is invalid.\n -#: e2fsck/problem.c:1274 +#: e2fsck/problem.c:1183 msgid "Symlink %Q (@i #%i) is @n.\n" msgstr "L'enllaç simbòlic %Q (@i #%i) és @n.\n" #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n -#: e2fsck/problem.c:1279 +#: e2fsck/problem.c:1188 msgid "@a @b @F @n (%If).\n" msgstr "El @b d'@a @F @n (%If).\n" #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n -#: e2fsck/problem.c:1284 +#: e2fsck/problem.c:1193 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n" -msgstr "El @f conté fitxers grans, però li manca el senyalador LARGE_FILE al @S.\n" +msgstr "" +"El @f conté fitxers grans, però li manca el senyalador LARGE_FILE al @S.\n" -#. @-expanded: problem in HTREE directory inode %d: %B not referenced\n -#: e2fsck/problem.c:1289 -#, fuzzy -msgid "@p @h %d: %B not referenced\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) not referenced\n +#: e2fsck/problem.c:1198 +msgid "@p @h %d: node (%B) not referenced\n" msgstr "S'ha produït un @p al @h %d: el node (%B) no està referenciat\n" -#. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n -#: e2fsck/problem.c:1294 -#, fuzzy -msgid "@p @h %d: %B referenced twice\n" -msgstr "S'ha produït un @p al @h %d: el node (%B) està referenciat dues vegades\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) referenced twice\n +#: e2fsck/problem.c:1203 +msgid "@p @h %d: node (%B) referenced twice\n" +msgstr "" +"S'ha produït un @p al @h %d: el node (%B) està referenciat dues vegades\n" -#. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n -#: e2fsck/problem.c:1299 -#, fuzzy -msgid "@p @h %d: %B has bad min hash\n" -msgstr "@p en el @h %d: el node (%B) té una profunditat (%N) @na\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has bad min hash\n +#: e2fsck/problem.c:1208 +msgid "@p @h %d: node (%B) has bad min hash\n" +msgstr "" -#. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n -#: e2fsck/problem.c:1304 -msgid "@p @h %d: %B has bad max hash\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has bad max hash\n +#: e2fsck/problem.c:1213 +msgid "@p @h %d: node (%B) has bad max hash\n" msgstr "" #. @-expanded: invalid HTREE directory inode %d (%q). -#: e2fsck/problem.c:1309 +#: e2fsck/problem.c:1218 msgid "@n @h %d (%q). " msgstr "el @h %d (%q) és @n. " #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n -#: e2fsck/problem.c:1313 +#: e2fsck/problem.c:1222 msgid "@p @h %d (%q): bad @b number %b.\n" msgstr "" #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n -#: e2fsck/problem.c:1323 +#: e2fsck/problem.c:1232 #, c-format msgid "@p @h %d: root node is @n\n" msgstr "" -#. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n -#: e2fsck/problem.c:1328 -#, fuzzy -msgid "@p @h %d: %B has @n limit (%N)\n" -msgstr "@p en el @h %d: el node (%B) té una profunditat (%N) @na\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has invalid limit (%N)\n +#: e2fsck/problem.c:1237 +msgid "@p @h %d: node (%B) has @n limit (%N)\n" +msgstr "" -#. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n -#: e2fsck/problem.c:1333 -#, fuzzy -msgid "@p @h %d: %B has @n count (%N)\n" -msgstr "@p en el @h %d: el node (%B) té una profunditat (%N) @na\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has invalid count (%N)\n +#: e2fsck/problem.c:1242 +msgid "@p @h %d: node (%B) has @n count (%N)\n" +msgstr "" -#. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n -#: e2fsck/problem.c:1338 -#, fuzzy -msgid "@p @h %d: %B has an unordered hash table\n" -msgstr "@p en el @h %d: el node (%B) té una profunditat (%N) @na\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has an unordered hash table\n +#: e2fsck/problem.c:1247 +msgid "@p @h %d: node (%B) has an unordered hash table\n" +msgstr "" -#. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n -#: e2fsck/problem.c:1343 -#, fuzzy -msgid "@p @h %d: %B has @n depth (%N)\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has invalid depth (%N)\n +#: e2fsck/problem.c:1252 +msgid "@p @h %d: node (%B) has @n depth (%N)\n" msgstr "@p en el @h %d: el node (%B) té una profunditat (%N) @na\n" #. @-expanded: Duplicate entry '%Dn' in %p (%i) found. -#: e2fsck/problem.c:1348 +#: e2fsck/problem.c:1257 msgid "Duplicate @E found. " msgstr "S'ha trobat una @E duplicada. " #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n #. @-expanded: Rename to %s -#: e2fsck/problem.c:1353 +#: e2fsck/problem.c:1262 #, no-c-format msgid "" "@E has a non-unique filename.\n" @@ -2197,7 +2079,7 @@ msgstr "" #. @-expanded: Duplicate entry '%Dn' found.\n #. @-expanded: \tMarking %p (%i) to be rebuilt.\n #. @-expanded: \n -#: e2fsck/problem.c:1358 +#: e2fsck/problem.c:1267 msgid "" "Duplicate @e '%Dn' found.\n" "\tMarking %p (%i) to be rebuilt.\n" @@ -2208,116 +2090,111 @@ msgstr "" "\n" #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1363 +#: e2fsck/problem.c:1272 msgid "i_blocks_hi @F %N, @s zero.\n" msgstr "" #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n -#: e2fsck/problem.c:1368 +#: e2fsck/problem.c:1277 msgid "Unexpected @b in @h %d (%q).\n" msgstr "No s'esperava el @b al @h %d (%q).\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n -#: e2fsck/problem.c:1372 +#: e2fsck/problem.c:1281 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n -#: e2fsck/problem.c:1377 +#: e2fsck/problem.c:1286 msgid "@E references @i %Di found in @g %g's unused inodes area.\n" msgstr "" -#. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1382 -msgid "i_file_acl_hi @F %N, @s zero.\n" -msgstr "" - #. @-expanded: Pass 3: Checking directory connectivity\n -#: e2fsck/problem.c:1389 +#: e2fsck/problem.c:1293 msgid "Pass 3: Checking @d connectivity\n" msgstr "Pas 3: comprovació de la connectivitat dels @ds\n" #. @-expanded: root inode not allocated. -#: e2fsck/problem.c:1394 +#: e2fsck/problem.c:1298 msgid "@r not allocated. " msgstr "El @r no està ubicat. " #. @-expanded: No room in lost+found directory. -#: e2fsck/problem.c:1399 +#: e2fsck/problem.c:1303 msgid "No room in @l @d. " msgstr "No hi ha prou espai en el @d @l. " #. @-expanded: Unconnected directory inode %i (%p)\n -#: e2fsck/problem.c:1404 +#: e2fsck/problem.c:1308 #, c-format msgid "Unconnected @d @i %i (%p)\n" msgstr "@i de @d %i desconnectat (%p)\n" #. @-expanded: /lost+found not found. -#: e2fsck/problem.c:1409 +#: e2fsck/problem.c:1313 msgid "/@l not found. " msgstr "No s'ha trobat /@l. " #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n -#: e2fsck/problem.c:1414 +#: e2fsck/problem.c:1318 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n" msgstr "«..» a %Q (%i) és %P (%j), @s %q (%d).\n" #. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n -#: e2fsck/problem.c:1419 +#: e2fsck/problem.c:1323 msgid "Bad or non-existent /@l. Cannot reconnect.\n" msgstr "El directori /@l no existeix o està malmès. No es pot reconnectar.\n" #. @-expanded: Could not expand /lost+found: %m\n -#: e2fsck/problem.c:1424 +#: e2fsck/problem.c:1328 #, c-format msgid "Could not expand /@l: %m\n" msgstr "No s'ha pogut expandir el directori /@l: %m\n" -#: e2fsck/problem.c:1429 +#: e2fsck/problem.c:1333 #, c-format msgid "Could not reconnect %i: %m\n" msgstr "No s'ha pogut reconnectar %i: %m\n" #. @-expanded: Error while trying to find /lost+found: %m\n -#: e2fsck/problem.c:1434 +#: e2fsck/problem.c:1338 #, c-format msgid "Error while trying to find /@l: %m\n" msgstr "S'ha produït un error en cercar el directori /@l: %m\n" #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1439 +#: e2fsck/problem.c:1343 #, c-format msgid "ext2fs_new_@b: %m while trying to create /@l @d\n" msgstr "ext2fs_new_block: %m en intentar crear el @d /@l\n" #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1444 +#: e2fsck/problem.c:1348 #, c-format msgid "ext2fs_new_@i: %m while trying to create /@l @d\n" msgstr "ext2fs_new_inode: %m en intentar crear el @d /@l\n" #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n -#: e2fsck/problem.c:1449 +#: e2fsck/problem.c:1353 #, c-format msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n" msgstr "ext2fs_new_dir_block: %m en crear el @b de @d nou\n" #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n -#: e2fsck/problem.c:1454 +#: e2fsck/problem.c:1358 #, c-format msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n" msgstr "ext2fs_new_dir_block: %m en crear el @b de @d nou per a /@l\n" #. @-expanded: Error while adjusting inode count on inode %i\n -#: e2fsck/problem.c:1459 +#: e2fsck/problem.c:1363 #, c-format msgid "Error while adjusting @i count on @i %i\n" msgstr "S'ha produït un error en ajustar el nombre de nodes-i al @i %i\n" #. @-expanded: Couldn't fix parent of inode %i: %m\n #. @-expanded: \n -#: e2fsck/problem.c:1464 +#: e2fsck/problem.c:1368 #, c-format msgid "" "Couldn't fix parent of @i %i: %m\n" @@ -2328,7 +2205,7 @@ msgstr "" #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n #. @-expanded: \n -#: e2fsck/problem.c:1469 +#: e2fsck/problem.c:1373 #, c-format msgid "" "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n" @@ -2338,76 +2215,76 @@ msgstr "" "\n" #. @-expanded: Error creating root directory (%s): %m\n -#: e2fsck/problem.c:1479 +#: e2fsck/problem.c:1383 #, c-format msgid "Error creating root @d (%s): %m\n" msgstr "S'ha produït un error en crear el @d arrel (%s): %m\n" #. @-expanded: Error creating /lost+found directory (%s): %m\n -#: e2fsck/problem.c:1484 +#: e2fsck/problem.c:1388 #, c-format msgid "Error creating /@l @d (%s): %m\n" msgstr "S'ha produït un error en crear el @d /@l (%s): %m\n" #. @-expanded: root inode is not a directory; aborting.\n -#: e2fsck/problem.c:1489 +#: e2fsck/problem.c:1393 msgid "@r is not a @d; aborting.\n" msgstr "el @r no és un @d; s'interromprà.\n" #. @-expanded: Cannot proceed without a root inode.\n -#: e2fsck/problem.c:1494 +#: e2fsck/problem.c:1398 msgid "Cannot proceed without a @r.\n" msgstr "No es pot continuar sense un @r.\n" #. @-expanded: /lost+found is not a directory (ino=%i)\n -#: e2fsck/problem.c:1504 +#: e2fsck/problem.c:1408 #, c-format msgid "/@l is not a @d (ino=%i)\n" msgstr "/@l no és un @d (node-i=%i)\n" -#: e2fsck/problem.c:1511 +#: e2fsck/problem.c:1415 msgid "Pass 3A: Optimizing directories\n" msgstr "Pas 3A: optimització dels directoris\n" -#: e2fsck/problem.c:1516 +#: e2fsck/problem.c:1420 #, fuzzy, c-format msgid "Failed to create dirs_to_hash iterator: %m\n" msgstr "No s'ha pogut crear l'iterador dirs_to_hash: %m" -#: e2fsck/problem.c:1521 +#: e2fsck/problem.c:1425 #, fuzzy msgid "Failed to optimize directory %q (%d): %m\n" msgstr "No s'ha pogut optimitzar el directori %q (%d): %m" -#: e2fsck/problem.c:1526 +#: e2fsck/problem.c:1430 msgid "Optimizing directories: " msgstr "S'estan optimitzant els directoris: " -#: e2fsck/problem.c:1543 +#: e2fsck/problem.c:1447 msgid "Pass 4: Checking reference counts\n" msgstr "Pas 4: comprovació dels nombres de referències\n" #. @-expanded: unattached zero-length inode %i. -#: e2fsck/problem.c:1548 +#: e2fsck/problem.c:1452 #, c-format msgid "@u @z @i %i. " msgstr "@i de @z %i @u. " #. @-expanded: unattached inode %i\n -#: e2fsck/problem.c:1553 +#: e2fsck/problem.c:1457 #, c-format msgid "@u @i %i\n" msgstr "@i %i @u\n" #. @-expanded: inode %i ref count is %Il, should be %N. -#: e2fsck/problem.c:1558 +#: e2fsck/problem.c:1462 msgid "@i %i ref count is %Il, @s %N. " msgstr "el nombre de referències del @i %s és %Il, @s %N." #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n -#: e2fsck/problem.c:1562 +#: e2fsck/problem.c:1466 msgid "" "WARNING: PROGRAMMING BUG IN E2FSCK!\n" "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n" @@ -2416,149 +2293,153 @@ msgstr "" "AVÃS: S'HA PRODUÃT UN ERROR DE PROGRAMACIÓ EN EL E2FSCK!\n" "\tO BÉ ALGUN CAP DE PARDAL (O SIGUI, TU) ESTÀ COMPROVANT UN SISTEMA\n" "\tDE FITXERS MUNTAT (EN VIU).\n" -"inode_link_info[%i] és %N, inode.i_links_count és %Il. Haurien de coincidir!\n" +"inode_link_info[%i] és %N, inode.i_links_count és %Il. Haurien de " +"coincidir!\n" # FIXME #. @-expanded: Pass 5: Checking group summary information\n -#: e2fsck/problem.c:1572 +#: e2fsck/problem.c:1476 msgid "Pass 5: Checking @g summary information\n" msgstr "Pas 5: comprovació del resum de la informació del @g\n" #. @-expanded: Padding at end of inode bitmap is not set. -#: e2fsck/problem.c:1577 +#: e2fsck/problem.c:1481 msgid "Padding at end of @i @B is not set. " msgstr "" #. @-expanded: Padding at end of block bitmap is not set. -#: e2fsck/problem.c:1582 +#: e2fsck/problem.c:1486 msgid "Padding at end of @b @B is not set. " msgstr "" #. @-expanded: block bitmap differences: -#: e2fsck/problem.c:1587 +#: e2fsck/problem.c:1491 msgid "@b @B differences: " msgstr "" #. @-expanded: inode bitmap differences: -#: e2fsck/problem.c:1607 +#: e2fsck/problem.c:1511 msgid "@i @B differences: " msgstr "" #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1627 +#: e2fsck/problem.c:1531 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n" -msgstr "El nombre de nodes-i lliures no es correcte per al @g núm. %g (%i, recompte=%j).\n" +msgstr "" +"El nombre de nodes-i lliures no es correcte per al @g núm. %g (%i, recompte=%" +"j).\n" #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1632 +#: e2fsck/problem.c:1536 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n" -msgstr "El nombre de directoris no es correcte per al @g núm. %g (%i, recompte=%j).\n" +msgstr "" +"El nombre de directoris no es correcte per al @g núm. %g (%i, recompte=%j).\n" #. @-expanded: Free inodes count wrong (%i, counted=%j).\n -#: e2fsck/problem.c:1637 +#: e2fsck/problem.c:1541 msgid "Free @is count wrong (%i, counted=%j).\n" msgstr "El nombre de nodes-i lliures no es correcte (%i, recompte=%j).\n" #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n -#: e2fsck/problem.c:1642 +#: e2fsck/problem.c:1546 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n" -msgstr "El nombre de @bs lliures no es correcte per al @g núm. %g (%i, recompte=%j).\n" +msgstr "" +"El nombre de @bs lliures no es correcte per al @g núm. %g (%i, recompte=%" +"j).\n" #. @-expanded: Free blocks count wrong (%b, counted=%c).\n -#: e2fsck/problem.c:1647 +#: e2fsck/problem.c:1551 msgid "Free @bs count wrong (%b, counted=%c).\n" msgstr "El nombre de @bs lliures no es correcte (%i, recompte=%j).\n" #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap #. @-expanded: endpoints (%i, %j)\n -#: e2fsck/problem.c:1652 -msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n" +#: e2fsck/problem.c:1556 +msgid "" +"PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B " +"endpoints (%i, %j)\n" msgstr "" -#: e2fsck/problem.c:1658 +#: e2fsck/problem.c:1562 msgid "Internal error: fudging end of bitmap (%N)\n" msgstr "" #. @-expanded: Error copying in replacement inode bitmap: %m\n -#: e2fsck/problem.c:1663 +#: e2fsck/problem.c:1567 #, c-format msgid "Error copying in replacement @i @B: %m\n" msgstr "" #. @-expanded: Error copying in replacement block bitmap: %m\n -#: e2fsck/problem.c:1668 +#: e2fsck/problem.c:1572 #, c-format msgid "Error copying in replacement @b @B: %m\n" msgstr "" +#. @-expanded: Recreate journal +#: e2fsck/problem.c:1597 +#, fuzzy +msgid "Recreate @j" +msgstr "Torna a crear" + #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n -#: e2fsck/problem.c:1693 +#: e2fsck/problem.c:1602 #, c-format msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n" msgstr "" #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n -#: e2fsck/problem.c:1698 +#: e2fsck/problem.c:1607 #, c-format msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n" msgstr "" -#. @-expanded: Recreate journal -#: e2fsck/problem.c:1705 -#, fuzzy -msgid "Recreate @j" -msgstr "Torna a crear" - -#: e2fsck/problem.c:1710 -msgid "Update quota info for quota type %N" -msgstr "" - -#: e2fsck/problem.c:1829 +#: e2fsck/problem.c:1725 #, c-format msgid "Unhandled error code (0x%x)!\n" msgstr "S'ha produït un error amb un codi no gestionat (0x%x)\n" -#: e2fsck/problem.c:1954 e2fsck/problem.c:1958 +#: e2fsck/problem.c:1820 msgid "IGNORED" msgstr "IGNORAT" -#: e2fsck/scantest.c:79 +#: e2fsck/scantest.c:81 #, c-format msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n" msgstr "Memòria utilitzada: %d, temps transcorregut: %6.3f/%6.3f/%6.3f\n" -#: e2fsck/scantest.c:98 +#: e2fsck/scantest.c:100 #, c-format msgid "size of inode=%d\n" msgstr "mida del node-i=%d\n" -#: e2fsck/scantest.c:119 +#: e2fsck/scantest.c:121 msgid "while starting inode scan" msgstr "en iniciar l'exploració dels nodes-i" -#: e2fsck/scantest.c:130 +#: e2fsck/scantest.c:132 msgid "while doing inode scan" msgstr "en fer l'exploració dels nodes-i" -#: e2fsck/super.c:188 +#: e2fsck/super.c:187 #, c-format msgid "while calling ext2fs_block_iterate for inode %d" msgstr "en fer la crida a ext2fs_block_iterate per al node-i %d" -#: e2fsck/super.c:211 -#, fuzzy, c-format -msgid "while calling ext2fs_adjust_ea_refcount2 for inode %d" +#: e2fsck/super.c:209 +#, c-format +msgid "while calling ext2fs_adjust_ea_refcount for inode %d" msgstr "en fer la crida a ext2fs_adjust_ea_refcount per al node-i %d" -#: e2fsck/super.c:272 +#: e2fsck/super.c:267 msgid "Truncating" msgstr "Truncament" -#: e2fsck/super.c:273 +#: e2fsck/super.c:268 msgid "Clearing" msgstr "Neteja" -#: e2fsck/unix.c:74 +#: e2fsck/unix.c:76 #, c-format msgid "" "Usage: %s [-panyrcdfvtDFV] [-b superblock] [-B blocksize]\n" @@ -2571,7 +2452,7 @@ msgstr "" "\t\t[-l|-L fitxer_de_blocs_erronis] [-C fd] [-j reg_de_trans_extern]\n" "\t\t[-E opcions_ampliades] dispositiu\n" -#: e2fsck/unix.c:80 +#: e2fsck/unix.c:82 #, c-format msgid "" "\n" @@ -2579,7 +2460,8 @@ msgid "" " -p Automatic repair (no questions)\n" " -n Make no changes to the filesystem\n" " -y Assume \"yes\" to all questions\n" -" -c Check for bad blocks and add them to the badblock list\n" +" -c Check for bad blocks and add them to the badblock " +"list\n" " -f Force checking even if filesystem is marked clean\n" msgstr "" "\n" @@ -2587,10 +2469,12 @@ msgstr "" " -p Reparació automàtica (sense preguntes)\n" " -n No facis cap canvi al sistema de fitxers\n" " -y Assumeix «sí» per a totes les preguntes\n" -" -c Comprova si hi ha blocs erronis i afegeix-los a la llista de blocs erronis\n" -" -f Força la comprovació encara que el sistema de fitxers s'hagi marcat com a net\n" +" -c Comprova si hi ha blocs erronis i afegeix-los a la " +"llista de blocs erronis\n" +" -f Força la comprovació encara que el sistema de fitxers " +"s'hagi marcat com a net\n" -#: e2fsck/unix.c:86 +#: e2fsck/unix.c:88 #, c-format msgid "" " -v Be verbose\n" @@ -2601,158 +2485,39 @@ msgid "" " -L bad_blocks_file Set badblocks list\n" msgstr "" -#: e2fsck/unix.c:131 -#, fuzzy, c-format -msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n" -msgstr "%s: %u/%u fitxers (%0d.%d%% no contigus), %u/%u blocs\n" - -#: e2fsck/unix.c:157 -#, c-format -msgid "" -"\n" -"%12u inode used (%2.2f%%, out of %u)\n" -msgid_plural "" -"\n" -"%12u inodes used (%2.2f%%, out of %u)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:161 -#, c-format -msgid "%12u non-contiguous file (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous files (%0d.%d%%)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:166 +#: e2fsck/unix.c:132 #, c-format -msgid "%12u non-contiguous directory (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n" -msgstr[0] "" -msgstr[1] "" +msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n" +msgstr "%s: %u/%u fitxers (%0d.%d%% no contigus), %u/%u blocs\n" # ind: indirect, dind: double indirect, tind: triple indirect (dpm) -#: e2fsck/unix.c:171 -#, fuzzy, c-format -msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" -msgstr " nombre de nodes-i amb blocs ind/dind/tind: %u/%u/%u\n" - -#: e2fsck/unix.c:179 -msgid " Extent depth histogram: " -msgstr "" - -#: e2fsck/unix.c:188 -#, c-format -msgid "%12llu block used (%2.2f%%, out of %llu)\n" -msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:192 -#, fuzzy, c-format -msgid "%12u bad block\n" -msgid_plural "%12u bad blocks\n" -msgstr[0] "%u nodes-i, %u blocs\n" -msgstr[1] "%u nodes-i, %u blocs\n" - -#: e2fsck/unix.c:194 -#, fuzzy, c-format -msgid "%12u large file\n" -msgid_plural "%12u large files\n" -msgstr[0] "fitxer normal" -msgstr[1] "fitxer normal" - -#: e2fsck/unix.c:196 -#, fuzzy, c-format -msgid "" -"\n" -"%12u regular file\n" -msgid_plural "" -"\n" -"%12u regular files\n" -msgstr[0] "fitxer normal" -msgstr[1] "fitxer normal" - -#: e2fsck/unix.c:198 -#, fuzzy, c-format -msgid "%12u directory\n" -msgid_plural "%12u directories\n" -msgstr[0] "directori" -msgstr[1] "directori" - -#: e2fsck/unix.c:200 -#, fuzzy, c-format -msgid "%12u character device file\n" -msgid_plural "%12u character device files\n" -msgstr[0] "dispositiu" -msgstr[1] "dispositiu" - -#: e2fsck/unix.c:203 -#, fuzzy, c-format -msgid "%12u block device file\n" -msgid_plural "%12u block device files\n" -msgstr[0] "dispositiu d'accés per bloc" -msgstr[1] "dispositiu d'accés per bloc" - -#: e2fsck/unix.c:205 +#: e2fsck/unix.c:150 #, c-format -msgid "%12u fifo\n" -msgid_plural "%12u fifos\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:207 -#, c-format -msgid "%12u link\n" -msgid_plural "%12u links\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:209 -#, fuzzy, c-format -msgid "%12u symbolic link" -msgid_plural "%12u symbolic links" -msgstr[0] "enllaç simbòlic" -msgstr[1] "enllaç simbòlic" - -#: e2fsck/unix.c:211 -#, fuzzy, c-format -msgid " (%u fast symbolic link)\n" -msgid_plural " (%u fast symbolic links)\n" -msgstr[0] "enllaç simbòlic" -msgstr[1] "enllaç simbòlic" - -#: e2fsck/unix.c:215 -#, fuzzy, c-format -msgid "%12u socket\n" -msgid_plural "%12u sockets\n" -msgstr[0] "sòcol" -msgstr[1] "sòcol" +msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" +msgstr " nombre de nodes-i amb blocs ind/dind/tind: %u/%u/%u\n" -#: e2fsck/unix.c:219 +#: e2fsck/unix.c:157 #, c-format -msgid "%12u file\n" -msgid_plural "%12u files\n" -msgstr[0] "" -msgstr[1] "" +msgid " Extent depth histogram: " +msgstr "" -#: e2fsck/unix.c:232 misc/badblocks.c:983 misc/tune2fs.c:1985 misc/util.c:147 -#: resize/main.c:259 +#: e2fsck/unix.c:207 misc/badblocks.c:916 misc/tune2fs.c:1567 misc/util.c:151 +#: resize/main.c:248 #, c-format msgid "while determining whether %s is mounted." msgstr "en determinar si %s està muntat." -#: e2fsck/unix.c:252 -#, fuzzy, c-format -msgid "Warning! %s is %s.\n" +#: e2fsck/unix.c:225 +#, c-format +msgid "Warning! %s is mounted.\n" msgstr "Avís! %s està muntat.\n" -#: e2fsck/unix.c:259 +#: e2fsck/unix.c:229 #, c-format -msgid "%s is %s.\n" -msgstr "" +msgid "%s is mounted. " +msgstr "%s està muntat. " -#: e2fsck/unix.c:262 +#: e2fsck/unix.c:231 msgid "" "Cannot continue, aborting.\n" "\n" @@ -2760,13 +2525,13 @@ msgstr "" "No es pot continuar, s'interromprà.\n" "\n" -#: e2fsck/unix.c:264 -#, fuzzy +#: e2fsck/unix.c:232 +#, c-format msgid "" "\n" "\n" -"WARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" -"cause ***SEVERE*** filesystem damage.\n" +"\a\a\a\aWARNING!!! Running e2fsck on a mounted filesystem may cause\n" +"SEVERE filesystem damage.\a\a\a\n" "\n" msgstr "" "\n" @@ -2775,138 +2540,121 @@ msgstr "" "pot causar-li danys GREUS.\a\a\a\n" "\n" -#: e2fsck/unix.c:269 +#: e2fsck/unix.c:235 msgid "Do you really want to continue" msgstr "Esteu segur que voleu continuar?" -#: e2fsck/unix.c:271 +#: e2fsck/unix.c:237 #, c-format msgid "check aborted.\n" msgstr "s'ha interromput la comprovació.\n" -#: e2fsck/unix.c:361 +#: e2fsck/unix.c:310 msgid " contains a file system with errors" msgstr " conté un sistema de fitxers amb errors" -#: e2fsck/unix.c:363 +#: e2fsck/unix.c:312 msgid " was not cleanly unmounted" msgstr " no es va desmuntar correctament" -#: e2fsck/unix.c:365 +#: e2fsck/unix.c:314 msgid " primary superblock features different from backup" -msgstr " les característiques del superbloc primari són diferents de les del de la còpia de seguretat" +msgstr "" +" les característiques del superbloc primari són diferents de les del de la " +"còpia de seguretat" -#: e2fsck/unix.c:369 +#: e2fsck/unix.c:318 #, c-format msgid " has been mounted %u times without being checked" msgstr " s'ha muntat %u vegades sense haver estat comprovat" -#: e2fsck/unix.c:376 +#: e2fsck/unix.c:324 msgid " has filesystem last checked time in the future" -msgstr "té la darrera hora de comprovació del sistema de fitxers és en el futur" +msgstr "" +"té la darrera hora de comprovació del sistema de fitxers és en el futur" -#: e2fsck/unix.c:382 +#: e2fsck/unix.c:330 #, c-format msgid " has gone %u days without being checked" msgstr " no s'ha comprovat des de fa %u dies" -#: e2fsck/unix.c:391 +#: e2fsck/unix.c:339 msgid ", check forced.\n" msgstr ", es forçarà la comprovació.\n" -#: e2fsck/unix.c:424 -#, fuzzy, c-format -msgid "%s: clean, %u/%u files, %llu/%llu blocks" +#: e2fsck/unix.c:342 +#, c-format +msgid "%s: clean, %u/%u files, %u/%u blocks" msgstr "%s: net, %u/%u fitxers, %u/%u blocs" -#: e2fsck/unix.c:443 +#: e2fsck/unix.c:359 msgid " (check deferred; on battery)" msgstr " (s'ha ajornat la comprovació; s'està utilitzant la bateria)" -#: e2fsck/unix.c:446 +#: e2fsck/unix.c:362 msgid " (check after next mount)" msgstr " (es comprovarà després del muntatge següent)" -#: e2fsck/unix.c:448 +#: e2fsck/unix.c:364 #, c-format msgid " (check in %ld mounts)" -msgstr " (es comprovarà en %ld muntades)" +msgstr " (es comprovarà en %ld mesos)" -#: e2fsck/unix.c:598 +#: e2fsck/unix.c:511 #, c-format msgid "ERROR: Couldn't open /dev/null (%s)\n" msgstr "ERROR: no s'ha pogut obrir /dev/null (%s)\n" -#: e2fsck/unix.c:667 +#: e2fsck/unix.c:581 #, c-format msgid "Invalid EA version.\n" msgstr "La versió dels atributs ampliats no és vàlida.\n" -#: e2fsck/unix.c:694 +#: e2fsck/unix.c:590 #, c-format msgid "Unknown extended option: %s\n" msgstr "Es desconeix l'opció ampliada: %s\n" -#: e2fsck/unix.c:719 +#: e2fsck/unix.c:612 #, c-format msgid "" "Syntax error in e2fsck config file (%s, line #%d)\n" "\t%s\n" msgstr "" -"Hi ha un error de sintaxi al fitxer de configuració de l'e2fsck (%s, línia #%d)\n" +"Hi ha un error de sintaxi al fitxer de configuració de l'e2fsck (%s, línia #%" +"d)\n" "\t%s\n" -#: e2fsck/unix.c:788 +#: e2fsck/unix.c:680 #, c-format msgid "Error validating file descriptor %d: %s\n" msgstr "S'ha produït un error en validar el descriptor de fitxer %d: %s\n" -#: e2fsck/unix.c:792 +#: e2fsck/unix.c:684 msgid "Invalid completion information file descriptor" msgstr "" -#: e2fsck/unix.c:807 +#: e2fsck/unix.c:699 msgid "Only one of the options -p/-a, -n or -y may be specified." -msgstr "Només es pot especificar una de les opcions -p/-a, -n o -y a la vegada." +msgstr "" +"Només es pot especificar una de les opcions -p/-a, -n o -y a la vegada." -#: e2fsck/unix.c:828 +#: e2fsck/unix.c:720 #, c-format msgid "The -t option is not supported on this version of e2fsck.\n" msgstr "L'opció -t no està implementada en aquesta versió de l'e2fsck.\n" -#: e2fsck/unix.c:859 e2fsck/unix.c:931 misc/tune2fs.c:811 misc/tune2fs.c:1100 -#: misc/tune2fs.c:1118 +#: e2fsck/unix.c:801 misc/tune2fs.c:549 misc/tune2fs.c:833 misc/tune2fs.c:850 #, c-format msgid "Unable to resolve '%s'" msgstr "No s'ha pogut resoldre «%s»" -#: e2fsck/unix.c:910 -#, fuzzy -msgid "The -n and -D options are incompatible." -msgstr "" -"%s: les opcions -n i -w són mutualment exclusives.\n" -"\n" - -#: e2fsck/unix.c:915 -#, fuzzy -msgid "The -n and -c options are incompatible." -msgstr "" -"%s: les opcions -n i -w són mutualment exclusives.\n" -"\n" - -#: e2fsck/unix.c:920 -#, fuzzy -msgid "The -n and -l/-L options are incompatible." -msgstr "" -"%s: les opcions -n i -w són mutualment exclusives.\n" -"\n" - -#: e2fsck/unix.c:974 +#: e2fsck/unix.c:831 #, c-format msgid "The -c and the -l/-L options may not be both used at the same time.\n" msgstr "No es poden utilitzar les opcions -c i -l/-L al mateix temps.\n" -#: e2fsck/unix.c:1022 +#: e2fsck/unix.c:879 #, c-format msgid "" "E2FSCK_JBD_DEBUG \"%s\" not an integer\n" @@ -2915,7 +2663,7 @@ msgstr "" "E2FSCK_JBD_DEBUG «%s» no és un enter\n" "\n" -#: e2fsck/unix.c:1031 +#: e2fsck/unix.c:888 #, c-format msgid "" "\n" @@ -2926,96 +2674,75 @@ msgstr "" "L'argument no numèric de -%c no és vàlid («%s»)\n" "\n" -#: e2fsck/unix.c:1120 -#, c-format -msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n" -msgstr "" - -#: e2fsck/unix.c:1137 e2fsck/unix.c:1142 -#, fuzzy -msgid "while checking MMP block" -msgstr "en configurar el súperbloc" - -#: e2fsck/unix.c:1144 misc/tune2fs.c:1912 -msgid "" -"If you are sure the filesystem is not in use on any node, run:\n" -"'tune2fs -f -E clear_mmp {device}'\n" -msgstr "" - -#: e2fsck/unix.c:1194 +#: e2fsck/unix.c:929 #, c-format msgid "Error: ext2fs library version out of date!\n" msgstr "Error: la versió de la biblioteca de l'ext2fs és massa antiga.\n" -#: e2fsck/unix.c:1202 +#: e2fsck/unix.c:937 msgid "while trying to initialize program" msgstr "en intentar inicialitzar el programa" -#: e2fsck/unix.c:1225 +#: e2fsck/unix.c:951 #, c-format msgid "\tUsing %s, %s\n" msgstr "\tS'utilitza %s, %s\n" -#: e2fsck/unix.c:1237 +#: e2fsck/unix.c:963 msgid "need terminal for interactive repairs" msgstr "cal un terminal per a les reparacions interactives" -#: e2fsck/unix.c:1290 +#: e2fsck/unix.c:1010 #, c-format msgid "%s: %s trying backup blocks...\n" msgstr "%s: %s provant els blocs de còpia de seguretat...\n" -#: e2fsck/unix.c:1292 +#: e2fsck/unix.c:1012 msgid "Superblock invalid," msgstr "Súperbloc no vàlid," -#: e2fsck/unix.c:1293 +#: e2fsck/unix.c:1013 msgid "Group descriptors look bad..." msgstr "Els descriptors de grup no estan en bon estat..." -#: e2fsck/unix.c:1303 -#, fuzzy, c-format -msgid "%s: %s while using the backup blocks" -msgstr "%s: %s provant els blocs de còpia de seguretat...\n" - -#: e2fsck/unix.c:1307 -#, fuzzy, c-format -msgid "%s: going back to original superblock\n" -msgstr "%s: no s'ha trobat cap súperbloc del registre de transaccions vàlid\n" - -#: e2fsck/unix.c:1335 +#: e2fsck/unix.c:1040 +#, c-format msgid "" "The filesystem revision is apparently too high for this version of e2fsck.\n" "(Or the filesystem superblock is corrupt)\n" "\n" msgstr "" -"La versió del sistema de fitxers és massa recent per a aquesta versió de l'e2fsck.\n" +"La versió del sistema de fitxers és massa recent per a aquesta versió de " +"l'e2fsck.\n" "(O bé el superbloc del sistema de fitxers està malmès)\n" "\n" -#: e2fsck/unix.c:1341 +#: e2fsck/unix.c:1046 +#, c-format msgid "Could this be a zero-length partition?\n" msgstr "Pot ser que això sigui una partició de mida zero?\n" -#: e2fsck/unix.c:1344 +#: e2fsck/unix.c:1048 #, c-format msgid "You must have %s access to the filesystem or be root\n" -msgstr "Cal que tingueu accés de %s al sistema de fitxers o bé que sigueu l'usuari primari\n" +msgstr "" +"Cal que tingueu accés de %s al sistema de fitxers o bé que sigueu l'usuari " +"primari\n" -#: e2fsck/unix.c:1349 +#: e2fsck/unix.c:1053 +#, c-format msgid "Possibly non-existent or swap device?\n" msgstr "Pot ser que no existeixi el dispositiu o bé que sigui d'intercanvi?\n" -#: e2fsck/unix.c:1352 +#: e2fsck/unix.c:1055 +#, c-format msgid "Filesystem mounted or opened exclusively by another program?\n" -msgstr "Pot ser que el sistema de fitxers l'hagi muntat o obert un altre programa de manera exclusiva?\n" - -#: e2fsck/unix.c:1355 -#, fuzzy -msgid "Possibly non-existent device?\n" -msgstr "Pot ser que no existeixi el dispositiu o bé que sigui d'intercanvi?\n" +msgstr "" +"Pot ser que el sistema de fitxers l'hagi muntat o obert un altre programa de " +"manera exclusiva?\n" -#: e2fsck/unix.c:1358 +#: e2fsck/unix.c:1059 +#, c-format msgid "" "Disk write-protected; use the -n option to do a read-only\n" "check of the device.\n" @@ -3023,65 +2750,83 @@ msgstr "" "El disc està protegit contra escriptura; utilitzeu l'opció\n" "-n per a fer una comprovació de només-lectura del dispositiu.\n" -#: e2fsck/unix.c:1423 +#: e2fsck/unix.c:1123 msgid "Get a newer version of e2fsck!" msgstr "Hauríeu d'obtenir una versió més recent de l'e2fsck" -#: e2fsck/unix.c:1467 +#: e2fsck/unix.c:1147 #, c-format msgid "while checking ext3 journal for %s" msgstr "en comprovar el registre de transaccions per a %s" -#: e2fsck/unix.c:1478 -msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n" -msgstr "Avís: s'ometrà la recuperació del registre de canvis perquè s'està comprovant el sistema de fitxers en mode de només-lectura.\n" +#: e2fsck/unix.c:1158 +#, c-format +msgid "" +"Warning: skipping journal recovery because doing a read-only filesystem " +"check.\n" +msgstr "" +"Avís: s'ometrà la recuperació del registre de canvis perquè s'està " +"comprovant el sistema de fitxers en mode de només-lectura.\n" -#: e2fsck/unix.c:1491 +#: e2fsck/unix.c:1171 #, c-format msgid "unable to set superblock flags on %s\n" msgstr "no s'han pogut definir els senyaladors del superbloc a %s\n" -#: e2fsck/unix.c:1497 +#: e2fsck/unix.c:1177 #, c-format msgid "while recovering ext3 journal of %s" msgstr "en recuperar el registre de canvis ext3 de %s" -#: e2fsck/unix.c:1521 +#: e2fsck/unix.c:1201 #, c-format msgid "%s has unsupported feature(s):" msgstr "%s té funcionalitats no implementades:" -#: e2fsck/unix.c:1536 -#, fuzzy, c-format -msgid "%s: warning: compression support is experimental.\n" +#: e2fsck/unix.c:1217 +msgid "Warning: compression support is experimental.\n" msgstr "Avís: el funcionament amb compressió és experimentat.\n" -#: e2fsck/unix.c:1542 +#: e2fsck/unix.c:1222 #, c-format msgid "" -"%s: e2fsck not compiled with HTREE support,\n" +"E2fsck not compiled with HTREE support,\n" "\tbut filesystem %s has HTREE directories.\n" msgstr "" -#: e2fsck/unix.c:1594 -#, fuzzy, c-format -msgid "%s: %s while reading bad blocks inode\n" +#: e2fsck/unix.c:1276 +msgid "while reading bad blocks inode" msgstr "en llegir el node-i dels blocs erronis" -#: e2fsck/unix.c:1597 +#: e2fsck/unix.c:1278 +#, c-format msgid "This doesn't bode well, but we'll try to go on...\n" msgstr "Això no és un bon presagi, però s'intentarà continuar...\n" -#: e2fsck/unix.c:1638 +#: e2fsck/unix.c:1304 +msgid "Couldn't determine journal size" +msgstr "No s'ha pogut determinar la mida del registre de canvis" + +#: e2fsck/unix.c:1307 #, c-format msgid "Creating journal (%d blocks): " msgstr "Creació del registre de canvis (%d blocs): " -#: e2fsck/unix.c:1648 +#: e2fsck/unix.c:1314 misc/mke2fs.c:2091 +msgid "" +"\n" +"\twhile trying to create journal" +msgstr "" +"\n" +"\ten intentar crear el registre de canvis" + +#: e2fsck/unix.c:1317 +#, c-format msgid " Done.\n" msgstr " Fet.\n" -#: e2fsck/unix.c:1649 +#: e2fsck/unix.c:1318 +#, c-format msgid "" "\n" "*** journal has been re-created - filesystem is now ext3 again ***\n" @@ -3089,24 +2834,25 @@ msgstr "" "\n" "*** registre de canvis recreat - el sist. de fitxers torna a ser ext3 ***\n" -#: e2fsck/unix.c:1672 +#: e2fsck/unix.c:1325 +#, c-format msgid "Restarting e2fsck from the beginning...\n" msgstr "S'està tornant a iniciar l'e2fsck des del començament...\n" -#: e2fsck/unix.c:1676 +#: e2fsck/unix.c:1329 msgid "while resetting context" msgstr "en reiniciar el context" -#: e2fsck/unix.c:1683 +#: e2fsck/unix.c:1336 #, c-format msgid "%s: e2fsck canceled.\n" msgstr "%s: s'ha cancel·lat l'e2fsck.\n" -#: e2fsck/unix.c:1688 +#: e2fsck/unix.c:1341 msgid "aborted" msgstr "s'ha interromput" -#: e2fsck/unix.c:1700 e2fsck/util.c:67 +#: e2fsck/unix.c:1353 #, c-format msgid "" "\n" @@ -3115,12 +2861,12 @@ msgstr "" "\n" "%s: ***** S'HA MODIFICAT EL SISTEMA DE FITXERS *****\n" -#: e2fsck/unix.c:1704 +#: e2fsck/unix.c:1356 #, c-format msgid "%s: ***** REBOOT LINUX *****\n" msgstr "%s: ***** REINICIEU EL LINUX *****\n" -#: e2fsck/unix.c:1712 e2fsck/util.c:73 +#: e2fsck/unix.c:1364 #, c-format msgid "" "\n" @@ -3131,43 +2877,43 @@ msgstr "" "%s: ********** AVÃS: el sistema de fitxers encara té errors **********\n" "\n" -#: e2fsck/unix.c:1752 +#: e2fsck/unix.c:1400 msgid "while setting block group checksum info" msgstr "en establir la informació de suma de verificació del grup de blocs" -#: e2fsck/util.c:190 misc/util.c:70 +#: e2fsck/util.c:138 misc/util.c:68 msgid "yY" msgstr "sS" -#: e2fsck/util.c:191 +#: e2fsck/util.c:139 msgid "nN" msgstr "nN" -#: e2fsck/util.c:205 +#: e2fsck/util.c:153 msgid "" msgstr "" -#: e2fsck/util.c:207 +#: e2fsck/util.c:155 msgid "" msgstr "" -#: e2fsck/util.c:209 +#: e2fsck/util.c:157 msgid " (y/n)" msgstr " (s/n)" -#: e2fsck/util.c:223 +#: e2fsck/util.c:172 msgid "cancelled!\n" msgstr "s'ha cancel·lat\n" -#: e2fsck/util.c:238 +#: e2fsck/util.c:187 msgid "yes\n" msgstr "sí\n" -#: e2fsck/util.c:240 +#: e2fsck/util.c:189 msgid "no\n" msgstr "no\n" -#: e2fsck/util.c:250 +#: e2fsck/util.c:199 #, c-format msgid "" "%s? no\n" @@ -3176,7 +2922,7 @@ msgstr "" "%s? no\n" "\n" -#: e2fsck/util.c:254 +#: e2fsck/util.c:203 #, c-format msgid "" "%s? yes\n" @@ -3185,38 +2931,38 @@ msgstr "" "%s? sí\n" "\n" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "yes" msgstr "sí" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "no" msgstr "no" -#: e2fsck/util.c:273 +#: e2fsck/util.c:221 #, c-format msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s" msgstr "" -#: e2fsck/util.c:278 +#: e2fsck/util.c:226 msgid "reading inode and block bitmaps" msgstr "" -#: e2fsck/util.c:286 +#: e2fsck/util.c:231 #, c-format msgid "while retrying to read bitmaps for %s" msgstr "en tornar a intentar la lectura dels mapes de bits per a %s" -#: e2fsck/util.c:298 +#: e2fsck/util.c:243 msgid "writing block and inode bitmaps" msgstr "escriptura dels mapes de bits de bloc i de node-i" -#: e2fsck/util.c:303 +#: e2fsck/util.c:248 #, c-format msgid "while rewriting block and inode bitmaps for %s" msgstr "en tornar a escriure els mapes de bits de bloc i de node-i per de %s" -#: e2fsck/util.c:315 +#: e2fsck/util.c:260 #, c-format msgid "" "\n" @@ -3229,63 +2975,61 @@ msgstr "" "%s: INCONSISTÈNCIA INESPERADA; EXECUTEU fsck MANUALMENT.\n" "\t(és a dir, sense les opcions -a o -p)\n" -#: e2fsck/util.c:396 -#, fuzzy, c-format -msgid "Memory used: %luk/%luk (%luk/%luk), " +#: e2fsck/util.c:336 +#, c-format +msgid "Memory used: %dk/%dk (%dk/%dk), " msgstr "Memòria utilitzada: %dk/%dk (%dk/%dk), " -#: e2fsck/util.c:400 -#, fuzzy, c-format -msgid "Memory used: %lu, " +#: e2fsck/util.c:340 +#, c-format +msgid "Memory used: %d, " msgstr "Memòria utilitzada: %d, " -#: e2fsck/util.c:407 +#: e2fsck/util.c:346 #, c-format msgid "time: %5.2f/%5.2f/%5.2f\n" msgstr "temps: %5.2f/%5.2f/%5.2f\n" -#: e2fsck/util.c:412 +#: e2fsck/util.c:351 #, c-format msgid "elapsed time: %6.3f\n" msgstr "temps transcorregut: %6.3f\n" -#: e2fsck/util.c:447 e2fsck/util.c:461 -#, fuzzy, c-format -msgid "while reading inode %lu in %s" +#: e2fsck/util.c:385 e2fsck/util.c:399 +#, c-format +msgid "while reading inode %ld in %s" msgstr "en llegir el node-i %ld a %s" -#: e2fsck/util.c:475 e2fsck/util.c:488 -#, fuzzy, c-format -msgid "while writing inode %lu in %s" +#: e2fsck/util.c:413 e2fsck/util.c:426 +#, c-format +msgid "while writing inode %ld in %s" msgstr "en escriure el node-i %ld a %s" -#: e2fsck/util.c:637 +#: e2fsck/util.c:575 msgid "while allocating zeroizing buffer" msgstr "" -#: e2fsck/util.c:785 -msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n" -msgstr "" - -#: misc/badblocks.c:69 -#, fuzzy -msgid "done \n" +#: misc/badblocks.c:66 +msgid "done \n" msgstr "fet \n" -#: misc/badblocks.c:92 +#: misc/badblocks.c:89 #, c-format msgid "" "Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnf]\n" -" [-c blocks_at_once] [-d delay_factor_between_reads] [-e max_bad_blocks]\n" +" [-c blocks_at_once] [-d delay_factor_between_reads] [-e " +"max_bad_blocks]\n" " [-p num_passes] [-t test_pattern [-t test_pattern [...]]]\n" " device [last_block [first_block]]\n" msgstr "" -"Forma d'ús: %s [-b mida_del_bloc] [-i fitxer_d'entrada] [-o fitxer_de_sortida] [-svwnf]\n" -" [-c blocs_a_la_vegada] [-d factor_de_retard_entre_lectures] [-e blocs_erronis_màx]\n" +"Forma d'ús: %s [-b mida_del_bloc] [-i fitxer_d'entrada] [-o " +"fitxer_de_sortida] [-svwnf]\n" +" [-c blocs_a_la_vegada] [-d factor_de_retard_entre_lectures] [-e " +"blocs_erronis_màx]\n" " [-p nombre_de_passos] [-t patró_de_prova [-t patró_de_prova [...]]]\n" " dispositiu [darrer_bloc [bloc_d'inici]]\n" -#: misc/badblocks.c:103 +#: misc/badblocks.c:100 #, c-format msgid "" "%s: The -n and -w options are mutually exclusive.\n" @@ -3294,80 +3038,85 @@ msgstr "" "%s: les opcions -n i -w són mutualment exclusives.\n" "\n" -#: misc/badblocks.c:218 +#: misc/badblocks.c:202 #, c-format -msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)" +msgid "%6.2f%% done, %s elapsed" msgstr "" -#: misc/badblocks.c:322 +#: misc/badblocks.c:289 msgid "Testing with random pattern: " msgstr "Comprovació amb un patró arbitrari: " -#: misc/badblocks.c:340 +#: misc/badblocks.c:307 msgid "Testing with pattern 0x" msgstr "Comprovació amb el patró 0x" -#: misc/badblocks.c:372 misc/badblocks.c:445 +#: misc/badblocks.c:335 misc/badblocks.c:404 msgid "during seek" msgstr "durant la cerca" -#: misc/badblocks.c:383 +#: misc/badblocks.c:346 #, c-format msgid "Weird value (%ld) in do_read\n" msgstr "Valor estrany (%ld) a do_read\n" -#: misc/badblocks.c:469 +#: misc/badblocks.c:424 msgid "during ext2fs_sync_device" msgstr "durant l'execució de ext2fs_sync_device" -#: misc/badblocks.c:489 misc/badblocks.c:749 +#: misc/badblocks.c:440 misc/badblocks.c:699 msgid "while beginning bad block list iteration" msgstr "en iniciar la iteració per la llista de blocs erronis" -#: misc/badblocks.c:503 misc/badblocks.c:602 misc/badblocks.c:759 +#: misc/badblocks.c:454 misc/badblocks.c:551 misc/badblocks.c:709 msgid "while allocating buffers" msgstr "en ubicar els búfers" -#: misc/badblocks.c:507 +#: misc/badblocks.c:458 #, c-format msgid "Checking blocks %lu to %lu\n" msgstr "Comprovació dels blocs %lu a %lu\n" -#: misc/badblocks.c:512 +#: misc/badblocks.c:463 msgid "Checking for bad blocks in read-only mode\n" msgstr "S'està comprovant si hi ha blocs erronis en mode de només-lectura\n" -#: misc/badblocks.c:521 +#: misc/badblocks.c:472 msgid "Checking for bad blocks (read-only test): " msgstr "S'està comprovant si hi ha blocs erronis (prova de només-lectura): " -#: misc/badblocks.c:528 misc/badblocks.c:634 misc/badblocks.c:676 -#: misc/badblocks.c:822 +#: misc/badblocks.c:480 misc/badblocks.c:583 misc/badblocks.c:628 +#: misc/badblocks.c:772 msgid "Too many bad blocks, aborting test\n" msgstr "Hi ha massa blocs erronis, s'interromprà la comprovació\n" -#: misc/badblocks.c:609 +#: misc/badblocks.c:558 msgid "Checking for bad blocks in read-write mode\n" -msgstr "S'està comprovant si hi ha blocs erronis en mode de lectura-escriptura\n" +msgstr "" +"S'està comprovant si hi ha blocs erronis en mode de lectura-escriptura\n" -#: misc/badblocks.c:611 misc/badblocks.c:772 +#: misc/badblocks.c:560 misc/badblocks.c:722 #, c-format msgid "From block %lu to %lu\n" msgstr "Dels blocs %lu a %lu\n" -#: misc/badblocks.c:666 +#: misc/badblocks.c:618 msgid "Reading and comparing: " msgstr "Lectura i comparació: " -#: misc/badblocks.c:771 +#: misc/badblocks.c:721 msgid "Checking for bad blocks in non-destructive read-write mode\n" -msgstr "S'està comprovant si hi ha blocs erronis en mode de lectura-escriptura no destructiu\n" +msgstr "" +"S'està comprovant si hi ha blocs erronis en mode de lectura-escriptura no " +"destructiu\n" -#: misc/badblocks.c:777 +#: misc/badblocks.c:727 msgid "Checking for bad blocks (non-destructive read-write test)\n" -msgstr "S'està comprovant si hi ha blocs erronis (prova en mode de lectura-escriptura no destructiu)\n" +msgstr "" +"S'està comprovant si hi ha blocs erronis (prova en mode de lectura-" +"escriptura no destructiu)\n" -#: misc/badblocks.c:784 +#: misc/badblocks.c:734 msgid "" "\n" "Interrupt caught, cleaning up\n" @@ -3375,53 +3124,63 @@ msgstr "" "\n" "S'ha interceptat una interrupció; s'iniciaran les tasques de neteja\n" -#: misc/badblocks.c:867 +#: misc/badblocks.c:810 #, c-format msgid "during test data write, block %lu" msgstr "durant l'escriptura de les dades de prova, bloc %lu" -#: misc/badblocks.c:988 misc/util.c:152 +#: misc/badblocks.c:921 misc/util.c:156 #, c-format msgid "%s is mounted; " msgstr "%s està muntat; " # FIXME: Hope - esperem ? (dpm) -#: misc/badblocks.c:990 +#: misc/badblocks.c:923 msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n" -msgstr "s'ha forçat badblocks de totes maneres. Segurament /etc/mtab sigui incorrecte.\n" +msgstr "" +"s'ha forçat badblocks de totes maneres. Segurament /etc/mtab sigui " +"incorrecte.\n" -#: misc/badblocks.c:995 +#: misc/badblocks.c:928 msgid "it's not safe to run badblocks!\n" msgstr "l'execució de badblocks no és segura!\n" -#: misc/badblocks.c:1000 misc/util.c:163 +#: misc/badblocks.c:933 misc/util.c:167 #, c-format msgid "%s is apparently in use by the system; " msgstr "%s està essent utilitzat pel sistema; " -#: misc/badblocks.c:1003 +#: misc/badblocks.c:936 msgid "badblocks forced anyway.\n" msgstr "s'ha forçat badblocks de totes maneres.\n" -#: misc/badblocks.c:1023 +#: misc/badblocks.c:956 #, c-format msgid "invalid %s - %s" msgstr "%s no vàlid - %s" -#: misc/badblocks.c:1133 +#: misc/badblocks.c:1015 +#, c-format +msgid "bad block size - %s" +msgstr "mida del bloc erroni - %s" + +#: misc/badblocks.c:1070 #, c-format msgid "can't allocate memory for test_pattern - %s" msgstr "no es pot assignar memòria per al patró_de_prova - %s" -#: misc/badblocks.c:1163 +#: misc/badblocks.c:1097 msgid "Maximum of one test_pattern may be specified in read-only mode" -msgstr "Només es pot especificar un patró_de_prova com a màxim en mode de només-lectura" +msgstr "" +"Només es pot especificar un patró_de_prova com a màxim en mode de només-" +"lectura" -#: misc/badblocks.c:1169 +#: misc/badblocks.c:1103 msgid "Random test_pattern is not allowed in read-only mode" -msgstr "No es pot utilitzar un patró_de_prova arbitrari en mode de només-lectura" +msgstr "" +"No es pot utilitzar un patró_de_prova arbitrari en mode de només-lectura" -#: misc/badblocks.c:1183 +#: misc/badblocks.c:1117 msgid "" "Couldn't determine device size; you must specify\n" "the size manually\n" @@ -3429,162 +3188,144 @@ msgstr "" "No s'ha pogut determinar la mida del dispositiu;\n" "l'haureu d'especificar manualment\n" -#: misc/badblocks.c:1189 +#: misc/badblocks.c:1123 msgid "while trying to determine device size" msgstr "en intentar determinar la mida del dispositiu" -#: misc/badblocks.c:1194 +#: misc/badblocks.c:1128 msgid "last block" msgstr "últim bloc" -#: misc/badblocks.c:1200 +#: misc/badblocks.c:1134 msgid "first block" msgstr "primer bloc" -#: misc/badblocks.c:1203 +#: misc/badblocks.c:1137 #, c-format msgid "invalid starting block (%lu): must be less than %lu" msgstr "bloc d'inici no vàlid (%lu): hauria de ser menor de %lu" -#: misc/badblocks.c:1259 +#: misc/badblocks.c:1193 msgid "while creating in-memory bad blocks list" msgstr "en crear la llista de blocs erronis en memòria" -#: misc/badblocks.c:1274 +#: misc/badblocks.c:1208 msgid "while adding to in-memory bad block list" msgstr "en afegir a la llista de blocs erronis en memòria" -#: misc/badblocks.c:1298 -#, fuzzy, c-format -msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n" +#: misc/badblocks.c:1232 +#, c-format +msgid "Pass completed, %u bad blocks found.\n" msgstr "Pas completat; s'han trobat %u blocs erronis.\n" -#: misc/chattr.c:86 -#, fuzzy, c-format -msgid "Usage: %s [-RVf] [-+=AaCcDdeijsSu] [-v version] files...\n" +#: misc/chattr.c:85 +#, c-format +msgid "Usage: %s [-RVf] [-+=AacDdijsSu] [-v version] files...\n" msgstr "Forma d'ús: %s [-RVf] [-+=AacDdijsSu] [-v versió] fitxers...\n" -#: misc/chattr.c:155 +#: misc/chattr.c:152 #, c-format msgid "bad version - %s\n" msgstr "versió no vàlida - %s\n" -#: misc/chattr.c:201 misc/lsattr.c:116 +#: misc/chattr.c:198 misc/lsattr.c:113 #, c-format msgid "while trying to stat %s" msgstr "en intentar mostrar la informació de %s" -#: misc/chattr.c:208 -#, c-format -msgid "while reading flags on %s" -msgstr "en llegir els senyaladors a %s" - -#: misc/chattr.c:213 misc/chattr.c:225 +#: misc/chattr.c:204 misc/chattr.c:222 #, c-format msgid "Flags of %s set as " msgstr "S'han establert els senyaladors de %s com a " -#: misc/chattr.c:234 +#: misc/chattr.c:214 +#, c-format +msgid "while reading flags on %s" +msgstr "en llegir els senyaladors a %s" + +#: misc/chattr.c:231 #, c-format msgid "while setting flags on %s" msgstr "en establir els senyaladors a %s" -#: misc/chattr.c:242 +#: misc/chattr.c:239 #, c-format msgid "Version of %s set as %lu\n" msgstr "S'ha establert la versió de %s a %lu\n" -#: misc/chattr.c:246 +#: misc/chattr.c:243 #, c-format msgid "while setting version on %s" msgstr "en establir la versió a %s" -#: misc/chattr.c:266 +#: misc/chattr.c:263 #, c-format msgid "Couldn't allocate path variable in chattr_dir_proc" msgstr "No s'ha pogut assignar la variable del camí a chattr_dir_proc" -#: misc/chattr.c:306 +#: misc/chattr.c:302 msgid "= is incompatible with - and +\n" msgstr "= no és compatible amb - i +\n" -#: misc/chattr.c:314 +#: misc/chattr.c:310 msgid "Must use '-v', =, - or +\n" msgstr "Cal utilitzar «-v», =, - o +\n" -#: misc/dumpe2fs.c:55 -#, fuzzy, c-format -msgid "Usage: %s [-bfhixV] [-o superblock=] [-o blocksize=] device\n" -msgstr "Forma d'ús: %s [-bfhixV] [-ob superbloc] [-oB midadelbloc] dispositiu\n" - -#: misc/dumpe2fs.c:159 -#, fuzzy -msgid "blocks" -msgstr "bbloc" - -#: misc/dumpe2fs.c:168 -msgid "clusters" +#: misc/dumpe2fs.c:53 +#, c-format +msgid "Usage: %s [-bfhixV] [-ob superblock] [-oB blocksize] device\n" msgstr "" +"Forma d'ús: %s [-bfhixV] [-ob superbloc] [-oB midadelbloc] dispositiu\n" -#: misc/dumpe2fs.c:196 +#: misc/dumpe2fs.c:168 #, c-format msgid "Group %lu: (Blocks " msgstr "Grup %lu: (blocs " -#: misc/dumpe2fs.c:204 -#, fuzzy, c-format -msgid " Checksum 0x%04x" -msgstr "Suma de verificació 0x%04x, nodes-i no utilitzats %d\n" - -#: misc/dumpe2fs.c:206 +#: misc/dumpe2fs.c:173 #, c-format -msgid " (EXPECTED 0x%04x)" -msgstr "" - -#: misc/dumpe2fs.c:207 -#, fuzzy, c-format -msgid ", unused inodes %u\n" -msgstr ", %u nodes-i no utilitzats\n" +msgid " Checksum 0x%04x, unused inodes %d\n" +msgstr "Suma de verificació 0x%04x, nodes-i no utilitzats %d\n" -#: misc/dumpe2fs.c:212 +#: misc/dumpe2fs.c:178 #, c-format msgid " %s superblock at " msgstr " superbloc %s a " -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Primary" msgstr "Primari" -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Backup" msgstr "Còpia de seguretat" -#: misc/dumpe2fs.c:217 +#: misc/dumpe2fs.c:183 #, c-format msgid ", Group descriptors at " msgstr ", descriptors de grup a " -#: misc/dumpe2fs.c:221 +#: misc/dumpe2fs.c:187 #, c-format msgid "" "\n" " Reserved GDT blocks at " msgstr "" -#: misc/dumpe2fs.c:228 +#: misc/dumpe2fs.c:194 #, c-format msgid " Group descriptor at " msgstr " descriptor de grup a " -#: misc/dumpe2fs.c:234 +#: misc/dumpe2fs.c:200 msgid " Block bitmap at " msgstr " Mapa de bits del bloc a " -#: misc/dumpe2fs.c:238 +#: misc/dumpe2fs.c:205 msgid ", Inode bitmap at " msgstr ", mapa de bits del node-i a " -#: misc/dumpe2fs.c:242 +#: misc/dumpe2fs.c:210 msgid "" "\n" " Inode table at " @@ -3592,89 +3333,55 @@ msgstr "" "\n" " taula de nodes-i a " -#: misc/dumpe2fs.c:248 -#, fuzzy, c-format +#: misc/dumpe2fs.c:217 +#, c-format msgid "" "\n" -" %u free %s, %u free inodes, %u directories%s" +" %u free blocks, %u free inodes, %u directories%s" msgstr "" "\n" " %u blocs lliures, %u nodes-i lliures, %u directoris %s" -#: misc/dumpe2fs.c:255 +#: misc/dumpe2fs.c:224 #, c-format msgid ", %u unused inodes\n" msgstr ", %u nodes-i no utilitzats\n" -#: misc/dumpe2fs.c:258 +#: misc/dumpe2fs.c:227 msgid " Free blocks: " msgstr " Blocs liures: " -#: misc/dumpe2fs.c:269 +#: misc/dumpe2fs.c:237 msgid " Free inodes: " msgstr " Nodes-i lliures: " -#: misc/dumpe2fs.c:300 +#: misc/dumpe2fs.c:264 msgid "while printing bad block list" msgstr "en imprimir la llista de blocs erronis" -#: misc/dumpe2fs.c:306 +#: misc/dumpe2fs.c:270 #, c-format msgid "Bad blocks: %u" msgstr "Blocs erronis: %u" -#: misc/dumpe2fs.c:333 misc/tune2fs.c:306 +#: misc/dumpe2fs.c:292 misc/tune2fs.c:279 msgid "while reading journal inode" msgstr "en llegir el node-i del registre de transaccions" -#: misc/dumpe2fs.c:339 -#, fuzzy -msgid "while opening journal inode" -msgstr "en llegir el node-i del registre de transaccions" - -#: misc/dumpe2fs.c:345 -#, fuzzy -msgid "while reading journal super block" -msgstr "en llegir el superbloc del registre de transaccions" - -#: misc/dumpe2fs.c:355 -#, fuzzy, c-format -msgid "Journal features: " -msgstr "Usuaris del registre de canvis: %s\n" - -#: misc/dumpe2fs.c:368 +#: misc/dumpe2fs.c:295 msgid "Journal size: " msgstr "Mida del registre de canvis: " -#: misc/dumpe2fs.c:379 -#, fuzzy, c-format -msgid "" -"Journal length: %u\n" -"Journal sequence: 0x%08x\n" -"Journal start: %u\n" -msgstr "" -"\n" -"Mida de bloc del reg. de canvis: %u\n" -"Llargada del reg. de canvis: %u\n" -"Primer bloc del reg. de canvis: %u\n" -"Seqüència del reg. de canvis: 0x%08x\n" -"Inici del registre de canvis: %u\n" -"Nombre d'usuaris del reg. de canvis: %u\n" - -#: misc/dumpe2fs.c:386 -#, fuzzy, c-format -msgid "Journal errno: %d\n" -msgstr "Usuaris del registre de canvis: %s\n" - -#: misc/dumpe2fs.c:401 misc/tune2fs.c:222 +#: misc/dumpe2fs.c:319 misc/tune2fs.c:200 msgid "while reading journal superblock" msgstr "en llegir el superbloc del registre de transaccions" -#: misc/dumpe2fs.c:409 +#: misc/dumpe2fs.c:327 msgid "Couldn't find journal superblock magic numbers" -msgstr "No s'han trobat els números màgics del superbloc del registre de transaccions" +msgstr "" +"No s'han trobat els números màgics del superbloc del registre de transaccions" -#: misc/dumpe2fs.c:413 +#: misc/dumpe2fs.c:331 #, c-format msgid "" "\n" @@ -3693,27 +3400,27 @@ msgstr "" "Inici del registre de canvis: %u\n" "Nombre d'usuaris del reg. de canvis: %u\n" -#: misc/dumpe2fs.c:426 +#: misc/dumpe2fs.c:344 #, c-format msgid "Journal users: %s\n" msgstr "Usuaris del registre de canvis: %s\n" -#: misc/dumpe2fs.c:442 misc/mke2fs.c:666 misc/tune2fs.c:1137 +#: misc/dumpe2fs.c:360 misc/mke2fs.c:693 misc/tune2fs.c:868 #, c-format msgid "Couldn't allocate memory to parse options!\n" msgstr "No s'ha pogut assignar memòria per a analitzar les opcions\n" -#: misc/dumpe2fs.c:468 +#: misc/dumpe2fs.c:386 #, c-format msgid "Invalid superblock parameter: %s\n" msgstr "Paràmetre del superbloc no vàlid: %s\n" -#: misc/dumpe2fs.c:483 +#: misc/dumpe2fs.c:401 #, c-format msgid "Invalid blocksize parameter: %s\n" msgstr "Paràmetre de mida de bloc no vàlida: %s\n" -#: misc/dumpe2fs.c:494 +#: misc/dumpe2fs.c:412 #, c-format msgid "" "\n" @@ -3727,18 +3434,18 @@ msgid "" "\tblocksize=\n" msgstr "" -#: misc/dumpe2fs.c:554 misc/mke2fs.c:1555 +#: misc/dumpe2fs.c:471 misc/mke2fs.c:1355 #, c-format msgid "\tUsing %s\n" msgstr "\tEn utilitzar %s\n" -#: misc/dumpe2fs.c:590 misc/e2image.c:1326 misc/tune2fs.c:1923 -#: resize/main.c:317 +#: misc/dumpe2fs.c:507 misc/e2image.c:674 misc/tune2fs.c:1518 +#: resize/main.c:311 #, c-format msgid "Couldn't find valid filesystem superblock.\n" msgstr "No s'ha trobat un súperbloc del sistema de fitxers vàlid.\n" -#: misc/dumpe2fs.c:618 +#: misc/dumpe2fs.c:532 #, c-format msgid "" "\n" @@ -3747,82 +3454,77 @@ msgstr "" "\n" "%s: %s: s'ha produït un error en llegir els mapes de bits: %s\n" -#: misc/e2image.c:90 -#, fuzzy, c-format -msgid "Usage: %s [-rsIQa] device image_file\n" +#: misc/e2image.c:52 +#, c-format +msgid "Usage: %s [-rsI] device image_file\n" msgstr "Forma d'ús: %s [-rsI] dispositiu fitxer_imatge\n" -#: misc/e2image.c:138 -#, c-format -msgid "Error: header size is bigger than wrt_size\n" +#: misc/e2image.c:64 +msgid "Couldn't allocate header buffer\n" msgstr "" -#: misc/e2image.c:144 -msgid "Couldn't allocate header buffer\n" +#: misc/e2image.c:83 +#, c-format +msgid "short write (only %d bytes) for writing image header" msgstr "" -#: misc/e2image.c:174 +#: misc/e2image.c:102 msgid "while writing superblock" msgstr "en escriure el superbloc" -#: misc/e2image.c:182 +#: misc/e2image.c:110 msgid "while writing inode table" msgstr "en escriure la taula de nodes-i" -#: misc/e2image.c:189 +#: misc/e2image.c:117 msgid "while writing block bitmap" msgstr "en escriure el mapa de bits dels blocs" -#: misc/e2image.c:196 +#: misc/e2image.c:124 msgid "while writing inode bitmap" msgstr "en escriure el mapa de bits dels nodes-i" -#: misc/e2image.c:1365 -#, c-format -msgid "while trying to convert qcow2 image (%s) into raw image (%s)" -msgstr "" - -#: misc/e2label.c:58 +#: misc/e2label.c:57 #, c-format msgid "e2label: cannot open %s\n" msgstr "e2label: no es pot obrir %s\n" -#: misc/e2label.c:63 +#: misc/e2label.c:62 #, c-format msgid "e2label: cannot seek to superblock\n" msgstr "e2label: no es pot anar al súperbloc\n" -#: misc/e2label.c:68 +#: misc/e2label.c:67 #, c-format msgid "e2label: error reading superblock\n" msgstr "e2label: s'ha produït un error en llegir el súperbloc\n" -#: misc/e2label.c:72 +#: misc/e2label.c:71 #, c-format msgid "e2label: not an ext2 filesystem\n" msgstr "e2label: aquest no és un sistema de fitxers ext2\n" -#: misc/e2label.c:97 misc/tune2fs.c:2080 +#: misc/e2label.c:96 misc/tune2fs.c:1653 #, c-format msgid "Warning: label too long, truncating.\n" msgstr "Avís: l'etiqueta és massa llarga, es truncarà.\n" -#: misc/e2label.c:100 +#: misc/e2label.c:99 #, c-format msgid "e2label: cannot seek to superblock again\n" msgstr "e2label: no es pot tornar a anar al súperbloc\n" -#: misc/e2label.c:105 +#: misc/e2label.c:104 #, c-format msgid "e2label: error writing superblock\n" msgstr "e2lable: s'ha produït un error en escriure el superbloc\n" -#: misc/e2label.c:117 misc/tune2fs.c:803 +#: misc/e2label.c:116 misc/tune2fs.c:541 #, c-format msgid "Usage: e2label device [newlabel]\n" msgstr "Forma d'ús: e2label dispositiu [etiquetanova]\n" -#: misc/e2undo.c:36 +#: misc/e2undo.c:35 #, c-format msgid "Usage: %s \n" msgstr "Forma d'ús: %s \n" @@ -3831,7 +3533,7 @@ msgstr "Forma d'ús: %s \n" msgid "Failed to read the file system data \n" msgstr "No s'han pogut llegir les dades del sistema de fitxers \n" -#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:206 +#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:204 #, c-format msgid "Failed tdb_fetch %s\n" msgstr "Ha fallat la tdb_fetch %s\n" @@ -3845,49 +3547,50 @@ msgstr "L'hora de muntatge del sistema de fitxers no concorda amb %u\n" msgid "The file system UUID didn't match \n" msgstr "L'UUID del sistema de fitxers no concorda \n" -#: misc/e2undo.c:163 +#: misc/e2undo.c:161 #, c-format msgid "Failed tdb_open %s\n" msgstr "Ha fallat la tdb_open %s\n" -#: misc/e2undo.c:169 +#: misc/e2undo.c:167 #, c-format msgid "Error while determining whether %s is mounted.\n" msgstr "S'ha produït un error en determinar si %s està muntat.\n" -#: misc/e2undo.c:175 +#: misc/e2undo.c:173 msgid "e2undo should only be run on unmounted file system\n" -msgstr "e2undo només s'hauria d'executar en un sistema de fitxers sense muntar\n" +msgstr "" +"e2undo només s'hauria d'executar en un sistema de fitxers sense muntar\n" -#: misc/e2undo.c:184 +#: misc/e2undo.c:182 #, c-format msgid "Failed to open %s\n" msgstr "No s'ha pogut obrir %s\n" -#: misc/e2undo.c:210 -#, fuzzy, c-format -msgid "Replayed transaction of size %zd at location %llu\n" -msgstr "S'ha tornat a dur a terme la transacció de mida %zd a la ubicació %ld\n" +#: misc/e2undo.c:208 +#, c-format +msgid "Replayed transaction of size %zd at location %ld\n" +msgstr "" +"S'ha tornat a dur a terme la transacció de mida %zd a la ubicació %ld\n" -#: misc/e2undo.c:216 +#: misc/e2undo.c:214 #, c-format msgid "Failed write %s\n" msgstr "Ha fallat l'escriptura %s\n" -#: misc/fsck.c:343 +#: misc/fsck.c:347 #, c-format msgid "WARNING: couldn't open %s: %s\n" msgstr "AVÃS: no s'ha pogut obrir %s: %s\n" -#: misc/fsck.c:353 +#: misc/fsck.c:357 #, c-format msgid "WARNING: bad format on line %d of %s\n" msgstr "AVÃS: format erroni a la línia %d de %s\n" -#: misc/fsck.c:370 -#, fuzzy +#: misc/fsck.c:372 msgid "" -"WARNING: Your /etc/fstab does not contain the fsck passno\n" +"\a\a\aWARNING: Your /etc/fstab does not contain the fsck passno\n" "\tfield. I will kludge around things for you, but you\n" "\tshould fix your /etc/fstab file as soon as you can.\n" "\n" @@ -3897,137 +3600,145 @@ msgstr "" "\tsolucionar arreglant el fitxer /etc/fstab com més aviat millor.\n" "\n" -#: misc/fsck.c:478 +#: misc/fsck.c:481 #, c-format msgid "fsck: %s: not found\n" msgstr "fsck: %s: no s'ha trobat\n" -#: misc/fsck.c:594 +#: misc/fsck.c:597 #, c-format msgid "%s: wait: No more child process?!?\n" msgstr "%s: wait: no hi ha cap més procés fill!?\n" -#: misc/fsck.c:616 +#: misc/fsck.c:619 #, c-format msgid "Warning... %s for device %s exited with signal %d.\n" msgstr "Avís... %s per al dispositiu %s ha sortit amb el senyal %d.\n" -#: misc/fsck.c:622 +#: misc/fsck.c:625 #, c-format msgid "%s %s: status is %x, should never happen.\n" msgstr "%s %s: l'estat és %x, cosa que no hauria de succeir mai.\n" -#: misc/fsck.c:661 +#: misc/fsck.c:664 #, c-format msgid "Finished with %s (exit status %d)\n" msgstr "S'ha finalitzat amb %s (estat de sortida %d)\n" -#: misc/fsck.c:721 +#: misc/fsck.c:724 #, c-format msgid "%s: Error %d while executing fsck.%s for %s\n" msgstr "%s: s'ha produït l'error %d en executar l'fsck.%s per a %s\n" -#: misc/fsck.c:742 +#: misc/fsck.c:745 msgid "" "Either all or none of the filesystem types passed to -t must be prefixed\n" "with 'no' or '!'.\n" msgstr "" -"O bé tots o cap dels sistemes de fitxers passats a l'opció -t s'han de prefixar\n" +"O bé tots o cap dels sistemes de fitxers passats a l'opció -t s'han de " +"prefixar\n" "amb «no» o «!».\n" -#: misc/fsck.c:761 +#: misc/fsck.c:764 msgid "Couldn't allocate memory for filesystem types\n" msgstr "No s'ha pogut assignar memòria per al sistema de fitxers\n" -#: misc/fsck.c:884 +#: misc/fsck.c:887 #, c-format -msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n" +msgid "" +"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass " +"number\n" msgstr "" -#: misc/fsck.c:911 +#: misc/fsck.c:914 #, c-format msgid "fsck: cannot check %s: fsck.%s not found\n" msgstr "fsck: no es pot comprovar %s: no s'ha trobat el fsck.%s\n" -#: misc/fsck.c:967 +#: misc/fsck.c:970 msgid "Checking all file systems.\n" msgstr "S'estan comprovant tots els sistemes de fitxers.\n" -#: misc/fsck.c:1058 +#: misc/fsck.c:1061 #, c-format msgid "--waiting-- (pass %d)\n" msgstr "--en espera-- (pas %d)\n" -#: misc/fsck.c:1078 -msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" -msgstr "Forma d'ús: fsck [-AMNPRTV] [ -C [ fd ] ] [-t tipusdesistdefitxers] [opcions-delsistdefitxers] [sistdefitxers ...]\n" +#: misc/fsck.c:1081 +msgid "" +"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" +msgstr "" +"Forma d'ús: fsck [-AMNPRTV] [ -C [ fd ] ] [-t tipusdesistdefitxers] [opcions-" +"delsistdefitxers] [sistdefitxers ...]\n" -#: misc/fsck.c:1120 +#: misc/fsck.c:1123 #, c-format msgid "%s: too many devices\n" msgstr "%s: s'han especificat massa dispositius\n" -#: misc/fsck.c:1153 misc/fsck.c:1239 +#: misc/fsck.c:1156 misc/fsck.c:1242 #, c-format msgid "%s: too many arguments\n" msgstr "%s: s'han especificat massa arguments\n" -#: misc/lsattr.c:74 +#: misc/lsattr.c:73 #, c-format msgid "Usage: %s [-RVadlv] [files...]\n" msgstr "Forma d'ús: %s [-RVadlv] [fitxers...]\n" -#: misc/lsattr.c:84 +#: misc/lsattr.c:83 #, c-format msgid "While reading flags on %s" msgstr "En llegir els senyaladors a %s" -#: misc/lsattr.c:91 +#: misc/lsattr.c:90 #, c-format msgid "While reading version on %s" msgstr "En llegir la versió a %s" -#: misc/mke2fs.c:116 +#: misc/mke2fs.c:104 #, c-format msgid "" -"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n" +"Usage: %s [-c|-l filename] [-b block-size] [-f fragment-size]\n" "\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n" -"\t[-G flex-group-size] [-N number-of-inodes]\n" +"\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n" "\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n" -"\t[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-count]\n" +"\t[-T fs-type] [-U UUID] [-jnqvFSV] device [blocks-count]\n" msgstr "" -#: misc/mke2fs.c:221 +#: misc/mke2fs.c:206 #, c-format msgid "Running command: %s\n" msgstr "S'està executant l'ordre: %s\n" -#: misc/mke2fs.c:225 +#: misc/mke2fs.c:210 #, c-format msgid "while trying to run '%s'" msgstr "en intentar executar «%s»" -#: misc/mke2fs.c:232 +#: misc/mke2fs.c:217 msgid "while processing list of bad blocks from program" msgstr "en processar la llista de blocs erronis des del programa" -#: misc/mke2fs.c:259 +#: misc/mke2fs.c:244 #, c-format msgid "Block %d in primary superblock/group descriptor area bad.\n" msgstr "" -#: misc/mke2fs.c:261 +#: misc/mke2fs.c:246 #, c-format msgid "Blocks %u through %u must be good in order to build a filesystem.\n" -msgstr "Els blocs %u fins a %u han d'ésser correctes per a poder crear un sistema de fitxers.\n" +msgstr "" +"Els blocs %u fins a %u han d'ésser correctes per a poder crear un sistema de " +"fitxers.\n" -#: misc/mke2fs.c:264 +#: misc/mke2fs.c:249 msgid "Aborting....\n" msgstr "S'està interrompent...\n" -#: misc/mke2fs.c:284 +#: misc/mke2fs.c:269 #, c-format msgid "" "Warning: the backup superblock/group descriptors at block %u contain\n" @@ -4038,225 +3749,193 @@ msgstr "" "\tcontenen blocs erronis.\n" "\n" -#: misc/mke2fs.c:303 +#: misc/mke2fs.c:288 msgid "while marking bad blocks as used" msgstr "en marcar els blocs erronis com a utilitzats" -#: misc/mke2fs.c:320 +#: misc/mke2fs.c:346 +msgid "done \n" +msgstr "fet \n" + +#: misc/mke2fs.c:360 msgid "Writing inode tables: " msgstr "Escriptura de les taules de nodes-i:" -#: misc/mke2fs.c:341 -#, fuzzy, c-format +#: misc/mke2fs.c:383 +#, c-format msgid "" "\n" -"Could not write %d blocks in inode table starting at %llu: %s\n" +"Could not write %d blocks in inode table starting at %u: %s\n" msgstr "" "\n" "No s'han pogut escriure %d blocs a la taula de nodes-i amb inici a %u: %s\n" -#: misc/mke2fs.c:355 misc/mke2fs.c:2257 misc/mke2fs.c:2512 -#, c-format -msgid "done \n" -msgstr "fet \n" - -#: misc/mke2fs.c:366 +#: misc/mke2fs.c:407 msgid "while creating root dir" msgstr "en crear el directori arrel" -#: misc/mke2fs.c:373 +#: misc/mke2fs.c:414 msgid "while reading root inode" msgstr "en llegir el node arrel" -#: misc/mke2fs.c:385 +#: misc/mke2fs.c:428 msgid "while setting root inode ownership" msgstr "en establir la propietat del node-i arrel" -#: misc/mke2fs.c:403 +#: misc/mke2fs.c:446 msgid "while creating /lost+found" msgstr "en crear /lost+found" -#: misc/mke2fs.c:410 +#: misc/mke2fs.c:453 msgid "while looking up /lost+found" msgstr "en cercar el /lost+found" -#: misc/mke2fs.c:423 +#: misc/mke2fs.c:466 msgid "while expanding /lost+found" msgstr "en expandir el /lost+found" -#: misc/mke2fs.c:438 +#: misc/mke2fs.c:481 msgid "while setting bad block inode" msgstr "en establir el node-i de blocs erronis" -#: misc/mke2fs.c:465 +#: misc/mke2fs.c:508 #, c-format msgid "Out of memory erasing sectors %d-%d\n" msgstr "S'ha exhaurit la memòria en esborrar els sectors %d-%d\n" -#: misc/mke2fs.c:475 +#: misc/mke2fs.c:518 #, c-format msgid "Warning: could not read block 0: %s\n" msgstr "Avís: no s'ha pogut llegir el bloc 0: %s\n" -#: misc/mke2fs.c:491 +#: misc/mke2fs.c:534 #, c-format msgid "Warning: could not erase sector %d: %s\n" msgstr "Avís: no s'ha pogut esborrar el sector %d: %s\n" -#: misc/mke2fs.c:507 +#: misc/mke2fs.c:550 msgid "while initializing journal superblock" msgstr "en inicialitzar el súperbloc del registre de transaccions" -#: misc/mke2fs.c:515 +#: misc/mke2fs.c:556 msgid "Zeroing journal device: " msgstr "S'estan escrivint zeros al dispositiu de registre de transaccions:" -#: misc/mke2fs.c:527 -#, fuzzy, c-format -msgid "while zeroing journal device (block %llu, count %d)" -msgstr "en escriure zeros al dispositiu de registre de transaccions (bloc %u, recompte %d)" +#: misc/mke2fs.c:569 +#, c-format +msgid "while zeroing journal device (block %u, count %d)" +msgstr "" +"en escriure zeros al dispositiu de registre de transaccions (bloc %u, " +"recompte %d)" -#: misc/mke2fs.c:545 +#: misc/mke2fs.c:585 msgid "while writing journal superblock" msgstr "en escriure el súperbloc del registre de transaccions" -#: misc/mke2fs.c:560 -#, fuzzy, c-format +#: misc/mke2fs.c:601 +#, c-format msgid "" -"warning: %llu blocks unused.\n" +"warning: %u blocks unused.\n" "\n" msgstr "" "avís: %u blocs no utilitzats.\n" "\n" -#: misc/mke2fs.c:565 +#: misc/mke2fs.c:606 #, c-format msgid "Filesystem label=%s\n" msgstr "Etiqueta del sistema de fitxers=%s\n" -#: misc/mke2fs.c:568 -#, fuzzy, c-format -msgid "OS type: %s\n" +#: misc/mke2fs.c:607 +msgid "OS type: " msgstr "Tipus de sistema operatiu: " # FIXME: log -#: misc/mke2fs.c:570 +#: misc/mke2fs.c:612 #, c-format msgid "Block size=%u (log=%u)\n" msgstr "Mida del bloc=%u (log=%u)\n" -# FIXME: log -#: misc/mke2fs.c:574 -#, fuzzy, c-format -msgid "Cluster size=%u (log=%u)\n" -msgstr "Mida del bloc=%u (log=%u)\n" - -#: misc/mke2fs.c:578 +#: misc/mke2fs.c:614 #, c-format msgid "Fragment size=%u (log=%u)\n" msgstr "Mida del fragment=%u (log=%u)\n" -#: misc/mke2fs.c:580 +#: misc/mke2fs.c:616 #, c-format -msgid "Stride=%u blocks, Stripe width=%u blocks\n" -msgstr "" - -#: misc/mke2fs.c:582 -#, fuzzy, c-format -msgid "%u inodes, %llu blocks\n" +msgid "%u inodes, %u blocks\n" msgstr "%u nodes-i, %u blocs\n" -#: misc/mke2fs.c:584 -#, fuzzy, c-format -msgid "%llu blocks (%2.2f%%) reserved for the super user\n" +#: misc/mke2fs.c:618 +#, c-format +msgid "%u blocks (%2.2f%%) reserved for the super user\n" msgstr "%u blocs (%2.2f%%) reservats per al superusuari\n" -#: misc/mke2fs.c:587 +#: misc/mke2fs.c:621 #, c-format msgid "First data block=%u\n" msgstr "Bloc de dades inicial=%u\n" -#: misc/mke2fs.c:589 -#, c-format -msgid "Root directory owner=%u:%u\n" -msgstr "" - -#: misc/mke2fs.c:591 +#: misc/mke2fs.c:623 #, c-format msgid "Maximum filesystem blocks=%lu\n" msgstr "Màxim de blocs del sistema de fitxers=%lu\n" -#: misc/mke2fs.c:595 +#: misc/mke2fs.c:627 #, c-format msgid "%u block groups\n" msgstr "%u grups de blocs\n" -#: misc/mke2fs.c:597 +#: misc/mke2fs.c:629 #, c-format msgid "%u block group\n" msgstr "%u grup de blocs\n" -#: misc/mke2fs.c:600 -#, fuzzy, c-format -msgid "%u blocks per group, %u clusters per group\n" -msgstr "%u blocs per grup, %u fragments per grup\n" - -#: misc/mke2fs.c:603 +#: misc/mke2fs.c:630 #, c-format msgid "%u blocks per group, %u fragments per group\n" msgstr "%u blocs per grup, %u fragments per grup\n" -#: misc/mke2fs.c:605 +#: misc/mke2fs.c:632 #, c-format msgid "%u inodes per group\n" msgstr "%u nodes-i per grup\n" -#: misc/mke2fs.c:612 +#: misc/mke2fs.c:639 #, c-format msgid "Superblock backups stored on blocks: " msgstr "Còpies de seguretat del superbloc desades en els blocs: " -#: misc/mke2fs.c:691 misc/tune2fs.c:1165 -#, fuzzy, c-format -msgid "Invalid mmp_update_interval: %s\n" -msgstr "el patró_de_prova no és vàlid: %s\n" - -#: misc/mke2fs.c:705 +#: misc/mke2fs.c:718 #, c-format msgid "Invalid stride parameter: %s\n" msgstr "" -#: misc/mke2fs.c:720 +#: misc/mke2fs.c:733 #, c-format msgid "Invalid stripe-width parameter: %s\n" msgstr "" -#: misc/mke2fs.c:743 +#: misc/mke2fs.c:755 #, c-format msgid "Invalid resize parameter: %s\n" msgstr "Paràmetre de canvi de mida no vàlid: %s\n" -#: misc/mke2fs.c:750 +#: misc/mke2fs.c:762 #, c-format msgid "The resize maximum must be greater than the filesystem size.\n" -msgstr "El màxim del canvi de mida ha de ser més gran que la mida del sistema de fitxers.\n" +msgstr "" +"El màxim del canvi de mida ha de ser més gran que la mida del sistema de " +"fitxers.\n" -#: misc/mke2fs.c:774 +#: misc/mke2fs.c:786 #, c-format msgid "On-line resizing not supported with revision 0 filesystems\n" -msgstr "El canvi de mida en línia no és compatible amb sistemes de fitxers de revisió 0\n" - -#: misc/mke2fs.c:801 misc/mke2fs.c:810 -#, fuzzy, c-format -msgid "Invalid root_owner: '%s'\n" -msgstr "S'ha establert una opció de muntatge no vàlida: %s\n" - -#: misc/mke2fs.c:835 -#, fuzzy, c-format -msgid "Invalid quotatype parameter: %s\n" -msgstr "Paràmetre del superbloc no vàlid: %s\n" +msgstr "" +"El canvi de mida en línia no és compatible amb sistemes de fitxers de " +"revisió 0\n" -#: misc/mke2fs.c:846 +#: misc/mke2fs.c:808 #, c-format msgid "" "\n" @@ -4270,17 +3949,11 @@ msgid "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" -"\tlazy_journal_init=<0 to disable, 1 to enable>\n" -"\troot_uid=\n" -"\troot_gid=\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" msgstr "" -#: misc/mke2fs.c:868 +#: misc/mke2fs.c:824 #, c-format msgid "" "\n" @@ -4288,7 +3961,7 @@ msgid "" "\n" msgstr "" -#: misc/mke2fs.c:907 +#: misc/mke2fs.c:856 #, c-format msgid "" "Syntax error in mke2fs config file (%s, line #%d)\n" @@ -4297,26 +3970,21 @@ msgstr "" "Error de sintaxi en el fitxer de configuració del mke2fs (%s, línia no. %d)\n" "\t%s\n" -#: misc/mke2fs.c:920 misc/tune2fs.c:398 +#: misc/mke2fs.c:869 misc/tune2fs.c:353 #, c-format msgid "Invalid filesystem option set: %s\n" msgstr "S'ha definit una opció del sistema de fitxers no vàlida: %s\n" -#: misc/mke2fs.c:932 misc/tune2fs.c:349 +#: misc/mke2fs.c:979 #, c-format -msgid "Invalid mount option set: %s\n" -msgstr "S'ha establert una opció de muntatge no vàlida: %s\n" - -#: misc/mke2fs.c:1072 -#, fuzzy, c-format msgid "" "\n" -"Your mke2fs.conf file does not define the %s filesystem type.\n" +"Warning! Your mke2fs.conf file does not define the %s filesystem type.\n" msgstr "" "\n" "Avís: no s'ha definit el sistema de fitxers %s al fitxer mke2fs.conf.\n" -#: misc/mke2fs.c:1076 +#: misc/mke2fs.c:982 #, c-format msgid "" "You probably need to install an updated mke2fs.conf file.\n" @@ -4325,137 +3993,124 @@ msgstr "" "Segurament cal que instal·leu un fitxer mke2fs.conf actualitzat.\n" "\n" -#: misc/mke2fs.c:1080 -#, fuzzy, c-format -msgid "Aborting...\n" -msgstr "S'està interrompent...\n" - -#: misc/mke2fs.c:1120 -#, c-format -msgid "" -"\n" -"Warning: the fs_type %s is not defined in mke2fs.conf\n" -"\n" -msgstr "" - -#: misc/mke2fs.c:1276 -#, fuzzy, c-format -msgid "Couldn't allocate memory for new PATH.\n" -msgstr "No s'ha pogut assignar memòria per al sistema de fitxers\n" - -#: misc/mke2fs.c:1317 -#, c-format -msgid "Couldn't init profile successfully (error: %ld).\n" -msgstr "" - -#: misc/mke2fs.c:1357 +#: misc/mke2fs.c:1177 #, c-format msgid "invalid block size - %s" msgstr "mida de bloc invàlida - %s" -#: misc/mke2fs.c:1361 +#: misc/mke2fs.c:1181 #, c-format msgid "Warning: blocksize %d not usable on most systems.\n" -msgstr "Avís: la mida de bloc %d no es pot utilitzar a la majoria dels sistemes.\n" +msgstr "" +"Avís: la mida de bloc %d no es pot utilitzar a la majoria dels sistemes.\n" -#: misc/mke2fs.c:1377 -#, fuzzy, c-format -msgid "invalid cluster size - %s" -msgstr "mida de bloc invàlida - %s" +#: misc/mke2fs.c:1197 +#, c-format +msgid "invalid fragment size - %s" +msgstr "mida de fragment invàlida - %s" -#: misc/mke2fs.c:1387 -msgid "'-R' is deprecated, use '-E' instead" -msgstr "" +#: misc/mke2fs.c:1203 +#, c-format +msgid "Warning: fragments not supported. Ignoring -f option\n" +msgstr "Avís: els fragments no són compatibles. S'ignorarà l'opció -f\n" -#: misc/mke2fs.c:1399 +#: misc/mke2fs.c:1210 msgid "Illegal number for blocks per group" msgstr "Nombre no vàlid per als blocs per grup" -#: misc/mke2fs.c:1404 +#: misc/mke2fs.c:1215 msgid "blocks per group must be multiple of 8" msgstr "el nombre de blocs per grup ha de ser múltiple de 8" -#: misc/mke2fs.c:1412 +#: misc/mke2fs.c:1223 msgid "Illegal number for flex_bg size" msgstr "Número no vàlid per a la mida de flex_bg" -#: misc/mke2fs.c:1418 +#: misc/mke2fs.c:1229 msgid "flex_bg size must be a power of 2" msgstr "la mida de flex_bg ha de ser una potència de 2" -#: misc/mke2fs.c:1428 +#: misc/mke2fs.c:1239 #, c-format msgid "invalid inode ratio %s (min %d/max %d)" msgstr "ràtio de nodes-i %s no vàlida (mín %d/màx %d)" -#: misc/mke2fs.c:1438 -#, c-format -msgid "invalid inode size - %s" -msgstr "mida de node-i errònia - %s" - -#: misc/mke2fs.c:1450 -#, c-format -msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n" -msgstr "" - -#: misc/mke2fs.c:1460 +#: misc/mke2fs.c:1256 msgid "in malloc for bad_blocks_filename" msgstr "" -#: misc/mke2fs.c:1473 +#: misc/mke2fs.c:1265 #, c-format msgid "invalid reserved blocks percent - %s" msgstr "percentatge de blocs reservats no vàlid - %s" -#: misc/mke2fs.c:1488 -#, c-format -msgid "bad num inodes - %s" -msgstr "nombre de nodes-i no vàlid - %s" - -#: misc/mke2fs.c:1505 +#: misc/mke2fs.c:1283 #, c-format msgid "bad revision level - %s" msgstr "nivell de revisió erroni - %s" -#: misc/mke2fs.c:1519 -#, fuzzy -msgid "The -t option may only be used once" -msgstr "-o només es pot especificar una vegada" +#: misc/mke2fs.c:1295 +#, c-format +msgid "invalid inode size - %s" +msgstr "mida de node-i errònia - %s" -#: misc/mke2fs.c:1527 -#, fuzzy -msgid "The -T option may only be used once" -msgstr "-o només es pot especificar una vegada" +#: misc/mke2fs.c:1315 +#, c-format +msgid "bad num inodes - %s" +msgstr "nombre de nodes-i no vàlid - %s" -#: misc/mke2fs.c:1580 misc/mke2fs.c:2591 +#: misc/mke2fs.c:1380 misc/mke2fs.c:2052 #, c-format msgid "while trying to open journal device %s\n" msgstr "en intentar obrir el dispositiu de registre de transaccions %s\n" -#: misc/mke2fs.c:1586 +#: misc/mke2fs.c:1386 #, c-format msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n" -msgstr "La mida de bloc del dispositiu de registre de transaccions (%d) és menor que la mida mínima de bloc %d\n" +msgstr "" +"La mida de bloc del dispositiu de registre de transaccions (%d) és menor que " +"la mida mínima de bloc %d\n" -#: misc/mke2fs.c:1592 +#: misc/mke2fs.c:1392 #, c-format msgid "Using journal device's blocksize: %d\n" -msgstr "Mida de bloc del dispositiu de registre de transaccions a utilitzar: %d\n" +msgstr "" +"Mida de bloc del dispositiu de registre de transaccions a utilitzar: %d\n" -#: misc/mke2fs.c:1603 -#, fuzzy, c-format -msgid "invalid blocks '%s' on device '%s'" +#: misc/mke2fs.c:1401 +#, c-format +msgid "%d-byte blocks too big for system (max %d)" +msgstr "" + +#: misc/mke2fs.c:1405 +#, c-format +msgid "" +"Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +msgstr "" + +#: misc/mke2fs.c:1413 +#, c-format +msgid "invalid blocks count - %s" msgstr "nombre de blocs no vàlid - %s" -#: misc/mke2fs.c:1613 +#: misc/mke2fs.c:1423 msgid "filesystem" msgstr "sistema de fitxers" -#: misc/mke2fs.c:1626 resize/main.c:367 +#: misc/mke2fs.c:1459 +#, c-format +msgid "" +"%s: Size of device %s too big to be expressed in 32 bits\n" +"\tusing a blocksize of %d.\n" +msgstr "" +"%s: la mida del dispositiu %s és massa gran per a expressar-la en 32 bits\n" +"\ts'utilitzarà una mida de bloc de %d.\n" + +#: misc/mke2fs.c:1468 resize/main.c:371 msgid "while trying to determine filesystem size" msgstr "en intentar determinar la mida del sistema de fitxers" -#: misc/mke2fs.c:1632 +#: misc/mke2fs.c:1475 msgid "" "Couldn't determine device size; you must specify\n" "the size of the filesystem\n" @@ -4463,7 +4118,7 @@ msgstr "" "No s'ha pogut determinar la mida del dispositiu; hau d'especificar\n" "la mida del sistema de fitxers\n" -#: misc/mke2fs.c:1639 +#: misc/mke2fs.c:1482 msgid "" "Device size reported to be zero. Invalid partition specified, or\n" "\tpartition table wasn't reread after running fdisk, due to\n" @@ -4476,49 +4131,43 @@ msgstr "" "\tser que hàgiu de reiniciar perquè es pugui tornar a llegir la taula de.\n" "\tparticions.\n" -#: misc/mke2fs.c:1656 +#: misc/mke2fs.c:1500 msgid "Filesystem larger than apparent device size." -msgstr "La mida del sistema de fitxers és més gran que la mida aparent del dispositiu." +msgstr "" +"La mida del sistema de fitxers és més gran que la mida aparent del " +"dispositiu." -#: misc/mke2fs.c:1676 +#: misc/mke2fs.c:1506 #, c-format msgid "Failed to parse fs types list\n" msgstr "No s'ha pogut analitzar la llista de sistemes de fitxers\n" -#: misc/mke2fs.c:1730 -#, fuzzy, 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 "" -"%s: la mida del dispositiu %s és massa gran per a expressar-la en 32 bits\n" -"\ts'utilitzarà una mida de bloc de %d.\n" - -#: misc/mke2fs.c:1746 +#: misc/mke2fs.c:1542 msgid "fs_types for mke2fs.conf resolution: " msgstr "" -#: misc/mke2fs.c:1753 +#: misc/mke2fs.c:1549 #, c-format msgid "Filesystem features not supported with revision 0 filesystems\n" -msgstr "Les funcions del sistema de fitxers no són compatibles amb sistemes de fitxers de revisió 0\n" +msgstr "" +"Les funcions del sistema de fitxers no són compatibles amb sistemes de " +"fitxers de revisió 0\n" -#: misc/mke2fs.c:1760 +#: misc/mke2fs.c:1556 #, c-format msgid "Sparse superblocks not supported with revision 0 filesystems\n" -msgstr "Els súperblocs dispersos no són compatibles amb sistemes de fitxers de revisió 0\n" +msgstr "" +"Els súperblocs dispersos no són compatibles amb sistemes de fitxers de " +"revisió 0\n" -#: misc/mke2fs.c:1772 +#: misc/mke2fs.c:1568 #, c-format msgid "Journals not supported with revision 0 filesystems\n" -msgstr "Els registres de canvis no són compatibles amb sistemes de fitxers de revisió 0\n" - -#: misc/mke2fs.c:1786 -#, fuzzy, c-format -msgid "invalid reserved blocks percent - %lf" -msgstr "percentatge de blocs reservats no vàlid - %s" +msgstr "" +"Els registres de canvis no són compatibles amb sistemes de fitxers de " +"revisió 0\n" -#: misc/mke2fs.c:1802 +#: misc/mke2fs.c:1586 #, c-format msgid "" "The resize_inode and meta_bg features are not compatible.\n" @@ -4527,195 +4176,100 @@ msgstr "" "Les funcions resize_inode i meta_bg no són compatibles.\n" "No es poden activar de manera simultània.\n" -#: misc/mke2fs.c:1819 +#: misc/mke2fs.c:1603 msgid "while trying to determine hardware sector size" msgstr "en intentar determinar la mida del sector del maquinari" -#: misc/mke2fs.c:1825 -#, fuzzy -msgid "while trying to determine physical sector size" -msgstr "en intentar determinar la mida del sector del maquinari" - -#: misc/mke2fs.c:1858 -#, fuzzy -msgid "while setting blocksize; too small for device\n" -msgstr "en establir la informació de suma de verificació del grup de blocs" - -#: misc/mke2fs.c:1863 -#, c-format -msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n" +#: misc/mke2fs.c:1661 +msgid "reserved online resize blocks not supported on non-sparse filesystem" msgstr "" -#: misc/mke2fs.c:1881 -#, fuzzy -msgid "The cluster size may not be smaller than the block size.\n" -msgstr "El màxim del canvi de mida ha de ser més gran que la mida del sistema de fitxers.\n" +#: misc/mke2fs.c:1670 +msgid "blocks per group count out of range" +msgstr "el nombre de blocs per grup està fora de l'interval permès" -#: misc/mke2fs.c:1887 -msgid "specifying a cluster size requires the bigalloc feature" +#: misc/mke2fs.c:1685 +msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" msgstr "" +"La funció flex_bg no està habilitada, per la qual cosa no és permès " +"especificar la mida de flex_bg" -#: misc/mke2fs.c:1906 +#: misc/mke2fs.c:1697 #, c-format -msgid "warning: Unable to get device geometry for %s\n" -msgstr "" +msgid "invalid inode size %d (min %d/max %d)" +msgstr "mida de node-i no vàlida (%d) (mín %d/màx %d)" -#: misc/mke2fs.c:1909 +#: misc/mke2fs.c:1711 #, c-format -msgid "%s alignment is offset by %lu bytes.\n" -msgstr "" +msgid "too many inodes (%llu), raise inode ratio?" +msgstr "hi ha massa nodes-i (%llu), voleu incrementar-ne la ràtio?" -#: misc/mke2fs.c:1911 +#: misc/mke2fs.c:1716 #, c-format -msgid "This may result in very poor performance, (re)-partitioning suggested.\n" +msgid "too many inodes (%llu), specify < 2^32 inodes" msgstr "" +"hi ha massa nodes-i (%llu), hauríeu d'especificar-ne un nombre menor a 2^32" -#: misc/mke2fs.c:1930 +#: misc/mke2fs.c:1731 #, c-format -msgid "%d-byte blocks too big for system (max %d)" +msgid "" +"inode_size (%u) * inodes_count (%u) too big for a\n" +"\tfilesystem with %lu blocks, specify higher inode_ratio (-i)\n" +"\tor lower inode count (-N).\n" msgstr "" +"El producte inode_size (%u) * inodes_count (%u) és massa gran per a\n" +"\tun sistema de fitxers amb %lu blocs. Especifiqueu una inode_ratio (-i)\n" +"\tmajor o bé un nombre menor de nodes-i (-N).\n" -#: misc/mke2fs.c:1934 +#: misc/mke2fs.c:1828 misc/tune2fs.c:1462 #, c-format -msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" -msgstr "" +msgid "while trying to delete %s" +msgstr "en intentar suprimir %s" -#: misc/mke2fs.c:1968 -msgid "Can't support bigalloc feature without extents feature" -msgstr "" - -#: misc/mke2fs.c:1975 -#, c-format -msgid "" -"\n" -"Warning: the bigalloc feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n" -"\n" -msgstr "" - -#: misc/mke2fs.c:1982 misc/tune2fs.c:740 -#, c-format -msgid "" -"\n" -"Warning: the quota feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Quota for more information\n" -"\n" -msgstr "" - -#: misc/mke2fs.c:1993 -msgid "reserved online resize blocks not supported on non-sparse filesystem" -msgstr "" - -#: misc/mke2fs.c:2002 -msgid "blocks per group count out of range" -msgstr "el nombre de blocs per grup està fora de l'interval permès" - -#: misc/mke2fs.c:2026 -msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" -msgstr "La funció flex_bg no està habilitada, per la qual cosa no és permès especificar la mida de flex_bg" - -#: misc/mke2fs.c:2038 -#, c-format -msgid "invalid inode size %d (min %d/max %d)" -msgstr "mida de node-i no vàlida (%d) (mín %d/màx %d)" - -#: misc/mke2fs.c:2056 -#, c-format -msgid "too many inodes (%llu), raise inode ratio?" -msgstr "hi ha massa nodes-i (%llu), voleu incrementar-ne la ràtio?" - -#: misc/mke2fs.c:2063 -#, c-format -msgid "too many inodes (%llu), specify < 2^32 inodes" -msgstr "hi ha massa nodes-i (%llu), hauríeu d'especificar-ne un nombre menor a 2^32" - -#: misc/mke2fs.c:2077 -#, fuzzy, c-format -msgid "" -"inode_size (%u) * inodes_count (%u) too big for a\n" -"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n" -"\tor lower inode count (-N).\n" -msgstr "" -"El producte inode_size (%u) * inodes_count (%u) és massa gran per a\n" -"\tun sistema de fitxers amb %lu blocs. Especifiqueu una inode_ratio (-i)\n" -"\tmajor o bé un nombre menor de nodes-i (-N).\n" - -#: misc/mke2fs.c:2196 +#: misc/mke2fs.c:1837 #, c-format msgid "" "Overwriting existing filesystem; this can be undone using the command:\n" " e2undo %s %s\n" "\n" msgstr "" -"S'està sobreescrivint el sistema de fitxers existent; la qual cosa es pot desfer si escriviu:\n" +"S'està sobreescrivint el sistema de fitxers existent; la qual cosa es pot " +"desfer si escriviu:\n" " e2undo %s %s\n" "\n" -#: misc/mke2fs.c:2210 -#, fuzzy -msgid "while trying to setup undo file\n" -msgstr "" -"\n" -"\ten intentar crear el fitxer del registre de transaccions" - -#: misc/mke2fs.c:2236 -#, fuzzy -msgid "Discarding device blocks: " -msgstr "Mida de bloc del dispositiu de registre de transaccions a utilitzar: %d\n" - -#: misc/mke2fs.c:2252 -msgid "failed - " -msgstr "" - -#: misc/mke2fs.c:2360 +#: misc/mke2fs.c:1885 msgid "while setting up superblock" msgstr "en configurar el súperbloc" -#: misc/mke2fs.c:2369 -#, c-format -msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" -msgstr "" - -#: misc/mke2fs.c:2452 +#: misc/mke2fs.c:1936 #, c-format msgid "unknown os - %s" msgstr "sistema operatiu desconegut - %s" -#: misc/mke2fs.c:2504 -#, fuzzy, c-format -msgid "Allocating group tables: " -msgstr "Escriptura de les taules de nodes-i:" - -#: misc/mke2fs.c:2508 +#: misc/mke2fs.c:1990 msgid "while trying to allocate filesystem tables" msgstr "en intentar assignar les taules del sistema de fitxers" -#: misc/mke2fs.c:2517 -#, fuzzy -msgid "" -"\n" -"\twhile converting subcluster bitmap" -msgstr "en escriure el mapa de bits dels blocs" - -#: misc/mke2fs.c:2560 -#, fuzzy, c-format -msgid "while zeroing block %llu at end of filesystem" +#: misc/mke2fs.c:2021 +#, c-format +msgid "while zeroing block %u at end of filesystem" msgstr "en escriure zeros al bloc %u al final del sistema de fitxers" -#: misc/mke2fs.c:2573 +#: misc/mke2fs.c:2034 msgid "while reserving blocks for online resize" msgstr "en reservar blocs per al canvi de mida en línia" -#: misc/mke2fs.c:2584 misc/tune2fs.c:645 +#: misc/mke2fs.c:2045 misc/tune2fs.c:477 msgid "journal" msgstr "registre de transaccions" -#: misc/mke2fs.c:2596 +#: misc/mke2fs.c:2057 #, c-format msgid "Adding journal to device %s: " msgstr "Addició d'un registre de transaccions al dispositiu %s:" -#: misc/mke2fs.c:2603 +#: misc/mke2fs.c:2064 #, c-format msgid "" "\n" @@ -4724,47 +4278,24 @@ msgstr "" "\n" "\ten intentar afegir un registre de canvis al dispositiu %s" -#: misc/mke2fs.c:2608 misc/mke2fs.c:2640 misc/tune2fs.c:674 misc/tune2fs.c:688 +#: misc/mke2fs.c:2069 misc/mke2fs.c:2095 misc/tune2fs.c:506 misc/tune2fs.c:520 #, c-format msgid "done\n" msgstr "fet\n" -#: misc/mke2fs.c:2617 -#, c-format -msgid "Skipping journal creation in super-only mode\n" -msgstr "" - -#: misc/mke2fs.c:2628 +#: misc/mke2fs.c:2083 #, c-format msgid "Creating journal (%u blocks): " msgstr "Creació del registre de transaccions (%u blocs): " -#: misc/mke2fs.c:2636 -msgid "" -"\n" -"\twhile trying to create journal" -msgstr "" -"\n" -"\ten intentar crear el registre de canvis" - -#: misc/mke2fs.c:2647 misc/tune2fs.c:451 -#, c-format -msgid "" -"\n" -"Error while enabling multiple mount protection feature." -msgstr "" - -#: misc/mke2fs.c:2652 -#, c-format -msgid "Multiple mount protection is enabled with update interval %d seconds.\n" -msgstr "" - -#: misc/mke2fs.c:2665 +#: misc/mke2fs.c:2100 #, c-format msgid "Writing superblocks and filesystem accounting information: " -msgstr "Escriptura de la informació dels súperblocs i de comptabilitat del sistema de fitxers:" +msgstr "" +"Escriptura de la informació dels súperblocs i de comptabilitat del sistema " +"de fitxers:" -#: misc/mke2fs.c:2672 +#: misc/mke2fs.c:2105 #, c-format msgid "" "\n" @@ -4773,7 +4304,7 @@ msgstr "" "\n" "Avís: hi ha hagut problemes en escriure els súperblocs." -#: misc/mke2fs.c:2674 +#: misc/mke2fs.c:2108 #, c-format msgid "" "done\n" @@ -4782,12 +4313,12 @@ msgstr "" "fet\n" "\n" -#: misc/mklost+found.c:50 +#: misc/mklost+found.c:49 #, c-format msgid "Usage: mklost+found\n" msgstr "Forma d'ús: mklost+found\n" -#: misc/partinfo.c:41 +#: misc/partinfo.c:39 #, c-format msgid "" "Usage: %s device...\n" @@ -4802,97 +4333,98 @@ msgstr "" "Per exemple: %s /dev/hda\n" "\n" -#: misc/partinfo.c:51 +#: misc/partinfo.c:49 #, c-format msgid "Cannot open %s: %s" msgstr "No es pot obrir %s: %s" -#: misc/partinfo.c:57 +#: misc/partinfo.c:55 #, c-format msgid "Cannot get geometry of %s: %s" msgstr "No es pot obtenir la geometria de %s: %s" -#: misc/partinfo.c:65 +#: misc/partinfo.c:63 #, c-format msgid "Cannot get size of %s: %s" msgstr "No es pot obtenir la mida de %s: %s" -#: misc/partinfo.c:71 +#: misc/partinfo.c:69 #, c-format msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n" msgstr "%s: h=%3d s=%3d c=%4d inici=%8d mida=%8lu final=%8d\n" -#: misc/tune2fs.c:107 +#: misc/tune2fs.c:96 msgid "Please run e2fsck on the filesystem.\n" msgstr "Hauríeu d'executar l'e2fsck en el sistema de fitxers.\n" -#: misc/tune2fs.c:116 +#: misc/tune2fs.c:103 #, c-format msgid "" "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" -"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p mmp_update_interval]\n" +"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n" "\t[ -I new_inode_size ] device\n" msgstr "" -#: misc/tune2fs.c:209 +#: misc/tune2fs.c:188 msgid "while trying to open external journal" msgstr "en intentar obrir el registre de transaccions extern" -#: misc/tune2fs.c:214 +#: misc/tune2fs.c:192 #, c-format msgid "%s is not a journal device.\n" msgstr "%s no és un dispositiu de registre de transaccions.\n" -#: misc/tune2fs.c:229 +#: misc/tune2fs.c:207 msgid "Journal superblock not found!\n" msgstr "No s'ha trobat el súperbloc del registre de transaccions\n" -#: misc/tune2fs.c:240 +#: misc/tune2fs.c:219 msgid "Filesystem's UUID not found on journal device.\n" -msgstr "No s'ha trobat l'UUID del sistema de fitxers en el dispositiu del registre de transaccions.\n" - -#: misc/tune2fs.c:261 -msgid "" -"Cannot locate journal device. It was NOT removed\n" -"Use -f option to remove missing journal device.\n" msgstr "" +"No s'ha trobat l'UUID del sistema de fitxers en el dispositiu del registre " +"de transaccions.\n" + +#: misc/tune2fs.c:240 +msgid "Journal NOT removed\n" +msgstr "NO s'ha suprimit el registre de transaccions\n" -#: misc/tune2fs.c:269 +#: misc/tune2fs.c:246 msgid "Journal removed\n" msgstr "S'ha suprimit el registre de transaccions\n" -#: misc/tune2fs.c:313 +#: misc/tune2fs.c:286 msgid "while reading bitmaps" msgstr "en llegir els mapes de bits" -#: misc/tune2fs.c:321 +#: misc/tune2fs.c:294 msgid "while clearing journal inode" msgstr "en netejar el node-i del registre de transaccions" -#: misc/tune2fs.c:332 +#: misc/tune2fs.c:305 msgid "while writing journal inode" msgstr "en escriure al node-i del registre de transaccions" -#: misc/tune2fs.c:367 +#: misc/tune2fs.c:320 #, c-format -msgid "(and reboot afterwards!)\n" -msgstr "(i reinicieu després)\n" +msgid "Invalid mount option set: %s\n" +msgstr "S'ha establert una opció de muntatge no vàlida: %s\n" -#: misc/tune2fs.c:401 +#: misc/tune2fs.c:356 #, c-format msgid "Clearing filesystem feature '%s' not supported.\n" msgstr "La funció de neteja del sistema de fitxers «%s» no està implementada.\n" -#: misc/tune2fs.c:407 +#: misc/tune2fs.c:362 #, c-format msgid "Setting filesystem feature '%s' not supported.\n" -msgstr "L'establiment de la funció del sistema de fitxers «%s» no està implementada.\n" +msgstr "" +"L'establiment de la funció del sistema de fitxers «%s» no està implementada.\n" -#: misc/tune2fs.c:416 +#: misc/tune2fs.c:371 msgid "" "The has_journal feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" @@ -4900,7 +4432,7 @@ msgstr "" "La funció has_journal només es pot esborrar si el sistema de fitxers no\n" "està muntat, o bé està muntat en mode de només lectura.\n" -#: misc/tune2fs.c:424 +#: misc/tune2fs.c:379 msgid "" "The needs_recovery flag is set. Please run e2fsck before clearing\n" "the has_journal flag.\n" @@ -4908,49 +4440,13 @@ msgstr "" "El senyalador needs_recovery està establert. Hauríeu d'executar l'e2fsck\n" "abans de netejar el senyalador has_journal.\n" -#: misc/tune2fs.c:443 -#, fuzzy -msgid "" -"The multiple mount protection feature can't\n" -"be set if the filesystem is mounted or\n" -"read-only.\n" -msgstr "" -"La funció huge_file només es pot esborrar si el sistema de fitxers no\n" -"està muntat, o bé està muntat en mode de només lectura.\n" - -#: misc/tune2fs.c:461 -#, c-format -msgid "Multiple mount protection has been enabled with update interval %ds.\n" -msgstr "" - -#: misc/tune2fs.c:470 -msgid "" -"The multiple mount protection feature cannot\n" -"be disabled if the filesystem is readonly.\n" -msgstr "" - -#: misc/tune2fs.c:478 -#, fuzzy -msgid "Error while reading bitmaps\n" -msgstr "en llegir els mapes de bits" - -#: misc/tune2fs.c:487 -#, c-format -msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n" -msgstr "" - -#: misc/tune2fs.c:492 -#, fuzzy -msgid "while reading MMP block." -msgstr "en llegir el node-i dels blocs erronis" - -#: misc/tune2fs.c:524 +#: misc/tune2fs.c:412 msgid "" "Clearing the flex_bg flag would cause the the filesystem to be\n" "inconsistent.\n" msgstr "" -#: misc/tune2fs.c:535 +#: misc/tune2fs.c:423 msgid "" "The huge_file feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" @@ -4958,17 +4454,16 @@ msgstr "" "La funció huge_file només es pot esborrar si el sistema de fitxers no\n" "està muntat, o bé està muntat en mode de només lectura.\n" -#: misc/tune2fs.c:595 -msgid "" -"\n" -"Warning: '^quota' option overrides '-Q'arguments.\n" -msgstr "" +#: misc/tune2fs.c:451 +#, c-format +msgid "(and reboot afterwards!)\n" +msgstr "(i reinicieu després)\n" -#: misc/tune2fs.c:640 +#: misc/tune2fs.c:472 msgid "The filesystem already has a journal.\n" msgstr "El sistema de fitxers ja té un registre de transaccions.\n" -#: misc/tune2fs.c:658 +#: misc/tune2fs.c:490 #, c-format msgid "" "\n" @@ -4977,21 +4472,21 @@ msgstr "" "\n" "\ten intentar obrir el registre de transaccions a %s\n" -#: misc/tune2fs.c:662 +#: misc/tune2fs.c:494 #, c-format msgid "Creating journal on device %s: " msgstr "Creació del registre de transaccions al dispositiu %s:" -#: misc/tune2fs.c:670 +#: misc/tune2fs.c:502 #, c-format msgid "while adding filesystem to journal on %s" msgstr "en afegir un sistema de fitxers al registre de transaccions a %s" -#: misc/tune2fs.c:676 +#: misc/tune2fs.c:508 msgid "Creating journal inode: " msgstr "Creació del node-i del registre de transaccions:" -#: misc/tune2fs.c:685 +#: misc/tune2fs.c:517 msgid "" "\n" "\twhile trying to create journal file" @@ -4999,114 +4494,85 @@ msgstr "" "\n" "\ten intentar crear el fitxer del registre de transaccions" -#: misc/tune2fs.c:763 -#, fuzzy -msgid "Couldn't allocate memory to parse quota options!\n" -msgstr "No s'ha pogut assignar memòria per a analitzar les opcions\n" - -#: misc/tune2fs.c:785 -msgid "" -"\n" -"Bad quota options specified.\n" -"\n" -"Following valid quota options are available (pass by separating with comma):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" -msgstr "" - -#: misc/tune2fs.c:846 +#: misc/tune2fs.c:584 #, c-format msgid "Couldn't parse date/time specifier: %s" msgstr "No s'ha pogut analitzar l'especificador de data/hora: %s" -#: misc/tune2fs.c:870 misc/tune2fs.c:883 +#: misc/tune2fs.c:608 misc/tune2fs.c:621 #, c-format msgid "bad mounts count - %s" msgstr "nombre de muntatges erroni - %s" -#: misc/tune2fs.c:899 +#: misc/tune2fs.c:637 #, c-format msgid "bad error behavior - %s" msgstr "comportament d'error erroni - %s" -#: misc/tune2fs.c:926 +#: misc/tune2fs.c:664 #, c-format msgid "bad gid/group name - %s" msgstr "nom de grup/gid erroni - %s" -#: misc/tune2fs.c:959 +#: misc/tune2fs.c:697 #, c-format msgid "bad interval - %s" msgstr "interval erroni - %s" -#: misc/tune2fs.c:988 +#: misc/tune2fs.c:725 #, c-format msgid "bad reserved block ratio - %s" msgstr "ràtio de blocs reservats errònia - %s" -#: misc/tune2fs.c:1003 +#: misc/tune2fs.c:740 msgid "-o may only be specified once" msgstr "-o només es pot especificar una vegada" -#: misc/tune2fs.c:1012 +#: misc/tune2fs.c:750 msgid "-O may only be specified once" msgstr "-O només es pot especificar una vegada" -#: misc/tune2fs.c:1027 +#: misc/tune2fs.c:760 #, c-format msgid "bad reserved blocks count - %s" msgstr "número de blocs reservats erroni - %s" -#: misc/tune2fs.c:1056 +#: misc/tune2fs.c:789 #, c-format msgid "bad uid/user name - %s" msgstr "nom d'usuari/uid erroni - %s" -#: misc/tune2fs.c:1073 +#: misc/tune2fs.c:806 #, c-format msgid "bad inode size - %s" msgstr "mida del node-i errònia - %s" -#: misc/tune2fs.c:1080 +#: misc/tune2fs.c:813 #, c-format msgid "Inode size must be a power of two- %s" msgstr "La mida del node-i ha de ser una potència de 2 - %s" -#: misc/tune2fs.c:1174 -#, c-format -msgid "mmp_update_interval too big: %lu\n" -msgstr "" - -#: misc/tune2fs.c:1179 -#, fuzzy, c-format -msgid "Setting multiple mount protection update interval to %lu second\n" -msgid_plural "Setting multiple mount protection update interval to %lu seconds\n" -msgstr[0] "Establiment del nombre màxim de muntatges a %d\n" -msgstr[1] "Establiment del nombre màxim de muntatges a %d\n" - -#: misc/tune2fs.c:1202 +#: misc/tune2fs.c:900 #, c-format msgid "Invalid RAID stride: %s\n" msgstr "" -#: misc/tune2fs.c:1217 +#: misc/tune2fs.c:915 #, c-format msgid "Invalid RAID stripe-width: %s\n" msgstr "" -#: misc/tune2fs.c:1232 +#: misc/tune2fs.c:930 #, c-format msgid "Invalid hash algorithm: %s\n" msgstr "Algorisme de resum no vàlid: %s\n" -#: misc/tune2fs.c:1238 +#: misc/tune2fs.c:936 #, c-format msgid "Setting default hash algorithm to %s (%d)\n" msgstr "Establiment de l'algorisme de resum predeterminat a %s (%d)\n" -#: misc/tune2fs.c:1257 +#: misc/tune2fs.c:944 #, c-format msgid "" "\n" @@ -5116,61 +4582,18 @@ msgid "" "\tis set off by an equals ('=') sign.\n" "\n" "Valid extended options are:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" msgstr "" -#: misc/tune2fs.c:1723 -#, fuzzy -msgid "Failed to read inode bitmap\n" -msgstr "en llegir els mapes de bits" - -#: misc/tune2fs.c:1728 -#, fuzzy -msgid "Failed to read block bitmap\n" -msgstr "en escriure el mapa de bits dels blocs" - -#: misc/tune2fs.c:1745 resize/resize2fs.c:870 +#: misc/tune2fs.c:1384 misc/tune2fs.c:1389 resize/resize2fs.c:760 msgid "blocks to be moved" msgstr "blocs a moure" -#: misc/tune2fs.c:1748 -msgid "Failed to allocate block bitmap when increasing inode size\n" -msgstr "" - -#: misc/tune2fs.c:1754 -msgid "Not enough space to increase inode size \n" -msgstr "" - -#: misc/tune2fs.c:1759 -#, fuzzy -msgid "Failed to relocate blocks during inode resize \n" -msgstr "en reservar blocs per al canvi de mida en línia" - -#: misc/tune2fs.c:1791 -msgid "" -"Error in resizing the inode size.\n" -"Run e2undo to undo the file system changes. \n" -msgstr "" -"S'ha produït un error en canviar la mida del node-i.\n" -"Executeu l'e2undo per a desfer els canvis al sistema de fitxers. \n" - -#: misc/tune2fs.c:1818 -#, fuzzy -msgid "Couldn't allocate memory for tdb filename\n" -msgstr "No s'ha pogut assignar memòria per al sistema de fitxers\n" - -#: misc/tune2fs.c:1840 -#, c-format -msgid "while trying to delete %s" -msgstr "en intentar suprimir %s" - -#: misc/tune2fs.c:1850 +#: misc/tune2fs.c:1471 #, fuzzy, c-format msgid "" "To undo the tune2fs operation please run the command\n" @@ -5181,74 +4604,57 @@ msgstr "" " e2undo %s %s\n" "\n" -#: misc/tune2fs.c:1919 +#: misc/tune2fs.c:1529 #, c-format -msgid "" -"MMP block magic is bad. Try to fix it by running:\n" -"'e2fsck -f %s'\n" -msgstr "" - -#: misc/tune2fs.c:1937 -#, fuzzy, c-format -msgid "The inode size is already %lu\n" +msgid "The inode size is already %d\n" msgstr "La mida del node-i ja és %d\n" -#: misc/tune2fs.c:1943 +#: misc/tune2fs.c:1534 #, c-format msgid "Shrinking the inode size is not supported\n" msgstr "La reducció de la mida del node-i no està implementada\n" -#: misc/tune2fs.c:1949 -#, fuzzy, c-format -msgid "Invalid inode size %lu (max %d)\n" -msgstr "mida de node-i no vàlida (%d) (mín %d/màx %d)" - -#: misc/tune2fs.c:1996 +#: misc/tune2fs.c:1577 #, c-format msgid "Setting maximal mount count to %d\n" msgstr "Establiment del nombre màxim de muntatges a %d\n" -#: misc/tune2fs.c:2002 +#: misc/tune2fs.c:1583 #, c-format msgid "Setting current mount count to %d\n" msgstr "Establiment del nombre de muntatges actual a %d\n" -#: misc/tune2fs.c:2007 +#: misc/tune2fs.c:1588 #, c-format msgid "Setting error behavior to %d\n" msgstr "Establiment del comportament d'error a %d\n" -#: misc/tune2fs.c:2012 +#: misc/tune2fs.c:1593 #, c-format msgid "Setting reserved blocks gid to %lu\n" msgstr "Establiment del GID dels blocs reservats a %lu\n" -#: misc/tune2fs.c:2017 -#, fuzzy, c-format -msgid "interval between checks is too big (%lu)" -msgstr "Establiment de l'interval entre comprovacions a %lu segons\n" - -#: misc/tune2fs.c:2024 +#: misc/tune2fs.c:1598 #, c-format msgid "Setting interval between checks to %lu seconds\n" msgstr "Establiment de l'interval entre comprovacions a %lu segons\n" -#: misc/tune2fs.c:2031 -#, fuzzy, c-format -msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n" -msgstr "Establiment del nombre de blocs reservats a %lu\n" +#: misc/tune2fs.c:1605 +#, c-format +msgid "Setting reserved blocks percentage to %g%% (%u blocks)\n" +msgstr "" -#: misc/tune2fs.c:2037 -#, fuzzy, c-format -msgid "reserved blocks count is too big (%llu)" +#: misc/tune2fs.c:1612 +#, c-format +msgid "reserved blocks count is too big (%lu)" msgstr "el nombre de blocs reservats és massa gran (%lu)" -#: misc/tune2fs.c:2044 -#, fuzzy, c-format -msgid "Setting reserved blocks count to %llu\n" +#: misc/tune2fs.c:1618 +#, c-format +msgid "Setting reserved blocks count to %lu\n" msgstr "Establiment del nombre de blocs reservats a %lu\n" -#: misc/tune2fs.c:2050 +#: misc/tune2fs.c:1624 msgid "" "\n" "The filesystem already has sparse superblocks.\n" @@ -5256,7 +4662,7 @@ msgstr "" "\n" "El sitema de fitxers ja té súperblocs dispersos.\n" -#: misc/tune2fs.c:2057 +#: misc/tune2fs.c:1631 #, c-format msgid "" "\n" @@ -5265,7 +4671,7 @@ msgstr "" "\n" "S'ha establert el senyalador de súperbloc dispers. %s" -#: misc/tune2fs.c:2062 +#: misc/tune2fs.c:1636 msgid "" "\n" "Clearing the sparse superflag not supported.\n" @@ -5273,114 +4679,103 @@ msgstr "" "\n" "La neteja del senyalador de súperbloc dispers no està implementada.\n" -#: misc/tune2fs.c:2070 +#: misc/tune2fs.c:1643 #, c-format msgid "Setting time filesystem last checked to %s\n" msgstr "Establiment de la darrera comprovació del sistema de fitxers a %s\n" -#: misc/tune2fs.c:2076 +#: misc/tune2fs.c:1649 #, c-format msgid "Setting reserved blocks uid to %lu\n" msgstr "Establiment de l'UID dels blocs reservats a %lu\n" -#: misc/tune2fs.c:2108 -msgid "Error in using clear_mmp. It must be used with -f\n" -msgstr "" - -#: misc/tune2fs.c:2126 -#, fuzzy -msgid "The quota feature may only be changed when the filesystem is unmounted.\n" -msgstr "La mida del node-i només es pot canviar quan el sistema de fitxers està desmuntat.\n" - -#: misc/tune2fs.c:2159 +#: misc/tune2fs.c:1700 msgid "Invalid UUID format\n" msgstr "El format de l'UUID no és vàlid\n" -#: misc/tune2fs.c:2172 +#: misc/tune2fs.c:1712 msgid "The inode size may only be changed when the filesystem is unmounted.\n" -msgstr "La mida del node-i només es pot canviar quan el sistema de fitxers està desmuntat.\n" +msgstr "" +"La mida del node-i només es pot canviar quan el sistema de fitxers està " +"desmuntat.\n" -#: misc/tune2fs.c:2180 +#: misc/tune2fs.c:1719 msgid "" "Changing the inode size not supported for filesystems with the flex_bg\n" "feature enabled.\n" msgstr "" -#: misc/tune2fs.c:2193 +#: misc/tune2fs.c:1731 +msgid "" +"Error in resizing the inode size.\n" +"Run e2undo to undo the file system changes. \n" +msgstr "" +"S'ha produït un error en canviar la mida del node-i.\n" +"Executeu l'e2undo per a desfer els canvis al sistema de fitxers. \n" + +#: misc/tune2fs.c:1735 #, c-format msgid "Setting inode size %lu\n" msgstr "Establiment de la mida de node-i a %lu\n" -#: misc/tune2fs.c:2196 -#, fuzzy, c-format -msgid "Failed to change inode size\n" -msgstr "No s'ha pogut obrir %s\n" - -#: misc/tune2fs.c:2207 +#: misc/tune2fs.c:1745 #, c-format msgid "Setting stride size to %d\n" msgstr "" -#: misc/tune2fs.c:2212 +#: misc/tune2fs.c:1750 #, c-format msgid "Setting stripe width to %d\n" msgstr "" -#: misc/tune2fs.c:2219 -#, fuzzy, c-format -msgid "Setting extended default mount options to '%s'\n" -msgstr "Establiment del nombre de muntatges actual a %d\n" - -#: misc/util.c:74 +#: misc/util.c:72 msgid "Proceed anyway? (y,n) " msgstr "Voleu continuar de totes maneres? (s,n)" -#: misc/util.c:89 +#: misc/util.c:93 #, c-format msgid "Could not stat %s --- %s\n" msgstr "No s'ha pogut fer al crida stat %s --%s\n" -#: misc/util.c:92 +#: misc/util.c:96 msgid "" "\n" "The device apparently does not exist; did you specify it correctly?\n" msgstr "" "\n" -"Sembla que el dispositiu no existeix. Assegureu-vos que l'heu especificat correctament\n" +"Sembla que el dispositiu no existeix. Assegureu-vos que l'heu especificat " +"correctament\n" -#: misc/util.c:103 +#: misc/util.c:107 #, c-format msgid "%s is not a block special device.\n" msgstr "el %s no és un dispositiu especial de blocs.\n" -#: misc/util.c:132 +#: misc/util.c:136 #, c-format msgid "%s is entire device, not just one partition!\n" msgstr "%s és el dispositiu complet, no pas només una partició\n" -#: misc/util.c:154 +#: misc/util.c:158 msgid "mke2fs forced anyway. Hope /etc/mtab is incorrect.\n" -msgstr "s'ha forçat el mke2fs de totes maneres. Amb una mica de sort el fitxer /etc/mtab és incorrecte.\n" +msgstr "" +"s'ha forçat el mke2fs de totes maneres. Amb una mica de sort el fitxer /etc/" +"mtab és incorrecte.\n" -#: misc/util.c:159 +#: misc/util.c:163 #, c-format msgid "will not make a %s here!\n" msgstr "no es farà un %s aquí\n" -#: misc/util.c:166 +#: misc/util.c:170 msgid "mke2fs forced anyway.\n" msgstr "s'ha forçat el mke2fs de totes maneres.\n" -#: misc/util.c:182 +#: misc/util.c:186 msgid "Couldn't allocate memory to parse journal options!\n" -msgstr "No s'ha pogut ubicat memòria per a analitzar les opcions del registre de transaccions\n" - -#: misc/util.c:207 -#, fuzzy, c-format -msgid "" -"\n" -"Could not find journal device matching %s\n" -msgstr "No s'han trobat els números màgics del superbloc del registre de transaccions" +msgstr "" +"No s'ha pogut ubicat memòria per a analitzar les opcions del registre de " +"transaccions\n" #: misc/util.c:228 msgid "" @@ -5420,1235 +4815,258 @@ msgid "" "Journal size too big for filesystem.\n" msgstr "" "\n" -"La mida del registre de transaccions és massa gran per al sistema de fitxers.\n" +"La mida del registre de transaccions és massa gran per al sistema de " +"fitxers.\n" -#: misc/util.c:287 +#: misc/util.c:283 #, c-format msgid "" "This filesystem will be automatically checked every %d mounts or\n" "%g days, whichever comes first. Use tune2fs -c or -i to override.\n" msgstr "" -#: misc/uuidd.c:48 +#: misc/uuidgen.c:31 #, c-format -msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n" -msgstr "" +msgid "Usage: %s [-r] [-t]\n" +msgstr "Forma d'ús: %s [-r] [-t]\n" -#: misc/uuidd.c:50 -#, c-format -msgid " %s [-r|t] [-n num] [-s socketpath]\n" -msgstr "" +#: resize/extent.c:196 +msgid "# Extent dump:\n" +msgstr "# Bolcat de l'extensió:\n" -#: misc/uuidd.c:52 +# FIXME: «Sorted» (dpm) +#: resize/extent.c:197 #, c-format -msgid " %s -k\n" -msgstr "" - -#: misc/uuidd.c:154 -#, fuzzy -msgid "bad arguments" -msgstr "%s: s'han especificat massa arguments\n" - -#: misc/uuidd.c:172 -msgid "connect" -msgstr "" +msgid "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" +msgstr "#\tNúm=%d, Mida=%d, Cursor=%d, Ordenat=%d\n" -#: misc/uuidd.c:191 -msgid "write" -msgstr "" +#: resize/extent.c:200 +#, c-format +msgid "#\t\t %u -> %u (%d)\n" +msgstr "#\t\t %u -> %u (%d)\n" -#: misc/uuidd.c:199 -msgid "read count" +#: resize/main.c:42 +#, c-format +msgid "" +"Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" +"\n" msgstr "" +"Forma d'ús: %s [-d senyaladors_de_depuració] [-f] [-F] [-M] [-P] [-p] " +"dispositiu [mida nova]\n" +"\n" -#: misc/uuidd.c:205 -msgid "bad response length" -msgstr "" +#: resize/main.c:64 +msgid "Extending the inode table" +msgstr "Ampliació de la taula de nodes-i" -#: misc/uuidd.c:270 -#, c-format -msgid "uuidd daemon already running at pid %s\n" -msgstr "" +#: resize/main.c:67 +msgid "Relocating blocks" +msgstr "Reubicació dels blocs" -#: misc/uuidd.c:278 -#, fuzzy, c-format -msgid "Couldn't create unix stream socket: %s" -msgstr "No s'ha pogut analitzar l'especificador de data/hora: %s" +#: resize/main.c:70 +msgid "Scanning inode table" +msgstr "Escaneig de la taula de nodes-i" -#: misc/uuidd.c:307 -#, fuzzy, c-format -msgid "Couldn't bind unix socket %s: %s\n" -msgstr "No s'ha pogut reconnectar %i: %m\n" +#: resize/main.c:73 +msgid "Updating inode references" +msgstr "Actualització de les referències dels nodes-i" -#: misc/uuidd.c:315 -#, fuzzy, c-format -msgid "Couldn't listen on unix socket %s: %s\n" -msgstr "No s'ha pogut reconnectar %i: %m\n" +#: resize/main.c:76 +msgid "Moving inode table" +msgstr "Trasllat de la taula de nodes-i" -#: misc/uuidd.c:353 -#, fuzzy, c-format -msgid "Error reading from client, len = %d\n" -msgstr "S'ha produït un error en llegir el @i %i: %m\n" +#: resize/main.c:79 +msgid "Unknown pass?!?" +msgstr "Pas desconegut!?" -#: misc/uuidd.c:361 +#: resize/main.c:82 #, c-format -msgid "operation %d, incoming num = %d\n" -msgstr "" +msgid "Begin pass %d (max = %lu)\n" +msgstr "Inici del pas %d (màx = %lu)\n" -#: misc/uuidd.c:380 +#: resize/main.c:264 #, c-format -msgid "Generated time UUID: %s\n" -msgstr "" +msgid "while opening %s" +msgstr "en obrir %s" -#: misc/uuidd.c:390 -#, c-format -msgid "Generated random UUID: %s\n" -msgstr "" - -#: misc/uuidd.c:399 -#, c-format -msgid "Generated time UUID %s and subsequent UUID\n" -msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/uuidd.c:420 -#, c-format -msgid "Generated %d UUID's:\n" -msgstr "" - -#: misc/uuidd.c:432 -#, fuzzy, c-format -msgid "Invalid operation %d\n" -msgstr "La versió dels atributs ampliats no és vàlida.\n" - -#: misc/uuidd.c:476 misc/uuidd.c:498 -#, c-format -msgid "Bad number: %s\n" -msgstr "" - -#: misc/uuidd.c:533 misc/uuidd.c:562 -#, fuzzy, c-format -msgid "Error calling uuidd daemon (%s): %s\n" -msgstr "S'ha produït un error en crear el @d /@l (%s): %m\n" - -#: misc/uuidd.c:543 -#, c-format -msgid "%s and subsequent UUID\n" -msgid_plural "%s and subsequent %d UUIDs\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/uuidd.c:547 -#, c-format -msgid "List of UUID's:\n" -msgstr "" - -#: misc/uuidd.c:568 -#, c-format -msgid "Unexpected reply length from server %d\n" -msgstr "" - -#: misc/uuidd.c:585 -#, c-format -msgid "Couldn't kill uuidd running at pid %d: %s\n" -msgstr "" - -#: misc/uuidd.c:591 -#, c-format -msgid "Killed uuidd running at pid %d\n" -msgstr "" - -#: misc/uuidgen.c:32 -#, c-format -msgid "Usage: %s [-r] [-t]\n" -msgstr "Forma d'ús: %s [-r] [-t]\n" - -#: resize/extent.c:202 -msgid "# Extent dump:\n" -msgstr "# Bolcat de l'extensió:\n" - -# FIXME: «Sorted» (dpm) -#: resize/extent.c:203 -#, fuzzy, c-format -msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n" -msgstr "#\tNúm=%d, Mida=%d, Cursor=%d, Ordenat=%d\n" - -#: resize/main.c:43 -#, c-format -msgid "" -"Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" -"\n" -msgstr "" -"Forma d'ús: %s [-d senyaladors_de_depuració] [-f] [-F] [-M] [-P] [-p] dispositiu [mida nova]\n" -"\n" - -#: resize/main.c:65 -msgid "Extending the inode table" -msgstr "Ampliació de la taula de nodes-i" - -#: resize/main.c:68 -msgid "Relocating blocks" -msgstr "Reubicació dels blocs" - -#: resize/main.c:71 -msgid "Scanning inode table" -msgstr "Escaneig de la taula de nodes-i" - -#: resize/main.c:74 -msgid "Updating inode references" -msgstr "Actualització de les referències dels nodes-i" - -#: resize/main.c:77 -msgid "Moving inode table" -msgstr "Trasllat de la taula de nodes-i" - -#: resize/main.c:80 -msgid "Unknown pass?!?" -msgstr "Pas desconegut!?" - -#: resize/main.c:83 -#, c-format -msgid "Begin pass %d (max = %lu)\n" -msgstr "Inici del pas %d (màx = %lu)\n" - -#: resize/main.c:154 -#, c-format -msgid "" -"\n" -"Resizing bigalloc file systems has not been fully tested. Proceed\n" -"at your own risk! Use the force option if you want to go ahead anyway.\n" -"\n" -msgstr "" - -#: resize/main.c:271 -#, c-format -msgid "while opening %s" -msgstr "en obrir %s" - -#: resize/main.c:279 +#: resize/main.c:276 #, c-format msgid "while getting stat information for %s" msgstr "eon obtenir la informació d'«stat» per a %s" -#: resize/main.c:337 resize/main.c:450 +#: resize/main.c:337 #, c-format msgid "" -"Please run 'e2fsck -f %s' first.\n" -"\n" +"%s: The combination of flex_bg and\n" +"\t!resize_inode features is not supported by resize2fs.\n" msgstr "" -"Executeu «e2fsck -f %s» primer.\n" -"\n" +"%s: la combinació de les funcions flex_bg i\n" +"\t!resize_inode no és compatible amb el resize2fs.\n" -#: resize/main.c:341 -#, fuzzy, c-format -msgid "Estimated minimum size of the filesystem: %llu\n" +#: resize/main.c:345 +#, c-format +msgid "Estimated minimum size of the filesystem: %u\n" msgstr "Mida mínima estimada del sistema de fitxers: %u\n" -#: resize/main.c:377 +#: resize/main.c:381 #, fuzzy, c-format msgid "Invalid new size: %s\n" msgstr "mida de node-i errònia - %s" -#: resize/main.c:393 -msgid "New size too large to be expressed in 32 bits\n" -msgstr "" - -#: resize/main.c:401 -#, fuzzy, c-format -msgid "New size smaller than minimum (%llu)\n" -msgstr "La mida de bloc del dispositiu de registre de transaccions (%d) és menor que la mida mínima de bloc %d\n" - -#: resize/main.c:407 +#: resize/main.c:394 msgid "Invalid stride length" msgstr "" -#: resize/main.c:431 -#, fuzzy, c-format +#: resize/main.c:418 +#, c-format msgid "" -"The containing partition (or device) is only %llu (%dk) blocks.\n" -"You requested a new size of %llu blocks.\n" +"The containing partition (or device) is only %u (%dk) blocks.\n" +"You requested a new size of %u blocks.\n" "\n" msgstr "" "La partició (o dispositiu) contenidora té una mida de només %u (%dk) blocs.\n" "N'heu requerit una mida nova de %u blocs.\n" "\n" -#: resize/main.c:438 -#, fuzzy, c-format +#: resize/main.c:425 +#, c-format msgid "" -"The filesystem is already %llu blocks long. Nothing to do!\n" +"The filesystem is already %u blocks long. Nothing to do!\n" "\n" msgstr "" "El sistema de fitxer ja té %u blocs. No cal fer res\n" "\n" -#: resize/main.c:455 -#, fuzzy, c-format -msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n" +#: resize/main.c:436 +#, c-format +msgid "" +"Please run 'e2fsck -f %s' first.\n" +"\n" msgstr "" -"El sistema de fitxers a %s té ara una mida de %u blocs.\n" +"Executeu «e2fsck -f %s» primer.\n" "\n" -#: resize/main.c:464 +#: resize/main.c:447 #, c-format msgid "while trying to resize %s" msgstr "en intentar redimensionar %s" -#: resize/main.c:467 +#: resize/main.c:452 #, c-format msgid "" -"Please run 'e2fsck -fy %s' to fix the filesystem\n" -"after the aborted resize operation.\n" -msgstr "" - -#: resize/main.c:473 -#, fuzzy, c-format -msgid "" -"The filesystem on %s is now %llu blocks long.\n" +"The filesystem on %s is now %u blocks long.\n" "\n" msgstr "" "El sistema de fitxers a %s té ara una mida de %u blocs.\n" "\n" -#: resize/main.c:488 -#, fuzzy, c-format -msgid "while trying to truncate %s" -msgstr "en intentar mostrar la informació de %s" - -#: resize/online.c:79 +#: resize/online.c:37 #, c-format msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" -msgstr "El sistema de fitxers a %s està muntat a %s; cal un canvi de mida en línia\n" +msgstr "" +"El sistema de fitxers a %s està muntat a %s; cal un canvi de mida en línia\n" -#: resize/online.c:83 -#, fuzzy -msgid "On-line shrinking not supported" +#: resize/online.c:41 +#, c-format +msgid "On-line shrinking from %u to %u not supported.\n" msgstr "La reducció de mida en línia de %u a %u no és compatible.\n" -#: resize/online.c:108 +#: resize/online.c:61 msgid "Filesystem does not support online resizing" msgstr "El sistema de fitxers no és compatible amb el canvi de mida en línia" -#: resize/online.c:117 -#, fuzzy -msgid "Not enough reserved gdt blocks for resizing" -msgstr "en reservar blocs per al canvi de mida en línia" - -#: resize/online.c:124 -#, fuzzy -msgid "Kernel does not support resizing a file system this large" -msgstr "El nucli no és compatible amb el canvi de mida en línia" - -#: resize/online.c:132 +#: resize/online.c:68 #, c-format msgid "while trying to open mountpoint %s" msgstr "en intentar obrir el punt de muntatge %s" -#: resize/online.c:137 -#, c-format -msgid "Old resize interface requested.\n" -msgstr "" - -#: resize/online.c:156 resize/online.c:173 +#: resize/online.c:76 msgid "Permission denied to resize filesystem" msgstr "S'ha denegat el permís per a canviar la mida del sistema de fitxers" -#: resize/online.c:159 resize/online.c:179 -msgid "While checking for on-line resizing support" -msgstr "En comprovar la compatibilitat amb el canvi de mida en línia" - -#: resize/online.c:176 +#: resize/online.c:79 msgid "Kernel does not support online resizing" msgstr "El nucli no és compatible amb el canvi de mida en línia" -#: resize/online.c:209 -#, fuzzy, c-format -msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n" +#: resize/online.c:82 +msgid "While checking for on-line resizing support" +msgstr "En comprovar la compatibilitat amb el canvi de mida en línia" + +#: resize/online.c:111 +#, c-format +msgid "Performing an on-line resize of %s to %u (%dk) blocks.\n" msgstr "Canvi de mida en línia de %s a %u (%dk) blocs.\n" -#: resize/online.c:219 +#: resize/online.c:121 msgid "While trying to extend the last group" msgstr "En intentar ampliar el darrer grup" -#: resize/online.c:273 +#: resize/online.c:180 #, c-format msgid "While trying to add group #%d" msgstr "En intentar afegir el grup #%d" -#: resize/online.c:284 +#: resize/online.c:191 #, c-format -msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n" -msgstr "El sistema de fitxers a %s està muntat a %s, i aquest sistema no és compatible amb el canvi de mida en línia.\n" +msgid "" +"Filesystem at %s is mounted on %s, and on-line resizing is not supported on " +"this system.\n" +msgstr "" +"El sistema de fitxers a %s està muntat a %s, i aquest sistema no és " +"compatible amb el canvi de mida en línia.\n" -#: resize/resize2fs.c:369 +#: resize/resize2fs.c:322 #, c-format msgid "inodes (%llu) must be less than %u" msgstr "el nombre de nodes-i (%llu) ha de ser menor que %u" -#: resize/resize2fs.c:631 +#: resize/resize2fs.c:755 msgid "reserved blocks" msgstr "blocs reservats" -#: resize/resize2fs.c:875 +#: resize/resize2fs.c:765 msgid "meta-data blocks" msgstr "blocs de metadades" # FIXME: (dpm) -#: resize/resize2fs.c:1837 +#: resize/resize2fs.c:1703 #, c-format msgid "Should never happen: resize inode corrupt!\n" msgstr "Això no hauria de passar mai: canvi de mida del node-i malmesa\n" -#: lib/ext2fs/ext2_err.c:11 -msgid "EXT2FS Library version 1.42.8" -msgstr "" - -#: lib/ext2fs/ext2_err.c:12 -msgid "Wrong magic number for ext2_filsys structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:13 -msgid "Wrong magic number for badblocks_list structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:14 -msgid "Wrong magic number for badblocks_iterate structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:15 -msgid "Wrong magic number for inode_scan structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:16 -msgid "Wrong magic number for io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:17 -msgid "Wrong magic number for unix io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:18 -msgid "Wrong magic number for io_manager structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:19 -msgid "Wrong magic number for block_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:20 -msgid "Wrong magic number for inode_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:21 -msgid "Wrong magic number for generic_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:22 -msgid "Wrong magic number for test io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:23 -msgid "Wrong magic number for directory block list structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:24 -msgid "Wrong magic number for icount structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:25 -msgid "Wrong magic number for Powerquest io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:26 -msgid "Wrong magic number for ext2 file structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:27 -msgid "Wrong magic number for Ext2 Image Header" -msgstr "" - -#: lib/ext2fs/ext2_err.c:28 -msgid "Wrong magic number for inode io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:29 -msgid "Wrong magic number for ext4 extent handle" -msgstr "" - -#: lib/ext2fs/ext2_err.c:30 -#, fuzzy -msgid "Bad magic number in super-block" -msgstr "s'està llegint el súperbloc del registre de transaccions\n" - -#: lib/ext2fs/ext2_err.c:31 -msgid "Filesystem revision too high" -msgstr "" - -#: lib/ext2fs/ext2_err.c:32 -msgid "Attempt to write to filesystem opened read-only" -msgstr "" - -#: lib/ext2fs/ext2_err.c:33 -#, fuzzy -msgid "Can't read group descriptors" -msgstr ", descriptors de grup a " - -#: lib/ext2fs/ext2_err.c:34 -#, fuzzy -msgid "Can't write group descriptors" -msgstr ", descriptors de grup a " - -#: lib/ext2fs/ext2_err.c:35 -msgid "Corrupt group descriptor: bad block for block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:36 -msgid "Corrupt group descriptor: bad block for inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:37 -msgid "Corrupt group descriptor: bad block for inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:38 -#, fuzzy -msgid "Can't write an inode bitmap" -msgstr "en escriure el mapa de bits dels nodes-i" - -#: lib/ext2fs/ext2_err.c:39 -#, fuzzy -msgid "Can't read an inode bitmap" -msgstr "escriptura dels mapes de bits de bloc i de node-i" - -#: lib/ext2fs/ext2_err.c:40 -#, fuzzy -msgid "Can't write an block bitmap" -msgstr "en escriure el mapa de bits dels blocs" - -#: lib/ext2fs/ext2_err.c:41 -#, fuzzy -msgid "Can't read an block bitmap" -msgstr "en escriure el mapa de bits dels blocs" - -#: lib/ext2fs/ext2_err.c:42 -#, fuzzy -msgid "Can't write an inode table" -msgstr "en escriure la taula de nodes-i" - -#: lib/ext2fs/ext2_err.c:43 -#, fuzzy -msgid "Can't read an inode table" -msgstr "Escaneig de la taula de nodes-i" - -#: lib/ext2fs/ext2_err.c:44 -msgid "Can't read next inode" -msgstr "" - -#: lib/ext2fs/ext2_err.c:45 -#, fuzzy -msgid "Filesystem has unexpected block size" -msgstr "La mida del sistema de fitxers és més gran que la mida aparent del dispositiu." - -#: lib/ext2fs/ext2_err.c:46 -msgid "EXT2 directory corrupted" -msgstr "" - -#: lib/ext2fs/ext2_err.c:47 -msgid "Attempt to read block from filesystem resulted in short read" -msgstr "" - -#: lib/ext2fs/ext2_err.c:48 -msgid "Attempt to write block to filesystem resulted in short write" -msgstr "" - -#: lib/ext2fs/ext2_err.c:49 -msgid "No free space in the directory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:50 -#, fuzzy -msgid "Inode bitmap not loaded" -msgstr ", mapa de bits del node-i a " - -#: lib/ext2fs/ext2_err.c:51 -#, fuzzy -msgid "Block bitmap not loaded" -msgstr " Mapa de bits del bloc a " - -#: lib/ext2fs/ext2_err.c:52 -#, fuzzy -msgid "Illegal inode number" -msgstr "Nombre de blocs invàlid\n" +#~ msgid "@S doesn't have has_@j flag, but has ext3 @j %s.\n" +#~ msgstr "" +#~ "El @S no té un senyalador «has_journal» (té_@j), però té el @j ext3 %s.\n" -#: lib/ext2fs/ext2_err.c:53 -#, fuzzy -msgid "Illegal block number" -msgstr "Nombre de blocs invàlid\n" +#~ msgid "Error while deleting extent: %m\n" +#~ msgstr "S'ha produït un error suprimir l'extensió: %m\n" -#: lib/ext2fs/ext2_err.c:54 -msgid "Internal error in ext2fs_expand_dir" -msgstr "" +#~ msgid "Recreate journal to make the filesystem ext3 again?\n" +#~ msgstr "" +#~ "Voleu tornar a crear el jornal per a fer que el sistema de fitxers torni " +#~ "a ser ext3?\n" -#: lib/ext2fs/ext2_err.c:55 -msgid "Not enough space to build proposed filesystem" -msgstr "" +#~ msgid "while calling ext2fs_block_iterate" +#~ msgstr "en fer la crida a ext2fs_block_iterate" -#: lib/ext2fs/ext2_err.c:56 -msgid "Illegal block number passed to ext2fs_mark_block_bitmap" -msgstr "" +#~ msgid "while calling iterator function" +#~ msgstr "en fer la crida a la funció d'iteració" -#: lib/ext2fs/ext2_err.c:57 -msgid "Illegal block number passed to ext2fs_unmark_block_bitmap" -msgstr "" +#~ msgid "while allocating inode buffer" +#~ msgstr "en ubicar la memòria intermèdia per al node-i" -#: lib/ext2fs/ext2_err.c:58 -msgid "Illegal block number passed to ext2fs_test_block_bitmap" -msgstr "" +#~ msgid "while reading inode table (group %d)" +#~ msgstr "en llegir la taula dels nodes-i (grup %d)" -#: lib/ext2fs/ext2_err.c:59 -msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap" -msgstr "" +#~ msgid "while writing inode table (group %d)" +#~ msgstr "en escriure la taula dels nodes-i (grup %d)" -#: lib/ext2fs/ext2_err.c:60 -msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap" -msgstr "" +#~ msgid "%s: Filesystem byte order already normalized.\n" +#~ msgstr "" +#~ "%s: l'ordre dels bytes del sistema de fitxers ja està normalitzat.\n" -#: lib/ext2fs/ext2_err.c:61 -msgid "Illegal inode number passed to ext2fs_test_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:62 -msgid "Attempt to fudge end of block bitmap past the real end" -msgstr "" - -#: lib/ext2fs/ext2_err.c:63 -msgid "Attempt to fudge end of inode bitmap past the real end" -msgstr "" - -#: lib/ext2fs/ext2_err.c:64 -#, fuzzy -msgid "Illegal indirect block found" -msgstr "s'estan llegint els blocs indirectes del node-i %u" - -#: lib/ext2fs/ext2_err.c:65 -#, fuzzy -msgid "Illegal doubly indirect block found" -msgstr "s'estan llegint els blocs indirectes del node-i %u" - -#: lib/ext2fs/ext2_err.c:66 -#, fuzzy -msgid "Illegal triply indirect block found" -msgstr "s'estan llegint els blocs indirectes del node-i %u" - -#: lib/ext2fs/ext2_err.c:67 -#, fuzzy -msgid "Block bitmaps are not the same" -msgstr " Mapa de bits del bloc a " - -#: lib/ext2fs/ext2_err.c:68 -#, fuzzy -msgid "Inode bitmaps are not the same" -msgstr ", mapa de bits del node-i a " - -#: lib/ext2fs/ext2_err.c:69 -msgid "Illegal or malformed device name" -msgstr "" - -#: lib/ext2fs/ext2_err.c:70 -msgid "A block group is missing an inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:71 -msgid "The ext2 superblock is corrupt" -msgstr "" - -#: lib/ext2fs/ext2_err.c:72 -msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:73 -msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:74 -msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:75 -msgid "Too many symbolic links encountered." -msgstr "" - -#: lib/ext2fs/ext2_err.c:76 -msgid "The callback function will not handle this case" -msgstr "" - -#: lib/ext2fs/ext2_err.c:77 -msgid "The inode is from a bad block in the inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:78 -#, fuzzy -msgid "Filesystem has unsupported feature(s)" -msgstr "%s té funcionalitats no implementades:" - -#: lib/ext2fs/ext2_err.c:79 -#, fuzzy -msgid "Filesystem has unsupported read-only feature(s)" -msgstr "%s té funcionalitats no implementades:" - -#: lib/ext2fs/ext2_err.c:80 -msgid "IO Channel failed to seek on read or write" -msgstr "" - -#: lib/ext2fs/ext2_err.c:81 -#, fuzzy -msgid "Memory allocation failed" -msgstr "Aerror en la ubicació" - -#: lib/ext2fs/ext2_err.c:82 -msgid "Invalid argument passed to ext2 library" -msgstr "" - -#: lib/ext2fs/ext2_err.c:83 -#, fuzzy -msgid "Could not allocate block in ext2 filesystem" -msgstr "No s'ha pogut assignar memòria per al sistema de fitxers\n" - -#: lib/ext2fs/ext2_err.c:84 -#, fuzzy -msgid "Could not allocate inode in ext2 filesystem" -msgstr "No s'ha pogut assignar memòria per al sistema de fitxers\n" - -#: lib/ext2fs/ext2_err.c:85 -msgid "Ext2 inode is not a directory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:86 -msgid "Too many references in table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:87 -msgid "File not found by ext2_lookup" -msgstr "" - -#: lib/ext2fs/ext2_err.c:88 -msgid "File open read-only" -msgstr "" - -#: lib/ext2fs/ext2_err.c:89 -#, fuzzy -msgid "Ext2 directory block not found" -msgstr "El bloc de directori %u (#%d) en el node-i %u és buit\n" - -#: lib/ext2fs/ext2_err.c:90 -msgid "Ext2 directory already exists" -msgstr "" - -#: lib/ext2fs/ext2_err.c:91 -msgid "Unimplemented ext2 library function" -msgstr "" - -#: lib/ext2fs/ext2_err.c:92 -msgid "User cancel requested" -msgstr "" - -#: lib/ext2fs/ext2_err.c:93 -msgid "Ext2 file too big" -msgstr "" - -#: lib/ext2fs/ext2_err.c:94 -#, fuzzy -msgid "Supplied journal device not a block device" -msgstr "Mida de bloc del dispositiu de registre de transaccions a utilitzar: %d\n" - -#: lib/ext2fs/ext2_err.c:95 -#, fuzzy -msgid "Journal superblock not found" -msgstr "No s'ha trobat el súperbloc del registre de transaccions\n" - -#: lib/ext2fs/ext2_err.c:96 -msgid "Journal must be at least 1024 blocks" -msgstr "" - -#: lib/ext2fs/ext2_err.c:97 -msgid "Unsupported journal version" -msgstr "" - -#: lib/ext2fs/ext2_err.c:98 -#, fuzzy -msgid "Error loading external journal" -msgstr "en intentar obrir el registre de transaccions extern" - -#: lib/ext2fs/ext2_err.c:99 -#, fuzzy -msgid "Journal not found" -msgstr "No s'ha trobat el súperbloc del registre de transaccions\n" - -#: lib/ext2fs/ext2_err.c:100 -msgid "Directory hash unsupported" -msgstr "" - -#: lib/ext2fs/ext2_err.c:101 -#, fuzzy -msgid "Illegal extended attribute block number" -msgstr "aatribut ampliat" - -#: lib/ext2fs/ext2_err.c:102 -msgid "Cannot create filesystem with requested number of inodes" -msgstr "" - -#: lib/ext2fs/ext2_err.c:103 -msgid "E2image snapshot not in use" -msgstr "" - -#: lib/ext2fs/ext2_err.c:104 -#, fuzzy -msgid "Too many reserved group descriptor blocks" -msgstr "" - -#: lib/ext2fs/ext2_err.c:105 -msgid "Resize inode is corrupt" -msgstr "" - -#: lib/ext2fs/ext2_err.c:106 -msgid "Tried to set block bmap with missing indirect block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:107 -msgid "TDB: Success" -msgstr "" - -#: lib/ext2fs/ext2_err.c:108 -msgid "TDB: Corrupt database" -msgstr "" - -#: lib/ext2fs/ext2_err.c:109 -msgid "TDB: IO Error" -msgstr "" - -#: lib/ext2fs/ext2_err.c:110 -msgid "TDB: Locking error" -msgstr "" - -#: lib/ext2fs/ext2_err.c:111 -msgid "TDB: Out of memory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:112 -msgid "TDB: Record exists" -msgstr "" - -#: lib/ext2fs/ext2_err.c:113 -msgid "TDB: Lock exists on other keys" -msgstr "" - -#: lib/ext2fs/ext2_err.c:114 -#, fuzzy -msgid "TDB: Invalid parameter" -msgstr "Paràmetre de canvi de mida no vàlid: %s\n" - -#: lib/ext2fs/ext2_err.c:115 -msgid "TDB: Record does not exist" -msgstr "" - -#: lib/ext2fs/ext2_err.c:116 -msgid "TDB: Write not permitted" -msgstr "" - -#: lib/ext2fs/ext2_err.c:117 -msgid "Ext2fs directory block list is empty" -msgstr "" - -#: lib/ext2fs/ext2_err.c:118 -msgid "Attempt to modify a block mapping via a read-only block iterator" -msgstr "" - -#: lib/ext2fs/ext2_err.c:119 -msgid "Wrong magic number for ext4 extent saved path" -msgstr "" - -#: lib/ext2fs/ext2_err.c:120 -msgid "Wrong magic number for 64-bit generic bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:121 -msgid "Wrong magic number for 64-bit block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:122 -msgid "Wrong magic number for 64-bit inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:123 -msgid "Wrong magic number --- RESERVED_13" -msgstr "" - -#: lib/ext2fs/ext2_err.c:124 -msgid "Wrong magic number --- RESERVED_14" -msgstr "" - -#: lib/ext2fs/ext2_err.c:125 -msgid "Wrong magic number --- RESERVED_15" -msgstr "" - -#: lib/ext2fs/ext2_err.c:126 -msgid "Wrong magic number --- RESERVED_16" -msgstr "" - -#: lib/ext2fs/ext2_err.c:127 -msgid "Wrong magic number --- RESERVED_17" -msgstr "" - -#: lib/ext2fs/ext2_err.c:128 -msgid "Wrong magic number --- RESERVED_18" -msgstr "" - -#: lib/ext2fs/ext2_err.c:129 -msgid "Wrong magic number --- RESERVED_19" -msgstr "" - -#: lib/ext2fs/ext2_err.c:130 -msgid "Corrupt extent header" -msgstr "" - -#: lib/ext2fs/ext2_err.c:131 -msgid "Corrupt extent index" -msgstr "" - -#: lib/ext2fs/ext2_err.c:132 -msgid "Corrupt extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:133 -msgid "No free space in extent map" -msgstr "" - -#: lib/ext2fs/ext2_err.c:134 -msgid "Inode does not use extents" -msgstr "" - -# http://en.wikipedia.org/wiki/Extent_(file_systems). Hi ha la ubicació basada en blocs i la ubicació basada en «extents» (dpm). -#: lib/ext2fs/ext2_err.c:135 -#, fuzzy -msgid "No 'next' extent" -msgstr "xextensió" - -#: lib/ext2fs/ext2_err.c:136 -msgid "No 'previous' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:137 -msgid "No 'up' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:138 -msgid "No 'down' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:139 -msgid "No current node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:140 -msgid "Ext2fs operation not supported" -msgstr "" - -#: lib/ext2fs/ext2_err.c:141 -msgid "No room to insert extent in node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:142 -msgid "Splitting would result in empty node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:143 -#, fuzzy -msgid "Extent not found" -msgstr "No s'ha trobat /@l. " - -#: lib/ext2fs/ext2_err.c:144 -msgid "Operation not supported for inodes containing extents" -msgstr "" - -#: lib/ext2fs/ext2_err.c:145 -msgid "Extent length is invalid" -msgstr "" - -#: lib/ext2fs/ext2_err.c:146 -msgid "I/O Channel does not support 64-bit block numbers" -msgstr "" - -#: lib/ext2fs/ext2_err.c:147 -msgid "Can't check if filesystem is mounted due to missing mtab file" -msgstr "" - -#: lib/ext2fs/ext2_err.c:148 -msgid "Filesystem too large to use legacy bitmaps" -msgstr "" - -#: lib/ext2fs/ext2_err.c:149 -msgid "MMP: invalid magic number" -msgstr "" - -#: lib/ext2fs/ext2_err.c:150 -msgid "MMP: device currently active" -msgstr "" - -#: lib/ext2fs/ext2_err.c:151 -msgid "MMP: fsck being run" -msgstr "" - -#: lib/ext2fs/ext2_err.c:152 -msgid "MMP: block number beyond filesystem range" -msgstr "" - -#: lib/ext2fs/ext2_err.c:153 -msgid "MMP: undergoing an unknown operation" -msgstr "" - -#: lib/ext2fs/ext2_err.c:154 -msgid "MMP: filesystem still in use" -msgstr "" - -#: lib/ext2fs/ext2_err.c:155 -msgid "MMP: open with O_DIRECT failed" -msgstr "" - -#: lib/ext2fs/ext2_err.c:156 -#, fuzzy -msgid "Block group descriptor size incorrect" -msgstr "" - -#: lib/ext2fs/ext2_err.c:157 -msgid "Inode checksum does not match inode" -msgstr "" - -#: lib/ext2fs/ext2_err.c:158 -msgid "Inode bitmap checksum does not match bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:159 -msgid "Extent block checksum does not match extent block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:160 -msgid "Directory block does not have space for checksum" -msgstr "" - -#: lib/ext2fs/ext2_err.c:161 -msgid "Directory block checksum does not match directory block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:162 -msgid "Extended attribute block checksum does not match block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:163 -#, fuzzy -msgid "Superblock checksum does not match superblock" -msgstr "Còpies de seguretat del superbloc desades en els blocs: " - -#: lib/ext2fs/ext2_err.c:164 -msgid "Unknown checksum algorithm" -msgstr "" - -#: lib/ext2fs/ext2_err.c:165 -msgid "MMP block checksum does not match MMP block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:166 -msgid "Ext2 file already exists" -msgstr "" - -#: e2fsck/prof_err.c:11 -msgid "Profile version 0.0" -msgstr "" - -#: e2fsck/prof_err.c:12 -msgid "Bad magic value in profile_node" -msgstr "" - -#: e2fsck/prof_err.c:13 -#, fuzzy -msgid "Profile section not found" -msgstr "en crear /lost+found" - -#: e2fsck/prof_err.c:14 -#, fuzzy -msgid "Profile relation not found" -msgstr "en crear /lost+found" - -#: e2fsck/prof_err.c:15 -msgid "Attempt to add a relation to node which is not a section" -msgstr "" - -#: e2fsck/prof_err.c:16 -msgid "A profile section header has a non-zero value" -msgstr "" - -#: e2fsck/prof_err.c:17 -msgid "Bad linked list in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:18 -msgid "Bad group level in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:19 -msgid "Bad parent pointer in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:20 -msgid "Bad magic value in profile iterator" -msgstr "" - -#: e2fsck/prof_err.c:21 -msgid "Can't set value on section node" -msgstr "" - -#: e2fsck/prof_err.c:22 -msgid "Invalid argument passed to profile library" -msgstr "" - -#: e2fsck/prof_err.c:23 -msgid "Attempt to modify read-only profile" -msgstr "" - -#: e2fsck/prof_err.c:24 -msgid "Profile section header not at top level" -msgstr "" - -#: e2fsck/prof_err.c:25 -msgid "Syntax error in profile section header" -msgstr "" - -#: e2fsck/prof_err.c:26 -msgid "Syntax error in profile relation" -msgstr "" - -#: e2fsck/prof_err.c:27 -msgid "Extra closing brace in profile" -msgstr "" - -#: e2fsck/prof_err.c:28 -msgid "Missing open brace in profile" -msgstr "" - -#: e2fsck/prof_err.c:29 -msgid "Bad magic value in profile_t" -msgstr "" - -#: e2fsck/prof_err.c:30 -msgid "Bad magic value in profile_section_t" -msgstr "" - -#: e2fsck/prof_err.c:31 -msgid "Iteration through all top level section not supported" -msgstr "" - -#: e2fsck/prof_err.c:32 -#, fuzzy -msgid "Invalid profile_section object" -msgstr "S'ha definit una opció del sistema de fitxers no vàlida: %s\n" - -#: e2fsck/prof_err.c:33 -msgid "No more sections" -msgstr "" - -#: e2fsck/prof_err.c:34 -msgid "Bad nameset passed to query routine" -msgstr "" - -#: e2fsck/prof_err.c:35 -msgid "No profile file open" -msgstr "" - -#: e2fsck/prof_err.c:36 -msgid "Bad magic value in profile_file_t" -msgstr "" - -#: e2fsck/prof_err.c:37 -#, fuzzy -msgid "Couldn't open profile file" -msgstr "No s'ha pogut clonar el fitxer: %m\n" - -#: e2fsck/prof_err.c:38 -msgid "Section already exists" -msgstr "" - -#: e2fsck/prof_err.c:39 -msgid "Invalid boolean value" -msgstr "" - -#: e2fsck/prof_err.c:40 -msgid "Invalid integer value" -msgstr "" - -#: e2fsck/prof_err.c:41 -msgid "Bad magic value in profile_file_data_t" -msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "@S doesn't have has_@j flag, but has ext3 @j %s.\n" -#~ msgstr "El @S no té un senyalador «has_journal» (té_@j), però té el @j ext3 %s.\n" - -#~ msgid "Error while deleting extent: %m\n" -#~ msgstr "S'ha produït un error suprimir l'extensió: %m\n" - -#~ msgid "Recreate journal to make the filesystem ext3 again?\n" -#~ msgstr "Voleu tornar a crear el jornal per a fer que el sistema de fitxers torni a ser ext3?\n" - -#~ msgid "%s is mounted. " -#~ msgstr "%s està muntat. " - -#~ msgid "Couldn't determine journal size" -#~ msgstr "No s'ha pogut determinar la mida del registre de canvis" - -#~ msgid "bad block size - %s" -#~ msgstr "mida del bloc erroni - %s" - -#~ msgid "invalid fragment size - %s" -#~ msgstr "mida de fragment invàlida - %s" - -#~ msgid "Warning: fragments not supported. Ignoring -f option\n" -#~ msgstr "Avís: els fragments no són compatibles. S'ignorarà l'opció -f\n" - -#~ msgid "Journal NOT removed\n" -#~ msgstr "NO s'ha suprimit el registre de transaccions\n" - -#~ msgid "#\t\t %u -> %u (%d)\n" -#~ msgstr "#\t\t %u -> %u (%d)\n" - -#~ msgid "" -#~ "%s: The combination of flex_bg and\n" -#~ "\t!resize_inode features is not supported by resize2fs.\n" -#~ msgstr "" -#~ "%s: la combinació de les funcions flex_bg i\n" -#~ "\t!resize_inode no és compatible amb el resize2fs.\n" - -#~ msgid "while calling ext2fs_block_iterate" -#~ msgstr "en fer la crida a ext2fs_block_iterate" - -#~ msgid "while calling iterator function" -#~ msgstr "en fer la crida a la funció d'iteració" - -#~ msgid "while allocating inode buffer" -#~ msgstr "en ubicar la memòria intermèdia per al node-i" - -#~ msgid "while reading inode table (group %d)" -#~ msgstr "en llegir la taula dels nodes-i (grup %d)" - -#~ msgid "while writing inode table (group %d)" -#~ msgstr "en escriure la taula dels nodes-i (grup %d)" - -#~ msgid "%s: Filesystem byte order already normalized.\n" -#~ msgstr "%s: l'ordre dels bytes del sistema de fitxers ja està normalitzat.\n" +#~ msgid "invalid test_pattern: %s\n" +#~ msgstr "el patró_de_prova no és vàlid: %s\n" #~ msgid "invalid starting block - %s" #~ msgstr "bloc d'inici no vàlid - %s" diff --git a/po/cs.gmo b/po/cs.gmo index 5c7c07fe..9d39ddde 100644 Binary files a/po/cs.gmo and b/po/cs.gmo differ diff --git a/po/cs.po b/po/cs.po index 1879fd42..0e24de9d 100644 --- a/po/cs.po +++ b/po/cs.po @@ -2,7 +2,7 @@ # Copyright (C) 2008 Theodore Tso (msgids) # This file is distributed under the same license as the e2fsprogs package. # Miloslav Trmac , 2003. -# Petr Pisar , 2008, 2009, 2010, 2011, 2012, 2013. +# Petr Pisar , 2008, 2009, 2010. # #. 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, @@ -64,377 +64,378 @@ #. msgid "" msgstr "" -"Project-Id-Version: e2fsprogs 1.42.8\n" +"Project-Id-Version: e2fsprogs 1.41.12\n" "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n" -"POT-Creation-Date: 2013-06-16 08:17-0400\n" -"PO-Revision-Date: 2013-11-26 17:10+0100\n" +"POT-Creation-Date: 2010-05-17 23:05-0400\n" +"PO-Revision-Date: 2010-05-27 20:31+0200\n" "Last-Translator: Petr Pisar \n" "Language-Team: Czech \n" -"Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: e2fsck/badblocks.c:23 misc/mke2fs.c:180 +#: e2fsck/badblocks.c:22 misc/mke2fs.c:169 #, c-format msgid "Bad block %u out of range; ignored.\n" msgstr "Å patný blok %u mimo rozsah; ignorován.\n" -#: e2fsck/badblocks.c:46 +#: e2fsck/badblocks.c:45 msgid "while sanity checking the bad blocks inode" msgstr "pÅ™i kontrole správnosti iuzlu Å¡patných bloků" -#: e2fsck/badblocks.c:58 +#: e2fsck/badblocks.c:57 msgid "while reading the bad blocks inode" msgstr "pÅ™i Ätení iuzlu Å¡patných bloků" -#: e2fsck/badblocks.c:72 e2fsck/iscan.c:110 e2fsck/scantest.c:107 -#: e2fsck/unix.c:1332 e2fsck/unix.c:1420 misc/badblocks.c:1214 -#: misc/badblocks.c:1222 misc/badblocks.c:1236 misc/badblocks.c:1248 -#: misc/dumpe2fs.c:588 misc/e2image.c:1196 misc/e2image.c:1324 -#: misc/e2image.c:1337 misc/mke2fs.c:196 misc/tune2fs.c:1907 resize/main.c:315 +#: e2fsck/badblocks.c:71 e2fsck/iscan.c:112 e2fsck/scantest.c:109 +#: e2fsck/unix.c:1083 e2fsck/unix.c:1166 misc/badblocks.c:1155 +#: misc/badblocks.c:1163 misc/badblocks.c:1177 misc/badblocks.c:1189 +#: misc/dumpe2fs.c:552 misc/e2image.c:583 misc/e2image.c:679 +#: misc/e2image.c:695 misc/mke2fs.c:185 misc/tune2fs.c:1573 resize/main.c:310 #, c-format msgid "while trying to open %s" msgstr "pÅ™i pokusu otevřít %s" -#: e2fsck/badblocks.c:83 +#: e2fsck/badblocks.c:82 #, c-format msgid "while trying popen '%s'" msgstr "pÅ™i pokusu popen „%s“" -#: e2fsck/badblocks.c:94 misc/mke2fs.c:203 +#: e2fsck/badblocks.c:93 misc/mke2fs.c:192 msgid "while reading in list of bad blocks from file" msgstr "pÅ™i naÄítání seznamu Å¡patných bloků ze souboru" -#: e2fsck/badblocks.c:105 +#: e2fsck/badblocks.c:104 msgid "while updating bad block inode" msgstr "pÅ™i aktualizaci iuzlu Å¡patných bloků" -#: e2fsck/badblocks.c:131 +#: e2fsck/badblocks.c:130 #, c-format msgid "Warning: illegal block %u found in bad block inode. Cleared.\n" msgstr "Varování: v iuzlu Å¡patných bloků nalezen nepovolený blok %u. Vymazán.\n" -#: e2fsck/ehandler.c:55 +#: e2fsck/ehandler.c:54 #, c-format msgid "Error reading block %lu (%s) while %s. " -msgstr "Chyba pÅ™i Ätení bloku %lu (%s) bÄ›hem %s. " +msgstr "Chyba pÅ™i Ätení bloku %lu (%s) pÅ™i %s. " -#: e2fsck/ehandler.c:58 +#: e2fsck/ehandler.c:57 #, c-format msgid "Error reading block %lu (%s). " msgstr "Chyba pÅ™i Ätení bloku %lu (%s). " -#: e2fsck/ehandler.c:61 e2fsck/ehandler.c:110 +#: e2fsck/ehandler.c:60 e2fsck/ehandler.c:109 msgid "Ignore error" msgstr "Ignorovat chybu" -#: e2fsck/ehandler.c:62 +#: e2fsck/ehandler.c:61 msgid "Force rewrite" msgstr "Vynutit pÅ™epsání" -#: e2fsck/ehandler.c:104 +#: e2fsck/ehandler.c:103 #, c-format msgid "Error writing block %lu (%s) while %s. " msgstr "Chyba pÅ™i zápisu bloku %lu (%s) pÅ™i %s. " -#: e2fsck/ehandler.c:107 +#: e2fsck/ehandler.c:106 #, c-format msgid "Error writing block %lu (%s). " msgstr "Chyba pÅ™i zápisu bloku %lu (%s). " -#: e2fsck/emptydir.c:57 +#: e2fsck/emptydir.c:56 msgid "empty dirblocks" msgstr "prázdné bloky adresářů" -#: e2fsck/emptydir.c:62 +#: e2fsck/emptydir.c:61 msgid "empty dir map" msgstr "mapa prázdných adresářů" -#: e2fsck/emptydir.c:98 +#: e2fsck/emptydir.c:97 #, c-format msgid "Empty directory block %u (#%d) in inode %u\n" msgstr "Prázdný blok adresáře %u (#%d) v iuzlu %u\n" -#: e2fsck/extend.c:22 +#: e2fsck/extend.c:21 #, c-format msgid "%s: %s filename nblocks blocksize\n" msgstr "%s: %s název_souboru p_bloků velikost_bloku\n" -#: e2fsck/extend.c:44 +#: e2fsck/extend.c:43 #, c-format msgid "Illegal number of blocks!\n" msgstr "Neplatný poÄet bloků!\n" -#: e2fsck/extend.c:50 +#: e2fsck/extend.c:49 #, c-format msgid "Couldn't allocate block buffer (size=%d)\n" msgstr "Nemohu alokovat vyrovnávací paměť bloku (velikost=%d)\n" -#: e2fsck/flushb.c:35 +#: e2fsck/flushb.c:34 #, c-format msgid "Usage: %s disk\n" msgstr "Použití: %s disk\n" -#: e2fsck/flushb.c:64 +#: e2fsck/flushb.c:63 #, c-format msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n" msgstr "" "ioctl BLKFLSBUF nepodporováno! Nemohu synchronizovat vyrovnávací pamÄ›ti.\n" "\n" -#: e2fsck/iscan.c:44 +#: e2fsck/iscan.c:46 #, c-format msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n" msgstr "Použití: %s [-F] [-I bloky_inode_bufferů] zařízení\n" -#: e2fsck/iscan.c:81 e2fsck/unix.c:961 +#: e2fsck/iscan.c:83 e2fsck/unix.c:838 #, c-format msgid "while opening %s for flushing" msgstr "pÅ™i otevírání %s pro synchronizaci" -#: e2fsck/iscan.c:86 e2fsck/unix.c:967 resize/main.c:288 +#: e2fsck/iscan.c:88 e2fsck/unix.c:844 resize/main.c:286 #, c-format msgid "while trying to flush %s" msgstr "pÅ™i pokusu synchronizovat %s" -#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1091 +#: e2fsck/iscan.c:121 e2fsck/scantest.c:116 misc/e2image.c:489 msgid "while opening inode scan" msgstr "pÅ™i zahájení průchodu iuzly" -#: e2fsck/iscan.c:127 misc/e2image.c:1109 +#: e2fsck/iscan.c:129 misc/e2image.c:507 msgid "while getting next inode" msgstr "pÅ™i získávání dalšího iuzlu" -#: e2fsck/iscan.c:136 +#: e2fsck/iscan.c:138 #, c-format msgid "%u inodes scanned.\n" msgstr "prozkoumáno %u iuzlů.\n" -#: e2fsck/journal.c:522 +#: e2fsck/journal.c:507 msgid "reading journal superblock\n" msgstr "Ätení superbloku žurnálu\n" -#: e2fsck/journal.c:579 +#: e2fsck/journal.c:564 #, c-format msgid "%s: no valid journal superblock found\n" msgstr "%s: nenalezen platný superblok žurnálu\n" -#: e2fsck/journal.c:588 +#: e2fsck/journal.c:573 #, c-format msgid "%s: journal too short\n" msgstr "%s: žurnál příliÅ¡ krátký\n" -#: e2fsck/journal.c:880 +#: e2fsck/journal.c:860 #, c-format msgid "%s: recovering journal\n" -msgstr "%s: obnovuje se žurnál\n" +msgstr "%s: obnovuji žurnál\n" -#: e2fsck/journal.c:882 +#: e2fsck/journal.c:862 #, c-format msgid "%s: won't do journal recovery while read-only\n" -msgstr "%s: v režimu jen pro Ätení se žurnál obnovovat nebude\n" +msgstr "%s: nebudu obnovovat žurnál v režimu jen pro Ätení\n" -#: e2fsck/journal.c:909 +#: e2fsck/journal.c:887 #, c-format msgid "while trying to re-open %s" msgstr "pÅ™i pokusu znovu otevřít %s" # These shortcuts are a nightmare. -#: e2fsck/message.c:113 +#: e2fsck/message.c:111 msgid "aextended attribute" msgstr "arozšířený atribut" -#: e2fsck/message.c:114 +#: e2fsck/message.c:112 msgid "Aerror allocating" msgstr "Achyba pÅ™i alokaci" -#: e2fsck/message.c:115 +#: e2fsck/message.c:113 msgid "bblock" msgstr "bblok" -#: e2fsck/message.c:116 +#: e2fsck/message.c:114 msgid "Bbitmap" msgstr "Bbitmap" -#: e2fsck/message.c:117 +#: e2fsck/message.c:115 msgid "ccompress" msgstr "ckomprimovat" -#: e2fsck/message.c:118 +#: e2fsck/message.c:116 msgid "Cconflicts with some other fs @b" msgstr "Ckoliduje s jiným blokem systému souborů" -#: e2fsck/message.c:119 +#: e2fsck/message.c:117 msgid "iinode" msgstr "iinode" -#: e2fsck/message.c:120 +#: e2fsck/message.c:118 msgid "Iillegal" msgstr "Inepovolen" -#: e2fsck/message.c:121 +#: e2fsck/message.c:119 msgid "jjournal" msgstr "jžurnál" -#: e2fsck/message.c:122 +#: e2fsck/message.c:120 msgid "Ddeleted" msgstr "DodstranÄ›n" -#: e2fsck/message.c:123 +#: e2fsck/message.c:121 msgid "ddirectory" msgstr "dadresář" -#: e2fsck/message.c:124 +#: e2fsck/message.c:122 msgid "eentry" msgstr "epoložka" -#: e2fsck/message.c:125 +#: e2fsck/message.c:123 msgid "E@e '%Dn' in %p (%i)" msgstr "Epoložka „%Dn“ v %p (%i)" -#: e2fsck/message.c:126 +#: e2fsck/message.c:124 msgid "ffilesystem" msgstr "fsystém souborů" -#: e2fsck/message.c:127 +#: e2fsck/message.c:125 msgid "Ffor @i %i (%Q) is" msgstr "Fpro inode %i (%Q) je" -#: e2fsck/message.c:128 +#: e2fsck/message.c:126 msgid "ggroup" msgstr "gskupin" -#: e2fsck/message.c:129 +#: e2fsck/message.c:127 msgid "hHTREE @d @i" msgstr "hiuzel HTREE adresáře" -#: e2fsck/message.c:130 +#: e2fsck/message.c:128 msgid "llost+found" msgstr "llost+found" -#: e2fsck/message.c:131 +#: e2fsck/message.c:129 msgid "Lis a link" msgstr "Lje odkaz" -#: e2fsck/message.c:132 +#: e2fsck/message.c:130 msgid "mmultiply-claimed" msgstr "mvíce krát alokováno" -#: e2fsck/message.c:133 +#: e2fsck/message.c:131 msgid "ninvalid" msgstr "nneplatný" -#: e2fsck/message.c:134 +#: e2fsck/message.c:132 msgid "oorphaned" msgstr "oosiÅ™el" -#: e2fsck/message.c:135 +#: e2fsck/message.c:133 msgid "pproblem in" msgstr "pproblém v" -#: e2fsck/message.c:136 -msgid "qquota" -msgstr "qkvóta" - -#: e2fsck/message.c:137 +#: e2fsck/message.c:134 msgid "rroot @i" msgstr "rkoÅ™enový iuzel" -#: e2fsck/message.c:138 +#: e2fsck/message.c:135 msgid "sshould be" msgstr "smÄ›lo by být" -#: e2fsck/message.c:139 +#: e2fsck/message.c:136 msgid "Ssuper@b" msgstr "Ssuperblok" -#: e2fsck/message.c:140 +#: e2fsck/message.c:137 msgid "uunattached" msgstr "unepÅ™ipojen" -#: e2fsck/message.c:141 +#: e2fsck/message.c:138 msgid "vdevice" msgstr "vzařízení" -#: e2fsck/message.c:142 +#: e2fsck/message.c:139 msgid "xextent" msgstr "xrozsah" -#: e2fsck/message.c:143 +#: e2fsck/message.c:140 msgid "zzero-length" msgstr "znulové délky" -#: e2fsck/message.c:154 +#: e2fsck/message.c:151 msgid "" msgstr "" -#: e2fsck/message.c:155 +#: e2fsck/message.c:152 msgid "" msgstr "" -#: e2fsck/message.c:157 -msgid "" -msgstr "" +#: e2fsck/message.c:154 +msgid "" +msgstr "" -#: e2fsck/message.c:158 -msgid "" -msgstr "" +#: e2fsck/message.c:155 +msgid "" +msgstr "" -#: e2fsck/message.c:159 +#: e2fsck/message.c:156 msgid "" msgstr "" -#: e2fsck/message.c:160 +#: e2fsck/message.c:157 msgid "" msgstr "" -#: e2fsck/message.c:161 +#: e2fsck/message.c:158 msgid "" msgstr "" -#: e2fsck/message.c:162 +#: e2fsck/message.c:159 msgid "" msgstr "" -#: e2fsck/message.c:163 +#: e2fsck/message.c:160 msgid "" msgstr "" -#: e2fsck/message.c:164 +#: e2fsck/message.c:161 msgid "" msgstr "" -#: e2fsck/message.c:333 +#: e2fsck/message.c:330 +#, c-format msgid "regular file" msgstr "obyÄejný soubor" -#: e2fsck/message.c:335 +#: e2fsck/message.c:332 +#, c-format msgid "directory" msgstr "adresář" -#: e2fsck/message.c:337 +#: e2fsck/message.c:334 +#, c-format msgid "character device" msgstr "znakové zařízení" -#: e2fsck/message.c:339 +#: e2fsck/message.c:336 +#, c-format msgid "block device" msgstr "blokové zařízení" -#: e2fsck/message.c:341 +#: e2fsck/message.c:338 +#, c-format msgid "named pipe" msgstr "pojmenovaná roura" -#: e2fsck/message.c:343 +#: e2fsck/message.c:340 +#, c-format msgid "symbolic link" msgstr "symbolický odkaz" -#: e2fsck/message.c:345 misc/uuidd.c:161 +#: e2fsck/message.c:342 +#, c-format msgid "socket" msgstr "soket" -#: e2fsck/message.c:347 +#: e2fsck/message.c:344 #, c-format msgid "unknown file type with mode 0%o" msgstr "neznámý druh souboru o módu 0%o" @@ -464,308 +465,308 @@ msgstr "pÅ™ekladový blok" msgid "block #" msgstr "blok Ä." -#: e2fsck/pass1b.c:222 +#: e2fsck/pass1b.c:220 msgid "multiply claimed inode map" msgstr "mapa nÄ›kolikrát alokovaných iuzlů" -#: e2fsck/pass1b.c:610 e2fsck/pass1b.c:730 +#: e2fsck/pass1b.c:581 e2fsck/pass1b.c:714 #, c-format -msgid "internal error: can't find dup_blk for %llu\n" -msgstr "vnitÅ™ní chyba: nemohu najít dup_blk pro %llu\n" +msgid "internal error: can't find dup_blk for %u\n" +msgstr "vnitÅ™ní chyba: nemohu najít dup_blk pro %u\n" -#: e2fsck/pass1b.c:821 +#: e2fsck/pass1b.c:757 msgid "returned from clone_file_block" msgstr "vrácený z clone_file_block" -#: e2fsck/pass1b.c:843 +#: e2fsck/pass1b.c:776 #, c-format -msgid "internal error: couldn't lookup EA block record for %llu" -msgstr "VnitÅ™ní chyba: nemohu najít záznam EA bloku pro %llu" +msgid "internal error: couldn't lookup EA block record for %u" +msgstr "VnitÅ™ní chyba: nemohu najít záznam EA bloku pro %u" -#: e2fsck/pass1b.c:855 +#: e2fsck/pass1b.c:788 #, c-format msgid "internal error: couldn't lookup EA inode record for %u" msgstr "VnitÅ™ní chyba: nemohu najít záznam EA iuzlu pro %u" -#: e2fsck/pass1.c:475 e2fsck/pass2.c:782 +#: e2fsck/pass1.c:475 e2fsck/pass2.c:776 msgid "reading directory block" msgstr "Ätení adresářového bloku" -#: e2fsck/pass1.c:598 +#: e2fsck/pass1.c:597 msgid "in-use inode map" msgstr "mapa používaných iuzlů" -#: e2fsck/pass1.c:609 +#: e2fsck/pass1.c:606 msgid "directory inode map" msgstr "mapa iuzlů adresářů" -#: e2fsck/pass1.c:619 +#: e2fsck/pass1.c:614 msgid "regular file inode map" msgstr "mapa iuzlů obyÄejných souborů" -#: e2fsck/pass1.c:628 +#: e2fsck/pass1.c:621 msgid "in-use block map" msgstr "mapa používaných bloků" -#: e2fsck/pass1.c:695 +#: e2fsck/pass1.c:675 msgid "opening inode scan" msgstr "otevírání průzkumu iuzlů" -#: e2fsck/pass1.c:729 +#: e2fsck/pass1.c:699 msgid "getting next inode from scan" msgstr "získávání dalšího iuzlu z průzkumu" -#: e2fsck/pass1.c:1239 +#: e2fsck/pass1.c:1173 msgid "Pass 1" msgstr "Průchod 1" -#: e2fsck/pass1.c:1296 +#: e2fsck/pass1.c:1230 #, c-format msgid "reading indirect blocks of inode %u" msgstr "Ätu nepřímé bloky iuzlu %u" -#: e2fsck/pass1.c:1346 +#: e2fsck/pass1.c:1274 msgid "bad inode map" msgstr "mapa Å¡patných iuzlů" -#: e2fsck/pass1.c:1369 +#: e2fsck/pass1.c:1296 msgid "inode in bad block map" msgstr "iuzel v mapÄ› Å¡patných bloků" -#: e2fsck/pass1.c:1389 +#: e2fsck/pass1.c:1316 msgid "imagic inode map" msgstr "mapa imagic iuzlů" -#: e2fsck/pass1.c:1416 +#: e2fsck/pass1.c:1343 msgid "multiply claimed block map" msgstr "mapa nÄ›kolikrát alokovaných bloků" -#: e2fsck/pass1.c:1527 +#: e2fsck/pass1.c:1443 msgid "ext attr block map" msgstr "mapa bloků rozšířených atributů" -#: e2fsck/pass1.c:2299 +#: e2fsck/pass1.c:2181 #, c-format msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n" msgstr "%6lu(%c): oÄekáváno %6lu, obdrženo fyz. %6lu (bloků %lld)\n" -#: e2fsck/pass1.c:2660 +#: e2fsck/pass1.c:2533 msgid "block bitmap" msgstr "bitmapa bloků" -#: e2fsck/pass1.c:2666 +#: e2fsck/pass1.c:2537 msgid "inode bitmap" msgstr "bitmapa iuzlů" -#: e2fsck/pass1.c:2672 +#: e2fsck/pass1.c:2541 msgid "inode table" msgstr "tabulka iuzlů" -#: e2fsck/pass2.c:283 +#: e2fsck/pass2.c:277 msgid "Pass 2" msgstr "Průchod 2" -#: e2fsck/pass2.c:805 +#: e2fsck/pass2.c:799 msgid "Can not continue." msgstr "Nemohu pokraÄovat." -#: e2fsck/pass3.c:77 +#: e2fsck/pass3.c:76 msgid "inode done bitmap" msgstr "bitmapa hotových iuzlů" -#: e2fsck/pass3.c:86 +#: e2fsck/pass3.c:84 msgid "Peak memory" msgstr "Maximum pamÄ›ti" -#: e2fsck/pass3.c:136 +#: e2fsck/pass3.c:134 msgid "Pass 3" msgstr "Průchod 3" -#: e2fsck/pass3.c:322 +#: e2fsck/pass3.c:320 msgid "inode loop detection bitmap" msgstr "bitmapa detekce cyklů iuzlů" -#: e2fsck/pass4.c:196 +#: e2fsck/pass4.c:191 msgid "Pass 4" msgstr "Průchod 4" -#: e2fsck/pass5.c:74 +#: e2fsck/pass5.c:64 msgid "Pass 5" msgstr "Průchod 5" -#: e2fsck/problem.c:51 +#: e2fsck/problem.c:50 msgid "(no prompt)" msgstr "(žádná výzva)" -#: e2fsck/problem.c:52 +#: e2fsck/problem.c:51 msgid "Fix" msgstr "Opravit" -#: e2fsck/problem.c:53 +#: e2fsck/problem.c:52 msgid "Clear" msgstr "Vymazat" -#: e2fsck/problem.c:54 +#: e2fsck/problem.c:53 msgid "Relocate" msgstr "PÅ™emístit" -#: e2fsck/problem.c:55 +#: e2fsck/problem.c:54 msgid "Allocate" msgstr "Alokovat" -#: e2fsck/problem.c:56 +#: e2fsck/problem.c:55 msgid "Expand" msgstr "ZvÄ›tÅ¡it" -#: e2fsck/problem.c:57 +#: e2fsck/problem.c:56 msgid "Connect to /lost+found" msgstr "PÅ™ipojit do /lost+found" -#: e2fsck/problem.c:58 +#: e2fsck/problem.c:57 msgid "Create" msgstr "VytvoÅ™it" -#: e2fsck/problem.c:59 +#: e2fsck/problem.c:58 msgid "Salvage" msgstr "Zachránit" -#: e2fsck/problem.c:60 +#: e2fsck/problem.c:59 msgid "Truncate" msgstr "Useknout" -#: e2fsck/problem.c:61 +#: e2fsck/problem.c:60 msgid "Clear inode" msgstr "VyÄistit iuzel" -#: e2fsck/problem.c:62 +#: e2fsck/problem.c:61 msgid "Abort" msgstr "PÅ™eruÅ¡it" -#: e2fsck/problem.c:63 +#: e2fsck/problem.c:62 msgid "Split" msgstr "RozdÄ›lit" -#: e2fsck/problem.c:64 +#: e2fsck/problem.c:63 msgid "Continue" msgstr "PokraÄovat" -#: e2fsck/problem.c:65 +#: e2fsck/problem.c:64 msgid "Clone multiply-claimed blocks" msgstr "Klonovat více krát alokované bloky" -#: e2fsck/problem.c:66 +#: e2fsck/problem.c:65 msgid "Delete file" msgstr "Odstranit soubor" -#: e2fsck/problem.c:67 +#: e2fsck/problem.c:66 msgid "Suppress messages" msgstr "PotlaÄit zprávy" -#: e2fsck/problem.c:68 +#: e2fsck/problem.c:67 msgid "Unlink" msgstr "Odstranit odkaz" -#: e2fsck/problem.c:69 +#: e2fsck/problem.c:68 msgid "Clear HTree index" msgstr "Vymazat index HTree" -#: e2fsck/problem.c:70 +#: e2fsck/problem.c:69 msgid "Recreate" msgstr "Znovu vytvoÅ™it" -#: e2fsck/problem.c:79 +#: e2fsck/problem.c:78 msgid "(NONE)" msgstr "(ŽÃDNÃ)" -#: e2fsck/problem.c:80 +#: e2fsck/problem.c:79 msgid "FIXED" msgstr "OPRAVENO" -#: e2fsck/problem.c:81 +#: e2fsck/problem.c:80 msgid "CLEARED" msgstr "VYMAZÃNO" -#: e2fsck/problem.c:82 +#: e2fsck/problem.c:81 msgid "RELOCATED" msgstr "PŘEMÃSTÄšNO" -#: e2fsck/problem.c:83 +#: e2fsck/problem.c:82 msgid "ALLOCATED" msgstr "ALOKOVÃNO" -#: e2fsck/problem.c:84 +#: e2fsck/problem.c:83 msgid "EXPANDED" msgstr "ZVÄšTÅ ENO" -#: e2fsck/problem.c:85 +#: e2fsck/problem.c:84 msgid "RECONNECTED" msgstr "PŘIPOJENO" -#: e2fsck/problem.c:86 +#: e2fsck/problem.c:85 msgid "CREATED" msgstr "VYTVOŘENO" -#: e2fsck/problem.c:87 +#: e2fsck/problem.c:86 msgid "SALVAGED" msgstr "ZACHRÃNÄšNO" -#: e2fsck/problem.c:88 +#: e2fsck/problem.c:87 msgid "TRUNCATED" msgstr "USEKNUTO" -#: e2fsck/problem.c:89 +#: e2fsck/problem.c:88 msgid "INODE CLEARED" msgstr "INODE VYMAZÃNA" -#: e2fsck/problem.c:90 +#: e2fsck/problem.c:89 msgid "ABORTED" msgstr "PŘERUÅ ENO" -#: e2fsck/problem.c:91 +#: e2fsck/problem.c:90 msgid "SPLIT" msgstr "ROZDÄšLENO" -#: e2fsck/problem.c:92 +#: e2fsck/problem.c:91 msgid "CONTINUING" msgstr "POKRAÄŒUJI" -#: e2fsck/problem.c:93 +#: e2fsck/problem.c:92 msgid "MULTIPLY-CLAIMED BLOCKS CLONED" msgstr "VÃCE KRÃT ALOKOVANÉ BLOKU NAKLONOVÃNY" -#: e2fsck/problem.c:94 +#: e2fsck/problem.c:93 msgid "FILE DELETED" msgstr "SOUBOR ODSTRANÄšN" -#: e2fsck/problem.c:95 +#: e2fsck/problem.c:94 msgid "SUPPRESSED" msgstr "POTLAÄŒENO" -#: e2fsck/problem.c:96 +#: e2fsck/problem.c:95 msgid "UNLINKED" msgstr "ODKAZ ODSTRANÄšN" -#: e2fsck/problem.c:97 +#: e2fsck/problem.c:96 msgid "HTREE INDEX CLEARED" msgstr "INDEX HTREE VYMAZÃN" -#: e2fsck/problem.c:98 +#: e2fsck/problem.c:97 msgid "WILL RECREATE" msgstr "BUDE ZNOVU VYTVOŘENO" #. @-expanded: block bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:107 +#: e2fsck/problem.c:106 msgid "@b @B for @g %g is not in @g. (@b %b)\n" msgstr "Bitmapa bloků pro skupinu %g není ve skupinÄ›. (blok %b)\n" #. @-expanded: inode bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:111 +#: e2fsck/problem.c:110 msgid "@i @B for @g %g is not in @g. (@b %b)\n" msgstr "Bitmapa iuzlů pro skupinu %g není ve skupinÄ›. (blok %b)\n" #. @-expanded: inode table for group %g is not in group. (block %b)\n #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n -#: e2fsck/problem.c:116 +#: e2fsck/problem.c:115 msgid "" "@i table for @g %g is not in @g. (@b %b)\n" "WARNING: SEVERE DATA LOSS POSSIBLE.\n" @@ -780,7 +781,7 @@ msgstr "" #. @-expanded: is corrupt, and you might try running e2fsck with an alternate superblock:\n #. @-expanded: e2fsck -b %S \n #. @-expanded: \n -#: e2fsck/problem.c:122 +#: e2fsck/problem.c:121 #, c-format msgid "" "\n" @@ -802,7 +803,7 @@ msgstr "" #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n #. @-expanded: The physical size of the device is %c blocks\n #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n -#: e2fsck/problem.c:131 +#: e2fsck/problem.c:130 msgid "" "The @f size (according to the @S) is %b @bs\n" "The physical size of the @v is %c @bs\n" @@ -815,7 +816,7 @@ msgstr "" #. @-expanded: superblock block_size = %b, fragsize = %c.\n #. @-expanded: This version of e2fsck does not support fragment sizes different\n #. @-expanded: from the block size.\n -#: e2fsck/problem.c:138 +#: e2fsck/problem.c:137 msgid "" "@S @b_size = %b, fragsize = %c.\n" "This version of e2fsck does not support fragment sizes different\n" @@ -826,18 +827,18 @@ msgstr "" "od velikosti bloku.\n" #. @-expanded: superblock blocks_per_group = %b, should have been %c\n -#: e2fsck/problem.c:145 +#: e2fsck/problem.c:144 msgid "@S @bs_per_group = %b, should have been %c\n" msgstr "V superbloku blocks_per_group = %b, mÄ›lo by být %c\n" #. @-expanded: superblock first_data_block = %b, should have been %c\n -#: e2fsck/problem.c:150 +#: e2fsck/problem.c:149 msgid "@S first_data_@b = %b, should have been %c\n" msgstr "V superbloku first_data_block = %b, mÄ›lo by být %c\n" #. @-expanded: filesystem did not have a UUID; generating one.\n #. @-expanded: \n -#: e2fsck/problem.c:155 +#: e2fsck/problem.c:154 msgid "" "@f did not have a UUID; generating one.\n" "\n" @@ -845,7 +846,7 @@ msgstr "" "Systém souborů nemÄ›l UUID; generuji je.\n" "\n" -#: e2fsck/problem.c:160 +#: e2fsck/problem.c:159 #, c-format msgid "" "Note: if several inode or block bitmap blocks or part\n" @@ -864,48 +865,48 @@ msgstr "" "\n" #. @-expanded: Corruption found in superblock. (%s = %N).\n -#: e2fsck/problem.c:169 +#: e2fsck/problem.c:168 msgid "Corruption found in @S. (%s = %N).\n" msgstr "V superbloku nalezeno poÅ¡kození. (%s = %N).\n" #. @-expanded: Error determining size of the physical device: %m\n -#: e2fsck/problem.c:174 +#: e2fsck/problem.c:173 #, c-format msgid "Error determining size of the physical @v: %m\n" msgstr "Chyba pÅ™i zjiÅ¡Å¥ování velikosti fyzického zařízení: %m\n" #. @-expanded: inode count in superblock is %i, should be %j.\n -#: e2fsck/problem.c:179 +#: e2fsck/problem.c:178 msgid "@i count in @S is %i, @s %j.\n" msgstr "PoÄet iuzlů v superbloku je %i, mÄ›l by být %j.\n" -#: e2fsck/problem.c:183 +#: e2fsck/problem.c:182 msgid "The Hurd does not support the filetype feature.\n" msgstr "Hurd nepodporuje vlastnost filetype.\n" #. @-expanded: superblock has an invalid journal (inode %i).\n -#: e2fsck/problem.c:188 +#: e2fsck/problem.c:187 #, c-format msgid "@S has an @n @j (@i %i).\n" msgstr "Superblok má neplatný žurnál (iuzel %i).\n" #. @-expanded: External journal has multiple filesystem users (unsupported).\n -#: e2fsck/problem.c:193 +#: e2fsck/problem.c:192 msgid "External @j has multiple @f users (unsupported).\n" msgstr "Externí žurnál používá více systémů souborů (nepodporováno).\n" #. @-expanded: Can't find external journal\n -#: e2fsck/problem.c:198 +#: e2fsck/problem.c:197 msgid "Can't find external @j\n" msgstr "Nemohu nalézt externí žurnál\n" #. @-expanded: External journal has bad superblock\n -#: e2fsck/problem.c:203 +#: e2fsck/problem.c:202 msgid "External @j has bad @S\n" msgstr "Externí žurnál má Å¡patný superblok\n" #. @-expanded: External journal does not support this filesystem\n -#: e2fsck/problem.c:208 +#: e2fsck/problem.c:207 msgid "External @j does not support this @f\n" msgstr "Externí žurnál nepodporuje tento systém souborů\n" @@ -913,7 +914,7 @@ msgstr "Externí žurnál nepodporuje tento systém souborů\n" #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal #. @-expanded: format.\n #. @-expanded: It is also possible the journal superblock is corrupt.\n -#: e2fsck/problem.c:213 +#: e2fsck/problem.c:212 msgid "" "@f @j @S is unknown type %N (unsupported).\n" "It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n" @@ -924,81 +925,81 @@ msgstr "" "Je také možné, že superblok žurnálu je poÅ¡kozen.\n" #. @-expanded: journal superblock is corrupt.\n -#: e2fsck/problem.c:221 +#: e2fsck/problem.c:220 msgid "@j @S is corrupt.\n" msgstr "Superblok žurnálu je poÅ¡kozen.\n" #. @-expanded: superblock has_journal flag is clear, but a journal %s is present.\n -#: e2fsck/problem.c:226 +#: e2fsck/problem.c:225 #, c-format msgid "@S has_@j flag is clear, but a @j %s is present.\n" msgstr "Příznak superbloku has_journal (má_žurnál) není nastaven, avÅ¡ak žurnálový %s je přítomen.\n" #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n -#: e2fsck/problem.c:231 +#: e2fsck/problem.c:230 msgid "@S needs_recovery flag is set, but no @j is present.\n" msgstr "Superblok má nastaven příznak needs_recovery (potÅ™ebuje_obnovit), avÅ¡ak žádný žurnál neexistuje.\n" #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n -#: e2fsck/problem.c:236 +#: e2fsck/problem.c:235 msgid "@S needs_recovery flag is clear, but @j has data.\n" msgstr "Příznak superbloku needs_recovery (potÅ™ebuje_obnovit) není nastaven, avÅ¡ak žurnál obsahuje data.\n" #. @-expanded: Clear journal -#: e2fsck/problem.c:241 +#: e2fsck/problem.c:240 msgid "Clear @j" msgstr "Vymazat žurnál" #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. -#: e2fsck/problem.c:246 e2fsck/problem.c:695 +#: e2fsck/problem.c:245 e2fsck/problem.c:664 msgid "@f has feature flag(s) set, but is a revision 0 @f. " msgstr "Systém souborů má příznak(y) vlastností nastaveny, aÄkoliv se jedná o revizi 0. " #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n -#: e2fsck/problem.c:251 +#: e2fsck/problem.c:250 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" -msgstr "%s osiÅ™elý iuzel %i (uid=%Iu, gid=%Ig, práva=%Im, velikost=%Is)\n" +msgstr "%s osiÅ™elý iuzel %i (uid=%Iu, gid=%Ig, režim=%Im, velikost=%Is)\n" #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:256 +#: e2fsck/problem.c:255 msgid "@I %B (%b) found in @o @i %i.\n" msgstr "Neplatný %B (%b) nalezen v osiÅ™elém iuzlu %i.\n" #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:261 +#: e2fsck/problem.c:260 msgid "Already cleared %B (%b) found in @o @i %i.\n" msgstr "Již vymazaný %B (%b) nalezen v osiÅ™elém iuzlu %i.\n" #. @-expanded: illegal orphaned inode %i in superblock.\n -#: e2fsck/problem.c:266 +#: e2fsck/problem.c:265 #, c-format msgid "@I @o @i %i in @S.\n" msgstr "V superbloku neplatný osiÅ™elý iuzel %i.\n" #. @-expanded: illegal inode %i in orphaned inode list.\n -#: e2fsck/problem.c:271 +#: e2fsck/problem.c:270 #, c-format msgid "@I @i %i in @o @i list.\n" msgstr "Neplatný iuzel %i v seznamu osiÅ™elých iuzlů.\n" #. @-expanded: journal superblock has an unknown read-only feature flag set.\n -#: e2fsck/problem.c:276 +#: e2fsck/problem.c:275 msgid "@j @S has an unknown read-only feature flag set.\n" msgstr "Superblok žurnálu má nastaven příznak neznámé vlastnosti „jen pro Ätení“.\n" #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n -#: e2fsck/problem.c:281 +#: e2fsck/problem.c:280 msgid "@j @S has an unknown incompatible feature flag set.\n" msgstr "Superblok žurnálu má nastaven příznak neznámé vlastnosti „nekompatibilní“.\n" #. @-expanded: journal version not supported by this e2fsck.\n -#: e2fsck/problem.c:286 +#: e2fsck/problem.c:285 msgid "@j version not supported by this e2fsck.\n" msgstr "Verze žurnálu nepodporována tímto e2fsck.\n" #. @-expanded: Moving journal from /%s to hidden inode.\n #. @-expanded: \n -#: e2fsck/problem.c:291 +#: e2fsck/problem.c:290 #, c-format msgid "" "Moving @j from /%s to hidden @i.\n" @@ -1009,7 +1010,7 @@ msgstr "" #. @-expanded: Error moving journal: %m\n #. @-expanded: \n -#: e2fsck/problem.c:296 +#: e2fsck/problem.c:295 #, c-format msgid "" "Error moving @j: %m\n" @@ -1021,7 +1022,7 @@ msgstr "" #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n #. @-expanded: Clearing fields beyond the V1 journal superblock...\n #. @-expanded: \n -#: e2fsck/problem.c:301 +#: e2fsck/problem.c:300 msgid "" "Found @n V2 @j @S fields (from V1 @j).\n" "Clearing fields beyond the V1 @j @S...\n" @@ -1032,18 +1033,18 @@ msgstr "" "\n" #. @-expanded: Run journal anyway -#: e2fsck/problem.c:307 +#: e2fsck/problem.c:306 msgid "Run @j anyway" msgstr "PÅ™esto spustit žurnál" #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n -#: e2fsck/problem.c:312 +#: e2fsck/problem.c:311 msgid "Recovery flag not set in backup @S, so running @j anyway.\n" msgstr "Příznak obnovení není nastaven v záložním superbloku, takže pÅ™esto spouÅ¡tím žurnál.\n" #. @-expanded: Backing up journal inode block information.\n #. @-expanded: \n -#: e2fsck/problem.c:317 +#: e2fsck/problem.c:316 msgid "" "Backing up @j @i @b information.\n" "\n" @@ -1053,7 +1054,7 @@ msgstr "" #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n #. @-expanded: is %N; should be zero. -#: e2fsck/problem.c:322 +#: e2fsck/problem.c:321 msgid "" "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n" "is %N; @s zero. " @@ -1062,18 +1063,18 @@ msgstr "" "ale s_reserved_gdt_blocks je %N, aÄkoliv by mÄ›lo být nula." #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero. -#: e2fsck/problem.c:328 +#: e2fsck/problem.c:327 msgid "Resize_@i not enabled, but the resize @i is non-zero. " msgstr "Resize_inode není zapnuto, avÅ¡ak iuzel pro mÄ›nÄ›ní velikosti není nula." #. @-expanded: Resize inode not valid. -#: e2fsck/problem.c:333 +#: e2fsck/problem.c:332 msgid "Resize @i not valid. " -msgstr "Iuzel na mÄ›nÄ›ní velikosti není platný. " +msgstr "MÄ›nÄ›ní velikosti iuzlu není platné. " #. @-expanded: superblock last mount time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:338 +#: e2fsck/problem.c:337 msgid "" "@S last mount time (%t,\n" "\tnow = %T) is in the future.\n" @@ -1083,7 +1084,7 @@ msgstr "" #. @-expanded: superblock last write time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:343 +#: e2fsck/problem.c:342 msgid "" "@S last write time (%t,\n" "\tnow = %T) is in the future.\n" @@ -1092,14 +1093,14 @@ msgstr "" "\tnyní = %T) leží v budoucnosti.\n" #. @-expanded: superblock hint for external superblock should be %X. -#: e2fsck/problem.c:347 +#: e2fsck/problem.c:346 #, c-format msgid "@S hint for external superblock @s %X. " msgstr "NápovÄ›da superbloku pro externí superblok by mÄ›la být %X. " #. @-expanded: Adding dirhash hint to filesystem.\n #. @-expanded: \n -#: e2fsck/problem.c:352 +#: e2fsck/problem.c:351 msgid "" "Adding dirhash hint to @f.\n" "\n" @@ -1107,40 +1108,47 @@ msgstr "" "Do souborového systému pÅ™idávám nápovÄ›du pro dirhash.\n" "\n" -#. @-expanded: group descriptor %g checksum is %04x, should be %04y. -#: e2fsck/problem.c:357 -msgid "@g descriptor %g checksum is %04x, should be %04y. " -msgstr "Kontrolní souÄet deskriptoru skupiny %g je %04x, mÄ›l by být %04y. " +#. @-expanded: group descriptor %g checksum is invalid. +#: e2fsck/problem.c:356 +#, c-format +msgid "@g descriptor %g checksum is invalid. " +msgstr "Kontrolní souÄet deskriptoru skupiny %g je chybný. " #. @-expanded: group descriptor %g marked uninitialized without feature set.\n -#: e2fsck/problem.c:362 +#: e2fsck/problem.c:361 #, c-format msgid "@g descriptor %g marked uninitialized without feature set.\n" msgstr "Deskriptor skupiny %g oznaÄen jako neinicializovaný bez sady vlastností.\n" +#. @-expanded: group %g block bitmap uninitialized but inode bitmap in use.\n +#: e2fsck/problem.c:366 +#, c-format +msgid "@g %g @b @B uninitialized but @i @B in use.\n" +msgstr "Bitmapa bloků skupiny %g neinicializována, aÄkoliv bitmapa iuzlů je použita.\n" + #. @-expanded: group descriptor %g has invalid unused inodes count %b. -#: e2fsck/problem.c:367 +#: e2fsck/problem.c:371 msgid "@g descriptor %g has invalid unused inodes count %b. " msgstr "Deskriptor skupiny %g má neplatný poÄet nepoužitých bloků %b. " #. @-expanded: Last group block bitmap uninitialized. -#: e2fsck/problem.c:372 +#: e2fsck/problem.c:376 msgid "Last @g @b @B uninitialized. " msgstr "Poslední bitmapa bloků skupiny není inicializována. " -#: e2fsck/problem.c:377 +#: e2fsck/problem.c:381 #, c-format msgid "Journal transaction %i was corrupt, replay was aborted.\n" msgstr "Transakce žurnálu %i byla poÅ¡kozena, pÅ™ehrání bylo zruÅ¡eno.\n" -#: e2fsck/problem.c:381 +#: e2fsck/problem.c:385 msgid "The test_fs flag is set (and ext4 is available). " msgstr "Příznak test_fs je nastaven (a ext4 je dostupný). " #. @-expanded: superblock last mount time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set) -#: e2fsck/problem.c:386 +#: e2fsck/problem.c:390 msgid "" "@S last mount time is in the future.\n" "\t(by less than a day, probably due to the hardware clock being incorrectly set) " @@ -1151,7 +1159,7 @@ msgstr "" #. @-expanded: superblock last write time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set). -#: e2fsck/problem.c:392 +#: e2fsck/problem.c:396 msgid "" "@S last write time is in the future.\n" "\t(by less than a day, probably due to the hardware clock being incorrectly set). " @@ -1160,157 +1168,122 @@ msgstr "" "\t(rozdíl menší než den, pravdÄ›podobnÄ› jsou chybnÄ› nastaveny hardwarové hodiny. " #. @-expanded: One or more block group descriptor checksums are invalid. -#: e2fsck/problem.c:398 +#: e2fsck/problem.c:402 msgid "One or more @b @g descriptor checksums are invalid. " msgstr "Jeden nebo více kontrolních souÄtů deskriptoru skupiny bloků je chybných. " -#. @-expanded: Setting free inodes count to %j (was %i)\n -#: e2fsck/problem.c:403 -msgid "Setting free @is count to %j (was %i)\n" -msgstr "Nastavuje se poÄet volných iuzlů na %j (byl %i)\n" - -#. @-expanded: Setting free blocks count to %c (was %b)\n -#: e2fsck/problem.c:408 -msgid "Setting free @bs count to %c (was %b)\n" -msgstr "Nastavuje se poÄet volných bloků na %c (byl %b)\n" - -#. @-expanded: Making quota inode %i (%Q) hidden.\n -#: e2fsck/problem.c:413 -msgid "Making @q @i %i (%Q) hidden.\n" -msgstr "Iuzel kvóty %i (%Q) se oznaÄuje jako skrytý.\n" - -#. @-expanded: superblock has invalid MMP block. -#: e2fsck/problem.c:418 -msgid "@S has invalid MMP block. " -msgstr "Superblok má Å¡patný blok MMP. " - -#. @-expanded: superblock has invalid MMP magic. -#: e2fsck/problem.c:423 -msgid "@S has invalid MMP magic. " -msgstr "Superblok má neplatná Äísla MMP. " - -#: e2fsck/problem.c:428 -#, c-format -msgid "ext2fs_open2: %m\n" -msgstr "ext2fs_open2: %m\n" - -#: e2fsck/problem.c:433 -#, c-format -msgid "ext2fs_check_desc: %m\n" -msgstr "ext2fs_check_desc: %m\n" - #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n -#: e2fsck/problem.c:440 +#: e2fsck/problem.c:409 msgid "Pass 1: Checking @is, @bs, and sizes\n" -msgstr "Průchod 1: Kontrolují se iuzly, bloky a velikosti\n" +msgstr "Průchod 1: Kontroluji iuzly, bloky a velikosti\n" #. @-expanded: root inode is not a directory. -#: e2fsck/problem.c:444 +#: e2fsck/problem.c:413 msgid "@r is not a @d. " msgstr "KoÅ™enový iuzel není adresář. " #. @-expanded: root inode has dtime set (probably due to old mke2fs). -#: e2fsck/problem.c:449 +#: e2fsck/problem.c:418 msgid "@r has dtime set (probably due to old mke2fs). " msgstr "KoÅ™enový iuzel má nastaven dtime (možná kvůli starém mke2fs). " #. @-expanded: Reserved inode %i (%Q) has invalid mode. -#: e2fsck/problem.c:454 +#: e2fsck/problem.c:423 msgid "Reserved @i %i (%Q) has @n mode. " msgstr "Rezervovaný iuzel %i (%Q) má Å¡patný mód. " #. @-expanded: deleted inode %i has zero dtime. -#: e2fsck/problem.c:459 +#: e2fsck/problem.c:428 #, c-format msgid "@D @i %i has zero dtime. " msgstr "OdstranÄ›ný iuzel %i má nulový dtime. " #. @-expanded: inode %i is in use, but has dtime set. -#: e2fsck/problem.c:464 +#: e2fsck/problem.c:433 #, c-format msgid "@i %i is in use, but has dtime set. " msgstr "Iuzel %i se používá, ale má nastaven dtime. " #. @-expanded: inode %i is a zero-length directory. -#: e2fsck/problem.c:469 +#: e2fsck/problem.c:438 #, c-format msgid "@i %i is a @z @d. " msgstr "Iuzel %i je adresář nulové délky. " #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:474 +#: e2fsck/problem.c:443 msgid "@g %g's @b @B at %b @C.\n" msgstr "Bitmapa bloků skupiny %g v %b koliduje s jiným blokem systému souborů.\n" #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:479 +#: e2fsck/problem.c:448 msgid "@g %g's @i @B at %b @C.\n" msgstr "Bitmapa iuzlů skupiny %g v %b koliduje s jiným blokem systému souborů.\n" #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:484 +#: e2fsck/problem.c:453 msgid "@g %g's @i table at %b @C.\n" msgstr "Tabulka iuzlů skupiny %g v %b koliduje s jiným blokem systému souborů.\n" #. @-expanded: group %g's block bitmap (%b) is bad. -#: e2fsck/problem.c:489 +#: e2fsck/problem.c:458 msgid "@g %g's @b @B (%b) is bad. " msgstr "Bitmapa bloků skupiny %g (%b) je Å¡patná. " #. @-expanded: group %g's inode bitmap (%b) is bad. -#: e2fsck/problem.c:494 +#: e2fsck/problem.c:463 msgid "@g %g's @i @B (%b) is bad. " msgstr "Bitmapa iuzlů skupiny %g (%b) je Å¡patná. " #. @-expanded: inode %i, i_size is %Is, should be %N. -#: e2fsck/problem.c:499 +#: e2fsck/problem.c:468 msgid "@i %i, i_size is %Is, @s %N. " msgstr "V iuzlu %i je i_size %Is, mÄ›la by být %N. " #. @-expanded: inode %i, i_blocks is %Ib, should be %N. -#: e2fsck/problem.c:504 +#: e2fsck/problem.c:473 msgid "@i %i, i_@bs is %Ib, @s %N. " msgstr "V iuzlu %i je i_blocks %Ib, mÄ›lo by být %N. " #. @-expanded: illegal %B (%b) in inode %i. -#: e2fsck/problem.c:509 +#: e2fsck/problem.c:478 msgid "@I %B (%b) in @i %i. " msgstr "Neplatný %B (%b) v iuzlu %i. " #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i. -#: e2fsck/problem.c:514 +#: e2fsck/problem.c:483 msgid "%B (%b) overlaps @f metadata in @i %i. " msgstr "%B (%b) se pÅ™ekrývá s metadaty systému souborů v iuzlu %i. " #. @-expanded: inode %i has illegal block(s). -#: e2fsck/problem.c:519 +#: e2fsck/problem.c:488 #, c-format msgid "@i %i has illegal @b(s). " msgstr "Iuzel %i má neplatný blok(y). " #. @-expanded: Too many illegal blocks in inode %i.\n -#: e2fsck/problem.c:524 +#: e2fsck/problem.c:493 #, c-format msgid "Too many illegal @bs in @i %i.\n" msgstr "PříliÅ¡ mnoho neplatných bloků v iuzlu %i.\n" #. @-expanded: illegal %B (%b) in bad block inode. -#: e2fsck/problem.c:529 +#: e2fsck/problem.c:498 msgid "@I %B (%b) in bad @b @i. " msgstr "Neplatný %B (%b) v iuzlu Å¡patných bloků. " #. @-expanded: Bad block inode has illegal block(s). -#: e2fsck/problem.c:534 +#: e2fsck/problem.c:503 msgid "Bad @b @i has illegal @b(s). " msgstr "Iuzel Å¡patných bloků má neplatný blok(y). " #. @-expanded: Duplicate or bad block in use!\n -#: e2fsck/problem.c:539 +#: e2fsck/problem.c:508 msgid "Duplicate or bad @b in use!\n" msgstr "Používá se duplikátní nebo Å¡patný blok!\n" #. @-expanded: Bad block %b used as bad block inode indirect block. -#: e2fsck/problem.c:544 +#: e2fsck/problem.c:513 msgid "Bad @b %b used as bad @b @i indirect @b. " msgstr "Å patný blok %b používán jako nepřímý blok Å¡patných bloků. " @@ -1318,7 +1291,7 @@ msgstr "Å patný blok %b používán jako nepřímý blok Å¡patných bloků. " #. @-expanded: The bad block inode has probably been corrupted. You probably\n #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n #. @-expanded: in the filesystem.\n -#: e2fsck/problem.c:549 +#: e2fsck/problem.c:518 msgid "" "\n" "The bad @b @i has probably been corrupted. You probably\n" @@ -1326,12 +1299,12 @@ msgid "" "in the @f.\n" msgstr "" "\n" -"Iuzel Å¡patných bloků se pravdÄ›podobnÄ› poÅ¡kodil. ZÅ™ejmÄ› byste mÄ›li nyní\n" +"Iuzel Å¡patných bloků se pravdÄ›podobnÄ› poÅ¡kodil. ZÅ™ejmÄ› by ste mÄ›li nyní\n" "zastavit a vyÅ¡etÅ™it souborový systém na Å¡patné bloky příkazem „e2fsck -c“\n" #. @-expanded: \n #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n -#: e2fsck/problem.c:556 +#: e2fsck/problem.c:525 msgid "" "\n" "If the @b is really bad, the @f can not be fixed.\n" @@ -1342,7 +1315,7 @@ msgstr "" #. @-expanded: You can remove this block from the bad block list and hope\n #. @-expanded: that the block is really OK. But there are no guarantees.\n #. @-expanded: \n -#: e2fsck/problem.c:561 +#: e2fsck/problem.c:530 msgid "" "You can remove this @b from the bad @b list and hope\n" "that the @b is really OK. But there are no guarantees.\n" @@ -1353,274 +1326,274 @@ msgstr "" "\n" #. @-expanded: The primary superblock (%b) is on the bad block list.\n -#: e2fsck/problem.c:567 +#: e2fsck/problem.c:536 msgid "The primary @S (%b) is on the bad @b list.\n" msgstr "Primární superblok (%b) je na seznamu Å¡patných bloků.\n" #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n -#: e2fsck/problem.c:572 +#: e2fsck/problem.c:541 msgid "Block %b in the primary @g descriptors is on the bad @b list\n" msgstr "Blok %b v primárních deskriptorech skupin je na seznamu Å¡patných bloků\n" #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n -#: e2fsck/problem.c:578 +#: e2fsck/problem.c:547 msgid "Warning: Group %g's @S (%b) is bad.\n" msgstr "Varování: superblok skupiny %g (%b) je Å¡patný.\n" #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n -#: e2fsck/problem.c:583 +#: e2fsck/problem.c:552 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n" msgstr "Varování: Kopie deskriptorů skupin ve skupinÄ› %g má Å¡patný blok (%b).\n" #. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n -#: e2fsck/problem.c:589 +#: e2fsck/problem.c:558 msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n" msgstr "Chyba pÅ™i programování? Blok #%b bezdůvodnÄ› použit v process_bad_blocks.\n" #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n -#: e2fsck/problem.c:595 +#: e2fsck/problem.c:564 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n" msgstr "Chyba pÅ™i alokaci %N souvislých bloků ve skupinÄ› bloků %g pro %s: %m\n" #. @-expanded: error allocating block buffer for relocating %s\n -#: e2fsck/problem.c:600 +#: e2fsck/problem.c:569 #, c-format msgid "@A @b buffer for relocating %s\n" msgstr "Chyba pÅ™i alokaci vyrovnávací pamÄ›ti bloků pro pÅ™emístÄ›ní %s\n" #. @-expanded: Relocating group %g's %s from %b to %c...\n -#: e2fsck/problem.c:605 +#: e2fsck/problem.c:574 msgid "Relocating @g %g's %s from %b to %c...\n" msgstr "PÅ™emísÅ¥uji %s skupiny %g z %b do %c…\n" # FIXME: no-c-format so that I can reorder it properly #. @-expanded: Relocating group %g's %s to %c...\n -#: e2fsck/problem.c:610 +#: e2fsck/problem.c:579 #, c-format msgid "Relocating @g %g's %s to %c...\n" msgstr "PÅ™emísÅ¥uji skupiny %g %s do %c…\n" #. @-expanded: Warning: could not read block %b of %s: %m\n -#: e2fsck/problem.c:615 +#: e2fsck/problem.c:584 msgid "Warning: could not read @b %b of %s: %m\n" msgstr "Varování: nemohu naÄíst blok %s %s: %m\n" #. @-expanded: Warning: could not write block %b for %s: %m\n -#: e2fsck/problem.c:620 +#: e2fsck/problem.c:589 msgid "Warning: could not write @b %b for %s: %m\n" msgstr "Varování: nemohu zapsat blok %b pro %s: %m\n" #. @-expanded: error allocating inode bitmap (%N): %m\n -#: e2fsck/problem.c:625 e2fsck/problem.c:1474 +#: e2fsck/problem.c:594 e2fsck/problem.c:1405 msgid "@A @i @B (%N): %m\n" msgstr "Chyba pÅ™i alokaci bitmapy iuzlů (%N): %m\n" #. @-expanded: error allocating block bitmap (%N): %m\n -#: e2fsck/problem.c:630 +#: e2fsck/problem.c:599 msgid "@A @b @B (%N): %m\n" msgstr "Chyba pÅ™i alokaci bitmapy bloků (%N): %m\n" #. @-expanded: error allocating icount link information: %m\n -#: e2fsck/problem.c:635 +#: e2fsck/problem.c:604 #, c-format msgid "@A icount link information: %m\n" msgstr "Chyba pÅ™i alokaci informací odkazů icount: %m\n" #. @-expanded: error allocating directory block array: %m\n -#: e2fsck/problem.c:640 +#: e2fsck/problem.c:609 #, c-format msgid "@A @d @b array: %m\n" msgstr "Chyba pÅ™i alokaci pole bloků adresáře: %m\n" #. @-expanded: Error while scanning inodes (%i): %m\n -#: e2fsck/problem.c:645 +#: e2fsck/problem.c:614 #, c-format msgid "Error while scanning @is (%i): %m\n" msgstr "Chyba pÅ™i zkoumání iuzlů (%i): %m\n" #. @-expanded: Error while iterating over blocks in inode %i: %m\n -#: e2fsck/problem.c:650 +#: e2fsck/problem.c:619 #, c-format msgid "Error while iterating over @bs in @i %i: %m\n" msgstr "Chyba pÅ™i iteraci pÅ™es bloky v iuzlu %i: %m\n" #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n -#: e2fsck/problem.c:655 +#: e2fsck/problem.c:624 msgid "Error storing @i count information (@i=%i, count=%N): %m\n" msgstr "Chyba pÅ™i ukládání informace o Äetnosti iuzlu (iuzel=%i, poÄet=%N): %m\n" #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n -#: e2fsck/problem.c:660 +#: e2fsck/problem.c:629 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n" msgstr "Chyba pÅ™i ukládání informace o bloku adresáře (iuzel=%i, blok=%b, Äís=%N): %m\n" #. @-expanded: Error reading inode %i: %m\n -#: e2fsck/problem.c:666 +#: e2fsck/problem.c:635 #, c-format msgid "Error reading @i %i: %m\n" msgstr "Chyba pÅ™i Ätení iuzlu %i: %m\n" #. @-expanded: inode %i has imagic flag set. -#: e2fsck/problem.c:674 +#: e2fsck/problem.c:643 #, c-format msgid "@i %i has imagic flag set. " msgstr "Iuzel %i má nastaven příznak imagic. " #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n #. @-expanded: or append-only flag set. -#: e2fsck/problem.c:679 +#: e2fsck/problem.c:648 #, c-format msgid "" "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n" "or append-only flag set. " msgstr "" -"Speciální soubor (zařízení/socket/fifo/symbolický odkaz, iuzel %i)\n" -"má nastaven příznak immutable nebo append-only. " +"Speciální (zařízení/socket/fifo/symbolický odkaz) soubor (iuzel %i) má nastaven\n" +"příznak immutable nebo append-only. " #. @-expanded: inode %i has compression flag set on filesystem without compression support. -#: e2fsck/problem.c:685 +#: e2fsck/problem.c:654 #, c-format msgid "@i %i has @cion flag set on @f without @cion support. " msgstr "Iuzel %i má nastaven příznak komprimace na systému souborů bez podpory komprimace. " #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size. -#: e2fsck/problem.c:690 +#: e2fsck/problem.c:659 #, c-format msgid "Special (@v/socket/fifo) @i %i has non-zero size. " msgstr "Speciální (zařízení/socket/fifo) iuzel %i má nenulovou délku. " #. @-expanded: journal inode is not in use, but contains data. -#: e2fsck/problem.c:700 +#: e2fsck/problem.c:669 msgid "@j @i is not in use, but contains data. " msgstr "Iuzel žurnálu se nepoužívá, ale obsahuje data. " #. @-expanded: journal is not regular file. -#: e2fsck/problem.c:705 +#: e2fsck/problem.c:674 msgid "@j is not regular file. " msgstr "Žurnál není obyÄejný soubor. " #. @-expanded: inode %i was part of the orphaned inode list. -#: e2fsck/problem.c:710 +#: e2fsck/problem.c:679 #, c-format msgid "@i %i was part of the @o @i list. " msgstr "Iuzel %i byl souÄástí seznamu osiÅ™elých iuzlů. " #. @-expanded: inodes that were part of a corrupted orphan linked list found. -#: e2fsck/problem.c:716 +#: e2fsck/problem.c:685 msgid "@is that were part of a corrupted orphan linked list found. " msgstr "Nalezeny iuzly, které byly souÄástí poÅ¡kozeného spojového seznamu osiÅ™elých. " #. @-expanded: error allocating refcount structure (%N): %m\n -#: e2fsck/problem.c:721 +#: e2fsck/problem.c:690 msgid "@A refcount structure (%N): %m\n" msgstr "Chyba pÅ™i alokaci struktury refcount (%N): %m\n" #. @-expanded: Error reading extended attribute block %b for inode %i. -#: e2fsck/problem.c:726 +#: e2fsck/problem.c:695 msgid "Error reading @a @b %b for @i %i. " msgstr "Chyba pÅ™i Ätení bloku rozšířených atributů %b pro iuzel %i. " #. @-expanded: inode %i has a bad extended attribute block %b. -#: e2fsck/problem.c:731 +#: e2fsck/problem.c:700 msgid "@i %i has a bad @a @b %b. " msgstr "Iuzel %i má Å¡patný blok rozšířených atributů %b. " #. @-expanded: Error reading extended attribute block %b (%m). -#: e2fsck/problem.c:736 +#: e2fsck/problem.c:705 msgid "Error reading @a @b %b (%m). " msgstr "Chyba pÅ™i Ätení bloku rozšířených atributů %b (%m). " #. @-expanded: extended attribute block %b has reference count %r, should be %N. -#: e2fsck/problem.c:741 +#: e2fsck/problem.c:710 msgid "@a @b %b has reference count %r, @s %N. " msgstr "Blok rozšířených atributů %b má poÄet odkazů %r, mÄ›l by být %N. " #. @-expanded: Error writing extended attribute block %b (%m). -#: e2fsck/problem.c:746 +#: e2fsck/problem.c:715 msgid "Error writing @a @b %b (%m). " msgstr "Chyba pÅ™i zápisu bloku rozšířených atributů %b (%m). " #. @-expanded: extended attribute block %b has h_blocks > 1. -#: e2fsck/problem.c:751 +#: e2fsck/problem.c:720 msgid "@a @b %b has h_@bs > 1. " msgstr "Blok rozšířených atributů %b má h_blocks > 1. " #. @-expanded: error allocating extended attribute block %b. -#: e2fsck/problem.c:756 +#: e2fsck/problem.c:725 msgid "@A @a @b %b. " msgstr "Chyba pÅ™i alokaci bloku rozšířených atributů %b. " #. @-expanded: extended attribute block %b is corrupt (allocation collision). -#: e2fsck/problem.c:761 +#: e2fsck/problem.c:730 msgid "@a @b %b is corrupt (allocation collision). " msgstr "Blok rozšířených atributů %b je poÅ¡kozen (kolize alokace). " #. @-expanded: extended attribute block %b is corrupt (invalid name). -#: e2fsck/problem.c:766 +#: e2fsck/problem.c:735 msgid "@a @b %b is corrupt (@n name). " msgstr "Blok rozšířených atributů %b je poÅ¡kozen (neplatný název). " #. @-expanded: extended attribute block %b is corrupt (invalid value). -#: e2fsck/problem.c:771 +#: e2fsck/problem.c:740 msgid "@a @b %b is corrupt (@n value). " msgstr "Blok rozšířených atributů %b je poÅ¡kozen (neplatná hodnota). " #. @-expanded: inode %i is too big. -#: e2fsck/problem.c:776 +#: e2fsck/problem.c:745 #, c-format msgid "@i %i is too big. " msgstr "Iuzel %i je příliÅ¡ velká. " #. @-expanded: %B (%b) causes directory to be too big. -#: e2fsck/problem.c:780 +#: e2fsck/problem.c:749 msgid "%B (%b) causes @d to be too big. " msgstr "%B (%b) způsobuje, že adresář je příliÅ¡ velký. " -#: e2fsck/problem.c:785 +#: e2fsck/problem.c:754 msgid "%B (%b) causes file to be too big. " msgstr "%B (%b) způsobuje, že soubor je příliÅ¡ velký. " -#: e2fsck/problem.c:790 +#: e2fsck/problem.c:759 msgid "%B (%b) causes symlink to be too big. " msgstr "%B (%b) způsobuje, že symbolický odkaz je příliÅ¡ velký. " #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n -#: e2fsck/problem.c:795 +#: e2fsck/problem.c:764 #, c-format msgid "@i %i has INDEX_FL flag set on @f without htree support.\n" msgstr "Iuzel %i má nastaven příznak INDEX_FL na systému souborů bez podpory htree.\n" #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n -#: e2fsck/problem.c:800 +#: e2fsck/problem.c:769 #, c-format msgid "@i %i has INDEX_FL flag set but is not a @d.\n" msgstr "Iuzel %i má nastaven příznak INDEX_FL, ale není adresář.\n" #. @-expanded: HTREE directory inode %i has an invalid root node.\n -#: e2fsck/problem.c:805 +#: e2fsck/problem.c:774 #, c-format msgid "@h %i has an @n root node.\n" msgstr "Iuzel HTREE adresáře %i má neplatný koÅ™enový uzel.\n" #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n -#: e2fsck/problem.c:810 +#: e2fsck/problem.c:779 msgid "@h %i has an unsupported hash version (%N)\n" msgstr "Iuzel HTREE adresáře %i má nepodporovanou verzi hashe (%N)\n" #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n -#: e2fsck/problem.c:815 +#: e2fsck/problem.c:784 #, c-format msgid "@h %i uses an incompatible htree root node flag.\n" msgstr "Iuzel HTREE adresáře %i používá nekompatibilní příznak koÅ™enového uzlu htree.\n" #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n -#: e2fsck/problem.c:820 +#: e2fsck/problem.c:789 msgid "@h %i has a tree depth (%N) which is too big\n" msgstr "Iuzel HTREE adresáře %i má hloubku stromu (%N), která je příliÅ¡ velká\n" #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n #. @-expanded: filesystem metadata. -#: e2fsck/problem.c:825 +#: e2fsck/problem.c:794 msgid "" "Bad @b @i has an indirect @b (%b) that conflicts with\n" "@f metadata. " @@ -1629,55 +1602,55 @@ msgstr "" "souborového systému. " #. @-expanded: Resize inode (re)creation failed: %m. -#: e2fsck/problem.c:831 +#: e2fsck/problem.c:800 #, c-format msgid "Resize @i (re)creation failed: %m." msgstr "(Znovu) vytvoÅ™ení iuzlu pro zmÄ›ny velikosti selhalo: %m." #. @-expanded: inode %i has a extra size (%IS) which is invalid\n -#: e2fsck/problem.c:836 +#: e2fsck/problem.c:805 msgid "@i %i has a extra size (%IS) which is @n\n" msgstr "Iuzel %i má velikost navíc (%IS), která není platná\n" #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n -#: e2fsck/problem.c:841 +#: e2fsck/problem.c:810 msgid "@a in @i %i has a namelen (%N) which is @n\n" msgstr "Rozšířený atribut v iuzlu %i má délku jména (%N), která není platná\n" #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n -#: e2fsck/problem.c:846 +#: e2fsck/problem.c:815 msgid "@a in @i %i has a value offset (%N) which is @n\n" msgstr "Rozšířený atribut v iuzlu %i má pozici hodnoty (%N), která není platná\n" #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n -#: e2fsck/problem.c:851 +#: e2fsck/problem.c:820 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" msgstr "Rozšířený atribut v iuzlu %i má blok hodnot (%N), který není platný (musí být 0)\n" #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n -#: e2fsck/problem.c:856 +#: e2fsck/problem.c:825 msgid "@a in @i %i has a value size (%N) which is @n\n" msgstr "Rozšířený atribut v iuzlu %i má velikost hodnoty (%N), která není platná\n" #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n -#: e2fsck/problem.c:861 +#: e2fsck/problem.c:830 msgid "@a in @i %i has a hash (%N) which is @n\n" msgstr "Rozšířený atribut v iuzlu %i má hash (%N), který není platný\n" #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n -#: e2fsck/problem.c:866 +#: e2fsck/problem.c:835 msgid "@i %i is a %It but it looks like it is really a directory.\n" msgstr "Iuzel %i je %It, ale ve skuteÄnosti vypadá na adresář.\n" #. @-expanded: Error while reading over extent tree in inode %i: %m\n -#: e2fsck/problem.c:871 +#: e2fsck/problem.c:840 #, c-format msgid "Error while reading over @x tree in @i %i: %m\n" msgstr "Chyba pÅ™i proÄítání stromu @x v iuzlu %i: %m\n" #. @-expanded: Failed to iterate extents in inode %i\n #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n -#: e2fsck/problem.c:876 +#: e2fsck/problem.c:845 msgid "" "Failed to iterate extents in @i %i\n" "\t(op %s, blk %b, lblk %c): %m\n" @@ -1687,7 +1660,7 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n -#: e2fsck/problem.c:882 +#: e2fsck/problem.c:851 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, @n physical @b %b, len %N)\n" @@ -1697,7 +1670,7 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n -#: e2fsck/problem.c:887 +#: e2fsck/problem.c:856 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, physical @b %b, @n len %N)\n" @@ -1706,31 +1679,31 @@ msgstr "" "\t(logický blok %c, fyzický blok %b, neplatná délka %N)\n" #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n -#: e2fsck/problem.c:892 +#: e2fsck/problem.c:861 #, c-format msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n" msgstr "Iuzel %i má nastaven příznak EXTENTS_FL na systému souborů bez podpory rozsahů.\n" #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n -#: e2fsck/problem.c:897 +#: e2fsck/problem.c:866 #, c-format msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n" msgstr "Iuzel %i rozsahový formát, ale superbloku chybí vlastnost EXTENTS\n" #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n -#: e2fsck/problem.c:902 +#: e2fsck/problem.c:871 #, c-format msgid "@i %i missing EXTENT_FL, but is in extents format\n" msgstr "Iuzlu %i chybí EXTENT_FL, ale je v rozsahovém formátu\n" -#: e2fsck/problem.c:907 +#: e2fsck/problem.c:876 #, c-format msgid "Fast symlink %i has EXTENT_FL set. " msgstr "Rychlý symbolický odkaz %i na nastaveno EXTENT_FL. " #. @-expanded: inode %i has out of order extents\n #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:912 +#: e2fsck/problem.c:881 msgid "" "@i %i has out of order extents\n" "\t(@n logical @b %c, physical @b %b, len %N)\n" @@ -1739,71 +1712,19 @@ msgstr "" "\t(neplatný logický blok %c, fyzický blok %b, délka %N)\n" #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n -#: e2fsck/problem.c:916 +#: e2fsck/problem.c:885 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n" msgstr "Iuzel %i má neplatný uzel rozsahů (op %s, blk %b, lblk %c): %m\n" -#. @-expanded: Error converting subcluster block bitmap: %m\n -#: e2fsck/problem.c:921 -#, c-format -msgid "Error converting subcluster @b @B: %m\n" -msgstr "Chyba pÅ™i pÅ™evodu bitmapy bloků subclusteru: %m\n" - -#. @-expanded: quota inode is not regular file. -#: e2fsck/problem.c:926 -msgid "@q @i is not regular file. " -msgstr "Iuzel kvóty není obyÄejný soubor. " - -#. @-expanded: quota inode is not in use, but contains data. -#: e2fsck/problem.c:931 -msgid "@q @i is not in use, but contains data. " -msgstr "Iuzel kvóty se nepoužívá, ale obsahuje data. " - -#. @-expanded: quota inode is visible to the user. -#: e2fsck/problem.c:936 -msgid "@q @i is visible to the user. " -msgstr "Iuzel kvóty je pro uživatele viditelný. " - -#. @-expanded: The bad block inode looks invalid. -#: e2fsck/problem.c:941 -msgid "The bad @b @i looks @n. " -msgstr "Iuzel Å¡patných bloků se zdá být neplatný. " - -#. @-expanded: inode %i has zero length extent\n -#. @-expanded: \t(invalid logical block %c, physical block %b)\n -#: e2fsck/problem.c:946 -msgid "" -"@i %i has zero length extent\n" -"\t(@n logical @b %c, physical @b %b)\n" -msgstr "" -"Iuzel %i má rozsah o nulové délce\n" -"\t(neplatný logický blok %c, fyzický blok %b)\n" - -# ??? WTF -#. @-expanded: Interior extent node level %N of inode %i:\n -#. @-expanded: Logical start %b does not match logical start %c at next level. -#: e2fsck/problem.c:953 -msgid "" -"Interior @x node level %N of @i %i:\n" -"Logical start %b does not match logical start %c at next level. " -msgstr "" -"Úroveň vnitÅ™ních rozsahový uzlů %N iuzlu %i:\n" -"Logický zaÄátek %b neodpovídá logickému zaÄátku %c na další úrovni. " - -#. @-expanded: inode %i, end of extent exceeds allowed value\n -#. @-expanded: \t(logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:959 -msgid "" -"@i %i, end of extent exceeds allowed value\n" -"\t(logical @b %c, physical @b %b, len %N)\n" -msgstr "" -"Iuzel %i, konec rozsahu pÅ™ekraÄuje povolenou hodnotu\n" -"\t(logický blok %c, fyzický blok %b, délka %N)\n" +#. @-expanded: inode %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n +#: e2fsck/problem.c:889 +msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" +msgstr "Iuzel %i by nemÄ›l mít nastaveno EOFBLOCKS_FL (velikost %Is, lblk %r)\n" #. @-expanded: \n #. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n #. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n -#: e2fsck/problem.c:967 +#: e2fsck/problem.c:897 msgid "" "\n" "Running additional passes to resolve @bs claimed by more than one @i...\n" @@ -1815,46 +1736,46 @@ msgstr "" "Průchod 1B: Znovu vyÅ¡etÅ™uji více krát alokované bloky\n" #. @-expanded: multiply-claimed block(s) in inode %i: -#: e2fsck/problem.c:973 +#: e2fsck/problem.c:903 #, c-format msgid "@m @b(s) in @i %i:" msgstr "Více krát alokovaný(é) blok(y) v iuzlu %i:" -#: e2fsck/problem.c:988 +#: e2fsck/problem.c:918 #, c-format msgid "Error while scanning inodes (%i): %m\n" msgstr "Chyba pÅ™i zkoumání iuzlů (%i): %m\n" #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n -#: e2fsck/problem.c:993 +#: e2fsck/problem.c:923 #, c-format msgid "@A @i @B (@i_dup_map): %m\n" msgstr "Chyba pÅ™i alokaci bitmapy iuzlů (inode_dup_map): %m\n" #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n -#: e2fsck/problem.c:998 +#: e2fsck/problem.c:928 #, c-format msgid "Error while iterating over @bs in @i %i (%s): %m\n" msgstr "Chyba pÅ™i iteraci pÅ™es bloky v iuzlu %i (%s): %m\n" #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n -#: e2fsck/problem.c:1003 e2fsck/problem.c:1318 +#: e2fsck/problem.c:933 e2fsck/problem.c:1249 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n" msgstr "Chyba pÅ™i úpravÄ› poÄtu odkazů bloku rozšířených atributů %b (iuzel %i): %m\n" #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n -#: e2fsck/problem.c:1008 +#: e2fsck/problem.c:939 msgid "Pass 1C: Scanning directories for @is with @m @bs\n" msgstr "Průchod 1C: Hledání iuzlů s duplikovanými bloky v adresářích.\n" #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n -#: e2fsck/problem.c:1014 +#: e2fsck/problem.c:945 msgid "Pass 1D: Reconciling @m @bs\n" msgstr "Průchod 1D: Opravuji duplikátní bloky\n" #. @-expanded: File %Q (inode #%i, mod time %IM) \n #. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n -#: e2fsck/problem.c:1019 +#: e2fsck/problem.c:950 msgid "" "File %Q (@i #%i, mod time %IM) \n" " has %r @m @b(s), shared with %N file(s):\n" @@ -1863,18 +1784,18 @@ msgstr "" " má %r duplikovaný(ch) blok(ů) sdílený(ch) mezi %N soubory/souborem:\n" #. @-expanded: \t%Q (inode #%i, mod time %IM)\n -#: e2fsck/problem.c:1025 +#: e2fsck/problem.c:956 msgid "\t%Q (@i #%i, mod time %IM)\n" msgstr " %Q (iuzel %i, Äas zmÄ›ny %IM)\n" #. @-expanded: \t\n -#: e2fsck/problem.c:1030 +#: e2fsck/problem.c:961 msgid "\t<@f metadata>\n" msgstr "\t\n" #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n #. @-expanded: \n -#: e2fsck/problem.c:1035 +#: e2fsck/problem.c:966 msgid "" "(There are %N @is containing @m @bs.)\n" "\n" @@ -1884,7 +1805,7 @@ msgstr "" #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n #. @-expanded: \n -#: e2fsck/problem.c:1040 +#: e2fsck/problem.c:971 msgid "" "@m @bs already reassigned or cloned.\n" "\n" @@ -1892,317 +1813,317 @@ msgstr "" "Duplikátní bloky již pÅ™iÅ™azeny nebo naklonovány.\n" "\n" -#: e2fsck/problem.c:1053 +#: e2fsck/problem.c:984 #, c-format msgid "Couldn't clone file: %m\n" msgstr "Nemohu klonovat soubor: %m\n" #. @-expanded: Pass 2: Checking directory structure\n -#: e2fsck/problem.c:1059 +#: e2fsck/problem.c:990 msgid "Pass 2: Checking @d structure\n" -msgstr "Průchod 2: Kontroluje se strukturu adresářů\n" +msgstr "Průchod 2: Kontroluji strukturu adresářů\n" #. @-expanded: invalid inode number for '.' in directory inode %i.\n -#: e2fsck/problem.c:1064 +#: e2fsck/problem.c:995 #, c-format msgid "@n @i number for '.' in @d @i %i.\n" msgstr "Å patné Äíslo iuzlu pro „.“ v iuzlu adresáře %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n -#: e2fsck/problem.c:1069 +#: e2fsck/problem.c:1000 msgid "@E has @n @i #: %Di.\n" msgstr "Položka „%Dn“ v %p (%i) má Å¡patné Äíslo iuzlu: %Di.\n" #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di. -#: e2fsck/problem.c:1074 +#: e2fsck/problem.c:1005 msgid "@E has @D/unused @i %Di. " msgstr "Položka „%Dn“ v %p (%i) má odstranÄ›ný/nepoužívaný iuzel %Di. " #. @-expanded: entry '%Dn' in %p (%i) is a link to '.' -#: e2fsck/problem.c:1079 +#: e2fsck/problem.c:1010 msgid "@E @L to '.' " msgstr "Položka „%Dn“ v %p (%i) je odkaz na „.“ " #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n -#: e2fsck/problem.c:1084 +#: e2fsck/problem.c:1015 msgid "@E points to @i (%Di) located in a bad @b.\n" msgstr "Položka „%Dn“ v %p (%i) ukazuje na iuzel (%Di) umístÄ›ný ve Å¡patném bloku.\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n -#: e2fsck/problem.c:1089 +#: e2fsck/problem.c:1020 msgid "@E @L to @d %P (%Di).\n" msgstr "Položka „%Dn“ v %p (%i) je odkaz na adresář %P (%Di).\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n -#: e2fsck/problem.c:1094 +#: e2fsck/problem.c:1025 msgid "@E @L to the @r.\n" msgstr "Položka „%Dn“ v %p (%i) je odkaz na koÅ™enový iuzel.\n" #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n -#: e2fsck/problem.c:1099 +#: e2fsck/problem.c:1030 msgid "@E has illegal characters in its name.\n" msgstr "Položka „%Dn“ v %p (%i) má ve svém jménÄ› neplatné znaky.\n" #. @-expanded: Missing '.' in directory inode %i.\n -#: e2fsck/problem.c:1104 +#: e2fsck/problem.c:1035 #, c-format msgid "Missing '.' in @d @i %i.\n" msgstr "Chybí „.“ v iuzlu adresáře %i.\n" #. @-expanded: Missing '..' in directory inode %i.\n -#: e2fsck/problem.c:1109 +#: e2fsck/problem.c:1040 #, c-format msgid "Missing '..' in @d @i %i.\n" msgstr "Chybí „..“ v iuzlu adresáře %i.\n" #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n -#: e2fsck/problem.c:1114 +#: e2fsck/problem.c:1045 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n" msgstr "První položka „%Dn“ (iuzel=%Di) v iuzlu adresáře %i (%p) by mÄ›la být „.“\n" #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n -#: e2fsck/problem.c:1119 +#: e2fsck/problem.c:1050 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n" msgstr "Druhá položka „%Dn“ (iuzel=%Di) v iuzlu adresáře %i by mÄ›la být „..“\n" #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n -#: e2fsck/problem.c:1124 +#: e2fsck/problem.c:1055 msgid "i_faddr @F %IF, @s zero.\n" msgstr "i_faddr pro iuzel %i (%Q) je %IF, mÄ›la by být nula.\n" #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n -#: e2fsck/problem.c:1129 +#: e2fsck/problem.c:1060 msgid "i_file_acl @F %If, @s zero.\n" msgstr "i_file_acl pro iuzel %i (%Q) je %If, mÄ›lo by být nula.\n" #. @-expanded: i_dir_acl for inode %i (%Q) is %Id, should be zero.\n -#: e2fsck/problem.c:1134 +#: e2fsck/problem.c:1065 msgid "i_dir_acl @F %Id, @s zero.\n" msgstr "i_dir_acl pro iuzel %i (%Q) je %N, mÄ›lo by být nula.\n" #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1139 +#: e2fsck/problem.c:1070 msgid "i_frag @F %N, @s zero.\n" msgstr "i_frag pro iuzel %i (%Q) je %N, mÄ›lo by být nula.\n" #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1144 +#: e2fsck/problem.c:1075 msgid "i_fsize @F %N, @s zero.\n" msgstr "i_fsize pro iuzel %i (%Q) je %N, mÄ›la by být nula.\n" #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n -#: e2fsck/problem.c:1149 +#: e2fsck/problem.c:1080 msgid "@i %i (%Q) has @n mode (%Im).\n" msgstr "Iuzel %i (%Q) má Å¡patný mód (%Im).\n" #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n -#: e2fsck/problem.c:1154 +#: e2fsck/problem.c:1085 msgid "@d @i %i, %B, offset %N: @d corrupted\n" msgstr "Iuzel adresáře %i, %B, posun %N: adresář poÅ¡kozen\n" #. @-expanded: directory inode %i, %B, offset %N: filename too long\n -#: e2fsck/problem.c:1159 +#: e2fsck/problem.c:1090 msgid "@d @i %i, %B, offset %N: filename too long\n" msgstr "Iuzel adresáře %i, blok %B, pozice %N: název souboru příliÅ¡ dlouhý\n" #. @-expanded: directory inode %i has an unallocated %B. -#: e2fsck/problem.c:1164 +#: e2fsck/problem.c:1095 msgid "@d @i %i has an unallocated %B. " msgstr "Iuzel adresáře %i má nealokovaný %B. " #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1169 +#: e2fsck/problem.c:1100 #, c-format msgid "'.' @d @e in @d @i %i is not NULL terminated\n" msgstr "Položka adresáře „.“ v iuzlu adresáře %i není ukonÄena NULL\n" #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1174 +#: e2fsck/problem.c:1105 #, c-format msgid "'..' @d @e in @d @i %i is not NULL terminated\n" msgstr "Položka adresáře „..“ v iuzlu adresáře %i není ukonÄena NULL\n" #. @-expanded: inode %i (%Q) is an illegal character device.\n -#: e2fsck/problem.c:1179 +#: e2fsck/problem.c:1110 msgid "@i %i (%Q) is an @I character @v.\n" msgstr "Iuzel %i (%q) je neplatné znakové zařízení.\n" #. @-expanded: inode %i (%Q) is an illegal block device.\n -#: e2fsck/problem.c:1184 +#: e2fsck/problem.c:1115 msgid "@i %i (%Q) is an @I @b @v.\n" msgstr "Iuzel %i (%Q) je neplatné blokové zařízení.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n -#: e2fsck/problem.c:1189 +#: e2fsck/problem.c:1120 msgid "@E is duplicate '.' @e.\n" msgstr "Položka „%Dn“ v %p (%i) je duplikátní položka „.“.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n -#: e2fsck/problem.c:1194 +#: e2fsck/problem.c:1125 msgid "@E is duplicate '..' @e.\n" msgstr "Položka „%Dn“ v %p (%i) je duplikátní položka „..“.\n" -#: e2fsck/problem.c:1199 e2fsck/problem.c:1499 +#: e2fsck/problem.c:1130 e2fsck/problem.c:1430 #, c-format msgid "Internal error: couldn't find dir_info for %i.\n" msgstr "Interní chyba: nemohu najít dir_info pro %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n -#: e2fsck/problem.c:1204 +#: e2fsck/problem.c:1135 msgid "@E has rec_len of %Dr, @s %N.\n" msgstr "Položka „%Dn“ v %p (%i) má rec_len %Dr, mÄ›la by být %N.\n" #. @-expanded: error allocating icount structure: %m\n -#: e2fsck/problem.c:1209 +#: e2fsck/problem.c:1140 #, c-format msgid "@A icount structure: %m\n" msgstr "Chyba pÅ™i alokaci struktury icount: %m\n" #. @-expanded: Error iterating over directory blocks: %m\n -#: e2fsck/problem.c:1214 +#: e2fsck/problem.c:1145 #, c-format msgid "Error iterating over @d @bs: %m\n" msgstr "Chyba pÅ™i iterování pÅ™es bloky adresáře: %m\n" #. @-expanded: Error reading directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1219 +#: e2fsck/problem.c:1150 msgid "Error reading @d @b %b (@i %i): %m\n" msgstr "Chyba pÅ™i Ätení bloku adresáře %b (iuzel %i): %m\n" #. @-expanded: Error writing directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1224 +#: e2fsck/problem.c:1155 msgid "Error writing @d @b %b (@i %i): %m\n" msgstr "Chyba pÅ™i zápisu bloku adresáře %b (iuzel %i): %m\n" #. @-expanded: error allocating new directory block for inode %i (%s): %m\n -#: e2fsck/problem.c:1229 +#: e2fsck/problem.c:1160 #, c-format msgid "@A new @d @b for @i %i (%s): %m\n" msgstr "Chyba pÅ™i alokaci nového bloku adresáře pro iuzel %i (%s): %m\n" #. @-expanded: Error deallocating inode %i: %m\n -#: e2fsck/problem.c:1234 +#: e2fsck/problem.c:1165 #, c-format msgid "Error deallocating @i %i: %m\n" msgstr "Chyba pÅ™i dealokaci iuzlu %i: %m\n" #. @-expanded: directory entry for '.' in %p (%i) is big.\n -#: e2fsck/problem.c:1239 +#: e2fsck/problem.c:1170 #, c-format msgid "@d @e for '.' in %p (%i) is big.\n" msgstr "Položka adresáře pro „.“ v %p (%i) je velká.\n" #. @-expanded: inode %i (%Q) is an illegal FIFO.\n -#: e2fsck/problem.c:1244 +#: e2fsck/problem.c:1175 msgid "@i %i (%Q) is an @I FIFO.\n" msgstr "Iuzel %i (%Q) je neplatná FIFO.\n" #. @-expanded: inode %i (%Q) is an illegal socket.\n -#: e2fsck/problem.c:1249 +#: e2fsck/problem.c:1180 msgid "@i %i (%Q) is an @I socket.\n" msgstr "Iuzel %i (%Q) je neplatný socket.\n" #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n -#: e2fsck/problem.c:1254 +#: e2fsck/problem.c:1185 msgid "Setting filetype for @E to %N.\n" -msgstr "Nastavuje se filetype pro položku „%Dn“ v %p (%i) na %N.\n" +msgstr "Nastavuji filetype pro položku „%Dn“ v %p (%i) na %N.\n" #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n -#: e2fsck/problem.c:1259 +#: e2fsck/problem.c:1190 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n" msgstr "Položka „%Dn“ v %p (%i) má chybný filetype (byl %Dt, mÄ›l by být %N).\n" #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n -#: e2fsck/problem.c:1264 +#: e2fsck/problem.c:1195 msgid "@E has filetype set.\n" msgstr "Položka „%Dn“ v %p (%i) má nastaven filetype.\n" #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n -#: e2fsck/problem.c:1269 +#: e2fsck/problem.c:1200 msgid "@E has a @z name.\n" msgstr "Položka „%Dn“ v %p (%i) má název nulové délky.\n" #. @-expanded: Symlink %Q (inode #%i) is invalid.\n -#: e2fsck/problem.c:1274 +#: e2fsck/problem.c:1205 msgid "Symlink %Q (@i #%i) is @n.\n" msgstr "Symbolický odkaz %Q (iuzel #%i) není platný.\n" # FIXME: @F already ends with 'is' #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n -#: e2fsck/problem.c:1279 +#: e2fsck/problem.c:1210 msgid "@a @b @F @n (%If).\n" msgstr "Blok rozšířených atributů pro iuzel %i (%Q) není platný (%If).\n" #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n -#: e2fsck/problem.c:1284 +#: e2fsck/problem.c:1215 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n" msgstr "Systém souborů obsahuje velké soubory, ale v superbloku nemá příznak LARGE_FILE.\n" #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n -#: e2fsck/problem.c:1289 +#: e2fsck/problem.c:1220 msgid "@p @h %d: %B not referenced\n" msgstr "Problém v iuzlu HTREE adresáře %d: na %B neexistuje odkaz\n" #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n -#: e2fsck/problem.c:1294 +#: e2fsck/problem.c:1225 msgid "@p @h %d: %B referenced twice\n" msgstr "Problém v iuzlu HTREE adresáře %d: na %B vedou dva odkazy\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n -#: e2fsck/problem.c:1299 +#: e2fsck/problem.c:1230 msgid "@p @h %d: %B has bad min hash\n" msgstr "Problém v iuzlu HTREE adresáře %d: %B má Å¡patný min hash\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n -#: e2fsck/problem.c:1304 +#: e2fsck/problem.c:1235 msgid "@p @h %d: %B has bad max hash\n" msgstr "Problém v iuzlu HTREE adresáře %d: %B má Å¡patný max hash\n" #. @-expanded: invalid HTREE directory inode %d (%q). -#: e2fsck/problem.c:1309 +#: e2fsck/problem.c:1240 msgid "@n @h %d (%q). " msgstr "Neplatný iuzel HTREE adresáře %d (%q). " #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n -#: e2fsck/problem.c:1313 +#: e2fsck/problem.c:1244 msgid "@p @h %d (%q): bad @b number %b.\n" msgstr "Problém v iuzlu HTREE adresáře %d (%q): Å¡patné Äíslo bloku %b.\n" #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n -#: e2fsck/problem.c:1323 +#: e2fsck/problem.c:1254 #, c-format msgid "@p @h %d: root node is @n\n" msgstr "Problém v iuzlu HTREE adresáře %d: koÅ™enový uzel není platný\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n -#: e2fsck/problem.c:1328 +#: e2fsck/problem.c:1259 msgid "@p @h %d: %B has @n limit (%N)\n" msgstr "Problém v iuzlu HTREE adresáře %d: %B má Å¡patný limit (%N)\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n -#: e2fsck/problem.c:1333 +#: e2fsck/problem.c:1264 msgid "@p @h %d: %B has @n count (%N)\n" msgstr "Problém v iuzlu HTREE adresáře %d: %B má Å¡patný poÄet (%N)\n" #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n -#: e2fsck/problem.c:1338 +#: e2fsck/problem.c:1269 msgid "@p @h %d: %B has an unordered hash table\n" msgstr "Problém v iuzlu HTREE adresáře %d: %B má nesetřídÄ›nou hash tabulku\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n -#: e2fsck/problem.c:1343 +#: e2fsck/problem.c:1274 msgid "@p @h %d: %B has @n depth (%N)\n" msgstr "Problém v iuzlu HTREE adresáře %d: %B má Å¡patnou hloubku (%N)\n" #. @-expanded: Duplicate entry '%Dn' in %p (%i) found. -#: e2fsck/problem.c:1348 +#: e2fsck/problem.c:1279 msgid "Duplicate @E found. " msgstr "Nalezena duplikátní položka „%Dn“ v %p (%i). " # FIXME: no-c-format #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n #. @-expanded: Rename to %s -#: e2fsck/problem.c:1353 +#: e2fsck/problem.c:1284 #, no-c-format msgid "" "@E has a non-unique filename.\n" @@ -2214,7 +2135,7 @@ msgstr "" #. @-expanded: Duplicate entry '%Dn' found.\n #. @-expanded: \tMarking %p (%i) to be rebuilt.\n #. @-expanded: \n -#: e2fsck/problem.c:1358 +#: e2fsck/problem.c:1289 msgid "" "Duplicate @e '%Dn' found.\n" "\tMarking %p (%i) to be rebuilt.\n" @@ -2225,116 +2146,116 @@ msgstr "" "\n" #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1363 +#: e2fsck/problem.c:1294 msgid "i_blocks_hi @F %N, @s zero.\n" msgstr "i_blocks_hi pro iuzel %i (%Q) je %N, mÄ›l by být nula.\n" #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n -#: e2fsck/problem.c:1368 +#: e2fsck/problem.c:1299 msgid "Unexpected @b in @h %d (%q).\n" msgstr "NeoÄekávaný blok v iuzlu HTREE adresáře %d (%q).\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n -#: e2fsck/problem.c:1372 +#: e2fsck/problem.c:1303 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n" msgstr "Položka „%Di“ v %p (%i) odkazuje na iuzel %Di ve skupinÄ› %g, kde je nastaveno _INODE_UNINIT.\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n -#: e2fsck/problem.c:1377 +#: e2fsck/problem.c:1308 msgid "@E references @i %Di found in @g %g's unused inodes area.\n" msgstr "Položka „%Dn“ v %p (%i) odkazuje na iuzel %Di nalezený ve skupinÄ› %g oblasti nepoužitých iuzlů.\n" #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1382 +#: e2fsck/problem.c:1313 msgid "i_file_acl_hi @F %N, @s zero.\n" msgstr "i_file_acl_hi pro iuzel %i (%Q) je %N, mÄ›lo by být nula.\n" #. @-expanded: Pass 3: Checking directory connectivity\n -#: e2fsck/problem.c:1389 +#: e2fsck/problem.c:1320 msgid "Pass 3: Checking @d connectivity\n" -msgstr "Průchod 3: Kontroluje se dosažitelnost adresářů\n" +msgstr "Průchod 3: Kontroluji dosažitelnost adresářů\n" #. @-expanded: root inode not allocated. -#: e2fsck/problem.c:1394 +#: e2fsck/problem.c:1325 msgid "@r not allocated. " msgstr "KoÅ™enový iuzel nealokován. " #. @-expanded: No room in lost+found directory. -#: e2fsck/problem.c:1399 +#: e2fsck/problem.c:1330 msgid "No room in @l @d. " msgstr "Není místo v adresáři lost+found. " #. @-expanded: Unconnected directory inode %i (%p)\n -#: e2fsck/problem.c:1404 +#: e2fsck/problem.c:1335 #, c-format msgid "Unconnected @d @i %i (%p)\n" msgstr "NepÅ™ipojený adresářový iuzel %i (%p)\n" #. @-expanded: /lost+found not found. -#: e2fsck/problem.c:1409 +#: e2fsck/problem.c:1340 msgid "/@l not found. " msgstr "/lost+found nenalezeno. " #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n -#: e2fsck/problem.c:1414 +#: e2fsck/problem.c:1345 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n" msgstr "„..“ v %Q (%i) je %P (%j), mÄ›lo by být %q (%d).\n" #. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n -#: e2fsck/problem.c:1419 +#: e2fsck/problem.c:1350 msgid "Bad or non-existent /@l. Cannot reconnect.\n" msgstr "Å patné nebo neexistující /lost+found. Nemohu znovu pÅ™ipojit.\n" #. @-expanded: Could not expand /lost+found: %m\n -#: e2fsck/problem.c:1424 +#: e2fsck/problem.c:1355 #, c-format msgid "Could not expand /@l: %m\n" msgstr "Nemohu zvÄ›tÅ¡it /lost+found: %m\n" -#: e2fsck/problem.c:1429 +#: e2fsck/problem.c:1360 #, c-format msgid "Could not reconnect %i: %m\n" msgstr "Nemohu znovu pÅ™ipojit %i: %m\n" #. @-expanded: Error while trying to find /lost+found: %m\n -#: e2fsck/problem.c:1434 +#: e2fsck/problem.c:1365 #, c-format msgid "Error while trying to find /@l: %m\n" msgstr "Chyba pÅ™i pokusu najít /lost+found: %m\n" #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1439 +#: e2fsck/problem.c:1370 #, c-format msgid "ext2fs_new_@b: %m while trying to create /@l @d\n" msgstr "ext2fs_new_block: %m pÅ™i pokusu vytvoÅ™it adresář /lost+found\n" #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1444 +#: e2fsck/problem.c:1375 #, c-format msgid "ext2fs_new_@i: %m while trying to create /@l @d\n" msgstr "ext2fs_new_inode: %m pÅ™i pokusu vytvoÅ™it adresář /lost+found\n" #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n -#: e2fsck/problem.c:1449 +#: e2fsck/problem.c:1380 #, c-format msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n" msgstr "ext2fs_new_dir_block: %m pÅ™i pokusu vytváření nového adresáře /lost+found\n" #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n -#: e2fsck/problem.c:1454 +#: e2fsck/problem.c:1385 #, c-format msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n" msgstr "ext2fs_write_dir_block: %m pÅ™i zápisu bloku adresáře pro /lost+found\n" #. @-expanded: Error while adjusting inode count on inode %i\n -#: e2fsck/problem.c:1459 +#: e2fsck/problem.c:1390 #, c-format msgid "Error while adjusting @i count on @i %i\n" msgstr "Chyba pÅ™i úpravÄ› Äetnosti iuzlu v iuzlu %i\n" #. @-expanded: Couldn't fix parent of inode %i: %m\n #. @-expanded: \n -#: e2fsck/problem.c:1464 +#: e2fsck/problem.c:1395 #, c-format msgid "" "Couldn't fix parent of @i %i: %m\n" @@ -2345,7 +2266,7 @@ msgstr "" #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n #. @-expanded: \n -#: e2fsck/problem.c:1469 +#: e2fsck/problem.c:1400 #, c-format msgid "" "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n" @@ -2355,75 +2276,75 @@ msgstr "" "\n" #. @-expanded: Error creating root directory (%s): %m\n -#: e2fsck/problem.c:1479 +#: e2fsck/problem.c:1410 #, c-format msgid "Error creating root @d (%s): %m\n" msgstr "Chyba pÅ™i vytváření koÅ™enového adresáře (%s): %m\n" #. @-expanded: Error creating /lost+found directory (%s): %m\n -#: e2fsck/problem.c:1484 +#: e2fsck/problem.c:1415 #, c-format msgid "Error creating /@l @d (%s): %m\n" msgstr "Chyba pÅ™i vytváření adresáře /lost+found (%s): %m\n" #. @-expanded: root inode is not a directory; aborting.\n -#: e2fsck/problem.c:1489 +#: e2fsck/problem.c:1420 msgid "@r is not a @d; aborting.\n" msgstr "KoÅ™enový iuzel není adresář; konÄím.\n" #. @-expanded: Cannot proceed without a root inode.\n -#: e2fsck/problem.c:1494 +#: e2fsck/problem.c:1425 msgid "Cannot proceed without a @r.\n" msgstr "Nemohu pokraÄovat bez koÅ™enového iuzlu.\n" #. @-expanded: /lost+found is not a directory (ino=%i)\n -#: e2fsck/problem.c:1504 +#: e2fsck/problem.c:1435 #, c-format msgid "/@l is not a @d (ino=%i)\n" msgstr "/lost+found není adresář (ino=%i)\n" -#: e2fsck/problem.c:1511 +#: e2fsck/problem.c:1442 msgid "Pass 3A: Optimizing directories\n" msgstr "Průchod 3A: Optimalizuji adresáře\n" -#: e2fsck/problem.c:1516 +#: e2fsck/problem.c:1447 #, c-format msgid "Failed to create dirs_to_hash iterator: %m\n" msgstr "Nemohu vytvoÅ™it iterátor dirs_to_hash: %m\n" -#: e2fsck/problem.c:1521 +#: e2fsck/problem.c:1452 msgid "Failed to optimize directory %q (%d): %m\n" msgstr "Nemohu optimalizovat adresář %q (%d): %m\n" -#: e2fsck/problem.c:1526 +#: e2fsck/problem.c:1457 msgid "Optimizing directories: " msgstr "Optimalizuji adresáře: " -#: e2fsck/problem.c:1543 +#: e2fsck/problem.c:1474 msgid "Pass 4: Checking reference counts\n" -msgstr "Průchod 4: Kontrolují se poÄty odkazů\n" +msgstr "Průchod 4: Kontroluji poÄty odkazů\n" #. @-expanded: unattached zero-length inode %i. -#: e2fsck/problem.c:1548 +#: e2fsck/problem.c:1479 #, c-format msgid "@u @z @i %i. " msgstr "OsiÅ™elý iuzel %i s nulovou délkou. " #. @-expanded: unattached inode %i\n -#: e2fsck/problem.c:1553 +#: e2fsck/problem.c:1484 #, c-format msgid "@u @i %i\n" msgstr "OsiÅ™elý iuzel %i\n" #. @-expanded: inode %i ref count is %Il, should be %N. -#: e2fsck/problem.c:1558 +#: e2fsck/problem.c:1489 msgid "@i %i ref count is %Il, @s %N. " msgstr "PoÄet odkazů na iuzel %i je %Il, mÄ›l by být %N. " #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n -#: e2fsck/problem.c:1562 +#: e2fsck/problem.c:1493 msgid "" "WARNING: PROGRAMMING BUG IN E2FSCK!\n" "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n" @@ -2435,144 +2356,140 @@ msgstr "" "inode_link_info[%i] je %N, inode.i_links_count je %Il. MÄ›ly by být stejné!\n" #. @-expanded: Pass 5: Checking group summary information\n -#: e2fsck/problem.c:1572 +#: e2fsck/problem.c:1503 msgid "Pass 5: Checking @g summary information\n" -msgstr "Průchod 5: Kontrolují se souhrnné informace skupin\n" +msgstr "Průchod 5: Kontroluji souhrnné informace skupin\n" #. @-expanded: Padding at end of inode bitmap is not set. -#: e2fsck/problem.c:1577 +#: e2fsck/problem.c:1508 msgid "Padding at end of @i @B is not set. " msgstr "Výplň na konci bitmapy iuzlů není nastavena. " #. @-expanded: Padding at end of block bitmap is not set. -#: e2fsck/problem.c:1582 +#: e2fsck/problem.c:1513 msgid "Padding at end of @b @B is not set. " msgstr "Výplň na konci bitmapy bloků není nastavena. " #. @-expanded: block bitmap differences: -#: e2fsck/problem.c:1587 +#: e2fsck/problem.c:1518 msgid "@b @B differences: " msgstr "Rozdíly v bitmapÄ› bloků: " #. @-expanded: inode bitmap differences: -#: e2fsck/problem.c:1607 +#: e2fsck/problem.c:1538 msgid "@i @B differences: " msgstr "Rozdíly v bitmapÄ› iuzlů: " #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1627 +#: e2fsck/problem.c:1558 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n" -msgstr "PoÄet volných iuzlů ve skupinÄ› Ä. %g Å¡patnÄ› (%i, spoÄteno=%j).\n" +msgstr "PoÄet volných iuzlů ve skupinÄ› #%g Å¡patnÄ› (%i, spoÄteno=%j).\n" #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1632 +#: e2fsck/problem.c:1563 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n" -msgstr "PoÄet adresářů ve skupinÄ› Ä. %g Å¡patnÄ› (%i, spoÄteno=%j).\n" +msgstr "PoÄet adresářů ve skupinÄ› #%g Å¡patnÄ› (%i, spoÄteno=%j).\n" #. @-expanded: Free inodes count wrong (%i, counted=%j).\n -#: e2fsck/problem.c:1637 +#: e2fsck/problem.c:1568 msgid "Free @is count wrong (%i, counted=%j).\n" msgstr "PoÄet volných iuzlů Å¡patnÄ› (%i, spoÄteno=%j).\n" #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n -#: e2fsck/problem.c:1642 +#: e2fsck/problem.c:1573 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n" -msgstr "PoÄet volných bloků ve skupinÄ› Ä. %g Å¡patnÄ› (%b, spoÄteno=%c).\n" +msgstr "PoÄet volných bloků ve skupinÄ› #%g Å¡patnÄ› (%b, spoÄteno=%c).\n" #. @-expanded: Free blocks count wrong (%b, counted=%c).\n -#: e2fsck/problem.c:1647 +#: e2fsck/problem.c:1578 msgid "Free @bs count wrong (%b, counted=%c).\n" msgstr "PoÄet volných bloků Å¡patnÄ› (%b, spoÄteno=%c).\n" #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap #. @-expanded: endpoints (%i, %j)\n -#: e2fsck/problem.c:1652 +#: e2fsck/problem.c:1583 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n" msgstr "CHYBA PŘI PROGRAMOVÃNÃ: hranice (%b, %c) bitmapy systému souborů (#%N) neodpovídají vypoÄteným hranicím bitmapy (%i, %j)\n" -#: e2fsck/problem.c:1658 +#: e2fsck/problem.c:1589 msgid "Internal error: fudging end of bitmap (%N)\n" msgstr "Interní chyba: pokažený konec bitmapy (%N)\n" #. @-expanded: Error copying in replacement inode bitmap: %m\n -#: e2fsck/problem.c:1663 +#: e2fsck/problem.c:1594 #, c-format msgid "Error copying in replacement @i @B: %m\n" msgstr "Chyba pÅ™i kopírování do náhradní bitmapy iuzlů: %m\n" #. @-expanded: Error copying in replacement block bitmap: %m\n -#: e2fsck/problem.c:1668 +#: e2fsck/problem.c:1599 #, c-format msgid "Error copying in replacement @b @B: %m\n" msgstr "Chyba pÅ™i kopírování do náhradní bitmapy bloků: %m\n" #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n -#: e2fsck/problem.c:1693 +#: e2fsck/problem.c:1624 #, c-format msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n" msgstr "Blok(y) skupiny %g je/jsou používán(y), ale skupina je oznaÄena jako BLOCK_UNINIT\n" #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n -#: e2fsck/problem.c:1698 +#: e2fsck/problem.c:1629 #, c-format msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n" msgstr "Iuzel/iuzly skupiny %g je/jsou používán(y), ale skupina je oznaÄena jako INODE_UNINIT\n" #. @-expanded: Recreate journal -#: e2fsck/problem.c:1705 +#: e2fsck/problem.c:1636 msgid "Recreate @j" msgstr "Znovu vytvoÅ™it žurnál" -#: e2fsck/problem.c:1710 -msgid "Update quota info for quota type %N" -msgstr "Aktualizovat údaje o kvótách pro druh kvót %N" - -#: e2fsck/problem.c:1829 +#: e2fsck/problem.c:1755 #, c-format msgid "Unhandled error code (0x%x)!\n" msgstr "Neobsloužený kód chyby (0x%x)!\n" -#: e2fsck/problem.c:1954 e2fsck/problem.c:1958 +#: e2fsck/problem.c:1850 msgid "IGNORED" msgstr "IGNOROVÃNO" -#: e2fsck/scantest.c:79 +#: e2fsck/scantest.c:81 #, c-format msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n" msgstr "Použitá paměť: %d, strávený Äas: %6.3f/%6.3f/%6.3f\n" -#: e2fsck/scantest.c:98 +#: e2fsck/scantest.c:100 #, c-format msgid "size of inode=%d\n" msgstr "velikost iuzlu=%d\n" -#: e2fsck/scantest.c:119 +#: e2fsck/scantest.c:121 msgid "while starting inode scan" msgstr "pÅ™i spouÅ¡tÄ›ní prohlídky iuzlů" -#: e2fsck/scantest.c:130 +#: e2fsck/scantest.c:132 msgid "while doing inode scan" msgstr "pÅ™i provádÄ›ní prohlídky iuzlů" -#: e2fsck/super.c:188 +#: e2fsck/super.c:187 #, c-format msgid "while calling ext2fs_block_iterate for inode %d" msgstr "pÅ™i volání ext2fs_block_iterate pro iuzel %d" -#: e2fsck/super.c:211 +#: e2fsck/super.c:209 #, c-format -msgid "while calling ext2fs_adjust_ea_refcount2 for inode %d" -msgstr "pÅ™i volání ext2fs_adjust_ea_refcount2 pro iuzel %d" +msgid "while calling ext2fs_adjust_ea_refcount for inode %d" +msgstr "pÅ™i volání ext2fs_adjust_ea_refcount pro iuzel %d" -#: e2fsck/super.c:272 +#: e2fsck/super.c:267 msgid "Truncating" msgstr "Usekávám" -#: e2fsck/super.c:273 +#: e2fsck/super.c:268 msgid "Clearing" msgstr "Mažu" -#: e2fsck/unix.c:74 +#: e2fsck/unix.c:76 #, c-format msgid "" "Usage: %s [-panyrcdfvtDFV] [-b superblock] [-B blocksize]\n" @@ -2585,7 +2502,7 @@ msgstr "" "\t\t[-l|-L soubor_Å¡patných_bloků] [-C fd] [-j externí_žurnál]\n" "\t\t[-E rozšířené-pÅ™epínaÄe] zařízení\n" -#: e2fsck/unix.c:80 +#: e2fsck/unix.c:82 #, c-format msgid "" "\n" @@ -2604,7 +2521,7 @@ msgstr "" " -c Hledat Å¡patné bloky a pÅ™idat je do seznamu Å¡patných bloků\n" " -f Vynutit kontrolu, i když je systém souborů oznaÄen Äistý\n" -#: e2fsck/unix.c:86 +#: e2fsck/unix.c:88 #, c-format msgid "" " -v Be verbose\n" @@ -2616,192 +2533,45 @@ msgid "" msgstr "" " -v Být podrobný\n" " -b superblok Použít alternativní superblok\n" -" -B velikost_bloku Vnutit velikost bloku pÅ™i hledání superbloku\n" +" -B velikost_bloku Vnutit velikost bloku pÅ™i hledání superbloku\n" " -j externí_žurnál Nastavit umístÄ›ní externího žurnálu\n" " -l soubor_Å¡patných_bloků\n" " PÅ™idat do seznamu Å¡patných bloků\n" " -L soubor_Å¡patných_bloků\n" " Nastavit seznam Å¡patných bloků\n" -#: e2fsck/unix.c:131 -#, c-format -msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n" -msgstr "%s: %'u/%'u souborů (%0d,%d %% nesouvislých), %'llu/%'llu bloků\n" - -#: e2fsck/unix.c:157 -#, c-format -msgid "" -"\n" -"%12u inode used (%2.2f%%, out of %u)\n" -msgid_plural "" -"\n" -"%12u inodes used (%2.2f%%, out of %u)\n" -msgstr[0] "" -"\n" -"%12u použitý iuzel (%2.2f %% z %u)\n" -msgstr[1] "" -"\n" -"%12u použité iuzly (%2.2f %% z %u)\n" -msgstr[2] "" -"\n" -"%12u použitých iuzlů (%2.2f %% z %u)\n" - -#: e2fsck/unix.c:161 -#, c-format -msgid "%12u non-contiguous file (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous files (%0d.%d%%)\n" -msgstr[0] "%12u nesouvislý soubor (%0d,%d %%)\n" -msgstr[1] "%12u nesouvislé soubory (%0d,%d %%)\n" -msgstr[2] "%12u nesouvislých souborů (%0d,%d %%)\n" - -#: e2fsck/unix.c:166 -#, c-format -msgid "%12u non-contiguous directory (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n" -msgstr[0] "%12u nesouvislý adresář (%0d,%d %%)\n" -msgstr[1] "%12u nesouvislé adresáře (%0d,%d %%)\n" -msgstr[2] "%12u nesouvislých adresářů (%0d,%d %%)\n" - -#: e2fsck/unix.c:171 -#, c-format -msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" -msgstr " PoÄet iuzlů s ind/dind/tind bloky: %'u/%'u/%'u\n" - -#: e2fsck/unix.c:179 -msgid " Extent depth histogram: " -msgstr " Histogram hloubky rozsahu: " - -#: e2fsck/unix.c:188 -#, c-format -msgid "%12llu block used (%2.2f%%, out of %llu)\n" -msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n" -msgstr[0] "%12llu použitý blok (%2.2f %% z %llu)\n" -msgstr[1] "%12llu použité bloky (%2.2f %% z %llu)\n" -msgstr[2] "%12llu použitých bloků (%2.2f %% z %llu)\n" - -#: e2fsck/unix.c:192 -#, c-format -msgid "%12u bad block\n" -msgid_plural "%12u bad blocks\n" -msgstr[0] "%12u chybný blok\n" -msgstr[1] "%12u chybné bloky\n" -msgstr[2] "%12u chybných bloků\n" - -#: e2fsck/unix.c:194 -#, c-format -msgid "%12u large file\n" -msgid_plural "%12u large files\n" -msgstr[0] "%12u velký soubor\n" -msgstr[1] "%12u velké soubory\n" -msgstr[2] "%12u velkých souborů\n" - -#: e2fsck/unix.c:196 -#, c-format -msgid "" -"\n" -"%12u regular file\n" -msgid_plural "" -"\n" -"%12u regular files\n" -msgstr[0] "" -"\n" -"%12u obyÄejný soubor\n" -msgstr[1] "" -"\n" -"%12u obyÄejné soubory\n" -msgstr[2] "" -"\n" -"%12u obyÄejných souborů\n" - -#: e2fsck/unix.c:198 -#, c-format -msgid "%12u directory\n" -msgid_plural "%12u directories\n" -msgstr[0] "%12u adresář\n" -msgstr[1] "%12u adresáře\n" -msgstr[2] "%12u adresářů\n" - -#: e2fsck/unix.c:200 -#, c-format -msgid "%12u character device file\n" -msgid_plural "%12u character device files\n" -msgstr[0] "%12u znakové zařízení\n" -msgstr[1] "%12u znaková zařízení\n" -msgstr[2] "%12u znakových zařízení\n" - -#: e2fsck/unix.c:203 -#, c-format -msgid "%12u block device file\n" -msgid_plural "%12u block device files\n" -msgstr[0] "%12u blokové zařízení\n" -msgstr[1] "%12u bloková zařízení\n" -msgstr[2] "%12u blokových zařízení\n" - -#: e2fsck/unix.c:205 -#, c-format -msgid "%12u fifo\n" -msgid_plural "%12u fifos\n" -msgstr[0] "%12u roura\n" -msgstr[1] "%12u roury\n" -msgstr[2] "%12u rour\n" - -#: e2fsck/unix.c:207 -#, c-format -msgid "%12u link\n" -msgid_plural "%12u links\n" -msgstr[0] "%12u odkaz\n" -msgstr[1] "%12u odkazy\n" -msgstr[2] "%12u odkazů\n" - -#: e2fsck/unix.c:209 -#, c-format -msgid "%12u symbolic link" -msgid_plural "%12u symbolic links" -msgstr[0] "%12u symbolický odkaz" -msgstr[1] "%12u symbolické odkazy" -msgstr[2] "%12u symbolických odkazů" - -#: e2fsck/unix.c:211 +#: e2fsck/unix.c:132 #, c-format -msgid " (%u fast symbolic link)\n" -msgid_plural " (%u fast symbolic links)\n" -msgstr[0] "(%u rychlý symbolický odkaz)\n" -msgstr[1] "(%u rychlé symbolické odkazy)\n" -msgstr[2] "(%u rychlých symbolických odkazů)\n" +msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n" +msgstr "%s: %'u/%'u souborů (%0d,%d %% nesouvislých), %'u/%'u bloků\n" -#: e2fsck/unix.c:215 +#: e2fsck/unix.c:150 #, c-format -msgid "%12u socket\n" -msgid_plural "%12u sockets\n" -msgstr[0] "%12u socket\n" -msgstr[1] "%12u sockety\n" -msgstr[2] "%12u socketů\n" +msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" +msgstr " PoÄet iuzlů s ind/dind/tind bloky: %'u/%'u/%'u\n" -#: e2fsck/unix.c:219 +#: e2fsck/unix.c:157 #, c-format -msgid "%12u file\n" -msgid_plural "%12u files\n" -msgstr[0] "%12u soubor\n" -msgstr[1] "%12u soubory\n" -msgstr[2] "%12u souborů\n" +msgid " Extent depth histogram: " +msgstr " Histogram hloubky rozsahu: " -#: e2fsck/unix.c:232 misc/badblocks.c:983 misc/tune2fs.c:1985 misc/util.c:147 -#: resize/main.c:259 +#: e2fsck/unix.c:207 misc/badblocks.c:928 misc/tune2fs.c:1625 misc/util.c:151 +#: resize/main.c:249 #, c-format msgid "while determining whether %s is mounted." msgstr "pÅ™i zjiÅ¡Å¥ování, jestli je %s pÅ™ipojen." -#: e2fsck/unix.c:252 +#: e2fsck/unix.c:225 #, c-format -msgid "Warning! %s is %s.\n" -msgstr "Pozor! %s je %s.\n" +msgid "Warning! %s is mounted.\n" +msgstr "Varování! %s je pÅ™ipojen.\n" -#: e2fsck/unix.c:259 +#: e2fsck/unix.c:229 #, c-format -msgid "%s is %s.\n" -msgstr "%s je %s.\n" +msgid "%s is mounted. " +msgstr "%s je pÅ™ipojen. " -#: e2fsck/unix.c:262 +#: e2fsck/unix.c:231 msgid "" "Cannot continue, aborting.\n" "\n" @@ -2809,93 +2579,94 @@ msgstr "" "Nemohu pokraÄovat, konÄím.\n" "\n" -#: e2fsck/unix.c:264 +#: e2fsck/unix.c:232 +#, c-format msgid "" "\n" "\n" -"WARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" -"cause ***SEVERE*** filesystem damage.\n" +"\a\a\a\aWARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" +"cause ***SEVERE*** filesystem damage.\a\a\a\n" "\n" msgstr "" "\n" "\n" -"POZOR!!! Souborový systém je pÅ™ipojen. Budete-li pokraÄovat,\n" -"***ZPÅ®SOBÃTE VÃŽNÉ*** poÅ¡kození systému souborů.\n" +"\a\a\a\aVAROVÃNÃ!!! Souborový systém je pÅ™ipojen. Budete-li pokraÄovat,\n" +"***ZPÅ®SOBÃTE VÃŽNÉ*** poÅ¡kození systému souborů.\a\a\a\n" "\n" -#: e2fsck/unix.c:269 +#: e2fsck/unix.c:235 msgid "Do you really want to continue" msgstr "Chcete opravdu pokraÄovat" -#: e2fsck/unix.c:271 +#: e2fsck/unix.c:237 #, c-format msgid "check aborted.\n" msgstr "kontrola pÅ™eruÅ¡ena.\n" -#: e2fsck/unix.c:361 +#: e2fsck/unix.c:315 msgid " contains a file system with errors" msgstr " obsahuje systém souborů s chybami" -#: e2fsck/unix.c:363 +#: e2fsck/unix.c:317 msgid " was not cleanly unmounted" msgstr " nebyl ÄistÄ› odpojen" -#: e2fsck/unix.c:365 +#: e2fsck/unix.c:319 msgid " primary superblock features different from backup" msgstr " vlastnosti primárního superbloku se liší od záložního" -#: e2fsck/unix.c:369 +#: e2fsck/unix.c:323 #, c-format msgid " has been mounted %u times without being checked" msgstr " byl pÅ™ipojen %ukrát bez kontroly" -#: e2fsck/unix.c:376 +#: e2fsck/unix.c:330 msgid " has filesystem last checked time in the future" msgstr " má Äas poslední kontroly systému souborů v budoucnosti" -#: e2fsck/unix.c:382 +#: e2fsck/unix.c:336 #, c-format msgid " has gone %u days without being checked" msgstr " nebyl kontrolován %u dní" -#: e2fsck/unix.c:391 +#: e2fsck/unix.c:345 msgid ", check forced.\n" msgstr ", kontrola vynucena.\n" -#: e2fsck/unix.c:424 +#: e2fsck/unix.c:348 #, c-format -msgid "%s: clean, %u/%u files, %llu/%llu blocks" -msgstr "%s: Äistý, %'u/%'u souborů, %'llu/%'llu bloků" +msgid "%s: clean, %u/%u files, %u/%u blocks" +msgstr "%s: Äistý, %'u/%'u souborů, %'u/%'u bloků" -#: e2fsck/unix.c:443 +#: e2fsck/unix.c:365 msgid " (check deferred; on battery)" msgstr " (kontrola odložena, běžím na baterii)" -#: e2fsck/unix.c:446 +#: e2fsck/unix.c:368 msgid " (check after next mount)" msgstr " (kontrola po příštím pÅ™ipojení)" -#: e2fsck/unix.c:448 +#: e2fsck/unix.c:370 #, c-format msgid " (check in %ld mounts)" msgstr " (kontrola za %ld pÅ™ipojení)" -#: e2fsck/unix.c:598 +#: e2fsck/unix.c:517 #, c-format msgid "ERROR: Couldn't open /dev/null (%s)\n" msgstr "CHYBA: Nemohu otevřít /dev/null (%s)\n" -#: e2fsck/unix.c:667 +#: e2fsck/unix.c:587 #, c-format msgid "Invalid EA version.\n" msgstr "Neplatná verze EA.\n" -#: e2fsck/unix.c:694 +#: e2fsck/unix.c:596 #, c-format msgid "Unknown extended option: %s\n" msgstr "Neznámý rozšířený pÅ™epínaÄ: %s\n" -#: e2fsck/unix.c:719 +#: e2fsck/unix.c:618 #, c-format msgid "" "Syntax error in e2fsck config file (%s, line #%d)\n" @@ -2904,48 +2675,47 @@ msgstr "" "Syntaktická chyba v konfiguraÄním souboru e2fsck (%s, řádek Ä. %d)\n" "\t%s\n" -#: e2fsck/unix.c:788 +#: e2fsck/unix.c:686 #, c-format msgid "Error validating file descriptor %d: %s\n" msgstr "Chyba pÅ™i ověřování platnosti deskriptoru souboru %d: %s\n" -#: e2fsck/unix.c:792 +#: e2fsck/unix.c:690 msgid "Invalid completion information file descriptor" msgstr "Neplatný deskriptor souborů informace o dokonÄení" -#: e2fsck/unix.c:807 +#: e2fsck/unix.c:705 msgid "Only one of the options -p/-a, -n or -y may be specified." msgstr "Může být zadán jen jeden z pÅ™epínaÄů -p/-a, -n nebo -y." -#: e2fsck/unix.c:828 +#: e2fsck/unix.c:726 #, c-format msgid "The -t option is not supported on this version of e2fsck.\n" msgstr "PÅ™epínaÄ -t není v této verzi e2fsck podporován.\n" -#: e2fsck/unix.c:859 e2fsck/unix.c:931 misc/tune2fs.c:811 misc/tune2fs.c:1100 -#: misc/tune2fs.c:1118 -#, c-format -msgid "Unable to resolve '%s'" -msgstr "Nelze vyÅ™eÅ¡it „%s“" - -#: e2fsck/unix.c:910 +#: e2fsck/unix.c:801 msgid "The -n and -D options are incompatible." msgstr "PÅ™epínaÄe -n a -D se vzájemnÄ› vyluÄují." -#: e2fsck/unix.c:915 +#: e2fsck/unix.c:806 msgid "The -n and -c options are incompatible." msgstr "PÅ™epínaÄe -n a -c se vzájemnÄ› vyluÄují." -#: e2fsck/unix.c:920 +#: e2fsck/unix.c:811 msgid "The -n and -l/-L options are incompatible." msgstr "PÅ™epínaÄe -n a -l/-L se vzájemnÄ› vyluÄují." -#: e2fsck/unix.c:974 +#: e2fsck/unix.c:822 misc/tune2fs.c:550 misc/tune2fs.c:835 misc/tune2fs.c:853 +#, c-format +msgid "Unable to resolve '%s'" +msgstr "Nelze vyÅ™eÅ¡it „%s“" + +#: e2fsck/unix.c:851 #, c-format msgid "The -c and the -l/-L options may not be both used at the same time.\n" msgstr "PÅ™epínaÄe -c a -l/-L nemohou být použity zároveň.\n" -#: e2fsck/unix.c:1022 +#: e2fsck/unix.c:899 #, c-format msgid "" "E2FSCK_JBD_DEBUG \"%s\" not an integer\n" @@ -2954,7 +2724,7 @@ msgstr "" "E2FSCK_JBD_DEBUG „%s“ není celým Äíslem\n" "\n" -#: e2fsck/unix.c:1031 +#: e2fsck/unix.c:908 #, c-format msgid "" "\n" @@ -2965,65 +2735,44 @@ msgstr "" "Neplatný neÄíselný argument u -%c („%s“)\n" "\n" -#: e2fsck/unix.c:1120 -#, c-format -msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n" -msgstr "Interval MMP je %u sekund a celková doba Äekání je %u sekund. Prosím o strpení…\n" - -#: e2fsck/unix.c:1137 e2fsck/unix.c:1142 -msgid "while checking MMP block" -msgstr "pÅ™i kontrole bloku MMP" - -#: e2fsck/unix.c:1144 misc/tune2fs.c:1912 -msgid "" -"If you are sure the filesystem is not in use on any node, run:\n" -"'tune2fs -f -E clear_mmp {device}'\n" -msgstr "" -"Jste-li si jisti, že souborový systém není používán na žádném uzlu, spusÅ¥te:\n" -"„tune2fs -f -E clear_mmp ZAŘÃZENÓ\n" - -#: e2fsck/unix.c:1194 +#: e2fsck/unix.c:982 #, c-format msgid "Error: ext2fs library version out of date!\n" msgstr "Chyba: stará verze knihovny ext2fs!\n" -#: e2fsck/unix.c:1202 +#: e2fsck/unix.c:990 msgid "while trying to initialize program" msgstr "pÅ™i pokusu inicializovat program" -#: e2fsck/unix.c:1225 +#: e2fsck/unix.c:1001 #, c-format msgid "\tUsing %s, %s\n" msgstr "\tPoužívám %s, %s\n" -#: e2fsck/unix.c:1237 +#: e2fsck/unix.c:1013 msgid "need terminal for interactive repairs" msgstr "pro interaktivní opravy potÅ™ebuji terminál" -#: e2fsck/unix.c:1290 +#: e2fsck/unix.c:1046 #, c-format msgid "%s: %s trying backup blocks...\n" msgstr "%s: %s zkouším záložní bloky…\n" -#: e2fsck/unix.c:1292 +#: e2fsck/unix.c:1048 msgid "Superblock invalid," msgstr "Neplatný superblok," -#: e2fsck/unix.c:1293 +#: e2fsck/unix.c:1049 msgid "Group descriptors look bad..." msgstr "Deskriptory skupin vypadají Å¡patně…" -#: e2fsck/unix.c:1303 -#, c-format -msgid "%s: %s while using the backup blocks" -msgstr "%s: %s pÅ™i použití záložních bloků" - -#: e2fsck/unix.c:1307 +#: e2fsck/unix.c:1059 #, c-format msgid "%s: going back to original superblock\n" msgstr "%s: návrat k původnímu superbloku\n" -#: e2fsck/unix.c:1335 +#: e2fsck/unix.c:1086 +#, c-format msgid "" "The filesystem revision is apparently too high for this version of e2fsck.\n" "(Or the filesystem superblock is corrupt)\n" @@ -3033,28 +2782,28 @@ msgstr "" "(Nebo je superblok systému souborů poÅ¡kozen)\n" "\n" -#: e2fsck/unix.c:1341 +#: e2fsck/unix.c:1092 +#, c-format msgid "Could this be a zero-length partition?\n" msgstr "Mohl by toto být oddíl nulové délky?\n" -#: e2fsck/unix.c:1344 +#: e2fsck/unix.c:1094 #, c-format msgid "You must have %s access to the filesystem or be root\n" msgstr "Musíte mít přístup %s k systému souborů nebo být root\n" -#: e2fsck/unix.c:1349 +#: e2fsck/unix.c:1099 +#, c-format msgid "Possibly non-existent or swap device?\n" msgstr "PravdÄ›podobnÄ› neexistující nebo odkládací zařízení?\n" -#: e2fsck/unix.c:1352 +#: e2fsck/unix.c:1101 +#, c-format msgid "Filesystem mounted or opened exclusively by another program?\n" msgstr "Systém souborů pÅ™ipojen nebo otevÅ™en výluÄnÄ› jiným programem?\n" -#: e2fsck/unix.c:1355 -msgid "Possibly non-existent device?\n" -msgstr "PravdÄ›podobnÄ› neexistující zařízení?\n" - -#: e2fsck/unix.c:1358 +#: e2fsck/unix.c:1105 +#, c-format msgid "" "Disk write-protected; use the -n option to do a read-only\n" "check of the device.\n" @@ -3062,69 +2811,83 @@ msgstr "" "Disk chránÄ›n proti zápisu; použijte pÅ™epínaÄ -n pro provedení\n" "kontroly zařízení jen pro Ätení.\n" -#: e2fsck/unix.c:1423 +#: e2fsck/unix.c:1169 msgid "Get a newer version of e2fsck!" msgstr "Sežeňte novÄ›jší verzi e2fsck!" -#: e2fsck/unix.c:1467 +#: e2fsck/unix.c:1199 #, c-format msgid "while checking ext3 journal for %s" msgstr "pÅ™i kontrole žurnálu ext3 pro %s" -#: e2fsck/unix.c:1478 +#: e2fsck/unix.c:1210 +#, c-format msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n" msgstr "" "Varování: pÅ™eskakuji obnovu žurnálu, protože provádím kontrolu systému\n" "souborů jen pro Ätení.\n" -#: e2fsck/unix.c:1491 +#: e2fsck/unix.c:1223 #, c-format msgid "unable to set superblock flags on %s\n" msgstr "nemohu nastavit příznaky superbloku na %s\n" -#: e2fsck/unix.c:1497 +#: e2fsck/unix.c:1229 #, c-format msgid "while recovering ext3 journal of %s" msgstr "pÅ™i obnovÄ› žurnálu ext3 %s" -#: e2fsck/unix.c:1521 +#: e2fsck/unix.c:1254 #, c-format msgid "%s has unsupported feature(s):" msgstr "%s má nepodporovanou vlastnost(i):" -#: e2fsck/unix.c:1536 -#, c-format -msgid "%s: warning: compression support is experimental.\n" -msgstr "%s: pozor: podpora komprese je experimentální.\n" +#: e2fsck/unix.c:1270 +msgid "Warning: compression support is experimental.\n" +msgstr "Varování: podpora komprese je experimentální.\n" -#: e2fsck/unix.c:1542 +#: e2fsck/unix.c:1275 #, c-format msgid "" -"%s: e2fsck not compiled with HTREE support,\n" +"E2fsck not compiled with HTREE support,\n" "\tbut filesystem %s has HTREE directories.\n" msgstr "" -"%s: E2fsck nepÅ™eložen s podporou HTREE,\n" +"E2fsck nepÅ™eložen s podporou HTREE,\n" "\tale systém souborů %s má adresáře HTREE.\n" -#: e2fsck/unix.c:1594 -#, c-format -msgid "%s: %s while reading bad blocks inode\n" -msgstr "%s: %s pÅ™i Ätení iuzlu Å¡patných bloků\n" +#: e2fsck/unix.c:1328 +msgid "while reading bad blocks inode" +msgstr "pÅ™i Ätení iuzlu Å¡patných bloků" -#: e2fsck/unix.c:1597 +#: e2fsck/unix.c:1330 +#, c-format msgid "This doesn't bode well, but we'll try to go on...\n" msgstr "Toto nevypadá dobÅ™e, ale zkusíme pokraÄovat…\n" -#: e2fsck/unix.c:1638 +#: e2fsck/unix.c:1356 +msgid "Couldn't determine journal size" +msgstr "Velikost žurnálu nelze urÄit" + +#: e2fsck/unix.c:1359 #, c-format msgid "Creating journal (%d blocks): " -msgstr "Vytváří se žurnál (%d bloků): " +msgstr "Vytvářím žurnál (%d bloků): " + +#: e2fsck/unix.c:1366 misc/mke2fs.c:2248 +msgid "" +"\n" +"\twhile trying to create journal" +msgstr "" +"\n" +"\tpÅ™i pokusu vytvoÅ™it žurnál" -#: e2fsck/unix.c:1648 +#: e2fsck/unix.c:1369 +#, c-format msgid " Done.\n" msgstr " Hotovo.\n" -#: e2fsck/unix.c:1649 +#: e2fsck/unix.c:1370 +#, c-format msgid "" "\n" "*** journal has been re-created - filesystem is now ext3 again ***\n" @@ -3132,24 +2895,25 @@ msgstr "" "\n" "*** žurnál by znovu vytvoÅ™en – souborový systém se opÄ›t stal ext3 ***\n" -#: e2fsck/unix.c:1672 +#: e2fsck/unix.c:1377 +#, c-format msgid "Restarting e2fsck from the beginning...\n" msgstr "SpouÅ¡tím e2fsck od zaÄátku…\n" -#: e2fsck/unix.c:1676 +#: e2fsck/unix.c:1381 msgid "while resetting context" msgstr "pÅ™i nulování kontextu" -#: e2fsck/unix.c:1683 +#: e2fsck/unix.c:1388 #, c-format msgid "%s: e2fsck canceled.\n" msgstr "%s: e2fsck pÅ™eruÅ¡en.\n" -#: e2fsck/unix.c:1688 +#: e2fsck/unix.c:1393 msgid "aborted" msgstr "pÅ™eruÅ¡en" -#: e2fsck/unix.c:1700 e2fsck/util.c:67 +#: e2fsck/unix.c:1405 #, c-format msgid "" "\n" @@ -3158,12 +2922,12 @@ msgstr "" "\n" "%s: ***** SYSTÉM SOUBORÅ® BYL ZMÄšNÄšN *****\n" -#: e2fsck/unix.c:1704 +#: e2fsck/unix.c:1408 #, c-format msgid "%s: ***** REBOOT LINUX *****\n" msgstr "%s: ***** ZNOVU ZAVEÄŽTE LINUX *****\n" -#: e2fsck/unix.c:1712 e2fsck/util.c:73 +#: e2fsck/unix.c:1416 #, c-format msgid "" "\n" @@ -3174,43 +2938,43 @@ msgstr "" "%s: ********** VAROVÃNÃ: Systém souborů má stále chyby **********\n" "\n" -#: e2fsck/unix.c:1752 +#: e2fsck/unix.c:1454 msgid "while setting block group checksum info" msgstr "pÅ™i nastavování informace o kontrolním souÄtu skupiny bloků" -#: e2fsck/util.c:190 misc/util.c:70 +#: e2fsck/util.c:138 misc/util.c:68 msgid "yY" msgstr "aA" -#: e2fsck/util.c:191 +#: e2fsck/util.c:139 msgid "nN" msgstr "nN" -#: e2fsck/util.c:205 +#: e2fsck/util.c:153 msgid "" msgstr "" -#: e2fsck/util.c:207 +#: e2fsck/util.c:155 msgid "" msgstr "" -#: e2fsck/util.c:209 +#: e2fsck/util.c:157 msgid " (y/n)" msgstr " (a/n)" -#: e2fsck/util.c:223 +#: e2fsck/util.c:172 msgid "cancelled!\n" msgstr "pÅ™eruÅ¡eno!\n" -#: e2fsck/util.c:238 +#: e2fsck/util.c:187 msgid "yes\n" msgstr "ano\n" -#: e2fsck/util.c:240 +#: e2fsck/util.c:189 msgid "no\n" msgstr "ne\n" -#: e2fsck/util.c:250 +#: e2fsck/util.c:199 #, c-format msgid "" "%s? no\n" @@ -3219,7 +2983,7 @@ msgstr "" "%s? ne\n" "\n" -#: e2fsck/util.c:254 +#: e2fsck/util.c:203 #, c-format msgid "" "%s? yes\n" @@ -3228,38 +2992,38 @@ msgstr "" "%s? ano\n" "\n" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "yes" msgstr "ano" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "no" msgstr "ne" -#: e2fsck/util.c:273 +#: e2fsck/util.c:221 #, c-format msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s" msgstr "e2fsck_read_bitmaps: neplatný blok(y) bitmapy pro %s" -#: e2fsck/util.c:278 +#: e2fsck/util.c:226 msgid "reading inode and block bitmaps" msgstr "Ätení bitmap iuzlů a bloků" -#: e2fsck/util.c:286 +#: e2fsck/util.c:231 #, c-format msgid "while retrying to read bitmaps for %s" msgstr "pÅ™i opakovaném pokusu naÄíst bitmapy pro %s" -#: e2fsck/util.c:298 +#: e2fsck/util.c:243 msgid "writing block and inode bitmaps" msgstr "zápisu bitmap bloků a iuzlů" -#: e2fsck/util.c:303 +#: e2fsck/util.c:248 #, c-format msgid "while rewriting block and inode bitmaps for %s" msgstr "pÅ™i pÅ™episu bitmap bloků a iuzlů pro %s" -#: e2fsck/util.c:315 +#: e2fsck/util.c:260 #, c-format msgid "" "\n" @@ -3272,49 +3036,45 @@ msgstr "" "%s: NEOÄŒEKÃVANà NEKONZISTENCE; SPUSŤTE fsck RUÄŒNÄš.\n" "\t(tj. bez pÅ™epínaÄů -a nebo -p)\n" -#: e2fsck/util.c:396 +#: e2fsck/util.c:341 #, c-format msgid "Memory used: %luk/%luk (%luk/%luk), " msgstr "Použitá paměť: %luk/%luk (%luk/%luk), " -#: e2fsck/util.c:400 +#: e2fsck/util.c:345 #, c-format msgid "Memory used: %lu, " msgstr "Použitá paměť: %lu, " -#: e2fsck/util.c:407 +#: e2fsck/util.c:352 #, c-format msgid "time: %5.2f/%5.2f/%5.2f\n" msgstr "Äas: %5.2f/%5.2f/%5.2f\n" -#: e2fsck/util.c:412 +#: e2fsck/util.c:357 #, c-format msgid "elapsed time: %6.3f\n" msgstr "strávený Äas: %6.3f\n" -#: e2fsck/util.c:447 e2fsck/util.c:461 +#: e2fsck/util.c:391 e2fsck/util.c:405 #, c-format msgid "while reading inode %lu in %s" msgstr "pÅ™i Ätení iuzlu %lu v %s" -#: e2fsck/util.c:475 e2fsck/util.c:488 +#: e2fsck/util.c:419 e2fsck/util.c:432 #, c-format msgid "while writing inode %lu in %s" msgstr "pÅ™i zápisu iuzlu %lu v %s" -#: e2fsck/util.c:637 +#: e2fsck/util.c:581 msgid "while allocating zeroizing buffer" msgstr "PÅ™i alokaci nulovací vyrovnávací pamÄ›ti" -#: e2fsck/util.c:785 -msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n" -msgstr "NEÄŒEKANà NEKONZISTENCE: souborový systém je mÄ›nÄ›n, zatímco fsck běží.\n" +#: misc/badblocks.c:66 +msgid "done \n" +msgstr "hotovo \n" -#: misc/badblocks.c:69 -msgid "done \n" -msgstr "hotovo \n" - -#: misc/badblocks.c:92 +#: misc/badblocks.c:89 #, c-format msgid "" "Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnf]\n" @@ -3328,7 +3088,7 @@ msgstr "" " [-t zkuÅ¡ební_vzorek [-t zkuÅ¡ební_vzorek […]]]\n" " zařízení [poslední_blok [první_blok]]\n" -#: misc/badblocks.c:103 +#: misc/badblocks.c:100 #, c-format msgid "" "%s: The -n and -w options are mutually exclusive.\n" @@ -3337,133 +3097,133 @@ msgstr "" "%s: PÅ™epínaÄe „-n“ a „-w“ se vzájemnÄ› vyluÄují.\n" "\n" -#: misc/badblocks.c:218 +#: misc/badblocks.c:202 #, c-format -msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)" -msgstr "%6.2f %% hotovo, %s uplynulo. (%d/%d/%d chyb)" +msgid "%6.2f%% done, %s elapsed" +msgstr "%6.2f %% hotovo, %s uplynulo" -#: misc/badblocks.c:322 +#: misc/badblocks.c:293 msgid "Testing with random pattern: " msgstr "Zkouším s náhodným vzorkem: " -#: misc/badblocks.c:340 +#: misc/badblocks.c:311 msgid "Testing with pattern 0x" msgstr "Zkouším se vzorkem 0x" -#: misc/badblocks.c:372 misc/badblocks.c:445 +#: misc/badblocks.c:339 misc/badblocks.c:408 msgid "during seek" msgstr "pÅ™i posunu" -#: misc/badblocks.c:383 +#: misc/badblocks.c:350 #, c-format msgid "Weird value (%ld) in do_read\n" msgstr "Divná hodnota (%ld) v do_read\n" -#: misc/badblocks.c:469 +#: misc/badblocks.c:428 msgid "during ext2fs_sync_device" msgstr "pÅ™i ext2fs_sync_device" -#: misc/badblocks.c:489 misc/badblocks.c:749 +#: misc/badblocks.c:447 misc/badblocks.c:711 msgid "while beginning bad block list iteration" msgstr "pÅ™i zaÄátku iterace v seznamu Å¡patných bloků" -#: misc/badblocks.c:503 misc/badblocks.c:602 misc/badblocks.c:759 +#: misc/badblocks.c:461 misc/badblocks.c:563 misc/badblocks.c:721 msgid "while allocating buffers" msgstr "pÅ™i alokaci vyrovnávacích pamÄ›ti" -#: misc/badblocks.c:507 +#: misc/badblocks.c:465 #, c-format msgid "Checking blocks %lu to %lu\n" -msgstr "Ověřují se bloky %lu až %lu\n" +msgstr "Ověřuji bloky %lu až %lu\n" -#: misc/badblocks.c:512 +#: misc/badblocks.c:470 msgid "Checking for bad blocks in read-only mode\n" -msgstr "Hledají se Å¡patné bloky v režimu jen pro Ätení\n" +msgstr "Hledám Å¡patné bloky v režimu jen pro Ätení\n" -#: misc/badblocks.c:521 +#: misc/badblocks.c:479 msgid "Checking for bad blocks (read-only test): " -msgstr "Hledají se Å¡patné bloky (test jen pro Ätení): " +msgstr "Hledám Å¡patné bloky (test jen pro Ätení): " -#: misc/badblocks.c:528 misc/badblocks.c:634 misc/badblocks.c:676 -#: misc/badblocks.c:822 +#: misc/badblocks.c:487 misc/badblocks.c:595 misc/badblocks.c:640 +#: misc/badblocks.c:784 msgid "Too many bad blocks, aborting test\n" msgstr "PříliÅ¡ mnoho Å¡patných bloků, pÅ™eruÅ¡uji test\n" -#: misc/badblocks.c:609 +#: misc/badblocks.c:570 msgid "Checking for bad blocks in read-write mode\n" -msgstr "Hledají se Å¡patné bloky v režimu Ätení i zápis\n" +msgstr "Hledám Å¡patné bloky v režimu Ätení i zápis\n" -#: misc/badblocks.c:611 misc/badblocks.c:772 +#: misc/badblocks.c:572 misc/badblocks.c:734 #, c-format msgid "From block %lu to %lu\n" msgstr "Od bloku %lu do %lu\n" -#: misc/badblocks.c:666 +#: misc/badblocks.c:630 msgid "Reading and comparing: " -msgstr "ÄŒtení a porovnání: " +msgstr "ÄŒtu a porovnávám: " -#: misc/badblocks.c:771 +#: misc/badblocks.c:733 msgid "Checking for bad blocks in non-destructive read-write mode\n" -msgstr "Hledají se Å¡patné bloky v nedestruktivním režimu Ätení i zápis\n" +msgstr "Hledám Å¡patné bloky v nedestruktivním režimu Ätení i zápis\n" -#: misc/badblocks.c:777 +#: misc/badblocks.c:739 msgid "Checking for bad blocks (non-destructive read-write test)\n" -msgstr "Hledají se Å¡patné bloky (nedestruktivní test Ätení i zápisu)\n" +msgstr "Hledám Å¡patné bloky (nedestruktivní test Ätení i zápisu)\n" -#: misc/badblocks.c:784 +#: misc/badblocks.c:746 msgid "" "\n" "Interrupt caught, cleaning up\n" msgstr "" "\n" -"Zachyceno pÅ™eruÅ¡ení, uklízí se\n" +"Zachyceno pÅ™eruÅ¡ení, uklízím\n" -#: misc/badblocks.c:867 +#: misc/badblocks.c:822 #, c-format msgid "during test data write, block %lu" msgstr "pÅ™i testovacím zápisu dat, blok %lu" -#: misc/badblocks.c:988 misc/util.c:152 +#: misc/badblocks.c:933 misc/util.c:156 #, c-format msgid "%s is mounted; " msgstr "%s je pÅ™ipojen; " -#: misc/badblocks.c:990 +#: misc/badblocks.c:935 msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n" -msgstr "badblocks pÅ™esto vynucen. Doufám, že /etc/mtab je nesprávný.\n" +msgstr "badblocks pÅ™esto vynucen. Doufám, že /etc/mtab je nesprávná.\n" -#: misc/badblocks.c:995 +#: misc/badblocks.c:940 msgid "it's not safe to run badblocks!\n" msgstr "není bezpeÄné spouÅ¡tÄ›t badblocks!\n" -#: misc/badblocks.c:1000 misc/util.c:163 +#: misc/badblocks.c:945 misc/util.c:167 #, c-format msgid "%s is apparently in use by the system; " msgstr "%s je zjevnÄ› systémem právÄ› používán; " -#: misc/badblocks.c:1003 +#: misc/badblocks.c:948 msgid "badblocks forced anyway.\n" msgstr "badblocks pÅ™esto vynucen.\n" -#: misc/badblocks.c:1023 +#: misc/badblocks.c:968 #, c-format msgid "invalid %s - %s" msgstr "neplatný %s – %s" -#: misc/badblocks.c:1133 +#: misc/badblocks.c:1077 #, c-format msgid "can't allocate memory for test_pattern - %s" msgstr "Nemohu alokovat paměť pro zkuÅ¡ební_vzorek – %s" -#: misc/badblocks.c:1163 +#: misc/badblocks.c:1104 msgid "Maximum of one test_pattern may be specified in read-only mode" msgstr "V režimu pouhého Ätení lze zadat nejvýše jeden zkuÅ¡ební_vzorek" -#: misc/badblocks.c:1169 +#: misc/badblocks.c:1110 msgid "Random test_pattern is not allowed in read-only mode" msgstr "V režimu pouhého Ätení není náhodný zkuÅ¡ební_vzorek přípustný" -#: misc/badblocks.c:1183 +#: misc/badblocks.c:1124 msgid "" "Couldn't determine device size; you must specify\n" "the size manually\n" @@ -3471,164 +3231,150 @@ msgstr "" "Nemohu zjistit velikost zařízení; musíte velikost\n" "zadat ruÄnÄ›\n" -#: misc/badblocks.c:1189 +#: misc/badblocks.c:1130 msgid "while trying to determine device size" msgstr "pÅ™i pokusu zjistit velikost zařízení" -#: misc/badblocks.c:1194 +#: misc/badblocks.c:1135 msgid "last block" msgstr "poslední blok" -#: misc/badblocks.c:1200 +#: misc/badblocks.c:1141 msgid "first block" msgstr "první blok" -#: misc/badblocks.c:1203 +#: misc/badblocks.c:1144 #, c-format msgid "invalid starting block (%lu): must be less than %lu" msgstr "Å¡patný poÄáteÄní blok (%lu): musí být menší než %lu" -#: misc/badblocks.c:1259 +#: misc/badblocks.c:1200 msgid "while creating in-memory bad blocks list" msgstr "pÅ™i vytváření seznam Å¡patných bloků v pamÄ›ti" -#: misc/badblocks.c:1274 +#: misc/badblocks.c:1215 msgid "while adding to in-memory bad block list" msgstr "pÅ™i pÅ™idávání do seznamu Å¡patných bloků v pamÄ›ti" -#: misc/badblocks.c:1298 +#: misc/badblocks.c:1239 #, c-format -msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n" -msgstr "Průchod dokonÄen, nalezeno %u Å¡patných bloků (%d/%d/%d chyb).\n" +msgid "Pass completed, %u bad blocks found.\n" +msgstr "Průchod dokonÄen, nalezeno %u Å¡patných bloků.\n" -#: misc/chattr.c:86 +#: misc/chattr.c:85 #, c-format -msgid "Usage: %s [-RVf] [-+=AaCcDdeijsSu] [-v version] files...\n" -msgstr "Použití: %s [-RVf] [-+=AaCcDdeijsSu] [-v verze] soubory…\n" +msgid "Usage: %s [-RVf] [-+=AacDdeijsSu] [-v version] files...\n" +msgstr "Použití: %s [-RVf] [-+=AacDdeijsSu] [-v verze] soubory…\n" -#: misc/chattr.c:155 +#: misc/chattr.c:153 #, c-format msgid "bad version - %s\n" msgstr "Å¡patná verze – %s\n" -#: misc/chattr.c:201 misc/lsattr.c:116 +#: misc/chattr.c:200 misc/lsattr.c:115 #, c-format msgid "while trying to stat %s" msgstr "pÅ™i pokusu stat %s" -#: misc/chattr.c:208 +#: misc/chattr.c:207 #, c-format msgid "while reading flags on %s" msgstr "pÅ™i Ätení příznaků %s" -#: misc/chattr.c:213 misc/chattr.c:225 +#: misc/chattr.c:216 misc/chattr.c:235 +#, c-format +msgid "Clearing extent flag not supported on %s" +msgstr "OdstranÄ›ní příznaku rozsahu není na %s podporováno" + +#: misc/chattr.c:221 misc/chattr.c:240 #, c-format msgid "Flags of %s set as " msgstr "Příznaky %s nastaveny na " -#: misc/chattr.c:234 +#: misc/chattr.c:249 #, c-format msgid "while setting flags on %s" msgstr "pÅ™i nastavování příznaků %s" -#: misc/chattr.c:242 +#: misc/chattr.c:257 #, c-format msgid "Version of %s set as %lu\n" msgstr "Verze %s nastavena na %lu\n" -#: misc/chattr.c:246 +#: misc/chattr.c:261 #, c-format msgid "while setting version on %s" msgstr "pÅ™i nastavování verze %s" -#: misc/chattr.c:266 +#: misc/chattr.c:281 #, c-format msgid "Couldn't allocate path variable in chattr_dir_proc" msgstr "Nemohu alokovat promÄ›nou path v chattr_dir_proc" -#: misc/chattr.c:306 +#: misc/chattr.c:320 msgid "= is incompatible with - and +\n" msgstr "= je nesluÄitelné s - a +\n" -#: misc/chattr.c:314 +#: misc/chattr.c:328 msgid "Must use '-v', =, - or +\n" msgstr "Musíte použít '-v', =, - nebo +\n" -#: misc/dumpe2fs.c:55 +#: misc/dumpe2fs.c:53 #, c-format msgid "Usage: %s [-bfhixV] [-o superblock=] [-o blocksize=] device\n" msgstr "Použití: %s [-bfhixV] [-o superblock=N] [-o blocksize=N] zařízení\n" -# Unit name after numeric value -#: misc/dumpe2fs.c:159 -msgid "blocks" -msgstr "bloků" - #: misc/dumpe2fs.c:168 -msgid "clusters" -msgstr "clusterů" - -#: misc/dumpe2fs.c:196 #, c-format msgid "Group %lu: (Blocks " msgstr "Skupina %lu: (Bloky " -#: misc/dumpe2fs.c:204 -#, c-format -msgid " Checksum 0x%04x" -msgstr " Kontrolní souÄet 0x%04x" - -#: misc/dumpe2fs.c:206 -#, c-format -msgid " (EXPECTED 0x%04x)" -msgstr " (OÄŒEKÃVÃNO 0x%04x)" - -#: misc/dumpe2fs.c:207 +#: misc/dumpe2fs.c:173 #, c-format -msgid ", unused inodes %u\n" -msgstr ", nepoužitých iuzlů %u\n" +msgid " Checksum 0x%04x, unused inodes %d\n" +msgstr " Kontrolní souÄet 0x%04x, nepoužitých iuzlů %d\n" -#: misc/dumpe2fs.c:212 +#: misc/dumpe2fs.c:178 #, c-format msgid " %s superblock at " msgstr " %s superblok v " -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Primary" msgstr "Primární" -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Backup" msgstr "Záložní" -#: misc/dumpe2fs.c:217 +#: misc/dumpe2fs.c:183 #, c-format msgid ", Group descriptors at " msgstr ", Deskriptory skupin v " -#: misc/dumpe2fs.c:221 +#: misc/dumpe2fs.c:187 #, c-format msgid "" "\n" " Reserved GDT blocks at " msgstr "" "\n" -" Rezervované GDT bloky na " +" Rezervované GDT bloky na " -#: misc/dumpe2fs.c:228 +#: misc/dumpe2fs.c:194 #, c-format msgid " Group descriptor at " msgstr " Deskriptor skupiny v " -#: misc/dumpe2fs.c:234 +#: misc/dumpe2fs.c:200 msgid " Block bitmap at " msgstr " Bitmapa bloků v " -#: misc/dumpe2fs.c:238 +#: misc/dumpe2fs.c:205 msgid ", Inode bitmap at " msgstr ", Bitmapa iuzlů v " -#: misc/dumpe2fs.c:242 +#: misc/dumpe2fs.c:210 msgid "" "\n" " Inode table at " @@ -3636,60 +3382,59 @@ msgstr "" "\n" " Tabulka iuzlů v " -# The second string is i18ned `blocks' or `clusters' -#: misc/dumpe2fs.c:248 +#: misc/dumpe2fs.c:217 #, c-format msgid "" "\n" -" %u free %s, %u free inodes, %u directories%s" +" %u free blocks, %u free inodes, %u directories%s" msgstr "" "\n" -" %u volných %s, %u volných iuzlů, %u adresářů%s" +" %u volných bloků, %u volných iuzlů, %u adresářů%s" -#: misc/dumpe2fs.c:255 +#: misc/dumpe2fs.c:224 #, c-format msgid ", %u unused inodes\n" msgstr ", %u nepoužitých iuzlů\n" -#: misc/dumpe2fs.c:258 +#: misc/dumpe2fs.c:227 msgid " Free blocks: " msgstr " Volné bloky: " -#: misc/dumpe2fs.c:269 +#: misc/dumpe2fs.c:237 msgid " Free inodes: " msgstr " Volné iuzly: " -#: misc/dumpe2fs.c:300 +#: misc/dumpe2fs.c:268 msgid "while printing bad block list" msgstr "pÅ™i tisku seznamu Å¡patných bloků" -#: misc/dumpe2fs.c:306 +#: misc/dumpe2fs.c:274 #, c-format msgid "Bad blocks: %u" msgstr "Å patné bloky: %u" -#: misc/dumpe2fs.c:333 misc/tune2fs.c:306 +#: misc/dumpe2fs.c:301 misc/tune2fs.c:281 msgid "while reading journal inode" msgstr "pÅ™i Ätení iuzlu žurnálu" -#: misc/dumpe2fs.c:339 +#: misc/dumpe2fs.c:307 msgid "while opening journal inode" msgstr "pÅ™i otevírání iuzlu žurnálu" -#: misc/dumpe2fs.c:345 +#: misc/dumpe2fs.c:313 msgid "while reading journal super block" msgstr "pÅ™i Ätení superbloku žurnálu" -#: misc/dumpe2fs.c:355 +#: misc/dumpe2fs.c:323 #, c-format msgid "Journal features: " msgstr "Vlastnosti žurnálu: " -#: misc/dumpe2fs.c:368 +#: misc/dumpe2fs.c:336 msgid "Journal size: " msgstr "Velikost žurnálu: " -#: misc/dumpe2fs.c:379 +#: misc/dumpe2fs.c:347 #, c-format msgid "" "Journal length: %u\n" @@ -3700,20 +3445,15 @@ msgstr "" "Sekvence žurnálu: 0x%08x\n" "ZaÄátek žurnálu: %u\n" -#: misc/dumpe2fs.c:386 -#, c-format -msgid "Journal errno: %d\n" -msgstr "Chybové Äíslo žurnálu: %d\n" - -#: misc/dumpe2fs.c:401 misc/tune2fs.c:222 +#: misc/dumpe2fs.c:366 misc/tune2fs.c:202 msgid "while reading journal superblock" msgstr "pÅ™i Ätení superbloku žurnálu" -#: misc/dumpe2fs.c:409 +#: misc/dumpe2fs.c:374 msgid "Couldn't find journal superblock magic numbers" msgstr "Nemohu najít magická Äísla superbloku žurnálu" -#: misc/dumpe2fs.c:413 +#: misc/dumpe2fs.c:378 #, c-format msgid "" "\n" @@ -3732,27 +3472,27 @@ msgstr "" "ZaÄátek žurnálu: %u\n" "PoÄet uživatelů žurnálu: %u\n" -#: misc/dumpe2fs.c:426 +#: misc/dumpe2fs.c:391 #, c-format msgid "Journal users: %s\n" msgstr "Uživatelé žurnálu: %s\n" -#: misc/dumpe2fs.c:442 misc/mke2fs.c:666 misc/tune2fs.c:1137 +#: misc/dumpe2fs.c:407 misc/mke2fs.c:699 misc/tune2fs.c:872 #, c-format msgid "Couldn't allocate memory to parse options!\n" msgstr "Nemohu alokovat paměť pro zpracování pÅ™epínaÄů!\n" -#: misc/dumpe2fs.c:468 +#: misc/dumpe2fs.c:433 #, c-format msgid "Invalid superblock parameter: %s\n" msgstr "Neplatný parametr superblok: %s\n" -#: misc/dumpe2fs.c:483 +#: misc/dumpe2fs.c:448 #, c-format msgid "Invalid blocksize parameter: %s\n" msgstr "Neplatný parametr blocksize (velikost_bloku): %s\n" -#: misc/dumpe2fs.c:494 +#: misc/dumpe2fs.c:459 #, c-format msgid "" "\n" @@ -3775,18 +3515,18 @@ msgstr "" "\tsuperblock=<Äíslo superbloku>\n" "\tblocksize=\n" -#: misc/dumpe2fs.c:554 misc/mke2fs.c:1555 +#: misc/dumpe2fs.c:518 misc/mke2fs.c:1406 #, c-format msgid "\tUsing %s\n" msgstr "\tPoužívám %s\n" -#: misc/dumpe2fs.c:590 misc/e2image.c:1326 misc/tune2fs.c:1923 -#: resize/main.c:317 +#: misc/dumpe2fs.c:554 misc/e2image.c:681 misc/tune2fs.c:1576 +#: resize/main.c:312 #, c-format msgid "Couldn't find valid filesystem superblock.\n" msgstr "Nemohu najít platný superblok systému souborů.\n" -#: misc/dumpe2fs.c:618 +#: misc/dumpe2fs.c:579 #, c-format msgid "" "\n" @@ -3795,82 +3535,77 @@ msgstr "" "\n" "%s: %s: chyba pÅ™i Ätení bitmap: %s\n" -#: misc/e2image.c:90 -#, c-format -msgid "Usage: %s [-rsIQa] device image_file\n" -msgstr "Použití: %s [-rsIQa] ZAŘÃZENà SOUBOR_S_OBRAZEM\n" - -#: misc/e2image.c:138 +#: misc/e2image.c:52 #, c-format -msgid "Error: header size is bigger than wrt_size\n" -msgstr "Chyba: hlaviÄka je vÄ›tší než wrt_size\n" +msgid "Usage: %s [-rsI] device image_file\n" +msgstr "Použití: %s [-rSI] zařízení soubor_s_obrazem\n" -#: misc/e2image.c:144 +#: misc/e2image.c:64 msgid "Couldn't allocate header buffer\n" msgstr "Nemohu alokovat vyrovnávací paměť hlaviÄky\n" -#: misc/e2image.c:174 +#: misc/e2image.c:83 +#, c-format +msgid "short write (only %d bytes) for writing image header" +msgstr "krátký zápis (jen %d bajtů) pÅ™i zápisu hlaviÄky obrazu" + +#: misc/e2image.c:102 msgid "while writing superblock" msgstr "pÅ™i zápisu superbloku" -#: misc/e2image.c:182 +#: misc/e2image.c:110 msgid "while writing inode table" msgstr "pÅ™i zápisu tabulky iuzlů" -#: misc/e2image.c:189 +#: misc/e2image.c:117 msgid "while writing block bitmap" msgstr "pÅ™i zápisu bitmapy bloků" -#: misc/e2image.c:196 +#: misc/e2image.c:124 msgid "while writing inode bitmap" msgstr "pÅ™i zápisu bitmapy iuzlů" -#: misc/e2image.c:1365 -#, c-format -msgid "while trying to convert qcow2 image (%s) into raw image (%s)" -msgstr "pÅ™i pokusu pÅ™evést obraz qcow2 (%s) do binární obrazu (%s)" - -#: misc/e2label.c:58 +#: misc/e2label.c:57 #, c-format msgid "e2label: cannot open %s\n" msgstr "e2label: nemohu otevřít %s\n" -#: misc/e2label.c:63 +#: misc/e2label.c:62 #, c-format msgid "e2label: cannot seek to superblock\n" msgstr "e2label: nemohu se posunout na superblok\n" -#: misc/e2label.c:68 +#: misc/e2label.c:67 #, c-format msgid "e2label: error reading superblock\n" msgstr "e2label: chyba pÅ™i Ätení superbloku\n" -#: misc/e2label.c:72 +#: misc/e2label.c:71 #, c-format msgid "e2label: not an ext2 filesystem\n" msgstr "e2label: není systém souborů ext2\n" -#: misc/e2label.c:97 misc/tune2fs.c:2080 +#: misc/e2label.c:96 misc/tune2fs.c:1711 #, c-format msgid "Warning: label too long, truncating.\n" msgstr "Varování: jmenovka příliÅ¡ dlouhá, zkracuji.\n" -#: misc/e2label.c:100 +#: misc/e2label.c:99 #, c-format msgid "e2label: cannot seek to superblock again\n" msgstr "e2label: nemohu se zase posunout na superblok\n" -#: misc/e2label.c:105 +#: misc/e2label.c:104 #, c-format msgid "e2label: error writing superblock\n" msgstr "e2label: chyba pÅ™i zápisu superbloku\n" -#: misc/e2label.c:117 misc/tune2fs.c:803 +#: misc/e2label.c:116 misc/tune2fs.c:542 #, c-format msgid "Usage: e2label device [newlabel]\n" msgstr "Použití: e2label zařízení [novájmenovka]\n" -#: misc/e2undo.c:36 +#: misc/e2undo.c:35 #, c-format msgid "Usage: %s \n" msgstr "Použití: %s \n" @@ -3879,7 +3614,7 @@ msgstr "Použití: %s \n" msgid "Failed to read the file system data \n" msgstr "Nemohu naÄíst data souborového systému \n" -#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:206 +#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:205 #, c-format msgid "Failed tdb_fetch %s\n" msgstr "tdb_fetch %s selhalo\n" @@ -3893,31 +3628,31 @@ msgstr "ÄŒas pÅ™ipojení systému souborů se neshoduje s %u\n" msgid "The file system UUID didn't match \n" msgstr "UUID systému souborů se neshoduje \n" -#: misc/e2undo.c:163 +#: misc/e2undo.c:162 #, c-format msgid "Failed tdb_open %s\n" msgstr "tdb_open %s selhalo\n" -#: misc/e2undo.c:169 +#: misc/e2undo.c:168 #, c-format msgid "Error while determining whether %s is mounted.\n" msgstr "Chyba pÅ™i zjiÅ¡Å¥ování, jestli je %s pÅ™ipojen.\n" -#: misc/e2undo.c:175 +#: misc/e2undo.c:174 msgid "e2undo should only be run on unmounted file system\n" msgstr "e2undo by mÄ›l být pouÅ¡tÄ›n jen na nepÅ™ipojeném systému souborů\n" -#: misc/e2undo.c:184 +#: misc/e2undo.c:183 #, c-format msgid "Failed to open %s\n" msgstr "Selhalo otevÅ™ení %s\n" -#: misc/e2undo.c:210 +#: misc/e2undo.c:209 #, c-format -msgid "Replayed transaction of size %zd at location %llu\n" -msgstr "PÅ™ehraná transakce o velikosti %zd na pozici %llu\n" +msgid "Replayed transaction of size %zd at location %ld\n" +msgstr "PÅ™ehraná transakce o velikosti %zd na pozici %ld\n" -#: misc/e2undo.c:216 +#: misc/e2undo.c:215 #, c-format msgid "Failed write %s\n" msgstr "Selhal zápis %s\n" @@ -3932,49 +3667,49 @@ msgstr "VAROVÃNÃ: nemohu otevřít %s: %s\n" msgid "WARNING: bad format on line %d of %s\n" msgstr "VAROVÃNÃ: Å¡patný formát na řádku %d %s\n" -#: misc/fsck.c:370 +#: misc/fsck.c:368 msgid "" -"WARNING: Your /etc/fstab does not contain the fsck passno\n" +"\a\a\aWARNING: Your /etc/fstab does not contain the fsck passno\n" "\tfield. I will kludge around things for you, but you\n" "\tshould fix your /etc/fstab file as soon as you can.\n" "\n" msgstr "" -"POZOR: Váš /etc/fstab neobsahuje pole s poÅ™adím kontroly.\n" -"\tNyní se s tím lze vypořádat, ale /etc/fstab byste mÄ›li\n" -"\topravit, jak nejdříve budete moci.\n" +"\a\a\aVAROVÃNÃ: VaÅ¡e /etc/fstab neobsahuje pole fsck passno.\n" +"\tPro vás to nÄ›jak obejdu, ale mÄ›li byste opravit\n" +"\tsvou /etc/fstab, jak nejdřív budete moci.\n" "\n" -#: misc/fsck.c:478 +#: misc/fsck.c:477 #, c-format msgid "fsck: %s: not found\n" msgstr "fsck: %s: nenalezen\n" -#: misc/fsck.c:594 +#: misc/fsck.c:593 #, c-format msgid "%s: wait: No more child process?!?\n" msgstr "%s: wait: Žádný další synovský proces?!?\n" -#: misc/fsck.c:616 +#: misc/fsck.c:615 #, c-format msgid "Warning... %s for device %s exited with signal %d.\n" msgstr "Varování… %s pro zařízení %s skonÄil se signálem %d.\n" -#: misc/fsck.c:622 +#: misc/fsck.c:621 #, c-format msgid "%s %s: status is %x, should never happen.\n" msgstr "%s %s: stav je %x, nemÄ›lo by se nikdy stát.\n" -#: misc/fsck.c:661 +#: misc/fsck.c:660 #, c-format msgid "Finished with %s (exit status %d)\n" msgstr "DokonÄen s %s (stav ukonÄení %d)\n" -#: misc/fsck.c:721 +#: misc/fsck.c:720 #, c-format msgid "%s: Error %d while executing fsck.%s for %s\n" msgstr "%s: Chyba %d pÅ™i spouÅ¡tÄ›ní fsck.%s pro %s\n" -#: misc/fsck.c:742 +#: misc/fsck.c:741 msgid "" "Either all or none of the filesystem types passed to -t must be prefixed\n" "with 'no' or '!'.\n" @@ -3982,109 +3717,109 @@ msgstr "" "BuÄ vÅ¡echny nebo žádný typ systému souborů pÅ™edaný -t musí mít pÅ™edponu\n" "„no“ nebo „!“.\n" -#: misc/fsck.c:761 +#: misc/fsck.c:760 msgid "Couldn't allocate memory for filesystem types\n" msgstr "Nemohu alokovat paměť pro typy systému souborů\n" -#: misc/fsck.c:884 +#: misc/fsck.c:883 #, c-format msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n" msgstr "" "%s: pÅ™eskakuji chybný řádek v /etc/fstab: pÅ™ipojení typu bind s nenulovým\n" "poÅ™adím průchodu skrze fsck\n" -#: misc/fsck.c:911 +#: misc/fsck.c:910 #, c-format msgid "fsck: cannot check %s: fsck.%s not found\n" msgstr "fsck: nemohu zkontrolovat %s: fsck.%s nenalezen\n" -#: misc/fsck.c:967 +#: misc/fsck.c:966 msgid "Checking all file systems.\n" -msgstr "Kontrolují se vÅ¡echny systémy souborů.\n" +msgstr "Kontroluji vÅ¡echny systémy souborů.\n" -#: misc/fsck.c:1058 +#: misc/fsck.c:1057 #, c-format msgid "--waiting-- (pass %d)\n" msgstr "--Äekám-- (průchod %d)\n" -#: misc/fsck.c:1078 +#: misc/fsck.c:1077 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" msgstr "Použití: fsck [-AMNPRTV] [-C [fd]] [-t typss] [pÅ™epínaÄe-ss] [systémsouborů…]\n" -#: misc/fsck.c:1120 +#: misc/fsck.c:1119 #, c-format msgid "%s: too many devices\n" msgstr "%s: příliÅ¡ mnoho zařízení\n" -#: misc/fsck.c:1153 misc/fsck.c:1239 +#: misc/fsck.c:1152 misc/fsck.c:1238 #, c-format msgid "%s: too many arguments\n" msgstr "%s: příliÅ¡ mnoho argumentů\n" -#: misc/lsattr.c:74 +#: misc/lsattr.c:73 #, c-format msgid "Usage: %s [-RVadlv] [files...]\n" msgstr "Použití: %s [-RVadlv] [soubory…]\n" -#: misc/lsattr.c:84 +#: misc/lsattr.c:83 #, c-format msgid "While reading flags on %s" msgstr "PÅ™i Ätení příznaků %s" -#: misc/lsattr.c:91 +#: misc/lsattr.c:90 #, c-format msgid "While reading version on %s" msgstr "PÅ™i Ätení verze %s" -#: misc/mke2fs.c:116 +#: misc/mke2fs.c:108 #, c-format msgid "" -"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n" +"Usage: %s [-c|-l filename] [-b block-size] [-f fragment-size]\n" "\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n" -"\t[-G flex-group-size] [-N number-of-inodes]\n" +"\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n" "\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n" -"\t[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-count]\n" +"\t[-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]\n" msgstr "" -"Použití: %s [-c|-l názevsouboru] [-b velikost-bloku] [-C velkost-clusteru]\n" +"Použití: %s [-c|-l názevsouboru] [-b velikost-bloku] [-f velkost-fragmentu]\n" "\t[-i bajtů-na-iuzel] [-I velikost-iuzlu] [-J pÅ™epínaÄe-žurnálu]\n" "\t[-G velikost meta skupiny] [-N poÄet-iuzlů]\n" "\t[-m procenta-rezervovaných-bloků] [-o os-autora]\n" "\t[-g bloků-ve-skupinÄ›] [-L jmenovka-svazku]\n" "\t[-M adresář-posledního-pÅ™ipojení] [-O vlastnost[,…]] [-r revize-ss]\n" -"\t[-E rozšířený-pÅ™epínaÄ[,…]] [-t druh-ss] [-T způsob-použití] [-U UUID]\n" -"\t[-jnqvDFKSV] zařízení [poÄet-bloků]\n" +"\t[-E rozšířený-pÅ™epínaÄ[,…]] [-T druh-ss] [-U UUID] [-jnqvFKSV]\n" +"\tzařízení [poÄet-bloků]\n" -#: misc/mke2fs.c:221 +#: misc/mke2fs.c:210 #, c-format msgid "Running command: %s\n" msgstr "SpouÅ¡tím příkaz: %s\n" -#: misc/mke2fs.c:225 +#: misc/mke2fs.c:214 #, c-format msgid "while trying to run '%s'" msgstr "pÅ™i pokusu spustit „%s“" -#: misc/mke2fs.c:232 +#: misc/mke2fs.c:221 msgid "while processing list of bad blocks from program" msgstr "pÅ™i zpracovávání seznamu Å¡patných bloků z programu" -#: misc/mke2fs.c:259 +#: misc/mke2fs.c:248 #, c-format msgid "Block %d in primary superblock/group descriptor area bad.\n" msgstr "Blok %d v oblasti primárního superbloku/deskriptorů skupin Å¡patný.\n" -#: misc/mke2fs.c:261 +#: misc/mke2fs.c:250 #, c-format msgid "Blocks %u through %u must be good in order to build a filesystem.\n" msgstr "Bloky %u až %u musí být pro vytvoÅ™ení systému souborů v pořádku.\n" -#: misc/mke2fs.c:264 +#: misc/mke2fs.c:253 msgid "Aborting....\n" msgstr "KonÄím…\n" -#: misc/mke2fs.c:284 +#: misc/mke2fs.c:273 #, c-format msgid "" "Warning: the backup superblock/group descriptors at block %u contain\n" @@ -4095,224 +3830,191 @@ msgstr "" "\tÅ¡patné bloky.\n" "\n" -#: misc/mke2fs.c:303 +#: misc/mke2fs.c:292 msgid "while marking bad blocks as used" msgstr "pÅ™i oznaÄování Å¡patných bloků jako použité" -#: misc/mke2fs.c:320 +#: misc/mke2fs.c:350 +msgid "done \n" +msgstr "hotovo \n" + +#: misc/mke2fs.c:364 msgid "Writing inode tables: " msgstr "Zapisuji tabulky iuzlů: " -#: misc/mke2fs.c:341 +#: misc/mke2fs.c:387 #, c-format msgid "" "\n" -"Could not write %d blocks in inode table starting at %llu: %s\n" +"Could not write %d blocks in inode table starting at %u: %s\n" msgstr "" "\n" -"Nemohu zapsat %d bloků do tabulky iuzlů poÄínaje %llu: %s\n" - -#: misc/mke2fs.c:355 misc/mke2fs.c:2257 misc/mke2fs.c:2512 -#, c-format -msgid "done \n" -msgstr "hotovo \n" +"Nemohu zapsat %d bloků do tabulky iuzlů zaÄínající v %u: %s\n" -#: misc/mke2fs.c:366 +#: misc/mke2fs.c:411 msgid "while creating root dir" msgstr "pÅ™i vytváření koÅ™enového adresáře" -#: misc/mke2fs.c:373 +#: misc/mke2fs.c:418 msgid "while reading root inode" msgstr "pÅ™i Ätení koÅ™enového iuzlu" -#: misc/mke2fs.c:385 +#: misc/mke2fs.c:432 msgid "while setting root inode ownership" msgstr "pÅ™i nastavování vlastnictví koÅ™enového iuzlu" -#: misc/mke2fs.c:403 +#: misc/mke2fs.c:450 msgid "while creating /lost+found" msgstr "pÅ™i vytváření /lost+found" -#: misc/mke2fs.c:410 +#: misc/mke2fs.c:457 msgid "while looking up /lost+found" msgstr "pÅ™i vyhledávání /lost+found" -#: misc/mke2fs.c:423 +#: misc/mke2fs.c:470 msgid "while expanding /lost+found" msgstr "pÅ™i zvÄ›tÅ¡ování /lost+found" -#: misc/mke2fs.c:438 +#: misc/mke2fs.c:485 msgid "while setting bad block inode" msgstr "pÅ™i nastavování iuzlu Å¡patných bloků" -#: misc/mke2fs.c:465 +#: misc/mke2fs.c:512 #, c-format msgid "Out of memory erasing sectors %d-%d\n" msgstr "Nedostatek pamÄ›ti pÅ™i mazání sektorů %d-%d\n" -#: misc/mke2fs.c:475 +#: misc/mke2fs.c:522 #, c-format msgid "Warning: could not read block 0: %s\n" msgstr "Varování: nemohu naÄíst blok 0: %s\n" -#: misc/mke2fs.c:491 +#: misc/mke2fs.c:538 #, c-format msgid "Warning: could not erase sector %d: %s\n" msgstr "Varování: nemohu vymazat sektor %d: %s\n" -#: misc/mke2fs.c:507 +#: misc/mke2fs.c:554 msgid "while initializing journal superblock" msgstr "pÅ™i inicializaci superbloku žurnálu" -#: misc/mke2fs.c:515 +#: misc/mke2fs.c:560 msgid "Zeroing journal device: " msgstr "Nuluji zařízení žurnálu: " -#: misc/mke2fs.c:527 +#: misc/mke2fs.c:573 #, c-format -msgid "while zeroing journal device (block %llu, count %d)" -msgstr "pÅ™i nulování zařízení žurnálu (blok %llu, poÄet %d)" +msgid "while zeroing journal device (block %u, count %d)" +msgstr "pÅ™i nulování zařízení žurnálu (blok %u, poÄet %d)" -#: misc/mke2fs.c:545 +#: misc/mke2fs.c:589 msgid "while writing journal superblock" msgstr "pÅ™i zápisu superbloku žurnálu" -# TODO pluralize -#: misc/mke2fs.c:560 +#: misc/mke2fs.c:605 #, c-format msgid "" -"warning: %llu blocks unused.\n" +"warning: %u blocks unused.\n" "\n" msgstr "" -"pozor: nepoužito %'llu bloků.\n" +"varování: nepoužito %u bloků.\n" "\n" -#: misc/mke2fs.c:565 +#: misc/mke2fs.c:610 #, c-format msgid "Filesystem label=%s\n" msgstr "Jmenovka systému souborů=%s\n" -#: misc/mke2fs.c:568 -#, c-format -msgid "OS type: %s\n" -msgstr "Typ OS: %s\n" +#: misc/mke2fs.c:611 +msgid "OS type: " +msgstr "Typ OS: " -#: misc/mke2fs.c:570 +#: misc/mke2fs.c:616 #, c-format msgid "Block size=%u (log=%u)\n" msgstr "Velikost bloku=%u (log=%u)\n" -#: misc/mke2fs.c:574 -#, c-format -msgid "Cluster size=%u (log=%u)\n" -msgstr "Velikost clusteru=%u (log=%u)\n" - -#: misc/mke2fs.c:578 +#: misc/mke2fs.c:618 #, c-format msgid "Fragment size=%u (log=%u)\n" msgstr "Velikost fragmentu=%u (log=%u)\n" -#: misc/mke2fs.c:580 +#: misc/mke2fs.c:620 #, c-format msgid "Stride=%u blocks, Stripe width=%u blocks\n" msgstr "Krok=%u bloků, Šířka pásu=%u bloků\n" -#: misc/mke2fs.c:582 +#: misc/mke2fs.c:622 #, c-format -msgid "%u inodes, %llu blocks\n" -msgstr "%u iuzlů, %llu bloků\n" +msgid "%u inodes, %u blocks\n" +msgstr "%u iuzlů, %u bloků\n" -#: misc/mke2fs.c:584 +#: misc/mke2fs.c:624 #, c-format -msgid "%llu blocks (%2.2f%%) reserved for the super user\n" -msgstr "%llu bloků (%2.2f %%) rezervováno pro superuživatele\n" +msgid "%u blocks (%2.2f%%) reserved for the super user\n" +msgstr "%u bloků (%2.2f %%) rezervováno pro superuživatele\n" -#: misc/mke2fs.c:587 +#: misc/mke2fs.c:627 #, c-format msgid "First data block=%u\n" msgstr "První blok dat=%u\n" -#: misc/mke2fs.c:589 -#, c-format -msgid "Root directory owner=%u:%u\n" -msgstr "Vlastník koÅ™enového adresáře=%u:%u\n" - -#: misc/mke2fs.c:591 +#: misc/mke2fs.c:629 #, c-format msgid "Maximum filesystem blocks=%lu\n" msgstr "Maximum bloků v systému souborů=%'lu\n" -#: misc/mke2fs.c:595 +#: misc/mke2fs.c:633 #, c-format msgid "%u block groups\n" msgstr "%u skupin bloků\n" -#: misc/mke2fs.c:597 +#: misc/mke2fs.c:635 #, c-format msgid "%u block group\n" msgstr "%u skupina bloků\n" -#: misc/mke2fs.c:600 -#, c-format -msgid "%u blocks per group, %u clusters per group\n" -msgstr "%u bloků ve skupinÄ›, %u clusterů ve skupinÄ›\n" - -#: misc/mke2fs.c:603 +#: misc/mke2fs.c:636 #, c-format msgid "%u blocks per group, %u fragments per group\n" msgstr "%u bloků ve skupinÄ›, %u fragmentů ve skupinÄ›\n" -#: misc/mke2fs.c:605 +#: misc/mke2fs.c:638 #, c-format msgid "%u inodes per group\n" msgstr "%u iuzlů ve skupinÄ›\n" -#: misc/mke2fs.c:612 +#: misc/mke2fs.c:645 #, c-format msgid "Superblock backups stored on blocks: " msgstr "Zálohy superbloku uloženy v blocích: " -#: misc/mke2fs.c:691 misc/tune2fs.c:1165 -#, c-format -msgid "Invalid mmp_update_interval: %s\n" -msgstr "Neplatný interval_aktualizace_mmp: %s\n" - -#: misc/mke2fs.c:705 +#: misc/mke2fs.c:724 #, c-format msgid "Invalid stride parameter: %s\n" msgstr "Neplatný parametr kroku (stride): %s\n" -#: misc/mke2fs.c:720 +#: misc/mke2fs.c:739 #, c-format msgid "Invalid stripe-width parameter: %s\n" msgstr "Neplatný parametr šířka-pásu (stripe-width): %s\n" -#: misc/mke2fs.c:743 +#: misc/mke2fs.c:761 #, c-format msgid "Invalid resize parameter: %s\n" msgstr "Neplatný parametr zmÄ›ny velikosti: %s\n" -#: misc/mke2fs.c:750 +#: misc/mke2fs.c:768 #, c-format msgid "The resize maximum must be greater than the filesystem size.\n" msgstr "Maximum zmÄ›ny velkosti musí být vÄ›tší než velikost systému souborů.\n" -#: misc/mke2fs.c:774 +#: misc/mke2fs.c:792 #, c-format msgid "On-line resizing not supported with revision 0 filesystems\n" msgstr "Revize 0 souborového systému nepodporuje zmÄ›nu velikosti za bÄ›hu\n" -#: misc/mke2fs.c:801 misc/mke2fs.c:810 -#, c-format -msgid "Invalid root_owner: '%s'\n" -msgstr "Neplatný vlastník koÅ™enu: „%s“\n" - -#: misc/mke2fs.c:835 -#, c-format -msgid "Invalid quotatype parameter: %s\n" -msgstr "Neplatný parametr druhu kvót: %s\n" - -#: misc/mke2fs.c:846 +#: misc/mke2fs.c:814 #, c-format msgid "" "\n" @@ -4326,13 +4028,7 @@ msgid "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" -"\tlazy_journal_init=<0 to disable, 1 to enable>\n" -"\troot_uid=\n" -"\troot_gid=\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" msgstr "" "\n" @@ -4346,16 +4042,10 @@ msgstr "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=\n" -"\tlazy_journal_init=\n" -"\troot_uid=\n" -"\troot_gid=\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" -#: misc/mke2fs.c:868 +#: misc/mke2fs.c:830 #, c-format msgid "" "\n" @@ -4366,7 +4056,7 @@ msgstr "" "Varování: šířka pruhu RAIDu %u není sudý násobek kroku (stride) %u.\n" "\n" -#: misc/mke2fs.c:907 +#: misc/mke2fs.c:862 #, c-format msgid "" "Syntax error in mke2fs config file (%s, line #%d)\n" @@ -4375,26 +4065,21 @@ msgstr "" "Chyba syntaxe v konfiguraÄním souboru mke2fs (%s, řádek Ä. %d)\n" "\t%s\n" -#: misc/mke2fs.c:920 misc/tune2fs.c:398 +#: misc/mke2fs.c:875 misc/tune2fs.c:355 #, c-format msgid "Invalid filesystem option set: %s\n" msgstr "Neplatný sada pÅ™epínaÄů systému souborů: %s\n" -#: misc/mke2fs.c:932 misc/tune2fs.c:349 -#, c-format -msgid "Invalid mount option set: %s\n" -msgstr "Nastaven neplatný pÅ™epínaÄ pÅ™ipojení: %s\n" - -#: misc/mke2fs.c:1072 +#: misc/mke2fs.c:985 #, c-format msgid "" "\n" -"Your mke2fs.conf file does not define the %s filesystem type.\n" +"Warning! Your mke2fs.conf file does not define the %s filesystem type.\n" msgstr "" "\n" -"Váš soubor mke2fs.conf nedefinuje druh souborového systému %s.\n" +"Varování! Váš soubor mke2fs.conf nedefinuje druh souborového systému %s.\n" -#: misc/mke2fs.c:1076 +#: misc/mke2fs.c:988 #, c-format msgid "" "You probably need to install an updated mke2fs.conf file.\n" @@ -4403,138 +4088,119 @@ msgstr "" "PravdÄ›podobnÄ› potÅ™ebujete nainstalovat aktualizovaný soubor mke2fs.conf.\n" "\n" -#: misc/mke2fs.c:1080 -#, c-format -msgid "Aborting...\n" -msgstr "PÅ™eruÅ¡uje se…\n" - -#: misc/mke2fs.c:1120 -#, c-format -msgid "" -"\n" -"Warning: the fs_type %s is not defined in mke2fs.conf\n" -"\n" -msgstr "" -"\n" -"Pozor: fs_type (druh SS) %s není v mke2fs.conf definován\n" -"\n" - -#: misc/mke2fs.c:1276 -#, c-format -msgid "Couldn't allocate memory for new PATH.\n" -msgstr "Nemohu alokovat paměť pro novou promÄ›nnou PATH.\n" - -#: misc/mke2fs.c:1317 -#, c-format -msgid "Couldn't init profile successfully (error: %ld).\n" -msgstr "Profil nebylo možné správnÄ› inicializovat (chyba: %ld).\n" - -#: misc/mke2fs.c:1357 +#: misc/mke2fs.c:1224 #, c-format msgid "invalid block size - %s" msgstr "Å¡patná velikost bloku – %s" -#: misc/mke2fs.c:1361 +#: misc/mke2fs.c:1228 #, c-format msgid "Warning: blocksize %d not usable on most systems.\n" msgstr "Varování: velikost bloku %d není na vÄ›tÅ¡inÄ› systémů použitelná.\n" -#: misc/mke2fs.c:1377 +#: misc/mke2fs.c:1244 #, c-format -msgid "invalid cluster size - %s" -msgstr "Å¡patná velikost clusteru – %s" +msgid "invalid fragment size - %s" +msgstr "Å¡patná velikost fragmentu – %s" -#: misc/mke2fs.c:1387 -msgid "'-R' is deprecated, use '-E' instead" -msgstr "PÅ™epínaÄ â€ž-R“ je zastaralý, použijte místo nÄ›j „-E“" +#: misc/mke2fs.c:1250 +#, c-format +msgid "Warning: fragments not supported. Ignoring -f option\n" +msgstr "Varování: fragmenty nepodporovány. Ignoruji pÅ™epínaÄ -f\n" -#: misc/mke2fs.c:1399 +#: misc/mke2fs.c:1257 msgid "Illegal number for blocks per group" msgstr "Neplatný poÄet bloků ve skupinÄ›" -#: misc/mke2fs.c:1404 +#: misc/mke2fs.c:1262 msgid "blocks per group must be multiple of 8" msgstr "bloky ve skupinÄ› musí být násobek 8" -#: misc/mke2fs.c:1412 +#: misc/mke2fs.c:1270 msgid "Illegal number for flex_bg size" msgstr "Neplatné Äíslo pro velikost flex_bg" -#: misc/mke2fs.c:1418 +#: misc/mke2fs.c:1276 msgid "flex_bg size must be a power of 2" msgstr "Velikost flex_bg musí být mocninou 2" -#: misc/mke2fs.c:1428 +#: misc/mke2fs.c:1286 #, c-format msgid "invalid inode ratio %s (min %d/max %d)" msgstr "Å¡patný podíl iuzlů %s (min %d/max %d)" -#: misc/mke2fs.c:1438 -#, c-format -msgid "invalid inode size - %s" -msgstr "Å¡patná velikost iuzlu – %s" - -#: misc/mke2fs.c:1450 -#, c-format -msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n" -msgstr "Pozor: PÅ™epínaÄ -K je zastaralý a nemÄ›l by se již používat. Místo nÄ›j použijte rozšířený pÅ™epínaÄ â€ž-E nodiscard“!\n" - -#: misc/mke2fs.c:1460 +#: misc/mke2fs.c:1306 msgid "in malloc for bad_blocks_filename" msgstr "v malloc pro bad_blocks_filename" -#: misc/mke2fs.c:1473 +#: misc/mke2fs.c:1316 #, c-format msgid "invalid reserved blocks percent - %s" msgstr "Å¡patné procento rezervovaných bloků – %s" -#: misc/mke2fs.c:1488 -#, c-format -msgid "bad num inodes - %s" -msgstr "chybný poÄet iuzlů – %s" - -#: misc/mke2fs.c:1505 +#: misc/mke2fs.c:1334 #, c-format msgid "bad revision level - %s" msgstr "Å¡patné Äíslo revize – %s" -#: misc/mke2fs.c:1519 -msgid "The -t option may only be used once" -msgstr "PÅ™epínaÄ -t lze použít jen jednou" +#: misc/mke2fs.c:1346 +#, c-format +msgid "invalid inode size - %s" +msgstr "Å¡patná velikost iuzlu – %s" -#: misc/mke2fs.c:1527 -msgid "The -T option may only be used once" -msgstr "PÅ™epínaÄ -T lze použít jen jednou" +#: misc/mke2fs.c:1366 +#, c-format +msgid "bad num inodes - %s" +msgstr "chybný poÄet iuzlů – %s" -#: misc/mke2fs.c:1580 misc/mke2fs.c:2591 +#: misc/mke2fs.c:1431 misc/mke2fs.c:2203 #, c-format msgid "while trying to open journal device %s\n" msgstr "pÅ™i pokusu otevřít zařízení žurnálu %s\n" -#: misc/mke2fs.c:1586 +#: misc/mke2fs.c:1437 #, c-format msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n" msgstr "Velikost bloku zařízení žurnálu (%d) menší než minimální velikost bloku %d\n" -#: misc/mke2fs.c:1592 +#: misc/mke2fs.c:1443 #, c-format msgid "Using journal device's blocksize: %d\n" msgstr "Použiji velikost bloku žurnálovacího zařízení: %d\n" -#: misc/mke2fs.c:1603 +#: misc/mke2fs.c:1452 +#, c-format +msgid "%d-byte blocks too big for system (max %d)" +msgstr "%d-bajtové bloky příliÅ¡ velké pro systém (max %d)" + +#: misc/mke2fs.c:1456 +#, c-format +msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +msgstr "Varování: %d-bajtové bloky příliÅ¡ velké pro systém (max %d), donucen pokraÄovat\n" + +#: misc/mke2fs.c:1464 #, c-format -msgid "invalid blocks '%s' on device '%s'" -msgstr "Å¡patné bloky „%s“ na zařízení „%s“" +msgid "invalid blocks count - %s" +msgstr "Å¡patný poÄet bloků - %s" -#: misc/mke2fs.c:1613 +#: misc/mke2fs.c:1474 msgid "filesystem" msgstr "systém souborů" -#: misc/mke2fs.c:1626 resize/main.c:367 +#: misc/mke2fs.c:1510 +#, c-format +msgid "" +"%s: Size of device %s too big to be expressed in 32 bits\n" +"\tusing a blocksize of %d.\n" +msgstr "" +"%s: Velikost zařízení %s je příliÅ¡ velká na reprezentaci v 32 bitech\n" +"\tpoužiji velikost bloku %d.\n" + +#: misc/mke2fs.c:1519 resize/main.c:382 msgid "while trying to determine filesystem size" msgstr "pÅ™i pokusu zjistit velikost systému souborů" -#: misc/mke2fs.c:1632 +#: misc/mke2fs.c:1526 msgid "" "Couldn't determine device size; you must specify\n" "the size of the filesystem\n" @@ -4542,7 +4208,7 @@ msgstr "" "Nemohu zjistit velikost zařízení; musíte zadat\n" "velikost systému souborů\n" -#: misc/mke2fs.c:1639 +#: misc/mke2fs.c:1533 msgid "" "Device size reported to be zero. Invalid partition specified, or\n" "\tpartition table wasn't reread after running fdisk, due to\n" @@ -4554,49 +4220,35 @@ msgstr "" " oddíl se používá. Možná budete muset pro opÄ›tovné naÄtení\n" " své tabulky oddílů znovu zavést systém.\n" -#: misc/mke2fs.c:1656 +#: misc/mke2fs.c:1551 msgid "Filesystem larger than apparent device size." msgstr "Systém souborů vÄ›tší než velikost zařízení." -#: misc/mke2fs.c:1676 +#: misc/mke2fs.c:1557 #, c-format msgid "Failed to parse fs types list\n" msgstr "Seznam druhů souborových systému se nezdaÅ™ilo rozebrat\n" -#: misc/mke2fs.c:1730 -#, 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 "" -"%s: Velikost zařízení (0x%llx bloků) %s je příliÅ¡ velká, aby byla\n" -"vyjádÅ™ena v 32 bitech za použití bloku o velikosti %d.\n" - -#: misc/mke2fs.c:1746 +#: misc/mke2fs.c:1591 msgid "fs_types for mke2fs.conf resolution: " msgstr "fs_types (druhy SS) pro Å™eÅ¡ení v mke2fs.conf: " -#: misc/mke2fs.c:1753 +#: misc/mke2fs.c:1598 #, c-format msgid "Filesystem features not supported with revision 0 filesystems\n" msgstr "Vlastnosti systému souborů nejsou v revizi 0 podporovány\n" -#: misc/mke2fs.c:1760 +#: misc/mke2fs.c:1605 #, c-format msgid "Sparse superblocks not supported with revision 0 filesystems\n" msgstr "Řídké superbloky systému souborů nejsou v revizi 0 podporovány\n" -#: misc/mke2fs.c:1772 +#: misc/mke2fs.c:1617 #, c-format msgid "Journals not supported with revision 0 filesystems\n" msgstr "Revize 0 systému souborů žurnály nepodporuje\n" -#: misc/mke2fs.c:1786 -#, c-format -msgid "invalid reserved blocks percent - %lf" -msgstr "Å¡patné procento rezervovaných bloků – %lf" - -#: misc/mke2fs.c:1802 +#: misc/mke2fs.c:1635 #, c-format msgid "" "The resize_inode and meta_bg features are not compatible.\n" @@ -4605,127 +4257,88 @@ msgstr "" "Vlastnosti resize_inode a meta_bg nejsou sluÄitelné.\n" "ObÄ› nemohou být zapnuty souÄasnÄ›.\n" -#: misc/mke2fs.c:1819 +#: misc/mke2fs.c:1652 msgid "while trying to determine hardware sector size" msgstr "pÅ™i pokusu zjistit velikost hardwarového sektoru" -#: misc/mke2fs.c:1825 +#: misc/mke2fs.c:1658 msgid "while trying to determine physical sector size" msgstr "pÅ™i pokusu urÄit velikost fyzického sektoru" -#: misc/mke2fs.c:1858 +#: misc/mke2fs.c:1687 msgid "while setting blocksize; too small for device\n" msgstr "pÅ™i nastavování velikosti bloku; pro zařízení příliÅ¡ malá hodnota\n" -#: misc/mke2fs.c:1863 +#: misc/mke2fs.c:1691 #, c-format -msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n" -msgstr "Pozor: zadaná velikost bloku %d je menší než velikost fyzického sektoru %d\n" +msgid "Warning: specified blocksize %d is less than device physical sectorsize %d, forced to continue\n" +msgstr "Pozor: zadaná velikost bloku %d je menší než velikost fyzického sektoru na zařízení %d, pokraÄování vynuceno\n" -#: misc/mke2fs.c:1881 -msgid "The cluster size may not be smaller than the block size.\n" -msgstr "Velikost clusteru nemusí být menší než velikost bloku.\n" - -#: misc/mke2fs.c:1887 -msgid "specifying a cluster size requires the bigalloc feature" -msgstr "definice velikosti clusteru vyžaduje vlastnost bigalloc" - -#: misc/mke2fs.c:1906 +#: misc/mke2fs.c:1712 #, c-format msgid "warning: Unable to get device geometry for %s\n" msgstr "varování: Není možné zjistit geometrii %s\n" -#: misc/mke2fs.c:1909 +#: misc/mke2fs.c:1715 #, c-format msgid "%s alignment is offset by %lu bytes.\n" msgstr "Zarovnání %s pÅ™edstavuje posun o %'lu bajtů.\n" -#: misc/mke2fs.c:1911 +#: misc/mke2fs.c:1717 #, c-format msgid "This may result in very poor performance, (re)-partitioning suggested.\n" msgstr "Toto může vést k velmi Å¡patnému výkonu, doporuÄuje se (nové) vytvoÅ™ení oddílů.\n" -#: misc/mke2fs.c:1930 -#, c-format -msgid "%d-byte blocks too big for system (max %d)" -msgstr "%d-bajtové bloky příliÅ¡ velké pro systém (max %d)" - -#: misc/mke2fs.c:1934 -#, c-format -msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" -msgstr "Varování: %d-bajtové bloky příliÅ¡ velké pro systém (max %d), donucen pokraÄovat\n" - -#: misc/mke2fs.c:1968 -msgid "Can't support bigalloc feature without extents feature" -msgstr "Vlastnost bigalloc nelze bez vlastnosti rozsahů zapnout" - -#: misc/mke2fs.c:1975 -#, c-format -msgid "" -"\n" -"Warning: the bigalloc feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n" -"\n" -msgstr "" -"\n" -"Pozor: vlastnost bigalloc je stále ve vývoji.\n" -"Podrobnosti naleznete na .\n" -"\n" - -#: misc/mke2fs.c:1982 misc/tune2fs.c:740 -#, c-format -msgid "" -"\n" -"Warning: the quota feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Quota for more information\n" -"\n" -msgstr "" -"\n" -"Pozor: vlastnost kvóty je stále ve vývoji.\n" -"Podrobnosti naleznete na .\n" -"\n" - -#: misc/mke2fs.c:1993 +#: misc/mke2fs.c:1745 msgid "reserved online resize blocks not supported on non-sparse filesystem" msgstr "" "bloky vyhrazené pro zmÄ›nu velikosti za bÄ›hu nejsou podporovány na neřídkém\n" "\tsystému souborů" -#: misc/mke2fs.c:2002 +#: misc/mke2fs.c:1754 msgid "blocks per group count out of range" msgstr "poÄet bloků ve skupinÄ› mimo rozsah" -#: misc/mke2fs.c:2026 +#: misc/mke2fs.c:1769 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" msgstr "Vlastnost flex_bg není povolena, takže její velikost nemůže být zadána" -#: misc/mke2fs.c:2038 +#: misc/mke2fs.c:1781 #, c-format msgid "invalid inode size %d (min %d/max %d)" msgstr "Å¡patná velikost iuzlu %d (min %d/max %d)" -#: misc/mke2fs.c:2056 +#: misc/mke2fs.c:1795 #, c-format msgid "too many inodes (%llu), raise inode ratio?" -msgstr "příliÅ¡ mnoho iuzlů (%'llu), zvýšit pomÄ›r iuzlů?" +msgstr "příliÅ¡ mnoho iuzlů (%'llu), zvýšit pomÄ›r iuzlu?" -#: misc/mke2fs.c:2063 +#: misc/mke2fs.c:1800 #, c-format msgid "too many inodes (%llu), specify < 2^32 inodes" msgstr "příliÅ¡ mnoho iuzlů (%'llu), zadejte < 2^32 iuzlů" -#: misc/mke2fs.c:2077 +#: misc/mke2fs.c:1815 #, c-format msgid "" "inode_size (%u) * inodes_count (%u) too big for a\n" -"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n" +"\tfilesystem with %lu blocks, specify higher inode_ratio (-i)\n" "\tor lower inode count (-N).\n" msgstr "" -"velikost_iuzlu (%u) * poÄet_iuzlů (%u) je moc na\n" -"\tsystém souborů s %'llu bloky, zadejte vyšší pomÄ›r_iuzlu (-i)\n" +"velikost_iuzlu (%u) * poÄet_iuzlů (%u) je moc velký na\n" +"\tsystém souborů s %'lu bloky, zadejte vyšší pomÄ›r_iuzlu (-i)\n" "\tnebo snižte poÄet iuzlů (-N).\n" -#: misc/mke2fs.c:2196 +#: misc/mke2fs.c:1908 misc/tune2fs.c:1494 +msgid "Couldn't allocate memory for tdb filename\n" +msgstr "Nemohu alokovat paměť pro název souboru TDB\n" + +#: misc/mke2fs.c:1921 misc/tune2fs.c:1516 +#, c-format +msgid "while trying to delete %s" +msgstr "pÅ™i pokusu smazat %s" + +#: misc/mke2fs.c:1931 #, c-format msgid "" "Overwriting existing filesystem; this can be undone using the command:\n" @@ -4735,69 +4348,56 @@ msgstr "" "PÅ™episuji existující systém souborů, toto může být odÄinÄ›no příkazem:\n" " e2undo %s %s\n" -#: misc/mke2fs.c:2210 -msgid "while trying to setup undo file\n" -msgstr "pÅ™i pokusu nastavit soubor pro odvolání zmÄ›n\n" - -#: misc/mke2fs.c:2236 -msgid "Discarding device blocks: " -msgstr "Zahazují se bloky zařízení: " +# Calling is subject +#: misc/mke2fs.c:1968 +#, c-format +msgid "Calling BLKDISCARD from %llu to %llu " +msgstr "Volání BLKDISCARD od %llu do %llu " # Continuation of "Calling BLKDISCARD from %llu to %llu " -#: misc/mke2fs.c:2252 -msgid "failed - " -msgstr "selhalo – " +#: misc/mke2fs.c:1972 +#, c-format +msgid "failed.\n" +msgstr "selhalo.\n" + +# Continuation of "Calling BLKDISCARD from %llu to %llu " +#: misc/mke2fs.c:1974 +#, c-format +msgid "succeeded.\n" +msgstr "uspÄ›lo.\n" -#: misc/mke2fs.c:2360 +#: misc/mke2fs.c:2023 msgid "while setting up superblock" msgstr "pÅ™i nastavování superbloku" -#: misc/mke2fs.c:2369 -#, c-format -msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" -msgstr "Skartování (discard) uspÄ›lo a bude vráceno 0s – vynechá se výmaz tabulky iuzlů\n" - -#: misc/mke2fs.c:2452 +#: misc/mke2fs.c:2087 #, c-format msgid "unknown os - %s" msgstr "neznámý os – %s" -#: misc/mke2fs.c:2504 -#, c-format -msgid "Allocating group tables: " -msgstr "Alokují se tabulky skupin: " - -#: misc/mke2fs.c:2508 +#: misc/mke2fs.c:2141 msgid "while trying to allocate filesystem tables" msgstr "pÅ™i pokusu alokovat tabulky systému souborů" -#: misc/mke2fs.c:2517 -msgid "" -"\n" -"\twhile converting subcluster bitmap" -msgstr "" -"\n" -"\tpÅ™i pÅ™evodu bitmapy subclusterů" - -#: misc/mke2fs.c:2560 +#: misc/mke2fs.c:2172 #, c-format -msgid "while zeroing block %llu at end of filesystem" -msgstr "pÅ™i nulování bloku %llu na konci systému souborů" +msgid "while zeroing block %u at end of filesystem" +msgstr "pÅ™i nulování bloku %u na konci systému souborů" -#: misc/mke2fs.c:2573 +#: misc/mke2fs.c:2185 msgid "while reserving blocks for online resize" msgstr "pÅ™i rezervaci bloků pro zmÄ›nu velikosti za bÄ›hu" -#: misc/mke2fs.c:2584 misc/tune2fs.c:645 +#: misc/mke2fs.c:2196 misc/tune2fs.c:479 msgid "journal" msgstr "žurnál" -#: misc/mke2fs.c:2596 +#: misc/mke2fs.c:2208 #, c-format msgid "Adding journal to device %s: " msgstr "PÅ™idávám žurnál k zařízení %s: " -#: misc/mke2fs.c:2603 +#: misc/mke2fs.c:2215 #, c-format msgid "" "\n" @@ -4806,50 +4406,27 @@ msgstr "" "\n" "\tpÅ™i pokusu pÅ™idat žurnál k zařízení %s" -#: misc/mke2fs.c:2608 misc/mke2fs.c:2640 misc/tune2fs.c:674 misc/tune2fs.c:688 +#: misc/mke2fs.c:2220 misc/mke2fs.c:2252 misc/tune2fs.c:508 misc/tune2fs.c:522 #, c-format msgid "done\n" msgstr "hotovo\n" -#: misc/mke2fs.c:2617 +#: misc/mke2fs.c:2229 #, c-format msgid "Skipping journal creation in super-only mode\n" msgstr "V režimu jen-superdata bude vynechána tvorba žurnálu\n" -#: misc/mke2fs.c:2628 +#: misc/mke2fs.c:2240 #, c-format msgid "Creating journal (%u blocks): " -msgstr "Vytváří se žurnál (%'u bloků): " - -#: misc/mke2fs.c:2636 -msgid "" -"\n" -"\twhile trying to create journal" -msgstr "" -"\n" -"\tpÅ™i pokusu vytvoÅ™it žurnál" - -#: misc/mke2fs.c:2647 misc/tune2fs.c:451 -#, c-format -msgid "" -"\n" -"Error while enabling multiple mount protection feature." -msgstr "" -"\n" -"Chyba pÅ™i zapínání ochrany proti násobnému pÅ™ipojení." +msgstr "Vytvářím žurnál (%'u bloků): " -# TODO: Pluralize -#: misc/mke2fs.c:2652 -#, c-format -msgid "Multiple mount protection is enabled with update interval %d seconds.\n" -msgstr "Ochrana proti násobnému pÅ™ipojení je zapnuta s aktualizaÄním intervalem %d sekund.\n" - -#: misc/mke2fs.c:2665 +#: misc/mke2fs.c:2257 #, c-format msgid "Writing superblocks and filesystem accounting information: " msgstr "Zapisuji superbloky a úÄtovací informace systému souborů: " -#: misc/mke2fs.c:2672 +#: misc/mke2fs.c:2262 #, c-format msgid "" "\n" @@ -4858,7 +4435,7 @@ msgstr "" "\n" "Varování, mÄ›l jsem problémy pÅ™i zápisu superbloků." -#: misc/mke2fs.c:2674 +#: misc/mke2fs.c:2265 #, c-format msgid "" "done\n" @@ -4867,12 +4444,12 @@ msgstr "" "hotovo\n" "\n" -#: misc/mklost+found.c:50 +#: misc/mklost+found.c:49 #, c-format msgid "Usage: mklost+found\n" msgstr "Použití: mklost+found\n" -#: misc/partinfo.c:41 +#: misc/partinfo.c:39 #, c-format msgid "" "Usage: %s device...\n" @@ -4887,36 +4464,36 @@ msgstr "" "Na příklad: %s /dev/hda\n" "\n" -#: misc/partinfo.c:51 +#: misc/partinfo.c:49 #, c-format msgid "Cannot open %s: %s" msgstr "Nelze otevřít %s: %s" -#: misc/partinfo.c:57 +#: misc/partinfo.c:55 #, c-format msgid "Cannot get geometry of %s: %s" msgstr "Nelze získat geometrii %s: %s" -#: misc/partinfo.c:65 +#: misc/partinfo.c:63 #, c-format msgid "Cannot get size of %s: %s" msgstr "Nelze získat velikost %s: %s" -#: misc/partinfo.c:71 +#: misc/partinfo.c:69 #, c-format msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n" msgstr "%s: h=%3d s=%3d c=%4d zaÄátek=%8d velikost=%8lu konec=%8d\n" -#: misc/tune2fs.c:107 +#: misc/tune2fs.c:96 msgid "Please run e2fsck on the filesystem.\n" msgstr "SpusÅ¥te prosím na tomto systému souborů e2fsck.\n" -#: misc/tune2fs.c:116 +#: misc/tune2fs.c:105 #, c-format msgid "" "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" -"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p mmp_update_interval]\n" +"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n" @@ -4925,69 +4502,65 @@ msgstr "" "Použití: %s [-c max_poÄet_pÅ™ipojení] [-e chování_pÅ™i_chybách]\n" "\t[-g skupina] [-i interval[d|m|w]] [-j] [-J pÅ™epínaÄe_žurnálu] [-l]\n" "\t[-m procento_rezervovaných_bloků] [-o [^]pÅ™epínaÄe_pÅ™ipojení[,…]]\n" -"\t[-p interval_aktualizace_mmp] [-r poÄet_rezervovaných_bloků]\n" -"\t[-u uživatel] [-C poÄet_pÅ™ipojení] [-L jmenovka_svazku]\n" -"\t[-M poslední_adresář_pÅ™ipojení] [-O [^]vlastnost[,…]]\n" -"\t[-E rozšířený-pÅ™epínaÄ[,…]] [-T Äas_poslední_kontroly] [-U UUID]\n" +"\t[-r poÄet_rezervovaných_bloků] [-u uživatel] [-C poÄet_pÅ™ipojení]\n" +"\t[-L jmenovka_svazku] [-M poslední_adresář_pÅ™ipojení]\n" +"\t[-O [^]vlastnost[,…]] [-E rozšířený-pÅ™epínaÄ[,…]]\n" +"\t[-T Äas_poslední_kontroly] [-U UUID]\n" "\t[-I nová_velikost_iuzlu] zařízení\n" -#: misc/tune2fs.c:209 +#: misc/tune2fs.c:190 msgid "while trying to open external journal" msgstr "pÅ™i pokusu otevřít externí žurnál" -#: misc/tune2fs.c:214 +#: misc/tune2fs.c:194 #, c-format msgid "%s is not a journal device.\n" msgstr "%s není zařízení žurnálu.\n" -#: misc/tune2fs.c:229 +#: misc/tune2fs.c:209 msgid "Journal superblock not found!\n" msgstr "Superblok žurnálu nenalezen!\n" -#: misc/tune2fs.c:240 +#: misc/tune2fs.c:221 msgid "Filesystem's UUID not found on journal device.\n" msgstr "UUID systému souborů nenalezeno na zařízení žurnálu.\n" -#: misc/tune2fs.c:261 -msgid "" -"Cannot locate journal device. It was NOT removed\n" -"Use -f option to remove missing journal device.\n" -msgstr "" -"Zařízení žurnálu nelze nalézt. OdstranÄ›no NEBYLO.\n" -"ChybÄ›jící zařízení žurnálu lze odebrat pÅ™epínaÄem -f.\n" +#: misc/tune2fs.c:242 +msgid "Journal NOT removed\n" +msgstr "Žurnál NEODSTRANÄšN\n" -#: misc/tune2fs.c:269 +#: misc/tune2fs.c:248 msgid "Journal removed\n" msgstr "Žurnál odstranÄ›n\n" -#: misc/tune2fs.c:313 +#: misc/tune2fs.c:288 msgid "while reading bitmaps" msgstr "pÅ™i Ätení bitmap" -#: misc/tune2fs.c:321 +#: misc/tune2fs.c:296 msgid "while clearing journal inode" msgstr "pÅ™i ÄiÅ¡tÄ›ní iuzlu žurnálu" -#: misc/tune2fs.c:332 +#: misc/tune2fs.c:307 msgid "while writing journal inode" msgstr "pÅ™i zápisu iuzlu žurnálu" -#: misc/tune2fs.c:367 +#: misc/tune2fs.c:322 #, c-format -msgid "(and reboot afterwards!)\n" -msgstr "(a po té rebootujte!)\n" +msgid "Invalid mount option set: %s\n" +msgstr "Nastaven neplatný pÅ™epínaÄ pÅ™ipojení: %s\n" -#: misc/tune2fs.c:401 +#: misc/tune2fs.c:358 #, c-format msgid "Clearing filesystem feature '%s' not supported.\n" msgstr "OdstranÄ›ní vlastnosti systému souborů „%s“ není podporováno.\n" -#: misc/tune2fs.c:407 +#: misc/tune2fs.c:364 #, c-format msgid "Setting filesystem feature '%s' not supported.\n" msgstr "Nastavená vlastnosti systému souborů „%s“ není podporováno.\n" -#: misc/tune2fs.c:416 +#: misc/tune2fs.c:373 msgid "" "The has_journal feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" @@ -4995,7 +4568,7 @@ msgstr "" "Příznak has_journal může být vymazán jen, když je systém souborů\n" "odpojen nebo pÅ™ipojen jen pro Ätení.\n" -#: misc/tune2fs.c:424 +#: misc/tune2fs.c:381 msgid "" "The needs_recovery flag is set. Please run e2fsck before clearing\n" "the has_journal flag.\n" @@ -5003,42 +4576,7 @@ msgstr "" "Příznak needs_recovery je nastaven. PÅ™ed vymazáním příznaku has_journal\n" "prosím spusÅ¥te e2fsck.\n" -#: misc/tune2fs.c:443 -msgid "" -"The multiple mount protection feature can't\n" -"be set if the filesystem is mounted or\n" -"read-only.\n" -msgstr "" -"Ochranu pÅ™ed násobným pÅ™ipojením nelze nastavit,\n" -"pokud je systém souborů pÅ™ipojen nebo je-li jen pro Ätení.\n" - -#: misc/tune2fs.c:461 -#, c-format -msgid "Multiple mount protection has been enabled with update interval %ds.\n" -msgstr "Ochrana pÅ™ed násobným pÅ™ipojením byla zapnuta s intervalem aktualizace %d s.\n" - -#: misc/tune2fs.c:470 -msgid "" -"The multiple mount protection feature cannot\n" -"be disabled if the filesystem is readonly.\n" -msgstr "" -"Ochranu pÅ™ed násobným pÅ™ijením nelze vypnout,\n" -"je-li souborový systém jen pro Ätení.\n" - -#: misc/tune2fs.c:478 -msgid "Error while reading bitmaps\n" -msgstr "Chyba pÅ™i Ätení bitmap\n" - -#: misc/tune2fs.c:487 -#, c-format -msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n" -msgstr "Magické Äíslo v bloku MMP se neshoduje. OÄekáváno: %x, skuteÄnost: %x\n" - -#: misc/tune2fs.c:492 -msgid "while reading MMP block." -msgstr "pÅ™i Ätení bloku MMP." - -#: misc/tune2fs.c:524 +#: misc/tune2fs.c:414 msgid "" "Clearing the flex_bg flag would cause the the filesystem to be\n" "inconsistent.\n" @@ -5046,7 +4584,7 @@ msgstr "" "OdstranÄ›ní příznaku flex_bg by mohlo způsobit nekonzistenci systému\n" "souborů.\n" -#: misc/tune2fs.c:535 +#: misc/tune2fs.c:425 msgid "" "The huge_file feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" @@ -5054,19 +4592,16 @@ msgstr "" "Příznak huge_file může být vymazán jen, když je systém souborů\n" "odpojen nebo pÅ™ipojen jen pro Ätení.\n" -#: misc/tune2fs.c:595 -msgid "" -"\n" -"Warning: '^quota' option overrides '-Q'arguments.\n" -msgstr "" -"\n" -"Pozor: pÅ™epínaÄ â€ž^quota“ pÅ™ebije argumenty „–Q“.\n" +#: misc/tune2fs.c:453 +#, c-format +msgid "(and reboot afterwards!)\n" +msgstr "(a po té rebootujte!)\n" -#: misc/tune2fs.c:640 +#: misc/tune2fs.c:474 msgid "The filesystem already has a journal.\n" msgstr "Systém souborů již žurnál má.\n" -#: misc/tune2fs.c:658 +#: misc/tune2fs.c:492 #, c-format msgid "" "\n" @@ -5075,21 +4610,21 @@ msgstr "" "\n" "\tpÅ™i pokusu otevřít žurnál na %s\n" -#: misc/tune2fs.c:662 +#: misc/tune2fs.c:496 #, c-format msgid "Creating journal on device %s: " -msgstr "Vytváří se žurnál na zařízení %s: " +msgstr "Vytvářím žurnál na zařízení %s: " -#: misc/tune2fs.c:670 +#: misc/tune2fs.c:504 #, c-format msgid "while adding filesystem to journal on %s" msgstr "pÅ™i pÅ™idávání systému souborů do žurnálu na %s" -#: misc/tune2fs.c:676 +#: misc/tune2fs.c:510 msgid "Creating journal inode: " -msgstr "Vytváří se iuzel žurnálu: " +msgstr "Vytvářím iuzel žurnálu: " -#: misc/tune2fs.c:685 +#: misc/tune2fs.c:519 msgid "" "\n" "\twhile trying to create journal file" @@ -5097,122 +4632,85 @@ msgstr "" "\n" "\tpÅ™i pokusu vytvoÅ™it soubor žurnálu" -#: misc/tune2fs.c:763 -msgid "Couldn't allocate memory to parse quota options!\n" -msgstr "Nemohu alokovat paměť pro zpracování pÅ™epínaÄů kvóty!\n" - -#: misc/tune2fs.c:785 -msgid "" -"\n" -"Bad quota options specified.\n" -"\n" -"Following valid quota options are available (pass by separating with comma):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" -msgstr "" -"\n" -"Zadány chybné pÅ™epínaÄe kvóty.\n" -"\n" -"Následují dostupné platné pÅ™epínaÄe kvóty (oddÄ›lují se Äárkou):\n" -"\t[^]usrquota (kvóty uživatelů)\n" -"\t[^]grpquota (kvóty skupin)\n" -"\n" -"\n" - -#: misc/tune2fs.c:846 +#: misc/tune2fs.c:585 #, c-format msgid "Couldn't parse date/time specifier: %s" msgstr "Nemohu zpracovat urÄení data/Äasu: %s" -#: misc/tune2fs.c:870 misc/tune2fs.c:883 +#: misc/tune2fs.c:609 misc/tune2fs.c:622 #, c-format msgid "bad mounts count - %s" msgstr "Å¡patný poÄet pÅ™ipojení - %s" -#: misc/tune2fs.c:899 +#: misc/tune2fs.c:638 #, c-format msgid "bad error behavior - %s" msgstr "Å¡patné chování pÅ™i chybách - %s" -#: misc/tune2fs.c:926 +#: misc/tune2fs.c:665 #, c-format msgid "bad gid/group name - %s" msgstr "Å¡patné gid/jméno skupiny - %s" -#: misc/tune2fs.c:959 +#: misc/tune2fs.c:698 #, c-format msgid "bad interval - %s" msgstr "Å patný interval - %s" -#: misc/tune2fs.c:988 +#: misc/tune2fs.c:727 #, c-format msgid "bad reserved block ratio - %s" msgstr "Å¡patný podíl rezervovaných bloků - %s" -#: misc/tune2fs.c:1003 +#: misc/tune2fs.c:742 msgid "-o may only be specified once" msgstr "-o může být zadáno jen jednou" -#: misc/tune2fs.c:1012 +#: misc/tune2fs.c:752 msgid "-O may only be specified once" msgstr "-O může být zadáno jen jednou" -#: misc/tune2fs.c:1027 +#: misc/tune2fs.c:762 #, c-format msgid "bad reserved blocks count - %s" msgstr "Å¡patný poÄet rezervovaných bloků - %s" -#: misc/tune2fs.c:1056 +#: misc/tune2fs.c:791 #, c-format msgid "bad uid/user name - %s" msgstr "Å¡patné uid/jméno uživatele - %s" -#: misc/tune2fs.c:1073 +#: misc/tune2fs.c:808 #, c-format msgid "bad inode size - %s" msgstr "Å¡patná velikost iuzlu – %s" -#: misc/tune2fs.c:1080 +#: misc/tune2fs.c:815 #, c-format msgid "Inode size must be a power of two- %s" msgstr "Velikost iuzlu musí být mocnina dvou – %s" -#: misc/tune2fs.c:1174 -#, c-format -msgid "mmp_update_interval too big: %lu\n" -msgstr "interval_aktualizace_mmp je příliÅ¡ velký: %lu\n" - -#: misc/tune2fs.c:1179 -#, c-format -msgid "Setting multiple mount protection update interval to %lu second\n" -msgid_plural "Setting multiple mount protection update interval to %lu seconds\n" -msgstr[0] "Nastavuje se interval aktualizace ochrany proti násobnému pÅ™ipojení na %'lu sekundu\n" -msgstr[1] "Nastavuje se interval aktualizace ochrany proti násobnému pÅ™ipojení na %'lu sekundy\n" -msgstr[2] "Nastavuje se interval aktualizace ochrany proti násobnému pÅ™ipojení na %'lu sekund\n" - -#: misc/tune2fs.c:1202 +#: misc/tune2fs.c:904 #, c-format msgid "Invalid RAID stride: %s\n" msgstr "Neplatný kroku (stride) RAIDu: %s\n" -#: misc/tune2fs.c:1217 +#: misc/tune2fs.c:919 #, c-format msgid "Invalid RAID stripe-width: %s\n" msgstr "Neplatná šířka pruhu RAIDu (stripe-width): %s\n" -#: misc/tune2fs.c:1232 +#: misc/tune2fs.c:934 #, c-format msgid "Invalid hash algorithm: %s\n" msgstr "Neplatný hashovací algoritmus: %s\n" -#: misc/tune2fs.c:1238 +#: misc/tune2fs.c:940 #, c-format msgid "Setting default hash algorithm to %s (%d)\n" -msgstr "Implicitní hashovací algoritmus se nastavuje na %s (%d)\n" +msgstr "Nastavuji implicitní hashovací algoritmus na %s (%d)\n" -#: misc/tune2fs.c:1257 +#: misc/tune2fs.c:948 #, c-format msgid "" "\n" @@ -5222,11 +4720,9 @@ msgid "" "\tis set off by an equals ('=') sign.\n" "\n" "Valid extended options are:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" msgstr "" @@ -5237,39 +4733,29 @@ msgstr "" "\toddÄ›len znaménkem rovná se („=“).\n" "\n" "Platné rozšířené pÅ™epínaÄe jsou:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" -#: misc/tune2fs.c:1723 -msgid "Failed to read inode bitmap\n" -msgstr "ÄŒtení bitmapy iuzlů selhalo.\n" - -#: misc/tune2fs.c:1728 -msgid "Failed to read block bitmap\n" -msgstr "ÄŒtení bitmapy bloků selhalo\n" - -#: misc/tune2fs.c:1745 resize/resize2fs.c:870 +#: misc/tune2fs.c:1421 resize/resize2fs.c:790 msgid "blocks to be moved" msgstr "bloky pro pÅ™esun" -#: misc/tune2fs.c:1748 +#: misc/tune2fs.c:1424 msgid "Failed to allocate block bitmap when increasing inode size\n" msgstr "BÄ›hem zvÄ›tÅ¡ování iuzlu selhala alokace bitmapy bloků\n" -#: misc/tune2fs.c:1754 +#: misc/tune2fs.c:1430 msgid "Not enough space to increase inode size \n" msgstr "Nedostatek místa pro zvÄ›tÅ¡ení iuzlu\n" -#: misc/tune2fs.c:1759 +#: misc/tune2fs.c:1435 msgid "Failed to relocate blocks during inode resize \n" msgstr "BÄ›hem zmÄ›ny velikosti iuzlu selhala realokace bloků\n" -#: misc/tune2fs.c:1791 +#: misc/tune2fs.c:1467 msgid "" "Error in resizing the inode size.\n" "Run e2undo to undo the file system changes. \n" @@ -5277,16 +4763,7 @@ msgstr "" "Chyba pÅ™i mÄ›nÄ›ní velikost iuzlu.\n" "SpusÅ¥te e2undo, abyste vrátili zmÄ›ny provedené na systému souborů.\n" -#: misc/tune2fs.c:1818 -msgid "Couldn't allocate memory for tdb filename\n" -msgstr "Nemohu alokovat paměť pro název souboru TDB\n" - -#: misc/tune2fs.c:1840 -#, c-format -msgid "while trying to delete %s" -msgstr "pÅ™i pokusu smazat %s" - -#: misc/tune2fs.c:1850 +#: misc/tune2fs.c:1526 #, c-format msgid "" "To undo the tune2fs operation please run the command\n" @@ -5297,76 +4774,57 @@ msgstr "" " e2undo %s %s\n" "\n" -#: misc/tune2fs.c:1919 -#, c-format -msgid "" -"MMP block magic is bad. Try to fix it by running:\n" -"'e2fsck -f %s'\n" -msgstr "" -"Magické Äíslo bloku MMP je chybné. Můžete jej zkusit opravit pomocí:\n" -"„e2fsck -f %s“\n" - -#: misc/tune2fs.c:1937 +#: misc/tune2fs.c:1587 #, c-format msgid "The inode size is already %lu\n" msgstr "Velikost iuzlu již je %lu\n" -#: misc/tune2fs.c:1943 +#: misc/tune2fs.c:1592 #, c-format msgid "Shrinking the inode size is not supported\n" msgstr "ZmenÅ¡ování velikosti iuzlu není podporováno\n" -#: misc/tune2fs.c:1949 -#, c-format -msgid "Invalid inode size %lu (max %d)\n" -msgstr "Å¡patná velikost iuzlu %lu (max %d)\n" - -#: misc/tune2fs.c:1996 +#: misc/tune2fs.c:1635 #, c-format msgid "Setting maximal mount count to %d\n" -msgstr "Nastavuje se maximální poÄet pÅ™ipojení na %d\n" +msgstr "Nastavuji maximální poÄet pÅ™ipojení na %d\n" -#: misc/tune2fs.c:2002 +#: misc/tune2fs.c:1641 #, c-format msgid "Setting current mount count to %d\n" -msgstr "Nastavuje se aktuální poÄet pÅ™ipojení na %d\n" +msgstr "Nastavuji aktuální poÄet pÅ™ipojení na %d\n" -#: misc/tune2fs.c:2007 +#: misc/tune2fs.c:1646 #, c-format msgid "Setting error behavior to %d\n" -msgstr "Nastavuje se chování pÅ™i chybách na %d\n" +msgstr "Nastavuji chování pÅ™i chybách na %d\n" -#: misc/tune2fs.c:2012 +#: misc/tune2fs.c:1651 #, c-format msgid "Setting reserved blocks gid to %lu\n" -msgstr "Nastavuje se GID rezervovaných bloků na %lu\n" - -#: misc/tune2fs.c:2017 -#, c-format -msgid "interval between checks is too big (%lu)" -msgstr "interval mezi kontrolami je příliÅ¡ dlouhý (%'lu)" +msgstr "Nastavuji gid rezervovaných bloků na %lu\n" -#: misc/tune2fs.c:2024 +#: misc/tune2fs.c:1656 #, c-format msgid "Setting interval between checks to %lu seconds\n" -msgstr "Interval mezi kontrolami se nastavuje na %'lu sekund\n" +msgstr "Nastavuji interval mezi kontrolami na %'lu sekund\n" -#: misc/tune2fs.c:2031 +#: misc/tune2fs.c:1663 #, c-format -msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n" -msgstr "Procento rezervovaných bloků se nastavuje na %g %% (%'llu bloků)\n" +msgid "Setting reserved blocks percentage to %g%% (%u blocks)\n" +msgstr "Nastavuji procento rezervovaných bloků na %g %% (%'u bloků)\n" -#: misc/tune2fs.c:2037 +#: misc/tune2fs.c:1670 #, c-format -msgid "reserved blocks count is too big (%llu)" -msgstr "poÄet rezervovaných bloků je příliÅ¡ velký (%'llu)" +msgid "reserved blocks count is too big (%lu)" +msgstr "poÄet rezervovaných bloků je příliÅ¡ velký (%'lu)" -#: misc/tune2fs.c:2044 +#: misc/tune2fs.c:1676 #, c-format -msgid "Setting reserved blocks count to %llu\n" -msgstr "PoÄet rezervovaných bloků se nastavuje na %'llu\n" +msgid "Setting reserved blocks count to %lu\n" +msgstr "Nastavuji poÄet rezervovaných bloků na %'lu\n" -#: misc/tune2fs.c:2050 +#: misc/tune2fs.c:1682 msgid "" "\n" "The filesystem already has sparse superblocks.\n" @@ -5374,7 +4832,7 @@ msgstr "" "\n" "Systém souborů již má řídké superbloky.\n" -#: misc/tune2fs.c:2057 +#: misc/tune2fs.c:1689 #, c-format msgid "" "\n" @@ -5383,7 +4841,7 @@ msgstr "" "\n" "Příznak řídkých superbloků nastaven. %s" -#: misc/tune2fs.c:2062 +#: misc/tune2fs.c:1694 msgid "" "\n" "Clearing the sparse superflag not supported.\n" @@ -5391,33 +4849,25 @@ msgstr "" "\n" "OdstranÄ›ní superpříznaku řídkosti není podporováno.\n" -#: misc/tune2fs.c:2070 +#: misc/tune2fs.c:1701 #, c-format msgid "Setting time filesystem last checked to %s\n" -msgstr "Nastavuje se Äas poslední kontroly systému souborů na %s\n" +msgstr "Nastavuji Äas poslední kontroly systému souborů na %s\n" -#: misc/tune2fs.c:2076 +#: misc/tune2fs.c:1707 #, c-format msgid "Setting reserved blocks uid to %lu\n" -msgstr "Nastavuje se UID rezervovaných bloků na %lu\n" +msgstr "Nastavuji uid rezervovaných bloků na %lu\n" -#: misc/tune2fs.c:2108 -msgid "Error in using clear_mmp. It must be used with -f\n" -msgstr "Chybné použití clear_mmp. Je tÅ™eba jej použít s -f\n" - -#: misc/tune2fs.c:2126 -msgid "The quota feature may only be changed when the filesystem is unmounted.\n" -msgstr "Vlastnost kvóty smí být zmÄ›nÄ›na, jen když je systém souborů odpojen.\n" - -#: misc/tune2fs.c:2159 +#: misc/tune2fs.c:1758 msgid "Invalid UUID format\n" msgstr "Neplatný formát UUID\n" -#: misc/tune2fs.c:2172 +#: misc/tune2fs.c:1770 msgid "The inode size may only be changed when the filesystem is unmounted.\n" msgstr "Velikost iuzlu smí být zmÄ›nÄ›na, jen když je systém souborů odpojen.\n" -#: misc/tune2fs.c:2180 +#: misc/tune2fs.c:1777 msgid "" "Changing the inode size not supported for filesystems with the flex_bg\n" "feature enabled.\n" @@ -5425,41 +4875,31 @@ msgstr "" "Na souborových systémech se zapnutou vlastností flex_bg není zmÄ›na velikosti\n" "iuzlu podporována.\n" -#: misc/tune2fs.c:2193 +#: misc/tune2fs.c:1789 #, c-format msgid "Setting inode size %lu\n" -msgstr "Velikost iuzlu se nastavuje na %lu\n" +msgstr "Nastavuji velikost iuzlu %lu\n" -#: misc/tune2fs.c:2196 -#, c-format -msgid "Failed to change inode size\n" -msgstr "ZmÄ›na velikosti iuzlu selhala.\n" - -#: misc/tune2fs.c:2207 +#: misc/tune2fs.c:1799 #, c-format msgid "Setting stride size to %d\n" -msgstr "Velikost kroku (stride) se nastavuje na %d\n" +msgstr "Nastavuji velikost kroku (stride) na %d\n" -#: misc/tune2fs.c:2212 +#: misc/tune2fs.c:1804 #, c-format msgid "Setting stripe width to %d\n" -msgstr "Šířka pruhu (stripe width) se nastavuje na %d\n" - -#: misc/tune2fs.c:2219 -#, c-format -msgid "Setting extended default mount options to '%s'\n" -msgstr "Implicitní rozšířené pÅ™epínaÄe pÅ™i přípojení se nastavují na „%s“\n" +msgstr "Nastavuji šířku pruhu (stripe width) na %d\n" -#: misc/util.c:74 +#: misc/util.c:72 msgid "Proceed anyway? (y,n) " msgstr "PÅ™esto pokraÄovat? (a,n) " -#: misc/util.c:89 +#: misc/util.c:93 #, c-format msgid "Could not stat %s --- %s\n" msgstr "Nemohu stat %s --- %s\n" -#: misc/util.c:92 +#: misc/util.c:96 msgid "" "\n" "The device apparently does not exist; did you specify it correctly?\n" @@ -5467,34 +4907,34 @@ msgstr "" "\n" "Zařízení zÅ™ejmÄ› neexistuje; zadali jste je správnÄ›?\n" -#: misc/util.c:103 +#: misc/util.c:107 #, c-format msgid "%s is not a block special device.\n" msgstr "%s není speciální blokové zařízení.\n" -#: misc/util.c:132 +#: misc/util.c:136 #, c-format msgid "%s is entire device, not just one partition!\n" msgstr "%s je celé zařízení, ne jen jeden oddíl!\n" -#: misc/util.c:154 +#: misc/util.c:158 msgid "mke2fs forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "mke2fs pÅ™esto vynucen. Doufám, že /etc/mtab je nesprávná.\n" -#: misc/util.c:159 +#: misc/util.c:163 #, c-format msgid "will not make a %s here!\n" msgstr "nebudu tady vytvářet %s!\n" -#: misc/util.c:166 +#: misc/util.c:170 msgid "mke2fs forced anyway.\n" msgstr "mke2fs stejnÄ› vynucen.\n" -#: misc/util.c:182 +#: misc/util.c:186 msgid "Couldn't allocate memory to parse journal options!\n" msgstr "Nemohu alokovat paměť pro zpracování pÅ™epínaÄů žurnálu!\n" -#: misc/util.c:207 +#: misc/util.c:211 #, c-format msgid "" "\n" @@ -5503,7 +4943,7 @@ msgstr "" "\n" "Nebylo možné najít žurnálovací zařízení odpovídající %s\n" -#: misc/util.c:228 +#: misc/util.c:232 msgid "" "\n" "Bad journal options specified.\n" @@ -5531,7 +4971,7 @@ msgstr "" "Velikost žurnálu musí být mezi 1024 a 10240000 bloky systému souborů.\n" "\n" -#: misc/util.c:258 +#: misc/util.c:262 msgid "" "\n" "Filesystem too small for a journal\n" @@ -5539,7 +4979,7 @@ msgstr "" "\n" "Systém souborů příliÅ¡ malý na žurnál\n" -#: misc/util.c:265 +#: misc/util.c:269 #, c-format msgid "" "\n" @@ -5550,7 +4990,7 @@ msgstr "" "Požadovaná velikost žurnálu je %'d bloků; musí být\n" "mezi 1024 a 102400 bloky. KonÄím.\n" -#: misc/util.c:273 +#: misc/util.c:277 msgid "" "\n" "Journal size too big for filesystem.\n" @@ -5567,152 +5007,26 @@ msgstr "" "Tento systém souborů bude automaticky kontrolován každých %d pÅ™ipojení nebo\n" "%g dní, podle toho, co nastane dříve. Pro zmÄ›nu použijte tune2fs -c nebo -i.\n" -#: misc/uuidd.c:48 -#, c-format -msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n" -msgstr "Použití: %s [-d] [-p SOUBOR_S_PID] [-s CESTA_K_SOCKETU] [-T LHÅ®TA]\n" - -#: misc/uuidd.c:50 -#, c-format -msgid " %s [-r|t] [-n num] [-s socketpath]\n" -msgstr " %s [-r|t] [-n POÄŒET] [-s CESTA_K_SOCKETU]\n" - -#: misc/uuidd.c:52 -#, c-format -msgid " %s -k\n" -msgstr " %s -k\n" - -#: misc/uuidd.c:154 -msgid "bad arguments" -msgstr "chybné argumenty" - -#: misc/uuidd.c:172 -msgid "connect" -msgstr "pÅ™ipojení" - -#: misc/uuidd.c:191 -msgid "write" -msgstr "zápis" - -#: misc/uuidd.c:199 -msgid "read count" -msgstr "Ätení poÄtu" - -#: misc/uuidd.c:205 -msgid "bad response length" -msgstr "chybná délka odpovÄ›di" - -#: misc/uuidd.c:270 -#, c-format -msgid "uuidd daemon already running at pid %s\n" -msgstr "démon uuidd již běží jako PID %s\n" - -#: misc/uuidd.c:278 -#, c-format -msgid "Couldn't create unix stream socket: %s" -msgstr "Nebylo možné vytvoÅ™it unixový proudový socket: %s" - -#: misc/uuidd.c:307 -#, c-format -msgid "Couldn't bind unix socket %s: %s\n" -msgstr "Unixový socket nebylo možné pÅ™ilepit k %s: %s\n" - -#: misc/uuidd.c:315 -#, c-format -msgid "Couldn't listen on unix socket %s: %s\n" -msgstr "Na unixovém socketu %s nebylo možné zaÄít poslouchat: %s\n" - -#: misc/uuidd.c:353 -#, c-format -msgid "Error reading from client, len = %d\n" -msgstr "Chyba pÅ™i Ätení z klienta, délka = %d\n" - -#: misc/uuidd.c:361 -#, c-format -msgid "operation %d, incoming num = %d\n" -msgstr "operace %d, příchozí poÄet = %d\n" - -#: misc/uuidd.c:380 -#, c-format -msgid "Generated time UUID: %s\n" -msgstr "VytvoÅ™eno Äasové UUID: %s\n" - -#: misc/uuidd.c:390 -#, c-format -msgid "Generated random UUID: %s\n" -msgstr "VytvoÅ™eno náhodné UUID: %s\n" - -#: misc/uuidd.c:399 -#, c-format -msgid "Generated time UUID %s and subsequent UUID\n" -msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n" -msgstr[0] "VytvoÅ™eno Äasové UUID %s a %d následující\n" -msgstr[1] "VytvoÅ™eno Äasové UUID %s a %d následující\n" -msgstr[2] "VytvoÅ™eno Äasové UUID %s a %d následujících\n" - -#: misc/uuidd.c:420 -#, c-format -msgid "Generated %d UUID's:\n" -msgstr "VytvoÅ™eno %d UUID:\n" - -#: misc/uuidd.c:432 -#, c-format -msgid "Invalid operation %d\n" -msgstr "Neplatná operace %d\n" - -#: misc/uuidd.c:476 misc/uuidd.c:498 -#, c-format -msgid "Bad number: %s\n" -msgstr "Chybné Äíslo: %s\n" - -#: misc/uuidd.c:533 misc/uuidd.c:562 -#, c-format -msgid "Error calling uuidd daemon (%s): %s\n" -msgstr "Chyba pÅ™i volání démona uuidd (%s): %s\n" - -#: misc/uuidd.c:543 -#, c-format -msgid "%s and subsequent UUID\n" -msgid_plural "%s and subsequent %d UUIDs\n" -msgstr[0] "%s a následující %d UUID\n" -msgstr[1] "%s a následující %d UUID\n" -msgstr[2] "%s a následujících %d UUID\n" - -#: misc/uuidd.c:547 -#, c-format -msgid "List of UUID's:\n" -msgstr "Seznam UUID:\n" - -#: misc/uuidd.c:568 -#, c-format -msgid "Unexpected reply length from server %d\n" -msgstr "NeoÄekávaná délka odpovÄ›di ze serveru %d\n" - -#: misc/uuidd.c:585 -#, c-format -msgid "Couldn't kill uuidd running at pid %d: %s\n" -msgstr "Nebylo možné zabít uuidd s PID %d: %s\n" - -#: misc/uuidd.c:591 -#, c-format -msgid "Killed uuidd running at pid %d\n" -msgstr "Zabit uuidd s PID %d\n" - -#: misc/uuidgen.c:32 +#: misc/uuidgen.c:31 #, c-format msgid "Usage: %s [-r] [-t]\n" msgstr "Použití: %s [-r] [-t]\n" -#: resize/extent.c:202 +#: resize/extent.c:196 msgid "# Extent dump:\n" msgstr "# Výpis rozsahu:\n" -#: resize/extent.c:203 +#: resize/extent.c:197 #, c-format -msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n" -msgstr "#\tČís=%llu, Velikost=%llu, Kurzor=%llu, SeÅ™azeno=%llu\n" +msgid "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" +msgstr "#\tČís=%d, Velikost=%d, Kurzor=%d, SeÅ™azeno=%d\n" -#: resize/main.c:43 +#: resize/extent.c:200 +#, c-format +msgid "#\t\t %u -> %u (%d)\n" +msgstr "#\t\t %u -> %u (%d)\n" + +#: resize/main.c:42 #, c-format msgid "" "Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" @@ -5722,60 +5036,55 @@ msgstr "" " zařízení [nová_velikost]\n" "\n" -#: resize/main.c:65 +#: resize/main.c:64 msgid "Extending the inode table" msgstr "ZvÄ›tÅ¡uji tabulku iuzlů" -#: resize/main.c:68 +#: resize/main.c:67 msgid "Relocating blocks" msgstr "PÅ™esouvám bloky" -#: resize/main.c:71 +#: resize/main.c:70 msgid "Scanning inode table" msgstr "Procházím tabulku iuzlů" -#: resize/main.c:74 +#: resize/main.c:73 msgid "Updating inode references" msgstr "Aktualizuji odkazy na iuzly" -#: resize/main.c:77 +#: resize/main.c:76 msgid "Moving inode table" msgstr "PÅ™esouvám tabulku iuzlů" -#: resize/main.c:80 +#: resize/main.c:79 msgid "Unknown pass?!?" msgstr "Neznámý průchod?!?" -#: resize/main.c:83 +#: resize/main.c:82 #, c-format msgid "Begin pass %d (max = %lu)\n" msgstr "ZaÄátek průchodu %d (max = %lu)\n" -#: resize/main.c:154 -#, c-format -msgid "" -"\n" -"Resizing bigalloc file systems has not been fully tested. Proceed\n" -"at your own risk! Use the force option if you want to go ahead anyway.\n" -"\n" -msgstr "" -"\n" -"ZmÄ›na velikosti souborového systému s vlastností bigalloc není plnÄ›\n" -"otestována. PokraÄování jen na vlastní nebezpeÄí! PÅ™ejete-li si pokraÄovat,\n" -"použijte pÅ™epínaÄ vynucení.\n" -"\n" - -#: resize/main.c:271 +#: resize/main.c:265 #, c-format msgid "while opening %s" msgstr "pÅ™i otevírání %s" -#: resize/main.c:279 +#: resize/main.c:277 #, c-format msgid "while getting stat information for %s" msgstr "pÅ™i zjiÅ¡Å¥ování stat informací o %s" -#: resize/main.c:337 resize/main.c:450 +#: resize/main.c:338 +#, c-format +msgid "" +"%s: The combination of flex_bg and\n" +"\t!resize_inode features is not supported by resize2fs.\n" +msgstr "" +"%s: Kombinace vlastností flex_bg a\n" +"\t!resize_inode není podporována nástrojem resize2fs.\n" + +#: resize/main.c:352 resize/main.c:452 #, c-format msgid "" "Please run 'e2fsck -f %s' first.\n" @@ -5784,60 +5093,56 @@ msgstr "" "SpusÅ¥te prosím nejdříve „e2fsck -f %s“.\n" "\n" -#: resize/main.c:341 +#: resize/main.c:356 #, c-format -msgid "Estimated minimum size of the filesystem: %llu\n" -msgstr "Odhadovaná minimální velikost systému souborů: %llu\n" +msgid "Estimated minimum size of the filesystem: %u\n" +msgstr "Odhadovaná minimální velikost systému souborů: %u\n" -#: resize/main.c:377 +#: resize/main.c:392 #, c-format msgid "Invalid new size: %s\n" msgstr "Chybná nová velikost: %s\n" -#: resize/main.c:393 -msgid "New size too large to be expressed in 32 bits\n" -msgstr "Nová velikost je příliÅ¡, aby byla vyjádÅ™ena ve 32 bitech\n" - -#: resize/main.c:401 +#: resize/main.c:404 #, c-format -msgid "New size smaller than minimum (%llu)\n" -msgstr "Nová velikost je menší než minimum (%llu)\n" +msgid "New size smaller than minimum (%u)\n" +msgstr "Nová velikost je menší než minimum (%u)\n" -#: resize/main.c:407 +#: resize/main.c:410 msgid "Invalid stride length" msgstr "Neplatná délka kroku" -#: resize/main.c:431 +#: resize/main.c:434 #, c-format msgid "" -"The containing partition (or device) is only %llu (%dk) blocks.\n" -"You requested a new size of %llu blocks.\n" +"The containing partition (or device) is only %u (%dk) blocks.\n" +"You requested a new size of %u blocks.\n" "\n" msgstr "" -"DotÄený oddíl (nebo zařízení) je jen %'llu (%dk) bloků velké.\n" -"Požadovali jste novou velikost %'llu bloků.\n" +"DotÄený oddíl (nebo zařízení) je jen %'u (%dk) bloků velké.\n" +"Požadovali jste novou velikost %'u bloků.\n" "\n" -#: resize/main.c:438 +#: resize/main.c:441 #, c-format msgid "" -"The filesystem is already %llu blocks long. Nothing to do!\n" +"The filesystem is already %u blocks long. Nothing to do!\n" "\n" msgstr "" -"Souborový systém již je dlouhý %'llu bloků. Není co dÄ›lat!\n" +"Souborový systém již je dlouhý %'u bloků. Není co dÄ›lat!\n" "\n" -#: resize/main.c:455 +#: resize/main.c:456 #, c-format -msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n" -msgstr "Velikost systému souborů %s se mÄ›ní na %'llu (%dk) bloků.\n" +msgid "Resizing the filesystem on %s to %u (%dk) blocks.\n" +msgstr "Velikost systému souborů %s se mÄ›ní na %'u (%dk) bloků.\n" -#: resize/main.c:464 +#: resize/main.c:465 #, c-format msgid "while trying to resize %s" msgstr "pÅ™i pokusu zmÄ›nit velikost %s" -#: resize/main.c:467 +#: resize/main.c:468 #, c-format msgid "" "Please run 'e2fsck -fy %s' to fix the filesystem\n" @@ -5846,906 +5151,90 @@ msgstr "" "Po pÅ™eruÅ¡ené zmÄ›nÄ› velikosti, prosím, opravte souborový systém pomocí\n" "„e2fsck -fy %s“\n" -#: resize/main.c:473 +#: resize/main.c:474 #, c-format msgid "" -"The filesystem on %s is now %llu blocks long.\n" +"The filesystem on %s is now %u blocks long.\n" "\n" msgstr "" -"Systém souborů na %s je nyní %'llu bloků dlouhý.\n" +"Systém souborů na %s je nyní %'u bloků dlouhý.\n" "\n" -#: resize/main.c:488 +#: resize/main.c:489 #, c-format msgid "while trying to truncate %s" msgstr "pÅ™i pokusu zkrátit %s" -#: resize/online.c:79 +#: resize/online.c:37 #, c-format msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" msgstr "" "Systém souborů v %s je pÅ™ipojen do %s,\n" "požadována zmÄ›na velikosti za bÄ›hu.\n" -#: resize/online.c:83 -msgid "On-line shrinking not supported" -msgstr "ZmenÅ¡ování za bÄ›hu není podporováno" +#: resize/online.c:41 +#, c-format +msgid "On-line shrinking from %u to %u not supported.\n" +msgstr "ZmenÅ¡ení z %u na %u není podporováno.\n" -#: resize/online.c:108 +#: resize/online.c:61 msgid "Filesystem does not support online resizing" msgstr "Systém souborů nepodporuje zmÄ›nu velikosti za bÄ›hu" -#: resize/online.c:117 -msgid "Not enough reserved gdt blocks for resizing" -msgstr "Nedostatek rezervovaných GDT bloků pro zmÄ›nu velikosti za bÄ›hu" - -#: resize/online.c:124 -msgid "Kernel does not support resizing a file system this large" -msgstr "Jádro nepodporuje zmÄ›nu velikosti souborového systému na tuto velikost" - -#: resize/online.c:132 +#: resize/online.c:68 #, c-format msgid "while trying to open mountpoint %s" msgstr "pÅ™i pokusu otevřít přípojný bod %s" -#: resize/online.c:137 -#, c-format -msgid "Old resize interface requested.\n" -msgstr "Vyžádáno staré rozhraní pro zmÄ›nu velikosti.\n" - -#: resize/online.c:156 resize/online.c:173 +#: resize/online.c:76 msgid "Permission denied to resize filesystem" msgstr "Povolení ke zmÄ›nÄ› velikosti systému souborů zamítnuto" -#: resize/online.c:159 resize/online.c:179 -msgid "While checking for on-line resizing support" -msgstr "PÅ™i zjiÅ¡Å¥ování podpory zmÄ›ny velikosti za bÄ›hu" - -#: resize/online.c:176 +#: resize/online.c:79 msgid "Kernel does not support online resizing" msgstr "Jádro nepodporuje zmÄ›nu velikost za bÄ›hu" -#: resize/online.c:209 +#: resize/online.c:82 +msgid "While checking for on-line resizing support" +msgstr "PÅ™i zjiÅ¡Å¥ování podpory zmÄ›ny velikosti za bÄ›hu" + +#: resize/online.c:111 #, c-format -msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n" -msgstr "MÄ›ní se velikosti za bÄ›hu %s na %'llu (%dk) bloků.\n" +msgid "Performing an on-line resize of %s to %u (%dk) blocks.\n" +msgstr "Provádím zmÄ›nu velikosti za bÄ›hu %s na %'u (%dk) bloků.\n" -#: resize/online.c:219 +#: resize/online.c:121 msgid "While trying to extend the last group" msgstr "PÅ™i pokusu rozšířit poslední skupinu" -#: resize/online.c:273 +#: resize/online.c:180 #, c-format msgid "While trying to add group #%d" msgstr "PÅ™i pokusu pÅ™idat skupinu Ä. %d" -#: resize/online.c:284 +#: resize/online.c:191 #, c-format msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n" msgstr "Systém souborů v %s je pÅ™ipojen do %s a zmÄ›na velikost za bÄ›hu není na tomto systému podporována.\n" -#: resize/resize2fs.c:369 +#: resize/resize2fs.c:350 #, c-format msgid "inodes (%llu) must be less than %u" msgstr "iuzlů (%'llu) musí být ménÄ› než %'u" -#: resize/resize2fs.c:631 +#: resize/resize2fs.c:582 msgid "reserved blocks" msgstr "rezervované bloky" -#: resize/resize2fs.c:875 +#: resize/resize2fs.c:795 msgid "meta-data blocks" msgstr "bloky meta-dat" -#: resize/resize2fs.c:1837 +#: resize/resize2fs.c:1752 #, c-format msgid "Should never happen: resize inode corrupt!\n" msgstr "Toto by se nikdy nemÄ›lo stát: iuzly pro zmÄ›nu velikosti jsou poÅ¡kozeny!\n" -#: lib/ext2fs/ext2_err.c:11 -msgid "EXT2FS Library version 1.42.8" -msgstr "Knihovna EXT2FS verze 1.42.8" - -#: lib/ext2fs/ext2_err.c:12 -msgid "Wrong magic number for ext2_filsys structure" -msgstr "Chybné magické Äíslo pro strukturu ext2_filsys" - -#: lib/ext2fs/ext2_err.c:13 -msgid "Wrong magic number for badblocks_list structure" -msgstr "Chybné magické Äíslo pro strukturu badblocks_list" - -#: lib/ext2fs/ext2_err.c:14 -msgid "Wrong magic number for badblocks_iterate structure" -msgstr "Chybné magické Äíslo pro strukturu badblocks_iterate" - -#: lib/ext2fs/ext2_err.c:15 -msgid "Wrong magic number for inode_scan structure" -msgstr "Chybné magické Äíslo pro strukturu inode_scan" - -#: lib/ext2fs/ext2_err.c:16 -msgid "Wrong magic number for io_channel structure" -msgstr "Chybné magické Äíslo pro strukturu io_channel" - -#: lib/ext2fs/ext2_err.c:17 -msgid "Wrong magic number for unix io_channel structure" -msgstr "Chybné magické Äíslo pro unixovou strukturu io_channel" - -#: lib/ext2fs/ext2_err.c:18 -msgid "Wrong magic number for io_manager structure" -msgstr "Chybné magické Äíslo pro strukturu io_manager" - -#: lib/ext2fs/ext2_err.c:19 -msgid "Wrong magic number for block_bitmap structure" -msgstr "Chybné magické Äíslo pro strukturu block_bitmap" - -#: lib/ext2fs/ext2_err.c:20 -msgid "Wrong magic number for inode_bitmap structure" -msgstr "Chybné magické Äíslo pro strukturu inode_bitmap" - -#: lib/ext2fs/ext2_err.c:21 -msgid "Wrong magic number for generic_bitmap structure" -msgstr "Chybné magické Äíslo pro strukturu generic_bitmap" - -#: lib/ext2fs/ext2_err.c:22 -msgid "Wrong magic number for test io_channel structure" -msgstr "Chybné magické Äíslo pro strukturu io_channel" - -#: lib/ext2fs/ext2_err.c:23 -msgid "Wrong magic number for directory block list structure" -msgstr "Chybné magické Äíslo pro strukturu seznamu bloků adresářů" - -#: lib/ext2fs/ext2_err.c:24 -msgid "Wrong magic number for icount structure" -msgstr "Chybné magické Äíslo pro strukturu icount" - -#: lib/ext2fs/ext2_err.c:25 -msgid "Wrong magic number for Powerquest io_channel structure" -msgstr "Chybné magické Äíslo pro strukturu Powerquest io_channel" - -#: lib/ext2fs/ext2_err.c:26 -msgid "Wrong magic number for ext2 file structure" -msgstr "Chybné magické Äíslo pro ext2 strukturu souboru" - -#: lib/ext2fs/ext2_err.c:27 -msgid "Wrong magic number for Ext2 Image Header" -msgstr "Chybné magické Äíslo pro hlaviÄku obrazu ext2" - -#: lib/ext2fs/ext2_err.c:28 -msgid "Wrong magic number for inode io_channel structure" -msgstr "Chybné magické Äíslo pro strukturu io_channel iuzlu" - -#: lib/ext2fs/ext2_err.c:29 -msgid "Wrong magic number for ext4 extent handle" -msgstr "Chybné magické Äíslo pro popisovaÄ rozsahu ext4" - -#: lib/ext2fs/ext2_err.c:30 -msgid "Bad magic number in super-block" -msgstr "Chybné magické Äíslo v superbloku" - -#: lib/ext2fs/ext2_err.c:31 -msgid "Filesystem revision too high" -msgstr "Revize systému souborů je příliÅ¡ vysoká" - -#: lib/ext2fs/ext2_err.c:32 -msgid "Attempt to write to filesystem opened read-only" -msgstr "Pokus zapsat do souborového systému, který je jen pro Ätení" - -#: lib/ext2fs/ext2_err.c:33 -msgid "Can't read group descriptors" -msgstr "Deskriptory skupin nelze pÅ™eÄíst" - -#: lib/ext2fs/ext2_err.c:34 -msgid "Can't write group descriptors" -msgstr "Deskriptory skupin nelze zapsat" - -#: lib/ext2fs/ext2_err.c:35 -msgid "Corrupt group descriptor: bad block for block bitmap" -msgstr "PoÅ¡kozený deskriptor skupiny: chybný blok pro bitmapu bloků" - -#: lib/ext2fs/ext2_err.c:36 -msgid "Corrupt group descriptor: bad block for inode bitmap" -msgstr "PoÅ¡kozený deskriptor skupiny: chybný blok pro bitmapu iuzlů" - -#: lib/ext2fs/ext2_err.c:37 -msgid "Corrupt group descriptor: bad block for inode table" -msgstr "PoÅ¡kozený deskriptor skupiny: chybný blok pro tabulku iuzlů" - -#: lib/ext2fs/ext2_err.c:38 -msgid "Can't write an inode bitmap" -msgstr "Bitmapu iuzlů nelze zapsat" - -#: lib/ext2fs/ext2_err.c:39 -msgid "Can't read an inode bitmap" -msgstr "Bitmapu iuzlů nelze pÅ™eÄíst" - -#: lib/ext2fs/ext2_err.c:40 -msgid "Can't write an block bitmap" -msgstr "Bitmapu bloků nelze zapsat" - -#: lib/ext2fs/ext2_err.c:41 -msgid "Can't read an block bitmap" -msgstr "Bitmapu bloků nelze pÅ™eÄíst" - -#: lib/ext2fs/ext2_err.c:42 -msgid "Can't write an inode table" -msgstr "Tabulku iuzlů nelze zapsat" - -#: lib/ext2fs/ext2_err.c:43 -msgid "Can't read an inode table" -msgstr "Tabulku iuzlů nelze pÅ™eÄíst" - -#: lib/ext2fs/ext2_err.c:44 -msgid "Can't read next inode" -msgstr "Následující iuzel nelze pÅ™eÄíst" - -#: lib/ext2fs/ext2_err.c:45 -msgid "Filesystem has unexpected block size" -msgstr "Systém souborů má neÄekanou velikost bloku" - -#: lib/ext2fs/ext2_err.c:46 -msgid "EXT2 directory corrupted" -msgstr "Adresář ext2 poÅ¡kozen" - -#: lib/ext2fs/ext2_err.c:47 -msgid "Attempt to read block from filesystem resulted in short read" -msgstr "Pokus pÅ™eÄíst blok ze systému souborů vyústil ve zkrácené Ätení" - -#: lib/ext2fs/ext2_err.c:48 -msgid "Attempt to write block to filesystem resulted in short write" -msgstr "Pokus zapsat blok do systému souborů vyústil ve zkrácený zápis" - -#: lib/ext2fs/ext2_err.c:49 -msgid "No free space in the directory" -msgstr "V adresáři není volné místo" - -#: lib/ext2fs/ext2_err.c:50 -msgid "Inode bitmap not loaded" -msgstr "Bitmapa iuzlů není naÄtena" - -#: lib/ext2fs/ext2_err.c:51 -msgid "Block bitmap not loaded" -msgstr "Bitmapa bloků není naÄtena" - -#: lib/ext2fs/ext2_err.c:52 -msgid "Illegal inode number" -msgstr "Neplatné Äíslo iuzlu" - -#: lib/ext2fs/ext2_err.c:53 -msgid "Illegal block number" -msgstr "Neplatné Äíslo bloku" - -#: lib/ext2fs/ext2_err.c:54 -msgid "Internal error in ext2fs_expand_dir" -msgstr "VnitÅ™ní chyba ext2fs_expand_dir" - -#: lib/ext2fs/ext2_err.c:55 -msgid "Not enough space to build proposed filesystem" -msgstr "Nedostatek místa pro výstavbu navržené souborového systému" - -#: lib/ext2fs/ext2_err.c:56 -msgid "Illegal block number passed to ext2fs_mark_block_bitmap" -msgstr "Do ext2fs_mark_block_bitmap pÅ™edáno zakázané Äíslo bloku" - -#: lib/ext2fs/ext2_err.c:57 -msgid "Illegal block number passed to ext2fs_unmark_block_bitmap" -msgstr "Do ext2fs_unmark_block_bitmap pÅ™edáno zakázané Äíslo bloku" - -#: lib/ext2fs/ext2_err.c:58 -msgid "Illegal block number passed to ext2fs_test_block_bitmap" -msgstr "Do ext2fs_test_block_bitmap pÅ™edáno zakázané Äíslo bloku" - -#: lib/ext2fs/ext2_err.c:59 -msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap" -msgstr "Do ext2fs_mark_inode_bitmap pÅ™edáno zakázané Äíslo iuzlu" - -#: lib/ext2fs/ext2_err.c:60 -msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap" -msgstr "Do ext2fs_unmark_inode_bitmap pÅ™edáno zakázané Äíslo iuzlu" - -#: lib/ext2fs/ext2_err.c:61 -msgid "Illegal inode number passed to ext2fs_test_inode_bitmap" -msgstr "Do ext2fs_test_inode_bitmap pÅ™edáno zakázané Äíslo iuzlu" - -#: lib/ext2fs/ext2_err.c:62 -msgid "Attempt to fudge end of block bitmap past the real end" -msgstr "Pokus podvrhnout konec bitmapy bloků za skuteÄný konec" - -#: lib/ext2fs/ext2_err.c:63 -msgid "Attempt to fudge end of inode bitmap past the real end" -msgstr "Pokus podvrhnout konec bitmapy iuzlů za skuteÄný konec" - -#: lib/ext2fs/ext2_err.c:64 -msgid "Illegal indirect block found" -msgstr "Nalezen zakázaný nepřímý blok" - -#: lib/ext2fs/ext2_err.c:65 -msgid "Illegal doubly indirect block found" -msgstr "Nalezen zakázaný dvojnásobnÄ› nepřímý blok" - -#: lib/ext2fs/ext2_err.c:66 -msgid "Illegal triply indirect block found" -msgstr "Naleze zakázaný trojnásobnÄ› nepřímý blok" - -#: lib/ext2fs/ext2_err.c:67 -msgid "Block bitmaps are not the same" -msgstr "Bitmapy bloků se neshodují" - -#: lib/ext2fs/ext2_err.c:68 -msgid "Inode bitmaps are not the same" -msgstr "Bitmapu iuzlů se neshodují" - -#: lib/ext2fs/ext2_err.c:69 -msgid "Illegal or malformed device name" -msgstr "Zakázaný nebo chybnÄ› utvoÅ™ený název zařízení" - -#: lib/ext2fs/ext2_err.c:70 -msgid "A block group is missing an inode table" -msgstr "Skupina bloků postrádá tabulku iuzlů" - -#: lib/ext2fs/ext2_err.c:71 -msgid "The ext2 superblock is corrupt" -msgstr "Superblok ext2 je poÅ¡kozený" - -#: lib/ext2fs/ext2_err.c:72 -msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap" -msgstr "Do ext2fs_mark_generic_bitmap pÅ™edáno zakázané Äíslo obecných bitů" - -#: lib/ext2fs/ext2_err.c:73 -msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap" -msgstr "Do ext2fs_unmark_generic_bitmap pÅ™edáno zakázané Äíslo obecných bitů" - -#: lib/ext2fs/ext2_err.c:74 -msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap" -msgstr "Do ext2fs_test_generic_bitmap pÅ™edáno zakázané Äíslo obecných bitů" - -#: lib/ext2fs/ext2_err.c:75 -msgid "Too many symbolic links encountered." -msgstr "Zaznamenáno příliÅ¡ mnoho symbolických odkazů" - -#: lib/ext2fs/ext2_err.c:76 -msgid "The callback function will not handle this case" -msgstr "Funkce zpÄ›tného volání tento případ neumí obsloužit" - -#: lib/ext2fs/ext2_err.c:77 -msgid "The inode is from a bad block in the inode table" -msgstr "Iuzel pochází z chybného bloku tabulky iuzlů" - -# TODO: Pluralize -#: lib/ext2fs/ext2_err.c:78 -msgid "Filesystem has unsupported feature(s)" -msgstr "Souborový systém má nepodporovanou(é) vlastnost(i)" - -#: lib/ext2fs/ext2_err.c:79 -msgid "Filesystem has unsupported read-only feature(s)" -msgstr "Souborový systém má nepodporované vlastnosti, které lze jen Äíst" - -#: lib/ext2fs/ext2_err.c:80 -msgid "IO Channel failed to seek on read or write" -msgstr "I/O Channel nedokázal pÅ™esunout pozici pro Ätení nebo zápis" - -#: lib/ext2fs/ext2_err.c:81 -msgid "Memory allocation failed" -msgstr "Alokace pamÄ›ti selhala" - -#: lib/ext2fs/ext2_err.c:82 -msgid "Invalid argument passed to ext2 library" -msgstr "Do knihovny ext2 pÅ™edán neplatný argument" - -#: lib/ext2fs/ext2_err.c:83 -msgid "Could not allocate block in ext2 filesystem" -msgstr "V souborovém systému ext2 nebylo možné alokovat blok" - -#: lib/ext2fs/ext2_err.c:84 -msgid "Could not allocate inode in ext2 filesystem" -msgstr "V souborovém systému ext2 nebylo možné alokovat iuzel" - -#: lib/ext2fs/ext2_err.c:85 -msgid "Ext2 inode is not a directory" -msgstr "Iuzel ext2 není adresářem" - -#: lib/ext2fs/ext2_err.c:86 -msgid "Too many references in table" -msgstr "PříliÅ¡ mnoho odkazů do tabulky" - -#: lib/ext2fs/ext2_err.c:87 -msgid "File not found by ext2_lookup" -msgstr "Funkce ext2_lookup soubor nenalezla" - -#: lib/ext2fs/ext2_err.c:88 -msgid "File open read-only" -msgstr "Soubor otevÅ™en jen pro Ätení" - -#: lib/ext2fs/ext2_err.c:89 -msgid "Ext2 directory block not found" -msgstr "Blok adresáře ext2 nenalezen" - -#: lib/ext2fs/ext2_err.c:90 -msgid "Ext2 directory already exists" -msgstr "Adresář ext2 již existuje" - -#: lib/ext2fs/ext2_err.c:91 -msgid "Unimplemented ext2 library function" -msgstr "Neimplementovaná funkce knihovny ext2" - -#: lib/ext2fs/ext2_err.c:92 -msgid "User cancel requested" -msgstr "Uživatel zruÅ¡il požadavek" - -#: lib/ext2fs/ext2_err.c:93 -msgid "Ext2 file too big" -msgstr "Soubor ext2 je příliÅ¡ velký" - -#: lib/ext2fs/ext2_err.c:94 -msgid "Supplied journal device not a block device" -msgstr "Dodané žurnálovací zařízení není blokovým zařízením" - -#: lib/ext2fs/ext2_err.c:95 -msgid "Journal superblock not found" -msgstr "Superblok žurnálu nenalezen" - -#: lib/ext2fs/ext2_err.c:96 -msgid "Journal must be at least 1024 blocks" -msgstr "Žurnál musí mít aspoň 1024 bloků" - -#: lib/ext2fs/ext2_err.c:97 -msgid "Unsupported journal version" -msgstr "Nepodporovaná verze žurnálu" - -#: lib/ext2fs/ext2_err.c:98 -msgid "Error loading external journal" -msgstr "Chyba pÅ™i naÄítání externího žurnálu" - -#: lib/ext2fs/ext2_err.c:99 -msgid "Journal not found" -msgstr "Žurnál nenalezen" - -#: lib/ext2fs/ext2_err.c:100 -msgid "Directory hash unsupported" -msgstr "Hash adresářů nepodporován" - -#: lib/ext2fs/ext2_err.c:101 -msgid "Illegal extended attribute block number" -msgstr "Neplatné Äíslo bloku rozšířeného atributu" - -#: lib/ext2fs/ext2_err.c:102 -msgid "Cannot create filesystem with requested number of inodes" -msgstr "Souborový systém nelze vytvoÅ™it s požadovaným poÄtem iuzlů" - -#: lib/ext2fs/ext2_err.c:103 -msgid "E2image snapshot not in use" -msgstr "Snímek e2image se právÄ› nepoužívá" - -#: lib/ext2fs/ext2_err.c:104 -msgid "Too many reserved group descriptor blocks" -msgstr "PříliÅ¡ mnoho rezervovaných bloků deskriptorů skupiny" - -#: lib/ext2fs/ext2_err.c:105 -msgid "Resize inode is corrupt" -msgstr "Iuzel urÄený pro zmÄ›nu velikosti je poÅ¡kozený" - -#: lib/ext2fs/ext2_err.c:106 -msgid "Tried to set block bmap with missing indirect block" -msgstr "Byl pokus nastavit bitmapu bloků s chybÄ›jícím nepřímým blokem" - -#: lib/ext2fs/ext2_err.c:107 -msgid "TDB: Success" -msgstr "TDB: ÚspÄ›ch" - -#: lib/ext2fs/ext2_err.c:108 -msgid "TDB: Corrupt database" -msgstr "TDB: Databáze poÅ¡kozena" - -#: lib/ext2fs/ext2_err.c:109 -msgid "TDB: IO Error" -msgstr "TDB: Chyba vstupu/výstupu" - -#: lib/ext2fs/ext2_err.c:110 -msgid "TDB: Locking error" -msgstr "TDB: Chyba zamykání" - -#: lib/ext2fs/ext2_err.c:111 -msgid "TDB: Out of memory" -msgstr "TDB: Nedostatek pamÄ›ti" - -#: lib/ext2fs/ext2_err.c:112 -msgid "TDB: Record exists" -msgstr "TDB: Záznam existuje" - -#: lib/ext2fs/ext2_err.c:113 -msgid "TDB: Lock exists on other keys" -msgstr "TDB: Zámek existuje na jiném klíÄi" - -#: lib/ext2fs/ext2_err.c:114 -msgid "TDB: Invalid parameter" -msgstr "TDB: Neplatný parametr" - -#: lib/ext2fs/ext2_err.c:115 -msgid "TDB: Record does not exist" -msgstr "TDB: Záznam neexistuje" - -#: lib/ext2fs/ext2_err.c:116 -msgid "TDB: Write not permitted" -msgstr "TDB: Zápis není povolen" - -#: lib/ext2fs/ext2_err.c:117 -msgid "Ext2fs directory block list is empty" -msgstr "Seznam bloků adresářů ext2 je prázdný" - -#: lib/ext2fs/ext2_err.c:118 -msgid "Attempt to modify a block mapping via a read-only block iterator" -msgstr "Pokus zmÄ›nit mapování bloků pÅ™es blokový iterátor urÄený jen pro Ätení" - -#: lib/ext2fs/ext2_err.c:119 -msgid "Wrong magic number for ext4 extent saved path" -msgstr "Chybné magické Äíslo pro uloženou cestu ext4 rozsahu" - -#: lib/ext2fs/ext2_err.c:120 -msgid "Wrong magic number for 64-bit generic bitmap" -msgstr "Chybné magické Äíslo pro 64bitovou obecnou bitmapu" - -#: lib/ext2fs/ext2_err.c:121 -msgid "Wrong magic number for 64-bit block bitmap" -msgstr "Chybné magické Äíslo pro 64bitovou bitmapu bloků" - -#: lib/ext2fs/ext2_err.c:122 -msgid "Wrong magic number for 64-bit inode bitmap" -msgstr "Chybné magické Äíslo pro 64bitovou bitmapu iuzlů" - -#: lib/ext2fs/ext2_err.c:123 -msgid "Wrong magic number --- RESERVED_13" -msgstr "Chybné magické Äíslo – RESERVED_13" - -#: lib/ext2fs/ext2_err.c:124 -msgid "Wrong magic number --- RESERVED_14" -msgstr "Chybné magické Äíslo – RESERVED_14" - -#: lib/ext2fs/ext2_err.c:125 -msgid "Wrong magic number --- RESERVED_15" -msgstr "Chybné magické Äíslo – RESERVED_15" - -#: lib/ext2fs/ext2_err.c:126 -msgid "Wrong magic number --- RESERVED_16" -msgstr "Chybné magické Äíslo – RESERVED_16" - -#: lib/ext2fs/ext2_err.c:127 -msgid "Wrong magic number --- RESERVED_17" -msgstr "Chybné magické Äíslo – RESERVED_17" - -#: lib/ext2fs/ext2_err.c:128 -msgid "Wrong magic number --- RESERVED_18" -msgstr "Chybné magické Äíslo – RESERVED_18" - -#: lib/ext2fs/ext2_err.c:129 -msgid "Wrong magic number --- RESERVED_19" -msgstr "Chybné magické Äíslo – RESERVED_19" - -#: lib/ext2fs/ext2_err.c:130 -msgid "Corrupt extent header" -msgstr "PoÅ¡kozená hlaviÄka rozsahu" - -#: lib/ext2fs/ext2_err.c:131 -msgid "Corrupt extent index" -msgstr "PoÅ¡kozený index rozsahu" - -#: lib/ext2fs/ext2_err.c:132 -msgid "Corrupt extent" -msgstr "PoÅ¡kozený rozsah" - -#: lib/ext2fs/ext2_err.c:133 -msgid "No free space in extent map" -msgstr "V mapÄ› rozsahů nezbývá volné místo" - -#: lib/ext2fs/ext2_err.c:134 -msgid "Inode does not use extents" -msgstr "Iuzel nepoužívá rozsahy" - -#: lib/ext2fs/ext2_err.c:135 -msgid "No 'next' extent" -msgstr "Žádný „další“ rozsah" - -#: lib/ext2fs/ext2_err.c:136 -msgid "No 'previous' extent" -msgstr "Žádná „pÅ™edchozí“ rozsah" - -#: lib/ext2fs/ext2_err.c:137 -msgid "No 'up' extent" -msgstr "Žádný „nadřízený“ rozsah" - -#: lib/ext2fs/ext2_err.c:138 -msgid "No 'down' extent" -msgstr "Žádný „podřízený“ rozsah" - -#: lib/ext2fs/ext2_err.c:139 -msgid "No current node" -msgstr "Žádný souÄasný uzel" - -#: lib/ext2fs/ext2_err.c:140 -msgid "Ext2fs operation not supported" -msgstr "Operace ext2 není podporována" - -#: lib/ext2fs/ext2_err.c:141 -msgid "No room to insert extent in node" -msgstr "Není místo pro vložení rozsahu do uzlu" - -#: lib/ext2fs/ext2_err.c:142 -msgid "Splitting would result in empty node" -msgstr "RozdÄ›lení by vedlo k prázdnému uzlu" - -#: lib/ext2fs/ext2_err.c:143 -msgid "Extent not found" -msgstr "Rozsah nenalezen" - -#: lib/ext2fs/ext2_err.c:144 -msgid "Operation not supported for inodes containing extents" -msgstr "Operace na iuzlech obsahujících rozsahy není podporována" - -#: lib/ext2fs/ext2_err.c:145 -msgid "Extent length is invalid" -msgstr "Délka rozsahu není platná" - -#: lib/ext2fs/ext2_err.c:146 -msgid "I/O Channel does not support 64-bit block numbers" -msgstr "I/O Channel nepodporuje 64bitová Äísla bloků" - -#: lib/ext2fs/ext2_err.c:147 -msgid "Can't check if filesystem is mounted due to missing mtab file" -msgstr "Kvůli chybÄ›jícímu souboru mtab nelze zjistit, zda-li je systém souborů pÅ™ipojený" - -#: lib/ext2fs/ext2_err.c:148 -msgid "Filesystem too large to use legacy bitmaps" -msgstr "Souborový systém je příliÅ¡ velký na to, aby se použily zastaralé bitmapy" - -#: lib/ext2fs/ext2_err.c:149 -msgid "MMP: invalid magic number" -msgstr "MMP: neplatné magické Äíslo" - -#: lib/ext2fs/ext2_err.c:150 -msgid "MMP: device currently active" -msgstr "MMP: zařízení je právÄ› aktivní" - -#: lib/ext2fs/ext2_err.c:151 -msgid "MMP: fsck being run" -msgstr "MMP: právÄ› běží kontrola souborového systému" - -#: lib/ext2fs/ext2_err.c:152 -msgid "MMP: block number beyond filesystem range" -msgstr "MMP: Äíslo bloku se nachází za hranicí systému souborů" - -#: lib/ext2fs/ext2_err.c:153 -msgid "MMP: undergoing an unknown operation" -msgstr "MMP: právÄ› probíhá neznámá operace" - -#: lib/ext2fs/ext2_err.c:154 -msgid "MMP: filesystem still in use" -msgstr "MMP: systému souborů se stále používá" - -#: lib/ext2fs/ext2_err.c:155 -msgid "MMP: open with O_DIRECT failed" -msgstr "MMP: otevÅ™ení s O_DIRECT selhalo" - -#: lib/ext2fs/ext2_err.c:156 -msgid "Block group descriptor size incorrect" -msgstr "Nesprávná velikost deskriptoru skupiny bloků" - -#: lib/ext2fs/ext2_err.c:157 -msgid "Inode checksum does not match inode" -msgstr "Kontrolní souÄet iuzlu neodpovídá iuzlu" - -#: lib/ext2fs/ext2_err.c:158 -msgid "Inode bitmap checksum does not match bitmap" -msgstr "Kontrolní souÄet bitmapy iuzlů neodpovídá bitmapÄ›" - -#: lib/ext2fs/ext2_err.c:159 -msgid "Extent block checksum does not match extent block" -msgstr "Kontrolní souÄet bloku rozsahů neodpovídá bloku rozsahů" - -#: lib/ext2fs/ext2_err.c:160 -msgid "Directory block does not have space for checksum" -msgstr "Blok adresářů nemá místo pro kontrolní souÄet" - -#: lib/ext2fs/ext2_err.c:161 -msgid "Directory block checksum does not match directory block" -msgstr "Kontrolní souÄet bloku adresářů neodpovídá bloku adresářů" - -#: lib/ext2fs/ext2_err.c:162 -msgid "Extended attribute block checksum does not match block" -msgstr "Kontrolní souÄet bloku rozšířených atributů neodpovídá bloku" - -#: lib/ext2fs/ext2_err.c:163 -msgid "Superblock checksum does not match superblock" -msgstr "Kontrolní souÄet superbloku neodpovídá superbloku" - -#: lib/ext2fs/ext2_err.c:164 -msgid "Unknown checksum algorithm" -msgstr "Neznámý algoritmus kontrolního souÄtu" - -#: lib/ext2fs/ext2_err.c:165 -msgid "MMP block checksum does not match MMP block" -msgstr "Kontrolní souÄet bloku MMP neodpovídá bloku MMP" - -#: lib/ext2fs/ext2_err.c:166 -msgid "Ext2 file already exists" -msgstr "Soubor ext2 již existuje" - -#: e2fsck/prof_err.c:11 -msgid "Profile version 0.0" -msgstr "Profil verze 0.0" - -#: e2fsck/prof_err.c:12 -msgid "Bad magic value in profile_node" -msgstr "Chybné magické Äíslo v profile_node" - -#: e2fsck/prof_err.c:13 -msgid "Profile section not found" -msgstr "Sekce s profilem nenalezena" - -#: e2fsck/prof_err.c:14 -msgid "Profile relation not found" -msgstr "Relace profilu nenalezena" - -#: e2fsck/prof_err.c:15 -msgid "Attempt to add a relation to node which is not a section" -msgstr "Pokus pÅ™idat relaci uzlu, který není sekcí" - -#: e2fsck/prof_err.c:16 -msgid "A profile section header has a non-zero value" -msgstr "HlaviÄka sekce profilu má nenulovou hodnotu" - -#: e2fsck/prof_err.c:17 -msgid "Bad linked list in profile structures" -msgstr "Chybný zÅ™etÄ›zený seznam ve struktuÅ™e profilu" - -#: e2fsck/prof_err.c:18 -msgid "Bad group level in profile structures" -msgstr "Chybná úroveň skupiny ve struktuÅ™e profilu" - -#: e2fsck/prof_err.c:19 -msgid "Bad parent pointer in profile structures" -msgstr "Chybný ukazatel na rodiÄe ve struktuÅ™e profilu" - -#: e2fsck/prof_err.c:20 -msgid "Bad magic value in profile iterator" -msgstr "Chybné magické Äíslo v iterátoru profilu" - -#: e2fsck/prof_err.c:21 -msgid "Can't set value on section node" -msgstr "Uzlu sekce nelze nastavit hodnotu" - -#: e2fsck/prof_err.c:22 -msgid "Invalid argument passed to profile library" -msgstr "Do knihovny profilu pÅ™edán neplatný argument" - -#: e2fsck/prof_err.c:23 -msgid "Attempt to modify read-only profile" -msgstr "Pokus zmÄ›nit profil, který je jen pro Ätení" - -#: e2fsck/prof_err.c:24 -msgid "Profile section header not at top level" -msgstr "HlaviÄka sekce profilu není na nejvyšší úrovni" - -#: e2fsck/prof_err.c:25 -msgid "Syntax error in profile section header" -msgstr "Chyba syntaxe ve hlaviÄce sekce profilu" - -#: e2fsck/prof_err.c:26 -msgid "Syntax error in profile relation" -msgstr "Chyba syntaxe v relaci profilu" - -#: e2fsck/prof_err.c:27 -msgid "Extra closing brace in profile" -msgstr "NadbyteÄná uzavírací závorka v profilu" - -#: e2fsck/prof_err.c:28 -msgid "Missing open brace in profile" -msgstr "V profilu chybí otevírací závorka" - -#: e2fsck/prof_err.c:29 -msgid "Bad magic value in profile_t" -msgstr "Chybné magické Äíslo v profile_t" - -#: e2fsck/prof_err.c:30 -msgid "Bad magic value in profile_section_t" -msgstr "Chybné magické Äíslo v profile_section_t" - -#: e2fsck/prof_err.c:31 -msgid "Iteration through all top level section not supported" -msgstr "Průchod skrze vÅ¡echny vrcholové sekce není podporován" - -#: e2fsck/prof_err.c:32 -msgid "Invalid profile_section object" -msgstr "Neplatný objekt profile_section" - -#: e2fsck/prof_err.c:33 -msgid "No more sections" -msgstr "Žádné další sekce" - -#: e2fsck/prof_err.c:34 -msgid "Bad nameset passed to query routine" -msgstr "Do dotazovací rutiny pÅ™edána chybná množina názvů" - -#: e2fsck/prof_err.c:35 -msgid "No profile file open" -msgstr "Žádný soubor s profilem k otevÅ™ení" - -#: e2fsck/prof_err.c:36 -msgid "Bad magic value in profile_file_t" -msgstr "Chybné magické Äíslo v profile_file_t" - -#: e2fsck/prof_err.c:37 -msgid "Couldn't open profile file" -msgstr "Soubor s profilem nebylo možné otevřít" - -#: e2fsck/prof_err.c:38 -msgid "Section already exists" -msgstr "Sekce již existuje" - -#: e2fsck/prof_err.c:39 -msgid "Invalid boolean value" -msgstr "Neplatná pravdivostní hodnota" - -#: e2fsck/prof_err.c:40 -msgid "Invalid integer value" -msgstr "Neplatná celoÄíselná hodnota" - -#: e2fsck/prof_err.c:41 -msgid "Bad magic value in profile_file_data_t" -msgstr "Chybné magické Äíslo v profile_file_data_t" - -#~ msgid "Clearing extent flag not supported on %s" -#~ msgstr "OdstranÄ›ní příznaku rozsahu není na %s podporováno" - -#~ msgid "" -#~ "%s: The combination of flex_bg and\n" -#~ "\t!resize_inode features is not supported by resize2fs.\n" -#~ msgstr "" -#~ "%s: Kombinace vlastností flex_bg a\n" -#~ "\t!resize_inode není podporována nástrojem resize2fs.\n" - -#~ msgid "%s is mounted. " -#~ msgstr "%s je pÅ™ipojen. " - -#~ msgid "@g %g @b @B uninitialized but @i @B in use.\n" -#~ msgstr "Bitmapa bloků skupiny %g neinicializována, aÄkoliv bitmapa iuzlů je použita.\n" - -#~ msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" -#~ msgstr "Iuzel %i by nemÄ›l mít nastaveno EOFBLOCKS_FL (velikost %Is, lblk %r)\n" - -#~ msgid "Couldn't determine journal size" -#~ msgstr "Velikost žurnálu nelze urÄit" - -#~ msgid "#\t\t %llu -> %llu (%llu)\n" -#~ msgstr "#\t\t %llu -> %llu (%llu)\n" - -# TODO: Missing... not present is duplicate -#~ msgid "Missing indirect block not present" -#~ msgstr "Nepřímý blok není přítomen" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "short write (only %d bytes) for writing image header" -#~ msgstr "krátký zápis (jen %d bajtů) pÅ™i zápisu hlaviÄky obrazu" - -#~ msgid "invalid fragment size - %s" -#~ msgstr "Å¡patná velikost fragmentu – %s" - -#~ msgid "Warning: fragments not supported. Ignoring -f option\n" -#~ msgstr "Varování: fragmenty nepodporovány. Ignoruji pÅ™epínaÄ -f\n" - -# Calling is subject -#~ msgid "Calling BLKDISCARD from %llu to %llu " -#~ msgstr "Volání BLKDISCARD od %llu do %llu " - -# Continuation of "Calling BLKDISCARD from %llu to %llu " -#~ msgid "succeeded.\n" -#~ msgstr "uspÄ›lo.\n" - -#~ msgid "Journal NOT removed\n" -#~ msgstr "Žurnál NEODSTRANÄšN\n" - #~ msgid "@S doesn't have has_@j flag, but has ext3 @j %s.\n" #~ msgstr "Superblok nemá příznak has_journal, ale má žurnál ext3 %s.\n" @@ -6761,6 +5250,9 @@ msgstr "Chybné magické Äíslo v profile_file_data_t" #~ msgid "while retrying to write block bitmaps for %s" #~ msgstr "pÅ™i opakovaném pokusu zapsat bitmapy bloků pro %s" +#~ msgid "writing inode bitmaps" +#~ msgstr "zápisu bitmap inode" + #~ msgid "%s failed for %s: %s\n" #~ msgstr "%s selhalo pro %s: %s\n" @@ -6774,6 +5266,9 @@ msgstr "Chybné magické Äíslo v profile_file_data_t" #~ msgid "BLKGETSIZE ioctl" #~ msgstr "ioctl BLKGETSIZE" +#~ msgid "Filesystem %s has unsupported features enabled.\n" +#~ msgstr "Systém souborů %s má zapnuté nepodporované vlastnosti.\n" + #~ msgid "@a in @i %i has a hash (%N) which is @n (must be 0)\n" #~ msgstr "Rozšířený atribut v iuzlu %i má hash (%N), který není platný (musí být 0)\n" @@ -6814,6 +5309,9 @@ msgstr "Chybné magické Äíslo v profile_file_data_t" #~ msgid "%s: Filesystem byte order already normalized.\n" #~ msgstr "%s: PoÅ™adí bajtů systému souborů již normalizováno.\n" +#~ msgid "invalid test_pattern: %s\n" +#~ msgstr "neplatný zkuÅ¡ební_vzorek: %s\n" + #~ msgid "invalid starting block - %s" #~ msgstr "Å¡patný poÄáteÄní blok – %s" @@ -6841,6 +5339,9 @@ msgstr "Chybné magické Äíslo v profile_file_data_t" #~ msgid "Warning: %d-byte inodes not usable on older systems\n" #~ msgstr "Varování: %dbajtové iuzly nejsou na starších systémech použitelné\n" +#~ msgid "bad filesystem size - %s" +#~ msgstr "Å¡patná velikost systému souborů – %s" + #~ msgid "" #~ "\n" #~ "The filesystem already has sparse superblocks disabled.\n" @@ -6885,6 +5386,16 @@ msgstr "Chybné magické Äíslo v profile_file_data_t" #~ msgid "Forcibly clearing HTREE flag on @i %d (%q). (Beta test code)\n" #~ msgstr "VynucenÄ› mažu příznak HTREE v inode %d (%q). (Kód v beta testování)\n" +#~ msgid "" +#~ "\n" +#~ "%8d inodes used (%d%%)\n" +#~ msgstr "" +#~ "\n" +#~ "%8d použitých inode (%d%%)\n" + +#~ msgid "%8d non-contiguous inodes (%0d.%d%%)\n" +#~ msgstr "%8d nesouvislých inode (%0d.%d%%)\n" + #~ msgid "" #~ "%8d blocks used (%d%%)\n" #~ "%8d bad blocks\n" @@ -6892,6 +5403,9 @@ msgstr "Chybné magické Äíslo v profile_file_data_t" #~ "%8d použitých bloků (%d%%)\n" #~ "%8d Å¡patných bloků\n" +#~ msgid "%8d large files\n" +#~ msgstr "%8d velkých souborů\n" + #~ msgid "" #~ "\n" #~ "%8d regular files\n" @@ -6928,6 +5442,9 @@ msgstr "Chybné magické Äíslo v profile_file_data_t" #~ "\tea_ver=,2002. -# Marc Langer ,2003. -# Philipp Thomas , 2007, 2008, 2009, 2010, 2011, 2012, 2013. +# Olaf Klemke ,2002 +# Marc Langer ,2003 +# Philipp Thomas , 2007, 2008, 2009, 2010 # #. 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, @@ -66,705 +65,709 @@ #. msgid "" msgstr "" -"Project-Id-Version: e2fsprogs-1.42.6\n" +"Project-Id-Version: e2fsprogs-1.41.11\n" "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n" -"POT-Creation-Date: 2012-09-21 12:16-0400\n" -"PO-Revision-Date: 2013-01-27 00:23+0100\n" +"POT-Creation-Date: 2010-05-17 23:05-0400\n" +"PO-Revision-Date: 2010-04-19 18:28+0200\n" "Last-Translator: Philipp Thomas \n" "Language-Team: German \n" -"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: e2fsck/badblocks.c:23 misc/mke2fs.c:177 +#: e2fsck/badblocks.c:22 misc/mke2fs.c:169 #, c-format msgid "Bad block %u out of range; ignored.\n" -msgstr "„Bad block“ %u außerhalb des gültigen Bereichs; ignoriert.\n" +msgstr "Bad block %u außerhalb des gültigen Bereichs; ignoriert.\n" -#: e2fsck/badblocks.c:46 +#: e2fsck/badblocks.c:45 msgid "while sanity checking the bad blocks inode" -msgstr "während der logischen Prüfung des „Bad Block“-Inodes" +msgstr "während der logischen Prüfung des »Bad Block«-Inodes" -#: e2fsck/badblocks.c:58 +#: e2fsck/badblocks.c:57 msgid "while reading the bad blocks inode" -msgstr "während des Lesens des „Bad Block“-Inodes" +msgstr "während des Lesens des »Bad Block«-Inodes" -#: e2fsck/badblocks.c:72 e2fsck/iscan.c:110 e2fsck/scantest.c:107 -#: e2fsck/unix.c:1334 e2fsck/unix.c:1422 misc/badblocks.c:1214 -#: misc/badblocks.c:1222 misc/badblocks.c:1236 misc/badblocks.c:1248 -#: misc/dumpe2fs.c:588 misc/e2image.c:1189 misc/e2image.c:1307 -#: misc/e2image.c:1320 misc/mke2fs.c:193 misc/tune2fs.c:1898 resize/main.c:303 +#: e2fsck/badblocks.c:71 e2fsck/iscan.c:112 e2fsck/scantest.c:109 +#: e2fsck/unix.c:1083 e2fsck/unix.c:1166 misc/badblocks.c:1155 +#: misc/badblocks.c:1163 misc/badblocks.c:1177 misc/badblocks.c:1189 +#: misc/dumpe2fs.c:552 misc/e2image.c:583 misc/e2image.c:679 +#: misc/e2image.c:695 misc/mke2fs.c:185 misc/tune2fs.c:1573 resize/main.c:310 #, c-format msgid "while trying to open %s" msgstr "beim Versuch, %s zu öffnen" -#: e2fsck/badblocks.c:83 +#: e2fsck/badblocks.c:82 #, c-format msgid "while trying popen '%s'" -msgstr "beim Versuch, „%s“ mittels „popen“ zu öffnen" +msgstr "beim Versuch, »%s« mittels »popen« zu öffnen" -#: e2fsck/badblocks.c:94 misc/mke2fs.c:200 +#: e2fsck/badblocks.c:93 misc/mke2fs.c:192 msgid "while reading in list of bad blocks from file" -msgstr "beim Lesen der „Bad Block“-Liste aus der Datei" +msgstr "beim Lesen der »Bad Block«-Liste aus der Datei" -#: e2fsck/badblocks.c:105 +#: e2fsck/badblocks.c:104 msgid "while updating bad block inode" -msgstr "beim Updaten des „Bad Block“-Inodes" +msgstr "beim Updaten des »Bad Block«-Inodes" -#: e2fsck/badblocks.c:131 +#: e2fsck/badblocks.c:130 #, c-format msgid "Warning: illegal block %u found in bad block inode. Cleared.\n" -msgstr "Warnung: Nicht zulässiger Block %u im „Bad Blocks“-Inode gefunden! Bereinigt.\n" +msgstr "" +"Warnung: Nicht zulässiger Block %u im »Bad Blocks«-Inode gefunden! " +"Bereinigt.\n" -#: e2fsck/ehandler.c:55 +#: e2fsck/ehandler.c:54 #, c-format msgid "Error reading block %lu (%s) while %s. " msgstr "Lesefehler - Block %lu (%s) während %s. " -#: e2fsck/ehandler.c:58 +#: e2fsck/ehandler.c:57 #, c-format msgid "Error reading block %lu (%s). " msgstr "Lesefehler - Block %lu (%s). " -#: e2fsck/ehandler.c:61 e2fsck/ehandler.c:110 +#: e2fsck/ehandler.c:60 e2fsck/ehandler.c:109 msgid "Ignore error" msgstr "Ignoriere Fehler" -#: e2fsck/ehandler.c:62 +#: e2fsck/ehandler.c:61 msgid "Force rewrite" msgstr "Rückschreiben erzwingen" -#: e2fsck/ehandler.c:104 +#: e2fsck/ehandler.c:103 #, c-format msgid "Error writing block %lu (%s) while %s. " msgstr "Schreibfehler - Block %lu (%s) während %s. " -#: e2fsck/ehandler.c:107 +#: e2fsck/ehandler.c:106 #, c-format msgid "Error writing block %lu (%s). " msgstr "Schreibfehler - Block %lu (%s). " -#: e2fsck/emptydir.c:57 +#: e2fsck/emptydir.c:56 msgid "empty dirblocks" msgstr "leere Verzeichnisblöcke" -#: e2fsck/emptydir.c:62 +#: e2fsck/emptydir.c:61 msgid "empty dir map" msgstr "leere Verzeichnisliste" -#: e2fsck/emptydir.c:98 +#: e2fsck/emptydir.c:97 #, c-format msgid "Empty directory block %u (#%d) in inode %u\n" msgstr "leerer Verzeichnisblock %u (#%d) im Inode %u\n" -#: e2fsck/extend.c:22 +#: e2fsck/extend.c:21 #, c-format msgid "%s: %s filename nblocks blocksize\n" msgstr "%s: %s Dateiname nblocks Blockgröße\n" -#: e2fsck/extend.c:44 +#: e2fsck/extend.c:43 #, c-format msgid "Illegal number of blocks!\n" msgstr "Blockanzahl nicht zulässig!\n" -#: e2fsck/extend.c:50 +#: e2fsck/extend.c:49 #, c-format msgid "Couldn't allocate block buffer (size=%d)\n" -msgstr "Es konnte kein Blockpuffer (Größe=%d) reserviert werden\n" +msgstr "Konnte keinen Blockpuffer (Größe=%d) reservieren.\n" -#: e2fsck/flushb.c:35 +#: e2fsck/flushb.c:34 #, c-format msgid "Usage: %s disk\n" msgstr "Aufruf: %s Laufwerk\n" -#: e2fsck/flushb.c:64 +#: e2fsck/flushb.c:63 #, c-format msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n" msgstr "BLKFLSBUF ioctl nicht unterstützt! Kann Puffer nicht leeren.\n" -#: e2fsck/iscan.c:44 +#: e2fsck/iscan.c:46 #, c-format msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n" msgstr "Aufruf: %s [-F] [-I inode_buffer_blocks] Gerät\n" -#: e2fsck/iscan.c:81 e2fsck/unix.c:963 +#: e2fsck/iscan.c:83 e2fsck/unix.c:838 #, c-format msgid "while opening %s for flushing" -msgstr "beim Öffnen von %s für die Puffer-Leerung" +msgstr "beim Öffnen von %s für die Puffer-Leerung." -#: e2fsck/iscan.c:86 e2fsck/unix.c:969 resize/main.c:276 +#: e2fsck/iscan.c:88 e2fsck/unix.c:844 resize/main.c:286 #, c-format msgid "while trying to flush %s" msgstr "während des Rückschreibeversuches auf %s" -#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1084 +#: e2fsck/iscan.c:121 e2fsck/scantest.c:116 misc/e2image.c:489 msgid "while opening inode scan" msgstr "beim Start des Inode-Scans" -#: e2fsck/iscan.c:127 misc/e2image.c:1102 +#: e2fsck/iscan.c:129 misc/e2image.c:507 msgid "while getting next inode" msgstr "beim Laden des nächsten Inodes" -#: e2fsck/iscan.c:136 +#: e2fsck/iscan.c:138 #, c-format msgid "%u inodes scanned.\n" msgstr "%u Inodes untersucht.\n" -#: e2fsck/journal.c:512 +#: e2fsck/journal.c:507 msgid "reading journal superblock\n" msgstr "Lese Journal-Superblock\n" -#: e2fsck/journal.c:569 +#: e2fsck/journal.c:564 #, c-format msgid "%s: no valid journal superblock found\n" msgstr "%s: keinen gültigen Journal-Superblock gefunden\n" -#: e2fsck/journal.c:578 +#: e2fsck/journal.c:573 #, c-format msgid "%s: journal too short\n" msgstr "%s: Das Journal ist zu kurz\n" -#: e2fsck/journal.c:870 +#: e2fsck/journal.c:860 #, c-format msgid "%s: recovering journal\n" msgstr "%s: stelle das Journal wieder her\n" -#: e2fsck/journal.c:872 +#: e2fsck/journal.c:862 #, c-format msgid "%s: won't do journal recovery while read-only\n" msgstr "%s: Das Journal ist nur lesbar - Keine Wiederherstellung\n" -#: e2fsck/journal.c:899 +#: e2fsck/journal.c:887 #, c-format msgid "while trying to re-open %s" msgstr "beim Versuch, %s erneut zu öffnen" -#: e2fsck/message.c:113 +#: e2fsck/message.c:111 msgid "aextended attribute" -msgstr "aerweiterte Attribute" +msgstr "aerweiterte Eigenschaft" -#: e2fsck/message.c:114 +#: e2fsck/message.c:112 msgid "Aerror allocating" -msgstr "AFehler beim Reservieren von Platz für" +msgstr "AFehler beim Zuweisen" -#: e2fsck/message.c:115 +#: e2fsck/message.c:113 msgid "bblock" msgstr "bBlock" -#: e2fsck/message.c:116 +#: e2fsck/message.c:114 msgid "Bbitmap" msgstr "BBitmap" -#: e2fsck/message.c:117 +#: e2fsck/message.c:115 msgid "ccompress" msgstr "ckomprimieren" -#: e2fsck/message.c:118 +#: e2fsck/message.c:116 msgid "Cconflicts with some other fs @b" -msgstr "CKonflikte mit einem anderen Dateisystemenblock" +msgstr "CKonflikte mit anderen Dateisystemen @b" -#: e2fsck/message.c:119 +#: e2fsck/message.c:117 msgid "iinode" msgstr "iInode" -#: e2fsck/message.c:120 +#: e2fsck/message.c:118 msgid "Iillegal" msgstr "Iillegal(er)" -#: e2fsck/message.c:121 +#: e2fsck/message.c:119 msgid "jjournal" msgstr "jJournal" -#: e2fsck/message.c:122 +#: e2fsck/message.c:120 msgid "Ddeleted" msgstr "Dgelöscht" -#: e2fsck/message.c:123 +#: e2fsck/message.c:121 msgid "ddirectory" msgstr "dVerzeichnis" -#: e2fsck/message.c:124 +#: e2fsck/message.c:122 msgid "eentry" msgstr "eEintrag" -#: e2fsck/message.c:125 +#: e2fsck/message.c:123 msgid "E@e '%Dn' in %p (%i)" -msgstr "E@e „%Dn“ in %p (%i)" +msgstr "E@e »%Dn« in %p (%i)" -#: e2fsck/message.c:126 +#: e2fsck/message.c:124 msgid "ffilesystem" msgstr "fDateisystem" -#: e2fsck/message.c:127 +#: e2fsck/message.c:125 msgid "Ffor @i %i (%Q) is" msgstr "Ffür @i %i (%Q) ist" -#: e2fsck/message.c:128 +#: e2fsck/message.c:126 msgid "ggroup" msgstr "gGruppe" -#: e2fsck/message.c:129 +#: e2fsck/message.c:127 msgid "hHTREE @d @i" -msgstr "hHTREE @dinode" +msgstr "hHTREE @d @i" -#: e2fsck/message.c:130 +#: e2fsck/message.c:128 msgid "llost+found" msgstr "llost+found" -#: e2fsck/message.c:131 +#: e2fsck/message.c:129 msgid "Lis a link" -msgstr "List eine Verknüpfung" +msgstr "List ein Link" -#: e2fsck/message.c:132 +#: e2fsck/message.c:130 msgid "mmultiply-claimed" msgstr "mmehrfach beansprucht" -#: e2fsck/message.c:133 +#: e2fsck/message.c:131 msgid "ninvalid" msgstr "nungültig" -#: e2fsck/message.c:134 +#: e2fsck/message.c:132 msgid "oorphaned" msgstr "overwaist" -#: e2fsck/message.c:135 +#: e2fsck/message.c:133 msgid "pproblem in" msgstr "pProblem in" -#: e2fsck/message.c:136 -msgid "qquota" -msgstr "qQuota" - -#: e2fsck/message.c:137 +#: e2fsck/message.c:134 msgid "rroot @i" msgstr "rRoot @i" -#: e2fsck/message.c:138 +#: e2fsck/message.c:135 msgid "sshould be" msgstr "ssollte sein" -#: e2fsck/message.c:139 +#: e2fsck/message.c:136 msgid "Ssuper@b" msgstr "SSuper@b" -#: e2fsck/message.c:140 +#: e2fsck/message.c:137 msgid "uunattached" msgstr "unicht verbunden" -#: e2fsck/message.c:141 +#: e2fsck/message.c:138 msgid "vdevice" msgstr "vGerät" -#: e2fsck/message.c:142 +#: e2fsck/message.c:139 msgid "xextent" msgstr "xErweiterung" -#: e2fsck/message.c:143 +#: e2fsck/message.c:140 msgid "zzero-length" -msgstr "zmit Länge Null" +msgstr "zNull-Länge" -#: e2fsck/message.c:154 +#: e2fsck/message.c:151 msgid "" msgstr "" -#: e2fsck/message.c:155 +#: e2fsck/message.c:152 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:157 -msgid "" -msgstr "" +#: e2fsck/message.c:154 +msgid "" +msgstr "" -#: e2fsck/message.c:158 -msgid "" -msgstr "" +#: e2fsck/message.c:155 +msgid "" +msgstr "" -#: e2fsck/message.c:159 +#: e2fsck/message.c:156 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:160 +#: e2fsck/message.c:157 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:161 +#: e2fsck/message.c:158 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:162 +#: e2fsck/message.c:159 msgid "" msgstr "" -#: e2fsck/message.c:163 +#: e2fsck/message.c:160 msgid "" msgstr "" -#: e2fsck/message.c:164 +#: e2fsck/message.c:161 msgid "" msgstr "" -#: e2fsck/message.c:333 +#: e2fsck/message.c:330 +#, c-format msgid "regular file" msgstr "'reguläre Datei" -#: e2fsck/message.c:335 +#: e2fsck/message.c:332 +#, c-format msgid "directory" msgstr "Verzeichnis" -#: e2fsck/message.c:337 +#: e2fsck/message.c:334 +#, c-format msgid "character device" msgstr "zeichenorientiertes Gerät" -#: e2fsck/message.c:339 +#: e2fsck/message.c:336 +#, c-format msgid "block device" msgstr "Blockgerät" -#: e2fsck/message.c:341 +#: e2fsck/message.c:338 +#, c-format msgid "named pipe" msgstr "named pipe" -#: e2fsck/message.c:343 +#: e2fsck/message.c:340 +#, c-format msgid "symbolic link" msgstr "symbolische Verknüpfung" -#: e2fsck/message.c:345 misc/uuidd.c:161 +#: e2fsck/message.c:342 +#, c-format msgid "socket" msgstr " Socket" -#: e2fsck/message.c:347 +#: e2fsck/message.c:344 #, c-format msgid "unknown file type with mode 0%o" msgstr "unbekannter Dateityp mit Modus 0%o" -#: e2fsck/message.c:423 +#: e2fsck/message.c:422 msgid "indirect block" msgstr "indirekte Blöcke" -#: e2fsck/message.c:425 +#: e2fsck/message.c:424 msgid "double indirect block" msgstr "doppelt indirekte Blöcke" -#: e2fsck/message.c:427 +#: e2fsck/message.c:426 msgid "triple indirect block" msgstr "dreifach indirekte Blöcke" -#: e2fsck/message.c:429 +#: e2fsck/message.c:428 msgid "translator block" msgstr "Ãœbersetzerblock" -#: e2fsck/message.c:431 +#: e2fsck/message.c:430 msgid "block #" msgstr "Block Nr." -#: e2fsck/pass1b.c:222 +#: e2fsck/pass1b.c:220 msgid "multiply claimed inode map" msgstr "mehrfach beanspruchte Inode-Liste" -#: e2fsck/pass1b.c:610 e2fsck/pass1b.c:729 +#: e2fsck/pass1b.c:581 e2fsck/pass1b.c:714 #, c-format -msgid "internal error: can't find dup_blk for %llu\n" -msgstr "interner Fehler: dup_blk für %llu wurde nicht gefunden\n" +msgid "internal error: can't find dup_blk for %u\n" +msgstr "interner Fehler; dup_blk für %u nicht gefunden\n" -#: e2fsck/pass1b.c:820 +#: e2fsck/pass1b.c:757 msgid "returned from clone_file_block" msgstr "zurückgegeben von clone_file_block" -#: e2fsck/pass1b.c:842 +#: e2fsck/pass1b.c:776 #, c-format -msgid "internal error: couldn't lookup EA block record for %llu" -msgstr "interner Fehler: EA Blockliste für %llu wurde nicht gefunden" +msgid "internal error: couldn't lookup EA block record for %u" +msgstr "interner Fehler: EA Blockliste für %u wurde nicht gefunden" -#: e2fsck/pass1b.c:854 +#: e2fsck/pass1b.c:788 #, c-format msgid "internal error: couldn't lookup EA inode record for %u" msgstr "Interner Fehler: EA Inodeliste für %u wurde nicht gefunden" -#: e2fsck/pass1.c:476 e2fsck/pass2.c:782 +#: e2fsck/pass1.c:475 e2fsck/pass2.c:776 msgid "reading directory block" msgstr "lese Verzeichnisblock" -#: e2fsck/pass1.c:599 +#: e2fsck/pass1.c:597 msgid "in-use inode map" -msgstr "„in-use inode“-Liste" +msgstr "»in-use inode«-Liste" -#: e2fsck/pass1.c:610 +#: e2fsck/pass1.c:606 msgid "directory inode map" -msgstr "„directory inode“-Liste" +msgstr "»directory inode«-Liste" -#: e2fsck/pass1.c:620 +#: e2fsck/pass1.c:614 msgid "regular file inode map" -msgstr "„regular file inode“-Liste" +msgstr "»regular file inode«-Liste" -#: e2fsck/pass1.c:629 +#: e2fsck/pass1.c:621 msgid "in-use block map" -msgstr "„in-use block“-Liste" +msgstr "»in-use block«-Liste" -#: e2fsck/pass1.c:696 +#: e2fsck/pass1.c:675 msgid "opening inode scan" msgstr "Starte Inode-Scan" -#: e2fsck/pass1.c:730 +#: e2fsck/pass1.c:699 msgid "getting next inode from scan" msgstr "beim Lesen des nächsten Inodes" -#: e2fsck/pass1.c:1240 +#: e2fsck/pass1.c:1173 msgid "Pass 1" msgstr "Durchgang 1" -#: e2fsck/pass1.c:1297 +#: e2fsck/pass1.c:1230 #, c-format msgid "reading indirect blocks of inode %u" msgstr "lese indirekte Blöcke von Inode %u" -#: e2fsck/pass1.c:1347 +#: e2fsck/pass1.c:1274 msgid "bad inode map" msgstr "fehlerhafte Inode-Liste" -#: e2fsck/pass1.c:1370 +#: e2fsck/pass1.c:1296 msgid "inode in bad block map" -msgstr "Inode in „Bad Blocks“-Liste" +msgstr "Inode in »Bad Blocks«-Liste" -#: e2fsck/pass1.c:1390 +#: e2fsck/pass1.c:1316 msgid "imagic inode map" -msgstr "i„magic inode“-Liste" +msgstr "i»magic inode«-Liste" -#: e2fsck/pass1.c:1417 +#: e2fsck/pass1.c:1343 msgid "multiply claimed block map" -msgstr "mehrfach referenzierte Blockliste" +msgstr "Den Eintrag in der Liste belegter Blöcke verdoppeln" -#: e2fsck/pass1.c:1518 +#: e2fsck/pass1.c:1443 msgid "ext attr block map" msgstr "ext attr block map" -#: e2fsck/pass1.c:2266 +#: e2fsck/pass1.c:2181 #, c-format msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n" msgstr "%6lu(%c): erwartete %6lu erhielt phys %6lu (Blockanzahl %lld)\n" -#: e2fsck/pass1.c:2627 +#: e2fsck/pass1.c:2533 msgid "block bitmap" -msgstr "Block-Bitmap" +msgstr "Block Bitmap" -#: e2fsck/pass1.c:2633 +#: e2fsck/pass1.c:2537 msgid "inode bitmap" -msgstr "Inode-Bitmap" +msgstr "Inode Bitmap" -#: e2fsck/pass1.c:2639 +#: e2fsck/pass1.c:2541 msgid "inode table" msgstr "Inode-Tabelle" -#: e2fsck/pass2.c:283 +#: e2fsck/pass2.c:277 msgid "Pass 2" msgstr "Durchgang 2" -#: e2fsck/pass2.c:805 +#: e2fsck/pass2.c:799 msgid "Can not continue." -msgstr "das Programm kann nicht fortfahren." +msgstr "Fortsetzung nicht möglich." -#: e2fsck/pass3.c:77 +#: e2fsck/pass3.c:76 msgid "inode done bitmap" -msgstr "„inode done“-Bitmap" +msgstr "»inode done«-Bitmap" -#: e2fsck/pass3.c:86 +#: e2fsck/pass3.c:84 msgid "Peak memory" msgstr "Peak-Memory" -#: e2fsck/pass3.c:136 +#: e2fsck/pass3.c:134 msgid "Pass 3" msgstr "Durchgang 3" -#: e2fsck/pass3.c:322 +#: e2fsck/pass3.c:320 msgid "inode loop detection bitmap" -msgstr "„inode loop detection“-Bitmap" +msgstr "»inode loop detection«-Bitmap" -#: e2fsck/pass4.c:195 +#: e2fsck/pass4.c:191 msgid "Pass 4" msgstr "Durchgang 4" -#: e2fsck/pass5.c:74 +#: e2fsck/pass5.c:64 msgid "Pass 5" msgstr "Durchgang 5" -#: e2fsck/problem.c:51 +#: e2fsck/problem.c:50 msgid "(no prompt)" msgstr "(nicht interaktiv)" -#: e2fsck/problem.c:52 +#: e2fsck/problem.c:51 msgid "Fix" msgstr "Repariere" -#: e2fsck/problem.c:53 +#: e2fsck/problem.c:52 msgid "Clear" msgstr "Bereinige" -#: e2fsck/problem.c:54 +#: e2fsck/problem.c:53 msgid "Relocate" msgstr "Zurücksetzen" -#: e2fsck/problem.c:55 +#: e2fsck/problem.c:54 msgid "Allocate" msgstr "Gebe frei" -#: e2fsck/problem.c:56 +#: e2fsck/problem.c:55 msgid "Expand" msgstr "Erweitere" -#: e2fsck/problem.c:57 +#: e2fsck/problem.c:56 msgid "Connect to /lost+found" msgstr "Verbinde nach /lost+found" -#: e2fsck/problem.c:58 +#: e2fsck/problem.c:57 msgid "Create" msgstr "Erstelle" -#: e2fsck/problem.c:59 +#: e2fsck/problem.c:58 msgid "Salvage" msgstr "Rette" -#: e2fsck/problem.c:60 +#: e2fsck/problem.c:59 msgid "Truncate" msgstr "Verkürze" -#: e2fsck/problem.c:61 +#: e2fsck/problem.c:60 msgid "Clear inode" msgstr "Bereinige Inode" -#: e2fsck/problem.c:62 +#: e2fsck/problem.c:61 msgid "Abort" msgstr "Abbrechen" -#: e2fsck/problem.c:63 +#: e2fsck/problem.c:62 msgid "Split" -msgstr "Aufteilen" +msgstr "Aufsplitten" -#: e2fsck/problem.c:64 +#: e2fsck/problem.c:63 msgid "Continue" msgstr "Fortsetzen" -#: e2fsck/problem.c:65 +#: e2fsck/problem.c:64 msgid "Clone multiply-claimed blocks" -msgstr "mehrfach referenzierte BLöcke werden geklont" +msgstr "multiply claimed block map" -#: e2fsck/problem.c:66 +#: e2fsck/problem.c:65 msgid "Delete file" msgstr "Lösche Datei" -#: e2fsck/problem.c:67 +#: e2fsck/problem.c:66 msgid "Suppress messages" msgstr "Ausgaben unterdrücken" -#: e2fsck/problem.c:68 +#: e2fsck/problem.c:67 msgid "Unlink" -msgstr "Trennen" +msgstr "Unlink" -#: e2fsck/problem.c:69 +#: e2fsck/problem.c:68 msgid "Clear HTree index" msgstr "Bereinige HTree-Index" -#: e2fsck/problem.c:70 +#: e2fsck/problem.c:69 msgid "Recreate" msgstr "Zurücksetzen" -#: e2fsck/problem.c:79 +#: e2fsck/problem.c:78 msgid "(NONE)" msgstr "(NICHTS)" -#: e2fsck/problem.c:80 +#: e2fsck/problem.c:79 msgid "FIXED" msgstr "REPARIERT" -#: e2fsck/problem.c:81 +#: e2fsck/problem.c:80 msgid "CLEARED" msgstr "BEREINIGT" -#: e2fsck/problem.c:82 +#: e2fsck/problem.c:81 msgid "RELOCATED" msgstr "ZURÃœCKGESETZT" -#: e2fsck/problem.c:83 +#: e2fsck/problem.c:82 msgid "ALLOCATED" msgstr "FREIGEGEBEN" -#: e2fsck/problem.c:84 +#: e2fsck/problem.c:83 msgid "EXPANDED" msgstr "ERWEITERT" -#: e2fsck/problem.c:85 +#: e2fsck/problem.c:84 msgid "RECONNECTED" msgstr "WIEDER VERBUNDEN" -#: e2fsck/problem.c:86 +#: e2fsck/problem.c:85 msgid "CREATED" msgstr "ANGELEGT" -#: e2fsck/problem.c:87 +#: e2fsck/problem.c:86 msgid "SALVAGED" msgstr "GERETTET" -#: e2fsck/problem.c:88 +#: e2fsck/problem.c:87 msgid "TRUNCATED" msgstr "BEENDET" -#: e2fsck/problem.c:89 +#: e2fsck/problem.c:88 msgid "INODE CLEARED" msgstr "INODE BEREINIGT" -#: e2fsck/problem.c:90 +#: e2fsck/problem.c:89 msgid "ABORTED" msgstr "ABGEBROCHEN" -#: e2fsck/problem.c:91 +#: e2fsck/problem.c:90 msgid "SPLIT" -msgstr "ABGESPALTEn" +msgstr "ABGESPALTET" -#: e2fsck/problem.c:92 +#: e2fsck/problem.c:91 msgid "CONTINUING" msgstr "SETZE FORT" -#: e2fsck/problem.c:93 +#: e2fsck/problem.c:92 msgid "MULTIPLY-CLAIMED BLOCKS CLONED" -msgstr "MEHRFACH REFERENZIERTE BLÖCKE GEKLONT" +msgstr "DOPPELTE/DEFEKTE BLÖCKE DUPLIZIERT" -#: e2fsck/problem.c:94 +#: e2fsck/problem.c:93 msgid "FILE DELETED" msgstr "DATEI GELÖSCHT" -#: e2fsck/problem.c:95 +#: e2fsck/problem.c:94 msgid "SUPPRESSED" msgstr "UNTERDRÃœCKT" -#: e2fsck/problem.c:96 +#: e2fsck/problem.c:95 msgid "UNLINKED" msgstr "GETRENNT" -#: e2fsck/problem.c:97 +#: e2fsck/problem.c:96 msgid "HTREE INDEX CLEARED" -msgstr "HTREE-INDEX BEREINIGT" +msgstr "HTREE INDEX BEREINIGT" -#: e2fsck/problem.c:98 +#: e2fsck/problem.c:97 msgid "WILL RECREATE" -msgstr "WIRD WIEDER AUFGEBAUT" +msgstr "ANGELEGT" #. @-expanded: block bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:107 +#: e2fsck/problem.c:106 msgid "@b @B for @g %g is not in @g. (@b %b)\n" -msgstr "@b @B für @g %g ist nicht in @g. (@b %b)\n" +msgstr "@b @B für @g %g ist nicht in @g. (@b %b)\n" #. @-expanded: inode bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:111 +#: e2fsck/problem.c:110 msgid "@i @B for @g %g is not in @g. (@b %b)\n" -msgstr "@i @B für @g %g ist nicht in @g. (@b %b)\n" +msgstr "@i @B für @g %g ist nicht in @g. (@b %b)\n" #. @-expanded: inode table for group %g is not in group. (block %b)\n #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n -#: e2fsck/problem.c:116 +#: e2fsck/problem.c:115 msgid "" "@i table for @g %g is not in @g. (@b %b)\n" "WARNING: SEVERE DATA LOSS POSSIBLE.\n" msgstr "" -"@i Tabelle für @g %g ist nicht in @g. (@b %b)\n" +"@i Tabelle für @g %g ist nicht in @g. (@b %b)\n" "WARNUNG: GROSSER DATENVERLUST IST MÖGLICH.\n" #. @-expanded: \n @@ -774,7 +777,7 @@ msgstr "" #. @-expanded: is corrupt, and you might try running e2fsck with an alternate superblock:\n #. @-expanded: e2fsck -b %S \n #. @-expanded: \n -#: e2fsck/problem.c:122 +#: e2fsck/problem.c:121 #, c-format msgid "" "\n" @@ -786,9 +789,9 @@ msgid "" "\n" msgstr "" "\n" -"Der @S ist unlesbar bzw. beschreibt kein gültiges ext2\n" -"@f. Wenn @v gültig ist und ein ext2\n" -"@f (kein swap oder ufs usw.) enthält, dann ist der @S\n" +"@S ist unlesbar bzw. beschreibt kein gültiges ext2\n" +"@f. Wenn @v gültig ist und ein ext2\n" +"@f (kein swap oder ufs usw.) enthält, dann ist der @S\n" "beschädigt, und sie könnten e2fsck mit einem anderen @S:\n" " e2fsck -b %S <@v>\n" "\n" @@ -796,49 +799,50 @@ msgstr "" #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n #. @-expanded: The physical size of the device is %c blocks\n #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n -#: e2fsck/problem.c:131 +#: e2fsck/problem.c:130 msgid "" "The @f size (according to the @S) is %b @bs\n" "The physical size of the @v is %c @bs\n" "Either the @S or the partition table is likely to be corrupt!\n" msgstr "" -"Die @f-Größe ( laut @S) ist %b @bs\n" +"Die @f Größe ( laut @S) ist %b @bs\n" "Die physikalische Größe von @v ist %c @bs\n" "Entweder der @S oder die Partionstabelle ist beschädigt!\n" #. @-expanded: superblock block_size = %b, fragsize = %c.\n #. @-expanded: This version of e2fsck does not support fragment sizes different\n #. @-expanded: from the block size.\n -#: e2fsck/problem.c:138 +#: e2fsck/problem.c:137 msgid "" "@S @b_size = %b, fragsize = %c.\n" "This version of e2fsck does not support fragment sizes different\n" "from the @b size.\n" msgstr "" -"@S-@b_size = %b, fragsize = %c.\n" -"Diese Version von e2fsck unterstützt keine von @b-Größen verschiedene Fragmentgrößen.\n" +"@S @b_size = %b, fragsize = %c.\n" +"Diese Version von e2fsck unterstützt keine von @b-Größen verschiedene " +"Fragmentgrößen.\n" #. @-expanded: superblock blocks_per_group = %b, should have been %c\n -#: e2fsck/problem.c:145 +#: e2fsck/problem.c:144 msgid "@S @bs_per_group = %b, should have been %c\n" -msgstr "@bs_per_group im @S = %b, sollte %c sein\n" +msgstr "@S @bs_per_group = %b, sollte %c sein.\n" #. @-expanded: superblock first_data_block = %b, should have been %c\n -#: e2fsck/problem.c:150 +#: e2fsck/problem.c:149 msgid "@S first_data_@b = %b, should have been %c\n" -msgstr "first_data_@b im @S = %b, sollte %c sein\n" +msgstr "@S first_data_@b = %b, sollte %c haben.\n" #. @-expanded: filesystem did not have a UUID; generating one.\n #. @-expanded: \n -#: e2fsck/problem.c:155 +#: e2fsck/problem.c:154 msgid "" "@f did not have a UUID; generating one.\n" "\n" msgstr "" -"@f hat keinen UUID; es wird eine generiert.\n" +"@f hat keinen UUID ; generiere einen.\n" "\n" -#: e2fsck/problem.c:160 +#: e2fsck/problem.c:159 #, c-format msgid "" "Note: if several inode or block bitmap blocks or part\n" @@ -851,54 +855,54 @@ msgstr "" "Hinweis: Wenn mehrere Inodes oder Bitmap-Blöcke\n" "neu geordnet werden müssen, oder ein Teil der Inode-Tabelle\n" "verschoben werden muss, könnte es helfen, e2fsck erst einmal\n" -"mit der Option „-b %S“ zu starten. Das Problem könnte\n" -"im primären Blockgruppenbezeichner liegen und seine\n" +"mit der Option »-b %S« zu starten. Das Problem könnte\n" +"im primären Blockgruppenbezeichner liegen, und seine\n" "Sicherungskopie in Ordnung sein.\n" "\n" #. @-expanded: Corruption found in superblock. (%s = %N).\n -#: e2fsck/problem.c:169 +#: e2fsck/problem.c:168 msgid "Corruption found in @S. (%s = %N).\n" -msgstr "Beschädigung gefunden in @S. (%s = %N).\n" +msgstr "Beschädigung gefunden in @S. (%s = %N).\n" #. @-expanded: Error determining size of the physical device: %m\n -#: e2fsck/problem.c:174 +#: e2fsck/problem.c:173 #, c-format msgid "Error determining size of the physical @v: %m\n" -msgstr "Fehler bei der Feststellung der Größe des physischen @v: %m\n" +msgstr "Fehler bei der Feststellung der Größe des physikalischen @v: %m\n" #. @-expanded: inode count in superblock is %i, should be %j.\n -#: e2fsck/problem.c:179 +#: e2fsck/problem.c:178 msgid "@i count in @S is %i, @s %j.\n" msgstr "@i-Anzahl in @S ist %i, sollte %j sein.\n" -#: e2fsck/problem.c:183 +#: e2fsck/problem.c:182 msgid "The Hurd does not support the filetype feature.\n" -msgstr "Hurd unterstützt keine Dateitypen.\n" +msgstr "Hurd unterstützt das Dateityp-Feature nicht.\n" #. @-expanded: superblock has an invalid journal (inode %i).\n -#: e2fsck/problem.c:188 +#: e2fsck/problem.c:187 #, c-format msgid "@S has an @n @j (@i %i).\n" msgstr "@S hat ein defektes @j (@i %i).\n" #. @-expanded: External journal has multiple filesystem users (unsupported).\n -#: e2fsck/problem.c:193 +#: e2fsck/problem.c:192 msgid "External @j has multiple @f users (unsupported).\n" -msgstr "Externes @j hat mehrere @f-Nutzer (nicht unterstützt).\n" +msgstr "Externes @j hat mehrere @f Nutzer (nicht unterstützt).\n" #. @-expanded: Can't find external journal\n -#: e2fsck/problem.c:198 +#: e2fsck/problem.c:197 msgid "Can't find external @j\n" -msgstr "Kann kein externes @j finden\n" +msgstr "Kann kein externes @j finden.\n" #. @-expanded: External journal has bad superblock\n -#: e2fsck/problem.c:203 +#: e2fsck/problem.c:202 msgid "External @j has bad @S\n" msgstr "Externes @j hat ungültigen @S\n" #. @-expanded: External journal does not support this filesystem\n -#: e2fsck/problem.c:208 +#: e2fsck/problem.c:207 msgid "External @j does not support this @f\n" msgstr "Externes @j unterstützt nicht @f\n" @@ -906,98 +910,96 @@ msgstr "Externes @j unterstützt nicht @f\n" #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal #. @-expanded: format.\n #. @-expanded: It is also possible the journal superblock is corrupt.\n -#: e2fsck/problem.c:213 +#: e2fsck/problem.c:212 msgid "" "@f @j @S is unknown type %N (unsupported).\n" -"It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n" +"It is likely that your copy of e2fsck is old and/or doesn't support this @j " +"format.\n" "It is also possible the @j @S is corrupt.\n" msgstr "" -"Der Superblock des Dateisystem-Journals hat den unbekannten Type %N (nicht unterstützt).\n" -"Es ist möglich, dass ihr e2fsck älter ist und/oder dieses @j-Format nicht unterstützt.\n" -"Es ist ebenso möglich, dass der @j-@S defekt ist.\n" +"Ext3 @j @S ist eine unbekannter Type %N (nicht unterstützt).\n" +"Es ist möglich, dass ihr e2fsck älter ist und/oder dieses @j Format nicht " +"unterstützt.\n" +"Es ist ebenso möglich, dass @j @S defekt ist.\n" #. @-expanded: journal superblock is corrupt.\n -#: e2fsck/problem.c:221 +#: e2fsck/problem.c:220 msgid "@j @S is corrupt.\n" -msgstr "der @j-@S ist defekt.\n" +msgstr "Ext3 @j @S ist defekt.\n" #. @-expanded: superblock has_journal flag is clear, but a journal %s is present.\n -#: e2fsck/problem.c:226 +#: e2fsck/problem.c:225 #, c-format msgid "@S has_@j flag is clear, but a @j %s is present.\n" -msgstr "" -"Der Bitschalter has_journal im Superblock ist nicht gesetzt, aber ein \n" -"@j %s ist vorhanden.\n" +msgstr "ext3 Recovery-Flag sauber, aber ein @j %s ist vorhanden.\n" #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n -#: e2fsck/problem.c:231 +#: e2fsck/problem.c:230 msgid "@S needs_recovery flag is set, but no @j is present.\n" msgstr "" -"Im @S ist der Bitschalter „needs_recovery“ gesetzt, aber ein @j ist\n" -"nicht vorhanden.\n" +"@S hat das ext3 »needs_recovery«-Flag gesetzt, aber ein @j ist nicht " +"vorhanden.\n" #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n -#: e2fsck/problem.c:236 +#: e2fsck/problem.c:235 msgid "@S needs_recovery flag is clear, but @j has data.\n" -msgstr "" -"Der Bitschalter „Wiederherstellung nötig“ im @S ist nicht gesetzt, aber das\n" -"@j enthält Daten.\n" +msgstr "ext3 Recovery-Flag sauber, aber das @j enthält Daten.\n" #. @-expanded: Clear journal -#: e2fsck/problem.c:241 +#: e2fsck/problem.c:240 msgid "Clear @j" msgstr "Bereinige @j" #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. -#: e2fsck/problem.c:246 e2fsck/problem.c:695 +#: e2fsck/problem.c:245 e2fsck/problem.c:664 msgid "@f has feature flag(s) set, but is a revision 0 @f. " -msgstr "@f hat Eigenschfts-Bitschalter gesetzt, ist aber ein Revision-0-@f. " +msgstr "@f hat Eigenschfts-Kennzeichen gesetzt, ist aber ein Revision 0 @f. " #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n -#: e2fsck/problem.c:251 +#: e2fsck/problem.c:250 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" msgstr "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:256 +#: e2fsck/problem.c:255 msgid "@I %B (%b) found in @o @i %i.\n" -msgstr "@I @b #%B (%b) in @o @i %i gefunden.\n" +msgstr "@I @b #%B (%b) gefunden in @o @i %i.\n" #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:261 +#: e2fsck/problem.c:260 msgid "Already cleared %B (%b) found in @o @i %i.\n" -msgstr "Bereits bereinigter %B (%b) in @o @i %i gefunden.\n" +msgstr "bereits bereinigt @b #%B (%b) gefunden in @o @i %i.\n" #. @-expanded: illegal orphaned inode %i in superblock.\n -#: e2fsck/problem.c:266 +#: e2fsck/problem.c:265 #, c-format msgid "@I @o @i %i in @S.\n" -msgstr "@I @o @i %i im @S.\n" +msgstr "@I @o @i %i in @S.\n" #. @-expanded: illegal inode %i in orphaned inode list.\n -#: e2fsck/problem.c:271 +#: e2fsck/problem.c:270 #, c-format msgid "@I @i %i in @o @i list.\n" -msgstr "Illegaler Inode %i in der Liste der verwaisten Inodes.\n" +msgstr "@I @i %i in @o @i Liste.\n" #. @-expanded: journal superblock has an unknown read-only feature flag set.\n -#: e2fsck/problem.c:276 +#: e2fsck/problem.c:275 msgid "@j @S has an unknown read-only feature flag set.\n" -msgstr "der @j-@S hat einen unbekannten Nur-Lesen-Bitschalter gesetzt.\n" +msgstr "Ext3 @j @S hat ein unbekanntes Nur-Lesen-Flag gesetzt.\n" #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n -#: e2fsck/problem.c:281 +#: e2fsck/problem.c:280 msgid "@j @S has an unknown incompatible feature flag set.\n" -msgstr "im @j-@S ist ein unbekannter Bitschalter für inkompatible Eigenschaft gesetzt.\n" +msgstr "Ext3 @j @S hat ein unbekanntes Inkompatibel-Flag gesetzt.\n" #. @-expanded: journal version not supported by this e2fsck.\n -#: e2fsck/problem.c:286 +#: e2fsck/problem.c:285 msgid "@j version not supported by this e2fsck.\n" -msgstr "diese @j-Version wird von diesem e2fsck nicht unterstützt.\n" +msgstr "@j Version wird von diesem e2fsck nicht unterstützt.\n" #. @-expanded: Moving journal from /%s to hidden inode.\n #. @-expanded: \n -#: e2fsck/problem.c:291 +#: e2fsck/problem.c:290 #, c-format msgid "" "Moving @j from /%s to hidden @i.\n" @@ -1008,53 +1010,53 @@ msgstr "" #. @-expanded: Error moving journal: %m\n #. @-expanded: \n -#: e2fsck/problem.c:296 +#: e2fsck/problem.c:295 #, c-format msgid "" "Error moving @j: %m\n" "\n" msgstr "" -"Fehler beim Verschieben von @j: %m\n" +"Fehler beim Verschieben von @j: %m\n" "\n" #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n #. @-expanded: Clearing fields beyond the V1 journal superblock...\n #. @-expanded: \n -#: e2fsck/problem.c:301 +#: e2fsck/problem.c:300 msgid "" "Found @n V2 @j @S fields (from V1 @j).\n" "Clearing fields beyond the V1 @j @S...\n" "\n" msgstr "" -"Unvollständige V2-@j-@S-Felder (vom V1-Journal) gefunden.\n" -"Die Felder nach dem V1-@j-@S werden bereinigt...\n" +"Fand unvollständige V2 @j @S Felder (vom V1 Journal).\n" +"Bereinige die Felder hinter V1 @j @S...\n" "\n" #. @-expanded: Run journal anyway -#: e2fsck/problem.c:307 +#: e2fsck/problem.c:306 msgid "Run @j anyway" msgstr "Starte @j trotzdem" #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n -#: e2fsck/problem.c:312 +#: e2fsck/problem.c:311 msgid "Recovery flag not set in backup @S, so running @j anyway.\n" msgstr "" -"Der Bitschalter fÃœr Wiederherstellung ist im Sicherungs-Superblock nicht\n" -"gesetzt, das @j wird daher trotzdem gestartet.\n" +"Recovery-Kennzeichen in Backup @S nicht gesetzt, @j wird trotzdem " +"gestartet.\n" #. @-expanded: Backing up journal inode block information.\n #. @-expanded: \n -#: e2fsck/problem.c:317 +#: e2fsck/problem.c:316 msgid "" "Backing up @j @i @b information.\n" "\n" msgstr "" -"Die Informationen des Journal-Inodeblocks werden gesichert.\n" +"Sichere @j @i @b Information.\n" "\n" #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n #. @-expanded: is %N; should be zero. -#: e2fsck/problem.c:322 +#: e2fsck/problem.c:321 msgid "" "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n" "is %N; @s zero. " @@ -1063,18 +1065,19 @@ msgstr "" "ist %N; @s Null. " #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero. -#: e2fsck/problem.c:328 +#: e2fsck/problem.c:327 msgid "Resize_@i not enabled, but the resize @i is non-zero. " -msgstr "Resize_@i ist nicht aktiviert, aber die zu modifgizierende @i ist nicht-Null." +msgstr "" +"Resize_@i nicht aktiviert, aber die zu modifgizierende Inod ist nicht-Null." #. @-expanded: Resize inode not valid. -#: e2fsck/problem.c:333 +#: e2fsck/problem.c:332 msgid "Resize @i not valid. " -msgstr "Resize-@i ist ungültig. " +msgstr "@r ist kein @d. " #. @-expanded: superblock last mount time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:338 +#: e2fsck/problem.c:337 msgid "" "@S last mount time (%t,\n" "\tnow = %T) is in the future.\n" @@ -1084,7 +1087,7 @@ msgstr "" #. @-expanded: superblock last write time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:343 +#: e2fsck/problem.c:342 msgid "" "@S last write time (%t,\n" "\tnow = %T) is in the future.\n" @@ -1093,14 +1096,14 @@ msgstr "" "\tjetzt = %T) liegt in der Zukunft.\n" #. @-expanded: superblock hint for external superblock should be %X. -#: e2fsck/problem.c:347 +#: e2fsck/problem.c:346 #, c-format msgid "@S hint for external superblock @s %X. " -msgstr "@S-Hinweis für externen Superblock @s %X. " +msgstr "@S Hinweis für externen Superblock @s %X" #. @-expanded: Adding dirhash hint to filesystem.\n #. @-expanded: \n -#: e2fsck/problem.c:352 +#: e2fsck/problem.c:351 msgid "" "Adding dirhash hint to @f.\n" "\n" @@ -1108,218 +1111,199 @@ msgstr "" "Füge Verzeinishash-Hilfe zu @f hinzu.\n" "\n" -#. @-expanded: group descriptor %g checksum is %04x, should be %04y. -#: e2fsck/problem.c:357 -msgid "@g descriptor %g checksum is %04x, should be %04y. " -msgstr "Die Prüfsumme des @g-Deskriptors %g ist %04x, sie sollte %04y sein. " +#. @-expanded: group descriptor %g checksum is invalid. +#: e2fsck/problem.c:356 +#, c-format +msgid "@g descriptor %g checksum is invalid. " +msgstr "Prüfsumme von @g -Deskriptor %g ist ungültig. " #. @-expanded: group descriptor %g marked uninitialized without feature set.\n -#: e2fsck/problem.c:362 +#: e2fsck/problem.c:361 #, c-format msgid "@g descriptor %g marked uninitialized without feature set.\n" -msgstr "@g-Deskriptor %g ist als nicht initialisiert gekennzeichnet ohne eine gesetzte Eigenschaft.\n" +msgstr "" +"@g -Deskriptor %g ist als nicht initialisiert gekennzeichnet ohne eine " +"gesetzte Eigenschaft.\n" + +#. @-expanded: group %g block bitmap uninitialized but inode bitmap in use.\n +#: e2fsck/problem.c:366 +#, c-format +msgid "@g %g @b @B uninitialized but @i @B in use.\n" +msgstr "" +"Die @b @B von @g %g ist nicht initialisiert aber @i @B wird verwendet.\n" #. @-expanded: group descriptor %g has invalid unused inodes count %b. -#: e2fsck/problem.c:367 +#: e2fsck/problem.c:371 msgid "@g descriptor %g has invalid unused inodes count %b. " -msgstr "@g-Deskriptor %g hat eine ungültige Anzahl ungenutzter Inodes von %b. " +msgstr "" +"@g Deskriptor %g hat eine ungültige Anzahl ungenutzter Inodes von %b. " #. @-expanded: Last group block bitmap uninitialized. -#: e2fsck/problem.c:372 +#: e2fsck/problem.c:376 msgid "Last @g @b @B uninitialized. " -msgstr "Die letzte Gruppen-Blockbitmap ist nicht initialisiert. " +msgstr "Die letzte @g @b @B ist nicht initialisiert. " -#: e2fsck/problem.c:377 +#: e2fsck/problem.c:381 #, c-format msgid "Journal transaction %i was corrupt, replay was aborted.\n" -msgstr "Journaltransaktion %i war beschädigt, die Wiederholung wurde abgegrochen.\n" +msgstr "" +"Journaltransaktion %i war beschädigt, die Wiederholung wurde abgegrochen.\n" -#: e2fsck/problem.c:381 +#: e2fsck/problem.c:385 msgid "The test_fs flag is set (and ext4 is available). " msgstr "Die Kennung test_fs wurde gesetzt (und ext4 ist verfügbar). " #. @-expanded: superblock last mount time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set) -#: e2fsck/problem.c:386 +#: e2fsck/problem.c:390 msgid "" "@S last mount time is in the future.\n" -"\t(by less than a day, probably due to the hardware clock being incorrectly set) " +"\t(by less than a day, probably due to the hardware clock being incorrectly " +"set) " msgstr "" "Der Zeitpunkt des letzten Einhängens von @S liegt in der Zukunft.\n" -"\t(weniger als ein Tag, wahrscheinlich aufgrund falsch gesetzter Hardware-Uhr) " +"\t(weniger als ein Tag, wahrscheinlich aufgrund falsch gesetzter Hardware-" +"Uhr) " #. @-expanded: superblock last write time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set). -#: e2fsck/problem.c:392 +#: e2fsck/problem.c:396 msgid "" "@S last write time is in the future.\n" -"\t(by less than a day, probably due to the hardware clock being incorrectly set). " +"\t(by less than a day, probably due to the hardware clock being incorrectly " +"set). " msgstr "" "Der Zeitpunkt des letzten Schreibens von @S liegt in der Zukunft.\n" -"\t(weniger als ein Tag, wahrscheinlich aufgrund falsch gesetzter Hardware-Uhr) " +"\t(weniger als ein Tag, wahrscheinlich aufgrund falsch gesetzter Hardware-" +"Uhr) " #. @-expanded: One or more block group descriptor checksums are invalid. -#: e2fsck/problem.c:398 +#: e2fsck/problem.c:402 msgid "One or more @b @g descriptor checksums are invalid. " -msgstr "Die Prüfsumme eines oder mehrerer @g-Deskriptoren ist ungültig. " - -#. @-expanded: Setting free inodes count to %j (was %i)\n -#: e2fsck/problem.c:403 -msgid "Setting free @is count to %j (was %i)\n" -msgstr "Setze die Anzahl der freien Inodes auf %j (war %i)\n" - -#. @-expanded: Setting free blocks count to %c (was %b)\n -#: e2fsck/problem.c:408 -msgid "Setting free @bs count to %c (was %b)\n" -msgstr "Setze die Anzahl der freien Blöcke auf %c (war %b)\n" - -#. @-expanded: Making quota inode %i (%Q) hidden.\n -#: e2fsck/problem.c:413 -msgid "Making @q @i %i (%Q) hidden.\n" -msgstr "Quota-Inode %i (%Q) wird versteckt.\n" - -#. @-expanded: superblock has invalid MMP block. -#: e2fsck/problem.c:418 -msgid "@S has invalid MMP block. " -msgstr "der @S hat einen ungültigen MMP-Block. " - -#. @-expanded: superblock has invalid MMP magic. -#: e2fsck/problem.c:423 -msgid "@S has invalid MMP magic. " -msgstr "der @S besitzt eine falsche MMP-Kennung. " - -#: e2fsck/problem.c:428 -#, c-format -msgid "ext2fs_open2: %m\n" -msgstr "ext2fs_open2: %m\n" - -#: e2fsck/problem.c:433 -#, c-format -msgid "ext2fs_check_desc: %m\n" -msgstr "ext2fs_check_desc: %m\n" +msgstr "Die Prüfsumme eines oder mehrerer @g -Deskriptoren ist ungültig. " #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n -#: e2fsck/problem.c:440 +#: e2fsck/problem.c:409 msgid "Pass 1: Checking @is, @bs, and sizes\n" -msgstr "Durchgang 1: Prüfe @is, @bs und Größen\n" +msgstr "Durchgang 1: Prüfe @is, @bs, und Größen\n" #. @-expanded: root inode is not a directory. -#: e2fsck/problem.c:444 +#: e2fsck/problem.c:413 msgid "@r is not a @d. " msgstr "@r ist kein @d. " #. @-expanded: root inode has dtime set (probably due to old mke2fs). -#: e2fsck/problem.c:449 +#: e2fsck/problem.c:418 msgid "@r has dtime set (probably due to old mke2fs). " msgstr "@r hat dtime gesetzt (vielleicht durch ein zu altes mke2fs). " #. @-expanded: Reserved inode %i (%Q) has invalid mode. -#: e2fsck/problem.c:454 +#: e2fsck/problem.c:423 msgid "Reserved @i %i (%Q) has @n mode. " -msgstr "Reservierte @i %i (%Q) hat einen ungültigen Modus. " +msgstr "Reservierte @i %i %Q hat einen falschen Modus. " #. @-expanded: deleted inode %i has zero dtime. -#: e2fsck/problem.c:459 +#: e2fsck/problem.c:428 #, c-format msgid "@D @i %i has zero dtime. " -msgstr "dtime in @D @i %i ist Null. " +msgstr "@D @i %i hat \"zero dtime\". " #. @-expanded: inode %i is in use, but has dtime set. -#: e2fsck/problem.c:464 +#: e2fsck/problem.c:433 #, c-format msgid "@i %i is in use, but has dtime set. " msgstr "@i %i ist in Benutzung, aber hat dtime gesetzt. " #. @-expanded: inode %i is a zero-length directory. -#: e2fsck/problem.c:469 +#: e2fsck/problem.c:438 #, c-format msgid "@i %i is a @z @d. " -msgstr "@i %i ist ein Verzeichnis mit Länge Null. " +msgstr "@i %i ist ein @z @d. " #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:474 +#: e2fsck/problem.c:443 msgid "@g %g's @b @B at %b @C.\n" -msgstr "die Blockbitmap von @g %g auf %b überschneided sich mit einem anderen FS-Block.\n" +msgstr "@g %g's @b @B auf %b @C.\n" #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:479 +#: e2fsck/problem.c:448 msgid "@g %g's @i @B at %b @C.\n" -msgstr "die @i-@B von @g %g bei %b überschneided sich mit einem anderen FS-Block.\n" +msgstr "@g %g's @i @B auf %b @C.\n" #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:484 +#: e2fsck/problem.c:453 msgid "@g %g's @i table at %b @C.\n" -msgstr "die @i-Tablle von Gruppe %g bei %b steht in Konflikt mit einem anderen Dateisystemblock.\n" +msgstr "@g %g's @i Tabelle auf %b @C.\n" #. @-expanded: group %g's block bitmap (%b) is bad. -#: e2fsck/problem.c:489 +#: e2fsck/problem.c:458 msgid "@g %g's @b @B (%b) is bad. " -msgstr "die @b-@B (%b) von @g %g ist ungültig. " +msgstr "@g %g's @b @B (%b) ist ungültig. " #. @-expanded: group %g's inode bitmap (%b) is bad. -#: e2fsck/problem.c:494 +#: e2fsck/problem.c:463 msgid "@g %g's @i @B (%b) is bad. " -msgstr "die @i-@B (%b) von @g %g ist ungültig. " +msgstr "@g %g's @i @B (%b) ist ungültig. " #. @-expanded: inode %i, i_size is %Is, should be %N. -#: e2fsck/problem.c:499 +#: e2fsck/problem.c:468 msgid "@i %i, i_size is %Is, @s %N. " -msgstr "@i %i, i_size ist %Is, sollte %N sein. " +msgstr "@i %i, i_size ist %Is, @s %N. " #. @-expanded: inode %i, i_blocks is %Ib, should be %N. -#: e2fsck/problem.c:504 +#: e2fsck/problem.c:473 msgid "@i %i, i_@bs is %Ib, @s %N. " -msgstr "@i %i, i_@bs ist %Ib, sollte %N sein. " +msgstr "@i %i, i_@bs ist %Ib, @s %N. " #. @-expanded: illegal %B (%b) in inode %i. -#: e2fsck/problem.c:509 +#: e2fsck/problem.c:478 msgid "@I %B (%b) in @i %i. " -msgstr "illegaler %B (%b) in @i %i. " +msgstr "@I @b #%B (%b) in @i %i. " #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i. -#: e2fsck/problem.c:514 +#: e2fsck/problem.c:483 msgid "%B (%b) overlaps @f metadata in @i %i. " -msgstr "%B (%b) überlappt @f-Metadaten in @i %i. " +msgstr "@b #%B (%b) überlappt @f metadata in @i %i. " #. @-expanded: inode %i has illegal block(s). -#: e2fsck/problem.c:519 +#: e2fsck/problem.c:488 #, c-format msgid "@i %i has illegal @b(s). " -msgstr "@i %i hat unzulässige(n) Block/Blöcke. " +msgstr "@i %i hat unzulässigen @b(s). " #. @-expanded: Too many illegal blocks in inode %i.\n -#: e2fsck/problem.c:524 +#: e2fsck/problem.c:493 #, c-format msgid "Too many illegal @bs in @i %i.\n" msgstr "Zu viele unzulässige @bs in @i %i.\n" #. @-expanded: illegal %B (%b) in bad block inode. -#: e2fsck/problem.c:529 +#: e2fsck/problem.c:498 msgid "@I %B (%b) in bad @b @i. " -msgstr "@I %B (%b) in ungültiger @b-@i. " +msgstr "@I @b #%B (%b) in bad @b @i. " #. @-expanded: Bad block inode has illegal block(s). -#: e2fsck/problem.c:534 +#: e2fsck/problem.c:503 msgid "Bad @b @i has illegal @b(s). " -msgstr "Bad-@b @i hat unzulässige(n) Block/Blöcke. " +msgstr "Bad @b @i hat unzulässigen @b(s). " #. @-expanded: Duplicate or bad block in use!\n -#: e2fsck/problem.c:539 +#: e2fsck/problem.c:508 msgid "Duplicate or bad @b in use!\n" msgstr "Doppelter oder unzulässiger @b in Gebrauch!\n" #. @-expanded: Bad block %b used as bad block inode indirect block. -#: e2fsck/problem.c:544 +#: e2fsck/problem.c:513 msgid "Bad @b %b used as bad @b @i indirect @b. " -msgstr "Ungültiger @b %b wird benutzt als indirekter Block der Badblock-Inode. " +msgstr "Bad @b %b benutzt als bad @b @i indirekt @b. " #. @-expanded: \n #. @-expanded: The bad block inode has probably been corrupted. You probably\n #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n #. @-expanded: in the filesystem.\n -#: e2fsck/problem.c:549 +#: e2fsck/problem.c:518 msgid "" "\n" "The bad @b @i has probably been corrupted. You probably\n" @@ -1327,860 +1311,839 @@ msgid "" "in the @f.\n" msgstr "" "\n" -"Die Badblock-Indode ist wahrscheinlich beschädigt worden. Sie sollten\n" -"nun innehalten und „e2fsck -c“ ausführen, um nach defekten Blöcken in\n" -"dem @f zu suchen.\n" +"Defekter @b @i ist wahrscheinlich beschädigt worden. Sie sollten\n" +"nun eher innehalten und »e2fsck -c« ausführen, um nach defekten\n" +"Blöcken in @f zu suchen.\n" #. @-expanded: \n #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n -#: e2fsck/problem.c:556 +#: e2fsck/problem.c:525 msgid "" "\n" "If the @b is really bad, the @f can not be fixed.\n" msgstr "" "\n" -"Wenn der @b wirklich defekt ist, kann das @f nicht repariert werden.\n" +"Wenn der @b wirklich defekt ist, kann der @f nicht repariert werden.\n" #. @-expanded: You can remove this block from the bad block list and hope\n #. @-expanded: that the block is really OK. But there are no guarantees.\n #. @-expanded: \n -#: e2fsck/problem.c:561 +#: e2fsck/problem.c:530 msgid "" "You can remove this @b from the bad @b list and hope\n" "that the @b is really OK. But there are no guarantees.\n" "\n" msgstr "" -"Sie können diesen @b von der Liste der defekten Blöcke löschen\n" -"und hoffen, das dieser wirklich in Ordnung ist, es gibt aber\n" -"KEINE GARANTIEN.\n" +"Sie können @b von der @b - Liste löschen \n" +"und hoffen das @b wirklich in Ordnung ist, es \n" +"gibt aber KEINE GARANTIEN.\n" "\n" #. @-expanded: The primary superblock (%b) is on the bad block list.\n -#: e2fsck/problem.c:567 +#: e2fsck/problem.c:536 msgid "The primary @S (%b) is on the bad @b list.\n" -msgstr "Der primäre @S (%b) ist auf der Liste der defekten Blöcke.\n" +msgstr "Der primäre @S (%b) ist auf der bad @b Liste.\n" #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n -#: e2fsck/problem.c:572 +#: e2fsck/problem.c:541 msgid "Block %b in the primary @g descriptors is on the bad @b list\n" -msgstr "Block %b im primären Deskriptor @g ist auf der Liste der defekten Blöcke\n" +msgstr "Block %b im primären Deskriptor @g ist auf der bad @b Liste\n" #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n -#: e2fsck/problem.c:578 +#: e2fsck/problem.c:547 msgid "Warning: Group %g's @S (%b) is bad.\n" -msgstr "Warnung: der @S von Gruppe %g (%b) ist defekt.\n" +msgstr "Warnung: Gruppe %g's @S (%b) ist ungültig.\n" #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n -#: e2fsck/problem.c:583 +#: e2fsck/problem.c:552 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n" -msgstr "Warnung: die Kopie des Gruppen-Deskriptors von Gruppe %g hat einen defekten Block (%b).\n" +msgstr "Warnung: Gruppe %g's Kopie vom Deskriptor @g hat einen bad @b (%b).\n" #. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n -#: e2fsck/problem.c:589 +#: e2fsck/problem.c:558 msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n" -msgstr "Programmfehler? @b #%b wird ohne Grund in process_bad_@b verlangt.\n" +msgstr "Programmfehler? @b #%b verlangt ohne Grund in process_bad_@b.\n" #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n -#: e2fsck/problem.c:595 +#: e2fsck/problem.c:564 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n" -msgstr "@A %N zusammenhängenende(m/n) Block/Blöcken in der @b-@g %g für %s: %m\n" +msgstr "@A %N grenzt an @b(s) in @b @g %g for %s: %m\n" #. @-expanded: error allocating block buffer for relocating %s\n -#: e2fsck/problem.c:600 +#: e2fsck/problem.c:569 #, c-format msgid "@A @b buffer for relocating %s\n" -msgstr "@A einen @b-Puffer zum Verschieben von %s\n" +msgstr "@A @b Puffer zum Verschieben %s\n" #. @-expanded: Relocating group %g's %s from %b to %c...\n -#: e2fsck/problem.c:605 +#: e2fsck/problem.c:574 msgid "Relocating @g %g's %s from %b to %c...\n" -msgstr "Verschiebe Gruppe %g's %s von %b nach %c...\n" +msgstr "Verschiebe @g %g's %s von %b nach %c...\n" #. @-expanded: Relocating group %g's %s to %c...\n -#: e2fsck/problem.c:610 +#: e2fsck/problem.c:579 #, c-format msgid "Relocating @g %g's %s to %c...\n" msgstr "Verschiebe @g %g's %s nach %c...\n" #. @-expanded: Warning: could not read block %b of %s: %m\n -#: e2fsck/problem.c:615 +#: e2fsck/problem.c:584 msgid "Warning: could not read @b %b of %s: %m\n" -msgstr "Warnung: @b %b von %s konnte nicht gelesen werden: %m\n" +msgstr "Warnung: kann @b %b von %s: %m nicht lesen\n" #. @-expanded: Warning: could not write block %b for %s: %m\n -#: e2fsck/problem.c:620 +#: e2fsck/problem.c:589 msgid "Warning: could not write @b %b for %s: %m\n" -msgstr "Warnung: @b %b von %s konnte nicht geschrieben werden: %m\n" +msgstr "Warnung: kann @b %b von %s: %m nicht schreiben\n" #. @-expanded: error allocating inode bitmap (%N): %m\n -#: e2fsck/problem.c:625 e2fsck/problem.c:1460 +#: e2fsck/problem.c:594 e2fsck/problem.c:1405 msgid "@A @i @B (%N): %m\n" -msgstr "@A die @i-@B (%N): %m\n" +msgstr "@A @i @B (%N): %m\n" #. @-expanded: error allocating block bitmap (%N): %m\n -#: e2fsck/problem.c:630 +#: e2fsck/problem.c:599 msgid "@A @b @B (%N): %m\n" -msgstr "@A die @i-@B (%N): %m\n" +msgstr "@A @i @B (%N): %m\n" #. @-expanded: error allocating icount link information: %m\n -#: e2fsck/problem.c:635 +#: e2fsck/problem.c:604 #, c-format msgid "@A icount link information: %m\n" -msgstr "@A die „icount link information“: %m\n" +msgstr "@A icount link information: %m\n" #. @-expanded: error allocating directory block array: %m\n -#: e2fsck/problem.c:640 +#: e2fsck/problem.c:609 #, c-format msgid "@A @d @b array: %m\n" -msgstr "@A das @d-@b-Feld: %m\n" +msgstr "@A @d @b array: %m\n" #. @-expanded: Error while scanning inodes (%i): %m\n -#: e2fsck/problem.c:645 +#: e2fsck/problem.c:614 #, c-format msgid "Error while scanning @is (%i): %m\n" -msgstr "Fehler während des Durchsuchens der @is (%i): %m\n" +msgstr "Fehler während der Suche @is (%i): %m\n" #. @-expanded: Error while iterating over blocks in inode %i: %m\n -#: e2fsck/problem.c:650 +#: e2fsck/problem.c:619 #, c-format msgid "Error while iterating over @bs in @i %i: %m\n" -msgstr "Fehler beim Iterieren über die Blöcke in @i %i: %m\n" +msgstr "Fehler beim Iterieren über @bs in @i %i: %m\n" #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n -#: e2fsck/problem.c:655 +#: e2fsck/problem.c:624 msgid "Error storing @i count information (@i=%i, count=%N): %m\n" -msgstr "Fehler beim Speichern der @i Anzahl-Informationen (@i=%i, count=%N): %m\n" +msgstr "" +"Fehler beim Speichern von @i count Informationen (@i=%i, count=%N): %m\n" #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n -#: e2fsck/problem.c:660 +#: e2fsck/problem.c:629 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n" -msgstr "Fehler beim Speichern der @d-@b-Informationen (@i=%i, @b=%b, num=%N): %m\n" +msgstr "Fehler beim Speichern @d @b Informationen (@i=%i, @b=%b, num=%N): %m\n" #. @-expanded: Error reading inode %i: %m\n -#: e2fsck/problem.c:666 +#: e2fsck/problem.c:635 #, c-format msgid "Error reading @i %i: %m\n" msgstr "Fehler beim Lesen von @i %i: %m\n" #. @-expanded: inode %i has imagic flag set. -#: e2fsck/problem.c:674 +#: e2fsck/problem.c:643 #, c-format msgid "@i %i has imagic flag set. " -msgstr "@i %i hat den Imagic-Bitschalter gesetzt. " +msgstr "@i %i hat Imagic-Flag gesetzt. " #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n #. @-expanded: or append-only flag set. -#: e2fsck/problem.c:679 +#: e2fsck/problem.c:648 #, c-format msgid "" "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n" "or append-only flag set. " msgstr "" -"Spezielle (@v/socket/fifo/symlink) Datei (@i %i) hat den Bitschalter für\n" -"unveränderbar oder nur-anängen gesetzt. " +"Spezielle (@v/socket/fifo/symlink) Datei (@i %i) hat immutable\n" +"oder append-only Flag gesetzt. " #. @-expanded: inode %i has compression flag set on filesystem without compression support. -#: e2fsck/problem.c:685 +#: e2fsck/problem.c:654 #, c-format msgid "@i %i has @cion flag set on @f without @cion support. " -msgstr "@i %i hat den Bitschalter für @c gesetzt auf einem @f ohne Unterstützung dafür. " +msgstr "@i %i hat @cion Flag gesetzt auf @f ohne @cion Unterstützung. " #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size. -#: e2fsck/problem.c:690 +#: e2fsck/problem.c:659 #, c-format msgid "Special (@v/socket/fifo) @i %i has non-zero size. " -msgstr "Spezielle (@v/socket/fifo) @i %i hat die Größe Null. " +msgstr "" +"Spezielle (@v/socket/fifo/symlink) Datei (@i %i) hat immutable\n" +"oder append-only Flag gesetzt. " #. @-expanded: journal inode is not in use, but contains data. -#: e2fsck/problem.c:700 +#: e2fsck/problem.c:669 msgid "@j @i is not in use, but contains data. " -msgstr "@j %i wird nicht verwendet, aber enthält Daten. " +msgstr "@i %i ist in Benutzung, aber hat dtime gesetzt. " #. @-expanded: journal is not regular file. -#: e2fsck/problem.c:705 +#: e2fsck/problem.c:674 msgid "@j is not regular file. " msgstr "@j ist keine reguläre Datei. " #. @-expanded: inode %i was part of the orphaned inode list. -#: e2fsck/problem.c:710 +#: e2fsck/problem.c:679 #, c-format msgid "@i %i was part of the @o @i list. " -msgstr "@i %i war Teil der Liste verwaister Inodes. " +msgstr "@i %i war Teil der orphaned @i Liste. " #. @-expanded: inodes that were part of a corrupted orphan linked list found. -#: e2fsck/problem.c:716 +#: e2fsck/problem.c:685 msgid "@is that were part of a corrupted orphan linked list found. " -msgstr "@is gefunden, die Teil einer defekten verketteten Liste von verwaisten @is waren. " +msgstr "@is, die Teile einer defekten Liste mit verwaisten Links waren. " #. @-expanded: error allocating refcount structure (%N): %m\n -#: e2fsck/problem.c:721 +#: e2fsck/problem.c:690 msgid "@A refcount structure (%N): %m\n" -msgstr "@A die refcount-Structure (%N): %m\n" +msgstr "@A icount structure: %m\n" #. @-expanded: Error reading extended attribute block %b for inode %i. -#: e2fsck/problem.c:726 +#: e2fsck/problem.c:695 msgid "Error reading @a @b %b for @i %i. " -msgstr "Fehler beim Lesen des Blocks für erweiterte Attribute %b f @i %i. " +msgstr "Fehler beim Lesen @a @b %b for @i %i. " #. @-expanded: inode %i has a bad extended attribute block %b. -#: e2fsck/problem.c:731 +#: e2fsck/problem.c:700 msgid "@i %i has a bad @a @b %b. " -msgstr "@i %i hat einen defekten erweiterte-Attribute-Block %b. " +msgstr "@i %i hat defekten @a @b %b. " #. @-expanded: Error reading extended attribute block %b (%m). -#: e2fsck/problem.c:736 +#: e2fsck/problem.c:705 msgid "Error reading @a @b %b (%m). " -msgstr "Fehler beim Lesen des Blocks für erweiterte Attribute (%m). " +msgstr "Fehler beim Lesen @a @b %b (%m). " #. @-expanded: extended attribute block %b has reference count %r, should be %N. -#: e2fsck/problem.c:741 +#: e2fsck/problem.c:710 msgid "@a @b %b has reference count %r, @s %N. " -msgstr "Der Referenzzähler des Blocks für @a %b ist %r, richtig wäre %N. " +msgstr "@a @b %b hat den Referenzzähler %r, richtig wäre %N. " #. @-expanded: Error writing extended attribute block %b (%m). -#: e2fsck/problem.c:746 +#: e2fsck/problem.c:715 msgid "Error writing @a @b %b (%m). " -msgstr "Fehler beim Schreiben des Blocks für @a %b (%m). " +msgstr "Fehler beim Schreiben @a @b %b (%m). " #. @-expanded: extended attribute block %b has h_blocks > 1. -#: e2fsck/problem.c:751 +#: e2fsck/problem.c:720 msgid "@a @b %b has h_@bs > 1. " -msgstr "der Block für @a %b hat h_blocks > 1. " +msgstr "@a @b %b hat h_blocks > 1. " #. @-expanded: error allocating extended attribute block %b. -#: e2fsck/problem.c:756 +#: e2fsck/problem.c:725 msgid "@A @a @b %b. " -msgstr "@A den Block für erweiterte Attribute %b. " +msgstr "@A @a @b %b. " #. @-expanded: extended attribute block %b is corrupt (allocation collision). -#: e2fsck/problem.c:761 +#: e2fsck/problem.c:730 msgid "@a @b %b is corrupt (allocation collision). " -msgstr "der @b für @a %b ist defekt (Kollision der Platzanforderungen). " +msgstr "@a @b %b ist defekt (allocation collision). " #. @-expanded: extended attribute block %b is corrupt (invalid name). -#: e2fsck/problem.c:766 +#: e2fsck/problem.c:735 msgid "@a @b %b is corrupt (@n name). " msgstr "@a @b %b ist defekt (ungültiger Name). " #. @-expanded: extended attribute block %b is corrupt (invalid value). -#: e2fsck/problem.c:771 +#: e2fsck/problem.c:740 msgid "@a @b %b is corrupt (@n value). " -msgstr "der @b für @a %b ist defekt (ungültiger Wert). " +msgstr "@a @b %b ist defekt (ungültiger Wert). " #. @-expanded: inode %i is too big. -#: e2fsck/problem.c:776 +#: e2fsck/problem.c:745 #, c-format msgid "@i %i is too big. " msgstr "@i %i ist zu groß. " #. @-expanded: %B (%b) causes directory to be too big. -#: e2fsck/problem.c:780 +#: e2fsck/problem.c:749 msgid "%B (%b) causes @d to be too big. " -msgstr "%B (%b) macht @d zu groß. " +msgstr "@b #%B (%b) macht @d zu groß. " -#: e2fsck/problem.c:785 +#: e2fsck/problem.c:754 msgid "%B (%b) causes file to be too big. " msgstr "@b #%B (%b) macht die Datei zu groß. " -#: e2fsck/problem.c:790 +#: e2fsck/problem.c:759 msgid "%B (%b) causes symlink to be too big. " msgstr "@b #%B (%b) macht den Symlink zu groß. " #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n -#: e2fsck/problem.c:795 +#: e2fsck/problem.c:764 #, c-format msgid "@i %i has INDEX_FL flag set on @f without htree support.\n" msgstr "@i %i hat INDEX_FL Flag auf @f gesetzt ohne HTREE-Unterstützung.\n" #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n -#: e2fsck/problem.c:800 +#: e2fsck/problem.c:769 #, c-format msgid "@i %i has INDEX_FL flag set but is not a @d.\n" -msgstr "@i %i hat den INDEX_FL-Bitschalter gesetzt, ist aber kein @d.\n" +msgstr "@i %i hat INDEX_FL flag gesetzt, ist aber kein @d.\n" #. @-expanded: HTREE directory inode %i has an invalid root node.\n -#: e2fsck/problem.c:805 +#: e2fsck/problem.c:774 #, c-format msgid "@h %i has an @n root node.\n" -msgstr "@h %i hat einen unvollständigen Wurzelknoten („root node“).\n" +msgstr "@h %i hat einen unvollständigen root node.\n" #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n -#: e2fsck/problem.c:810 +#: e2fsck/problem.c:779 msgid "@h %i has an unsupported hash version (%N)\n" -msgstr "@h %i hat eine nicht unterstützte Hash-Version (%N)\n" +msgstr "@h %i hat eine nicht unterstützte hash-Version (%N)\n" #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n -#: e2fsck/problem.c:815 +#: e2fsck/problem.c:784 #, c-format msgid "@h %i uses an incompatible htree root node flag.\n" -msgstr "@h %i benutzt einen nicht unterstützten Bitschalter für einen Htree-Wurzelknoten.\n" +msgstr "@h %i benutzt einen nicht unterstützten htree root node flag.\n" #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n -#: e2fsck/problem.c:820 +#: e2fsck/problem.c:789 msgid "@h %i has a tree depth (%N) which is too big\n" msgstr "@h %i hat eine zu große Verzeichnistiefe von (%N)\n" #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n #. @-expanded: filesystem metadata. -#: e2fsck/problem.c:825 +#: e2fsck/problem.c:794 msgid "" "Bad @b @i has an indirect @b (%b) that conflicts with\n" "@f metadata. " msgstr "" -"der @i für defekte Blöcke hat einen indirekten @b (%b), der mit\n" -"den @f-Metadaten in Konflikt steht. " +"Defekter @b @i hat einen indirekten @b (%b), der mit\n" +"den @f Metadaten in Konflikt steht. " #. @-expanded: Resize inode (re)creation failed: %m. -#: e2fsck/problem.c:831 +#: e2fsck/problem.c:800 #, c-format msgid "Resize @i (re)creation failed: %m." msgstr "Erzeugung von Vergrösserungs-@i scheiterte: %m." #. @-expanded: inode %i has a extra size (%IS) which is invalid\n -#: e2fsck/problem.c:836 +#: e2fsck/problem.c:805 msgid "@i %i has a extra size (%IS) which is @n\n" -msgstr "@h %i hat eine ungültige Extragröße (%IS)\n" +msgstr "@h %i hat eine zu große Verzeichnistiefe von (%N)\n" #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n -#: e2fsck/problem.c:841 +#: e2fsck/problem.c:810 msgid "@a in @i %i has a namelen (%N) which is @n\n" -msgstr "ein erweitertes Attribut in @i %i hat eine ungültige namelen von %N\n" +msgstr "@h %i hat eine zu große Verzeichnistiefe von (%N)\n" #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n -#: e2fsck/problem.c:846 +#: e2fsck/problem.c:815 msgid "@a in @i %i has a value offset (%N) which is @n\n" -msgstr "ein erweitertes Attribut in @i %i hat einen ungültigen Werteversatz von %N\n" +msgstr "@h %i hat eine zu große Verzeichnistiefe von (%N)\n" #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n -#: e2fsck/problem.c:851 +#: e2fsck/problem.c:820 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" -msgstr "ein erweitertes Attribut in @i %i hat einen ungültigen Werteblock von %N (muß 0 sein)\n" +msgstr "@h %i hat eine zu große Verzeichnistiefe von (%N)\n" #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n -#: e2fsck/problem.c:856 +#: e2fsck/problem.c:825 msgid "@a in @i %i has a value size (%N) which is @n\n" -msgstr "ein erweitertes Attribut in @i %i hat eine ungültige Wertegröße von %N\n" +msgstr "@h %i hat eine zu große Verzeichnistiefe von (%N)\n" #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n -#: e2fsck/problem.c:861 +#: e2fsck/problem.c:830 msgid "@a in @i %i has a hash (%N) which is @n\n" -msgstr "ein erweitertes Attribut in @i %i hat den ungültigen Hash %N\n" +msgstr "@a in %i hat einen @n Hashwert von (%N)\n" #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n -#: e2fsck/problem.c:866 +#: e2fsck/problem.c:835 msgid "@i %i is a %It but it looks like it is really a directory.\n" -msgstr "@i %i ist ein %It, aber es sieht so aus, als ob es tatsächlich ein Verzeichnis ist.\n" +msgstr "" +"@i ist ein %It aber es sieht so aus, als ob es tatsächlich ein Verzeichnis " +"ist.\n" #. @-expanded: Error while reading over extent tree in inode %i: %m\n -#: e2fsck/problem.c:871 +#: e2fsck/problem.c:840 #, c-format msgid "Error while reading over @x tree in @i %i: %m\n" -msgstr "Fehler beim Iterieren über den @xs-Baum @x in @i %i: %m\n" +msgstr "Fehler beim Iterieren über Baum @x in @i %i: %m\n" #. @-expanded: Failed to iterate extents in inode %i\n #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n -#: e2fsck/problem.c:876 +#: e2fsck/problem.c:845 msgid "" "Failed to iterate extents in @i %i\n" "\t(op %s, blk %b, lblk %c): %m\n" msgstr "" -"Das Iterieren der Erweiterungen (extents) in @i %i scheiterte\n" +"Das Iterieren der Extents in @i %i scheiterte\n" "\t(op %s, blk %b, lblk %c): %m\n" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n -#: e2fsck/problem.c:882 +#: e2fsck/problem.c:851 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, @n physical @b %b, len %N)\n" msgstr "" -"@i %i hat eine @ne Erweiterung\n" +"@i %i hat eine @n Erweiterung\n" "\t(logischer @b %c, @n physischer @b %b, Länge %N)\n" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n -#: e2fsck/problem.c:887 +#: e2fsck/problem.c:856 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, physical @b %b, @n len %N)\n" msgstr "" -"@i %i hat eine ungültige Erweiterung\n" +"@i %i hat eine @n Erweiterung\n" "\t(logischer @b %c, physischer @b %b, @n Länge %N)\n" #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n -#: e2fsck/problem.c:892 +#: e2fsck/problem.c:861 #, c-format msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n" -msgstr "@i %i hat EXTENTS_FL-Bitschalter gesetzt, obwohl das @f Erweiterungen nicht unterstützt.\n" +msgstr "" +"@i %i hat EXTENTS_FL Kennung auf einem @f ohne Unterstützung für " +"Erweiterungen.\n" #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n -#: e2fsck/problem.c:897 +#: e2fsck/problem.c:866 #, c-format msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n" -msgstr "@i %i besitzt das Erweiterungsformat, aber dem @S fehlt die Eigenschaft EXTENTS\n" +msgstr "" +"@i %i besitzt das Erweiterungsformat, aber dem @S fehlt die Eigenschaft " +"EXTENTS\n" #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n -#: e2fsck/problem.c:902 +#: e2fsck/problem.c:871 #, c-format msgid "@i %i missing EXTENT_FL, but is in extents format\n" -msgstr "der @i %i fehlt EXTENT_FL, sie hat aber das Format einer Erweiterung\n" +msgstr "@i %i fehlt EXTENT_FL, aber hat das Format einer Erweiterungs-@i\n" -#: e2fsck/problem.c:907 +#: e2fsck/problem.c:876 #, c-format msgid "Fast symlink %i has EXTENT_FL set. " -msgstr "In schnellem Symlink %i ist EXTENT_FL gesetzt. " +msgstr "Schneller Symlink %i hat EXTENT_FL gesetzt. " #. @-expanded: inode %i has out of order extents\n #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:912 +#: e2fsck/problem.c:881 msgid "" "@i %i has out of order extents\n" "\t(@n logical @b %c, physical @b %b, len %N)\n" msgstr "" -"@i %i hat unregelmässige Erweiterungen\n" +"@i %i hat unregelmässige Erweitertungen\n" "\t(@n logischer @b %c, physischer @b %b, Länge %N)\n" #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n -#: e2fsck/problem.c:916 +#: e2fsck/problem.c:885 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n" -msgstr "@i %i hat einen ungültigen Erweiterungs-Knoten (blk %b, lblk %c)\n" - -#. @-expanded: Error converting subcluster block bitmap: %m\n -#: e2fsck/problem.c:921 -#, c-format -msgid "Error converting subcluster @b @B: %m\n" -msgstr "Fehler beim Umwandeln der Subcluster-Blockbitmap: %m\n" - -#. @-expanded: quota inode is not regular file. -#: e2fsck/problem.c:926 -msgid "@q @i is not regular file. " -msgstr "die @q-@i ist keine reguläre Datei. " - -#. @-expanded: quota inode is not in use, but contains data. -#: e2fsck/problem.c:931 -msgid "@q @i is not in use, but contains data. " -msgstr "@q-@i wird nicht benutzt, enthält aber Daten. " +msgstr "@i %i hat einen ungültigen Extent-Knoten (blk %b, lblk %c)\n" -#. @-expanded: quota inode is visible to the user. -#: e2fsck/problem.c:936 -msgid "@q @i is visible to the user. " -msgstr "die @q-@i ist sichtbar für den Benutzer. " - -#. @-expanded: The bad block inode looks invalid. -#: e2fsck/problem.c:941 -msgid "The bad @b @i looks @n. " -msgstr "Die Inode für defekte Blöcke sieht ungültig aus. " - -#. @-expanded: inode %i has zero length extent\n -#. @-expanded: \t(invalid logical block %c, physical block %b)\n -#: e2fsck/problem.c:946 -msgid "" -"@i %i has zero length extent\n" -"\t(@n logical @b %c, physical @b %b)\n" +#. @-expanded: inode %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n +#: e2fsck/problem.c:889 +msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" msgstr "" -"@i %i hat eine Erweitertung der Länge Null\n" -"\t(@n logischer @b %c, physischer @b %b)\n" #. @-expanded: \n #. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n #. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n -#: e2fsck/problem.c:953 +#: e2fsck/problem.c:897 msgid "" "\n" "Running additional passes to resolve @bs claimed by more than one @i...\n" "Pass 1B: Rescanning for @m @bs\n" msgstr "" "\n" -"Führe zusätzliche Läufe durch, um die von mehr als einer @i beanspruchten Blöcke zu klären...\n" -"Durchgang 1B: Suche nach mehrfach beanspruchten Blöcken\n" +"Doppelter @bs gefunden... starte Scan nach doppelten @b.\n" +"Durchgang 1B: Suche nach doppelten/defekten @bs\n" #. @-expanded: multiply-claimed block(s) in inode %i: -#: e2fsck/problem.c:959 +#: e2fsck/problem.c:903 #, c-format msgid "@m @b(s) in @i %i:" -msgstr "@me(r) Block/Blöcke in @i %i:" +msgstr "@m @b(s) in @i %i:" -#: e2fsck/problem.c:974 +#: e2fsck/problem.c:918 #, c-format msgid "Error while scanning inodes (%i): %m\n" -msgstr "Fehlen beim Prüfen der Inodes (%i): %m\n" +msgstr "Fehlen beim Prüfen von Inodes (%i): %m\n" #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n -#: e2fsck/problem.c:979 +#: e2fsck/problem.c:923 #, c-format msgid "@A @i @B (@i_dup_map): %m\n" -msgstr "@A die @i-@B (inode_dup_map): %m\n" +msgstr "@A @i @B (inode_dup_map): %m\n" #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n -#: e2fsck/problem.c:984 +#: e2fsck/problem.c:928 #, c-format msgid "Error while iterating over @bs in @i %i (%s): %m\n" -msgstr "Fehler beim Iterieren über die Blöcke in @i %i (%s): %m\n" +msgstr "Fehler beim Durchlaufen der @bs in @i %i (%s): %m\n" #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n -#: e2fsck/problem.c:989 e2fsck/problem.c:1304 +#: e2fsck/problem.c:933 e2fsck/problem.c:1249 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n" -msgstr "Fehler bei der Anpassung des Referenzzählers des Blocks für @a %b (@i %i): %m\n" +msgstr "Fehler bei der Anpassung des refcount für @a @b %b (@i %i): %m\n" #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n -#: e2fsck/problem.c:994 +#: e2fsck/problem.c:939 msgid "Pass 1C: Scanning directories for @is with @m @bs\n" -msgstr "Durchgang 1C: Durchsuche Verzeichnisse nach @is mit mehrfach belegten Blöcken.\n" +msgstr "Durchgang 1C: Prüfe Verzeichnisse nach @is mit doppelten @bs.\n" #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n -#: e2fsck/problem.c:1000 +#: e2fsck/problem.c:945 msgid "Pass 1D: Reconciling @m @bs\n" -msgstr "Durchgang 1D: Gleiche mehrfach belegte Blöcke ab\n" +msgstr "Durchgang 1D: Gleiche doppelte @bs ab\n" #. @-expanded: File %Q (inode #%i, mod time %IM) \n #. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n -#: e2fsck/problem.c:1005 +#: e2fsck/problem.c:950 msgid "" "File %Q (@i #%i, mod time %IM) \n" " has %r @m @b(s), shared with %N file(s):\n" msgstr "" -"Datei %Q (@i #%i, Änderungszeit %IM) \n" -" hat %r mehrfach belegte(n) Block/Böcke, gemeinsam genutzt mit %N Datei(en):\n" +"Datei %Q (@i #%i, Modifikationszeitpunkt %IM) \n" +" hat %B doppelte @b(s), gemeinsam genutzt mit %N Datei(en):\n" #. @-expanded: \t%Q (inode #%i, mod time %IM)\n -#: e2fsck/problem.c:1011 +#: e2fsck/problem.c:956 msgid "\t%Q (@i #%i, mod time %IM)\n" -msgstr "\t%Q (@i #%i, Änderungszeit %IM)\n" +msgstr "\t%Q (@i #%i, mod time %IM)\n" #. @-expanded: \t\n -#: e2fsck/problem.c:1016 +#: e2fsck/problem.c:961 msgid "\t<@f metadata>\n" -msgstr "\t<@f-Metadaten>\n" +msgstr "\t<@f metadata>\n" #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n #. @-expanded: \n -#: e2fsck/problem.c:1021 +#: e2fsck/problem.c:966 msgid "" "(There are %N @is containing @m @bs.)\n" "\n" msgstr "" -"(es gibt %N @is, die mehrfach belegte Blöcke enthalten.)\n" +"(es gibt %N @is, die doppelte/defekte @bs enthalten.)\n" "\n" #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n #. @-expanded: \n -#: e2fsck/problem.c:1026 +#: e2fsck/problem.c:971 msgid "" "@m @bs already reassigned or cloned.\n" "\n" msgstr "" -"mehrfach belegte Blöcke wurden bereits neu zugeordnet bzw. geklont.\n" +"Duplizierte @bs bereits neu zugeordnet bzw. geklont.\n" "\n" -#: e2fsck/problem.c:1039 +#: e2fsck/problem.c:984 #, c-format msgid "Couldn't clone file: %m\n" -msgstr "Kann eine Datei nicht klonen: %m\n" +msgstr "Kann die Datei %m nicht klonen.\n" #. @-expanded: Pass 2: Checking directory structure\n -#: e2fsck/problem.c:1045 +#: e2fsck/problem.c:990 msgid "Pass 2: Checking @d structure\n" -msgstr "Durchgang 2: Prüfe die @dstruktur\n" +msgstr "Durchgang 2: Prüfe @d Struktur\n" #. @-expanded: invalid inode number for '.' in directory inode %i.\n -#: e2fsck/problem.c:1050 +#: e2fsck/problem.c:995 #, c-format msgid "@n @i number for '.' in @d @i %i.\n" -msgstr "Falsche @inummer für „.“ in Verzeichnisinode %i.\n" +msgstr "Falsche @i Nummer für ».« in @d @i %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n -#: e2fsck/problem.c:1055 +#: e2fsck/problem.c:1000 msgid "@E has @n @i #: %Di.\n" -msgstr "@E hat falsche @i-Nr.: %Di.\n" +msgstr "@E hat falsche @i #: %Di.\n" #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di. -#: e2fsck/problem.c:1060 +#: e2fsck/problem.c:1005 msgid "@E has @D/unused @i %Di. " -msgstr "@E hat gelöschte/unbenutzt @i %Di. " +msgstr "@E hat @D/unbenutzt @i %Di. " #. @-expanded: entry '%Dn' in %p (%i) is a link to '.' -#: e2fsck/problem.c:1065 +#: e2fsck/problem.c:1010 msgid "@E @L to '.' " -msgstr "@E @L nach „.“ " +msgstr "@E @L nach ».« " #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n -#: e2fsck/problem.c:1070 +#: e2fsck/problem.c:1015 msgid "@E points to @i (%Di) located in a bad @b.\n" -msgstr "@E zeigt auf eine @i (%Di) in einem defekten @b.\n" +msgstr "@E zeigt auf @i (%Di) in einem defekten @b.\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n -#: e2fsck/problem.c:1075 +#: e2fsck/problem.c:1020 msgid "@E @L to @d %P (%Di).\n" -msgstr "@E @L mit @d %P (%Di).\n" +msgstr "@E @L nach @d %P (%Di).\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n -#: e2fsck/problem.c:1080 +#: e2fsck/problem.c:1025 msgid "@E @L to the @r.\n" -msgstr "@E @L mit der @r.\n" +msgstr "@E @L zur @r.\n" #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n -#: e2fsck/problem.c:1085 +#: e2fsck/problem.c:1030 msgid "@E has illegal characters in its name.\n" msgstr "@E hat ein unzulässiges Zeichen im Namen.\n" #. @-expanded: Missing '.' in directory inode %i.\n -#: e2fsck/problem.c:1090 +#: e2fsck/problem.c:1035 #, c-format msgid "Missing '.' in @d @i %i.\n" -msgstr "Fehlende „.“ in @d @i %i.\n" +msgstr "Fehlende ».« in @d @i %i.\n" #. @-expanded: Missing '..' in directory inode %i.\n -#: e2fsck/problem.c:1095 +#: e2fsck/problem.c:1040 #, c-format msgid "Missing '..' in @d @i %i.\n" -msgstr "Fehlender Eintrag „..“ in @dinode %i.\n" +msgstr "Fehlende »..« in @d @i %i.\n" #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n -#: e2fsck/problem.c:1100 +#: e2fsck/problem.c:1045 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n" -msgstr "Der erste @e „%Dn“ (@i=%Di) in @d-@i %i (%p) sollte „.“ sein\n" +msgstr "Erster @e »%Dn« (inode=%Di) in @d @i %i (%p) @s ».«\n" #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n -#: e2fsck/problem.c:1105 +#: e2fsck/problem.c:1050 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n" -msgstr "Der zweite @e „%Dn“ (inode=%Di) in @d-@i %i sollte „..“ sein\n" +msgstr "Zweiter @e »%Dn« (inode=%Di) in @d @i %i @s »..«\n" #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n -#: e2fsck/problem.c:1110 +#: e2fsck/problem.c:1055 msgid "i_faddr @F %IF, @s zero.\n" -msgstr "i_faddr @F %IF, sollte Null sein.\n" +msgstr "i_faddr @F %IF, @s null.\n" #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n -#: e2fsck/problem.c:1115 +#: e2fsck/problem.c:1060 msgid "i_file_acl @F %If, @s zero.\n" -msgstr "i_file_acl @F %If, sollte Null sein.\n" +msgstr "i_file_acl @F %If, @s null.\n" #. @-expanded: i_dir_acl for inode %i (%Q) is %Id, should be zero.\n -#: e2fsck/problem.c:1120 +#: e2fsck/problem.c:1065 msgid "i_dir_acl @F %Id, @s zero.\n" -msgstr "i_dir_acl @F %Id, sollte Null sein.\n" +msgstr "i_dir_acl @F %Id, @s null.\n" #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1125 +#: e2fsck/problem.c:1070 msgid "i_frag @F %N, @s zero.\n" -msgstr "i_frag @F %N, sollte Null sein.\n" +msgstr "i_frag @F %N, @s null.\n" #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1130 +#: e2fsck/problem.c:1075 msgid "i_fsize @F %N, @s zero.\n" msgstr "i_fsize @F %N, @s null.\n" #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n -#: e2fsck/problem.c:1135 +#: e2fsck/problem.c:1080 msgid "@i %i (%Q) has @n mode (%Im).\n" -msgstr "@i %i (%Q) hat einen ungültigen Modus (%Im).\n" +msgstr "@i %i (%Q) hat einen falschen Modus (%Im).\n" #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n -#: e2fsck/problem.c:1140 +#: e2fsck/problem.c:1085 msgid "@d @i %i, %B, offset %N: @d corrupted\n" -msgstr "@d-@i %i, @b %B, Offset %N: @d defekt\n" +msgstr "@d @i %i, @b %B, Offset %N: @d defekt\n" #. @-expanded: directory inode %i, %B, offset %N: filename too long\n -#: e2fsck/problem.c:1145 +#: e2fsck/problem.c:1090 msgid "@d @i %i, %B, offset %N: filename too long\n" -msgstr "@d-@i %i, @b %B, offset %N: Dateiname zu lang\n" +msgstr "@d @i %i, @b %B, offset %N: Dateiname zu lang\n" #. @-expanded: directory inode %i has an unallocated %B. -#: e2fsck/problem.c:1150 +#: e2fsck/problem.c:1095 msgid "@d @i %i has an unallocated %B. " -msgstr "@d-@i %i hat einen nicht zugewiesenen %B. " +msgstr "@d @i %i hat einen nicht zugewiesenen @b #%B. " #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1155 +#: e2fsck/problem.c:1100 #, c-format msgid "'.' @d @e in @d @i %i is not NULL terminated\n" -msgstr "@d-@e „.“ in @d-@i %i ist nicht NULL-terminiert\n" +msgstr "».« @d @e in @d @i %i ist nicht NULL-terminiert\n" #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1160 +#: e2fsck/problem.c:1105 #, c-format msgid "'..' @d @e in @d @i %i is not NULL terminated\n" -msgstr "@d-@e „..“ in @d-@i %i ist nicht NULL-terminiert\n" +msgstr "»..« @d @e in @d @i %i ist nicht NULL-terminiert\n" #. @-expanded: inode %i (%Q) is an illegal character device.\n -#: e2fsck/problem.c:1165 +#: e2fsck/problem.c:1110 msgid "@i %i (%Q) is an @I character @v.\n" -msgstr "@i %i (%Q) ist ein @I zeichenorientiertes Gerät.\n" +msgstr "@i %i (%Q) ist ein @I Zeichen @v.\n" #. @-expanded: inode %i (%Q) is an illegal block device.\n -#: e2fsck/problem.c:1170 +#: e2fsck/problem.c:1115 msgid "@i %i (%Q) is an @I @b @v.\n" -msgstr "@i %i (%Q) ist ein @I blockorientiertes Gerät.\n" +msgstr "@i %i (%Q) ist ein @I @b @v.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n -#: e2fsck/problem.c:1175 +#: e2fsck/problem.c:1120 msgid "@E is duplicate '.' @e.\n" -msgstr "@E ist ein doppelter @e für „.“.\n" +msgstr "@E ist ein doppelter ».« @e.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n -#: e2fsck/problem.c:1180 +#: e2fsck/problem.c:1125 msgid "@E is duplicate '..' @e.\n" -msgstr "@E ist ein doppelter @e für „..“.\n" +msgstr "@E ist ein doppelter »..« @e.\n" -#: e2fsck/problem.c:1185 e2fsck/problem.c:1485 +#: e2fsck/problem.c:1130 e2fsck/problem.c:1430 #, c-format msgid "Internal error: couldn't find dir_info for %i.\n" msgstr "Interner Fehler: kann dir_info für %i nicht finden.\n" #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n -#: e2fsck/problem.c:1190 +#: e2fsck/problem.c:1135 msgid "@E has rec_len of %Dr, @s %N.\n" -msgstr "@E hat eine rec_len von %Dr, sollte %N sein.\n" +msgstr "@E hat rec_len von %Dr, sollte %N sein.\n" #. @-expanded: error allocating icount structure: %m\n -#: e2fsck/problem.c:1195 +#: e2fsck/problem.c:1140 #, c-format msgid "@A icount structure: %m\n" -msgstr "@A die icount-Structur: %m\n" +msgstr "@A icount structure: %m\n" #. @-expanded: Error iterating over directory blocks: %m\n -#: e2fsck/problem.c:1200 +#: e2fsck/problem.c:1145 #, c-format msgid "Error iterating over @d @bs: %m\n" -msgstr "Fehler beim Durchlaufen der @dblöcke: %m\n" +msgstr "Fehler beim Durchlaufen der @d @bs: %m\n" #. @-expanded: Error reading directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1205 +#: e2fsck/problem.c:1150 msgid "Error reading @d @b %b (@i %i): %m\n" -msgstr "Fehler beim Lesen des @dblocks %b (@i %i): %m\n" +msgstr "Lesefehler @d @b %b (@i %i): %m\n" #. @-expanded: Error writing directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1210 +#: e2fsck/problem.c:1155 msgid "Error writing @d @b %b (@i %i): %m\n" -msgstr "Fehler beim Schreiben von @dblock %b (@i %i): %m\n" +msgstr "Schreibfehler @d @b %b (@i %i): %m\n" #. @-expanded: error allocating new directory block for inode %i (%s): %m\n -#: e2fsck/problem.c:1215 +#: e2fsck/problem.c:1160 #, c-format msgid "@A new @d @b for @i %i (%s): %m\n" -msgstr "@A einen neuen @dblock für @i %i (%s): %m\n" +msgstr "@A neu @d @b for @i %i (%s): %m\n" #. @-expanded: Error deallocating inode %i: %m\n -#: e2fsck/problem.c:1220 +#: e2fsck/problem.c:1165 #, c-format msgid "Error deallocating @i %i: %m\n" msgstr "Fehler bei der Freigabe von @i %i: %m\n" #. @-expanded: directory entry for '.' in %p (%i) is big.\n -#: e2fsck/problem.c:1225 +#: e2fsck/problem.c:1170 #, c-format msgid "@d @e for '.' in %p (%i) is big.\n" -msgstr "Verzeichniseintrag für „.“ in %p (%i) ist groß.\n" +msgstr "Verzeichniseintrag für ».« in %p (%i) ist gross.\n" #. @-expanded: inode %i (%Q) is an illegal FIFO.\n -#: e2fsck/problem.c:1230 +#: e2fsck/problem.c:1175 msgid "@i %i (%Q) is an @I FIFO.\n" msgstr "@i %i (%Q) ist ein @I FIFO.\n" #. @-expanded: inode %i (%Q) is an illegal socket.\n -#: e2fsck/problem.c:1235 +#: e2fsck/problem.c:1180 msgid "@i %i (%Q) is an @I socket.\n" -msgstr "@i %i (%Q) ist ein illegaler Socket.\n" +msgstr "@i %i (%Q) ist ein @I Socket.\n" #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n -#: e2fsck/problem.c:1240 +#: e2fsck/problem.c:1185 msgid "Setting filetype for @E to %N.\n" -msgstr "Setze den Dateitype für @E auf %N.\n" +msgstr "Setze Dateitype für @E auf %N.\n" #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n -#: e2fsck/problem.c:1245 +#: e2fsck/problem.c:1190 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n" msgstr "@E hat einen falschen Dateityp (war %Dt, sollte %N sein).\n" #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n -#: e2fsck/problem.c:1250 +#: e2fsck/problem.c:1195 msgid "@E has filetype set.\n" msgstr "@E hat Dateityp gesetzt.\n" #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n -#: e2fsck/problem.c:1255 +#: e2fsck/problem.c:1200 msgid "@E has a @z name.\n" -msgstr "@E hat einen Namen der Länge Null.\n" +msgstr "@E hat einen Namen der Länge Null..\n" #. @-expanded: Symlink %Q (inode #%i) is invalid.\n -#: e2fsck/problem.c:1260 +#: e2fsck/problem.c:1205 msgid "Symlink %Q (@i #%i) is @n.\n" msgstr "Symlink %Q (@i #%i) is invalid.\n" #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n -#: e2fsck/problem.c:1265 +#: e2fsck/problem.c:1210 msgid "@a @b @F @n (%If).\n" msgstr "@a @b @F ist falsch (%If).\n" #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n -#: e2fsck/problem.c:1270 +#: e2fsck/problem.c:1215 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n" -msgstr "@f enthält große Dateien, aber im @S den Bitschalter LARGE_FILE nicht gesetzt.\n" +msgstr "" +"@f enthält große Dateien, aber das LARGE_FILE Flag in @S ist nicht gesetzt.\n" #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n -#: e2fsck/problem.c:1275 +#: e2fsck/problem.c:1220 msgid "@p @h %d: %B not referenced\n" -msgstr "@p @h %d: %B ist nicht referenziert\n" +msgstr "@p @h %d: Node (%B) nicht referenziert\n" #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n -#: e2fsck/problem.c:1280 +#: e2fsck/problem.c:1225 msgid "@p @h %d: %B referenced twice\n" -msgstr "@p @h %d: %B doppelt referenziert\n" +msgstr "@p @h %d: Node (%B) doppelt referenziert\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n -#: e2fsck/problem.c:1285 +#: e2fsck/problem.c:1230 msgid "@p @h %d: %B has bad min hash\n" msgstr "@p @h %d: %B hat ungültigen Minimumhash\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n -#: e2fsck/problem.c:1290 +#: e2fsck/problem.c:1235 msgid "@p @h %d: %B has bad max hash\n" msgstr "@p @h %d: %B hat ungültigen Maximalhash\n" #. @-expanded: invalid HTREE directory inode %d (%q). -#: e2fsck/problem.c:1295 +#: e2fsck/problem.c:1240 msgid "@n @h %d (%q). " -msgstr "Ungültige @h %d (%q). " +msgstr "Invalid @h %d (%q). " #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n -#: e2fsck/problem.c:1299 +#: e2fsck/problem.c:1244 msgid "@p @h %d (%q): bad @b number %b.\n" -msgstr "@p @h %d (%q): falsche Blocknummer %b.\n" +msgstr "@p @h %d (%q): bad @b number %b.\n" #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n -#: e2fsck/problem.c:1309 +#: e2fsck/problem.c:1254 #, c-format msgid "@p @h %d: root node is @n\n" -msgstr "@p @h %d: Wurzelknotenist ungültig\n" +msgstr "@p @h %d: root node is invalid\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n -#: e2fsck/problem.c:1314 +#: e2fsck/problem.c:1259 msgid "@p @h %d: %B has @n limit (%N)\n" msgstr "@p @h %d: %B hat eine ungültige Begrenzung (%N)\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n -#: e2fsck/problem.c:1319 +#: e2fsck/problem.c:1264 msgid "@p @h %d: %B has @n count (%N)\n" -msgstr "@p @h %d: %B hat einen ungültigen Zählerstand (%N)\n" +msgstr "@p @h %d: %B hat einen ungültigen Zähler (%N)\n" #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n -#: e2fsck/problem.c:1324 +#: e2fsck/problem.c:1269 msgid "@p @h %d: %B has an unordered hash table\n" msgstr "@p @h %d: %B hat eine unsortierte Hashtabelle\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n -#: e2fsck/problem.c:1329 +#: e2fsck/problem.c:1274 msgid "@p @h %d: %B has @n depth (%N)\n" -msgstr "@p @h %d: %B hat eine ungültige Tiefe (%N)\n" +msgstr "@p @h %d: %B has eine ungültige Tiefe (%N)\n" #. @-expanded: Duplicate entry '%Dn' in %p (%i) found. -#: e2fsck/problem.c:1334 +#: e2fsck/problem.c:1279 msgid "Duplicate @E found. " -msgstr "Doppelter @E gefunden. " +msgstr "Doppelte @E gefunden. " #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n #. @-expanded: Rename to %s -#: e2fsck/problem.c:1339 +#: e2fsck/problem.c:1284 #, no-c-format msgid "" "@E has a non-unique filename.\n" @@ -2192,216 +2155,216 @@ msgstr "" #. @-expanded: Duplicate entry '%Dn' found.\n #. @-expanded: \tMarking %p (%i) to be rebuilt.\n #. @-expanded: \n -#: e2fsck/problem.c:1344 +#: e2fsck/problem.c:1289 msgid "" "Duplicate @e '%Dn' found.\n" "\tMarking %p (%i) to be rebuilt.\n" "\n" msgstr "" -"Doppelter @e „%Dn“ gefunden.\n" -"\t%p (%i) wird für die Neuerstellung markiert.\n" +"Doppelte @e '%Dn' gefunden.\n" +"\tMarkiere %p (%i) für die Neuerstellung.\n" "\n" #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1349 +#: e2fsck/problem.c:1294 msgid "i_blocks_hi @F %N, @s zero.\n" -msgstr "i_blocks_hi @F %N, sollte Null sein.\n" +msgstr "i_blocks_hi @F %N, @s zero.\n" #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n -#: e2fsck/problem.c:1354 +#: e2fsck/problem.c:1299 msgid "Unexpected @b in @h %d (%q).\n" msgstr "Unerwarteter @b in @h %d (%q).\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n -#: e2fsck/problem.c:1358 +#: e2fsck/problem.c:1303 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n" -msgstr "@E referenziert @i %Di in @g %g, für die _INODE_UNINIT gesetzt ist.\n" +msgstr "@i %i wurde in @g %g gefunden, für die _INODE_UNINIT gesetzt ist.\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n -#: e2fsck/problem.c:1363 +#: e2fsck/problem.c:1308 msgid "@E references @i %Di found in @g %g's unused inodes area.\n" -msgstr "@E verweist auf @i %Di, die im Bereich ungenutzter Inodes von @g %g zu finden ist.\n" +msgstr "@i %i wurde im Bereich ungenutzter Inodes von @g %g gefunden.\n" #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1368 +#: e2fsck/problem.c:1313 msgid "i_file_acl_hi @F %N, @s zero.\n" msgstr "i_file_acl_hi @F %N, sollte Null sein.\n" #. @-expanded: Pass 3: Checking directory connectivity\n -#: e2fsck/problem.c:1375 +#: e2fsck/problem.c:1320 msgid "Pass 3: Checking @d connectivity\n" -msgstr "Durchgang 3: Prüfe @d-Verknüpfungen\n" +msgstr "Durchgang 3: Prüfe @d Verknüpfungen\n" #. @-expanded: root inode not allocated. -#: e2fsck/problem.c:1380 +#: e2fsck/problem.c:1325 msgid "@r not allocated. " msgstr "@r nicht zugeordnet. " #. @-expanded: No room in lost+found directory. -#: e2fsck/problem.c:1385 +#: e2fsck/problem.c:1330 msgid "No room in @l @d. " -msgstr "Kein Platz im Verzeichnis @l. " +msgstr "Kein Platz in @l @d. " #. @-expanded: Unconnected directory inode %i (%p)\n -#: e2fsck/problem.c:1390 +#: e2fsck/problem.c:1335 #, c-format msgid "Unconnected @d @i %i (%p)\n" -msgstr "Nicht verbundene @d-@i %i (%p)\n" +msgstr "Nicht verbundene @d @i %i (%p)\n" #. @-expanded: /lost+found not found. -#: e2fsck/problem.c:1395 +#: e2fsck/problem.c:1340 msgid "/@l not found. " msgstr "/@l nicht gefunden. " #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n -#: e2fsck/problem.c:1400 +#: e2fsck/problem.c:1345 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n" -msgstr "„..“ in %Q (%i) ist %P (%j), sollte %q (%d) sein.\n" +msgstr "»..« in %Q (%i) ist %P (%j), @s %q (%d).\n" #. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n -#: e2fsck/problem.c:1405 +#: e2fsck/problem.c:1350 msgid "Bad or non-existent /@l. Cannot reconnect.\n" -msgstr "Falsches oder fehlendes Verzeichnis /@l. Wiederverbinden nicht möglich.\n" +msgstr "Falscher oder fehlender /@l. Wiederverbinden nicht möglich.\n" #. @-expanded: Could not expand /lost+found: %m\n -#: e2fsck/problem.c:1410 +#: e2fsck/problem.c:1355 #, c-format msgid "Could not expand /@l: %m\n" -msgstr "Erweitern von /@l nicht möglich: %m\n" +msgstr "Erweitern nicht möglich /@l: %m\n" -#: e2fsck/problem.c:1415 +#: e2fsck/problem.c:1360 #, c-format msgid "Could not reconnect %i: %m\n" -msgstr "Wiederverbinden von %i nicht möglich: %m\n" +msgstr "Wiederverbinden nicht möglich %i: %m\n" #. @-expanded: Error while trying to find /lost+found: %m\n -#: e2fsck/problem.c:1420 +#: e2fsck/problem.c:1365 #, c-format msgid "Error while trying to find /@l: %m\n" msgstr "Fehler während der Suche nach /@l: %m\n" #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1425 +#: e2fsck/problem.c:1370 #, c-format msgid "ext2fs_new_@b: %m while trying to create /@l @d\n" -msgstr "ext2fs_new_@b: %m während des Versuches, @d /@l zu erzeugen.\n" +msgstr "ext2fs_new_@b: %m während des Versuches /@l @d zu erzeugen.\n" #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1430 +#: e2fsck/problem.c:1375 #, c-format msgid "ext2fs_new_@i: %m while trying to create /@l @d\n" -msgstr "ext2fs_new_@i: %m während des Versuches, @d /@l zu erzeugen.\n" +msgstr "ext2fs_new_@i: %m während des Versuches /@l @d zu erzeugen.\n" #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n -#: e2fsck/problem.c:1435 +#: e2fsck/problem.c:1380 #, c-format msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n" -msgstr "ext2fs_new_dir_@b: %m während des Versuches, @d /@l zu erzeugen.\n" +msgstr "ext2fs_new_dir_@b: %m während des Versuches /@l @d zu erzeugen.\n" #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n -#: e2fsck/problem.c:1440 +#: e2fsck/problem.c:1385 #, c-format msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n" -msgstr "ext2fs_write_dir_@b: %m während des Schreibens des @d-@bs für /@l\n" +msgstr "ext2fs_write_dir_@b: %m während des Schreibens von @d @b für /@l\n" #. @-expanded: Error while adjusting inode count on inode %i\n -#: e2fsck/problem.c:1445 +#: e2fsck/problem.c:1390 #, c-format msgid "Error while adjusting @i count on @i %i\n" -msgstr "Fehler während des Anpassens der @i-Anzahl auf @i %i\n" +msgstr "Fehler während der Einstellung von @i count auf @i %i\n" #. @-expanded: Couldn't fix parent of inode %i: %m\n #. @-expanded: \n -#: e2fsck/problem.c:1450 +#: e2fsck/problem.c:1395 #, c-format msgid "" "Couldn't fix parent of @i %i: %m\n" "\n" msgstr "" -"Konnte den Eigentümer von @i %i nicht reparieren: %m\n" +"Konnte Parent von @i %i: %m nicht reparieren\n" "\n" #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n #. @-expanded: \n -#: e2fsck/problem.c:1455 +#: e2fsck/problem.c:1400 #, c-format msgid "" "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n" "\n" msgstr "" -"Eigentümer von @i %i konnte nicht repariert werden: \n" -"@deintrag des Eigentümers wurde nicht gefunden.\n" +"Parent von @i %i konnte nicht repariert werden: \n" +"parent @d nicht gefunden.\n" #. @-expanded: Error creating root directory (%s): %m\n -#: e2fsck/problem.c:1465 +#: e2fsck/problem.c:1410 #, c-format msgid "Error creating root @d (%s): %m\n" -msgstr "Fehler beim Erzeugen des Wurzelverzeichnisses (%s): %m\n" +msgstr "Fehler beim Erzeugen des root @d (%s): %m\n" #. @-expanded: Error creating /lost+found directory (%s): %m\n -#: e2fsck/problem.c:1470 +#: e2fsck/problem.c:1415 #, c-format msgid "Error creating /@l @d (%s): %m\n" -msgstr "Fehler beim Erzeugen des Verzeichnisses /@l (%s): %m\n" +msgstr "Fehler beim Erzeugen des /@l @d (%s): %m\n" #. @-expanded: root inode is not a directory; aborting.\n -#: e2fsck/problem.c:1475 +#: e2fsck/problem.c:1420 msgid "@r is not a @d; aborting.\n" -msgstr "die Wurzelinode ist kein @d; Abbruch.\n" +msgstr "@r ist kein @d; breche ab.\n" #. @-expanded: Cannot proceed without a root inode.\n -#: e2fsck/problem.c:1480 +#: e2fsck/problem.c:1425 msgid "Cannot proceed without a @r.\n" -msgstr "Ohne Wurzelinode ist weiteres Arbeiten nicht möglich.\n" +msgstr "Kann ohne @r nicht fortsetzen.\n" #. @-expanded: /lost+found is not a directory (ino=%i)\n -#: e2fsck/problem.c:1490 +#: e2fsck/problem.c:1435 #, c-format msgid "/@l is not a @d (ino=%i)\n" msgstr "/@l ist kein @d (ino=%i)\n" -#: e2fsck/problem.c:1497 +#: e2fsck/problem.c:1442 msgid "Pass 3A: Optimizing directories\n" msgstr "Durchgang 3A: Optimiere Verzeichnisse\n" -#: e2fsck/problem.c:1502 +#: e2fsck/problem.c:1447 #, c-format msgid "Failed to create dirs_to_hash iterator: %m\n" msgstr "dirs_to_hash Iterator konnte nicht erzeugt werden: %m\n" -#: e2fsck/problem.c:1507 +#: e2fsck/problem.c:1452 msgid "Failed to optimize directory %q (%d): %m\n" msgstr "Verzeichnis %q (%d) konnte nicht optimiert werden: %m\n" -#: e2fsck/problem.c:1512 +#: e2fsck/problem.c:1457 msgid "Optimizing directories: " msgstr "Optimiere Verzeichnisse: " -#: e2fsck/problem.c:1529 +#: e2fsck/problem.c:1474 msgid "Pass 4: Checking reference counts\n" msgstr "Durchgang 4: Ãœberprüfe die Referenzzähler\n" #. @-expanded: unattached zero-length inode %i. -#: e2fsck/problem.c:1534 +#: e2fsck/problem.c:1479 #, c-format msgid "@u @z @i %i. " -msgstr "@ue @I %i @z. " +msgstr "@I @o @i %i in @S. " #. @-expanded: unattached inode %i\n -#: e2fsck/problem.c:1539 +#: e2fsck/problem.c:1484 #, c-format msgid "@u @i %i\n" -msgstr "@ue @i %i\n" +msgstr "@u @i %i\n" #. @-expanded: inode %i ref count is %Il, should be %N. -#: e2fsck/problem.c:1544 +#: e2fsck/problem.c:1489 msgid "@i %i ref count is %Il, @s %N. " -msgstr "Der Referenzzähler von @i %i ist %Il, @s aber %N sein. " +msgstr "@i %i Referenzzähler ist %Il, @s %N. " #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n -#: e2fsck/problem.c:1548 +#: e2fsck/problem.c:1493 msgid "" "WARNING: PROGRAMMING BUG IN E2FSCK!\n" "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n" @@ -2409,147 +2372,150 @@ msgid "" msgstr "" "WARNUNG: PROGRAMMIERFEHLER IN E2FSCK!\n" "\tODER EIN TROTTEL (SIE) PRÃœFT EIN EINGEHÄNGTES (AKTIVES) DATEISYSTEM.\n" -"@i_link_info[%i] ist %N, @i.i_links_count ist %Il. Sie sollten identisch sein!\n" +"@i_link_info[%i] ist %N, @i.i_links_count ist %Il. Sie sollten identisch " +"sein!\n" #. @-expanded: Pass 5: Checking group summary information\n -#: e2fsck/problem.c:1558 +#: e2fsck/problem.c:1503 msgid "Pass 5: Checking @g summary information\n" -msgstr "Durchgang 5: Ãœberprüfe die zusammengefasste Gruppeninformation\n" +msgstr "Durchgang 5: Ãœberprüfe @g Zusammenfassung\n" #. @-expanded: Padding at end of inode bitmap is not set. -#: e2fsck/problem.c:1563 +#: e2fsck/problem.c:1508 msgid "Padding at end of @i @B is not set. " msgstr "Auffüllbyte am Ende von @i @B ist nicht gesetzt. " #. @-expanded: Padding at end of block bitmap is not set. -#: e2fsck/problem.c:1568 +#: e2fsck/problem.c:1513 msgid "Padding at end of @b @B is not set. " msgstr "Auffüllbyte am Ende von @b @B ist nicht gesetzt. " #. @-expanded: block bitmap differences: -#: e2fsck/problem.c:1573 +#: e2fsck/problem.c:1518 msgid "@b @B differences: " -msgstr "Unterschiede in der @b-@B: " +msgstr "@b @B differieren: " #. @-expanded: inode bitmap differences: -#: e2fsck/problem.c:1593 +#: e2fsck/problem.c:1538 msgid "@i @B differences: " -msgstr "Unterschiede in der @i-@B: " +msgstr "@i @B differieren: " #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1613 +#: e2fsck/problem.c:1558 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n" msgstr "Die Anzahl freier @is ist falsch für @g #%g (%i, gezählt=%j).\n" #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1618 +#: e2fsck/problem.c:1563 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n" -msgstr "Die Anzahl der Verzeichnisse ist falsch für @g #%g (%i, gezählt=%j).\n" +msgstr "Die Anzahl Verzeichnisse ist falsch für @g #%g (%i, gezählt=%j).\n" #. @-expanded: Free inodes count wrong (%i, counted=%j).\n -#: e2fsck/problem.c:1623 +#: e2fsck/problem.c:1568 msgid "Free @is count wrong (%i, counted=%j).\n" msgstr "Die Anzahl freier @is ist falsch (%i, gezählt=%j).\n" #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n -#: e2fsck/problem.c:1628 +#: e2fsck/problem.c:1573 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n" msgstr "Die Anzahl freier Blöcke in @g #%g ist falsch (%b, gezählt=%c).\n" #. @-expanded: Free blocks count wrong (%b, counted=%c).\n -#: e2fsck/problem.c:1633 +#: e2fsck/problem.c:1578 msgid "Free @bs count wrong (%b, counted=%c).\n" msgstr "Die Anzahl freier Blöcke ist falsch (%b, gezählt=%c).\n" #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap #. @-expanded: endpoints (%i, %j)\n -#: e2fsck/problem.c:1638 -msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n" -msgstr "PROGRAMMIERFEHLER: Dateisystem (#%N) @B-Endpunkte (%b, %c) passen nicht mit den berechneten @B-Endpunkten (%i, %j) überein\n" +#: e2fsck/problem.c:1583 +msgid "" +"PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B " +"endpoints (%i, %j)\n" +msgstr "" +"PROGRAMMIERFEHLER: @f (#%N) @B Endpunkte (%b, %c) passen nicht zu den " +"berechneten @B Endpunkten (%i, %j)\n" -#: e2fsck/problem.c:1644 +#: e2fsck/problem.c:1589 msgid "Internal error: fudging end of bitmap (%N)\n" -msgstr "Interner Fehler: das Ende der Bitmap (%N) wird erraten\n" +msgstr "Interner Fehler: fudging end of bitmap (%N)\n" #. @-expanded: Error copying in replacement inode bitmap: %m\n -#: e2fsck/problem.c:1649 +#: e2fsck/problem.c:1594 #, c-format msgid "Error copying in replacement @i @B: %m\n" msgstr "Fehler beim hineinkopieren von @i @B: %m\n" #. @-expanded: Error copying in replacement block bitmap: %m\n -#: e2fsck/problem.c:1654 +#: e2fsck/problem.c:1599 #, c-format msgid "Error copying in replacement @b @B: %m\n" -msgstr "Fehler beim Hineinkopieren der Ersatz-Blockbitmap: %m\n" +msgstr "Fehler beim hineinkopieren von @b @B: %m\n" #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n -#: e2fsck/problem.c:1679 +#: e2fsck/problem.c:1624 #, c-format msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n" -msgstr "Blöcke von @g %g sind in Beutzung, obwohl @g als BLOCK_UNINIT markiert ist\n" +msgstr "" +"Blöcke von @g %g sind in Beutzung obwohl @g als BLOCK_UNINIT markiert ist\n" #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n -#: e2fsck/problem.c:1684 +#: e2fsck/problem.c:1629 #, c-format msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n" -msgstr "Die @isw der @g %g sind in Benutzung, obwohl @g als INODE_UNINIT markiert ist\n" +msgstr "" +"@g %g @i(s) sind in Benutzung obwohl @g als INODE_UNINIT markiert ist\n" #. @-expanded: Recreate journal -#: e2fsck/problem.c:1691 +#: e2fsck/problem.c:1636 msgid "Recreate @j" -msgstr "@j wird wiederhergestellt" - -#: e2fsck/problem.c:1696 -msgid "Update quota info for quota type %N" -msgstr "Quota-Info für Typ %N wird aktualisiert" +msgstr "@j zurücksetzen" -#: e2fsck/problem.c:1815 +#: e2fsck/problem.c:1755 #, c-format msgid "Unhandled error code (0x%x)!\n" msgstr "Unbenutzter Fehlercode (0x%x)!\n" -#: e2fsck/problem.c:1940 e2fsck/problem.c:1944 +#: e2fsck/problem.c:1850 msgid "IGNORED" msgstr "IGNORIERT" -#: e2fsck/scantest.c:79 +#: e2fsck/scantest.c:81 #, c-format msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n" msgstr "benutzter Speicher: %d, vergangende Zeit: %6.3f/%6.3f/%6.3f\n" -#: e2fsck/scantest.c:98 +#: e2fsck/scantest.c:100 #, c-format msgid "size of inode=%d\n" -msgstr "Größe der Inode=%d\n" +msgstr "Größe des Inode=%d\n" -#: e2fsck/scantest.c:119 +#: e2fsck/scantest.c:121 msgid "while starting inode scan" msgstr "beim Starten der Inodeprüfung" -#: e2fsck/scantest.c:130 +#: e2fsck/scantest.c:132 msgid "while doing inode scan" msgstr "während der Inodeprüfung" -#: e2fsck/super.c:188 +#: e2fsck/super.c:187 #, c-format msgid "while calling ext2fs_block_iterate for inode %d" msgstr "während des Aufrufs von ext2fs_block_iterate für Inode %d" -#: e2fsck/super.c:211 +#: e2fsck/super.c:209 #, c-format -msgid "while calling ext2fs_adjust_ea_refcount2 for inode %d" -msgstr "während des Aufrufs von ext2fs_adjust_ea_refcount2 für Inode %d" +msgid "while calling ext2fs_adjust_ea_refcount for inode %d" +msgstr "während des Aufrufs von ext2fs_adjust_ea_refcount für Inode %d" -#: e2fsck/super.c:272 +#: e2fsck/super.c:267 msgid "Truncating" -msgstr "Kürzen" +msgstr "Kürze" -#: e2fsck/super.c:273 +#: e2fsck/super.c:268 msgid "Clearing" -msgstr "Bereinigen" +msgstr "Bereinige" -#: e2fsck/unix.c:74 +#: e2fsck/unix.c:76 #, c-format msgid "" "Usage: %s [-panyrcdfvtDFV] [-b superblock] [-B blocksize]\n" @@ -2562,7 +2528,7 @@ msgstr "" "\t\t[-l|-L Bad_Blocks_Datei] [-C Dateideskriptor] [-j externes_Journal]\n" "\t\t[-E erweiterte_Optionen] Gerät\n" -#: e2fsck/unix.c:80 +#: e2fsck/unix.c:82 #, c-format msgid "" "\n" @@ -2570,18 +2536,19 @@ msgid "" " -p Automatic repair (no questions)\n" " -n Make no changes to the filesystem\n" " -y Assume \"yes\" to all questions\n" -" -c Check for bad blocks and add them to the badblock list\n" +" -c Check for bad blocks and add them to the badblock " +"list\n" " -f Force checking even if filesystem is marked clean\n" msgstr "" "\n" -"Notfallhilfe:\n" +"Notfallhile:\n" " -p automatische Reparatur (keine Fragen)\n" " -n keine Veränderungen am Dateisystem vornehmen\n" " -y \" Ja \" auf alle Fragen annehmen\n" " -c suche nach defekten Blöcken\n" " -f erzwinge die Ãœberprüfung auch wenn alles i.O. erscheint\n" -#: e2fsck/unix.c:86 +#: e2fsck/unix.c:88 #, c-format msgid "" " -v Be verbose\n" @@ -2598,165 +2565,38 @@ msgstr "" " -l bad_blocks_file zur Liste der defekten Blöcke hinzufügen\n" " -L bad_blocks_file Liste der defekten Blöcke definieren\n" -#: e2fsck/unix.c:131 -#, c-format -msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n" -msgstr "%s: %u/%u Dateien (%0d.%d%% nicht zusammenhängend), %llu/%llu Blöcke\n" - -#: e2fsck/unix.c:157 -#, c-format -msgid "" -"\n" -"%12u inode used (%2.2f%%, out of %u)\n" -msgid_plural "" -"\n" -"%12u inodes used (%2.2f%%, out of %u)\n" -msgstr[0] "" -"\n" -"%12u Inode ist in Benutzung (%2.2f%% von %u)\n" -msgstr[1] "" -"\n" -"%12u Inodes sind in Benutzung (%2.2f%% von %u)\n" - -#: e2fsck/unix.c:161 -#, c-format -msgid "%12u non-contiguous file (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous files (%0d.%d%%)\n" -msgstr[0] "%12u nicht zusammenhängende Datei (%0d.%d%%)\n" -msgstr[1] "%12u nicht zusammenhängende Dateien (%0d.%d%%)\n" - -#: e2fsck/unix.c:166 +#: e2fsck/unix.c:132 #, c-format -msgid "%12u non-contiguous directory (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n" -msgstr[0] "%12u nicht zusammenhängendes Verzeichnis (%0d.%d%%)\n" -msgstr[1] "%12u nicht zusammenhängende Verzeichnisse (%0d.%d%%)\n" +msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n" +msgstr "%s: %u/%u Dateien (%0d.%d%% nicht zusammenhängend), %u/%u Blöcke\n" -#: e2fsck/unix.c:171 +#: e2fsck/unix.c:150 #, c-format -msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" +msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" msgstr " # von Inodes mit ind/dind/tind Blöcken: %u/%u/%u\n" -#: e2fsck/unix.c:179 -msgid " Extent depth histogram: " -msgstr " Histogramm der Tiefe von Erweiterungen: " - -#: e2fsck/unix.c:188 -#, c-format -msgid "%12llu block used (%2.2f%%, out of %llu)\n" -msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n" -msgstr[0] "%12llu Block wird benutzt (%2.2f%% von %llu)\n" -msgstr[1] "%12llu Blöcke werden benutzt (%2.2f%% von %llu)\n" - -#: e2fsck/unix.c:192 -#, c-format -msgid "%12u bad block\n" -msgid_plural "%12u bad blocks\n" -msgstr[0] "%12u ungültiger Block\n" -msgstr[1] "%12u ungültige Blöcke\n" - -#: e2fsck/unix.c:194 -#, c-format -msgid "%12u large file\n" -msgid_plural "%12u large files\n" -msgstr[0] "%12u große Datei\n" -msgstr[1] "%12u große Dateien\n" - -#: e2fsck/unix.c:196 -#, c-format -msgid "" -"\n" -"%12u regular file\n" -msgid_plural "" -"\n" -"%12u regular files\n" -msgstr[0] "" -"\n" -"%12u reguläre Datei\n" -msgstr[1] "" -"\n" -"%12u reguläre Dateien\n" - -#: e2fsck/unix.c:198 -#, c-format -msgid "%12u directory\n" -msgid_plural "%12u directories\n" -msgstr[0] "%12u Verzeichnis\n" -msgstr[1] "%12u Verzeichnisse\n" - -#: e2fsck/unix.c:200 -#, c-format -msgid "%12u character device file\n" -msgid_plural "%12u character device files\n" -msgstr[0] "%12u zeichenorientierte Gerätedatei\n" -msgstr[1] "%12u zeichenorientierte Gerätedateien\n" - -#: e2fsck/unix.c:203 -#, c-format -msgid "%12u block device file\n" -msgid_plural "%12u block device files\n" -msgstr[0] "%12u Blockgerätedatei\n" -msgstr[1] "%12u Blockgerätedateien\n" - -#: e2fsck/unix.c:205 -#, c-format -msgid "%12u fifo\n" -msgid_plural "%12u fifos\n" -msgstr[0] "%12u Fifo\n" -msgstr[1] "%12u Fifos\n" - -#: e2fsck/unix.c:207 -#, c-format -msgid "%12u link\n" -msgid_plural "%12u links\n" -msgstr[0] "%12u Verknüpfung\n" -msgstr[1] "%12u Verknüpfungen\n" - -#: e2fsck/unix.c:210 -#, c-format -msgid "%12u symbolic link" -msgid_plural "%12u symbolic links" -msgstr[0] "%12u symbolische Verknüpfung" -msgstr[1] "%12u symbolische Verknüpfungen" - -#: e2fsck/unix.c:212 -#, c-format -msgid " (%u fast symbolic link)\n" -msgid_plural " (%u fast symbolic links)\n" -msgstr[0] " (%u schnelle symbolische Verknüpfung)\n" -msgstr[1] " (%u schnelle symbolische Verknüpfungen)\n" - -#: e2fsck/unix.c:216 -#, c-format -msgid "%12u socket\n" -msgid_plural "%12u sockets\n" -msgstr[0] "%12u Socket\n" -msgstr[1] "%12u Sockets\n" - -#: e2fsck/unix.c:220 +#: e2fsck/unix.c:157 #, c-format -msgid "%12u file\n" -msgid_plural "%12u files\n" -msgstr[0] "%12u Datei\n" -msgstr[1] "%12u Dateien\n" +msgid " Extent depth histogram: " +msgstr " Erweiterungstiefe Histogramm: " -#: e2fsck/unix.c:234 misc/badblocks.c:983 misc/tune2fs.c:1970 misc/util.c:147 -#: resize/main.c:247 +#: e2fsck/unix.c:207 misc/badblocks.c:928 misc/tune2fs.c:1625 misc/util.c:151 +#: resize/main.c:249 #, c-format msgid "while determining whether %s is mounted." msgstr "bei der Prüfung, ob %s eingehängt ist." -#: e2fsck/unix.c:254 +#: e2fsck/unix.c:225 #, c-format -msgid "Warning! %s is %s.\n" -msgstr "Warnung! %s ist %s.\n" +msgid "Warning! %s is mounted.\n" +msgstr "Warnung! %s ist eingehängt.\n" -#: e2fsck/unix.c:261 +#: e2fsck/unix.c:229 #, c-format -msgid "%s is %s.\n" -msgstr "%s ist %s.\n" +msgid "%s is mounted. " +msgstr "%s ist eingehängt. " -#: e2fsck/unix.c:264 +#: e2fsck/unix.c:231 msgid "" "Cannot continue, aborting.\n" "\n" @@ -2764,93 +2604,97 @@ msgstr "" "Fortsetzung nicht möglich, breche ab.\n" "\n" -#: e2fsck/unix.c:266 +#: e2fsck/unix.c:232 +#, c-format msgid "" "\n" "\n" -"WARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" -"cause ***SEVERE*** filesystem damage.\n" +"\a\a\a\aWARNING!!! The filesystem is mounted. If you continue you " +"***WILL***\n" +"cause ***SEVERE*** filesystem damage.\a\a\a\n" "\n" msgstr "" "\n" "\n" -"WARNUNG!!! Das Dateisystem ist eingehängt, Wenn Sie fortfahren, ***WERDEN***\n" -"Sie ***SCHWERWIEGENDE*** Schäden am Dateisystem verursachen.\n" +"\a\a\a\aWARNUNG!!! Die Benutzung von e2fsck auf einem eingehängten\n" +"Dateisystem führt zu SCHWERWIEGENDEN SCHÄDEN im Dateisystem.\n" "\n" -#: e2fsck/unix.c:271 +#: e2fsck/unix.c:235 msgid "Do you really want to continue" msgstr "Wirklich fortfahren" -#: e2fsck/unix.c:273 +#: e2fsck/unix.c:237 #, c-format msgid "check aborted.\n" msgstr "Prüfung abgebrochen.\n" -#: e2fsck/unix.c:363 +#: e2fsck/unix.c:315 msgid " contains a file system with errors" msgstr " enthält ein fehlerhaftes Dateisystem" -#: e2fsck/unix.c:365 +#: e2fsck/unix.c:317 msgid " was not cleanly unmounted" msgstr " wurde nicht ordnungsgemäß ausgehängt" -#: e2fsck/unix.c:367 +#: e2fsck/unix.c:319 msgid " primary superblock features different from backup" msgstr "Eigenschaften des primären Superblocks unterscheiden sich vom Backup" -#: e2fsck/unix.c:371 +#: e2fsck/unix.c:323 #, c-format msgid " has been mounted %u times without being checked" msgstr " wurde %u mal ohne Ãœberprüfung eingehängt" -#: e2fsck/unix.c:378 +#: e2fsck/unix.c:330 msgid " has filesystem last checked time in the future" -msgstr " hat einen in der Zukunft liegenden Zeitpunkt der letzten Püfung des Dateisystems" +msgstr "" +" hat einen in der Zukunft liegenden Zeitpunkt der letzten Püfung des " +"Dateisystems" -#: e2fsck/unix.c:384 +#: e2fsck/unix.c:336 #, c-format msgid " has gone %u days without being checked" msgstr " wurde %u Tage ohne Ãœberprüfung genutzt" -#: e2fsck/unix.c:393 +#: e2fsck/unix.c:345 msgid ", check forced.\n" msgstr ", Prüfung erzwungen.\n" -#: e2fsck/unix.c:426 +#: e2fsck/unix.c:348 #, c-format -msgid "%s: clean, %u/%u files, %llu/%llu blocks" -msgstr "%s: sauber, %u/%u Dateien, %llu/%llu Blöcke" +msgid "%s: clean, %u/%u files, %u/%u blocks" +msgstr "%s: sauber, %u/%u Dateien, %u/%u Blöcke" -#: e2fsck/unix.c:445 +#: e2fsck/unix.c:365 msgid " (check deferred; on battery)" msgstr " (Prüfung nach nächstem Einhängen)" -#: e2fsck/unix.c:448 +#: e2fsck/unix.c:368 msgid " (check after next mount)" msgstr " (Prüfung nach nächstem Einhängen)" -#: e2fsck/unix.c:450 +#: e2fsck/unix.c:370 #, c-format msgid " (check in %ld mounts)" msgstr " (Prüfung nach %ld Einhängevorgängen)" -#: e2fsck/unix.c:600 +#: e2fsck/unix.c:517 #, c-format msgid "ERROR: Couldn't open /dev/null (%s)\n" msgstr "Fehler: Kann /dev/null (%s) nicht öffnen\n" -#: e2fsck/unix.c:669 +#: e2fsck/unix.c:587 #, c-format msgid "Invalid EA version.\n" msgstr "Invalid EA version.\n" -#: e2fsck/unix.c:696 +#: e2fsck/unix.c:596 #, c-format msgid "Unknown extended option: %s\n" msgstr "Unbekannte erweiterte Option: %s\n" -#: e2fsck/unix.c:721 +#: e2fsck/unix.c:618 #, c-format msgid "" "Syntax error in e2fsck config file (%s, line #%d)\n" @@ -2859,55 +2703,55 @@ msgstr "" "Syntaxfehler in der Konfigurationsdatei von e2fsck (%s, Zeile %d)\n" "\t%s\n" -#: e2fsck/unix.c:790 +#: e2fsck/unix.c:686 #, c-format msgid "Error validating file descriptor %d: %s\n" msgstr "Fehler bei Ãœberprüfung des Datei-Deskriptors %d: %s\n" -#: e2fsck/unix.c:794 +#: e2fsck/unix.c:690 msgid "Invalid completion information file descriptor" -msgstr "Ungültiger „completion information“-Datei-Deskriptor" +msgstr "Ungültiger »completion information«-Datei-Deskriptor" -#: e2fsck/unix.c:809 +#: e2fsck/unix.c:705 msgid "Only one of the options -p/-a, -n or -y may be specified." msgstr "Nur eine der Optionen -p/-a, -n oder -y darf angegeben werden." -#: e2fsck/unix.c:830 +#: e2fsck/unix.c:726 #, c-format msgid "The -t option is not supported on this version of e2fsck.\n" msgstr "Die -t Option wird von dieser e2fsck-Version nicht unterstützt.\n" -#: e2fsck/unix.c:861 e2fsck/unix.c:933 misc/tune2fs.c:802 misc/tune2fs.c:1091 -#: misc/tune2fs.c:1109 -#, c-format -msgid "Unable to resolve '%s'" -msgstr "Nicht möglich „%s“ aufzulösen" - -#: e2fsck/unix.c:912 +#: e2fsck/unix.c:801 msgid "The -n and -D options are incompatible." msgstr "Die Optionen -n und -D schliessen sich gegenseitig aus." -#: e2fsck/unix.c:917 +#: e2fsck/unix.c:806 msgid "The -n and -c options are incompatible." msgstr "Die Optionen -n und -c schliessen sich gegenseitig aus." -#: e2fsck/unix.c:922 +#: e2fsck/unix.c:811 msgid "The -n and -l/-L options are incompatible." msgstr "Die Optionen -n und -l/-L schliessen sich gegenseitig aus." -#: e2fsck/unix.c:976 +#: e2fsck/unix.c:822 misc/tune2fs.c:550 misc/tune2fs.c:835 misc/tune2fs.c:853 +#, c-format +msgid "Unable to resolve '%s'" +msgstr "Nicht möglich »%s« aufzulösen" + +#: e2fsck/unix.c:851 #, c-format msgid "The -c and the -l/-L options may not be both used at the same time.\n" -msgstr "Die -c und -l/-L Optionen dürfen nicht gleichzeitig verwendet werden.\n" +msgstr "" +"Die -c und -l/-L Optionen dürfen nicht gleichzeitig verwendet werden.\n" -#: e2fsck/unix.c:1024 +#: e2fsck/unix.c:899 #, c-format msgid "" "E2FSCK_JBD_DEBUG \"%s\" not an integer\n" "\n" msgstr "2FSCK_JBD_DEBUG \"%s\" ist keine Ganzzahl\n" -#: e2fsck/unix.c:1033 +#: e2fsck/unix.c:908 #, c-format msgid "" "\n" @@ -2918,68 +2762,44 @@ msgstr "" "Ungültiges nicht-numerisches Argument für -%c (\"%s\")\n" "\n" -#: e2fsck/unix.c:1122 -#, c-format -msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n" -msgstr "" -"MMP Intervall ist %u Sekunden und die gesammte Wartezeit ist %u Sekunden.\n" -"Bitte warten...\n" - -#: e2fsck/unix.c:1139 e2fsck/unix.c:1144 -msgid "while checking MMP block" -msgstr "beim Prüfen des MMP-Blocks" - -#: e2fsck/unix.c:1146 misc/tune2fs.c:1903 -msgid "" -"If you are sure the filesystem is not in use on any node, run:\n" -"'tune2fs -f -E clear_mmp {device}'\n" -msgstr "" -"Wenn Sie sicher sind, daß das Dateisystem auf keinem Knoten benutzt wird,\n" -"starten Sie bitte:\n" -"„tune2fs -f -E clear_mmp {device}“\n" - -#: e2fsck/unix.c:1196 +#: e2fsck/unix.c:982 #, c-format msgid "Error: ext2fs library version out of date!\n" msgstr "Fehler: ext2fs-Bibliotheks-Version ist zu alt!\n" -#: e2fsck/unix.c:1204 +#: e2fsck/unix.c:990 msgid "while trying to initialize program" msgstr "bei der Programminitialisierung" -#: e2fsck/unix.c:1227 +#: e2fsck/unix.c:1001 #, c-format msgid "\tUsing %s, %s\n" msgstr "\tBenutze %s, %s\n" -#: e2fsck/unix.c:1239 +#: e2fsck/unix.c:1013 msgid "need terminal for interactive repairs" msgstr "Benötige ein Terminal für interaktive Reparaturen" -#: e2fsck/unix.c:1292 +#: e2fsck/unix.c:1046 #, c-format msgid "%s: %s trying backup blocks...\n" msgstr "%s: %s versuche es mit Backup-Blöcken...\n" -#: e2fsck/unix.c:1294 +#: e2fsck/unix.c:1048 msgid "Superblock invalid," msgstr "Superblock ungültig" -#: e2fsck/unix.c:1295 +#: e2fsck/unix.c:1049 msgid "Group descriptors look bad..." msgstr "Gruppen-Deskriptoren scheinen defekt zu sein..." -#: e2fsck/unix.c:1305 -#, c-format -msgid "%s: %s while using the backup blocks" -msgstr "%s: %s beim Benutzen der Backup-Blöcke" - -#: e2fsck/unix.c:1309 +#: e2fsck/unix.c:1059 #, c-format msgid "%s: going back to original superblock\n" msgstr "%s: es wird zum originalen Superblock zurück gekehrt\n" -#: e2fsck/unix.c:1337 +#: e2fsck/unix.c:1086 +#, c-format msgid "" "The filesystem revision is apparently too high for this version of e2fsck.\n" "(Or the filesystem superblock is corrupt)\n" @@ -2989,31 +2809,32 @@ msgstr "" "von e2fsck (oder der Dateisystem-Superblock ist defekt).\n" "\n" -#: e2fsck/unix.c:1343 +#: e2fsck/unix.c:1092 +#, c-format msgid "Could this be a zero-length partition?\n" msgstr "Könnte es eine Partion der Länge Null sein?\n" -#: e2fsck/unix.c:1346 +#: e2fsck/unix.c:1094 #, c-format msgid "You must have %s access to the filesystem or be root\n" msgstr "Sie benötigen %s- oder root-Rechte für das Dateisystem.\n" -#: e2fsck/unix.c:1351 +#: e2fsck/unix.c:1099 +#, c-format msgid "Possibly non-existent or swap device?\n" -msgstr "Möglicherweise ist die Partition nicht vorhanden oder eine Swap-Partition?\n" +msgstr "" +"Möglicherweise ist die Partition nicht vorhanden oder eine Swap-Partition?\n" -#: e2fsck/unix.c:1354 +#: e2fsck/unix.c:1101 +#, c-format msgid "Filesystem mounted or opened exclusively by another program?\n" msgstr "" "Ist das Dateisystem eingehängt or exklusiv von einem anderen Programm\n" "\n" "geöffnet worden?\n" -#: e2fsck/unix.c:1357 -msgid "Possibly non-existent device?\n" -msgstr "Ist das Gerät möglicherweise nicht vorhanden?\n" - -#: e2fsck/unix.c:1360 +#: e2fsck/unix.c:1105 +#, c-format msgid "" "Disk write-protected; use the -n option to do a read-only\n" "check of the device.\n" @@ -3021,67 +2842,85 @@ msgstr "" "Laufwerk ist schreibgeschützt, nutzen Sie die -n Option\n" "um es im Nur-Lesen-Modus zu prüfen.\n" -#: e2fsck/unix.c:1425 +#: e2fsck/unix.c:1169 msgid "Get a newer version of e2fsck!" msgstr "Neuere Version von e2fsck benötigt!" -#: e2fsck/unix.c:1469 +#: e2fsck/unix.c:1199 #, c-format msgid "while checking ext3 journal for %s" msgstr "während der Prüfung des ext3-Journals für %s" -#: e2fsck/unix.c:1480 -msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n" -msgstr "Warnung: Ãœberspringe Journal-Wiederherstellung, da das Dateisystem im Nur-Lesen-Modus ist.\n" +#: e2fsck/unix.c:1210 +#, c-format +msgid "" +"Warning: skipping journal recovery because doing a read-only filesystem " +"check.\n" +msgstr "" +"Warnung: Ãœberspringe Journal-Wiederherstellung, da das Dateisystem im Nur-" +"Lesen-Modus ist.\n" -#: e2fsck/unix.c:1493 +#: e2fsck/unix.c:1223 #, c-format msgid "unable to set superblock flags on %s\n" msgstr "Superblock-Flags konntan auf %s nicht gesetzt werden\n" -#: e2fsck/unix.c:1499 +#: e2fsck/unix.c:1229 #, c-format msgid "while recovering ext3 journal of %s" msgstr "bei der Wiederherstellung des ext3-Journals von %s" -#: e2fsck/unix.c:1523 +#: e2fsck/unix.c:1254 #, c-format msgid "%s has unsupported feature(s):" msgstr "%s besitzt nicht unterstützte Eigenschaft(en):" -#: e2fsck/unix.c:1538 -#, c-format -msgid "%s: warning: compression support is experimental.\n" -msgstr "%s: Warnung: Die Kompressionsunterstützung ist experimentell.\n" +#: e2fsck/unix.c:1270 +msgid "Warning: compression support is experimental.\n" +msgstr "Warnung: Die Kompressionsunterstützung ist experimentell.\n" -#: e2fsck/unix.c:1544 +#: e2fsck/unix.c:1275 #, c-format msgid "" -"%s: e2fsck not compiled with HTREE support,\n" +"E2fsck not compiled with HTREE support,\n" "\tbut filesystem %s has HTREE directories.\n" msgstr "" -"%s: e2fsck wurde ohne Unterstützung für HTREE kompiliert,\n" +"Die Unterstützung für HTREE wurde in e2fsck nicht aktiviert,\n" "\taber das Dateisystem %s besitzt HTREE Verzeichnisse.\n" -#: e2fsck/unix.c:1596 -#, c-format -msgid "%s: %s while reading bad blocks inode\n" -msgstr "%s: %s beim Lesen des Bad-Block-Inodes\n" +#: e2fsck/unix.c:1328 +msgid "while reading bad blocks inode" +msgstr "beim Lesen des Bad-Block-Inodes" -#: e2fsck/unix.c:1599 +#: e2fsck/unix.c:1330 +#, c-format msgid "This doesn't bode well, but we'll try to go on...\n" msgstr "Das verheißt nichts gutes, aber wir versuchen es trotzdem ..\n" -#: e2fsck/unix.c:1640 +#: e2fsck/unix.c:1356 +msgid "Couldn't determine journal size" +msgstr "Konnte die Größe des Dateisystems nicht ermitteln" + +#: e2fsck/unix.c:1359 #, c-format msgid "Creating journal (%d blocks): " msgstr "Erstelle Journal (%d Blöcke): " -#: e2fsck/unix.c:1650 +#: e2fsck/unix.c:1366 misc/mke2fs.c:2248 +msgid "" +"\n" +"\twhile trying to create journal" +msgstr "" +"\n" +"\tbeim Erstellen des Journals" + +#: e2fsck/unix.c:1369 +#, c-format msgid " Done.\n" msgstr " Erledigt.\n" -#: e2fsck/unix.c:1651 +#: e2fsck/unix.c:1370 +#, c-format msgid "" "\n" "*** journal has been re-created - filesystem is now ext3 again ***\n" @@ -3089,24 +2928,25 @@ msgstr "" "\n" "*** Journal wurde wiederhergestellt - Dateisystem ist nun wieder ext3 ***\n" -#: e2fsck/unix.c:1674 +#: e2fsck/unix.c:1377 +#, c-format msgid "Restarting e2fsck from the beginning...\n" msgstr "Beginne e2fsck neu ...\n" -#: e2fsck/unix.c:1678 +#: e2fsck/unix.c:1381 msgid "while resetting context" msgstr "beim Rücksetzen des Kontexts" -#: e2fsck/unix.c:1685 +#: e2fsck/unix.c:1388 #, c-format msgid "%s: e2fsck canceled.\n" -msgstr "%s: e2fsck abgebrochen.\n" +msgstr "%s: e2fsck abgebrochhen.\n" -#: e2fsck/unix.c:1690 +#: e2fsck/unix.c:1393 msgid "aborted" msgstr "abgebrochen" -#: e2fsck/unix.c:1702 e2fsck/util.c:67 +#: e2fsck/unix.c:1405 #, c-format msgid "" "\n" @@ -3115,12 +2955,12 @@ msgstr "" "\n" "%s: ***** DATEISYSTEM WURDE VERÄNDERT *****\n" -#: e2fsck/unix.c:1706 +#: e2fsck/unix.c:1408 #, c-format msgid "%s: ***** REBOOT LINUX *****\n" msgstr "%s: ***** LINUX MUSS NEU GESTARTET WERDEN *****\n" -#: e2fsck/unix.c:1714 e2fsck/util.c:73 +#: e2fsck/unix.c:1416 #, c-format msgid "" "\n" @@ -3131,43 +2971,43 @@ msgstr "" "%s: ********** WARNUNG: Noch Fehler im Dateisystem **********\n" "\n" -#: e2fsck/unix.c:1754 +#: e2fsck/unix.c:1454 msgid "while setting block group checksum info" msgstr "beim Setzen der Blockgruppen-Prüfsummeninfo" -#: e2fsck/util.c:189 misc/util.c:70 +#: e2fsck/util.c:138 misc/util.c:68 msgid "yY" msgstr "jJ" -#: e2fsck/util.c:190 +#: e2fsck/util.c:139 msgid "nN" msgstr "nN" -#: e2fsck/util.c:204 +#: e2fsck/util.c:153 msgid "" msgstr "" -#: e2fsck/util.c:206 +#: e2fsck/util.c:155 msgid "" msgstr "" -#: e2fsck/util.c:208 +#: e2fsck/util.c:157 msgid " (y/n)" msgstr " (j/n)" -#: e2fsck/util.c:222 +#: e2fsck/util.c:172 msgid "cancelled!\n" msgstr "abgebrochen!\n" -#: e2fsck/util.c:237 +#: e2fsck/util.c:187 msgid "yes\n" msgstr "ja\n" -#: e2fsck/util.c:239 +#: e2fsck/util.c:189 msgid "no\n" msgstr "nein\n" -#: e2fsck/util.c:249 +#: e2fsck/util.c:199 #, c-format msgid "" "%s? no\n" @@ -3176,7 +3016,7 @@ msgstr "" "%s? nein\n" "\n" -#: e2fsck/util.c:253 +#: e2fsck/util.c:203 #, c-format msgid "" "%s? yes\n" @@ -3185,38 +3025,40 @@ msgstr "" "%s? ja\n" "\n" -#: e2fsck/util.c:257 +#: e2fsck/util.c:207 msgid "yes" msgstr "ja" -#: e2fsck/util.c:257 +#: e2fsck/util.c:207 msgid "no" msgstr "nein" -#: e2fsck/util.c:272 +#: e2fsck/util.c:221 #, c-format msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s" msgstr "e2fsck_read_bitmaps: illegal bitmap block(s) für %s" -#: e2fsck/util.c:277 +#: e2fsck/util.c:226 msgid "reading inode and block bitmaps" msgstr "lese Inode und Block bitmaps" -#: e2fsck/util.c:285 +#: e2fsck/util.c:231 #, c-format msgid "while retrying to read bitmaps for %s" msgstr "während des wiederholten Versuches, Bitmaps für %s einzulesen" -#: e2fsck/util.c:297 +#: e2fsck/util.c:243 msgid "writing block and inode bitmaps" msgstr "Schreibe Block- und Inode-Bitmaps" -#: e2fsck/util.c:302 +#: e2fsck/util.c:248 #, c-format msgid "while rewriting block and inode bitmaps for %s" -msgstr "während des wiederholten Versuches, Block- und Inode-Bitmaps für %s zu schreiben." +msgstr "" +"während des wiederholten Versuches, Block- und Inode-Bitmaps für %s zu " +"schreiben." -#: e2fsck/util.c:314 +#: e2fsck/util.c:260 #, c-format msgid "" "\n" @@ -3229,63 +3071,61 @@ msgstr "" "%s: UNERWARTETE INKONSISTENZ; fsck MANUELL AUSFÃœHREN\n" "\t(d.h. ohne -a oder -p Option)\n" -#: e2fsck/util.c:395 +#: e2fsck/util.c:341 #, c-format msgid "Memory used: %luk/%luk (%luk/%luk), " msgstr "Benutzter Speicher: %luk/%luk (%luk/%luk), " -#: e2fsck/util.c:399 +#: e2fsck/util.c:345 #, c-format msgid "Memory used: %lu, " msgstr "Benutzter Speicher: %lu, " -#: e2fsck/util.c:406 +#: e2fsck/util.c:352 #, c-format msgid "time: %5.2f/%5.2f/%5.2f\n" msgstr "Zeit: %5.2f/%5.2f/%5.2f\n" -#: e2fsck/util.c:411 +#: e2fsck/util.c:357 #, c-format msgid "elapsed time: %6.3f\n" msgstr "abgelaufende Zeit: %6.3f\n" -#: e2fsck/util.c:446 e2fsck/util.c:460 +#: e2fsck/util.c:391 e2fsck/util.c:405 #, c-format msgid "while reading inode %lu in %s" msgstr "beim Lesen von Inode %lu in %s" -#: e2fsck/util.c:474 e2fsck/util.c:487 +#: e2fsck/util.c:419 e2fsck/util.c:432 #, c-format msgid "while writing inode %lu in %s" msgstr "beim Schreiben von Inode %lu in %s" -#: e2fsck/util.c:636 +#: e2fsck/util.c:581 msgid "while allocating zeroizing buffer" msgstr "beim reservieren eines Puffers zum Nullen" -#: e2fsck/util.c:788 -msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n" -msgstr "UNERWARTETE INKONSISTENZ: das Dateisystem wird modifiziert während fsck läuft.\n" +#: misc/badblocks.c:66 +msgid "done \n" +msgstr "erledigt \n" -#: misc/badblocks.c:69 -msgid "done \n" -msgstr "erledigt \n" - -#: misc/badblocks.c:93 +#: misc/badblocks.c:89 #, c-format msgid "" "Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnf]\n" -" [-c blocks_at_once] [-d delay_factor_between_reads] [-e max_bad_blocks]\n" +" [-c blocks_at_once] [-d delay_factor_between_reads] [-e " +"max_bad_blocks]\n" " [-p num_passes] [-t test_pattern [-t test_pattern [...]]]\n" " device [last_block [first_block]]\n" msgstr "" "Aufruf: %s [-b Blockgröße] [-i Eingabedatei] [-o Ausgabedatei] [-svwnf]\n" -" [-c Blöcke_auf_einmal] [-d Verzögerungsfaktor_zwischen_Lesedurchgängen]\n" +" [-c Blöcke_auf_einmal] [-d " +"Verzögerungsfaktor_zwischen_Lesedurchgängen]\n" " [-e maximale_Bad_Blocks] [-p Anzahl_Durchgänge]\n" " [-t Testmuster [-t Testmuster [...]]]\n" " Gerät [letzter_Block [Startblock]]\n" -#: misc/badblocks.c:104 +#: misc/badblocks.c:100 #, c-format msgid "" "%s: The -n and -w options are mutually exclusive.\n" @@ -3294,80 +3134,82 @@ msgstr "" "%s: Die Optionen -n und -w schliessen sich gegenseitig aus.\n" "\n" -#: misc/badblocks.c:219 +#: misc/badblocks.c:202 #, c-format -msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)" -msgstr "%6.2f%% erledigt, %s verstrichen. (%d/%d/%d Fehler)" +msgid "%6.2f%% done, %s elapsed" +msgstr "%6.2f%% erledigt, %s verstrichen" -#: misc/badblocks.c:322 +#: misc/badblocks.c:293 msgid "Testing with random pattern: " msgstr "Teste mit zufälligen Mustern: " -#: misc/badblocks.c:340 +#: misc/badblocks.c:311 msgid "Testing with pattern 0x" msgstr "Teste mit Muster 0x" -#: misc/badblocks.c:372 misc/badblocks.c:445 +#: misc/badblocks.c:339 misc/badblocks.c:408 msgid "during seek" msgstr "beim Suchen" -#: misc/badblocks.c:383 +#: misc/badblocks.c:350 #, c-format msgid "Weird value (%ld) in do_read\n" msgstr "Merkwürdiger Wert (%ld) in do_read\n" -#: misc/badblocks.c:469 +#: misc/badblocks.c:428 msgid "during ext2fs_sync_device" msgstr "während ext2fs_sync_device" -#: misc/badblocks.c:489 misc/badblocks.c:749 +#: misc/badblocks.c:447 misc/badblocks.c:711 msgid "while beginning bad block list iteration" -msgstr "beim Beginn des „Bad Block“-Listendurchlaufs" +msgstr "beim Beginn des »Bad Block«-Listendurchlaufs" -#: misc/badblocks.c:503 misc/badblocks.c:602 misc/badblocks.c:759 +#: misc/badblocks.c:461 misc/badblocks.c:563 misc/badblocks.c:721 msgid "while allocating buffers" msgstr "beim Zuweisen von Puffern" -#: misc/badblocks.c:507 +#: misc/badblocks.c:465 #, c-format msgid "Checking blocks %lu to %lu\n" msgstr "Prüfe von Block %lu bis %lu\n" -#: misc/badblocks.c:512 +#: misc/badblocks.c:470 msgid "Checking for bad blocks in read-only mode\n" msgstr "Suche nach defekten Blöcken im Nur-Lesen-Modus\n" -#: misc/badblocks.c:521 +#: misc/badblocks.c:479 msgid "Checking for bad blocks (read-only test): " msgstr "Suche nach defekten Blöcken (Nur-Lesen-Modus):" -#: misc/badblocks.c:528 misc/badblocks.c:634 misc/badblocks.c:676 -#: misc/badblocks.c:822 +#: misc/badblocks.c:487 misc/badblocks.c:595 misc/badblocks.c:640 +#: misc/badblocks.c:784 msgid "Too many bad blocks, aborting test\n" msgstr "Zu viele defekte Blöcke - Test wird abgebrochen\n" -#: misc/badblocks.c:609 +#: misc/badblocks.c:570 msgid "Checking for bad blocks in read-write mode\n" msgstr "Suche nach defekten Blöcken (Lesen+Schreiben-Modus)\n" -#: misc/badblocks.c:611 misc/badblocks.c:772 +#: misc/badblocks.c:572 misc/badblocks.c:734 #, c-format msgid "From block %lu to %lu\n" msgstr "Von Block %lu bis %lu\n" -#: misc/badblocks.c:666 +#: misc/badblocks.c:630 msgid "Reading and comparing: " msgstr "Lesen und Vergleichen:" -#: misc/badblocks.c:771 +#: misc/badblocks.c:733 msgid "Checking for bad blocks in non-destructive read-write mode\n" -msgstr "Suche nach defekten Blöcken im zerstörungsfreien Lesen+Schreiben-Modus\n" +msgstr "" +"Suche nach defekten Blöcken im zerstörungsfreien Lesen+Schreiben-Modus\n" -#: misc/badblocks.c:777 +#: misc/badblocks.c:739 msgid "Checking for bad blocks (non-destructive read-write test)\n" -msgstr "Suche nach defekten Blöcken (zerstörungsfreier Lesen+Schreiben-Modus)\n" +msgstr "" +"Suche nach defekten Blöcken (zerstörungsfreier Lesen+Schreiben-Modus)\n" -#: misc/badblocks.c:784 +#: misc/badblocks.c:746 msgid "" "\n" "Interrupt caught, cleaning up\n" @@ -3375,199 +3217,185 @@ msgstr "" "\n" "Unterbrochen, räume auf\n" -#: misc/badblocks.c:867 +#: misc/badblocks.c:822 #, c-format msgid "during test data write, block %lu" msgstr "beim Schreiben der Test-Daten; Block %lu" -#: misc/badblocks.c:988 misc/util.c:152 +#: misc/badblocks.c:933 misc/util.c:156 #, c-format msgid "%s is mounted; " msgstr "%s ist eingehängt; " -#: misc/badblocks.c:990 +#: misc/badblocks.c:935 msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n" -msgstr "Badblocks wird trotzdem erzwungen. Hoffentlich ist /etc/mtab nicht korrekt.\n" +msgstr "" +"Badblocks wird trotzdem erzwungen. Hoffentlich ist /etc/mtab nicht korrekt.\n" -#: misc/badblocks.c:995 +#: misc/badblocks.c:940 msgid "it's not safe to run badblocks!\n" msgstr "es ist zu unsicher, Badblocks zu starten!\n" -#: misc/badblocks.c:1000 misc/util.c:163 +#: misc/badblocks.c:945 misc/util.c:167 #, c-format msgid "%s is apparently in use by the system; " msgstr "%s wird offensichtlich vom System genutzt; " -#: misc/badblocks.c:1003 +#: misc/badblocks.c:948 msgid "badblocks forced anyway.\n" -msgstr "Badblocks wird trotzdem erzwungen. Hoffentlich ist /etc/mtab nicht korrekt.\n" +msgstr "" +"Badblocks wird trotzdem erzwungen. Hoffentlich ist /etc/mtab nicht korrekt.\n" -#: misc/badblocks.c:1023 +#: misc/badblocks.c:968 #, c-format msgid "invalid %s - %s" msgstr "ungültige %s - %s" -#: misc/badblocks.c:1133 +#: misc/badblocks.c:1077 #, c-format msgid "can't allocate memory for test_pattern - %s" msgstr "Kann keinen Speicher für Testmuster reservieren - %s" -#: misc/badblocks.c:1163 +#: misc/badblocks.c:1104 msgid "Maximum of one test_pattern may be specified in read-only mode" msgstr "Es darf im Nur-Lesen-Modus nur ein Testmuster angegeben werden" -#: misc/badblocks.c:1169 +#: misc/badblocks.c:1110 msgid "Random test_pattern is not allowed in read-only mode" msgstr "Zufälliges Testmuster ist im Nur-Lesen-Modus nicht erlaubt" -#: misc/badblocks.c:1183 +#: misc/badblocks.c:1124 msgid "" "Couldn't determine device size; you must specify\n" "the size manually\n" -msgstr "Größe des Gerätes ist nicht feststellbar. Sie müssen sie manuell angeben.\n" +msgstr "" +"Größe des Gerätes ist nicht feststellbar. Sie müssen sie manuell angeben.\n" -#: misc/badblocks.c:1189 +#: misc/badblocks.c:1130 msgid "while trying to determine device size" msgstr "beim Versuch, die Gerätegröße festzustellen" -#: misc/badblocks.c:1194 +#: misc/badblocks.c:1135 msgid "last block" msgstr "letzter Block" -#: misc/badblocks.c:1200 +#: misc/badblocks.c:1141 msgid "first block" msgstr "erster Block" -#: misc/badblocks.c:1203 +#: misc/badblocks.c:1144 #, c-format msgid "invalid starting block (%lu): must be less than %lu" msgstr "Ungültiger Startblock (%lu): er muss kleiner als %lu sein" -#: misc/badblocks.c:1259 +#: misc/badblocks.c:1200 msgid "while creating in-memory bad blocks list" msgstr "erstelle Bad-Block-Liste im Speicher" -#: misc/badblocks.c:1274 +#: misc/badblocks.c:1215 msgid "while adding to in-memory bad block list" msgstr "füge zur Bad-Block-Liste im Speicher hinzu" -#: misc/badblocks.c:1298 +#: misc/badblocks.c:1239 #, c-format -msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n" -msgstr "Durchgang beendet, %u defekte Blöcke gefunden. (%d/%d/%d Fehler)\n" +msgid "Pass completed, %u bad blocks found.\n" +msgstr "Durchgang beendet, %u defekte Blöcke gefunden.\n" -#: misc/chattr.c:86 +#: misc/chattr.c:85 #, c-format -msgid "Usage: %s [-RVf] [-+=AaCcDdeijsSu] [-v version] files...\n" -msgstr "Aufruf: %s [-RVf] [-+=AaCcDdeijsSu] [-v Version] Dateien...\n" +msgid "Usage: %s [-RVf] [-+=AacDdeijsSu] [-v version] files...\n" +msgstr "Aufruf: %s [-RVf] [-+=AacDdeijsSu] [-v Version] Dateien...\n" -#: misc/chattr.c:155 +#: misc/chattr.c:153 #, c-format msgid "bad version - %s\n" msgstr "falsche Version - %s\n" -#: misc/chattr.c:202 misc/lsattr.c:116 +#: misc/chattr.c:200 misc/lsattr.c:115 #, c-format msgid "while trying to stat %s" msgstr "beim Auslesen des Status von %s" -#: misc/chattr.c:209 +#: misc/chattr.c:207 #, c-format msgid "while reading flags on %s" msgstr "beim Lesens der Flags in %s" -#: misc/chattr.c:218 misc/chattr.c:237 +#: misc/chattr.c:216 misc/chattr.c:235 #, c-format msgid "Clearing extent flag not supported on %s" msgstr "" -"Das Zurücksetzen des Kennzeichens für „Erweiterung“ wird auf %s\n" +"Das Zurücksetzen des Kennzeichens für »Erweiterung« wird auf %s\n" "\tnicht unterstützt" -#: misc/chattr.c:223 misc/chattr.c:242 +#: misc/chattr.c:221 misc/chattr.c:240 #, c-format msgid "Flags of %s set as " msgstr "Flags von %s wie folgt gesetzt: " -#: misc/chattr.c:251 +#: misc/chattr.c:249 #, c-format msgid "while setting flags on %s" msgstr "beim Setzen der Flags in %s" -#: misc/chattr.c:259 +#: misc/chattr.c:257 #, c-format msgid "Version of %s set as %lu\n" msgstr "Version von %s gesetzt auf %lu\n" -#: misc/chattr.c:263 +#: misc/chattr.c:261 #, c-format msgid "while setting version on %s" msgstr "beim Setzen der Version in %s" -#: misc/chattr.c:283 +#: misc/chattr.c:281 #, c-format msgid "Couldn't allocate path variable in chattr_dir_proc" msgstr "Konnte Pfad-Variable in chattr_dir_proc nicht reservieren" -#: misc/chattr.c:323 +#: misc/chattr.c:320 msgid "= is incompatible with - and +\n" msgstr "= ist inkompatibel mit - und +\n" -#: misc/chattr.c:331 +#: misc/chattr.c:328 msgid "Must use '-v', =, - or +\n" -msgstr "Benutze „-v“, =, - oder +\n" +msgstr "Benutze »-v«, =, - oder +\n" -#: misc/dumpe2fs.c:55 +#: misc/dumpe2fs.c:53 #, c-format msgid "Usage: %s [-bfhixV] [-o superblock=] [-o blocksize=] device\n" -msgstr "Aufruf: %s [-bfhixV] [-o superblock=] [-o blocksize=] Gerät\n" - -#: misc/dumpe2fs.c:159 -msgid "blocks" -msgstr "Blöcke" +msgstr "" +"Aufruf: %s [-bfhixV] [-o superblock=] [-o blocksize=] Gerät\n" #: misc/dumpe2fs.c:168 -msgid "clusters" -msgstr "Cluster" - -#: misc/dumpe2fs.c:196 #, c-format msgid "Group %lu: (Blocks " msgstr "Gruppe %lu: (Blöcke " -#: misc/dumpe2fs.c:204 -#, c-format -msgid " Checksum 0x%04x" -msgstr " Prüfsumme 0x%04x" - -#: misc/dumpe2fs.c:206 -#, c-format -msgid " (EXPECTED 0x%04x)" -msgstr " (0x%04x ERWARTET)" - -#: misc/dumpe2fs.c:207 +#: misc/dumpe2fs.c:173 #, c-format -msgid ", unused inodes %u\n" -msgstr ", ungenutzte Inodes %u\n" +msgid " Checksum 0x%04x, unused inodes %d\n" +msgstr " Prüfsumme 0x%04x, %d ungenutzte Inodes\n" -#: misc/dumpe2fs.c:212 +#: misc/dumpe2fs.c:178 #, c-format msgid " %s superblock at " msgstr " %s Superblock in " -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Primary" msgstr "Primary" -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Backup" msgstr "Backup" -#: misc/dumpe2fs.c:217 +#: misc/dumpe2fs.c:183 #, c-format msgid ", Group descriptors at " msgstr ", Gruppendeskriptoren in " -#: misc/dumpe2fs.c:221 +#: misc/dumpe2fs.c:187 #, c-format msgid "" "\n" @@ -3576,20 +3404,20 @@ msgstr "" "\n" " reservierte GDT Blöcke bei " -#: misc/dumpe2fs.c:228 +#: misc/dumpe2fs.c:194 #, c-format msgid " Group descriptor at " msgstr ", Gruppendeskriptor in " -#: misc/dumpe2fs.c:234 +#: misc/dumpe2fs.c:200 msgid " Block bitmap at " msgstr " Block bitmap in " -#: misc/dumpe2fs.c:238 +#: misc/dumpe2fs.c:205 msgid ", Inode bitmap at " msgstr ", Inode Bitmap in " -#: misc/dumpe2fs.c:242 +#: misc/dumpe2fs.c:210 msgid "" "\n" " Inode table at " @@ -3597,59 +3425,59 @@ msgstr "" "\n" " Inode-Tabelle in " -#: misc/dumpe2fs.c:248 +#: misc/dumpe2fs.c:217 #, c-format msgid "" "\n" -" %u free %s, %u free inodes, %u directories%s" +" %u free blocks, %u free inodes, %u directories%s" msgstr "" "\n" -" %u freie %s, %u freie Inodes, %u Verzeichnisse%s" +" %u freie Blöcke, %u freie Inodes, %u Verzeichnisse%s" -#: misc/dumpe2fs.c:255 +#: misc/dumpe2fs.c:224 #, c-format msgid ", %u unused inodes\n" msgstr ", %u ungenutzte Inodes\n" -#: misc/dumpe2fs.c:258 +#: misc/dumpe2fs.c:227 msgid " Free blocks: " msgstr " Freie Blöcke: " -#: misc/dumpe2fs.c:269 +#: misc/dumpe2fs.c:237 msgid " Free inodes: " msgstr " Freie Inodes: " -#: misc/dumpe2fs.c:300 +#: misc/dumpe2fs.c:268 msgid "while printing bad block list" -msgstr "beim Ausgeben der „Bad Block“-Liste" +msgstr "beim Ausgeben der »Bad Block«-Liste" -#: misc/dumpe2fs.c:306 +#: misc/dumpe2fs.c:274 #, c-format msgid "Bad blocks: %u" msgstr "Bad Blocks: %u" -#: misc/dumpe2fs.c:333 misc/tune2fs.c:302 +#: misc/dumpe2fs.c:301 misc/tune2fs.c:281 msgid "while reading journal inode" msgstr "beim Lesen des Journal-Inodes" -#: misc/dumpe2fs.c:339 +#: misc/dumpe2fs.c:307 msgid "while opening journal inode" msgstr "beim Lesen des Journal-Inodes" -#: misc/dumpe2fs.c:345 +#: misc/dumpe2fs.c:313 msgid "while reading journal super block" msgstr "beim Lesen des Journal-Superblocks" -#: misc/dumpe2fs.c:355 +#: misc/dumpe2fs.c:323 #, c-format msgid "Journal features: " msgstr "Jounaleigenschaften: " -#: misc/dumpe2fs.c:368 +#: misc/dumpe2fs.c:336 msgid "Journal size: " msgstr "Journalgrösse: " -#: misc/dumpe2fs.c:379 +#: misc/dumpe2fs.c:347 #, c-format msgid "" "Journal length: %u\n" @@ -3660,20 +3488,15 @@ msgstr "" "Journal-Sequenz: 0x%08x\n" "Journal-Start: %u\n" -#: misc/dumpe2fs.c:386 -#, c-format -msgid "Journal errno: %d\n" -msgstr "Jounal-Fehlernummer: %d\n" - -#: misc/dumpe2fs.c:401 misc/tune2fs.c:218 +#: misc/dumpe2fs.c:366 misc/tune2fs.c:202 msgid "while reading journal superblock" msgstr "beim Lesen des Journal-Superblocks" -#: misc/dumpe2fs.c:409 +#: misc/dumpe2fs.c:374 msgid "Couldn't find journal superblock magic numbers" msgstr "Konnte die magische Nummer des Journal-Superblocks nicht finden" -#: misc/dumpe2fs.c:413 +#: misc/dumpe2fs.c:378 #, c-format msgid "" "\n" @@ -3692,27 +3515,27 @@ msgstr "" "Journal Start: %u\n" "Journal Anzahl Nutzer: %u\n" -#: misc/dumpe2fs.c:426 +#: misc/dumpe2fs.c:391 #, c-format msgid "Journal users: %s\n" msgstr "Jounalnutzer: %s\n" -#: misc/dumpe2fs.c:442 misc/mke2fs.c:665 misc/tune2fs.c:1128 +#: misc/dumpe2fs.c:407 misc/mke2fs.c:699 misc/tune2fs.c:872 #, c-format msgid "Couldn't allocate memory to parse options!\n" msgstr "Speicher zum Parsen der Optionen konnte nicht reserviert werden!\n" -#: misc/dumpe2fs.c:468 +#: misc/dumpe2fs.c:433 #, c-format msgid "Invalid superblock parameter: %s\n" msgstr "Ungültiger Superblock-Parameter: %s\n" -#: misc/dumpe2fs.c:483 +#: misc/dumpe2fs.c:448 #, c-format msgid "Invalid blocksize parameter: %s\n" msgstr "Ungültiger Blockgrössen-Parameter: %s\n" -#: misc/dumpe2fs.c:494 +#: misc/dumpe2fs.c:459 #, c-format msgid "" "\n" @@ -3729,25 +3552,25 @@ msgstr "" "Falsche erweiterte Optionen angegeben: %s\n" "\n" "Erweiterte Optionen werden durch Kommatas getrennt. Manche erwarten ein\n" -"\tArgument, welches mit Gleichheitszeichen („=“) zugewiesen wird.\n" +"\tArgument, welches mit Gleichheitszeichen (»=«) zugewiesen wird.\n" "\n" "Gültige erweiterte Optionen sind:\n" "\tsuperblock=\n" "\tblocksize=\n" "\n" -#: misc/dumpe2fs.c:554 misc/mke2fs.c:1528 +#: misc/dumpe2fs.c:518 misc/mke2fs.c:1406 #, c-format msgid "\tUsing %s\n" msgstr "\tBenutze %s\n" -#: misc/dumpe2fs.c:590 misc/e2image.c:1309 misc/tune2fs.c:1914 -#: resize/main.c:305 +#: misc/dumpe2fs.c:554 misc/e2image.c:681 misc/tune2fs.c:1576 +#: resize/main.c:312 #, c-format msgid "Couldn't find valid filesystem superblock.\n" msgstr "Kann keinen gültigen Dateisystem-Superblock finden.\n" -#: misc/dumpe2fs.c:618 +#: misc/dumpe2fs.c:579 #, c-format msgid "" "\n" @@ -3756,82 +3579,77 @@ msgstr "" "\n" "%s: %s: Fehler beim Lesen von Bitmaps: %s\n" -#: misc/e2image.c:87 -#, c-format -msgid "Usage: %s [-rsIQ] device image_file\n" -msgstr "Aufruf: %s [-rsIO] Gerätedatei Abbild-Datei\n" - -#: misc/e2image.c:135 +#: misc/e2image.c:52 #, c-format -msgid "Error: header size is bigger than wrt_size\n" -msgstr "Fehler: Größe des Headers übersteigt wrt_size\n" +msgid "Usage: %s [-rsI] device image_file\n" +msgstr "Aufruf: %s [-r] Gerätedatei\n" -#: misc/e2image.c:141 +#: misc/e2image.c:64 msgid "Couldn't allocate header buffer\n" msgstr "Header-Puffer konnte nicht zugewiesen werden\n" -#: misc/e2image.c:171 +#: misc/e2image.c:83 +#, c-format +msgid "short write (only %d bytes) for writing image header" +msgstr "short write (only %d bytes) for writing image header" + +#: misc/e2image.c:102 msgid "while writing superblock" msgstr "beim Schreiben des Superblocks" -#: misc/e2image.c:179 +#: misc/e2image.c:110 msgid "while writing inode table" msgstr "beim Schreiben der Inode-Tabelle" -#: misc/e2image.c:186 +#: misc/e2image.c:117 msgid "while writing block bitmap" msgstr "beim Schreiben der Block-Bitmap" -#: misc/e2image.c:193 +#: misc/e2image.c:124 msgid "while writing inode bitmap" msgstr "beim Schreiben der Inode-Bitmap" -#: misc/e2image.c:1341 -#, c-format -msgid "while trying to convert qcow2 image (%s) into raw image (%s)" -msgstr "beim Versuch, das Qcow2-Image (%s) in ein rohes Image (%s) zu konvertieren" - -#: misc/e2label.c:58 +#: misc/e2label.c:57 #, c-format msgid "e2label: cannot open %s\n" msgstr "e2label: Kann %s nicht öffnen.\n" -#: misc/e2label.c:63 +#: misc/e2label.c:62 #, c-format msgid "e2label: cannot seek to superblock\n" msgstr "e2label: cannot seek to superblock\n" -#: misc/e2label.c:68 +#: misc/e2label.c:67 #, c-format msgid "e2label: error reading superblock\n" msgstr "e2label: Lesefehler im Superblock\n" -#: misc/e2label.c:72 +#: misc/e2label.c:71 #, c-format msgid "e2label: not an ext2 filesystem\n" msgstr "e2label: Kein ext2 Dateisystem\n" -#: misc/e2label.c:97 misc/tune2fs.c:2065 +#: misc/e2label.c:96 misc/tune2fs.c:1711 #, c-format msgid "Warning: label too long, truncating.\n" msgstr "Warnung: Name zu lang, kürze ihn.\n" -#: misc/e2label.c:100 +#: misc/e2label.c:99 #, c-format msgid "e2label: cannot seek to superblock again\n" msgstr "e2label: cannot seek to superblock again\n" -#: misc/e2label.c:105 +#: misc/e2label.c:104 #, c-format msgid "e2label: error writing superblock\n" msgstr "e2label: Fehler beim Schreiben des Superblocks\n" -#: misc/e2label.c:117 misc/tune2fs.c:794 +#: misc/e2label.c:116 misc/tune2fs.c:542 #, c-format msgid "Usage: e2label device [newlabel]\n" msgstr "Aufruf: e2label Gerät [neuer_Name]\n" -#: misc/e2undo.c:36 +#: misc/e2undo.c:35 #, c-format msgid "Usage: %s \n" msgstr "Aufruf: %s \n" @@ -3840,7 +3658,7 @@ msgstr "Aufruf: %s \n" msgid "Failed to read the file system data \n" msgstr "Die Dateisystemdaten konnten nicht gelesenb werden \n" -#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:206 +#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:205 #, c-format msgid "Failed tdb_fetch %s\n" msgstr "tdb_fetch von %s ist misslungen\n" @@ -3854,31 +3672,31 @@ msgstr "Die Zeit des letzten Einhängens des Dateisystems war nicht %u\n" msgid "The file system UUID didn't match \n" msgstr "Die UUID des Dateisystems stimmte nicht überein \n" -#: misc/e2undo.c:163 +#: misc/e2undo.c:162 #, c-format msgid "Failed tdb_open %s\n" msgstr "tdb_open von %s ist misslungen\n" -#: misc/e2undo.c:169 +#: misc/e2undo.c:168 #, c-format msgid "Error while determining whether %s is mounted.\n" msgstr "Fehler beim Ãœberprüfen, ob %s eingehängt ist.\n" -#: misc/e2undo.c:175 +#: misc/e2undo.c:174 msgid "e2undo should only be run on unmounted file system\n" msgstr "e2undo sollte nur auf nicht-eingehängten Dateisystemen laufen\n" -#: misc/e2undo.c:184 +#: misc/e2undo.c:183 #, c-format msgid "Failed to open %s\n" msgstr "%s konnte nicht geöffnet werden\n" -#: misc/e2undo.c:210 +#: misc/e2undo.c:209 #, c-format -msgid "Replayed transaction of size %zd at location %llu\n" -msgstr "Zurückgespielte Transaktion der Größe %zd an Position %llu\n" +msgid "Replayed transaction of size %zd at location %ld\n" +msgstr "Zurückgespielte Transaktion der Größe %zd an Position %ld\n" -#: misc/e2undo.c:216 +#: misc/e2undo.c:215 #, c-format msgid "Failed write %s\n" msgstr "Gescheitertes Schreiben von %s\n" @@ -3893,382 +3711,366 @@ msgstr "WARNUNG: Konnte %s nicht öffnen: %s\n" msgid "WARNING: bad format on line %d of %s\n" msgstr "WARNUNG: falsches Format in Zeile %d von %s\n" -#: misc/fsck.c:370 +#: misc/fsck.c:368 msgid "" -"WARNING: Your /etc/fstab does not contain the fsck passno\n" +"\a\a\aWARNING: Your /etc/fstab does not contain the fsck passno\n" "\tfield. I will kludge around things for you, but you\n" "\tshould fix your /etc/fstab file as soon as you can.\n" "\n" msgstr "" -"WARNUNG: Ihre /etc/fstab enthält keine Angabe darüber, wann\n" -"\tdas Dateisystem geprüft werden soll. Ich werde dieses\n" -"\tignorieren, aber Sie sollten ihre /etc/fstab so schnell\n" -"\twie möglich korrigieren.\n" +"\a\a\aWARNUNG: Ihre /etc/fstab enthält kein »fsck passno«\n" +"\tFeld. Ich werde dieses ignorieren, aber Sie\n" +"\tsollten ihre /etc/fstab so schnell wie möglich korrigieren.\n" "\n" -#: misc/fsck.c:478 +#: misc/fsck.c:477 #, c-format msgid "fsck: %s: not found\n" msgstr "fsck: %s: nicht gefunden\n" -#: misc/fsck.c:594 +#: misc/fsck.c:593 #, c-format msgid "%s: wait: No more child process?!?\n" msgstr "%s: wait: kein Kindprozess mehr?!?\n" -#: misc/fsck.c:616 +#: misc/fsck.c:615 #, c-format msgid "Warning... %s for device %s exited with signal %d.\n" msgstr "Warnung... %s für Gerät %s wurde mit Signal %d beendet.\n" -#: misc/fsck.c:622 +#: misc/fsck.c:621 #, c-format msgid "%s %s: status is %x, should never happen.\n" msgstr "%s %s: Status ist %x, sollte nie vorkommen.\n" -#: misc/fsck.c:661 +#: misc/fsck.c:660 #, c-format msgid "Finished with %s (exit status %d)\n" msgstr "Beendet mit %s (exit status %d)\n" -#: misc/fsck.c:721 +#: misc/fsck.c:720 #, c-format msgid "%s: Error %d while executing fsck.%s for %s\n" msgstr "%s: Fehler %d bei Ausführung von fsck.%s für %s\n" -#: misc/fsck.c:742 +#: misc/fsck.c:741 msgid "" "Either all or none of the filesystem types passed to -t must be prefixed\n" "with 'no' or '!'.\n" msgstr "" -"Bei -t müssen entweder allen oder keinem Dateisystem ein „no“ bzw. „!“\n" +"Bei -t müssen entweder allen oder keinem Dateisystem ein »no« bzw. »!«\n" "vorangestellt werden.\n" -#: misc/fsck.c:761 +#: misc/fsck.c:760 msgid "Couldn't allocate memory for filesystem types\n" msgstr "Kann keinen Speicher für Dateisystemtypen reservieren.\n" -#: misc/fsck.c:884 +#: misc/fsck.c:883 #, c-format -msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n" +msgid "" +"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass " +"number\n" msgstr "" "%s: überspringe die ungültige Zeile in /etc/fstab: bind mount mit\n" " Durchgangsnummer für fsck, die nicht Null ist\n" -#: misc/fsck.c:911 +#: misc/fsck.c:910 #, c-format msgid "fsck: cannot check %s: fsck.%s not found\n" msgstr "fsck: kann %s nicht überprüfen: fsck.%s nicht gefunden\n" -#: misc/fsck.c:967 +#: misc/fsck.c:966 msgid "Checking all file systems.\n" -msgstr "Alle Dateisysteme werden überprüft.\n" +msgstr "Ãœberprüfe alle Dateisysteme.\n" -#: misc/fsck.c:1058 +#: misc/fsck.c:1057 #, c-format msgid "--waiting-- (pass %d)\n" msgstr "--warten-- (Durchgang %d)\n" -#: misc/fsck.c:1078 -msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" -msgstr "Aufruf: fsck [-AMNPRTV] [ -C [ fd ] ] [-t Datesystemtyp] [FS-Optionen] [Dateisystem...]\n" +#: misc/fsck.c:1077 +msgid "" +"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" +msgstr "" +"Aufruf: fsck [-AMNPRTV] [ -C [ fd ] ] [-t Datesystemtyp] [FS-Optionen] " +"[Dateisystem...]\n" -#: misc/fsck.c:1120 +#: misc/fsck.c:1119 #, c-format msgid "%s: too many devices\n" msgstr "%s: zu viele Geräte\n" -#: misc/fsck.c:1153 misc/fsck.c:1239 +#: misc/fsck.c:1152 misc/fsck.c:1238 #, c-format msgid "%s: too many arguments\n" msgstr "%s: zu viele Argumente\n" -#: misc/lsattr.c:74 +#: misc/lsattr.c:73 #, c-format msgid "Usage: %s [-RVadlv] [files...]\n" msgstr "Aufruf: %s [-RVadlv] [Dateien...]\n" -#: misc/lsattr.c:84 +#: misc/lsattr.c:83 #, c-format msgid "While reading flags on %s" msgstr "Beim Lesen der Flags von %s" -#: misc/lsattr.c:91 +#: misc/lsattr.c:90 #, c-format msgid "While reading version on %s" msgstr "Beim Lesen der Version von %s" -#: misc/mke2fs.c:115 +#: misc/mke2fs.c:108 #, c-format msgid "" -"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n" +"Usage: %s [-c|-l filename] [-b block-size] [-f fragment-size]\n" "\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n" -"\t[-G flex-group-size] [-N number-of-inodes]\n" +"\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n" "\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n" -"\t[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-count]\n" +"\t[-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]\n" msgstr "" -"Aufruf: %s [-c|-l Dateiname] [-b Blockgröße] [-C Clustergröße]\n" +"Aufruf: %s [-c|-l Dateiname] [-b Blockgröße] [-f Fragmentgröße]\n" "\t[-i Bytes-pro-Inode] [-I Inodegrösse] [-J Journal-Optionen]\n" "\t[-G Größe_der_Metagruppe] [-N Anzahl_der_Inodes]\n" "\t[-m Reservierte-Blöcke-Prozent] [-o Erzeuger-OS]\n" "\t[-g Blöcke-pro-Gruppe] [-L Volume-Label]\n" "\t[-M letztes-eingehängtes-Verzeichnis] [-O Eigenschaft[,...]]\n" "\t[-r fs-Revision] [-E erweiterte-Option[,...]]\n" -"\t[-t Dateisystemtyp] [-T Verwendungs-Typ ] [-U UUID] [-jnqvFKSV]\n" -"\tGerät [Block-Anzahl]\n" +"\t[-T Dateisystemtyp] [-jnqvFKSV] Gerät [Block-Anzahl]\n" -#: misc/mke2fs.c:218 +#: misc/mke2fs.c:210 #, c-format msgid "Running command: %s\n" -msgstr "Es wird ausgeführt: %s\n" +msgstr "Führe aus: %s\n" -#: misc/mke2fs.c:222 +#: misc/mke2fs.c:214 #, c-format msgid "while trying to run '%s'" -msgstr "während des Versuchs, „%s“ auszuführen" +msgstr "während des Versuchs, »%s« auszuführen" -#: misc/mke2fs.c:229 +#: misc/mke2fs.c:221 msgid "while processing list of bad blocks from program" -msgstr "beim Auswerten der „Bad Block“-Liste vom Programm" +msgstr "beim Auswerten der »Bad Block«-Liste vom Programm" -#: misc/mke2fs.c:256 +#: misc/mke2fs.c:248 #, c-format msgid "Block %d in primary superblock/group descriptor area bad.\n" msgstr "Block %d im primären Superblock/Gruppendeskriptorbereich defekt.\n" -#: misc/mke2fs.c:258 +#: misc/mke2fs.c:250 #, c-format msgid "Blocks %u through %u must be good in order to build a filesystem.\n" msgstr "" "Die Blöcke %u bis einschließlich %u müssen in Ordung sein, um ein\n" "\tDateisystem zu erstellen.\n" -#: misc/mke2fs.c:261 +#: misc/mke2fs.c:253 msgid "Aborting....\n" -msgstr "Abbruch...\n" +msgstr "Breche ab...\n" -#: misc/mke2fs.c:281 +#: misc/mke2fs.c:273 #, c-format msgid "" "Warning: the backup superblock/group descriptors at block %u contain\n" "\tbad blocks.\n" "\n" msgstr "" -"Warnung: die Sicherung des Superblock bzw. Gruppendeskriptors in Block %u enthält\n" +"Warnung: die Sicherung des Superblock bzw. Gruppendeskriptors in Block %u " +"enthält\n" "\tdefekte Blöcke.\n" "\n" -#: misc/mke2fs.c:300 +#: misc/mke2fs.c:292 msgid "while marking bad blocks as used" -msgstr "beim Markieren von defekten Blöcken als „belegt“" +msgstr "beim Markieren von defekten Blöcken als »belegt«" + +#: misc/mke2fs.c:350 +msgid "done \n" +msgstr "erledigt \n" -#: misc/mke2fs.c:317 +#: misc/mke2fs.c:364 msgid "Writing inode tables: " -msgstr "Inode-Tabellen werden geschrieben: " +msgstr "Schreibe Inode-Tabellen: " -#: misc/mke2fs.c:339 +#: misc/mke2fs.c:387 #, c-format msgid "" "\n" -"Could not write %d blocks in inode table starting at %llu: %s\n" +"Could not write %d blocks in inode table starting at %u: %s\n" msgstr "" "\n" -"%d Blöcke konnten nicht in die Inoden-Tabellen beginnend bei %llu geschrieben werden: %s\n" - -#: misc/mke2fs.c:353 misc/mke2fs.c:2181 misc/mke2fs.c:2435 -#, c-format -msgid "done \n" -msgstr "erledigt \n" +"Konnte %d Blöcke nicht in Inoden-Tabelle schreiben, beginnend bei %u: %s\n" -#: misc/mke2fs.c:364 +#: misc/mke2fs.c:411 msgid "while creating root dir" msgstr "beim Erstellen des Wurzelverzeichnisses" -#: misc/mke2fs.c:371 +#: misc/mke2fs.c:418 msgid "while reading root inode" msgstr "beim Lesen des Root-Inode" -#: misc/mke2fs.c:385 +#: misc/mke2fs.c:432 msgid "while setting root inode ownership" msgstr "beim Setzen des Root-Inode-Eigentümers" -#: misc/mke2fs.c:403 +#: misc/mke2fs.c:450 msgid "while creating /lost+found" msgstr "beim Erstellen von /lost+found" -#: misc/mke2fs.c:410 +#: misc/mke2fs.c:457 msgid "while looking up /lost+found" msgstr "beim Suchen von /lost+found" -#: misc/mke2fs.c:423 +#: misc/mke2fs.c:470 msgid "while expanding /lost+found" msgstr "beim Expandieren von /lost+found" -#: misc/mke2fs.c:438 +#: misc/mke2fs.c:485 msgid "while setting bad block inode" -msgstr "beim Setzen des „Bad Block“-Inodes" +msgstr "beim Setzen des »Bad Block«-Inodes" -#: misc/mke2fs.c:465 +#: misc/mke2fs.c:512 #, c-format msgid "Out of memory erasing sectors %d-%d\n" msgstr "Speicher voll beim Löschen der Sektoren %d-%d\n" -#: misc/mke2fs.c:475 +#: misc/mke2fs.c:522 #, c-format msgid "Warning: could not read block 0: %s\n" msgstr "Warnung: konnte Block %s nicht lesen\n" -#: misc/mke2fs.c:491 +#: misc/mke2fs.c:538 #, c-format msgid "Warning: could not erase sector %d: %s\n" msgstr "Warnung: konnte Sektor %d: %s nicht löschen\n" -#: misc/mke2fs.c:507 +#: misc/mke2fs.c:554 msgid "while initializing journal superblock" msgstr "beim Initialisieren des Journal-Superblocks" -#: misc/mke2fs.c:515 +#: misc/mke2fs.c:560 msgid "Zeroing journal device: " msgstr "Ãœberschreibe Journal-Device mit Nullen: " -#: misc/mke2fs.c:527 +#: misc/mke2fs.c:573 #, c-format -msgid "while zeroing journal device (block %llu, count %d)" -msgstr "beim Ãœberschreiben des Journal-Device mit Nullen (Block %llu, Nr. %d)" +msgid "while zeroing journal device (block %u, count %d)" +msgstr "beim Ãœberschreiben des Journal-Device mit Nullen (Block %u, Nr. %d)" -#: misc/mke2fs.c:546 +#: misc/mke2fs.c:589 msgid "while writing journal superblock" msgstr "beim Schreiben des Journal-Superblocks" -#: misc/mke2fs.c:561 +#: misc/mke2fs.c:605 #, c-format msgid "" -"warning: %llu blocks unused.\n" +"warning: %u blocks unused.\n" "\n" msgstr "" -"Warnung: %llu Blöcke unbenutzt.\n" +"Warnung: %u Blöcke unbenutzt.\n" "\n" -#: misc/mke2fs.c:566 +#: misc/mke2fs.c:610 #, c-format msgid "Filesystem label=%s\n" msgstr "Dateisystem-Label=%s\n" -#: misc/mke2fs.c:569 -#, c-format -msgid "OS type: %s\n" -msgstr "OS-Typ: %s\n" +#: misc/mke2fs.c:611 +msgid "OS type: " +msgstr "OS-Typ: " -#: misc/mke2fs.c:571 +#: misc/mke2fs.c:616 #, c-format msgid "Block size=%u (log=%u)\n" msgstr "Blockgröße=%u (log=%u)\n" -#: misc/mke2fs.c:575 -#, c-format -msgid "Cluster size=%u (log=%u)\n" -msgstr "Clustergröße=%u (log=%u)\n" - -#: misc/mke2fs.c:579 +#: misc/mke2fs.c:618 #, c-format msgid "Fragment size=%u (log=%u)\n" msgstr "Fragmentgröße=%u (log=%u)\n" -#: misc/mke2fs.c:581 +#: misc/mke2fs.c:620 #, c-format msgid "Stride=%u blocks, Stripe width=%u blocks\n" msgstr "Stride=%u Blöcke, Stripebreite=%u Blöcke\n" -#: misc/mke2fs.c:583 +#: misc/mke2fs.c:622 #, c-format -msgid "%u inodes, %llu blocks\n" -msgstr "%u Inodes, %llu Blöcke\n" +msgid "%u inodes, %u blocks\n" +msgstr "%u Inodes, %u Blöcke\n" -#: misc/mke2fs.c:585 +#: misc/mke2fs.c:624 #, c-format -msgid "%llu blocks (%2.2f%%) reserved for the super user\n" -msgstr "%llu Blöcke (%2.2f%%) reserviert für den Superuser\n" +msgid "%u blocks (%2.2f%%) reserved for the super user\n" +msgstr "%u Blöcke (%2.2f%%) reserviert für den Superuser\n" -#: misc/mke2fs.c:588 +#: misc/mke2fs.c:627 #, c-format msgid "First data block=%u\n" msgstr "Erster Datenblock=%u\n" -#: misc/mke2fs.c:590 +#: misc/mke2fs.c:629 #, c-format msgid "Maximum filesystem blocks=%lu\n" msgstr "Maximale Dateisystem-Blöcke=%lu\n" -#: misc/mke2fs.c:594 +#: misc/mke2fs.c:633 #, c-format msgid "%u block groups\n" msgstr "%u Blockgruppen\n" -#: misc/mke2fs.c:596 +#: misc/mke2fs.c:635 #, c-format msgid "%u block group\n" msgstr "%u Blockgruppe\n" -#: misc/mke2fs.c:599 -#, c-format -msgid "%u blocks per group, %u clusters per group\n" -msgstr "%u Blöcke pro Gruppe, %u Cluster pro Gruppe\n" - -#: misc/mke2fs.c:602 +#: misc/mke2fs.c:636 #, c-format msgid "%u blocks per group, %u fragments per group\n" msgstr "%u Blöcke pro Gruppe, %u Fragmente pro Gruppe\n" -#: misc/mke2fs.c:604 +#: misc/mke2fs.c:638 #, c-format msgid "%u inodes per group\n" msgstr "%u Inodes pro Gruppe\n" -#: misc/mke2fs.c:611 +#: misc/mke2fs.c:645 #, c-format msgid "Superblock backups stored on blocks: " msgstr "Superblock-Sicherungskopien gespeichert in den Blöcken: " -#: misc/mke2fs.c:690 misc/tune2fs.c:1156 -#, c-format -msgid "Invalid mmp_update_interval: %s\n" -msgstr "Ungültiges mmp_update_interval: %s\n" - -#: misc/mke2fs.c:704 +#: misc/mke2fs.c:724 #, c-format msgid "Invalid stride parameter: %s\n" msgstr "Ungültiger \"stride\"-Parameter: %s\n" -#: misc/mke2fs.c:719 +#: misc/mke2fs.c:739 #, c-format msgid "Invalid stripe-width parameter: %s\n" msgstr "Ungültiger Stripebreite-Parameter: %s\n" -#: misc/mke2fs.c:742 +#: misc/mke2fs.c:761 #, c-format msgid "Invalid resize parameter: %s\n" msgstr "Ungültiger \"resize\"-Parameter: %s\n" -#: misc/mke2fs.c:749 +#: misc/mke2fs.c:768 #, c-format msgid "The resize maximum must be greater than the filesystem size.\n" -msgstr "Das Maximum der Vergrösserung muss oberhalb als der Dateisystem-Grösse liegen.\n" +msgstr "" +"Das Maximum der Vergrösserung muss oberhalb als der Dateisystem-Grösse " +"liegen.\n" -#: misc/mke2fs.c:773 +#: misc/mke2fs.c:792 #, c-format msgid "On-line resizing not supported with revision 0 filesystems\n" msgstr "" "Online-Grössenänderungen werden bei Revison 0 Dateisystemen nicht\n" "\tunterstützt\n" -#: misc/mke2fs.c:811 -#, c-format -msgid "Invalid quotatype parameter: %s\n" -msgstr "Ungültiger Quotatyp-Parameter: %s\n" - -#: misc/mke2fs.c:822 +#: misc/mke2fs.c:814 #, c-format msgid "" "\n" @@ -4282,34 +4084,26 @@ msgid "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" -"\tlazy_journal_init=<0 to disable, 1 to enable>\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" msgstr "" "\n" "Ungültige Option(en) angegeben: %s\n" "\n" -"Erweiterte Optionen werden durch Kommata getrennt. Manche erwarten ein\n" -"\tArgument, welches mit Gleichheitszeichen („=“) zugewiesen wird.\n" +"Erweiterte Optionen werden durch Kommatas getrennt. Manche erwarten ein\n" +"\tArgument, welches mit Gleichheitszeichen (»=«) zugewiesen wird.\n" "\n" -"\terhalten welches mit Gleichheitszeichen („=“) zugewiesen wird.\n" +"\terhalten welches mit Gleichheitszeichen (»=«) zugewiesen wird.\n" "\n" "gültige erweiterte Optionen sind:\n" "\tstride=\n" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 für Ab-, 1 für Einschalten>\n" -"\tlazy_journal_init=<0 für Ab-, 1 fúr Einschalten>\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" -#: misc/mke2fs.c:842 +#: misc/mke2fs.c:830 #, c-format msgid "" "\n" @@ -4321,7 +4115,7 @@ msgstr "" "\tStride %u.\n" "\n" -#: misc/mke2fs.c:881 +#: misc/mke2fs.c:862 #, c-format msgid "" "Syntax error in mke2fs config file (%s, line #%d)\n" @@ -4330,162 +4124,147 @@ msgstr "" "Syntax Fehler in der Konfigurationsdatei von mkefs (%s, Zeile %d)\n" "\t%s\n" -#: misc/mke2fs.c:894 misc/tune2fs.c:393 +#: misc/mke2fs.c:875 misc/tune2fs.c:355 #, c-format msgid "Invalid filesystem option set: %s\n" -msgstr "Ungültige Dateisystem-Option gesetzt: %s\n" - -#: misc/mke2fs.c:906 misc/tune2fs.c:345 -#, c-format -msgid "Invalid mount option set: %s\n" -msgstr "Ungültige Einhänge-Option gesetzt: %s\n" +msgstr "Unvollständige Dateisystem-Option gesetzt: %s\n" -#: misc/mke2fs.c:1046 +#: misc/mke2fs.c:985 #, c-format msgid "" "\n" -"Your mke2fs.conf file does not define the %s filesystem type.\n" +"Warning! Your mke2fs.conf file does not define the %s filesystem type.\n" msgstr "" "\n" -"Ihre mke2fs.conf Datei enhält keine Definitiion des %s Dateisystems.\n" +"Warnung: Ihre mke2fs.conf Datei definiert den Typ des Dateisystems auf %s " +"nicht.\n" -#: misc/mke2fs.c:1050 +#: misc/mke2fs.c:988 #, c-format msgid "" "You probably need to install an updated mke2fs.conf file.\n" "\n" msgstr "" -"Sie müssen wahrscheinlich eine aktualisierte mke2fs.conf Datei installieren.\n" -"\n" - -#: misc/mke2fs.c:1054 -#, c-format -msgid "Aborting...\n" -msgstr "Breche ab...\n" - -#: misc/mke2fs.c:1094 -#, c-format -msgid "" -"\n" -"Warning: the fs_type %s is not defined in mke2fs.conf\n" -"\n" -msgstr "" -"\n" -"Warnung: Der fs_type %s ist in mke2fs.conf nicht definiert\n" +"Sie müssen wahrscheinlich eine aktualisierte mke2fs.conf Datei " +"installieren.\n" "\n" -#: misc/mke2fs.c:1252 -#, c-format -msgid "Couldn't allocate memory for new PATH.\n" -msgstr "Kann keinen Speicher für den neuen PATH reservieren\n" - -#: misc/mke2fs.c:1293 -#, c-format -msgid "Couldn't init profile successfully (error: %ld).\n" -msgstr "Das Profil konnte nicht erfolgreich initiiert werden (Fehler: %ld).\n" - -#: misc/mke2fs.c:1333 +#: misc/mke2fs.c:1224 #, c-format msgid "invalid block size - %s" msgstr "bad block Größe - %s" -#: misc/mke2fs.c:1337 +#: misc/mke2fs.c:1228 #, c-format msgid "Warning: blocksize %d not usable on most systems.\n" msgstr "Warnung: Blockgröße %d ist auf den meisten Systemen unbrauchbar.\n" -#: misc/mke2fs.c:1353 +#: misc/mke2fs.c:1244 #, c-format -msgid "invalid cluster size - %s" -msgstr "unzulässige Clustergröße - %s" +msgid "invalid fragment size - %s" +msgstr "falsche Fragmentgröße - %s" -#: misc/mke2fs.c:1365 +#: misc/mke2fs.c:1250 +#, c-format +msgid "Warning: fragments not supported. Ignoring -f option\n" +msgstr "Warnung: Fragmente werden nicht unterstützt. Ignoriere -f Option\n" + +#: misc/mke2fs.c:1257 msgid "Illegal number for blocks per group" msgstr "unzulässige Angabe für Blöcke pro Gruppe" -#: misc/mke2fs.c:1370 +#: misc/mke2fs.c:1262 msgid "blocks per group must be multiple of 8" msgstr "Anzahl der Blöcke pro Gruppe muss ein Vielfaches von 8 sein" -#: misc/mke2fs.c:1378 +#: misc/mke2fs.c:1270 msgid "Illegal number for flex_bg size" msgstr "Illegale Zahl für flex_bg Größe" -#: misc/mke2fs.c:1384 +#: misc/mke2fs.c:1276 msgid "flex_bg size must be a power of 2" msgstr "flex_bg Größe muss eine Zweierpotenz sein" -#: misc/mke2fs.c:1394 +#: misc/mke2fs.c:1286 #, c-format msgid "invalid inode ratio %s (min %d/max %d)" msgstr "Unzulässiges Inode-Verhältnis %s (Min %d/Max %d" -#: misc/mke2fs.c:1404 -#, c-format -msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n" -msgstr "Warnung: die Option -K ist veraltet und sollte nicht mehr verwendet werden. Verwenden Sie bitte stattdessen die erweiterte Option „-E nodiscard“\n" - -#: misc/mke2fs.c:1418 +#: misc/mke2fs.c:1306 msgid "in malloc for bad_blocks_filename" msgstr "in malloc for bad_blocks_filename" -#: misc/mke2fs.c:1428 +#: misc/mke2fs.c:1316 #, c-format msgid "invalid reserved blocks percent - %s" msgstr "Unzulässige \"Reservierte Blöcke\"-Prozentangabe - %s" -#: misc/mke2fs.c:1446 +#: misc/mke2fs.c:1334 #, c-format msgid "bad revision level - %s" msgstr "ungültiges Intervall - %s" -#: misc/mke2fs.c:1458 +#: misc/mke2fs.c:1346 #, c-format msgid "invalid inode size - %s" msgstr "Unzulässige Inode-Größe - %s" -#: misc/mke2fs.c:1478 +#: misc/mke2fs.c:1366 #, c-format msgid "bad num inodes - %s" msgstr "ungültiges Intervall - %s" -#: misc/mke2fs.c:1495 -msgid "The -t option may only be used once" -msgstr "Die Option -t darf nur eimal angegeben werden" - -#: misc/mke2fs.c:1503 -msgid "The -T option may only be used once" -msgstr "Die Option -T darf nur eimal angegeben werden" - -#: misc/mke2fs.c:1553 misc/mke2fs.c:2514 +#: misc/mke2fs.c:1431 misc/mke2fs.c:2203 #, c-format msgid "while trying to open journal device %s\n" msgstr "beim Versuch, das Journal-Device %s zu öffnen\n" -#: misc/mke2fs.c:1559 +#: misc/mke2fs.c:1437 #, c-format msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n" msgstr "Journal-Device Blockgröße (%d) kleiner als Minimum-Blockgröße %d\n" -#: misc/mke2fs.c:1565 +#: misc/mke2fs.c:1443 #, c-format msgid "Using journal device's blocksize: %d\n" msgstr "Verwende die Blockgrösse des Geräts: %d\n" -#: misc/mke2fs.c:1576 +#: misc/mke2fs.c:1452 +#, c-format +msgid "%d-byte blocks too big for system (max %d)" +msgstr "%d-Byte Blöcke zu groß für das System (max %d)" + +#: misc/mke2fs.c:1456 +#, c-format +msgid "" +"Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +msgstr "" +"Warnung: %d-byte Blöcke sind zu groß für das System (max %d), fahre dennoch " +"fort\n" + +#: misc/mke2fs.c:1464 #, c-format -msgid "invalid blocks '%s' on device '%s'" -msgstr "ungültige Blöcke „%s“ auf Gerät „%s“" +msgid "invalid blocks count - %s" +msgstr "ungültige Anzahl Blöcke - %s" -#: misc/mke2fs.c:1586 +#: misc/mke2fs.c:1474 msgid "filesystem" msgstr "Dateisystem" -#: misc/mke2fs.c:1599 resize/main.c:355 +#: misc/mke2fs.c:1510 +#, c-format +msgid "" +"%s: Size of device %s too big to be expressed in 32 bits\n" +"\tusing a blocksize of %d.\n" +msgstr "" +"%s: Größe von Gerät %s lässt sich in 32 Bits nicht darstellen\n" +"\teine Blockgröße von %d wird verwendet.\n" + +#: misc/mke2fs.c:1519 resize/main.c:382 msgid "while trying to determine filesystem size" msgstr "beim Bestimmen der Dateisystemgröße" -#: misc/mke2fs.c:1605 +#: misc/mke2fs.c:1526 msgid "" "Couldn't determine device size; you must specify\n" "the size of the filesystem\n" @@ -4493,66 +4272,52 @@ msgstr "" "Konnte die Gerätegröße nicht ermitteln. Geben\n" "Sie die Größe des Dateisystems an\n" -#: misc/mke2fs.c:1612 +#: misc/mke2fs.c:1533 msgid "" "Device size reported to be zero. Invalid partition specified, or\n" "\tpartition table wasn't reread after running fdisk, due to\n" "\ta modified partition being busy and in use. You may need to reboot\n" "\tto re-read your partition table.\n" msgstr "" -"Zurückgegebene Gerätegröße ist gleich null. Es wurde eine ungültige\n" -"\tPartition angegeben oder die Partitionstabelle wurde nach einem\n" -"\tfdisk-Lauf nicht wieder eingelesen, weil eine veränderte Partition\n" -"\tin Gebrauch und gesperrt ist. Sie könnten gezwungen sein, neu zu\n" -"\tbooten, um die Partitionstabelle neu einzulesen.\n" +"Zurückgegebene Gerätegröße ist gleich null. Unvollständige Partition\n" +"\tangegeben oder die Partitionstabelle wurde nach einem fdisk-Lauf\n" +"\tnicht wieder eingelesen, weil eine veränderte Partition in Gebrauch\n" +"\tund gesperrt ist. Sie könnten gezwungen sein, neu zu booten, um die\n" +"\tPartitionstabelle neu einzulesen.\n" -#: misc/mke2fs.c:1629 +#: misc/mke2fs.c:1551 msgid "Filesystem larger than apparent device size." msgstr "Dateisystem ist größer als augenscheinlich das Gerät selbst." -#: misc/mke2fs.c:1649 +#: misc/mke2fs.c:1557 #, c-format msgid "Failed to parse fs types list\n" msgstr "Analyse der Liste von Dateisystemen war nicht möglich\n" -#: misc/mke2fs.c:1703 -#, 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 "" -"%1$s: Die Größe von Gerät %3$s (0x%2$llx) lässt sich bei Verwendung einer\n" -"\tBlockgröße von %4$d nicht mit 32 Bits darstellen.\n" - -#: misc/mke2fs.c:1719 +#: misc/mke2fs.c:1591 msgid "fs_types for mke2fs.conf resolution: " msgstr "fs_types für mke2fs.conf Lösung: " -#: misc/mke2fs.c:1726 +#: misc/mke2fs.c:1598 #, c-format msgid "Filesystem features not supported with revision 0 filesystems\n" msgstr "" "Dateisystem-Eigenschaften werden für Dateisysteme der Revision 0 nicht\n" "\tunterstützt\n" -#: misc/mke2fs.c:1733 +#: misc/mke2fs.c:1605 #, c-format msgid "Sparse superblocks not supported with revision 0 filesystems\n" msgstr "" "Verteilte Superblöcke werden für Dateisysteme der Revision 0 nicht\n" "\tunterstützt\n" -#: misc/mke2fs.c:1745 +#: misc/mke2fs.c:1617 #, c-format msgid "Journals not supported with revision 0 filesystems\n" msgstr "Journale werden für Dateisysteme der Revision 0 nicht unterstützt\n" -#: misc/mke2fs.c:1759 -#, c-format -msgid "invalid reserved blocks percent - %lf" -msgstr "Unzulässige \"Reservierte Blöcke\"-Prozentangabe - %lf" - -#: misc/mke2fs.c:1775 +#: misc/mke2fs.c:1635 #, c-format msgid "" "The resize_inode and meta_bg features are not compatible.\n" @@ -4561,164 +4326,158 @@ msgstr "" "Die Eigenschaften resize_inode und meta_bg sind nicht kompatibel.\n" "Sie können nicht gleichzeitig aktiviert werden.\n" -#: misc/mke2fs.c:1792 +#: misc/mke2fs.c:1652 msgid "while trying to determine hardware sector size" msgstr "beim Ermitteln der Hardware-Sektorgröße" -#: misc/mke2fs.c:1798 +#: misc/mke2fs.c:1658 +#, fuzzy msgid "while trying to determine physical sector size" -msgstr "beim Ermitteln der physischen Sektorgröße" +msgstr "beim Ermitteln der Hardware-Sektorgröße" -#: misc/mke2fs.c:1831 +#: misc/mke2fs.c:1687 +#, fuzzy msgid "while setting blocksize; too small for device\n" -msgstr "beim Setzen der Blockgröße; zu klein für das Gerät\n" +msgstr "beim Setzen der Blockgruppen-Prüfsummeninfo" -#: misc/mke2fs.c:1836 -#, c-format -msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n" -msgstr "Warnung: die vorgegebene Blockgröße %d ist kleiner als die physische Sektorgröße %d\n" +#: misc/mke2fs.c:1691 +#, fuzzy, c-format +msgid "" +"Warning: specified blocksize %d is less than device physical sectorsize %d, " +"forced to continue\n" +msgstr "" +"Warnung: %d-byte Blöcke sind zu groß für das System (max %d), fahre dennoch " +"fort\n" -#: misc/mke2fs.c:1867 +#: misc/mke2fs.c:1712 #, c-format msgid "warning: Unable to get device geometry for %s\n" msgstr "Warnung: Die Geometrie für Gerät %s konnte nicht erfragt werden\n" -#: misc/mke2fs.c:1870 +#: misc/mke2fs.c:1715 #, c-format msgid "%s alignment is offset by %lu bytes.\n" msgstr "Die Ausrichtung von %s ist um %lu Bytes verschoben.\n" -#: misc/mke2fs.c:1872 +#: misc/mke2fs.c:1717 #, c-format -msgid "This may result in very poor performance, (re)-partitioning suggested.\n" +msgid "" +"This may result in very poor performance, (re)-partitioning suggested.\n" msgstr "" "Das könnte zu sehr schlechter Leistung führen. Eine (Neu-)Partionierung\n" " wird empfohlen.\n" -#: misc/mke2fs.c:1883 -#, c-format -msgid "%d-byte blocks too big for system (max %d)" -msgstr "%d-Byte Blöcke zu groß für das System (max %d)" - -#: misc/mke2fs.c:1887 -#, c-format -msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" -msgstr "Warnung: %d-byte Blöcke sind zu groß für das System (max %d), fahre dennoch fort\n" - -#: misc/mke2fs.c:1925 +#: misc/mke2fs.c:1745 msgid "reserved online resize blocks not supported on non-sparse filesystem" msgstr "" "Für Online-Grössenänderungen reservierte Blöcke werden auf Dateisystemen\n" "\tohne Unterstützung für Lückenkompression nicht unterstützt" -#: misc/mke2fs.c:1934 +#: misc/mke2fs.c:1754 msgid "blocks per group count out of range" -msgstr "Anzahl der Blöcke pro Gruppe ausserhalb des gültigen Bereichs" +msgstr "Anzahl der Blöcke pro Gruppe ausserhaalb des gültigen Bereichs" -#: misc/mke2fs.c:1949 +#: misc/mke2fs.c:1769 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" -msgstr "Eigenschaft flex_bg wurde nicht aktiviert, daher darf flex_bg Grösse nicht angegeben werden" +msgstr "" +"Eigenschaft flex_bg wurde nicht aktiviert, daher darf flex_bg Grösse nicht " +"angegeben werden" -#: misc/mke2fs.c:1961 +#: misc/mke2fs.c:1781 #, c-format msgid "invalid inode size %d (min %d/max %d)" msgstr "ungültige Inode-Größe %d (min %d/max %d)" -#: misc/mke2fs.c:1979 +#: misc/mke2fs.c:1795 #, c-format msgid "too many inodes (%llu), raise inode ratio?" msgstr "zu viele Inodes (%llu), Inode-Verhältnis erhöhen?" -#: misc/mke2fs.c:1986 +#: misc/mke2fs.c:1800 #, c-format msgid "too many inodes (%llu), specify < 2^32 inodes" msgstr "zu viele Inodes (%llu), sie müssen weniger als 2^32 Inodes angeben" -#: misc/mke2fs.c:2000 +#: misc/mke2fs.c:1815 #, c-format msgid "" "inode_size (%u) * inodes_count (%u) too big for a\n" -"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n" +"\tfilesystem with %lu blocks, specify higher inode_ratio (-i)\n" "\tor lower inode count (-N).\n" msgstr "" -"Inodegröße (%u) * Anzahl_Inodes (%u) ist zu gross für ein\n" -"\tDateisystem mit %llu Blöcken, geben Sie bitte entweder ein höheres\n" -"\tInodeverhältnis (-i) oder eine niedrigere Anzahl an Inodes (-N) an.\n" +"inode_size (%u) * inodes_count (%u) is zu gross für ein\n" +"\tDateisystem mit %lu Blöcken, geben Sie bitte entweder ein höheres\n" +"\tinode_ratio (-i) oder eine niedrigere Anzahl an Inodes (-N) an.\n" + +#: misc/mke2fs.c:1908 misc/tune2fs.c:1494 +msgid "Couldn't allocate memory for tdb filename\n" +msgstr "Kann keinen Speicher für den tdb-Dateinamen reservieren\n" + +#: misc/mke2fs.c:1921 misc/tune2fs.c:1516 +#, c-format +msgid "while trying to delete %s" +msgstr "beim Versuch, %s zu löschen" -#: misc/mke2fs.c:2119 +#: misc/mke2fs.c:1931 #, c-format msgid "" "Overwriting existing filesystem; this can be undone using the command:\n" " e2undo %s %s\n" "\n" msgstr "" -"Ãœberschreibe das bestehende Dateisystem; dies kann rückgängig gemacht werden\n" +"Ãœberschreibe das bestehende Dateisystem; dies kann rückgängig gemacht " +"werden\n" "durch den Befehl:\n" " e2undo %s %s\n" "\n" -#: misc/mke2fs.c:2133 -msgid "while trying to setup undo file\n" -msgstr "beim Erstellen der Undodatei\n" +#: misc/mke2fs.c:1968 +#, c-format +msgid "Calling BLKDISCARD from %llu to %llu " +msgstr "Der Aufruf von BLKDISCARD für den Bereich von %llu bis %llu war " -#: misc/mke2fs.c:2159 -msgid "Discarding device blocks: " -msgstr "Blöcke des Gerätes werden verworfen: " +#: misc/mke2fs.c:1972 +#, c-format +msgid "failed.\n" +msgstr "nicht erfolgreich.\n" -#: misc/mke2fs.c:2176 -msgid "failed - " -msgstr "nicht erfolgreich - " +#: misc/mke2fs.c:1974 +#, c-format +msgid "succeeded.\n" +msgstr "erfolgreich.\n" -#: misc/mke2fs.c:2283 +#: misc/mke2fs.c:2023 msgid "while setting up superblock" msgstr "beim Erstellen des Superblocks" -#: misc/mke2fs.c:2292 -#, c-format -msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" -msgstr "Verwerfen war erfolgreich und wird Nullen zurückliefern - das Löschen der Inode-Tabelle wird übersprungen \n" - -#: misc/mke2fs.c:2375 +#: misc/mke2fs.c:2087 #, c-format msgid "unknown os - %s" msgstr "unbekanntes OS - %s" -#: misc/mke2fs.c:2427 -#, c-format -msgid "Allocating group tables: " -msgstr "Platz für Gruppentabellen wird angefordert: " - -#: misc/mke2fs.c:2431 +#: misc/mke2fs.c:2141 msgid "while trying to allocate filesystem tables" msgstr "beim Zuordnen von Dateisystemtabellen" -#: misc/mke2fs.c:2440 -msgid "" -"\n" -"\twhile converting subcluster bitmap" -msgstr "" -"\n" -"\tbeim Konvertieren der Subcluster-Bitmap" - -#: misc/mke2fs.c:2483 +#: misc/mke2fs.c:2172 #, c-format -msgid "while zeroing block %llu at end of filesystem" -msgstr "beim Nullen von Block %llu am Ende des Dateisystems" +msgid "while zeroing block %u at end of filesystem" +msgstr "beim Nullen von Block %u am Ende des Dateisystems" -#: misc/mke2fs.c:2496 +#: misc/mke2fs.c:2185 msgid "while reserving blocks for online resize" msgstr "beim Lesen des Bad-Block-Inodes" -#: misc/mke2fs.c:2507 misc/tune2fs.c:640 +#: misc/mke2fs.c:2196 misc/tune2fs.c:479 msgid "journal" msgstr "Journal" -#: misc/mke2fs.c:2519 +#: misc/mke2fs.c:2208 #, c-format msgid "Adding journal to device %s: " msgstr "Erstelle Journal auf Gerät %s: " -#: misc/mke2fs.c:2526 +#: misc/mke2fs.c:2215 #, c-format msgid "" "\n" @@ -4727,49 +4486,27 @@ msgstr "" "\n" "\tbeim Erstellen des Journals auf Gerät %s" -#: misc/mke2fs.c:2531 misc/mke2fs.c:2563 misc/tune2fs.c:669 misc/tune2fs.c:683 +#: misc/mke2fs.c:2220 misc/mke2fs.c:2252 misc/tune2fs.c:508 misc/tune2fs.c:522 #, c-format msgid "done\n" msgstr "erledigt\n" -#: misc/mke2fs.c:2540 +#: misc/mke2fs.c:2229 #, c-format msgid "Skipping journal creation in super-only mode\n" msgstr "Die Erzeugung eines Journals wird im Nur-Super Modus übersprungen\n" -#: misc/mke2fs.c:2551 +#: misc/mke2fs.c:2240 #, c-format msgid "Creating journal (%u blocks): " msgstr "Erstelle Journal (%u Blöcke): " -#: misc/mke2fs.c:2559 -msgid "" -"\n" -"\twhile trying to create journal" -msgstr "" -"\n" -"\tbeim Erstellen des Journals" - -#: misc/mke2fs.c:2570 misc/tune2fs.c:446 -#, c-format -msgid "" -"\n" -"Error while enabling multiple mount protection feature." -msgstr "" -"\n" -"Fehler beim Aktivieren des Schutzes vor mehrfachem Einhängen." - -#: misc/mke2fs.c:2575 -#, c-format -msgid "Multiple mount protection is enabled with update interval %d seconds.\n" -msgstr "Der Schutz vor mehrfachem Einhängen wurde mit einem Intervall von %d Sekunden aktiviert\n" - -#: misc/mke2fs.c:2588 +#: misc/mke2fs.c:2257 #, c-format msgid "Writing superblocks and filesystem accounting information: " msgstr "Schreibe Superblöcke und Dateisystem-Accountinginformationen: " -#: misc/mke2fs.c:2595 +#: misc/mke2fs.c:2262 #, c-format msgid "" "\n" @@ -4778,7 +4515,7 @@ msgstr "" "\n" "Warnung: Probleme beim Schreiben der Superblöcke." -#: misc/mke2fs.c:2597 +#: misc/mke2fs.c:2265 #, c-format msgid "" "done\n" @@ -4787,12 +4524,12 @@ msgstr "" "erledigt\n" "\n" -#: misc/mklost+found.c:50 +#: misc/mklost+found.c:49 #, c-format msgid "Usage: mklost+found\n" msgstr "Aufruf: mklost+found\n" -#: misc/partinfo.c:41 +#: misc/partinfo.c:39 #, c-format msgid "" "Usage: %s device...\n" @@ -4807,106 +4544,103 @@ msgstr "" "Zum Beispiel: %s /dev/hda\n" "\n" -#: misc/partinfo.c:51 +#: misc/partinfo.c:49 #, c-format msgid "Cannot open %s: %s" msgstr "Kann %s nicht öffnen: %s" -#: misc/partinfo.c:57 +#: misc/partinfo.c:55 #, c-format msgid "Cannot get geometry of %s: %s" msgstr "Geometrie von %s kann nicht ermittelt werden: %s" -#: misc/partinfo.c:65 +#: misc/partinfo.c:63 #, c-format msgid "Cannot get size of %s: %s" msgstr "Grösse von %s kann nicht gelesen werden: %s" -#: misc/partinfo.c:71 +#: misc/partinfo.c:69 #, c-format msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n" msgstr "%s: h=%3d s=%3d c=%4d Start=%8d Grösse=%8lu Ende=%8d\n" -#: misc/tune2fs.c:107 +#: misc/tune2fs.c:96 msgid "Please run e2fsck on the filesystem.\n" msgstr "Lassen Sie bitte e2fsck über das Dateisystem laufen.\n" -#: misc/tune2fs.c:116 +#: misc/tune2fs.c:105 #, c-format msgid "" "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" -"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p mmp_update_interval]\n" +"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n" "\t[ -I new_inode_size ] device\n" msgstr "" -"Aufruf: %s [-c max-Anzahl-Einhängen] [-e Fehler-Verhalten] [-g Gruppe]\n" +"Aufruf: %s [-c max-Anzahl-Mounts] [-e Fehler-Verhalten] [-g Gruppe]\n" "\t[-i Intervall[d|m|w]] [-j] [-J Journal-Optionen] [-l]\n" -"\t[-m reservierte_Blöcke_Prozent] [-o [^]Einhäng_Optionen[,...]] [-p mmp_update_intervall]\n" +"\t[-m reservierte_Blöcke_Prozent] [-o [^]Einhäng_Optionen[,...]]\n" "\t[-r Anzahl_reservierte_Blöcke] [-u Benutzer] [-C Anzahl_Einhängen]\n" "\t[-L Volume_Label] [-M letztes_eingehängtes_Verzeichnis]\n" "\t[-O [^]Eigenschaft[,...]] [-E erweiterte-Option[,...]]\n" "\t[-T letzter_Prüfzeitpunkt] [-U UUID] [-I neue_Inodegrösse] Gerät\n" -#: misc/tune2fs.c:205 +#: misc/tune2fs.c:190 msgid "while trying to open external journal" msgstr "beim Öffnen des externen Journals" -#: misc/tune2fs.c:210 +#: misc/tune2fs.c:194 #, c-format msgid "%s is not a journal device.\n" msgstr "%s ist kein Journal-Gerät.\n" -#: misc/tune2fs.c:225 +#: misc/tune2fs.c:209 msgid "Journal superblock not found!\n" msgstr "Journal-Superblock nicht gefunden!\n" -#: misc/tune2fs.c:236 +#: misc/tune2fs.c:221 msgid "Filesystem's UUID not found on journal device.\n" msgstr "UUID des Dateisystems auf Journal-Gerät nicht gefunden.\n" -#: misc/tune2fs.c:257 -msgid "" -"Cannot locate journal device. It was NOT removed\n" -"Use -f option to remove missing journal device.\n" -msgstr "" -"Das Journal-Gerät konnte nicht gefunden werden. Es wurde NICHT entfernt\n" -"Verwenden Sie die Option -f, um das fehlende Journal-Gerät zu entfernen.\n" +#: misc/tune2fs.c:242 +msgid "Journal NOT removed\n" +msgstr "Journal NICHT gelöscht\n" -#: misc/tune2fs.c:265 +#: misc/tune2fs.c:248 msgid "Journal removed\n" msgstr "Journal gelöscht\n" -#: misc/tune2fs.c:309 +#: misc/tune2fs.c:288 msgid "while reading bitmaps" msgstr "beim Lesen von Bitmaps" -#: misc/tune2fs.c:317 +#: misc/tune2fs.c:296 msgid "while clearing journal inode" msgstr "beim Bereinigen des Journal-Inodes" -#: misc/tune2fs.c:328 +#: misc/tune2fs.c:307 msgid "while writing journal inode" msgstr "beim Schreiben des Journal-Inodes" -#: misc/tune2fs.c:363 +#: misc/tune2fs.c:322 #, c-format -msgid "(and reboot afterwards!)\n" -msgstr "(und hinterher das System neu starten!)\n" +msgid "Invalid mount option set: %s\n" +msgstr "Ungültige Einhänge-Option gesetzt: %s\n" -#: misc/tune2fs.c:396 +#: misc/tune2fs.c:358 #, c-format msgid "Clearing filesystem feature '%s' not supported.\n" -msgstr "Das Zurücksetzen von Dateisystem-Eigenschaft „%s“ wird nicht unterstützt.\n" +msgstr "" +"Das Zurücksetzen von Dateisystem-Eigenschaft »%s« wird nicht unterstützt.\n" -#: misc/tune2fs.c:402 +#: misc/tune2fs.c:364 #, c-format msgid "Setting filesystem feature '%s' not supported.\n" -msgstr "Das Setzen der Dateisystem-Eigenschaft „%s“ wird nicht unterstützt.\n" +msgstr "Das Setzen der Dateisystem-Eigenschaft »%s« wird nicht unterstützt.\n" -#: misc/tune2fs.c:411 +#: misc/tune2fs.c:373 msgid "" "The has_journal feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" @@ -4914,7 +4648,7 @@ msgstr "" "Die has_jounal Eigenschaft kann nur zurückgesetzt werden, wenn das\n" "Dateisystem nicht oder im Nur-Lesen-Modus eingehängt ist.\n" -#: misc/tune2fs.c:419 +#: misc/tune2fs.c:381 msgid "" "The needs_recovery flag is set. Please run e2fsck before clearing\n" "the has_journal flag.\n" @@ -4922,45 +4656,7 @@ msgstr "" "Das needs_recovery Flag ist gesetzt. Bitte starten sie e2fsck vor\n" "der Zurücksetzung des has_journal Flags.\n" -#: misc/tune2fs.c:438 -msgid "" -"The multiple mount protection feature can't\n" -"be set if the filesystem is mounted or\n" -"read-only.\n" -msgstr "" -"Die Eigenschaft \"Schutz vor mehrfachem Einhängen\" kann nur nicht\n" -"zurückgesetzt werden, wenn das Dateisystem nicht oder nur zum Lesen\n" -"eingehängt ist.\n" - -#: misc/tune2fs.c:456 -#, c-format -msgid "Multiple mount protection has been enabled with update interval %ds.\n" -msgstr "" -"Schutz vor mehrfachem Einhängen wurde aktiviert mit einem Aktualisierungs-\n" -"intervall von %ds.\n" - -#: misc/tune2fs.c:465 -msgid "" -"The multiple mount protection feature cannot\n" -"be disabled if the filesystem is readonly.\n" -msgstr "" -"Der Schutz vor mehrfachem Einhängen kann nicht deaktiviert werden,\n" -"wenn das Dateisystem nur lesbar ist.\n" - -#: misc/tune2fs.c:473 -msgid "Error while reading bitmaps\n" -msgstr "Fehler beim Lesen der Bitmaps\n" - -#: misc/tune2fs.c:482 -#, c-format -msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n" -msgstr "Die magische Zahl im MMP-Block passt nicht. Erwartet: %x, tatsächlich: %x\n" - -#: misc/tune2fs.c:487 -msgid "while reading MMP block." -msgstr "beim Lesen des MMP-Blockes." - -#: misc/tune2fs.c:519 +#: misc/tune2fs.c:414 msgid "" "Clearing the flex_bg flag would cause the the filesystem to be\n" "inconsistent.\n" @@ -4968,7 +4664,7 @@ msgstr "" "Das Zurücksetzen der Kennung flex_bg würde das Dateisystem inkonsistent\n" "machen.\n" -#: misc/tune2fs.c:530 +#: misc/tune2fs.c:425 msgid "" "The huge_file feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" @@ -4976,19 +4672,16 @@ msgstr "" "Die huge_file Eigenschaft kann nur zurückgesetzt werden, wenn das\n" "Dateisystem nicht oder im Nur-Lesen-Modus eingehängt ist.\n" -#: misc/tune2fs.c:590 -msgid "" -"\n" -"Warning: '^quota' option overrides '-Q'arguments.\n" -msgstr "" -"\n" -"Warnung: die Option „^quota“ hat Vorrang vor „-Q“ Optionen.\n" +#: misc/tune2fs.c:453 +#, c-format +msgid "(and reboot afterwards!)\n" +msgstr "(und hinterher das System neu starten!)\n" -#: misc/tune2fs.c:635 +#: misc/tune2fs.c:474 msgid "The filesystem already has a journal.\n" msgstr "Das Dateisystem hat schon ein Journal.\n" -#: misc/tune2fs.c:653 +#: misc/tune2fs.c:492 #, c-format msgid "" "\n" @@ -4997,21 +4690,21 @@ msgstr "" "\n" "\tbeim Öffnen des Journals auf %s\n" -#: misc/tune2fs.c:657 +#: misc/tune2fs.c:496 #, c-format msgid "Creating journal on device %s: " msgstr "Erstelle Journal auf Gerät %s: " -#: misc/tune2fs.c:665 +#: misc/tune2fs.c:504 #, c-format msgid "while adding filesystem to journal on %s" msgstr "beim Hinzufügen des Dateisystems zum Journal auf %s" -#: misc/tune2fs.c:671 +#: misc/tune2fs.c:510 msgid "Creating journal inode: " msgstr "Erstelle Journal-Inode: " -#: misc/tune2fs.c:680 +#: misc/tune2fs.c:519 msgid "" "\n" "\twhile trying to create journal file" @@ -5019,122 +4712,85 @@ msgstr "" "\n" "\tbeim Erstellen der Journaldatei" -#: misc/tune2fs.c:754 -msgid "Couldn't allocate memory to parse quota options!\n" -msgstr "Speicher zum Parsen der Quota-Optionen konnte nicht reserviert werden!\n" - -#: misc/tune2fs.c:776 -msgid "" -"\n" -"Bad quota options specified.\n" -"\n" -"Following valid quota options are available (pass by separating with comma):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" -msgstr "" -"\n" -"Es wurden ungültige Quota-Optionen angegeben.\n" -"\n" -"Following valid quota options are available (pass by separating with comma):\n" -"Die folgenden Quotaoptionen sind verfügbar (durch Komma getrennt angeben):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" - -#: misc/tune2fs.c:837 +#: misc/tune2fs.c:585 #, c-format msgid "Couldn't parse date/time specifier: %s" msgstr "Konnte Datum/Zeit nicht parsen: %s" -#: misc/tune2fs.c:861 misc/tune2fs.c:874 +#: misc/tune2fs.c:609 misc/tune2fs.c:622 #, c-format msgid "bad mounts count - %s" msgstr "Ungültiger Mounts-Zähler - %s" -#: misc/tune2fs.c:890 +#: misc/tune2fs.c:638 #, c-format msgid "bad error behavior - %s" msgstr "ungültiges Fehler-Verhalten - %s" -#: misc/tune2fs.c:917 +#: misc/tune2fs.c:665 #, c-format msgid "bad gid/group name - %s" msgstr "ungültige(r) GID oder Gruppenname - %s" -#: misc/tune2fs.c:950 +#: misc/tune2fs.c:698 #, c-format msgid "bad interval - %s" msgstr "ungültiges Intervall - %s" -#: misc/tune2fs.c:979 +#: misc/tune2fs.c:727 #, c-format msgid "bad reserved block ratio - %s" msgstr "ungültiges Reservierte-Blöcke-Verhältnis - %s" -#: misc/tune2fs.c:994 +#: misc/tune2fs.c:742 msgid "-o may only be specified once" msgstr "-o darf nur eimal angegeben werden" -#: misc/tune2fs.c:1003 +#: misc/tune2fs.c:752 msgid "-O may only be specified once" msgstr "-O darf nur eimal angegeben werden" -#: misc/tune2fs.c:1018 +#: misc/tune2fs.c:762 #, c-format msgid "bad reserved blocks count - %s" msgstr "ungültige Anzahl von reservierten Blöcken - %s" -#: misc/tune2fs.c:1047 +#: misc/tune2fs.c:791 #, c-format msgid "bad uid/user name - %s" msgstr "ungültige(r) UID/Benutzername - %s" -#: misc/tune2fs.c:1064 +#: misc/tune2fs.c:808 #, c-format msgid "bad inode size - %s" msgstr "Unzulässige Inodegröße - %s" -#: misc/tune2fs.c:1071 +#: misc/tune2fs.c:815 #, c-format msgid "Inode size must be a power of two- %s" msgstr "Inodegrösse muss eine Zweierpotenz sein- %s" -#: misc/tune2fs.c:1165 -#, c-format -msgid "mmp_update_interval too big: %lu\n" -msgstr "mmp_update_interval ist zu groß: %lu\n" - -#: misc/tune2fs.c:1170 -#, c-format -msgid "Setting multiple mount protection update interval to %lu second\n" -msgid_plural "Setting multiple mount protection update interval to %lu seconds\n" -msgstr[0] "Setze das Intervall für den Schutz vor mehrfachem Einhängen auf %lu Sekunde\n" -msgstr[1] "Setze das Intervall für den Schutz vor mehrfachem Einhängen auf %lu Sekunden\n" - -#: misc/tune2fs.c:1193 +#: misc/tune2fs.c:904 #, c-format msgid "Invalid RAID stride: %s\n" msgstr "Ungültiger RAID Stride: %s\n" -#: misc/tune2fs.c:1208 +#: misc/tune2fs.c:919 #, c-format msgid "Invalid RAID stripe-width: %s\n" msgstr "Ungültige RAID Stripe-Breite: %s\n" -#: misc/tune2fs.c:1223 +#: misc/tune2fs.c:934 #, c-format msgid "Invalid hash algorithm: %s\n" msgstr "Ungültiger Hashalgorithmus: %s\n" -#: misc/tune2fs.c:1229 +#: misc/tune2fs.c:940 #, c-format msgid "Setting default hash algorithm to %s (%d)\n" msgstr "Der standard Hashalgorithmus wird auf %s (%d) gesetzt\n" -#: misc/tune2fs.c:1248 +#: misc/tune2fs.c:948 #, c-format msgid "" "\n" @@ -5144,11 +4800,9 @@ msgid "" "\tis set off by an equals ('=') sign.\n" "\n" "Valid extended options are:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" msgstr "" @@ -5156,43 +4810,35 @@ msgstr "" "Ungültige Optionen wurden angegeben.\n" "\n" "Erweiterte Optionen werden mit Kommatas getrennt angegeben und erwarten\n" -"\teventuell ein Argument, welches mit Gleichheitszeichen („=“)\n" +"\teventuell ein Argument, welches mit Gleichheitszeichen (»=«)\n" "\tzugewiesenwird.\n" "\n" "Gültige erweiterte Optionen sind:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe-width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" -#: misc/tune2fs.c:1714 -msgid "Failed to read inode bitmap\n" -msgstr "Die Inode-Bitmap konnte nicht gelesen werden\n" - -#: misc/tune2fs.c:1719 -msgid "Failed to read block bitmap\n" -msgstr "Die Block-Bitmaps konnten nicht gelesen werden\n" - -#: misc/tune2fs.c:1736 resize/resize2fs.c:802 +#: misc/tune2fs.c:1421 resize/resize2fs.c:790 msgid "blocks to be moved" msgstr "zu verschiebende Blöcke" -#: misc/tune2fs.c:1739 +#: misc/tune2fs.c:1424 msgid "Failed to allocate block bitmap when increasing inode size\n" -msgstr "Beim Vergrössern der Inodes konnte keine Block-Bitmap angelegt werden\n" +msgstr "" +"Beim Vergrössern der Inodes konnte keine Block-Bitmap angelegt werden\n" -#: misc/tune2fs.c:1745 +#: misc/tune2fs.c:1430 msgid "Not enough space to increase inode size \n" msgstr "Der Platz reicht nicht aus um die Inodegrösse zu erhöhen \n" -#: misc/tune2fs.c:1750 +#: misc/tune2fs.c:1435 msgid "Failed to relocate blocks during inode resize \n" -msgstr "Beim Vergrössern der Inodes konnten die Blöcke nicht verschoben werden \n" +msgstr "" +"Beim Vergrössern der Inodes konnten die Blöcke nicht verschoben werden \n" -#: misc/tune2fs.c:1782 +#: misc/tune2fs.c:1467 msgid "" "Error in resizing the inode size.\n" "Run e2undo to undo the file system changes. \n" @@ -5200,16 +4846,7 @@ msgstr "" "Fehler beim Verändern der Inodegrösse.\n" "Starten Sie e2undo um die Änderungen am Dateisystem rückgängig zu machen. \n" -#: misc/tune2fs.c:1809 -msgid "Couldn't allocate memory for tdb filename\n" -msgstr "Kann keinen Speicher für den tdb-Dateinamen reservieren\n" - -#: misc/tune2fs.c:1831 -#, c-format -msgid "while trying to delete %s" -msgstr "beim Versuch, %s zu löschen" - -#: misc/tune2fs.c:1841 +#: misc/tune2fs.c:1526 #, c-format msgid "" "To undo the tune2fs operation please run the command\n" @@ -5221,72 +4858,57 @@ msgstr "" " e2undo %s %s\n" "\n" -#: misc/tune2fs.c:1910 -#, c-format -msgid "" -"MMP block magic is bad. Try to fix it by running:\n" -"'e2fsck -f %s'\n" -msgstr "" -"Die Kennung des MMP Blockes ist ungültig. Versuchen Sie ihn durch folgendes\n" -"Kommando zu reparieren:\n" -"„e2fsck -f %s“\n" - -#: misc/tune2fs.c:1928 +#: misc/tune2fs.c:1587 #, c-format msgid "The inode size is already %lu\n" msgstr "Die Inodegrösse ist bereits %lu\n" -#: misc/tune2fs.c:1934 +#: misc/tune2fs.c:1592 #, c-format msgid "Shrinking the inode size is not supported\n" msgstr "Das Schrumpfen der Inodegrösse wird nicht unterstützt\n" -#: misc/tune2fs.c:1981 +#: misc/tune2fs.c:1635 #, c-format msgid "Setting maximal mount count to %d\n" -msgstr "Die maximale Anzahl von Einhängungen wird auf %d gesetzt\n" +msgstr "Setze die maximale Mount-Anzahl auf %d\n" -#: misc/tune2fs.c:1987 +#: misc/tune2fs.c:1641 #, c-format msgid "Setting current mount count to %d\n" -msgstr "Die derzeitige Anzahl von Einhängungen wird auf %d gesetzt\n" +msgstr "Setze die derzeitige Mount-Anzahl auf %d\n" -#: misc/tune2fs.c:1992 +#: misc/tune2fs.c:1646 #, c-format msgid "Setting error behavior to %d\n" -msgstr "Das Fehler-Verhalten wird auf %d gesetzt\n" +msgstr "Setze das Fehler-Verhalten auf %d\n" -#: misc/tune2fs.c:1997 +#: misc/tune2fs.c:1651 #, c-format msgid "Setting reserved blocks gid to %lu\n" -msgstr "Die GID für reservierte Blöcke wird auf %lu gesetzt\n" +msgstr "Setze die GID für reservierte Blöcke auf %lu\n" -#: misc/tune2fs.c:2002 -#, c-format -msgid "interval between checks is too big (%lu)" -msgstr "Das Intervall zwischen den Prüfungen ist zu groß (%lu)" - -#: misc/tune2fs.c:2009 +#: misc/tune2fs.c:1656 #, c-format msgid "Setting interval between checks to %lu seconds\n" -msgstr "Das Intervall zwischen zwei Checks wird auf %lu Sekunden gesetzt\n" +msgstr "Setze das Intervall zwischen Checks auf %lu Sekunden\n" -#: misc/tune2fs.c:2016 +#: misc/tune2fs.c:1663 #, c-format -msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n" -msgstr "Der Prozentsatz reservierter Böcke wird auf %g%% (%llu Blöcke) gesetzt\n" +msgid "Setting reserved blocks percentage to %g%% (%u blocks)\n" +msgstr "Setze den Prozentsatz reservierter Böcke auf %g%% (%u Blöcke)\n" -#: misc/tune2fs.c:2022 +#: misc/tune2fs.c:1670 #, c-format -msgid "reserved blocks count is too big (%llu)" -msgstr "Die Anzahl der reservierten Blöcke ist zu gross (%llu)" +msgid "reserved blocks count is too big (%lu)" +msgstr "Anzahl der reservierten Blöcke ist zu gross (%lu)" -#: misc/tune2fs.c:2029 +#: misc/tune2fs.c:1676 #, c-format -msgid "Setting reserved blocks count to %llu\n" -msgstr "Die Anzahl der reservierten Blöcke wird auf %llu gesetzt\n" +msgid "Setting reserved blocks count to %lu\n" +msgstr "Setze die Anzahl der reservierten Blöcke auf %lu\n" -#: misc/tune2fs.c:2035 +#: misc/tune2fs.c:1682 msgid "" "\n" "The filesystem already has sparse superblocks.\n" @@ -5294,7 +4916,7 @@ msgstr "" "\n" "Das Dateisystem hat bereits verteilte Superblöcke.\n" -#: misc/tune2fs.c:2042 +#: misc/tune2fs.c:1689 #, c-format msgid "" "\n" @@ -5303,48 +4925,36 @@ msgstr "" "\n" "Kennzeichen für verteilten Superblock gesetzt. %s" -#: misc/tune2fs.c:2047 +#: misc/tune2fs.c:1694 msgid "" "\n" "Clearing the sparse superflag not supported.\n" msgstr "" "\n" -"Das Zurücksetzen des Kennzeichens für „verteilter Superblock“ wird nicht\n" +"Das Zurücksetzen des Kennzeichens für »verteilter Superblock« wird nicht\n" "\tunterstützt.\n" -#: misc/tune2fs.c:2055 +#: misc/tune2fs.c:1701 #, c-format msgid "Setting time filesystem last checked to %s\n" -msgstr "Die Zeit des letzten Dateisystemchecks wird auf %s gesetzt\n" +msgstr "Setze die Zeit des letzten Dateisystemchecks auf %s\n" -#: misc/tune2fs.c:2061 +#: misc/tune2fs.c:1707 #, c-format msgid "Setting reserved blocks uid to %lu\n" -msgstr "Die UID für reservierte Blöcke wird auf %lu gesetzt\n" - -#: misc/tune2fs.c:2093 -msgid "Error in using clear_mmp. It must be used with -f\n" -msgstr "" -"Fehler bei der Verwendung von clear_mmp. Es muss zusammen mit -f\n" -"verwendet werden\n" - -#: misc/tune2fs.c:2111 -msgid "The quota feature may only be changed when the filesystem is unmounted.\n" -msgstr "" -"Quotas können nur aktiviert bzw. deaktiviert werden, wenn das Dateisystem nicht\n" -"eingehängt ist\n" +msgstr "Setze die UID für reservierte Blöcke auf %lu\n" -#: misc/tune2fs.c:2144 +#: misc/tune2fs.c:1758 msgid "Invalid UUID format\n" msgstr "Ungültiges UUID Format\n" -#: misc/tune2fs.c:2157 +#: misc/tune2fs.c:1770 msgid "The inode size may only be changed when the filesystem is unmounted.\n" msgstr "" "Die Grösse der Inodes kann nur geändert werden, wenn das Dateisystem\n" "nicht eingehängt ist.\n" -#: misc/tune2fs.c:2165 +#: misc/tune2fs.c:1777 msgid "" "Changing the inode size not supported for filesystems with the flex_bg\n" "feature enabled.\n" @@ -5352,41 +4962,31 @@ msgstr "" "Das Ändern der Inodegrösse wird auf Dateisystemen mit aktivierter flex_bg\n" "Eigenschaft nicht unterstützt.\n" -#: misc/tune2fs.c:2178 +#: misc/tune2fs.c:1789 #, c-format msgid "Setting inode size %lu\n" -msgstr "Die Inode-Größe wird auf %lu gesetzt\n" +msgstr "Setze Inode-Größe auf %lu\n" -#: misc/tune2fs.c:2181 -#, c-format -msgid "Failed to change inode size\n" -msgstr "Die Inode-Größe konnte nicht geändert werdeb\n" - -#: misc/tune2fs.c:2192 +#: misc/tune2fs.c:1799 #, c-format msgid "Setting stride size to %d\n" -msgstr "Die Stride-Größe wird auf %d gesetzt\n" +msgstr "Setze Stride-Größe auf %d\n" -#: misc/tune2fs.c:2197 +#: misc/tune2fs.c:1804 #, c-format msgid "Setting stripe width to %d\n" -msgstr "Die Stripe-Breite wird auf %d gesetzt\n" - -#: misc/tune2fs.c:2204 -#, c-format -msgid "Setting extended default mount options to '%s'\n" -msgstr "Als erweiterte Einhäng-Optionen werden in Zukunft „%s“ verwendet\n" +msgstr "Setze die Stripe-Breite auf %d\n" -#: misc/util.c:74 +#: misc/util.c:72 msgid "Proceed anyway? (y,n) " msgstr "Trotzdem fortsetzen? (j,n) " -#: misc/util.c:89 +#: misc/util.c:93 #, c-format msgid "Could not stat %s --- %s\n" msgstr "Status für %s konnte nicht ermittelt werden --- %s\n" -#: misc/util.c:92 +#: misc/util.c:96 msgid "" "\n" "The device apparently does not exist; did you specify it correctly?\n" @@ -5394,43 +4994,41 @@ msgstr "" "\n" "Das Gerät existiert offensichtlich nicht; haben Sie es richtig angegeben?\n" -#: misc/util.c:103 +#: misc/util.c:107 #, c-format msgid "%s is not a block special device.\n" msgstr "%s ist kein spezielles Block-Gerät.\n" -#: misc/util.c:132 +#: misc/util.c:136 #, c-format msgid "%s is entire device, not just one partition!\n" msgstr "%s ist das ganze Gerät, nicht nur eine Partition!\n" -#: misc/util.c:154 +#: misc/util.c:158 msgid "mke2fs forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "mke2fs trotzdem erzwungen. Hoffentlich ist /etc/mtab ungültig.\n" -#: misc/util.c:159 +#: misc/util.c:163 #, c-format msgid "will not make a %s here!\n" msgstr "werde dort kein %s erstellen!\n" -#: misc/util.c:166 +#: misc/util.c:170 msgid "mke2fs forced anyway.\n" msgstr "mke2fs wird sowieso erzwungen.\n" -#: misc/util.c:182 +#: misc/util.c:186 msgid "Couldn't allocate memory to parse journal options!\n" msgstr "Konnte keinen Speicher zur Analyse der Journal-Optionen anfordern!\n" -#: misc/util.c:207 -#, c-format +#: misc/util.c:211 +#, fuzzy, c-format msgid "" "\n" "Could not find journal device matching %s\n" -msgstr "" -"\n" -"Das Journalgerät %s ist nicht auffindbar\n" +msgstr "Konnte die magische Nummer des Journal-Superblocks nicht finden" -#: misc/util.c:228 +#: misc/util.c:232 msgid "" "\n" "Bad journal options specified.\n" @@ -5449,7 +5047,7 @@ msgstr "" "Ungültige Journal-Optionen wurden angegeben.\n" "\n" "Journal-Optionen werden durch Kommatas getrennt. Manche erwarten ein\n" -"\tArgument, welches mit Gleichheitszeichen („=“) zugewiesen wird.\n" +"\tArgument, welches mit Gleichheitszeichen (»=«) zugewiesen wird.\n" "\n" "Gültige Journal-Optionen sind:\n" "\tsize=\n" @@ -5459,7 +5057,7 @@ msgstr "" "\tliegen.\n" "\n" -#: misc/util.c:258 +#: misc/util.c:262 msgid "" "\n" "Filesystem too small for a journal\n" @@ -5467,7 +5065,7 @@ msgstr "" "\n" "Das Dateisystem ist zu klein für ein Journal\n" -#: misc/util.c:265 +#: misc/util.c:269 #, c-format msgid "" "\n" @@ -5476,9 +5074,9 @@ msgid "" msgstr "" "\n" "Die angegebene Journalgröße beträgt %d Blöcke. Sie muss aber zwischen\n" -"1024 und 10240000 Dateisystem-Blöcken liegen. Abbruch! \n" +"1024 und 102400 Dateisystem-Blöcken liegen. Abbruch! \n" -#: misc/util.c:273 +#: misc/util.c:277 msgid "" "\n" "Journal size too big for filesystem.\n" @@ -5496,150 +5094,26 @@ msgstr "" "alle %g Tage überprüft, je nachdem, was zuerst eintritt. Dies kann durch\n" "tune2fs -c oder -i geändert werden.\n" -#: misc/uuidd.c:48 -#, c-format -msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n" -msgstr "Aufruf %s [-d] [-p Pid-Datei] [-s Socketpfad] [-T Timeout]\n" - -#: misc/uuidd.c:50 -#, c-format -msgid " %s [-r|t] [-n num] [-s socketpath]\n" -msgstr " %s [-r|t] [-n Zahl] [-s Socketpfad]\n" - -#: misc/uuidd.c:52 -#, c-format -msgid " %s -k\n" -msgstr " %s -k\n" - -#: misc/uuidd.c:154 -msgid "bad arguments" -msgstr "unzulässige Argumente" - -#: misc/uuidd.c:172 -msgid "connect" -msgstr "verbinden" - -#: misc/uuidd.c:191 -msgid "write" -msgstr "schreiben" - -#: misc/uuidd.c:199 -msgid "read count" -msgstr "Anzhl Lesezugriffe" - -#: misc/uuidd.c:205 -msgid "bad response length" -msgstr "Ungültige Antwort-Länge" - -#: misc/uuidd.c:270 -#, c-format -msgid "uuidd daemon already running at pid %s\n" -msgstr "Der Uuid-Daemon läuft bereits mit PID %s\n" - -#: misc/uuidd.c:278 -#, c-format -msgid "Couldn't create unix stream socket: %s" -msgstr "Der Unix Streamsocket konnte nicht erzeugt werden: %s" - -#: misc/uuidd.c:307 -#, c-format -msgid "Couldn't bind unix socket %s: %s\n" -msgstr "Verbinden mit dem Unix-Socket %s war nicht möglich: %s\n" - -#: misc/uuidd.c:315 -#, c-format -msgid "Couldn't listen on unix socket %s: %s\n" -msgstr "Das Lauschen am Unix-Socket %s war nicht möglich: %s\n" - -#: misc/uuidd.c:353 -#, c-format -msgid "Error reading from client, len = %d\n" -msgstr "Fehler beim Lesen vom Klienten, Länge = %d\n" - -#: misc/uuidd.c:361 -#, c-format -msgid "operation %d, incoming num = %d\n" -msgstr "Operation %d, eingehende Zahl = %d\n" - -#: misc/uuidd.c:380 -#, c-format -msgid "Generated time UUID: %s\n" -msgstr "Erzeugte Zeit-UUID: %s\n" - -#: misc/uuidd.c:390 -#, c-format -msgid "Generated random UUID: %s\n" -msgstr "Erzeugte Zufalls-UUID: %s\n" - -#: misc/uuidd.c:399 -#, c-format -msgid "Generated time UUID %s and subsequent UUID\n" -msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n" -msgstr[0] "Zeit-UUID %s und %d weitere UUID wurden erzeugt\n" -msgstr[1] "Zeit-UUID %s und %d weitere UUIDs wurden erzeugt\n" - -#: misc/uuidd.c:420 -#, c-format -msgid "Generated %d UUID's:\n" -msgstr "Erzeugte %d UUIDs:\n" - -#: misc/uuidd.c:432 -#, c-format -msgid "Invalid operation %d\n" -msgstr "Ungültige Operation %d\n" - -#: misc/uuidd.c:476 misc/uuidd.c:498 -#, c-format -msgid "Bad number: %s\n" -msgstr "Unzulässige Zahl: %s\n" - -#: misc/uuidd.c:533 misc/uuidd.c:562 -#, c-format -msgid "Error calling uuidd daemon (%s): %s\n" -msgstr "Fehler beim Aufruf des UUID-Dämons (%s): %s\n" - -#: misc/uuidd.c:543 -#, c-format -msgid "%s and subsequent UUID\n" -msgid_plural "%s and subsequent %d UUIDs\n" -msgstr[0] "%s und eine weitere UUID\n" -msgstr[1] "%s und weitere %d UUIDs\n" - -#: misc/uuidd.c:547 -#, c-format -msgid "List of UUID's:\n" -msgstr "Liste der UUIDs:\n" - -#: misc/uuidd.c:568 -#, c-format -msgid "Unexpected reply length from server %d\n" -msgstr "Unerwartete Länge der Antwort von Server %d\n" - -#: misc/uuidd.c:585 -#, c-format -msgid "Couldn't kill uuidd running at pid %d: %s\n" -msgstr "Der uuidd mit pid %d konnte nicht beendet werden: %s\n" - -#: misc/uuidd.c:591 -#, c-format -msgid "Killed uuidd running at pid %d\n" -msgstr "Der uuidd mit pid %d wurde gewaltsam beendet\n" - -#: misc/uuidgen.c:32 +#: misc/uuidgen.c:31 #, c-format msgid "Usage: %s [-r] [-t]\n" msgstr "Aufruf: %s [-r] [-t]\n" -#: resize/extent.c:202 +#: resize/extent.c:196 msgid "# Extent dump:\n" msgstr "# Extent dump:\n" -#: resize/extent.c:203 +#: resize/extent.c:197 +#, c-format +msgid "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" +msgstr "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" + +#: resize/extent.c:200 #, c-format -msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n" -msgstr "#\tZahl=%llu, Größe=%llu, Cursor=%llu, Sortiert=%llu\n" +msgid "#\t\t %u -> %u (%d)\n" +msgstr "#\t\t %u -> %u (%d)\n" -#: resize/main.c:43 +#: resize/main.c:42 #, c-format msgid "" "Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" @@ -5648,200 +5122,195 @@ msgstr "" "Aufruf: %s [-d Debug_Optionen] [-f] [-F] [-M] [-P] [-p] Gerät [neue_Größe]\n" "\n" -#: resize/main.c:65 +#: resize/main.c:64 msgid "Extending the inode table" msgstr "Vergrößere die Inode-Tabelle" -#: resize/main.c:68 +#: resize/main.c:67 msgid "Relocating blocks" msgstr "Verteile die Blöcke neu" -#: resize/main.c:71 +#: resize/main.c:70 msgid "Scanning inode table" msgstr "Prüfe die Inode-Tabelle" -#: resize/main.c:74 +#: resize/main.c:73 msgid "Updating inode references" msgstr "Aktualisiere die Inode-Referenzen" -#: resize/main.c:77 +#: resize/main.c:76 msgid "Moving inode table" msgstr "Verschiebe die Inode-Tabelle" -#: resize/main.c:80 +#: resize/main.c:79 msgid "Unknown pass?!?" msgstr "Unbekannter Durchgang?!?" -#: resize/main.c:83 +#: resize/main.c:82 #, c-format msgid "Begin pass %d (max = %lu)\n" msgstr "Start von Durchgang %d (max = %lu)\n" -#: resize/main.c:259 +#: resize/main.c:265 #, c-format msgid "while opening %s" msgstr "beim Öffnen von %s" # c-format -#: resize/main.c:267 +#: resize/main.c:277 #, c-format msgid "while getting stat information for %s" msgstr "beim Ermitteln der Statusinformation für %s" -#: resize/main.c:325 resize/main.c:437 +#: resize/main.c:338 +#, c-format +msgid "" +"%s: The combination of flex_bg and\n" +"\t!resize_inode features is not supported by resize2fs.\n" +msgstr "" +"%s: Die Kombination der Eigenschaften flex_bg und\n" +"t!resize_inode wird von resize2fs nicht unterestützt.\n" + +#: resize/main.c:352 resize/main.c:452 #, c-format msgid "" "Please run 'e2fsck -f %s' first.\n" "\n" msgstr "" -"Bitte zuerst „e2fsck -f %s“ laufen lassen.\n" +"Bitte zuerst »e2fsck -f %s« laufen lassen.\n" "\n" -#: resize/main.c:329 +#: resize/main.c:356 #, c-format -msgid "Estimated minimum size of the filesystem: %llu\n" -msgstr "Geschätzte minimale Grösse des Dateisystems: %llu\n" +msgid "Estimated minimum size of the filesystem: %u\n" +msgstr "Geschätzte minimale Grösse des Dateisystems: %u\n" -#: resize/main.c:365 +#: resize/main.c:392 #, c-format msgid "Invalid new size: %s\n" msgstr "Unzulässige neue Größe: %s\n" -#: resize/main.c:381 -msgid "New size too large to be expressed in 32 bits\n" -msgstr "Die neue Größe kann nicht mehr mit 32 Bits dargestellt werden\n" - -#: resize/main.c:389 +#: resize/main.c:404 #, c-format -msgid "New size smaller than minimum (%llu)\n" -msgstr "Die neue Größe ist kleiner als das Minimum (%llu)\n" +msgid "New size smaller than minimum (%u)\n" +msgstr "Die neue Größe ist kleiner als das Minimum (%u)\n" -#: resize/main.c:395 +#: resize/main.c:410 msgid "Invalid stride length" msgstr "Ungültige Stride-Länge" -#: resize/main.c:419 +#: resize/main.c:434 #, c-format msgid "" -"The containing partition (or device) is only %llu (%dk) blocks.\n" -"You requested a new size of %llu blocks.\n" +"The containing partition (or device) is only %u (%dk) blocks.\n" +"You requested a new size of %u blocks.\n" "\n" msgstr "" -"Die Partition (oder das Gerät) ist nur %llu (%dk) Blöcke groß.\n" -"Sie hatten aber %llu Blöcke vorgegeben.\n" +"Die Partition (oder das Gerät) ist nur %u (%dk) Blöcke groß.\n" +"Die gewünschte Größe war %u Blöcke.\n" "\n" -#: resize/main.c:426 +#: resize/main.c:441 #, c-format msgid "" -"The filesystem is already %llu blocks long. Nothing to do!\n" +"The filesystem is already %u blocks long. Nothing to do!\n" "\n" msgstr "" -"Das Dateisystem ist schon %llu Blöcke groß. Nichts zu tun!\n" +"Das Dateisystem ist schon %u Blöcke groß. Nichts zu tun!\n" "\n" -#: resize/main.c:457 -#, c-format -msgid "" -"%s: The combination of flex_bg and\n" -"\t!resize_inode features is not supported by resize2fs.\n" -msgstr "" -"%s: Die Kombination der Eigenschaften flex_bg und\n" -"t!resize_inode wird von resize2fs nicht unterestützt.\n" - -#: resize/main.c:463 +#: resize/main.c:456 #, c-format -msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n" +msgid "Resizing the filesystem on %s to %u (%dk) blocks.\n" msgstr "" -"Die Grösse des Dateisystems auf %s wird auf %llu (%dk) Blöcke geändert.\n" +"Die Grösse des Dateisystems auf %s wird auf %u (%dk) Blöcke geändert.\n" "\n" -#: resize/main.c:472 +#: resize/main.c:465 #, c-format msgid "while trying to resize %s" msgstr "beim Versuch, die Größe von %s zu ändern" -#: resize/main.c:475 +#: resize/main.c:468 #, c-format msgid "" "Please run 'e2fsck -fy %s' to fix the filesystem\n" "after the aborted resize operation.\n" msgstr "" -"Bitte führen Sie „e2fsck -fy %s“ aus, um das Dateisystem\n" +"Bitte führen Sie »e2fsck -fy %s« aus, um das Dateisystem\n" "nach der abgebrochenen Grössenänderung zu reparieren.\n" -#: resize/main.c:481 +#: resize/main.c:474 #, c-format msgid "" -"The filesystem on %s is now %llu blocks long.\n" +"The filesystem on %s is now %u blocks long.\n" "\n" msgstr "" -"Das Dateisystem auf %s ist nun %llu Blöcke groß.\n" +"Das Dateisystem auf %s ist nun %u Blöcke groß.\n" "\n" -#: resize/main.c:496 +#: resize/main.c:489 #, c-format msgid "while trying to truncate %s" msgstr "beim Versuch, %s zu kürzen" -#: resize/online.c:40 +#: resize/online.c:37 #, c-format msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" -msgstr "Das Dateisystem auf %s ist auf %s eingehängt; Online-Grössenveränderung nötig\n" +msgstr "" +"Das Dateisystem auf %s ist auf %s eingehängt; Online-Grössenveränderung " +"nötig\n" -#: resize/online.c:44 -msgid "On-line shrinking not supported" -msgstr "Die Online-Verkleinerung wird nicht unterstützt" +#: resize/online.c:41 +#, c-format +msgid "On-line shrinking from %u to %u not supported.\n" +msgstr "Die Online-Verkleinerung von %u auf %u wird nicht unterstützt.\n" -#: resize/online.c:69 +#: resize/online.c:61 msgid "Filesystem does not support online resizing" msgstr "Das Dateisystem unterstützt keine Online-Grössenveränderung" -#: resize/online.c:78 -msgid "Not enough reserved gdt blocks for resizing" -msgstr "nicht genug reservierte GDT-Blöcke für die Größenänderung" - -#: resize/online.c:85 -msgid "Kernel does not support resizing a file system this large" -msgstr "Der Kernel lässt eine Veränderung der Größe eines Dateisystems diesen Ausmaßes nicht zu" - -#: resize/online.c:93 +#: resize/online.c:68 #, c-format msgid "while trying to open mountpoint %s" msgstr "beim Versuch, Einhängpunkt %s zu öffnen" -#: resize/online.c:115 resize/online.c:132 +#: resize/online.c:76 msgid "Permission denied to resize filesystem" msgstr "Zugriff verweigert für die Grössenänderung des Dateisystems" -#: resize/online.c:118 resize/online.c:138 -msgid "While checking for on-line resizing support" -msgstr "Beim Ãœberprüfen, ob Online-Vergrösserung unterstützt wird" - -#: resize/online.c:135 +#: resize/online.c:79 msgid "Kernel does not support online resizing" msgstr "Der Kernel unterstützt die Online-Vergrösserung nicht" -#: resize/online.c:168 +#: resize/online.c:82 +msgid "While checking for on-line resizing support" +msgstr "Beim Ãœberprüfen, ob Online-Vergrösserung unterstützt wird" + +#: resize/online.c:111 #, c-format -msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n" -msgstr "Eine Online-Grössenänderung von %s auf %llu (%dk) Blöcke wird durchgeführt.\n" +msgid "Performing an on-line resize of %s to %u (%dk) blocks.\n" +msgstr "Führe eine Online-Grössenänderung von %s auf %u (%dk) Blöcke durch.\n" -#: resize/online.c:178 +#: resize/online.c:121 msgid "While trying to extend the last group" msgstr "Beim Versuch, die letzte Gruppe zu erweitern" -#: resize/online.c:232 +#: resize/online.c:180 #, c-format msgid "While trying to add group #%d" msgstr "Beim Versuch, Gruppe %d hinzu zu fügen" -#: resize/online.c:243 +#: resize/online.c:191 #, c-format -msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n" -msgstr "Dateisystem auf %s ist auf %s eingehängt und Online-Grössenänderung wird auf diesem System nicht unterstützt.\n" +msgid "" +"Filesystem at %s is mounted on %s, and on-line resizing is not supported on " +"this system.\n" +msgstr "" +"Dateisystem auf %s ist auf %s eingehängt und Online-Grössenänderung wird auf " +"diesem System nicht unterstützt.\n" -#: resize/resize2fs.c:346 +#: resize/resize2fs.c:350 #, c-format msgid "inodes (%llu) must be less than %u" msgstr "Die Anzahl der Indoes (%llu) muss unter %u liegen" @@ -5850,754 +5319,11 @@ msgstr "Die Anzahl der Indoes (%llu) muss unter %u liegen" msgid "reserved blocks" msgstr "reservierte Blöcke" -#: resize/resize2fs.c:807 +#: resize/resize2fs.c:795 msgid "meta-data blocks" msgstr "Metadaten-Blöcke" -#: resize/resize2fs.c:1753 +#: resize/resize2fs.c:1752 #, c-format msgid "Should never happen: resize inode corrupt!\n" msgstr "Das sollte niemals passieren: Die zu verändernde Inode ist defekt!\n" - -#: lib/ext2fs/ext2_err.c:11 -msgid "EXT2FS Library version 1.42.6" -msgstr "EXT2FS Bibliothek Version 1.42.6" - -#: lib/ext2fs/ext2_err.c:12 -msgid "Wrong magic number for ext2_filsys structure" -msgstr "Falsche magische Zahl für ext2_filsys Struktur" - -#: lib/ext2fs/ext2_err.c:13 -msgid "Wrong magic number for badblocks_list structure" -msgstr "Falsche magische Zahl für badblocks_list Struktur" - -#: lib/ext2fs/ext2_err.c:14 -msgid "Wrong magic number for badblocks_iterate structure" -msgstr "Falsche magische Zahl für badblocks_iterate Struktur" - -#: lib/ext2fs/ext2_err.c:15 -msgid "Wrong magic number for inode_scan structure" -msgstr "Falsche magische Zahl für inode_scan Struktur" - -#: lib/ext2fs/ext2_err.c:16 -msgid "Wrong magic number for io_channel structure" -msgstr "Falsche magische Zahl für io_channel Struktur" - -#: lib/ext2fs/ext2_err.c:17 -msgid "Wrong magic number for unix io_channel structure" -msgstr "Falsche magische Zahl für unix io_channel Struktur" - -#: lib/ext2fs/ext2_err.c:18 -msgid "Wrong magic number for io_manager structure" -msgstr "Falsche magische Zahl für io_manager Struktur" - -#: lib/ext2fs/ext2_err.c:19 -msgid "Wrong magic number for block_bitmap structure" -msgstr "Falsche magische Zahl für block_bitmap Struktur" - -#: lib/ext2fs/ext2_err.c:20 -msgid "Wrong magic number for inode_bitmap structure" -msgstr "Falsche magische Zahl für inode_bitmap Struktur" - -#: lib/ext2fs/ext2_err.c:21 -msgid "Wrong magic number for generic_bitmap structure" -msgstr "Falsche magische Zahl für generic_bitmap Struktur" - -#: lib/ext2fs/ext2_err.c:22 -msgid "Wrong magic number for test io_channel structure" -msgstr "Falsche magische Zahl für test io_channel Struktur" - -#: lib/ext2fs/ext2_err.c:23 -msgid "Wrong magic number for directory block list structure" -msgstr "Falsche magische Zahl für Verzeichnisblock-Liste Struktur" - -#: lib/ext2fs/ext2_err.c:24 -msgid "Wrong magic number for icount structure" -msgstr "Falsche magische Zahl für icount Struktur" - -#: lib/ext2fs/ext2_err.c:25 -msgid "Wrong magic number for Powerquest io_channel structure" -msgstr "Falsche magische Zahl für Powerquest io_channel Struktur" - -#: lib/ext2fs/ext2_err.c:26 -msgid "Wrong magic number for ext2 file structure" -msgstr "Falsche magische Zahl für ext2 file Struktur" - -#: lib/ext2fs/ext2_err.c:27 -msgid "Wrong magic number for Ext2 Image Header" -msgstr "Falsche magische Zahl für Ext2 Abbild-Vorspann" - -#: lib/ext2fs/ext2_err.c:28 -msgid "Wrong magic number for inode io_channel structure" -msgstr "Falsche magische Zahl für Inode io_channel Struktur" - -#: lib/ext2fs/ext2_err.c:29 -msgid "Wrong magic number for ext4 extent handle" -msgstr "Falsche magische Zahl für die ext4 Extent Handle" - -#: lib/ext2fs/ext2_err.c:30 -msgid "Bad magic number in super-block" -msgstr "Ungültige magische Zahl im Superblock" - -#: lib/ext2fs/ext2_err.c:31 -msgid "Filesystem revision too high" -msgstr "Die Dateisystemrevision ist zu hoch" - -#: lib/ext2fs/ext2_err.c:32 -msgid "Attempt to write to filesystem opened read-only" -msgstr "Es wird versucht, auf ein nur zum Lesen geöffnetes Dateisystem zu schreiben" - -#: lib/ext2fs/ext2_err.c:33 -msgid "Can't read group descriptors" -msgstr "Die Gruppendeskriptoren können nicht gelesen werden" - -#: lib/ext2fs/ext2_err.c:34 -msgid "Can't write group descriptors" -msgstr "Die Gruppendeskriptoren können nicht geschrieben werden" - -#: lib/ext2fs/ext2_err.c:35 -msgid "Corrupt group descriptor: bad block for block bitmap" -msgstr "Beschädigter Gruppendeskriptor: nicht lesbarer Block ür die Block-Bitmap" - -#: lib/ext2fs/ext2_err.c:36 -msgid "Corrupt group descriptor: bad block for inode bitmap" -msgstr "Beschädigter Gruppendeskriptor: nicht lesbarer Block ür die Inode-Bitmap" - -#: lib/ext2fs/ext2_err.c:37 -msgid "Corrupt group descriptor: bad block for inode table" -msgstr "Beschädigter Gruppendeskriptor: nicht lesbarer Block ür die Inodetabelle" - -#: lib/ext2fs/ext2_err.c:38 -msgid "Can't write an inode bitmap" -msgstr "Die Inode-Bitmap kann nicht geschrieben werden" - -#: lib/ext2fs/ext2_err.c:39 -msgid "Can't read an inode bitmap" -msgstr "Die Inode-Bitmap kann nicht gelesen werden" - -#: lib/ext2fs/ext2_err.c:40 -msgid "Can't write a block bitmap" -msgstr "Die Block-Bitmap kann nicht geschrieben werden" - -#: lib/ext2fs/ext2_err.c:41 -msgid "Can't read a block bitmap" -msgstr "Die Block-Bitmap kann nicht gelesen werden" - -#: lib/ext2fs/ext2_err.c:42 -msgid "Can't write an inode table" -msgstr "Eine Inodetabelle kann nicht geschrieben werden" - -#: lib/ext2fs/ext2_err.c:43 -msgid "Can't read an inode table" -msgstr "Eine Inodetabelle kann nicht gelesen werden" - -#: lib/ext2fs/ext2_err.c:44 -msgid "Can't read next inode" -msgstr "Der nächste Inode kann nicht gelesen werden" - -#: lib/ext2fs/ext2_err.c:45 -msgid "Filesystem has unexpected block size" -msgstr "Das Dateisystem hat eine unerwartete Blockgröße" - -#: lib/ext2fs/ext2_err.c:46 -msgid "EXT2 directory corrupted" -msgstr "EXT2 Verzeichnis beschädigt" - -#: lib/ext2fs/ext2_err.c:47 -msgid "Attempt to read block from filesystem resulted in short read" -msgstr "Ein Block konnte nicht in einem Zug gelesen werden" - -#: lib/ext2fs/ext2_err.c:48 -msgid "Attempt to write block to filesystem resulted in short write" -msgstr "Ein Block konnte nicht vollständig in einem Zug geschrieben werden" - -#: lib/ext2fs/ext2_err.c:49 -msgid "No free space in the directory" -msgstr "Kein freier Platz im Verzeichnis vorhanden" - -#: lib/ext2fs/ext2_err.c:50 -msgid "Inode bitmap not loaded" -msgstr "Die Inode-Bitmap wurde nicht geladen" - -#: lib/ext2fs/ext2_err.c:51 -msgid "Block bitmap not loaded" -msgstr "Die Block-Bitmap wurde nicht geladen" - -#: lib/ext2fs/ext2_err.c:52 -msgid "Illegal inode number" -msgstr "Unzulässige Inodenummer" - -#: lib/ext2fs/ext2_err.c:53 -msgid "Illegal block number" -msgstr "Unzulässige Blocknummer" - -#: lib/ext2fs/ext2_err.c:54 -msgid "Internal error in ext2fs_expand_dir" -msgstr "Interner Fehler in ext2fs_expand_dir" - -#: lib/ext2fs/ext2_err.c:55 -msgid "Not enough space to build proposed filesystem" -msgstr "Der Platz reicht nicht aus, um das gewünschte Dateisystem zu erzeugen" - -#: lib/ext2fs/ext2_err.c:56 -msgid "Illegal block number passed to ext2fs_mark_block_bitmap" -msgstr "ext2fs_mark_block_bitmap wurde eine unzulässige Blocknummer übergeben" - -#: lib/ext2fs/ext2_err.c:57 -msgid "Illegal block number passed to ext2fs_unmark_block_bitmap" -msgstr "ext2fs_unmark_block_bitmap wurde eine unzulässige Blocknummer übergeben" - -#: lib/ext2fs/ext2_err.c:58 -msgid "Illegal block number passed to ext2fs_test_block_bitmap" -msgstr "ext2fs_test_block_bitmap wurde eine unzulässige Blocknummer übergeben" - -#: lib/ext2fs/ext2_err.c:59 -msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap" -msgstr "ext2fs_mark_inode_bitmap wurde eine unzulässige Blocknummer übergeben" - -#: lib/ext2fs/ext2_err.c:60 -msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap" -msgstr "ext2fs_unmark_inode_bitmap wurde eine unzulässige Blocknummer übergeben" - -#: lib/ext2fs/ext2_err.c:61 -msgid "Illegal inode number passed to ext2fs_test_inode_bitmap" -msgstr "ext2fs_test_inode_bitmap wurde eine unzulässige Blocknummer übergeben" - -#: lib/ext2fs/ext2_err.c:62 -msgid "Attempt to fudge end of block bitmap past the real end" -msgstr "Es wurde versucht, das Ende der Blockbitmap über das echte Ende hinaus zu verschieben" - -#: lib/ext2fs/ext2_err.c:63 -msgid "Attempt to fudge end of inode bitmap past the real end" -msgstr "Es wurde versucht, das Ende der Inodebitmap über das echte Ende hinaus zu verschieben" - -#: lib/ext2fs/ext2_err.c:64 -msgid "Illegal indirect block found" -msgstr "Es wurde ein doppelt indirekter Block gefunden" - -#: lib/ext2fs/ext2_err.c:65 -msgid "Illegal doubly indirect block found" -msgstr "Es wurden doppelt indirekte Blöcke gefunden" - -#: lib/ext2fs/ext2_err.c:66 -msgid "Illegal triply indirect block found" -msgstr "Es wurde ein dreifach indirekter Block gefunden" - -#: lib/ext2fs/ext2_err.c:67 -msgid "Block bitmaps are not the same" -msgstr "Die Blockbitmaps sind nicht identisch" - -#: lib/ext2fs/ext2_err.c:68 -msgid "Inode bitmaps are not the same" -msgstr "Die Inodebitmaps sind nicht identisch" - -#: lib/ext2fs/ext2_err.c:69 -msgid "Illegal or malformed device name" -msgstr "Unzulässiger oder deformierter Gerätename" - -#: lib/ext2fs/ext2_err.c:70 -msgid "A block group is missing an inode table" -msgstr "Einer Blockgruppe fehlt eine INodetabelle" - -#: lib/ext2fs/ext2_err.c:71 -msgid "The ext2 superblock is corrupt" -msgstr "Der Ext2-Superblock ist beschädigt" - -#: lib/ext2fs/ext2_err.c:72 -msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap" -msgstr "ext2fs_mark_generic_bitmap wurde eine unzulässige generische Bitnummer übergeben" - -#: lib/ext2fs/ext2_err.c:73 -msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap" -msgstr "ext2fs_unmark_generic_bitmap wurde eine unzulässige generische Bitnummer übergeben" - -#: lib/ext2fs/ext2_err.c:74 -msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap" -msgstr "ext2fs_test_generic_bitmap wurde eine unzulässige generische Bitnummer übergeben" - -#: lib/ext2fs/ext2_err.c:75 -msgid "Too many symbolic links encountered." -msgstr "Es wurden zu viele symbolische Verknüpfungen gefunden." - -#: lib/ext2fs/ext2_err.c:76 -msgid "The callback function will not handle this case" -msgstr "Die Rückruf-Funktion wird sich um diesen Fall nicht kümmern" - -#: lib/ext2fs/ext2_err.c:77 -msgid "The inode is from a bad block in the inode table" -msgstr "Der Inode kommt von einem defekten Block in der Inodetabelle" - -#: lib/ext2fs/ext2_err.c:78 -msgid "Filesystem has unsupported feature(s)" -msgstr "%s besitzt nicht unterstützte Eigenschaft(en):" - -#: lib/ext2fs/ext2_err.c:79 -msgid "Filesystem has unsupported read-only feature(s)" -msgstr "Das Dateisystem besitzt nicht unterstützte nur-lesen Eigenschaft(en):" - -#: lib/ext2fs/ext2_err.c:80 -msgid "IO Channel failed to seek on read or write" -msgstr "E/A Kanal ist beim Suchen während des Lesens oder Schreibens gescheitert" - -#: lib/ext2fs/ext2_err.c:81 -msgid "Memory allocation failed" -msgstr "Die Reservierung von Hauptspeicher ist gescheitert" - -#: lib/ext2fs/ext2_err.c:82 -msgid "Invalid argument passed to ext2 library" -msgstr "Der Ext2-Bibliothek wurde ein ungültiges Argument übergeben" - -#: lib/ext2fs/ext2_err.c:83 -msgid "Could not allocate block in ext2 filesystem" -msgstr "Kann keinen Block im Ext2 Dateisystem reservieren" - -#: lib/ext2fs/ext2_err.c:84 -msgid "Could not allocate inode in ext2 filesystem" -msgstr "Kann keinen Inode im Ext2 Dateisystem reservieren" - -#: lib/ext2fs/ext2_err.c:85 -msgid "Ext2 inode is not a directory" -msgstr "Die Ext2-Inode ist kein Verzeichnis" - -#: lib/ext2fs/ext2_err.c:86 -msgid "Too many references in table" -msgstr "Zu viele Referenzen in der Tabelle" - -#: lib/ext2fs/ext2_err.c:87 -msgid "File not found by ext2_lookup" -msgstr "Die Datei wurde von ext2_lookup nicht gefunden" - -#: lib/ext2fs/ext2_err.c:88 -msgid "File open read-only" -msgstr "Die Datei ist nur zum Lesen geöffnet" - -#: lib/ext2fs/ext2_err.c:89 -msgid "Ext2 directory block not found" -msgstr "Der Ext2-Verzeichnisblock wurde nicht gefunden" - -#: lib/ext2fs/ext2_err.c:90 -msgid "Ext2 directory already exists" -msgstr "Das Ext2-Verzeichnis existiert bereits" - -#: lib/ext2fs/ext2_err.c:91 -msgid "Unimplemented ext2 library function" -msgstr "Nicht implementierte Ext2-Bibliotheksfunktion" - -#: lib/ext2fs/ext2_err.c:92 -msgid "User cancel requested" -msgstr "Benutzer erbat den Abbruch" - -#: lib/ext2fs/ext2_err.c:93 -msgid "Ext2 file too big" -msgstr "Ext2 Dataei zu groß" - -#: lib/ext2fs/ext2_err.c:94 -msgid "Supplied journal device not a block device" -msgstr "Das angegebene Journalgerät ist kein Blockgerät" - -#: lib/ext2fs/ext2_err.c:95 -msgid "Journal superblock not found" -msgstr "Der Journal-Superblock wurde nicht" - -#: lib/ext2fs/ext2_err.c:96 -msgid "Journal must be at least 1024 blocks" -msgstr "Das Journal muß mindestens 1024 Blöcke umfassen" - -#: lib/ext2fs/ext2_err.c:97 -msgid "Unsupported journal version" -msgstr "Nicht unterstützte Journalversion" - -#: lib/ext2fs/ext2_err.c:98 -msgid "Error loading external journal" -msgstr "Fehler beim Öffnen des externen Journals" - -#: lib/ext2fs/ext2_err.c:99 -msgid "Journal not found" -msgstr "Das Journal wurde nicht gefunden" - -#: lib/ext2fs/ext2_err.c:100 -msgid "Directory hash unsupported" -msgstr "Verzeichnishash wird nicht unterstützt" - -#: lib/ext2fs/ext2_err.c:101 -msgid "Illegal extended attribute block number" -msgstr "Unzulässige Nummer für den Block für erweiterte Attribute" - -#: lib/ext2fs/ext2_err.c:102 -msgid "Cannot create filesystem with requested number of inodes" -msgstr "Ein Dateisystem mit der gewünschten Anzahl von Inodes kann nicht erzeugt werden" - -#: lib/ext2fs/ext2_err.c:103 -msgid "E2image snapshot not in use" -msgstr "Der E2image-Schnappschusse wird nicht benutzt" - -#: lib/ext2fs/ext2_err.c:104 -msgid "Too many reserved group descriptor blocks" -msgstr "Zu viele reservierte Gruppenbeschreibungsblöcke" - -#: lib/ext2fs/ext2_err.c:105 -msgid "Resize inode is corrupt" -msgstr "Der zu modifizierende Inode ist defekt" - -#: lib/ext2fs/ext2_err.c:106 -msgid "Tried to set block bmap with missing indirect block" -msgstr "Es wurde versucht, eine Block-Bmap mit fehlendem indirektem Block zu setzen" - -#: lib/ext2fs/ext2_err.c:107 -msgid "TDB: Success" -msgstr "TDB: Erfolg" - -#: lib/ext2fs/ext2_err.c:108 -msgid "TDB: Corrupt database" -msgstr "TDB: Defekte Datenbank" - -#: lib/ext2fs/ext2_err.c:109 -msgid "TDB: IO Error" -msgstr "TDB: EA-Fehler" - -#: lib/ext2fs/ext2_err.c:110 -msgid "TDB: Locking error" -msgstr "TDB: Fehler beim Sperren" - -#: lib/ext2fs/ext2_err.c:111 -msgid "TDB: Out of memory" -msgstr "TDB: Hauptspeicher erschöpft" - -#: lib/ext2fs/ext2_err.c:112 -msgid "TDB: Record exists" -msgstr "TDB: Der Datensatz existiert bereits" - -#: lib/ext2fs/ext2_err.c:113 -msgid "TDB: Lock exists on other keys" -msgstr "TDB: Die Sperre existiert für andere Schüssel" - -#: lib/ext2fs/ext2_err.c:114 -msgid "TDB: Invalid parameter" -msgstr "TDB: Ungültiger Parameter" - -#: lib/ext2fs/ext2_err.c:115 -msgid "TDB: Record does not exist" -msgstr "TDB: Der Datensatz existiert nicht" - -#: lib/ext2fs/ext2_err.c:116 -msgid "TDB: Write not permitted" -msgstr "TDB: Schreiben istg nicht erlaubt" - -#: lib/ext2fs/ext2_err.c:117 -msgid "Ext2fs directory block list is empty" -msgstr "Die Ext2fs-Verzeichnisblockliste ist leer" - -#: lib/ext2fs/ext2_err.c:118 -msgid "Attempt to modify a block mapping via a read-only block iterator" -msgstr "Es wird versucht, ein Blockmapping mittels nur-lesenden Blockiteratoren zu modifizieren" - -#: lib/ext2fs/ext2_err.c:119 -msgid "Wrong magic number for ext4 extent saved path" -msgstr "Falsche magische Zahl für den gesicherten Pfad eine Ext4-Erweiterung" - -#: lib/ext2fs/ext2_err.c:120 -msgid "Wrong magic number for 64-bit generic bitmap" -msgstr "Falsche magische Zahl für die 64-bittige generischge Bitmap" - -#: lib/ext2fs/ext2_err.c:121 -msgid "Wrong magic number for 64-bit block bitmap" -msgstr "Falsche magische Zahl für eine 64-bittige Blockbitmap" - -#: lib/ext2fs/ext2_err.c:122 -msgid "Wrong magic number for 64-bit inode bitmap" -msgstr "Falsche magische Zahl für eine 64-bittige Inodebitmap" - -#: lib/ext2fs/ext2_err.c:123 -msgid "Wrong magic number --- RESERVED_13" -msgstr "Falsche magische Zahl --- RESERVED_13" - -#: lib/ext2fs/ext2_err.c:124 -msgid "Wrong magic number --- RESERVED_14" -msgstr "Falsche magische Zahl --- RESERVED_14" - -#: lib/ext2fs/ext2_err.c:125 -msgid "Wrong magic number --- RESERVED_15" -msgstr "Falsche magische Zahl --- RESERVED_15" - -#: lib/ext2fs/ext2_err.c:126 -msgid "Wrong magic number --- RESERVED_16" -msgstr "Falsche magische Zahl --- RESERVED_16" - -#: lib/ext2fs/ext2_err.c:127 -msgid "Wrong magic number --- RESERVED_17" -msgstr "Falsche magische Zahl --- RESERVED_17" - -#: lib/ext2fs/ext2_err.c:128 -msgid "Wrong magic number --- RESERVED_18" -msgstr "Falsche magische Zahl --- RESERVED_18" - -#: lib/ext2fs/ext2_err.c:129 -msgid "Wrong magic number --- RESERVED_19" -msgstr "Falsche magische Zahl --- RESERVED_19" - -#: lib/ext2fs/ext2_err.c:130 -msgid "Corrupt extent header" -msgstr "Defekter Erweiterungs-Vorspann" - -#: lib/ext2fs/ext2_err.c:131 -msgid "Corrupt extent index" -msgstr "Defekter Erweiterungsindex" - -#: lib/ext2fs/ext2_err.c:132 -msgid "Corrupt extent" -msgstr "Defekte Erweiterung" - -#: lib/ext2fs/ext2_err.c:133 -msgid "No free space in extent map" -msgstr "Kein freier Platz mehr in der Erweiterungstabelle" - -#: lib/ext2fs/ext2_err.c:134 -msgid "Inode does not use extents" -msgstr "Der Inode verwendet keine Erweiterungen" - -#: lib/ext2fs/ext2_err.c:135 -msgid "No 'next' extent" -msgstr "Keine „nächste“ Erweiterung" - -#: lib/ext2fs/ext2_err.c:136 -msgid "No 'previous' extent" -msgstr "Keine „vorherige“ Erweiterung" - -#: lib/ext2fs/ext2_err.c:137 -msgid "No 'up' extent" -msgstr "Keine „oben“ Erweiterung" - -#: lib/ext2fs/ext2_err.c:138 -msgid "No 'down' extent" -msgstr "Keine „unten“ Erweiterung" - -#: lib/ext2fs/ext2_err.c:139 -msgid "No current node" -msgstr "Kein aktueller Knoten" - -#: lib/ext2fs/ext2_err.c:140 -msgid "Ext2fs operation not supported" -msgstr "Ext2fs-Operation wird nicht unterstützt" - -#: lib/ext2fs/ext2_err.c:141 -msgid "No room to insert extent in node" -msgstr "Kein PLatz vorhanden, um die Erweiterung im Knoten einzufügen" - -#: lib/ext2fs/ext2_err.c:142 -msgid "Splitting would result in empty node" -msgstr "Aufteilen würde in einem leeren Knoten enden" - -#: lib/ext2fs/ext2_err.c:143 -msgid "Extent not found" -msgstr "Erweiterung wurde nicht gefunden" - -#: lib/ext2fs/ext2_err.c:144 -msgid "Operation not supported for inodes containing extents" -msgstr "Die Operation wird für Inodes, die Erweiterungen beinhalten, nicht unterstützt" - -#: lib/ext2fs/ext2_err.c:145 -msgid "Extent length is invalid" -msgstr "Länge der Erweiterung ist ungültig" - -#: lib/ext2fs/ext2_err.c:146 -msgid "I/O Channel does not support 64-bit block numbers" -msgstr "Der EA-Kanal unterstützt keine 64-bittigen Blocknummern" - -#: lib/ext2fs/ext2_err.c:147 -msgid "Can't check if filesystem is mounted due to missing mtab file" -msgstr "Ãœberprüfung ob das Dateisystem eingehängt ist mangels mtab Datei nicht möglich" - -#: lib/ext2fs/ext2_err.c:148 -msgid "Filesystem too large to use legacy bitmaps" -msgstr "Das Dateisystem ist für die Verwendung von altertümlichen Bitmaps zu groß" - -#: lib/ext2fs/ext2_err.c:149 -msgid "MMP: invalid magic number" -msgstr "MMP: ungültige magische Zahl" - -#: lib/ext2fs/ext2_err.c:150 -msgid "MMP: device currently active" -msgstr "MMP: das Gerät ist derzeit aktiv" - -#: lib/ext2fs/ext2_err.c:151 -msgid "MMP: fsck being run" -msgstr "MMP: fsck wird ausgeführt" - -#: lib/ext2fs/ext2_err.c:152 -msgid "MMP: block number beyond filesystem range" -msgstr "MMP: die Blocknummer ist jenseits des Bereichs des Dateisystems" - -#: lib/ext2fs/ext2_err.c:153 -msgid "MMP: undergoing an unknown operation" -msgstr "MMP: eine unbekannte Operation wird ausgeführt" - -#: lib/ext2fs/ext2_err.c:154 -msgid "MMP: filesystem still in use" -msgstr "MMP: das Dateisystem wird noch verwendet" - -#: lib/ext2fs/ext2_err.c:155 -msgid "MMP: open with O_DIRECT failed" -msgstr "MMP: das Öffnen mit O_DIRECT ist gescheitert" - -#: e2fsck/prof_err.c:11 -msgid "Profile version 0.0" -msgstr "Profil Versikon 0.0" - -#: e2fsck/prof_err.c:12 -msgid "Bad magic value in profile_node" -msgstr "Ungültige magische Zahl in profile_node" - -#: e2fsck/prof_err.c:13 -msgid "Profile section not found" -msgstr "Die Profilsektion wurde nicht gefunden" - -#: e2fsck/prof_err.c:14 -msgid "Profile relation not found" -msgstr "Der Profilbezug wurde nicht gefunden" - -#: e2fsck/prof_err.c:15 -msgid "Attempt to add a relation to node which is not a section" -msgstr "Es wird versucht, einen Bezug zu einem Knoten hinzu zu fügen, der keine Sektion ist" - -#: e2fsck/prof_err.c:16 -msgid "A profile section header has a non-zero value" -msgstr "Ein Profilsektion-Vorspann hat einen Wert der nicht Null ist" - -#: e2fsck/prof_err.c:17 -msgid "Bad linked list in profile structures" -msgstr "UNgültige verkettete Liste in den Profilstrukturen" - -#: e2fsck/prof_err.c:18 -msgid "Bad group level in profile structures" -msgstr "Ungültige Gruppenebene in den Profilstrukturen" - -#: e2fsck/prof_err.c:19 -msgid "Bad parent pointer in profile structures" -msgstr "Ungültiger Zeiger auf Eltern in den Profilstrukturen" - -#: e2fsck/prof_err.c:20 -msgid "Bad magic value in profile iterator" -msgstr "Ungültige magische Zahl im Profil-Iterator" - -#: e2fsck/prof_err.c:21 -msgid "Can't set value on section node" -msgstr "Der Wert kann beim Sektionsknoten nicht gesetzt werden" - -#: e2fsck/prof_err.c:22 -msgid "Invalid argument passed to profile library" -msgstr "Ein ungültiges Argument wurde der Profilierungsbibliothek übergeben" - -#: e2fsck/prof_err.c:23 -msgid "Attempt to modify read-only profile" -msgstr "Es wird versucht, ein nur lesbares Profil zu modifizieren" - -#: e2fsck/prof_err.c:24 -msgid "Profile section header not at top level" -msgstr "Vorspann der Profilsektion ist nicht auf der obersten Ebene" - -#: e2fsck/prof_err.c:25 -msgid "Syntax error in profile section header" -msgstr "Syntaxfehler im Vorspann des Profilsektor" - -#: e2fsck/prof_err.c:26 -msgid "Syntax error in profile relation" -msgstr "Syntaxfehler im Profilbezug" - -#: e2fsck/prof_err.c:27 -msgid "Extra closing brace in profile" -msgstr "Ãœberzählige schliessende Klammern im Profil" - -#: e2fsck/prof_err.c:28 -msgid "Missing open brace in profile" -msgstr "Fehlende öffnende Klammer im Profil" - -#: e2fsck/prof_err.c:29 -msgid "Bad magic value in profile_t" -msgstr "Ungültige magische Zahl in profile_t" - -#: e2fsck/prof_err.c:30 -msgid "Bad magic value in profile_section_t" -msgstr "Ungültige magische Zahl in profile_section_t" - -#: e2fsck/prof_err.c:31 -msgid "Iteration through all top level section not supported" -msgstr "Iteration über alle Sektionen der obersten Ebene wird nicht unterstützt" - -#: e2fsck/prof_err.c:32 -msgid "Invalid profile_section object" -msgstr "Ungültiges Profilsektionsobjekt" - -#: e2fsck/prof_err.c:33 -msgid "No more sections" -msgstr "Keine weiteren Sektionen vorhanden" - -#: e2fsck/prof_err.c:34 -msgid "Bad nameset passed to query routine" -msgstr "Eine ungültiger Satz von Namen wurde der Abfrageroutine übergeben" - -#: e2fsck/prof_err.c:35 -msgid "No profile file open" -msgstr "Es ist keine Profildatei offen" - -#: e2fsck/prof_err.c:36 -msgid "Bad magic value in profile_file_t" -msgstr "Ungültige magische Zahl in profile_file_t" - -#: e2fsck/prof_err.c:37 -msgid "Couldn't open profile file" -msgstr "Die Profildatei konnte nicht geöffnet werden" - -#: e2fsck/prof_err.c:38 -msgid "Section already exists" -msgstr "Die Sektion existiert bereits" - -#: e2fsck/prof_err.c:39 -msgid "Invalid boolean value" -msgstr "Ungültiger boolscher Wert" - -#: e2fsck/prof_err.c:40 -msgid "Invalid integer value" -msgstr "Ungültiger Wert für eine Ganzzahl" - -#: e2fsck/prof_err.c:41 -msgid "Bad magic value in profile_file_data_t" -msgstr "Ungültige magische Zahl in profile_data_t" - -#~ msgid "%s is mounted. " -#~ msgstr "%s ist eingehängt. " - -#~ msgid "@g %g @b @B uninitialized but @i @B in use.\n" -#~ msgstr "Die @b @B von @g %g ist nicht initialisiert aber @i @B wird verwendet.\n" - -#~ msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" -#~ msgstr " in @i %i sollte EOFBLOCKS_FL nicht gesetzt sein (Größe %Is, lblk %r)\n" - -#~ msgid "Couldn't determine journal size" -#~ msgstr "Konnte die Größe des Dateisystems nicht ermitteln" - -#~ msgid "#\t\t %llu -> %llu (%llu)\n" -#~ msgstr "#\t\t %llu -> %llu (%llu)\n" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "short write (only %d bytes) for writing image header" -#~ msgstr "short write (only %d bytes) for writing image header" - -#~ msgid "invalid fragment size - %s" -#~ msgstr "falsche Fragmentgröße - %s" - -#~ msgid "Warning: fragments not supported. Ignoring -f option\n" -#~ msgstr "Warnung: Fragmente werden nicht unterstützt. Ignoriere -f Option\n" - -#~ msgid "Calling BLKDISCARD from %llu to %llu " -#~ msgstr "Der Aufruf von BLKDISCARD für den Bereich von %llu bis %llu war " - -#~ msgid "succeeded.\n" -#~ msgstr "erfolgreich.\n" - -#~ msgid "Journal NOT removed\n" -#~ msgstr "Journal NICHT gelöscht\n" diff --git a/po/e2fsprogs.pot b/po/e2fsprogs.pot index 65f48509..a5b8a9ea 100644 --- a/po/e2fsprogs.pot +++ b/po/e2fsprogs.pot @@ -1,9 +1,8 @@ # E2fsprogs translation template file # Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, -# 2013 by Theodore Ts'o +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by Theodore Ts'o # This file is distributed under the same license as the e2fsprogs package. -# Theodore Ts'o , 2013. +# Theodore Ts'o , 2010. # #. 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, @@ -66,379 +65,375 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: e2fsprogs 1.42.9\n" +"Project-Id-Version: e2fsprogs 1.41.13\n" "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n" -"POT-Creation-Date: 2013-12-28 22:33-0500\n" +"POT-Creation-Date: 2010-12-13 08:35-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: e2fsck/badblocks.c:23 misc/mke2fs.c:180 +#: e2fsck/badblocks.c:22 misc/mke2fs.c:169 #, c-format msgid "Bad block %u out of range; ignored.\n" msgstr "" -#: e2fsck/badblocks.c:46 +#: e2fsck/badblocks.c:45 msgid "while sanity checking the bad blocks inode" msgstr "" -#: e2fsck/badblocks.c:58 +#: e2fsck/badblocks.c:57 msgid "while reading the bad blocks inode" msgstr "" -#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1336 -#: e2fsck/unix.c:1426 misc/badblocks.c:1226 misc/badblocks.c:1234 -#: misc/badblocks.c:1248 misc/badblocks.c:1260 misc/dumpe2fs.c:602 -#: misc/e2image.c:1384 misc/e2image.c:1567 misc/e2image.c:1586 -#: misc/mke2fs.c:196 misc/tune2fs.c:1930 resize/main.c:316 +#: e2fsck/badblocks.c:71 e2fsck/iscan.c:112 e2fsck/scantest.c:109 +#: e2fsck/unix.c:1103 e2fsck/unix.c:1188 misc/badblocks.c:1158 +#: misc/badblocks.c:1166 misc/badblocks.c:1180 misc/badblocks.c:1192 +#: misc/dumpe2fs.c:566 misc/e2image.c:583 misc/e2image.c:679 +#: misc/e2image.c:695 misc/mke2fs.c:185 misc/tune2fs.c:1623 resize/main.c:310 #, c-format msgid "while trying to open %s" msgstr "" -#: e2fsck/badblocks.c:83 +#: e2fsck/badblocks.c:82 #, c-format msgid "while trying popen '%s'" msgstr "" -#: e2fsck/badblocks.c:94 misc/mke2fs.c:203 +#: e2fsck/badblocks.c:93 misc/mke2fs.c:192 msgid "while reading in list of bad blocks from file" msgstr "" -#: e2fsck/badblocks.c:105 +#: e2fsck/badblocks.c:104 msgid "while updating bad block inode" msgstr "" -#: e2fsck/badblocks.c:131 +#: e2fsck/badblocks.c:130 #, c-format msgid "Warning: illegal block %u found in bad block inode. Cleared.\n" msgstr "" -#: e2fsck/ehandler.c:55 +#: e2fsck/ehandler.c:54 #, c-format msgid "Error reading block %lu (%s) while %s. " msgstr "" -#: e2fsck/ehandler.c:58 +#: e2fsck/ehandler.c:57 #, c-format msgid "Error reading block %lu (%s). " msgstr "" -#: e2fsck/ehandler.c:61 e2fsck/ehandler.c:110 +#: e2fsck/ehandler.c:60 e2fsck/ehandler.c:109 msgid "Ignore error" msgstr "" -#: e2fsck/ehandler.c:62 +#: e2fsck/ehandler.c:61 msgid "Force rewrite" msgstr "" -#: e2fsck/ehandler.c:104 +#: e2fsck/ehandler.c:103 #, c-format msgid "Error writing block %lu (%s) while %s. " msgstr "" -#: e2fsck/ehandler.c:107 +#: e2fsck/ehandler.c:106 #, c-format 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 "" -#: e2fsck/extend.c:22 +#: e2fsck/extend.c:21 #, c-format msgid "%s: %s filename nblocks blocksize\n" msgstr "" -#: e2fsck/extend.c:44 +#: e2fsck/extend.c:43 #, c-format msgid "Illegal number of blocks!\n" msgstr "" -#: e2fsck/extend.c:50 +#: e2fsck/extend.c:49 #, c-format msgid "Couldn't allocate block buffer (size=%d)\n" msgstr "" -#: e2fsck/flushb.c:35 +#: e2fsck/flushb.c:34 #, c-format msgid "Usage: %s disk\n" msgstr "" -#: e2fsck/flushb.c:64 +#: e2fsck/flushb.c:63 #, c-format msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n" msgstr "" -#: e2fsck/iscan.c:44 +#: e2fsck/iscan.c:46 #, c-format msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n" msgstr "" -#: e2fsck/iscan.c:81 e2fsck/unix.c:965 +#: e2fsck/iscan.c:83 e2fsck/unix.c:856 #, c-format msgid "while opening %s for flushing" msgstr "" -#: e2fsck/iscan.c:86 e2fsck/unix.c:971 resize/main.c:289 +#: e2fsck/iscan.c:88 e2fsck/unix.c:862 resize/main.c:286 #, c-format msgid "while trying to flush %s" msgstr "" -#: e2fsck/iscan.c:110 -#, c-format -msgid "while trying to open '%s'" -msgstr "" - -#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1278 +#: e2fsck/iscan.c:121 e2fsck/scantest.c:116 misc/e2image.c:489 msgid "while opening inode scan" msgstr "" -#: e2fsck/iscan.c:127 misc/e2image.c:1297 +#: e2fsck/iscan.c:129 misc/e2image.c:507 msgid "while getting next inode" msgstr "" -#: e2fsck/iscan.c:136 +#: e2fsck/iscan.c:138 #, c-format msgid "%u inodes scanned.\n" msgstr "" -#: e2fsck/journal.c:525 +#: e2fsck/journal.c:508 msgid "reading journal superblock\n" msgstr "" -#: e2fsck/journal.c:582 +#: e2fsck/journal.c:565 #, c-format msgid "%s: no valid journal superblock found\n" msgstr "" -#: e2fsck/journal.c:591 +#: e2fsck/journal.c:574 #, c-format msgid "%s: journal too short\n" msgstr "" -#: e2fsck/journal.c:883 +#: e2fsck/journal.c:861 #, c-format msgid "%s: recovering journal\n" msgstr "" -#: e2fsck/journal.c:885 +#: e2fsck/journal.c:863 #, c-format msgid "%s: won't do journal recovery while read-only\n" msgstr "" -#: e2fsck/journal.c:912 +#: e2fsck/journal.c:888 #, c-format msgid "while trying to re-open %s" msgstr "" -#: e2fsck/message.c:113 +#: e2fsck/message.c:111 msgid "aextended attribute" msgstr "" -#: e2fsck/message.c:114 +#: e2fsck/message.c:112 msgid "Aerror allocating" msgstr "" -#: e2fsck/message.c:115 +#: e2fsck/message.c:113 msgid "bblock" msgstr "" -#: e2fsck/message.c:116 +#: e2fsck/message.c:114 msgid "Bbitmap" msgstr "" -#: e2fsck/message.c:117 +#: e2fsck/message.c:115 msgid "ccompress" msgstr "" -#: e2fsck/message.c:118 +#: e2fsck/message.c:116 msgid "Cconflicts with some other fs @b" msgstr "" -#: e2fsck/message.c:119 +#: e2fsck/message.c:117 msgid "iinode" msgstr "" -#: e2fsck/message.c:120 +#: e2fsck/message.c:118 msgid "Iillegal" msgstr "" -#: e2fsck/message.c:121 +#: e2fsck/message.c:119 msgid "jjournal" msgstr "" -#: e2fsck/message.c:122 +#: e2fsck/message.c:120 msgid "Ddeleted" msgstr "" -#: e2fsck/message.c:123 +#: e2fsck/message.c:121 msgid "ddirectory" msgstr "" -#: e2fsck/message.c:124 +#: e2fsck/message.c:122 msgid "eentry" msgstr "" -#: e2fsck/message.c:125 +#: e2fsck/message.c:123 msgid "E@e '%Dn' in %p (%i)" msgstr "" -#: e2fsck/message.c:126 +#: e2fsck/message.c:124 msgid "ffilesystem" msgstr "" -#: e2fsck/message.c:127 +#: e2fsck/message.c:125 msgid "Ffor @i %i (%Q) is" msgstr "" -#: e2fsck/message.c:128 +#: e2fsck/message.c:126 msgid "ggroup" msgstr "" -#: e2fsck/message.c:129 +#: e2fsck/message.c:127 msgid "hHTREE @d @i" msgstr "" -#: e2fsck/message.c:130 +#: e2fsck/message.c:128 msgid "llost+found" msgstr "" -#: e2fsck/message.c:131 +#: e2fsck/message.c:129 msgid "Lis a link" msgstr "" -#: e2fsck/message.c:132 +#: e2fsck/message.c:130 msgid "mmultiply-claimed" msgstr "" -#: e2fsck/message.c:133 +#: e2fsck/message.c:131 msgid "ninvalid" msgstr "" -#: e2fsck/message.c:134 +#: e2fsck/message.c:132 msgid "oorphaned" msgstr "" -#: e2fsck/message.c:135 +#: e2fsck/message.c:133 msgid "pproblem in" msgstr "" -#: e2fsck/message.c:136 -msgid "qquota" -msgstr "" - -#: e2fsck/message.c:137 +#: e2fsck/message.c:134 msgid "rroot @i" msgstr "" -#: e2fsck/message.c:138 +#: e2fsck/message.c:135 msgid "sshould be" msgstr "" -#: e2fsck/message.c:139 +#: e2fsck/message.c:136 msgid "Ssuper@b" msgstr "" -#: e2fsck/message.c:140 +#: e2fsck/message.c:137 msgid "uunattached" msgstr "" -#: e2fsck/message.c:141 +#: e2fsck/message.c:138 msgid "vdevice" msgstr "" -#: e2fsck/message.c:142 +#: e2fsck/message.c:139 msgid "xextent" msgstr "" -#: e2fsck/message.c:143 +#: e2fsck/message.c:140 msgid "zzero-length" msgstr "" -#: e2fsck/message.c:154 +#: e2fsck/message.c:151 msgid "" msgstr "" -#: e2fsck/message.c:155 +#: e2fsck/message.c:152 msgid "" msgstr "" -#: e2fsck/message.c:157 -msgid "" +#: e2fsck/message.c:154 +msgid "" msgstr "" -#: e2fsck/message.c:158 -msgid "" +#: e2fsck/message.c:155 +msgid "" msgstr "" -#: e2fsck/message.c:159 +#: e2fsck/message.c:156 msgid "" msgstr "" -#: e2fsck/message.c:160 +#: e2fsck/message.c:157 msgid "" msgstr "" -#: e2fsck/message.c:161 +#: e2fsck/message.c:158 msgid "" msgstr "" -#: e2fsck/message.c:162 +#: e2fsck/message.c:159 msgid "" msgstr "" -#: e2fsck/message.c:163 +#: e2fsck/message.c:160 msgid "" msgstr "" -#: e2fsck/message.c:164 +#: e2fsck/message.c:161 msgid "" msgstr "" -#: e2fsck/message.c:333 +#: e2fsck/message.c:330 +#, c-format msgid "regular file" msgstr "" -#: e2fsck/message.c:335 +#: e2fsck/message.c:332 +#, c-format msgid "directory" msgstr "" -#: e2fsck/message.c:337 +#: e2fsck/message.c:334 +#, c-format msgid "character device" msgstr "" -#: e2fsck/message.c:339 +#: e2fsck/message.c:336 +#, c-format msgid "block device" msgstr "" -#: e2fsck/message.c:341 +#: e2fsck/message.c:338 +#, c-format msgid "named pipe" msgstr "" -#: e2fsck/message.c:343 +#: e2fsck/message.c:340 +#, c-format msgid "symbolic link" msgstr "" -#: e2fsck/message.c:345 misc/uuidd.c:161 +#: e2fsck/message.c:342 +#, c-format msgid "socket" msgstr "" -#: e2fsck/message.c:347 +#: e2fsck/message.c:344 #, c-format msgid "unknown file type with mode 0%o" msgstr "" @@ -463,306 +458,306 @@ msgstr "" msgid "block #" msgstr "" -#: e2fsck/pass1b.c:222 +#: e2fsck/pass1b.c:220 msgid "multiply claimed inode map" msgstr "" -#: e2fsck/pass1b.c:610 e2fsck/pass1b.c:730 +#: e2fsck/pass1b.c:581 e2fsck/pass1b.c:714 #, c-format -msgid "internal error: can't find dup_blk for %llu\n" +msgid "internal error: can't find dup_blk for %u\n" msgstr "" -#: e2fsck/pass1b.c:821 +#: e2fsck/pass1b.c:757 msgid "returned from clone_file_block" msgstr "" -#: e2fsck/pass1b.c:843 +#: e2fsck/pass1b.c:776 #, c-format -msgid "internal error: couldn't lookup EA block record for %llu" +msgid "internal error: couldn't lookup EA block record for %u" msgstr "" -#: e2fsck/pass1b.c:855 +#: e2fsck/pass1b.c:788 #, c-format msgid "internal error: couldn't lookup EA inode record for %u" msgstr "" -#: e2fsck/pass1.c:475 e2fsck/pass2.c:782 +#: e2fsck/pass1.c:475 e2fsck/pass2.c:776 msgid "reading directory block" msgstr "" -#: e2fsck/pass1.c:598 +#: e2fsck/pass1.c:597 msgid "in-use inode map" msgstr "" -#: e2fsck/pass1.c:609 +#: e2fsck/pass1.c:606 msgid "directory inode map" msgstr "" -#: e2fsck/pass1.c:619 +#: e2fsck/pass1.c:614 msgid "regular file inode map" msgstr "" -#: e2fsck/pass1.c:628 misc/e2image.c:1253 +#: e2fsck/pass1.c:621 msgid "in-use block map" msgstr "" -#: e2fsck/pass1.c:695 +#: e2fsck/pass1.c:675 msgid "opening inode scan" msgstr "" -#: e2fsck/pass1.c:729 +#: e2fsck/pass1.c:699 msgid "getting next inode from scan" msgstr "" -#: e2fsck/pass1.c:1239 +#: e2fsck/pass1.c:1173 msgid "Pass 1" msgstr "" -#: e2fsck/pass1.c:1296 +#: e2fsck/pass1.c:1230 #, c-format msgid "reading indirect blocks of inode %u" msgstr "" -#: e2fsck/pass1.c:1346 +#: e2fsck/pass1.c:1274 msgid "bad inode map" msgstr "" -#: e2fsck/pass1.c:1369 +#: e2fsck/pass1.c:1296 msgid "inode in bad block map" msgstr "" -#: e2fsck/pass1.c:1389 +#: e2fsck/pass1.c:1316 msgid "imagic inode map" msgstr "" -#: e2fsck/pass1.c:1416 +#: e2fsck/pass1.c:1343 msgid "multiply claimed block map" msgstr "" -#: e2fsck/pass1.c:1527 +#: e2fsck/pass1.c:1443 msgid "ext attr block map" msgstr "" -#: e2fsck/pass1.c:2311 +#: e2fsck/pass1.c:2181 #, c-format msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n" msgstr "" -#: e2fsck/pass1.c:2674 +#: e2fsck/pass1.c:2533 msgid "block bitmap" msgstr "" -#: e2fsck/pass1.c:2680 +#: e2fsck/pass1.c:2537 msgid "inode bitmap" msgstr "" -#: e2fsck/pass1.c:2686 +#: e2fsck/pass1.c:2541 msgid "inode table" msgstr "" -#: e2fsck/pass2.c:283 +#: e2fsck/pass2.c:277 msgid "Pass 2" msgstr "" -#: e2fsck/pass2.c:805 +#: e2fsck/pass2.c:799 msgid "Can not continue." msgstr "" -#: e2fsck/pass3.c:77 +#: e2fsck/pass3.c:76 msgid "inode done bitmap" msgstr "" -#: e2fsck/pass3.c:86 +#: e2fsck/pass3.c:84 msgid "Peak memory" msgstr "" -#: e2fsck/pass3.c:137 +#: e2fsck/pass3.c:134 msgid "Pass 3" msgstr "" -#: e2fsck/pass3.c:323 +#: e2fsck/pass3.c:320 msgid "inode loop detection bitmap" msgstr "" -#: e2fsck/pass4.c:196 +#: e2fsck/pass4.c:193 msgid "Pass 4" msgstr "" -#: e2fsck/pass5.c:74 +#: e2fsck/pass5.c:64 msgid "Pass 5" msgstr "" -#: e2fsck/problem.c:51 +#: e2fsck/problem.c:50 msgid "(no prompt)" msgstr "" -#: e2fsck/problem.c:52 +#: e2fsck/problem.c:51 msgid "Fix" msgstr "" -#: e2fsck/problem.c:53 +#: e2fsck/problem.c:52 msgid "Clear" msgstr "" -#: e2fsck/problem.c:54 +#: e2fsck/problem.c:53 msgid "Relocate" msgstr "" -#: e2fsck/problem.c:55 +#: e2fsck/problem.c:54 msgid "Allocate" msgstr "" -#: e2fsck/problem.c:56 +#: e2fsck/problem.c:55 msgid "Expand" msgstr "" -#: e2fsck/problem.c:57 +#: e2fsck/problem.c:56 msgid "Connect to /lost+found" msgstr "" -#: e2fsck/problem.c:58 +#: e2fsck/problem.c:57 msgid "Create" msgstr "" -#: e2fsck/problem.c:59 +#: e2fsck/problem.c:58 msgid "Salvage" msgstr "" -#: e2fsck/problem.c:60 +#: e2fsck/problem.c:59 msgid "Truncate" msgstr "" -#: e2fsck/problem.c:61 +#: e2fsck/problem.c:60 msgid "Clear inode" msgstr "" -#: e2fsck/problem.c:62 +#: e2fsck/problem.c:61 msgid "Abort" msgstr "" -#: e2fsck/problem.c:63 +#: e2fsck/problem.c:62 msgid "Split" msgstr "" -#: e2fsck/problem.c:64 +#: e2fsck/problem.c:63 msgid "Continue" msgstr "" -#: e2fsck/problem.c:65 +#: e2fsck/problem.c:64 msgid "Clone multiply-claimed blocks" msgstr "" -#: e2fsck/problem.c:66 +#: e2fsck/problem.c:65 msgid "Delete file" msgstr "" -#: e2fsck/problem.c:67 +#: e2fsck/problem.c:66 msgid "Suppress messages" msgstr "" -#: e2fsck/problem.c:68 +#: e2fsck/problem.c:67 msgid "Unlink" msgstr "" -#: e2fsck/problem.c:69 +#: e2fsck/problem.c:68 msgid "Clear HTree index" msgstr "" -#: e2fsck/problem.c:70 +#: e2fsck/problem.c:69 msgid "Recreate" msgstr "" -#: e2fsck/problem.c:79 +#: e2fsck/problem.c:78 msgid "(NONE)" msgstr "" -#: e2fsck/problem.c:80 +#: e2fsck/problem.c:79 msgid "FIXED" msgstr "" -#: e2fsck/problem.c:81 +#: e2fsck/problem.c:80 msgid "CLEARED" msgstr "" -#: e2fsck/problem.c:82 +#: e2fsck/problem.c:81 msgid "RELOCATED" msgstr "" -#: e2fsck/problem.c:83 +#: e2fsck/problem.c:82 msgid "ALLOCATED" msgstr "" -#: e2fsck/problem.c:84 +#: e2fsck/problem.c:83 msgid "EXPANDED" msgstr "" -#: e2fsck/problem.c:85 +#: e2fsck/problem.c:84 msgid "RECONNECTED" msgstr "" -#: e2fsck/problem.c:86 +#: e2fsck/problem.c:85 msgid "CREATED" msgstr "" -#: e2fsck/problem.c:87 +#: e2fsck/problem.c:86 msgid "SALVAGED" msgstr "" -#: e2fsck/problem.c:88 +#: e2fsck/problem.c:87 msgid "TRUNCATED" msgstr "" -#: e2fsck/problem.c:89 +#: e2fsck/problem.c:88 msgid "INODE CLEARED" msgstr "" -#: e2fsck/problem.c:90 +#: e2fsck/problem.c:89 msgid "ABORTED" msgstr "" -#: e2fsck/problem.c:91 +#: e2fsck/problem.c:90 msgid "SPLIT" msgstr "" -#: e2fsck/problem.c:92 +#: e2fsck/problem.c:91 msgid "CONTINUING" msgstr "" -#: e2fsck/problem.c:93 +#: e2fsck/problem.c:92 msgid "MULTIPLY-CLAIMED BLOCKS CLONED" msgstr "" -#: e2fsck/problem.c:94 +#: e2fsck/problem.c:93 msgid "FILE DELETED" msgstr "" -#: e2fsck/problem.c:95 +#: e2fsck/problem.c:94 msgid "SUPPRESSED" msgstr "" -#: e2fsck/problem.c:96 +#: e2fsck/problem.c:95 msgid "UNLINKED" msgstr "" -#: e2fsck/problem.c:97 +#: e2fsck/problem.c:96 msgid "HTREE INDEX CLEARED" msgstr "" -#: e2fsck/problem.c:98 +#: e2fsck/problem.c:97 msgid "WILL RECREATE" msgstr "" -#: e2fsck/problem.c:107 +#: e2fsck/problem.c:106 #. @-expanded: block bitmap for group %g is not in group. (block %b)\n msgid "@b @B for @g %g is not in @g. (@b %b)\n" msgstr "" -#: e2fsck/problem.c:111 +#: e2fsck/problem.c:110 #. @-expanded: inode bitmap for group %g is not in group. (block %b)\n msgid "@i @B for @g %g is not in @g. (@b %b)\n" msgstr "" -#: e2fsck/problem.c:116 +#: e2fsck/problem.c:115 #. @-expanded: inode table for group %g is not in group. (block %b)\n #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n msgid "" @@ -770,7 +765,7 @@ msgid "" "WARNING: SEVERE DATA LOSS POSSIBLE.\n" msgstr "" -#: e2fsck/problem.c:122 +#: e2fsck/problem.c:121 #, c-format #. @-expanded: \n #. @-expanded: The superblock could not be read or does not describe a correct ext2\n @@ -789,7 +784,7 @@ msgid "" "\n" msgstr "" -#: e2fsck/problem.c:131 +#: e2fsck/problem.c:130 #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n #. @-expanded: The physical size of the device is %c blocks\n #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n @@ -799,7 +794,7 @@ msgid "" "Either the @S or the partition table is likely to be corrupt!\n" msgstr "" -#: e2fsck/problem.c:138 +#: e2fsck/problem.c:137 #. @-expanded: superblock block_size = %b, fragsize = %c.\n #. @-expanded: This version of e2fsck does not support fragment sizes different\n #. @-expanded: from the block size.\n @@ -809,17 +804,17 @@ msgid "" "from the @b size.\n" msgstr "" -#: e2fsck/problem.c:145 +#: e2fsck/problem.c:144 #. @-expanded: superblock blocks_per_group = %b, should have been %c\n msgid "@S @bs_per_group = %b, should have been %c\n" msgstr "" -#: e2fsck/problem.c:150 +#: e2fsck/problem.c:149 #. @-expanded: superblock first_data_block = %b, should have been %c\n msgid "@S first_data_@b = %b, should have been %c\n" msgstr "" -#: e2fsck/problem.c:155 +#: e2fsck/problem.c:154 #. @-expanded: filesystem did not have a UUID; generating one.\n #. @-expanded: \n msgid "" @@ -827,7 +822,7 @@ msgid "" "\n" msgstr "" -#: e2fsck/problem.c:160 +#: e2fsck/problem.c:159 #, c-format msgid "" "Note: if several inode or block bitmap blocks or part\n" @@ -838,53 +833,53 @@ msgid "" "\n" msgstr "" -#: e2fsck/problem.c:169 +#: e2fsck/problem.c:168 #. @-expanded: Corruption found in superblock. (%s = %N).\n msgid "Corruption found in @S. (%s = %N).\n" msgstr "" -#: e2fsck/problem.c:174 +#: e2fsck/problem.c:173 #, c-format #. @-expanded: Error determining size of the physical device: %m\n msgid "Error determining size of the physical @v: %m\n" msgstr "" -#: e2fsck/problem.c:179 +#: e2fsck/problem.c:178 #. @-expanded: inode count in superblock is %i, should be %j.\n msgid "@i count in @S is %i, @s %j.\n" msgstr "" -#: e2fsck/problem.c:183 +#: e2fsck/problem.c:182 msgid "The Hurd does not support the filetype feature.\n" msgstr "" -#: e2fsck/problem.c:188 +#: e2fsck/problem.c:187 #, c-format #. @-expanded: superblock has an invalid journal (inode %i).\n msgid "@S has an @n @j (@i %i).\n" msgstr "" -#: e2fsck/problem.c:193 +#: e2fsck/problem.c:192 #. @-expanded: External journal has multiple filesystem users (unsupported).\n msgid "External @j has multiple @f users (unsupported).\n" msgstr "" -#: e2fsck/problem.c:198 +#: e2fsck/problem.c:197 #. @-expanded: Can't find external journal\n msgid "Can't find external @j\n" msgstr "" -#: e2fsck/problem.c:203 +#: e2fsck/problem.c:202 #. @-expanded: External journal has bad superblock\n msgid "External @j has bad @S\n" msgstr "" -#: e2fsck/problem.c:208 +#: e2fsck/problem.c:207 #. @-expanded: External journal does not support this filesystem\n msgid "External @j does not support this @f\n" msgstr "" -#: e2fsck/problem.c:213 +#: e2fsck/problem.c:212 #. @-expanded: filesystem journal superblock is unknown type %N (unsupported).\n #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal #. @-expanded: format.\n @@ -896,80 +891,80 @@ msgid "" "It is also possible the @j @S is corrupt.\n" msgstr "" -#: e2fsck/problem.c:221 +#: e2fsck/problem.c:220 #. @-expanded: journal superblock is corrupt.\n msgid "@j @S is corrupt.\n" msgstr "" -#: e2fsck/problem.c:226 +#: e2fsck/problem.c:225 #, c-format #. @-expanded: superblock has_journal flag is clear, but a journal %s is present.\n msgid "@S has_@j flag is clear, but a @j %s is present.\n" msgstr "" -#: e2fsck/problem.c:231 +#: e2fsck/problem.c:230 #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n msgid "@S needs_recovery flag is set, but no @j is present.\n" msgstr "" -#: e2fsck/problem.c:236 +#: e2fsck/problem.c:235 #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n msgid "@S needs_recovery flag is clear, but @j has data.\n" msgstr "" -#: e2fsck/problem.c:241 +#: e2fsck/problem.c:240 #. @-expanded: Clear journal msgid "Clear @j" msgstr "" -#: e2fsck/problem.c:246 e2fsck/problem.c:700 +#: e2fsck/problem.c:245 e2fsck/problem.c:664 #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. msgid "@f has feature flag(s) set, but is a revision 0 @f. " msgstr "" -#: e2fsck/problem.c:251 +#: e2fsck/problem.c:250 #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" msgstr "" -#: e2fsck/problem.c:256 +#: e2fsck/problem.c:255 #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n msgid "@I %B (%b) found in @o @i %i.\n" msgstr "" -#: e2fsck/problem.c:261 +#: e2fsck/problem.c:260 #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n msgid "Already cleared %B (%b) found in @o @i %i.\n" msgstr "" -#: e2fsck/problem.c:266 +#: e2fsck/problem.c:265 #, c-format #. @-expanded: illegal orphaned inode %i in superblock.\n msgid "@I @o @i %i in @S.\n" msgstr "" -#: e2fsck/problem.c:271 +#: e2fsck/problem.c:270 #, c-format #. @-expanded: illegal inode %i in orphaned inode list.\n msgid "@I @i %i in @o @i list.\n" msgstr "" -#: e2fsck/problem.c:276 +#: e2fsck/problem.c:275 #. @-expanded: journal superblock has an unknown read-only feature flag set.\n msgid "@j @S has an unknown read-only feature flag set.\n" msgstr "" -#: e2fsck/problem.c:281 +#: e2fsck/problem.c:280 #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n msgid "@j @S has an unknown incompatible feature flag set.\n" msgstr "" -#: e2fsck/problem.c:286 +#: e2fsck/problem.c:285 #. @-expanded: journal version not supported by this e2fsck.\n msgid "@j version not supported by this e2fsck.\n" msgstr "" -#: e2fsck/problem.c:291 +#: e2fsck/problem.c:290 #, c-format #. @-expanded: Moving journal from /%s to hidden inode.\n #. @-expanded: \n @@ -978,7 +973,7 @@ msgid "" "\n" msgstr "" -#: e2fsck/problem.c:296 +#: e2fsck/problem.c:295 #, c-format #. @-expanded: Error moving journal: %m\n #. @-expanded: \n @@ -987,7 +982,7 @@ msgid "" "\n" msgstr "" -#: e2fsck/problem.c:301 +#: e2fsck/problem.c:300 #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n #. @-expanded: Clearing fields beyond the V1 journal superblock...\n #. @-expanded: \n @@ -997,17 +992,17 @@ msgid "" "\n" msgstr "" -#: e2fsck/problem.c:307 +#: e2fsck/problem.c:306 #. @-expanded: Run journal anyway msgid "Run @j anyway" msgstr "" -#: e2fsck/problem.c:312 +#: e2fsck/problem.c:311 #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n msgid "Recovery flag not set in backup @S, so running @j anyway.\n" msgstr "" -#: e2fsck/problem.c:317 +#: e2fsck/problem.c:316 #. @-expanded: Backing up journal inode block information.\n #. @-expanded: \n msgid "" @@ -1015,7 +1010,7 @@ msgid "" "\n" msgstr "" -#: e2fsck/problem.c:322 +#: e2fsck/problem.c:321 #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n #. @-expanded: is %N; should be zero. msgid "" @@ -1023,17 +1018,17 @@ msgid "" "is %N; @s zero. " msgstr "" -#: e2fsck/problem.c:328 +#: e2fsck/problem.c:327 #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero. msgid "Resize_@i not enabled, but the resize @i is non-zero. " msgstr "" -#: e2fsck/problem.c:333 +#: e2fsck/problem.c:332 #. @-expanded: Resize inode not valid. msgid "Resize @i not valid. " msgstr "" -#: e2fsck/problem.c:338 +#: e2fsck/problem.c:337 #. @-expanded: superblock last mount time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n msgid "" @@ -1041,7 +1036,7 @@ msgid "" "\tnow = %T) is in the future.\n" msgstr "" -#: e2fsck/problem.c:343 +#: e2fsck/problem.c:342 #. @-expanded: superblock last write time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n msgid "" @@ -1049,13 +1044,13 @@ msgid "" "\tnow = %T) is in the future.\n" msgstr "" -#: e2fsck/problem.c:347 +#: e2fsck/problem.c:346 #, c-format #. @-expanded: superblock hint for external superblock should be %X. msgid "@S hint for external superblock @s %X. " msgstr "" -#: e2fsck/problem.c:352 +#: e2fsck/problem.c:351 #. @-expanded: Adding dirhash hint to filesystem.\n #. @-expanded: \n msgid "" @@ -1063,37 +1058,44 @@ msgid "" "\n" msgstr "" -#: e2fsck/problem.c:357 -#. @-expanded: group descriptor %g checksum is %04x, should be %04y. -msgid "@g descriptor %g checksum is %04x, should be %04y. " +#: e2fsck/problem.c:356 +#, c-format +#. @-expanded: group descriptor %g checksum is invalid. +msgid "@g descriptor %g checksum is invalid. " msgstr "" -#: e2fsck/problem.c:362 +#: e2fsck/problem.c:361 #, c-format #. @-expanded: group descriptor %g marked uninitialized without feature set.\n msgid "@g descriptor %g marked uninitialized without feature set.\n" msgstr "" -#: e2fsck/problem.c:367 +#: e2fsck/problem.c:366 +#, c-format +#. @-expanded: group %g block bitmap uninitialized but inode bitmap in use.\n +msgid "@g %g @b @B uninitialized but @i @B in use.\n" +msgstr "" + +#: e2fsck/problem.c:371 #. @-expanded: group descriptor %g has invalid unused inodes count %b. msgid "@g descriptor %g has invalid unused inodes count %b. " msgstr "" -#: e2fsck/problem.c:372 +#: e2fsck/problem.c:376 #. @-expanded: Last group block bitmap uninitialized. msgid "Last @g @b @B uninitialized. " msgstr "" -#: e2fsck/problem.c:377 +#: e2fsck/problem.c:381 #, c-format msgid "Journal transaction %i was corrupt, replay was aborted.\n" msgstr "" -#: e2fsck/problem.c:381 +#: e2fsck/problem.c:385 msgid "The test_fs flag is set (and ext4 is available). " msgstr "" -#: e2fsck/problem.c:386 +#: e2fsck/problem.c:390 #. @-expanded: superblock last mount time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set) @@ -1103,7 +1105,7 @@ msgid "" "set) " msgstr "" -#: e2fsck/problem.c:392 +#: e2fsck/problem.c:396 #. @-expanded: superblock last write time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set). @@ -1113,167 +1115,127 @@ msgid "" "set). " msgstr "" -#: e2fsck/problem.c:398 +#: e2fsck/problem.c:402 #. @-expanded: One or more block group descriptor checksums are invalid. msgid "One or more @b @g descriptor checksums are invalid. " msgstr "" -#: e2fsck/problem.c:403 -#. @-expanded: Setting free inodes count to %j (was %i)\n -msgid "Setting free @is count to %j (was %i)\n" -msgstr "" - -#: e2fsck/problem.c:408 -#. @-expanded: Setting free blocks count to %c (was %b)\n -msgid "Setting free @bs count to %c (was %b)\n" -msgstr "" - -#: e2fsck/problem.c:413 -#. @-expanded: Making quota inode %i (%Q) hidden.\n -msgid "Making @q @i %i (%Q) hidden.\n" -msgstr "" - -#: e2fsck/problem.c:418 -#. @-expanded: superblock has invalid MMP block. -msgid "@S has invalid MMP block. " -msgstr "" - -#: e2fsck/problem.c:423 -#. @-expanded: superblock has invalid MMP magic. -msgid "@S has invalid MMP magic. " -msgstr "" - -#: e2fsck/problem.c:428 -#, c-format -msgid "ext2fs_open2: %m\n" -msgstr "" - -#: e2fsck/problem.c:433 -#, c-format -msgid "ext2fs_check_desc: %m\n" -msgstr "" - -#: e2fsck/problem.c:438 -#. @-expanded: superblock 64bit filesystems needs extents to access the whole disk. -msgid "@S 64bit filesystems needs extents to access the whole disk. " -msgstr "" - -#: e2fsck/problem.c:445 +#: e2fsck/problem.c:409 #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n msgid "Pass 1: Checking @is, @bs, and sizes\n" msgstr "" -#: e2fsck/problem.c:449 +#: e2fsck/problem.c:413 #. @-expanded: root inode is not a directory. msgid "@r is not a @d. " msgstr "" -#: e2fsck/problem.c:454 +#: e2fsck/problem.c:418 #. @-expanded: root inode has dtime set (probably due to old mke2fs). msgid "@r has dtime set (probably due to old mke2fs). " msgstr "" -#: e2fsck/problem.c:459 +#: e2fsck/problem.c:423 #. @-expanded: Reserved inode %i (%Q) has invalid mode. msgid "Reserved @i %i (%Q) has @n mode. " msgstr "" -#: e2fsck/problem.c:464 +#: e2fsck/problem.c:428 #, c-format #. @-expanded: deleted inode %i has zero dtime. msgid "@D @i %i has zero dtime. " msgstr "" -#: e2fsck/problem.c:469 +#: e2fsck/problem.c:433 #, c-format #. @-expanded: inode %i is in use, but has dtime set. msgid "@i %i is in use, but has dtime set. " msgstr "" -#: e2fsck/problem.c:474 +#: e2fsck/problem.c:438 #, c-format #. @-expanded: inode %i is a zero-length directory. msgid "@i %i is a @z @d. " msgstr "" -#: e2fsck/problem.c:479 +#: e2fsck/problem.c:443 #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n msgid "@g %g's @b @B at %b @C.\n" msgstr "" -#: e2fsck/problem.c:484 +#: e2fsck/problem.c:448 #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n msgid "@g %g's @i @B at %b @C.\n" msgstr "" -#: e2fsck/problem.c:489 +#: e2fsck/problem.c:453 #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n msgid "@g %g's @i table at %b @C.\n" msgstr "" -#: e2fsck/problem.c:494 +#: e2fsck/problem.c:458 #. @-expanded: group %g's block bitmap (%b) is bad. msgid "@g %g's @b @B (%b) is bad. " msgstr "" -#: e2fsck/problem.c:499 +#: e2fsck/problem.c:463 #. @-expanded: group %g's inode bitmap (%b) is bad. msgid "@g %g's @i @B (%b) is bad. " msgstr "" -#: e2fsck/problem.c:504 +#: e2fsck/problem.c:468 #. @-expanded: inode %i, i_size is %Is, should be %N. msgid "@i %i, i_size is %Is, @s %N. " msgstr "" -#: e2fsck/problem.c:509 +#: e2fsck/problem.c:473 #. @-expanded: inode %i, i_blocks is %Ib, should be %N. msgid "@i %i, i_@bs is %Ib, @s %N. " msgstr "" -#: e2fsck/problem.c:514 +#: e2fsck/problem.c:478 #. @-expanded: illegal %B (%b) in inode %i. msgid "@I %B (%b) in @i %i. " msgstr "" -#: e2fsck/problem.c:519 +#: e2fsck/problem.c:483 #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i. msgid "%B (%b) overlaps @f metadata in @i %i. " msgstr "" -#: e2fsck/problem.c:524 +#: e2fsck/problem.c:488 #, c-format #. @-expanded: inode %i has illegal block(s). msgid "@i %i has illegal @b(s). " msgstr "" -#: e2fsck/problem.c:529 +#: e2fsck/problem.c:493 #, c-format #. @-expanded: Too many illegal blocks in inode %i.\n msgid "Too many illegal @bs in @i %i.\n" msgstr "" -#: e2fsck/problem.c:534 +#: e2fsck/problem.c:498 #. @-expanded: illegal %B (%b) in bad block inode. msgid "@I %B (%b) in bad @b @i. " msgstr "" -#: e2fsck/problem.c:539 +#: e2fsck/problem.c:503 #. @-expanded: Bad block inode has illegal block(s). msgid "Bad @b @i has illegal @b(s). " msgstr "" -#: e2fsck/problem.c:544 +#: e2fsck/problem.c:508 #. @-expanded: Duplicate or bad block in use!\n msgid "Duplicate or bad @b in use!\n" msgstr "" -#: e2fsck/problem.c:549 +#: e2fsck/problem.c:513 #. @-expanded: Bad block %b used as bad block inode indirect block. msgid "Bad @b %b used as bad @b @i indirect @b. " msgstr "" -#: e2fsck/problem.c:554 +#: e2fsck/problem.c:518 #. @-expanded: \n #. @-expanded: The bad block inode has probably been corrupted. You probably\n #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n @@ -1285,7 +1247,7 @@ msgid "" "in the @f.\n" msgstr "" -#: e2fsck/problem.c:561 +#: e2fsck/problem.c:525 #. @-expanded: \n #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n msgid "" @@ -1293,7 +1255,7 @@ msgid "" "If the @b is really bad, the @f can not be fixed.\n" msgstr "" -#: e2fsck/problem.c:566 +#: e2fsck/problem.c:530 #. @-expanded: You can remove this block from the bad block list and hope\n #. @-expanded: that the block is really OK. But there are no guarantees.\n #. @-expanded: \n @@ -1303,120 +1265,120 @@ msgid "" "\n" msgstr "" -#: e2fsck/problem.c:572 +#: e2fsck/problem.c:536 #. @-expanded: The primary superblock (%b) is on the bad block list.\n msgid "The primary @S (%b) is on the bad @b list.\n" msgstr "" -#: e2fsck/problem.c:577 +#: e2fsck/problem.c:541 #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n msgid "Block %b in the primary @g descriptors is on the bad @b list\n" msgstr "" -#: e2fsck/problem.c:583 +#: e2fsck/problem.c:547 #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n msgid "Warning: Group %g's @S (%b) is bad.\n" msgstr "" -#: e2fsck/problem.c:588 +#: e2fsck/problem.c:552 #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n" msgstr "" -#: e2fsck/problem.c:594 +#: e2fsck/problem.c:558 #. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n" msgstr "" -#: e2fsck/problem.c:600 +#: e2fsck/problem.c:564 #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n" msgstr "" -#: e2fsck/problem.c:605 +#: e2fsck/problem.c:569 #, c-format #. @-expanded: error allocating block buffer for relocating %s\n msgid "@A @b buffer for relocating %s\n" msgstr "" -#: e2fsck/problem.c:610 +#: e2fsck/problem.c:574 #. @-expanded: Relocating group %g's %s from %b to %c...\n msgid "Relocating @g %g's %s from %b to %c...\n" msgstr "" -#: e2fsck/problem.c:615 +#: e2fsck/problem.c:579 #, c-format #. @-expanded: Relocating group %g's %s to %c...\n msgid "Relocating @g %g's %s to %c...\n" msgstr "" -#: e2fsck/problem.c:620 +#: e2fsck/problem.c:584 #. @-expanded: Warning: could not read block %b of %s: %m\n msgid "Warning: could not read @b %b of %s: %m\n" msgstr "" -#: e2fsck/problem.c:625 +#: e2fsck/problem.c:589 #. @-expanded: Warning: could not write block %b for %s: %m\n msgid "Warning: could not write @b %b for %s: %m\n" msgstr "" -#: e2fsck/problem.c:630 e2fsck/problem.c:1479 +#: e2fsck/problem.c:594 e2fsck/problem.c:1405 #. @-expanded: error allocating inode bitmap (%N): %m\n msgid "@A @i @B (%N): %m\n" msgstr "" -#: e2fsck/problem.c:635 +#: e2fsck/problem.c:599 #. @-expanded: error allocating block bitmap (%N): %m\n msgid "@A @b @B (%N): %m\n" msgstr "" -#: e2fsck/problem.c:640 +#: e2fsck/problem.c:604 #, c-format #. @-expanded: error allocating icount link information: %m\n msgid "@A icount link information: %m\n" msgstr "" -#: e2fsck/problem.c:645 +#: e2fsck/problem.c:609 #, c-format #. @-expanded: error allocating directory block array: %m\n msgid "@A @d @b array: %m\n" msgstr "" -#: e2fsck/problem.c:650 +#: e2fsck/problem.c:614 #, c-format #. @-expanded: Error while scanning inodes (%i): %m\n msgid "Error while scanning @is (%i): %m\n" msgstr "" -#: e2fsck/problem.c:655 +#: e2fsck/problem.c:619 #, c-format #. @-expanded: Error while iterating over blocks in inode %i: %m\n msgid "Error while iterating over @bs in @i %i: %m\n" msgstr "" -#: e2fsck/problem.c:660 +#: e2fsck/problem.c:624 #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n msgid "Error storing @i count information (@i=%i, count=%N): %m\n" msgstr "" -#: e2fsck/problem.c:665 +#: e2fsck/problem.c:629 #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n" msgstr "" -#: e2fsck/problem.c:671 +#: e2fsck/problem.c:635 #, c-format #. @-expanded: Error reading inode %i: %m\n msgid "Error reading @i %i: %m\n" msgstr "" -#: e2fsck/problem.c:679 +#: e2fsck/problem.c:643 #, c-format #. @-expanded: inode %i has imagic flag set. msgid "@i %i has imagic flag set. " msgstr "" -#: e2fsck/problem.c:684 +#: e2fsck/problem.c:648 #, c-format #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n #. @-expanded: or append-only flag set. @@ -1425,148 +1387,148 @@ msgid "" "or append-only flag set. " msgstr "" -#: e2fsck/problem.c:690 +#: e2fsck/problem.c:654 #, c-format #. @-expanded: inode %i has compression flag set on filesystem without compression support. msgid "@i %i has @cion flag set on @f without @cion support. " msgstr "" -#: e2fsck/problem.c:695 +#: e2fsck/problem.c:659 #, c-format #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size. msgid "Special (@v/socket/fifo) @i %i has non-zero size. " msgstr "" -#: e2fsck/problem.c:705 +#: e2fsck/problem.c:669 #. @-expanded: journal inode is not in use, but contains data. msgid "@j @i is not in use, but contains data. " msgstr "" -#: e2fsck/problem.c:710 +#: e2fsck/problem.c:674 #. @-expanded: journal is not regular file. msgid "@j is not regular file. " msgstr "" -#: e2fsck/problem.c:715 +#: e2fsck/problem.c:679 #, c-format #. @-expanded: inode %i was part of the orphaned inode list. msgid "@i %i was part of the @o @i list. " msgstr "" -#: e2fsck/problem.c:721 +#: e2fsck/problem.c:685 #. @-expanded: inodes that were part of a corrupted orphan linked list found. msgid "@is that were part of a corrupted orphan linked list found. " msgstr "" -#: e2fsck/problem.c:726 +#: e2fsck/problem.c:690 #. @-expanded: error allocating refcount structure (%N): %m\n msgid "@A refcount structure (%N): %m\n" msgstr "" -#: e2fsck/problem.c:731 +#: e2fsck/problem.c:695 #. @-expanded: Error reading extended attribute block %b for inode %i. msgid "Error reading @a @b %b for @i %i. " msgstr "" -#: e2fsck/problem.c:736 +#: e2fsck/problem.c:700 #. @-expanded: inode %i has a bad extended attribute block %b. msgid "@i %i has a bad @a @b %b. " msgstr "" -#: e2fsck/problem.c:741 +#: e2fsck/problem.c:705 #. @-expanded: Error reading extended attribute block %b (%m). msgid "Error reading @a @b %b (%m). " msgstr "" -#: e2fsck/problem.c:746 +#: e2fsck/problem.c:710 #. @-expanded: extended attribute block %b has reference count %r, should be %N. msgid "@a @b %b has reference count %r, @s %N. " msgstr "" -#: e2fsck/problem.c:751 +#: e2fsck/problem.c:715 #. @-expanded: Error writing extended attribute block %b (%m). msgid "Error writing @a @b %b (%m). " msgstr "" -#: e2fsck/problem.c:756 +#: e2fsck/problem.c:720 #. @-expanded: extended attribute block %b has h_blocks > 1. msgid "@a @b %b has h_@bs > 1. " msgstr "" -#: e2fsck/problem.c:761 +#: e2fsck/problem.c:725 #. @-expanded: error allocating extended attribute block %b. msgid "@A @a @b %b. " msgstr "" -#: e2fsck/problem.c:766 +#: e2fsck/problem.c:730 #. @-expanded: extended attribute block %b is corrupt (allocation collision). msgid "@a @b %b is corrupt (allocation collision). " msgstr "" -#: e2fsck/problem.c:771 +#: e2fsck/problem.c:735 #. @-expanded: extended attribute block %b is corrupt (invalid name). msgid "@a @b %b is corrupt (@n name). " msgstr "" -#: e2fsck/problem.c:776 +#: e2fsck/problem.c:740 #. @-expanded: extended attribute block %b is corrupt (invalid value). msgid "@a @b %b is corrupt (@n value). " msgstr "" -#: e2fsck/problem.c:781 +#: e2fsck/problem.c:745 #, c-format #. @-expanded: inode %i is too big. msgid "@i %i is too big. " msgstr "" -#: e2fsck/problem.c:785 +#: e2fsck/problem.c:749 #. @-expanded: %B (%b) causes directory to be too big. msgid "%B (%b) causes @d to be too big. " msgstr "" -#: e2fsck/problem.c:790 +#: e2fsck/problem.c:754 msgid "%B (%b) causes file to be too big. " msgstr "" -#: e2fsck/problem.c:795 +#: e2fsck/problem.c:759 msgid "%B (%b) causes symlink to be too big. " msgstr "" -#: e2fsck/problem.c:800 +#: e2fsck/problem.c:764 #, c-format #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n msgid "@i %i has INDEX_FL flag set on @f without htree support.\n" msgstr "" -#: e2fsck/problem.c:805 +#: e2fsck/problem.c:769 #, c-format #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n msgid "@i %i has INDEX_FL flag set but is not a @d.\n" msgstr "" -#: e2fsck/problem.c:810 +#: e2fsck/problem.c:774 #, c-format #. @-expanded: HTREE directory inode %i has an invalid root node.\n msgid "@h %i has an @n root node.\n" msgstr "" -#: e2fsck/problem.c:815 +#: e2fsck/problem.c:779 #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n msgid "@h %i has an unsupported hash version (%N)\n" msgstr "" -#: e2fsck/problem.c:820 +#: e2fsck/problem.c:784 #, c-format #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n msgid "@h %i uses an incompatible htree root node flag.\n" msgstr "" -#: e2fsck/problem.c:825 +#: e2fsck/problem.c:789 #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n msgid "@h %i has a tree depth (%N) which is too big\n" msgstr "" -#: e2fsck/problem.c:830 +#: e2fsck/problem.c:794 #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n #. @-expanded: filesystem metadata. msgid "" @@ -1574,54 +1536,54 @@ msgid "" "@f metadata. " msgstr "" -#: e2fsck/problem.c:836 +#: e2fsck/problem.c:800 #, c-format #. @-expanded: Resize inode (re)creation failed: %m. msgid "Resize @i (re)creation failed: %m." msgstr "" -#: e2fsck/problem.c:841 +#: e2fsck/problem.c:805 #. @-expanded: inode %i has a extra size (%IS) which is invalid\n msgid "@i %i has a extra size (%IS) which is @n\n" msgstr "" -#: e2fsck/problem.c:846 +#: e2fsck/problem.c:810 #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n msgid "@a in @i %i has a namelen (%N) which is @n\n" msgstr "" -#: e2fsck/problem.c:851 +#: e2fsck/problem.c:815 #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n msgid "@a in @i %i has a value offset (%N) which is @n\n" msgstr "" -#: e2fsck/problem.c:856 +#: e2fsck/problem.c:820 #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" msgstr "" -#: e2fsck/problem.c:861 +#: e2fsck/problem.c:825 #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n msgid "@a in @i %i has a value size (%N) which is @n\n" msgstr "" -#: e2fsck/problem.c:866 +#: e2fsck/problem.c:830 #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n msgid "@a in @i %i has a hash (%N) which is @n\n" msgstr "" -#: e2fsck/problem.c:871 +#: e2fsck/problem.c:835 #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n msgid "@i %i is a %It but it looks like it is really a directory.\n" msgstr "" -#: e2fsck/problem.c:876 +#: e2fsck/problem.c:840 #, c-format #. @-expanded: Error while reading over extent tree in inode %i: %m\n msgid "Error while reading over @x tree in @i %i: %m\n" msgstr "" -#: e2fsck/problem.c:881 +#: e2fsck/problem.c:845 #. @-expanded: Failed to iterate extents in inode %i\n #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n msgid "" @@ -1629,7 +1591,7 @@ msgid "" "\t(op %s, blk %b, lblk %c): %m\n" msgstr "" -#: e2fsck/problem.c:887 +#: e2fsck/problem.c:851 #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n msgid "" @@ -1637,7 +1599,7 @@ msgid "" "\t(logical @b %c, @n physical @b %b, len %N)\n" msgstr "" -#: e2fsck/problem.c:892 +#: e2fsck/problem.c:856 #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n msgid "" @@ -1645,30 +1607,30 @@ msgid "" "\t(logical @b %c, physical @b %b, @n len %N)\n" msgstr "" -#: e2fsck/problem.c:897 +#: e2fsck/problem.c:861 #, c-format #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n" msgstr "" -#: e2fsck/problem.c:902 +#: e2fsck/problem.c:866 #, c-format #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n" msgstr "" -#: e2fsck/problem.c:907 +#: e2fsck/problem.c:871 #, c-format #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n msgid "@i %i missing EXTENT_FL, but is in extents format\n" msgstr "" -#: e2fsck/problem.c:912 +#: e2fsck/problem.c:876 #, c-format msgid "Fast symlink %i has EXTENT_FL set. " msgstr "" -#: e2fsck/problem.c:917 +#: e2fsck/problem.c:881 #. @-expanded: inode %i has out of order extents\n #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n msgid "" @@ -1676,110 +1638,65 @@ msgid "" "\t(@n logical @b %c, physical @b %b, len %N)\n" msgstr "" -#: e2fsck/problem.c:921 +#: e2fsck/problem.c:885 #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n" msgstr "" -#: e2fsck/problem.c:926 -#, c-format -#. @-expanded: Error converting subcluster block bitmap: %m\n -msgid "Error converting subcluster @b @B: %m\n" +#: e2fsck/problem.c:889 +#. @-expanded: inode %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n +msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" msgstr "" -#: e2fsck/problem.c:931 -#. @-expanded: quota inode is not regular file. -msgid "@q @i is not regular file. " +#: e2fsck/problem.c:897 +#. @-expanded: \n +#. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n +#. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n +msgid "" +"\n" +"Running additional passes to resolve @bs claimed by more than one @i...\n" +"Pass 1B: Rescanning for @m @bs\n" msgstr "" -#: e2fsck/problem.c:936 -#. @-expanded: quota inode is not in use, but contains data. -msgid "@q @i is not in use, but contains data. " +#: e2fsck/problem.c:903 +#, c-format +#. @-expanded: multiply-claimed block(s) in inode %i: +msgid "@m @b(s) in @i %i:" msgstr "" -#: e2fsck/problem.c:941 -#. @-expanded: quota inode is visible to the user. -msgid "@q @i is visible to the user. " +#: e2fsck/problem.c:918 +#, c-format +msgid "Error while scanning inodes (%i): %m\n" msgstr "" -#: e2fsck/problem.c:946 -#. @-expanded: The bad block inode looks invalid. -msgid "The bad @b @i looks @n. " +#: e2fsck/problem.c:923 +#, c-format +#. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n +msgid "@A @i @B (@i_dup_map): %m\n" msgstr "" -#: e2fsck/problem.c:951 -#. @-expanded: inode %i has zero length extent\n -#. @-expanded: \t(invalid logical block %c, physical block %b)\n -msgid "" -"@i %i has zero length extent\n" -"\t(@n logical @b %c, physical @b %b)\n" -msgstr "" - -#: e2fsck/problem.c:958 -#. @-expanded: Interior extent node level %N of inode %i:\n -#. @-expanded: Logical start %b does not match logical start %c at next level. -msgid "" -"Interior @x node level %N of @i %i:\n" -"Logical start %b does not match logical start %c at next level. " -msgstr "" - -#: e2fsck/problem.c:964 -#. @-expanded: inode %i, end of extent exceeds allowed value\n -#. @-expanded: \t(logical block %c, physical block %b, len %N)\n -msgid "" -"@i %i, end of extent exceeds allowed value\n" -"\t(logical @b %c, physical @b %b, len %N)\n" -msgstr "" - -#: e2fsck/problem.c:972 -#. @-expanded: \n -#. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n -#. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n -msgid "" -"\n" -"Running additional passes to resolve @bs claimed by more than one @i...\n" -"Pass 1B: Rescanning for @m @bs\n" -msgstr "" - -#: e2fsck/problem.c:978 -#, c-format -#. @-expanded: multiply-claimed block(s) in inode %i: -msgid "@m @b(s) in @i %i:" -msgstr "" - -#: e2fsck/problem.c:993 -#, c-format -msgid "Error while scanning inodes (%i): %m\n" -msgstr "" - -#: e2fsck/problem.c:998 -#, c-format -#. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n -msgid "@A @i @B (@i_dup_map): %m\n" -msgstr "" - -#: e2fsck/problem.c:1003 +#: e2fsck/problem.c:928 #, c-format #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n msgid "Error while iterating over @bs in @i %i (%s): %m\n" msgstr "" -#: e2fsck/problem.c:1008 e2fsck/problem.c:1323 +#: e2fsck/problem.c:933 e2fsck/problem.c:1249 #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n" msgstr "" -#: e2fsck/problem.c:1013 +#: e2fsck/problem.c:939 #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n msgid "Pass 1C: Scanning directories for @is with @m @bs\n" msgstr "" -#: e2fsck/problem.c:1019 +#: e2fsck/problem.c:945 #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n msgid "Pass 1D: Reconciling @m @bs\n" msgstr "" -#: e2fsck/problem.c:1024 +#: e2fsck/problem.c:950 #. @-expanded: File %Q (inode #%i, mod time %IM) \n #. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n msgid "" @@ -1787,17 +1704,17 @@ msgid "" " has %r @m @b(s), shared with %N file(s):\n" msgstr "" -#: e2fsck/problem.c:1030 +#: e2fsck/problem.c:956 #. @-expanded: \t%Q (inode #%i, mod time %IM)\n msgid "\t%Q (@i #%i, mod time %IM)\n" msgstr "" -#: e2fsck/problem.c:1035 +#: e2fsck/problem.c:961 #. @-expanded: \t\n msgid "\t<@f metadata>\n" msgstr "" -#: e2fsck/problem.c:1040 +#: e2fsck/problem.c:966 #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n #. @-expanded: \n msgid "" @@ -1805,7 +1722,7 @@ msgid "" "\n" msgstr "" -#: e2fsck/problem.c:1045 +#: e2fsck/problem.c:971 #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n #. @-expanded: \n msgid "" @@ -1813,313 +1730,313 @@ msgid "" "\n" msgstr "" -#: e2fsck/problem.c:1058 +#: e2fsck/problem.c:984 #, c-format msgid "Couldn't clone file: %m\n" msgstr "" -#: e2fsck/problem.c:1064 +#: e2fsck/problem.c:990 #. @-expanded: Pass 2: Checking directory structure\n msgid "Pass 2: Checking @d structure\n" msgstr "" -#: e2fsck/problem.c:1069 +#: e2fsck/problem.c:995 #, c-format #. @-expanded: invalid inode number for '.' in directory inode %i.\n msgid "@n @i number for '.' in @d @i %i.\n" msgstr "" -#: e2fsck/problem.c:1074 +#: e2fsck/problem.c:1000 #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n msgid "@E has @n @i #: %Di.\n" msgstr "" -#: e2fsck/problem.c:1079 +#: e2fsck/problem.c:1005 #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di. msgid "@E has @D/unused @i %Di. " msgstr "" -#: e2fsck/problem.c:1084 +#: e2fsck/problem.c:1010 #. @-expanded: entry '%Dn' in %p (%i) is a link to '.' msgid "@E @L to '.' " msgstr "" -#: e2fsck/problem.c:1089 +#: e2fsck/problem.c:1015 #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n msgid "@E points to @i (%Di) located in a bad @b.\n" msgstr "" -#: e2fsck/problem.c:1094 +#: e2fsck/problem.c:1020 #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n msgid "@E @L to @d %P (%Di).\n" msgstr "" -#: e2fsck/problem.c:1099 +#: e2fsck/problem.c:1025 #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n msgid "@E @L to the @r.\n" msgstr "" -#: e2fsck/problem.c:1104 +#: e2fsck/problem.c:1030 #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n msgid "@E has illegal characters in its name.\n" msgstr "" -#: e2fsck/problem.c:1109 +#: e2fsck/problem.c:1035 #, c-format #. @-expanded: Missing '.' in directory inode %i.\n msgid "Missing '.' in @d @i %i.\n" msgstr "" -#: e2fsck/problem.c:1114 +#: e2fsck/problem.c:1040 #, c-format #. @-expanded: Missing '..' in directory inode %i.\n msgid "Missing '..' in @d @i %i.\n" msgstr "" -#: e2fsck/problem.c:1119 +#: e2fsck/problem.c:1045 #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n" msgstr "" -#: e2fsck/problem.c:1124 +#: e2fsck/problem.c:1050 #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n" msgstr "" -#: e2fsck/problem.c:1129 +#: e2fsck/problem.c:1055 #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n msgid "i_faddr @F %IF, @s zero.\n" msgstr "" -#: e2fsck/problem.c:1134 +#: e2fsck/problem.c:1060 #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n msgid "i_file_acl @F %If, @s zero.\n" msgstr "" -#: e2fsck/problem.c:1139 +#: e2fsck/problem.c:1065 #. @-expanded: i_dir_acl for inode %i (%Q) is %Id, should be zero.\n msgid "i_dir_acl @F %Id, @s zero.\n" msgstr "" -#: e2fsck/problem.c:1144 +#: e2fsck/problem.c:1070 #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n msgid "i_frag @F %N, @s zero.\n" msgstr "" -#: e2fsck/problem.c:1149 +#: e2fsck/problem.c:1075 #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n msgid "i_fsize @F %N, @s zero.\n" msgstr "" -#: e2fsck/problem.c:1154 +#: e2fsck/problem.c:1080 #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n msgid "@i %i (%Q) has @n mode (%Im).\n" msgstr "" -#: e2fsck/problem.c:1159 +#: e2fsck/problem.c:1085 #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n msgid "@d @i %i, %B, offset %N: @d corrupted\n" msgstr "" -#: e2fsck/problem.c:1164 +#: e2fsck/problem.c:1090 #. @-expanded: directory inode %i, %B, offset %N: filename too long\n msgid "@d @i %i, %B, offset %N: filename too long\n" msgstr "" -#: e2fsck/problem.c:1169 +#: e2fsck/problem.c:1095 #. @-expanded: directory inode %i has an unallocated %B. msgid "@d @i %i has an unallocated %B. " msgstr "" -#: e2fsck/problem.c:1174 +#: e2fsck/problem.c:1100 #, c-format #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n msgid "'.' @d @e in @d @i %i is not NULL terminated\n" msgstr "" -#: e2fsck/problem.c:1179 +#: e2fsck/problem.c:1105 #, c-format #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n msgid "'..' @d @e in @d @i %i is not NULL terminated\n" msgstr "" -#: e2fsck/problem.c:1184 +#: e2fsck/problem.c:1110 #. @-expanded: inode %i (%Q) is an illegal character device.\n msgid "@i %i (%Q) is an @I character @v.\n" msgstr "" -#: e2fsck/problem.c:1189 +#: e2fsck/problem.c:1115 #. @-expanded: inode %i (%Q) is an illegal block device.\n msgid "@i %i (%Q) is an @I @b @v.\n" msgstr "" -#: e2fsck/problem.c:1194 +#: e2fsck/problem.c:1120 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n msgid "@E is duplicate '.' @e.\n" msgstr "" -#: e2fsck/problem.c:1199 +#: e2fsck/problem.c:1125 #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n msgid "@E is duplicate '..' @e.\n" msgstr "" -#: e2fsck/problem.c:1204 e2fsck/problem.c:1504 +#: e2fsck/problem.c:1130 e2fsck/problem.c:1430 #, c-format msgid "Internal error: couldn't find dir_info for %i.\n" msgstr "" -#: e2fsck/problem.c:1209 +#: e2fsck/problem.c:1135 #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n msgid "@E has rec_len of %Dr, @s %N.\n" msgstr "" -#: e2fsck/problem.c:1214 +#: e2fsck/problem.c:1140 #, c-format #. @-expanded: error allocating icount structure: %m\n msgid "@A icount structure: %m\n" msgstr "" -#: e2fsck/problem.c:1219 +#: e2fsck/problem.c:1145 #, c-format #. @-expanded: Error iterating over directory blocks: %m\n msgid "Error iterating over @d @bs: %m\n" msgstr "" -#: e2fsck/problem.c:1224 +#: e2fsck/problem.c:1150 #. @-expanded: Error reading directory block %b (inode %i): %m\n msgid "Error reading @d @b %b (@i %i): %m\n" msgstr "" -#: e2fsck/problem.c:1229 +#: e2fsck/problem.c:1155 #. @-expanded: Error writing directory block %b (inode %i): %m\n msgid "Error writing @d @b %b (@i %i): %m\n" msgstr "" -#: e2fsck/problem.c:1234 +#: e2fsck/problem.c:1160 #, c-format #. @-expanded: error allocating new directory block for inode %i (%s): %m\n msgid "@A new @d @b for @i %i (%s): %m\n" msgstr "" -#: e2fsck/problem.c:1239 +#: e2fsck/problem.c:1165 #, c-format #. @-expanded: Error deallocating inode %i: %m\n msgid "Error deallocating @i %i: %m\n" msgstr "" -#: e2fsck/problem.c:1244 +#: e2fsck/problem.c:1170 #, c-format #. @-expanded: directory entry for '.' in %p (%i) is big.\n msgid "@d @e for '.' in %p (%i) is big.\n" msgstr "" -#: e2fsck/problem.c:1249 +#: e2fsck/problem.c:1175 #. @-expanded: inode %i (%Q) is an illegal FIFO.\n msgid "@i %i (%Q) is an @I FIFO.\n" msgstr "" -#: e2fsck/problem.c:1254 +#: e2fsck/problem.c:1180 #. @-expanded: inode %i (%Q) is an illegal socket.\n msgid "@i %i (%Q) is an @I socket.\n" msgstr "" -#: e2fsck/problem.c:1259 +#: e2fsck/problem.c:1185 #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n msgid "Setting filetype for @E to %N.\n" msgstr "" -#: e2fsck/problem.c:1264 +#: e2fsck/problem.c:1190 #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n msgid "@E has an incorrect filetype (was %Dt, @s %N).\n" msgstr "" -#: e2fsck/problem.c:1269 +#: e2fsck/problem.c:1195 #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n msgid "@E has filetype set.\n" msgstr "" -#: e2fsck/problem.c:1274 +#: e2fsck/problem.c:1200 #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n msgid "@E has a @z name.\n" msgstr "" -#: e2fsck/problem.c:1279 +#: e2fsck/problem.c:1205 #. @-expanded: Symlink %Q (inode #%i) is invalid.\n msgid "Symlink %Q (@i #%i) is @n.\n" msgstr "" -#: e2fsck/problem.c:1284 +#: e2fsck/problem.c:1210 #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n msgid "@a @b @F @n (%If).\n" msgstr "" -#: e2fsck/problem.c:1289 +#: e2fsck/problem.c:1215 #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n" msgstr "" -#: e2fsck/problem.c:1294 +#: e2fsck/problem.c:1220 #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n msgid "@p @h %d: %B not referenced\n" msgstr "" -#: e2fsck/problem.c:1299 +#: e2fsck/problem.c:1225 #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n msgid "@p @h %d: %B referenced twice\n" msgstr "" -#: e2fsck/problem.c:1304 +#: e2fsck/problem.c:1230 #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n msgid "@p @h %d: %B has bad min hash\n" msgstr "" -#: e2fsck/problem.c:1309 +#: e2fsck/problem.c:1235 #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n msgid "@p @h %d: %B has bad max hash\n" msgstr "" -#: e2fsck/problem.c:1314 +#: e2fsck/problem.c:1240 #. @-expanded: invalid HTREE directory inode %d (%q). msgid "@n @h %d (%q). " msgstr "" -#: e2fsck/problem.c:1318 +#: e2fsck/problem.c:1244 #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n msgid "@p @h %d (%q): bad @b number %b.\n" msgstr "" -#: e2fsck/problem.c:1328 +#: e2fsck/problem.c:1254 #, c-format #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n msgid "@p @h %d: root node is @n\n" msgstr "" -#: e2fsck/problem.c:1333 +#: e2fsck/problem.c:1259 #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n msgid "@p @h %d: %B has @n limit (%N)\n" msgstr "" -#: e2fsck/problem.c:1338 +#: e2fsck/problem.c:1264 #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n msgid "@p @h %d: %B has @n count (%N)\n" msgstr "" -#: e2fsck/problem.c:1343 +#: e2fsck/problem.c:1269 #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n msgid "@p @h %d: %B has an unordered hash table\n" msgstr "" -#: e2fsck/problem.c:1348 +#: e2fsck/problem.c:1274 #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n msgid "@p @h %d: %B has @n depth (%N)\n" msgstr "" -#: e2fsck/problem.c:1353 +#: e2fsck/problem.c:1279 #. @-expanded: Duplicate entry '%Dn' in %p (%i) found. msgid "Duplicate @E found. " msgstr "" -#: e2fsck/problem.c:1358 +#: e2fsck/problem.c:1284 #, no-c-format #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n #. @-expanded: Rename to %s @@ -2128,7 +2045,7 @@ msgid "" "Rename to %s" msgstr "" -#: e2fsck/problem.c:1363 +#: e2fsck/problem.c:1289 #. @-expanded: Duplicate entry '%Dn' found.\n #. @-expanded: \tMarking %p (%i) to be rebuilt.\n #. @-expanded: \n @@ -2138,115 +2055,115 @@ msgid "" "\n" msgstr "" -#: e2fsck/problem.c:1368 +#: e2fsck/problem.c:1294 #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n msgid "i_blocks_hi @F %N, @s zero.\n" msgstr "" -#: e2fsck/problem.c:1373 +#: e2fsck/problem.c:1299 #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n msgid "Unexpected @b in @h %d (%q).\n" msgstr "" -#: e2fsck/problem.c:1377 +#: e2fsck/problem.c:1303 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n" msgstr "" -#: e2fsck/problem.c:1382 +#: e2fsck/problem.c:1308 #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n msgid "@E references @i %Di found in @g %g's unused inodes area.\n" msgstr "" -#: e2fsck/problem.c:1387 +#: e2fsck/problem.c:1313 #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n msgid "i_file_acl_hi @F %N, @s zero.\n" msgstr "" -#: e2fsck/problem.c:1394 +#: e2fsck/problem.c:1320 #. @-expanded: Pass 3: Checking directory connectivity\n msgid "Pass 3: Checking @d connectivity\n" msgstr "" -#: e2fsck/problem.c:1399 +#: e2fsck/problem.c:1325 #. @-expanded: root inode not allocated. msgid "@r not allocated. " msgstr "" -#: e2fsck/problem.c:1404 +#: e2fsck/problem.c:1330 #. @-expanded: No room in lost+found directory. msgid "No room in @l @d. " msgstr "" -#: e2fsck/problem.c:1409 +#: e2fsck/problem.c:1335 #, c-format #. @-expanded: Unconnected directory inode %i (%p)\n msgid "Unconnected @d @i %i (%p)\n" msgstr "" -#: e2fsck/problem.c:1414 +#: e2fsck/problem.c:1340 #. @-expanded: /lost+found not found. msgid "/@l not found. " msgstr "" -#: e2fsck/problem.c:1419 +#: e2fsck/problem.c:1345 #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n" msgstr "" -#: e2fsck/problem.c:1424 +#: e2fsck/problem.c:1350 #. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n msgid "Bad or non-existent /@l. Cannot reconnect.\n" msgstr "" -#: e2fsck/problem.c:1429 +#: e2fsck/problem.c:1355 #, c-format #. @-expanded: Could not expand /lost+found: %m\n msgid "Could not expand /@l: %m\n" msgstr "" -#: e2fsck/problem.c:1434 +#: e2fsck/problem.c:1360 #, c-format msgid "Could not reconnect %i: %m\n" msgstr "" -#: e2fsck/problem.c:1439 +#: e2fsck/problem.c:1365 #, c-format #. @-expanded: Error while trying to find /lost+found: %m\n msgid "Error while trying to find /@l: %m\n" msgstr "" -#: e2fsck/problem.c:1444 +#: e2fsck/problem.c:1370 #, c-format #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n msgid "ext2fs_new_@b: %m while trying to create /@l @d\n" msgstr "" -#: e2fsck/problem.c:1449 +#: e2fsck/problem.c:1375 #, c-format #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n msgid "ext2fs_new_@i: %m while trying to create /@l @d\n" msgstr "" -#: e2fsck/problem.c:1454 +#: e2fsck/problem.c:1380 #, c-format #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n" msgstr "" -#: e2fsck/problem.c:1459 +#: e2fsck/problem.c:1385 #, c-format #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n" msgstr "" -#: e2fsck/problem.c:1464 +#: e2fsck/problem.c:1390 #, c-format #. @-expanded: Error while adjusting inode count on inode %i\n msgid "Error while adjusting @i count on @i %i\n" msgstr "" -#: e2fsck/problem.c:1469 +#: e2fsck/problem.c:1395 #, c-format #. @-expanded: Couldn't fix parent of inode %i: %m\n #. @-expanded: \n @@ -2255,7 +2172,7 @@ msgid "" "\n" msgstr "" -#: e2fsck/problem.c:1474 +#: e2fsck/problem.c:1400 #, c-format #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n #. @-expanded: \n @@ -2264,73 +2181,73 @@ msgid "" "\n" msgstr "" -#: e2fsck/problem.c:1484 +#: e2fsck/problem.c:1410 #, c-format #. @-expanded: Error creating root directory (%s): %m\n msgid "Error creating root @d (%s): %m\n" msgstr "" -#: e2fsck/problem.c:1489 +#: e2fsck/problem.c:1415 #, c-format #. @-expanded: Error creating /lost+found directory (%s): %m\n msgid "Error creating /@l @d (%s): %m\n" msgstr "" -#: e2fsck/problem.c:1494 +#: e2fsck/problem.c:1420 #. @-expanded: root inode is not a directory; aborting.\n msgid "@r is not a @d; aborting.\n" msgstr "" -#: e2fsck/problem.c:1499 +#: e2fsck/problem.c:1425 #. @-expanded: Cannot proceed without a root inode.\n msgid "Cannot proceed without a @r.\n" msgstr "" -#: e2fsck/problem.c:1509 +#: e2fsck/problem.c:1435 #, c-format #. @-expanded: /lost+found is not a directory (ino=%i)\n msgid "/@l is not a @d (ino=%i)\n" msgstr "" -#: e2fsck/problem.c:1516 +#: e2fsck/problem.c:1442 msgid "Pass 3A: Optimizing directories\n" msgstr "" -#: e2fsck/problem.c:1521 +#: e2fsck/problem.c:1447 #, c-format msgid "Failed to create dirs_to_hash iterator: %m\n" msgstr "" -#: e2fsck/problem.c:1526 +#: e2fsck/problem.c:1452 msgid "Failed to optimize directory %q (%d): %m\n" msgstr "" -#: e2fsck/problem.c:1531 +#: e2fsck/problem.c:1457 msgid "Optimizing directories: " msgstr "" -#: e2fsck/problem.c:1548 +#: e2fsck/problem.c:1474 msgid "Pass 4: Checking reference counts\n" msgstr "" -#: e2fsck/problem.c:1553 +#: e2fsck/problem.c:1479 #, c-format #. @-expanded: unattached zero-length inode %i. msgid "@u @z @i %i. " msgstr "" -#: e2fsck/problem.c:1558 +#: e2fsck/problem.c:1484 #, c-format #. @-expanded: unattached inode %i\n msgid "@u @i %i\n" msgstr "" -#: e2fsck/problem.c:1563 +#: e2fsck/problem.c:1489 #. @-expanded: inode %i ref count is %Il, should be %N. msgid "@i %i ref count is %Il, @s %N. " msgstr "" -#: e2fsck/problem.c:1567 +#: e2fsck/problem.c:1493 #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n @@ -2340,57 +2257,57 @@ msgid "" "@i_link_info[%i] is %N, @i.i_links_count is %Il. They @s the same!\n" msgstr "" -#: e2fsck/problem.c:1577 +#: e2fsck/problem.c:1503 #. @-expanded: Pass 5: Checking group summary information\n msgid "Pass 5: Checking @g summary information\n" msgstr "" -#: e2fsck/problem.c:1582 +#: e2fsck/problem.c:1508 #. @-expanded: Padding at end of inode bitmap is not set. msgid "Padding at end of @i @B is not set. " msgstr "" -#: e2fsck/problem.c:1587 +#: e2fsck/problem.c:1513 #. @-expanded: Padding at end of block bitmap is not set. msgid "Padding at end of @b @B is not set. " msgstr "" -#: e2fsck/problem.c:1592 +#: e2fsck/problem.c:1518 #. @-expanded: block bitmap differences: msgid "@b @B differences: " msgstr "" -#: e2fsck/problem.c:1612 +#: e2fsck/problem.c:1538 #. @-expanded: inode bitmap differences: msgid "@i @B differences: " msgstr "" -#: e2fsck/problem.c:1632 +#: e2fsck/problem.c:1558 #. @-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:1637 +#: e2fsck/problem.c:1563 #. @-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:1642 +#: e2fsck/problem.c:1568 #. @-expanded: Free inodes count wrong (%i, counted=%j).\n msgid "Free @is count wrong (%i, counted=%j).\n" msgstr "" -#: e2fsck/problem.c:1647 +#: e2fsck/problem.c:1573 #. @-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:1652 +#: e2fsck/problem.c:1578 #. @-expanded: Free blocks count wrong (%b, counted=%c).\n msgid "Free @bs count wrong (%b, counted=%c).\n" msgstr "" -#: e2fsck/problem.c:1657 +#: e2fsck/problem.c:1583 #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap #. @-expanded: endpoints (%i, %j)\n msgid "" @@ -2398,89 +2315,85 @@ msgid "" "endpoints (%i, %j)\n" msgstr "" -#: e2fsck/problem.c:1663 +#: e2fsck/problem.c:1589 msgid "Internal error: fudging end of bitmap (%N)\n" msgstr "" -#: e2fsck/problem.c:1668 +#: e2fsck/problem.c:1594 #, c-format #. @-expanded: Error copying in replacement inode bitmap: %m\n msgid "Error copying in replacement @i @B: %m\n" msgstr "" -#: e2fsck/problem.c:1673 +#: e2fsck/problem.c:1599 #, c-format #. @-expanded: Error copying in replacement block bitmap: %m\n msgid "Error copying in replacement @b @B: %m\n" msgstr "" -#: e2fsck/problem.c:1698 +#: e2fsck/problem.c:1624 #, 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:1703 +#: e2fsck/problem.c:1629 #, 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:1710 +#: e2fsck/problem.c:1636 #. @-expanded: Recreate journal msgid "Recreate @j" msgstr "" -#: e2fsck/problem.c:1715 -msgid "Update quota info for quota type %N" -msgstr "" - -#: e2fsck/problem.c:1834 +#: e2fsck/problem.c:1755 #, c-format msgid "Unhandled error code (0x%x)!\n" msgstr "" -#: e2fsck/problem.c:1959 e2fsck/problem.c:1963 +#: e2fsck/problem.c:1855 msgid "IGNORED" msgstr "" -#: e2fsck/scantest.c:79 +#: e2fsck/scantest.c:81 #, c-format msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n" msgstr "" -#: e2fsck/scantest.c:98 +#: e2fsck/scantest.c:100 #, c-format msgid "size of inode=%d\n" msgstr "" -#: e2fsck/scantest.c:119 +#: e2fsck/scantest.c:121 msgid "while starting inode scan" msgstr "" -#: e2fsck/scantest.c:130 +#: e2fsck/scantest.c:132 msgid "while doing inode scan" msgstr "" -#: e2fsck/super.c:190 +#: e2fsck/super.c:187 #, c-format msgid "while calling ext2fs_block_iterate for inode %d" msgstr "" -#: e2fsck/super.c:213 +#: e2fsck/super.c:209 #, c-format -msgid "while calling ext2fs_adjust_ea_refcount2 for inode %d" +msgid "while calling ext2fs_adjust_ea_refcount for inode %d" msgstr "" -#: e2fsck/super.c:274 +#: e2fsck/super.c:267 msgid "Truncating" msgstr "" -#: e2fsck/super.c:275 +#: e2fsck/super.c:268 msgid "Clearing" msgstr "" -#: e2fsck/unix.c:74 +#: e2fsck/unix.c:76 #, c-format msgid "" "Usage: %s [-panyrcdfvtDFV] [-b superblock] [-B blocksize]\n" @@ -2489,7 +2402,8 @@ msgid "" "\t\t[-E extended-options] device\n" msgstr "" -#: e2fsck/unix.c:80 +#: e2fsck/unix.c:82 +#, c-format msgid "" "\n" "Emergency help:\n" @@ -2501,7 +2415,8 @@ msgid "" " -f Force checking even if filesystem is marked clean\n" msgstr "" -#: e2fsck/unix.c:86 +#: e2fsck/unix.c:88 +#, c-format msgid "" " -v Be verbose\n" " -b superblock Use alternative superblock\n" @@ -2511,296 +2426,182 @@ msgid "" " -L bad_blocks_file Set badblocks list\n" msgstr "" -#: e2fsck/unix.c:131 +#: e2fsck/unix.c:132 #, c-format -msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n" +msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n" msgstr "" -#: e2fsck/unix.c:157 -#, c-format -msgid "" -"\n" -"%12u inode used (%2.2f%%, out of %u)\n" -msgid_plural "" -"\n" -"%12u inodes used (%2.2f%%, out of %u)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:161 -#, c-format -msgid "%12u non-contiguous file (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous files (%0d.%d%%)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:166 +#: e2fsck/unix.c:150 #, c-format -msgid "%12u non-contiguous directory (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:171 -#, c-format -msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" -msgstr "" - -#: e2fsck/unix.c:179 -msgid " Extent depth histogram: " +msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" msgstr "" -#: e2fsck/unix.c:188 -#, c-format -msgid "%12llu block used (%2.2f%%, out of %llu)\n" -msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:192 -#, c-format -msgid "%12u bad block\n" -msgid_plural "%12u bad blocks\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:194 -#, c-format -msgid "%12u large file\n" -msgid_plural "%12u large files\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:196 -#, c-format -msgid "" -"\n" -"%12u regular file\n" -msgid_plural "" -"\n" -"%12u regular files\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:198 -#, c-format -msgid "%12u directory\n" -msgid_plural "%12u directories\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:200 -#, c-format -msgid "%12u character device file\n" -msgid_plural "%12u character device files\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:203 -#, c-format -msgid "%12u block device file\n" -msgid_plural "%12u block device files\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:205 -#, c-format -msgid "%12u fifo\n" -msgid_plural "%12u fifos\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:207 -#, c-format -msgid "%12u link\n" -msgid_plural "%12u links\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:209 -#, c-format -msgid "%12u symbolic link" -msgid_plural "%12u symbolic links" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:211 -#, c-format -msgid " (%u fast symbolic link)\n" -msgid_plural " (%u fast symbolic links)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:215 -#, c-format -msgid "%12u socket\n" -msgid_plural "%12u sockets\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:219 +#: e2fsck/unix.c:157 #, c-format -msgid "%12u file\n" -msgid_plural "%12u files\n" -msgstr[0] "" -msgstr[1] "" +msgid " Extent depth histogram: " +msgstr "" -#: e2fsck/unix.c:232 misc/badblocks.c:987 misc/tune2fs.c:2008 misc/util.c:147 -#: resize/main.c:260 +#: e2fsck/unix.c:207 misc/badblocks.c:931 misc/tune2fs.c:1675 misc/util.c:151 +#: resize/main.c:249 #, c-format msgid "while determining whether %s is mounted." msgstr "" -#: e2fsck/unix.c:252 +#: e2fsck/unix.c:225 #, c-format -msgid "Warning! %s is %s.\n" +msgid "Warning! %s is mounted.\n" msgstr "" -#: e2fsck/unix.c:259 +#: e2fsck/unix.c:229 #, c-format -msgid "%s is %s.\n" +msgid "%s is mounted. " msgstr "" -#: e2fsck/unix.c:262 +#: e2fsck/unix.c:231 msgid "" "Cannot continue, aborting.\n" "\n" msgstr "" -#: e2fsck/unix.c:264 +#: e2fsck/unix.c:232 +#, c-format msgid "" "\n" "\n" -"WARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" -"cause ***SEVERE*** filesystem damage.\n" +"\a\a\a\aWARNING!!! The filesystem is mounted. If you continue you " +"***WILL***\n" +"cause ***SEVERE*** filesystem damage.\a\a\a\n" "\n" msgstr "" -#: e2fsck/unix.c:269 +#: e2fsck/unix.c:235 msgid "Do you really want to continue" msgstr "" -#: e2fsck/unix.c:271 +#: e2fsck/unix.c:237 +#, c-format msgid "check aborted.\n" msgstr "" -#: e2fsck/unix.c:361 +#: e2fsck/unix.c:318 msgid " contains a file system with errors" msgstr "" -#: e2fsck/unix.c:363 +#: e2fsck/unix.c:320 msgid " was not cleanly unmounted" msgstr "" -#: e2fsck/unix.c:365 +#: e2fsck/unix.c:322 msgid " primary superblock features different from backup" msgstr "" -#: e2fsck/unix.c:369 +#: e2fsck/unix.c:326 #, c-format msgid " has been mounted %u times without being checked" msgstr "" -#: e2fsck/unix.c:376 +#: e2fsck/unix.c:333 msgid " has filesystem last checked time in the future" msgstr "" -#: e2fsck/unix.c:382 +#: e2fsck/unix.c:339 #, c-format msgid " has gone %u days without being checked" msgstr "" -#: e2fsck/unix.c:391 +#: e2fsck/unix.c:348 msgid ", check forced.\n" msgstr "" -#: e2fsck/unix.c:424 +#: e2fsck/unix.c:351 #, c-format -msgid "%s: clean, %u/%u files, %llu/%llu blocks" +msgid "%s: clean, %u/%u files, %u/%u blocks" msgstr "" -#: e2fsck/unix.c:444 +#: e2fsck/unix.c:368 msgid " (check deferred; on battery)" msgstr "" -#: e2fsck/unix.c:447 +#: e2fsck/unix.c:371 msgid " (check after next mount)" msgstr "" -#: e2fsck/unix.c:449 +#: e2fsck/unix.c:373 #, c-format msgid " (check in %ld mounts)" msgstr "" -#: e2fsck/unix.c:600 +#: e2fsck/unix.c:521 #, c-format msgid "ERROR: Couldn't open /dev/null (%s)\n" msgstr "" -#: e2fsck/unix.c:669 +#: e2fsck/unix.c:591 +#, c-format msgid "Invalid EA version.\n" msgstr "" -#: e2fsck/unix.c:696 +#: e2fsck/unix.c:606 #, c-format msgid "Unknown extended option: %s\n" msgstr "" -#: e2fsck/unix.c:721 +#: e2fsck/unix.c:629 #, c-format msgid "" "Syntax error in e2fsck config file (%s, line #%d)\n" "\t%s\n" msgstr "" -#: e2fsck/unix.c:790 +#: e2fsck/unix.c:697 #, c-format msgid "Error validating file descriptor %d: %s\n" msgstr "" -#: e2fsck/unix.c:794 +#: e2fsck/unix.c:701 msgid "Invalid completion information file descriptor" msgstr "" -#: e2fsck/unix.c:809 +#: e2fsck/unix.c:716 msgid "Only one of the options -p/-a, -n or -y may be specified." msgstr "" -#: e2fsck/unix.c:830 +#: e2fsck/unix.c:737 #, c-format msgid "The -t option is not supported on this version of e2fsck.\n" msgstr "" -#: e2fsck/unix.c:861 e2fsck/unix.c:935 misc/tune2fs.c:828 misc/tune2fs.c:1123 -#: misc/tune2fs.c:1141 +#: e2fsck/unix.c:768 e2fsck/unix.c:840 misc/tune2fs.c:588 misc/tune2fs.c:873 +#: misc/tune2fs.c:891 #, c-format msgid "Unable to resolve '%s'" msgstr "" -#: e2fsck/unix.c:914 +#: e2fsck/unix.c:819 msgid "The -n and -D options are incompatible." msgstr "" -#: e2fsck/unix.c:919 +#: e2fsck/unix.c:824 msgid "The -n and -c options are incompatible." msgstr "" -#: e2fsck/unix.c:924 +#: e2fsck/unix.c:829 msgid "The -n and -l/-L options are incompatible." msgstr "" -#: e2fsck/unix.c:978 +#: e2fsck/unix.c:869 +#, c-format msgid "The -c and the -l/-L options may not be both used at the same time.\n" msgstr "" -#: e2fsck/unix.c:1026 +#: e2fsck/unix.c:917 #, c-format msgid "" "E2FSCK_JBD_DEBUG \"%s\" not an integer\n" "\n" msgstr "" -#: e2fsck/unix.c:1035 +#: e2fsck/unix.c:926 #, c-format msgid "" "\n" @@ -2808,193 +2609,191 @@ msgid "" "\n" msgstr "" -#: e2fsck/unix.c:1124 +#: e2fsck/unix.c:1000 #, c-format -msgid "" -"MMP interval is %u seconds and total wait time is %u seconds. Please " -"wait...\n" -msgstr "" - -#: e2fsck/unix.c:1141 e2fsck/unix.c:1146 -msgid "while checking MMP block" -msgstr "" - -#: e2fsck/unix.c:1148 misc/tune2fs.c:1935 -msgid "" -"If you are sure the filesystem is not in use on any node, run:\n" -"'tune2fs -f -E clear_mmp {device}'\n" -msgstr "" - -#: e2fsck/unix.c:1199 msgid "Error: ext2fs library version out of date!\n" msgstr "" -#: e2fsck/unix.c:1206 +#: e2fsck/unix.c:1008 msgid "while trying to initialize program" msgstr "" -#: e2fsck/unix.c:1229 +#: e2fsck/unix.c:1019 #, c-format msgid "\tUsing %s, %s\n" msgstr "" -#: e2fsck/unix.c:1241 +#: e2fsck/unix.c:1031 msgid "need terminal for interactive repairs" msgstr "" -#: e2fsck/unix.c:1294 +#: e2fsck/unix.c:1064 #, c-format msgid "%s: %s trying backup blocks...\n" msgstr "" -#: e2fsck/unix.c:1296 +#: e2fsck/unix.c:1066 msgid "Superblock invalid," msgstr "" -#: e2fsck/unix.c:1297 +#: e2fsck/unix.c:1067 msgid "Group descriptors look bad..." msgstr "" -#: e2fsck/unix.c:1307 -#, c-format -msgid "%s: %s while using the backup blocks" -msgstr "" - -#: e2fsck/unix.c:1311 +#: e2fsck/unix.c:1079 #, c-format msgid "%s: going back to original superblock\n" msgstr "" -#: e2fsck/unix.c:1340 +#: e2fsck/unix.c:1106 +#, c-format msgid "" "The filesystem revision is apparently too high for this version of e2fsck.\n" "(Or the filesystem superblock is corrupt)\n" "\n" msgstr "" -#: e2fsck/unix.c:1347 +#: e2fsck/unix.c:1112 +#, c-format msgid "Could this be a zero-length partition?\n" msgstr "" -#: e2fsck/unix.c:1349 +#: e2fsck/unix.c:1114 #, c-format msgid "You must have %s access to the filesystem or be root\n" msgstr "" -#: e2fsck/unix.c:1355 +#: e2fsck/unix.c:1119 +#, c-format msgid "Possibly non-existent or swap device?\n" msgstr "" -#: e2fsck/unix.c:1357 +#: e2fsck/unix.c:1121 +#, c-format msgid "Filesystem mounted or opened exclusively by another program?\n" msgstr "" -#: e2fsck/unix.c:1361 +#: e2fsck/unix.c:1124 +#, c-format msgid "Possibly non-existent device?\n" msgstr "" -#: e2fsck/unix.c:1364 +#: e2fsck/unix.c:1127 +#, c-format msgid "" "Disk write-protected; use the -n option to do a read-only\n" "check of the device.\n" msgstr "" -#: e2fsck/unix.c:1429 +#: e2fsck/unix.c:1191 msgid "Get a newer version of e2fsck!" msgstr "" -#: e2fsck/unix.c:1473 +#: e2fsck/unix.c:1221 #, c-format msgid "while checking ext3 journal for %s" msgstr "" -#: e2fsck/unix.c:1485 +#: e2fsck/unix.c:1232 +#, c-format msgid "" "Warning: skipping journal recovery because doing a read-only filesystem " "check.\n" msgstr "" -#: e2fsck/unix.c:1497 +#: e2fsck/unix.c:1245 #, c-format msgid "unable to set superblock flags on %s\n" msgstr "" -#: e2fsck/unix.c:1504 +#: e2fsck/unix.c:1251 #, c-format msgid "while recovering ext3 journal of %s" msgstr "" -#: e2fsck/unix.c:1528 +#: e2fsck/unix.c:1276 #, c-format msgid "%s has unsupported feature(s):" msgstr "" -#: e2fsck/unix.c:1543 -#, c-format -msgid "%s: warning: compression support is experimental.\n" +#: e2fsck/unix.c:1292 +msgid "Warning: compression support is experimental.\n" msgstr "" -#: e2fsck/unix.c:1549 +#: e2fsck/unix.c:1297 #, c-format msgid "" -"%s: e2fsck not compiled with HTREE support,\n" +"E2fsck not compiled with HTREE support,\n" "\tbut filesystem %s has HTREE directories.\n" msgstr "" -#: e2fsck/unix.c:1601 -#, c-format -msgid "%s: %s while reading bad blocks inode\n" +#: e2fsck/unix.c:1350 +msgid "while reading bad blocks inode" msgstr "" -#: e2fsck/unix.c:1604 +#: e2fsck/unix.c:1352 +#, c-format msgid "This doesn't bode well, but we'll try to go on...\n" msgstr "" -#: e2fsck/unix.c:1645 +#: e2fsck/unix.c:1378 +msgid "Couldn't determine journal size" +msgstr "" + +#: e2fsck/unix.c:1381 #, c-format msgid "Creating journal (%d blocks): " msgstr "" -#: e2fsck/unix.c:1655 +#: e2fsck/unix.c:1388 misc/mke2fs.c:2344 +msgid "" +"\n" +"\twhile trying to create journal" +msgstr "" + +#: e2fsck/unix.c:1391 +#, c-format msgid " Done.\n" msgstr "" -#: e2fsck/unix.c:1657 +#: e2fsck/unix.c:1392 +#, c-format msgid "" "\n" "*** journal has been re-created - filesystem is now ext3 again ***\n" msgstr "" -#: e2fsck/unix.c:1681 +#: e2fsck/unix.c:1399 +#, c-format msgid "Restarting e2fsck from the beginning...\n" msgstr "" -#: e2fsck/unix.c:1685 +#: e2fsck/unix.c:1403 msgid "while resetting context" msgstr "" -#: e2fsck/unix.c:1692 +#: e2fsck/unix.c:1410 #, c-format msgid "%s: e2fsck canceled.\n" msgstr "" -#: e2fsck/unix.c:1697 +#: e2fsck/unix.c:1415 msgid "aborted" msgstr "" -#: e2fsck/unix.c:1709 e2fsck/util.c:67 +#: e2fsck/unix.c:1427 #, c-format msgid "" "\n" "%s: ***** FILE SYSTEM WAS MODIFIED *****\n" msgstr "" -#: e2fsck/unix.c:1713 +#: e2fsck/unix.c:1430 #, c-format msgid "%s: ***** REBOOT LINUX *****\n" msgstr "" -#: e2fsck/unix.c:1721 e2fsck/util.c:73 +#: e2fsck/unix.c:1438 #, c-format msgid "" "\n" @@ -3002,88 +2801,88 @@ msgid "" "\n" msgstr "" -#: e2fsck/unix.c:1761 +#: e2fsck/unix.c:1478 msgid "while setting block group checksum info" msgstr "" -#: e2fsck/util.c:190 misc/util.c:70 +#: e2fsck/util.c:138 misc/util.c:68 msgid "yY" msgstr "" -#: e2fsck/util.c:191 +#: e2fsck/util.c:139 msgid "nN" msgstr "" -#: e2fsck/util.c:205 +#: e2fsck/util.c:153 msgid "" msgstr "" -#: e2fsck/util.c:207 +#: e2fsck/util.c:155 msgid "" msgstr "" -#: e2fsck/util.c:209 +#: e2fsck/util.c:157 msgid " (y/n)" msgstr "" -#: e2fsck/util.c:223 +#: e2fsck/util.c:172 msgid "cancelled!\n" msgstr "" -#: e2fsck/util.c:238 +#: e2fsck/util.c:187 msgid "yes\n" msgstr "" -#: e2fsck/util.c:240 +#: e2fsck/util.c:189 msgid "no\n" msgstr "" -#: e2fsck/util.c:250 +#: e2fsck/util.c:199 #, c-format msgid "" "%s? no\n" "\n" msgstr "" -#: e2fsck/util.c:254 +#: e2fsck/util.c:203 #, c-format msgid "" "%s? yes\n" "\n" msgstr "" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "yes" msgstr "" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "no" msgstr "" -#: e2fsck/util.c:273 +#: e2fsck/util.c:221 #, c-format msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s" msgstr "" -#: e2fsck/util.c:278 +#: e2fsck/util.c:226 msgid "reading inode and block bitmaps" msgstr "" -#: e2fsck/util.c:286 +#: e2fsck/util.c:231 #, c-format msgid "while retrying to read bitmaps for %s" msgstr "" -#: e2fsck/util.c:298 +#: e2fsck/util.c:243 msgid "writing block and inode bitmaps" msgstr "" -#: e2fsck/util.c:303 +#: e2fsck/util.c:248 #, c-format msgid "while rewriting block and inode bitmaps for %s" msgstr "" -#: e2fsck/util.c:315 +#: e2fsck/util.c:260 #, c-format msgid "" "\n" @@ -3092,51 +2891,45 @@ msgid "" "\t(i.e., without -a or -p options)\n" msgstr "" -#: e2fsck/util.c:396 +#: e2fsck/util.c:341 #, c-format msgid "Memory used: %luk/%luk (%luk/%luk), " msgstr "" -#: e2fsck/util.c:400 +#: e2fsck/util.c:345 #, c-format msgid "Memory used: %lu, " msgstr "" -#: e2fsck/util.c:407 +#: e2fsck/util.c:352 #, c-format msgid "time: %5.2f/%5.2f/%5.2f\n" msgstr "" -#: e2fsck/util.c:412 +#: e2fsck/util.c:357 #, c-format msgid "elapsed time: %6.3f\n" msgstr "" -#: e2fsck/util.c:447 e2fsck/util.c:461 +#: e2fsck/util.c:391 e2fsck/util.c:405 #, c-format msgid "while reading inode %lu in %s" msgstr "" -#: e2fsck/util.c:475 e2fsck/util.c:488 +#: e2fsck/util.c:419 e2fsck/util.c:432 #, c-format msgid "while writing inode %lu in %s" msgstr "" -#: e2fsck/util.c:637 +#: e2fsck/util.c:581 msgid "while allocating zeroizing buffer" msgstr "" -#: e2fsck/util.c:785 -msgid "" -"UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is " -"running.\n" -msgstr "" - -#: misc/badblocks.c:69 -msgid "done \n" +#: misc/badblocks.c:66 +msgid "done \n" msgstr "" -#: misc/badblocks.c:92 +#: misc/badblocks.c:89 #, c-format msgid "" "Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnf]\n" @@ -3146,362 +2939,341 @@ msgid "" " device [last_block [first_block]]\n" msgstr "" -#: misc/badblocks.c:103 +#: misc/badblocks.c:100 #, c-format msgid "" "%s: The -n and -w options are mutually exclusive.\n" "\n" msgstr "" -#: misc/badblocks.c:218 +#: misc/badblocks.c:202 #, c-format -msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)" +msgid "%6.2f%% done, %s elapsed" msgstr "" -#: misc/badblocks.c:322 +#: misc/badblocks.c:296 msgid "Testing with random pattern: " msgstr "" -#: misc/badblocks.c:340 +#: misc/badblocks.c:314 msgid "Testing with pattern 0x" msgstr "" -#: misc/badblocks.c:372 misc/badblocks.c:445 +#: misc/badblocks.c:342 misc/badblocks.c:411 msgid "during seek" msgstr "" -#: misc/badblocks.c:383 +#: misc/badblocks.c:353 #, c-format msgid "Weird value (%ld) in do_read\n" msgstr "" -#: misc/badblocks.c:470 +#: misc/badblocks.c:431 msgid "during ext2fs_sync_device" msgstr "" -#: misc/badblocks.c:490 misc/badblocks.c:752 +#: misc/badblocks.c:450 misc/badblocks.c:714 msgid "while beginning bad block list iteration" msgstr "" -#: misc/badblocks.c:505 misc/badblocks.c:605 misc/badblocks.c:763 +#: misc/badblocks.c:464 misc/badblocks.c:566 misc/badblocks.c:724 msgid "while allocating buffers" msgstr "" -#: misc/badblocks.c:509 +#: misc/badblocks.c:468 #, c-format msgid "Checking blocks %lu to %lu\n" msgstr "" -#: misc/badblocks.c:514 +#: misc/badblocks.c:473 msgid "Checking for bad blocks in read-only mode\n" msgstr "" -#: misc/badblocks.c:523 +#: misc/badblocks.c:482 msgid "Checking for bad blocks (read-only test): " msgstr "" -#: misc/badblocks.c:530 misc/badblocks.c:637 misc/badblocks.c:679 -#: misc/badblocks.c:826 +#: misc/badblocks.c:490 misc/badblocks.c:598 misc/badblocks.c:643 +#: misc/badblocks.c:787 msgid "Too many bad blocks, aborting test\n" msgstr "" -#: misc/badblocks.c:612 +#: misc/badblocks.c:573 msgid "Checking for bad blocks in read-write mode\n" msgstr "" -#: misc/badblocks.c:614 misc/badblocks.c:776 +#: misc/badblocks.c:575 misc/badblocks.c:737 #, c-format msgid "From block %lu to %lu\n" msgstr "" -#: misc/badblocks.c:669 +#: misc/badblocks.c:633 msgid "Reading and comparing: " msgstr "" -#: misc/badblocks.c:775 +#: misc/badblocks.c:736 msgid "Checking for bad blocks in non-destructive read-write mode\n" msgstr "" -#: misc/badblocks.c:781 +#: misc/badblocks.c:742 msgid "Checking for bad blocks (non-destructive read-write test)\n" msgstr "" -#: misc/badblocks.c:788 +#: misc/badblocks.c:749 msgid "" "\n" "Interrupt caught, cleaning up\n" msgstr "" -#: misc/badblocks.c:871 +#: misc/badblocks.c:825 #, c-format msgid "during test data write, block %lu" msgstr "" -#: misc/badblocks.c:992 misc/util.c:152 +#: misc/badblocks.c:936 misc/util.c:156 #, c-format msgid "%s is mounted; " msgstr "" -#: misc/badblocks.c:994 +#: misc/badblocks.c:938 msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "" -#: misc/badblocks.c:999 +#: misc/badblocks.c:943 msgid "it's not safe to run badblocks!\n" msgstr "" -#: misc/badblocks.c:1004 misc/util.c:163 +#: misc/badblocks.c:948 misc/util.c:167 #, c-format msgid "%s is apparently in use by the system; " msgstr "" -#: misc/badblocks.c:1007 +#: misc/badblocks.c:951 msgid "badblocks forced anyway.\n" msgstr "" -#: misc/badblocks.c:1027 +#: misc/badblocks.c:971 #, c-format msgid "invalid %s - %s" msgstr "" -#: misc/badblocks.c:1138 +#: misc/badblocks.c:1080 #, c-format msgid "can't allocate memory for test_pattern - %s" msgstr "" -#: misc/badblocks.c:1168 +#: misc/badblocks.c:1107 msgid "Maximum of one test_pattern may be specified in read-only mode" msgstr "" -#: misc/badblocks.c:1174 +#: misc/badblocks.c:1113 msgid "Random test_pattern is not allowed in read-only mode" msgstr "" -#: misc/badblocks.c:1188 +#: misc/badblocks.c:1127 msgid "" "Couldn't determine device size; you must specify\n" "the size manually\n" msgstr "" -#: misc/badblocks.c:1194 +#: misc/badblocks.c:1133 msgid "while trying to determine device size" msgstr "" -#: misc/badblocks.c:1199 +#: misc/badblocks.c:1138 msgid "last block" msgstr "" -#: misc/badblocks.c:1205 +#: misc/badblocks.c:1144 msgid "first block" msgstr "" -#: misc/badblocks.c:1208 +#: misc/badblocks.c:1147 #, c-format -msgid "invalid starting block (%llu): must be less than %llu" +msgid "invalid starting block (%lu): must be less than %lu" msgstr "" -#: misc/badblocks.c:1215 -#, c-format -msgid "invalid end block (%llu): must be 32-bit value" -msgstr "" - -#: misc/badblocks.c:1271 +#: misc/badblocks.c:1203 msgid "while creating in-memory bad blocks list" msgstr "" -#: misc/badblocks.c:1280 -msgid "input file - bad format" -msgstr "" - -#: misc/badblocks.c:1288 misc/badblocks.c:1297 +#: misc/badblocks.c:1218 msgid "while adding to in-memory bad block list" msgstr "" -#: misc/badblocks.c:1322 +#: misc/badblocks.c:1242 #, c-format -msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n" +msgid "Pass completed, %u bad blocks found.\n" msgstr "" -#: misc/chattr.c:86 +#: misc/chattr.c:85 #, c-format -msgid "Usage: %s [-RVf] [-+=AaCcDdeijsSu] [-v version] files...\n" +msgid "Usage: %s [-RVf] [-+=AacDdeijsSu] [-v version] files...\n" msgstr "" -#: misc/chattr.c:155 +#: misc/chattr.c:153 #, c-format msgid "bad version - %s\n" msgstr "" -#: misc/chattr.c:201 misc/lsattr.c:116 +#: misc/chattr.c:200 misc/lsattr.c:115 #, c-format msgid "while trying to stat %s" msgstr "" -#: misc/chattr.c:208 +#: misc/chattr.c:207 #, c-format msgid "while reading flags on %s" msgstr "" -#: misc/chattr.c:213 misc/chattr.c:225 +#: misc/chattr.c:216 misc/chattr.c:235 +#, c-format +msgid "Clearing extent flag not supported on %s" +msgstr "" + +#: misc/chattr.c:221 misc/chattr.c:240 #, c-format msgid "Flags of %s set as " msgstr "" -#: misc/chattr.c:234 +#: misc/chattr.c:249 #, c-format msgid "while setting flags on %s" msgstr "" -#: misc/chattr.c:242 +#: misc/chattr.c:257 #, c-format msgid "Version of %s set as %lu\n" msgstr "" -#: misc/chattr.c:246 +#: misc/chattr.c:261 #, c-format msgid "while setting version on %s" msgstr "" -#: misc/chattr.c:267 +#: misc/chattr.c:281 +#, c-format msgid "Couldn't allocate path variable in chattr_dir_proc" msgstr "" -#: misc/chattr.c:307 +#: misc/chattr.c:320 msgid "= is incompatible with - and +\n" msgstr "" -#: misc/chattr.c:315 +#: misc/chattr.c:328 msgid "Must use '-v', =, - or +\n" msgstr "" -#: misc/dumpe2fs.c:55 +#: misc/dumpe2fs.c:53 #, c-format msgid "Usage: %s [-bfhixV] [-o superblock=] [-o blocksize=] device\n" msgstr "" -#: misc/dumpe2fs.c:159 -msgid "blocks" -msgstr "" - -#: misc/dumpe2fs.c:169 -msgid "clusters" -msgstr "" - -#: misc/dumpe2fs.c:197 +#: misc/dumpe2fs.c:182 #, c-format msgid "Group %lu: (Blocks " msgstr "" -#: misc/dumpe2fs.c:205 -#, c-format -msgid " Checksum 0x%04x" -msgstr "" - -#: misc/dumpe2fs.c:207 -#, c-format -msgid " (EXPECTED 0x%04x)" -msgstr "" - -#: misc/dumpe2fs.c:208 +#: misc/dumpe2fs.c:187 #, c-format -msgid ", unused inodes %u\n" +msgid " Checksum 0x%04x, unused inodes %d\n" msgstr "" -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:192 #, c-format msgid " %s superblock at " msgstr "" -#: misc/dumpe2fs.c:214 +#: misc/dumpe2fs.c:193 msgid "Primary" msgstr "" -#: misc/dumpe2fs.c:214 +#: misc/dumpe2fs.c:193 msgid "Backup" msgstr "" -#: misc/dumpe2fs.c:218 +#: misc/dumpe2fs.c:197 +#, c-format msgid ", Group descriptors at " msgstr "" -#: misc/dumpe2fs.c:222 +#: misc/dumpe2fs.c:201 +#, c-format msgid "" "\n" " Reserved GDT blocks at " msgstr "" -#: misc/dumpe2fs.c:229 +#: misc/dumpe2fs.c:208 +#, c-format msgid " Group descriptor at " msgstr "" -#: misc/dumpe2fs.c:235 +#: misc/dumpe2fs.c:214 msgid " Block bitmap at " msgstr "" -#: misc/dumpe2fs.c:239 +#: misc/dumpe2fs.c:219 msgid ", Inode bitmap at " msgstr "" -#: misc/dumpe2fs.c:243 +#: misc/dumpe2fs.c:224 msgid "" "\n" " Inode table at " msgstr "" -#: misc/dumpe2fs.c:249 +#: misc/dumpe2fs.c:231 #, c-format msgid "" "\n" -" %u free %s, %u free inodes, %u directories%s" +" %u free blocks, %u free inodes, %u directories%s" msgstr "" -#: misc/dumpe2fs.c:256 +#: misc/dumpe2fs.c:238 #, c-format msgid ", %u unused inodes\n" msgstr "" -#: misc/dumpe2fs.c:259 +#: misc/dumpe2fs.c:241 msgid " Free blocks: " msgstr "" -#: misc/dumpe2fs.c:274 +#: misc/dumpe2fs.c:251 msgid " Free inodes: " msgstr "" -#: misc/dumpe2fs.c:310 +#: misc/dumpe2fs.c:282 msgid "while printing bad block list" msgstr "" -#: misc/dumpe2fs.c:316 +#: misc/dumpe2fs.c:288 #, c-format msgid "Bad blocks: %u" msgstr "" -#: misc/dumpe2fs.c:345 misc/tune2fs.c:313 +#: misc/dumpe2fs.c:315 misc/tune2fs.c:281 msgid "while reading journal inode" msgstr "" -#: misc/dumpe2fs.c:351 +#: misc/dumpe2fs.c:321 msgid "while opening journal inode" msgstr "" -#: misc/dumpe2fs.c:357 +#: misc/dumpe2fs.c:327 msgid "while reading journal super block" msgstr "" -#: misc/dumpe2fs.c:364 -msgid "Journal superblock magic number invalid!\n" -msgstr "" - -#: misc/dumpe2fs.c:367 +#: misc/dumpe2fs.c:337 +#, c-format msgid "Journal features: " msgstr "" -#: misc/dumpe2fs.c:380 +#: misc/dumpe2fs.c:350 msgid "Journal size: " msgstr "" -#: misc/dumpe2fs.c:391 +#: misc/dumpe2fs.c:361 #, c-format msgid "" "Journal length: %u\n" @@ -3509,20 +3281,15 @@ msgid "" "Journal start: %u\n" msgstr "" -#: misc/dumpe2fs.c:398 -#, c-format -msgid "Journal errno: %d\n" -msgstr "" - -#: misc/dumpe2fs.c:415 misc/tune2fs.c:229 +#: misc/dumpe2fs.c:380 misc/tune2fs.c:202 msgid "while reading journal superblock" msgstr "" -#: misc/dumpe2fs.c:423 +#: misc/dumpe2fs.c:388 msgid "Couldn't find journal superblock magic numbers" msgstr "" -#: misc/dumpe2fs.c:427 +#: misc/dumpe2fs.c:392 #, c-format msgid "" "\n" @@ -3534,26 +3301,27 @@ msgid "" "Journal number of users: %u\n" msgstr "" -#: misc/dumpe2fs.c:440 +#: misc/dumpe2fs.c:405 #, c-format msgid "Journal users: %s\n" msgstr "" -#: misc/dumpe2fs.c:456 misc/mke2fs.c:666 misc/tune2fs.c:1160 +#: misc/dumpe2fs.c:421 misc/mke2fs.c:700 misc/tune2fs.c:910 +#, c-format msgid "Couldn't allocate memory to parse options!\n" msgstr "" -#: misc/dumpe2fs.c:482 +#: misc/dumpe2fs.c:447 #, c-format msgid "Invalid superblock parameter: %s\n" msgstr "" -#: misc/dumpe2fs.c:497 +#: misc/dumpe2fs.c:462 #, c-format msgid "Invalid blocksize parameter: %s\n" msgstr "" -#: misc/dumpe2fs.c:508 +#: misc/dumpe2fs.c:473 #, c-format msgid "" "\n" @@ -3567,503 +3335,296 @@ msgid "" "\tblocksize=\n" msgstr "" -#: misc/dumpe2fs.c:568 misc/mke2fs.c:1605 +#: misc/dumpe2fs.c:532 misc/mke2fs.c:1462 #, c-format msgid "\tUsing %s\n" msgstr "" -#: misc/dumpe2fs.c:604 misc/e2image.c:1569 misc/tune2fs.c:1946 -#: resize/main.c:318 +#: misc/dumpe2fs.c:568 misc/e2image.c:681 misc/tune2fs.c:1626 +#: resize/main.c:312 +#, c-format msgid "Couldn't find valid filesystem superblock.\n" msgstr "" -#: misc/dumpe2fs.c:632 +#: misc/dumpe2fs.c:593 #, c-format msgid "" "\n" "%s: %s: error reading bitmaps: %s\n" msgstr "" -#: misc/e2image.c:101 -#, c-format -msgid "Usage: %s [ -r|Q ] [ -fr ] device image-file\n" -msgstr "" - -#: misc/e2image.c:103 +#: misc/e2image.c:52 #, c-format -msgid " %s -I device image-file\n" -msgstr "" - -#: misc/e2image.c:104 -#, c-format -msgid "" -" %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs " -"[ dest_fs ]\n" +msgid "Usage: %s [-rsI] device image_file\n" msgstr "" -#: misc/e2image.c:169 misc/e2image.c:573 misc/e2image.c:578 -#: misc/e2image.c:1167 -msgid "while allocating buffer" -msgstr "" - -#: misc/e2image.c:174 -#, c-format -msgid "Writing block %llu\n" +#: misc/e2image.c:64 +msgid "Couldn't allocate header buffer\n" msgstr "" -#: misc/e2image.c:188 +#: misc/e2image.c:83 #, c-format -msgid "error writing block %llu" -msgstr "" - -#: misc/e2image.c:190 -msgid "error in write()" -msgstr "" - -#: misc/e2image.c:206 -msgid "Error: header size is bigger than wrt_size\n" +msgid "short write (only %d bytes) for writing image header" msgstr "" -#: misc/e2image.c:211 -msgid "Couldn't allocate header buffer\n" -msgstr "" - -#: misc/e2image.c:239 +#: misc/e2image.c:102 msgid "while writing superblock" msgstr "" -#: misc/e2image.c:248 +#: misc/e2image.c:110 msgid "while writing inode table" msgstr "" -#: misc/e2image.c:256 +#: misc/e2image.c:117 msgid "while writing block bitmap" msgstr "" -#: misc/e2image.c:264 +#: misc/e2image.c:124 msgid "while writing inode bitmap" msgstr "" -#: misc/e2image.c:500 +#: misc/e2label.c:57 #, c-format -msgid "Corrupt directory block %llu: bad rec_len (%d)\n" +msgid "e2label: cannot open %s\n" msgstr "" -#: misc/e2image.c:512 +#: misc/e2label.c:62 #, c-format -msgid "Corrupt directory block %llu: bad name_len (%d)\n" +msgid "e2label: cannot seek to superblock\n" msgstr "" -#: misc/e2image.c:553 +#: misc/e2label.c:67 #, c-format -msgid "%llu / %llu blocks (%d%%)" +msgid "e2label: error reading superblock\n" msgstr "" -#: misc/e2image.c:582 misc/e2image.c:620 +#: misc/e2label.c:71 #, c-format -msgid "Copying " +msgid "e2label: not an ext2 filesystem\n" msgstr "" -#: misc/e2image.c:617 +#: misc/e2label.c:96 misc/tune2fs.c:1761 #, c-format -msgid "" -"Stopping now will destroy the filesystem, interrupt again if you are sure\n" +msgid "Warning: label too long, truncating.\n" msgstr "" -#: misc/e2image.c:642 +#: misc/e2label.c:99 #, c-format -msgid " %s remaining at %.2f MB/s" +msgid "e2label: cannot seek to superblock again\n" msgstr "" -#: misc/e2image.c:654 misc/e2image.c:1177 +#: misc/e2label.c:104 #, c-format -msgid "error reading block %llu" +msgid "e2label: error writing superblock\n" msgstr "" -#: misc/e2image.c:709 +#: misc/e2label.c:116 misc/tune2fs.c:580 #, c-format -msgid "" -"\b\b\b\b\b\b\b\bCopied %llu / %llu blocks (%llu%%) in %s at %.2f MB/" -"s \n" +msgid "Usage: e2label device [newlabel]\n" msgstr "" -#: misc/e2image.c:746 -msgid "while allocating l1 table" +#: misc/e2undo.c:35 +#, c-format +msgid "Usage: %s \n" msgstr "" -#: misc/e2image.c:791 -msgid "while allocating l2 cache" +#: misc/e2undo.c:52 +msgid "Failed to read the file system data \n" msgstr "" -#: misc/e2image.c:814 +#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:205 #, c-format -msgid "" -"Warning: There are still tables in the cache while putting the cache, data " -"will be lost so the image may not be valid.\n" +msgid "Failed tdb_fetch %s\n" msgstr "" -#: misc/e2image.c:1135 -msgid "while allocating ext2_qcow2_image" +#: misc/e2undo.c:70 +#, c-format +msgid "The file system Mount time didn't match %u\n" msgstr "" -#: misc/e2image.c:1142 -msgid "while initializing ext2_qcow2_image" +#: misc/e2undo.c:89 +msgid "The file system UUID didn't match \n" msgstr "" -#: misc/e2image.c:1199 misc/e2image.c:1217 +#: misc/e2undo.c:162 #, c-format -msgid "Programming error: multiple sequential refcount blocks created!\n" +msgid "Failed tdb_open %s\n" msgstr "" -#: misc/e2image.c:1257 -msgid "while allocating block bitmap" +#: misc/e2undo.c:168 +#, c-format +msgid "Error while determining whether %s is mounted.\n" msgstr "" -#: misc/e2image.c:1266 -msgid "while allocating scramble block bitmap" +#: misc/e2undo.c:174 +msgid "e2undo should only be run on unmounted file system\n" msgstr "" -#: misc/e2image.c:1273 +#: misc/e2undo.c:183 #, c-format -msgid "Scanning inodes...\n" -msgstr "" - -#: misc/e2image.c:1285 -msgid "Can't allocate block buffer" +msgid "Failed to open %s\n" msgstr "" -#: misc/e2image.c:1324 misc/e2image.c:1338 +#: misc/e2undo.c:209 #, c-format -msgid "while iterating over inode %u" +msgid "Replayed transaction of size %zd at location %ld\n" msgstr "" -#: misc/e2image.c:1368 -msgid "Raw and qcow2 images cannotbe installed" +#: misc/e2undo.c:215 +#, c-format +msgid "Failed write %s\n" msgstr "" -#: misc/e2image.c:1391 -msgid "error reading bitmaps" +#: misc/fsck.c:343 +#, c-format +msgid "WARNING: couldn't open %s: %s\n" msgstr "" -#: misc/e2image.c:1403 -msgid "while opening device file" +#: misc/fsck.c:353 +#, c-format +msgid "WARNING: bad format on line %d of %s\n" msgstr "" -#: misc/e2image.c:1510 -msgid "-a option can only be used with raw or QCOW2 images." -msgstr "" - -#: misc/e2image.c:1516 -msgid "Offsets are only allowed with raw images." -msgstr "" - -#: misc/e2image.c:1521 -msgid "Move mode is only allowed with raw images." -msgstr "" - -#: misc/e2image.c:1526 -msgid "Move mode requires all data mode." -msgstr "" - -#: misc/e2image.c:1536 -msgid "checking if mounted" -msgstr "" - -#: misc/e2image.c:1543 -#, c-format -msgid "" -"\n" -"Running e2image on a R/W mounted filesystem can result in an\n" -"inconsistent image which will not be useful for debugging purposes.\n" -"Use -f option if you really want to do that.\n" -msgstr "" - -#: misc/e2image.c:1594 -msgid "QCOW2 image can not be written to the stdout!\n" -msgstr "" - -#: misc/e2image.c:1610 -#, c-format -msgid "Image (%s) is compressed\n" -msgstr "" - -#: misc/e2image.c:1613 -#, c-format -msgid "Image (%s) is encrypted\n" -msgstr "" - -#: misc/e2image.c:1616 -#, c-format -msgid "while trying to convert qcow2 image (%s) into raw image (%s)" -msgstr "" - -#: misc/e2image.c:1625 -#, c-format -msgid "The -c option only supported in raw mode\n" -msgstr "" - -#: misc/e2image.c:1630 -#, c-format -msgid "The -c option is not supported when writing to stdout\n" -msgstr "" - -#: misc/e2image.c:1637 -msgid "while allocating check_buf" -msgstr "" - -#: misc/e2image.c:1642 -#, c-format -msgid "The -p option only supported in raw mode\n" -msgstr "" - -#: misc/e2image.c:1653 -#, c-format -msgid "%d blocks already contained the data to be copied.\n" -msgstr "" - -#: misc/e2label.c:58 -#, c-format -msgid "e2label: cannot open %s\n" -msgstr "" - -#: misc/e2label.c:63 -#, c-format -msgid "e2label: cannot seek to superblock\n" -msgstr "" - -#: misc/e2label.c:68 -#, c-format -msgid "e2label: error reading superblock\n" -msgstr "" - -#: misc/e2label.c:72 -#, c-format -msgid "e2label: not an ext2 filesystem\n" -msgstr "" - -#: misc/e2label.c:97 misc/tune2fs.c:2103 -#, c-format -msgid "Warning: label too long, truncating.\n" -msgstr "" - -#: misc/e2label.c:100 -#, c-format -msgid "e2label: cannot seek to superblock again\n" -msgstr "" - -#: misc/e2label.c:105 -#, c-format -msgid "e2label: error writing superblock\n" -msgstr "" - -#: misc/e2label.c:117 misc/tune2fs.c:820 -#, c-format -msgid "Usage: e2label device [newlabel]\n" -msgstr "" - -#: misc/e2undo.c:36 -#, c-format -msgid "Usage: %s \n" -msgstr "" - -#: misc/e2undo.c:52 -msgid "Failed to read the file system data \n" -msgstr "" - -#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:206 -#, c-format -msgid "Failed tdb_fetch %s\n" -msgstr "" - -#: misc/e2undo.c:70 -#, c-format -msgid "The file system Mount time didn't match %u\n" -msgstr "" - -#: misc/e2undo.c:89 -msgid "The file system UUID didn't match \n" -msgstr "" - -#: misc/e2undo.c:163 -#, c-format -msgid "Failed tdb_open %s\n" -msgstr "" - -#: misc/e2undo.c:169 -#, c-format -msgid "Error while determining whether %s is mounted.\n" -msgstr "" - -#: misc/e2undo.c:175 -msgid "e2undo should only be run on unmounted file system\n" -msgstr "" - -#: misc/e2undo.c:184 -#, c-format -msgid "Failed to open %s\n" -msgstr "" - -#: misc/e2undo.c:210 -#, c-format -msgid "Replayed transaction of size %zd at location %llu\n" -msgstr "" - -#: misc/e2undo.c:216 -#, c-format -msgid "Failed write %s\n" -msgstr "" - -#: misc/fsck.c:343 -#, c-format -msgid "WARNING: couldn't open %s: %s\n" -msgstr "" - -#: misc/fsck.c:353 -#, c-format -msgid "WARNING: bad format on line %d of %s\n" -msgstr "" - -#: misc/fsck.c:370 +#: misc/fsck.c:368 msgid "" -"WARNING: Your /etc/fstab does not contain the fsck passno\n" +"\a\a\aWARNING: Your /etc/fstab does not contain the fsck passno\n" "\tfield. I will kludge around things for you, but you\n" "\tshould fix your /etc/fstab file as soon as you can.\n" "\n" msgstr "" -#: misc/fsck.c:478 +#: misc/fsck.c:477 #, c-format msgid "fsck: %s: not found\n" msgstr "" -#: misc/fsck.c:594 +#: misc/fsck.c:593 #, c-format msgid "%s: wait: No more child process?!?\n" msgstr "" -#: misc/fsck.c:616 +#: misc/fsck.c:615 #, c-format msgid "Warning... %s for device %s exited with signal %d.\n" msgstr "" -#: misc/fsck.c:622 +#: misc/fsck.c:621 #, c-format msgid "%s %s: status is %x, should never happen.\n" msgstr "" -#: misc/fsck.c:661 +#: misc/fsck.c:660 #, c-format msgid "Finished with %s (exit status %d)\n" msgstr "" -#: misc/fsck.c:721 +#: misc/fsck.c:720 #, c-format msgid "%s: Error %d while executing fsck.%s for %s\n" msgstr "" -#: misc/fsck.c:742 +#: misc/fsck.c:741 msgid "" "Either all or none of the filesystem types passed to -t must be prefixed\n" "with 'no' or '!'.\n" msgstr "" -#: misc/fsck.c:761 +#: misc/fsck.c:760 msgid "Couldn't allocate memory for filesystem types\n" msgstr "" -#: misc/fsck.c:884 +#: misc/fsck.c:883 #, c-format msgid "" "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass " "number\n" msgstr "" -#: misc/fsck.c:911 +#: misc/fsck.c:910 #, c-format msgid "fsck: cannot check %s: fsck.%s not found\n" msgstr "" -#: misc/fsck.c:967 +#: misc/fsck.c:966 msgid "Checking all file systems.\n" msgstr "" -#: misc/fsck.c:1058 +#: misc/fsck.c:1057 #, c-format msgid "--waiting-- (pass %d)\n" msgstr "" -#: misc/fsck.c:1078 +#: misc/fsck.c:1077 msgid "" "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" msgstr "" -#: misc/fsck.c:1120 +#: misc/fsck.c:1119 #, c-format msgid "%s: too many devices\n" msgstr "" -#: misc/fsck.c:1153 misc/fsck.c:1239 +#: misc/fsck.c:1152 misc/fsck.c:1238 #, c-format msgid "%s: too many arguments\n" msgstr "" -#: misc/lsattr.c:74 +#: misc/lsattr.c:73 #, c-format msgid "Usage: %s [-RVadlv] [files...]\n" msgstr "" -#: misc/lsattr.c:84 +#: misc/lsattr.c:83 #, c-format msgid "While reading flags on %s" msgstr "" -#: misc/lsattr.c:91 +#: misc/lsattr.c:90 #, c-format msgid "While reading version on %s" msgstr "" -#: misc/mke2fs.c:116 +#: misc/mke2fs.c:108 #, c-format msgid "" -"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n" +"Usage: %s [-c|-l filename] [-b block-size] [-f fragment-size]\n" "\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n" -"\t[-G flex-group-size] [-N number-of-inodes]\n" +"\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n" "\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n" -"\t[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-" -"count]\n" +"\t[-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]\n" msgstr "" -#: misc/mke2fs.c:221 +#: misc/mke2fs.c:210 #, c-format msgid "Running command: %s\n" msgstr "" -#: misc/mke2fs.c:225 +#: misc/mke2fs.c:214 #, c-format msgid "while trying to run '%s'" msgstr "" -#: misc/mke2fs.c:232 +#: misc/mke2fs.c:221 msgid "while processing list of bad blocks from program" msgstr "" -#: misc/mke2fs.c:259 +#: misc/mke2fs.c:248 #, c-format msgid "Block %d in primary superblock/group descriptor area bad.\n" msgstr "" -#: misc/mke2fs.c:261 +#: misc/mke2fs.c:250 #, c-format msgid "Blocks %u through %u must be good in order to build a filesystem.\n" msgstr "" -#: misc/mke2fs.c:264 +#: misc/mke2fs.c:253 msgid "Aborting....\n" msgstr "" -#: misc/mke2fs.c:284 +#: misc/mke2fs.c:273 #, c-format msgid "" "Warning: the backup superblock/group descriptors at block %u contain\n" @@ -4071,230 +3632,187 @@ msgid "" "\n" msgstr "" -#: misc/mke2fs.c:303 +#: misc/mke2fs.c:292 msgid "while marking bad blocks as used" msgstr "" -#: misc/mke2fs.c:320 +#: misc/mke2fs.c:350 +msgid "done \n" +msgstr "" + +#: misc/mke2fs.c:364 msgid "Writing inode tables: " msgstr "" -#: misc/mke2fs.c:341 +#: misc/mke2fs.c:388 #, c-format msgid "" "\n" -"Could not write %d blocks in inode table starting at %llu: %s\n" -msgstr "" - -#: misc/mke2fs.c:355 misc/mke2fs.c:2314 misc/mke2fs.c:2577 -msgid "done \n" +"Could not write %d blocks in inode table starting at %u: %s\n" msgstr "" -#: misc/mke2fs.c:366 +#: misc/mke2fs.c:412 msgid "while creating root dir" msgstr "" -#: misc/mke2fs.c:373 +#: misc/mke2fs.c:419 msgid "while reading root inode" msgstr "" -#: misc/mke2fs.c:385 +#: misc/mke2fs.c:433 msgid "while setting root inode ownership" msgstr "" -#: misc/mke2fs.c:403 +#: misc/mke2fs.c:451 msgid "while creating /lost+found" msgstr "" -#: misc/mke2fs.c:410 +#: misc/mke2fs.c:458 msgid "while looking up /lost+found" msgstr "" -#: misc/mke2fs.c:423 +#: misc/mke2fs.c:471 msgid "while expanding /lost+found" msgstr "" -#: misc/mke2fs.c:438 +#: misc/mke2fs.c:486 msgid "while setting bad block inode" msgstr "" -#: misc/mke2fs.c:465 +#: misc/mke2fs.c:513 #, c-format msgid "Out of memory erasing sectors %d-%d\n" msgstr "" -#: misc/mke2fs.c:475 +#: misc/mke2fs.c:523 #, c-format msgid "Warning: could not read block 0: %s\n" msgstr "" -#: misc/mke2fs.c:491 +#: misc/mke2fs.c:539 #, c-format msgid "Warning: could not erase sector %d: %s\n" msgstr "" -#: misc/mke2fs.c:507 +#: misc/mke2fs.c:555 msgid "while initializing journal superblock" msgstr "" -#: misc/mke2fs.c:515 +#: misc/mke2fs.c:561 msgid "Zeroing journal device: " msgstr "" -#: misc/mke2fs.c:527 +#: misc/mke2fs.c:574 #, c-format -msgid "while zeroing journal device (block %llu, count %d)" +msgid "while zeroing journal device (block %u, count %d)" msgstr "" -#: misc/mke2fs.c:545 +#: misc/mke2fs.c:590 msgid "while writing journal superblock" msgstr "" -#: misc/mke2fs.c:560 +#: misc/mke2fs.c:606 #, c-format msgid "" -"warning: %llu blocks unused.\n" +"warning: %u blocks unused.\n" "\n" msgstr "" -#: misc/mke2fs.c:565 +#: misc/mke2fs.c:611 #, c-format msgid "Filesystem label=%s\n" msgstr "" -#: misc/mke2fs.c:568 -#, c-format -msgid "OS type: %s\n" +#: misc/mke2fs.c:612 +msgid "OS type: " msgstr "" -#: misc/mke2fs.c:570 +#: misc/mke2fs.c:617 #, c-format msgid "Block size=%u (log=%u)\n" msgstr "" -#: misc/mke2fs.c:574 -#, c-format -msgid "Cluster size=%u (log=%u)\n" -msgstr "" - -#: misc/mke2fs.c:578 +#: misc/mke2fs.c:619 #, c-format msgid "Fragment size=%u (log=%u)\n" msgstr "" -#: misc/mke2fs.c:580 +#: misc/mke2fs.c:621 #, c-format msgid "Stride=%u blocks, Stripe width=%u blocks\n" msgstr "" -#: misc/mke2fs.c:582 +#: misc/mke2fs.c:623 #, c-format -msgid "%u inodes, %llu blocks\n" +msgid "%u inodes, %u blocks\n" msgstr "" -#: misc/mke2fs.c:584 +#: misc/mke2fs.c:625 #, c-format -msgid "%llu blocks (%2.2f%%) reserved for the super user\n" +msgid "%u blocks (%2.2f%%) reserved for the super user\n" msgstr "" -#: misc/mke2fs.c:587 +#: misc/mke2fs.c:628 #, c-format msgid "First data block=%u\n" msgstr "" -#: misc/mke2fs.c:589 -#, c-format -msgid "Root directory owner=%u:%u\n" -msgstr "" - -#: misc/mke2fs.c:591 +#: misc/mke2fs.c:630 #, c-format msgid "Maximum filesystem blocks=%lu\n" msgstr "" -#: misc/mke2fs.c:595 +#: misc/mke2fs.c:634 #, c-format msgid "%u block groups\n" msgstr "" -#: misc/mke2fs.c:597 +#: misc/mke2fs.c:636 #, c-format msgid "%u block group\n" msgstr "" -#: misc/mke2fs.c:600 -#, c-format -msgid "%u blocks per group, %u clusters per group\n" -msgstr "" - -#: misc/mke2fs.c:603 +#: misc/mke2fs.c:637 #, c-format msgid "%u blocks per group, %u fragments per group\n" msgstr "" -#: misc/mke2fs.c:605 +#: misc/mke2fs.c:639 #, c-format msgid "%u inodes per group\n" msgstr "" -#: misc/mke2fs.c:612 -msgid "Superblock backups stored on blocks: " -msgstr "" - -#: misc/mke2fs.c:689 -#, c-format -msgid "%s requires '-O 64bit'\n" -msgstr "" - -#: misc/mke2fs.c:695 +#: misc/mke2fs.c:646 #, c-format -msgid "'%s' must be before 'resize=%u'\n" -msgstr "" - -#: misc/mke2fs.c:708 -#, c-format -msgid "Invalid desc_size: '%s'\n" -msgstr "" - -#: misc/mke2fs.c:722 misc/tune2fs.c:1188 -#, c-format -msgid "Invalid mmp_update_interval: %s\n" +msgid "Superblock backups stored on blocks: " msgstr "" -#: misc/mke2fs.c:736 +#: misc/mke2fs.c:725 #, c-format msgid "Invalid stride parameter: %s\n" msgstr "" -#: misc/mke2fs.c:751 +#: misc/mke2fs.c:740 #, c-format msgid "Invalid stripe-width parameter: %s\n" msgstr "" -#: misc/mke2fs.c:774 +#: misc/mke2fs.c:762 #, c-format msgid "Invalid resize parameter: %s\n" msgstr "" -#: misc/mke2fs.c:781 -msgid "The resize maximum must be greater than the filesystem size.\n" -msgstr "" - -#: misc/mke2fs.c:805 -msgid "On-line resizing not supported with revision 0 filesystems\n" -msgstr "" - -#: misc/mke2fs.c:832 misc/mke2fs.c:841 +#: misc/mke2fs.c:769 #, c-format -msgid "Invalid root_owner: '%s'\n" +msgid "The resize maximum must be greater than the filesystem size.\n" msgstr "" -#: misc/mke2fs.c:866 +#: misc/mke2fs.c:793 #, c-format -msgid "Invalid quotatype parameter: %s\n" +msgid "On-line resizing not supported with revision 0 filesystems\n" msgstr "" -#: misc/mke2fs.c:877 +#: misc/mke2fs.c:819 #, c-format msgid "" "\n" @@ -4308,17 +3826,13 @@ msgid "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" -"\tlazy_journal_init=<0 to disable, 1 to enable>\n" -"\troot_uid=\n" -"\troot_gid=\n" "\ttest_fs\n" "\tdiscard\n" "\tnodiscard\n" -"\tquotatype=\n" "\n" msgstr "" -#: misc/mke2fs.c:899 +#: misc/mke2fs.c:837 #, c-format msgid "" "\n" @@ -4326,41 +3840,38 @@ msgid "" "\n" msgstr "" -#: misc/mke2fs.c:938 +#: misc/mke2fs.c:869 #, c-format msgid "" "Syntax error in mke2fs config file (%s, line #%d)\n" "\t%s\n" msgstr "" -#: misc/mke2fs.c:951 misc/tune2fs.c:415 +#: misc/mke2fs.c:882 misc/tune2fs.c:369 #, c-format msgid "Invalid filesystem option set: %s\n" msgstr "" -#: misc/mke2fs.c:963 misc/tune2fs.c:356 -#, c-format -msgid "Invalid mount option set: %s\n" -msgstr "" - -#: misc/mke2fs.c:1103 +#: misc/mke2fs.c:1019 #, c-format msgid "" "\n" "Your mke2fs.conf file does not define the %s filesystem type.\n" msgstr "" -#: misc/mke2fs.c:1107 +#: misc/mke2fs.c:1023 +#, c-format msgid "" "You probably need to install an updated mke2fs.conf file.\n" "\n" msgstr "" -#: misc/mke2fs.c:1111 +#: misc/mke2fs.c:1027 +#, c-format msgid "Aborting...\n" msgstr "" -#: misc/mke2fs.c:1152 +#: misc/mke2fs.c:1064 #, c-format msgid "" "\n" @@ -4368,128 +3879,131 @@ msgid "" "\n" msgstr "" -#: misc/mke2fs.c:1324 -msgid "Couldn't allocate memory for new PATH.\n" -msgstr "" - -#: misc/mke2fs.c:1365 -#, c-format -msgid "Couldn't init profile successfully (error: %ld).\n" -msgstr "" - -#: misc/mke2fs.c:1405 +#: misc/mke2fs.c:1276 #, c-format msgid "invalid block size - %s" msgstr "" -#: misc/mke2fs.c:1409 +#: misc/mke2fs.c:1280 #, c-format msgid "Warning: blocksize %d not usable on most systems.\n" msgstr "" -#: misc/mke2fs.c:1425 +#: misc/mke2fs.c:1296 #, c-format -msgid "invalid cluster size - %s" +msgid "invalid fragment size - %s" msgstr "" -#: misc/mke2fs.c:1435 -msgid "'-R' is deprecated, use '-E' instead" +#: misc/mke2fs.c:1302 +#, c-format +msgid "Warning: fragments not supported. Ignoring -f option\n" msgstr "" -#: misc/mke2fs.c:1447 +#: misc/mke2fs.c:1309 msgid "Illegal number for blocks per group" msgstr "" -#: misc/mke2fs.c:1452 +#: misc/mke2fs.c:1314 msgid "blocks per group must be multiple of 8" msgstr "" -#: misc/mke2fs.c:1460 +#: misc/mke2fs.c:1322 msgid "Illegal number for flex_bg size" msgstr "" -#: misc/mke2fs.c:1466 +#: misc/mke2fs.c:1328 msgid "flex_bg size must be a power of 2" msgstr "" -#: misc/mke2fs.c:1476 +#: misc/mke2fs.c:1338 #, c-format msgid "invalid inode ratio %s (min %d/max %d)" msgstr "" -#: misc/mke2fs.c:1486 +#: misc/mke2fs.c:1348 #, c-format -msgid "invalid inode size - %s" -msgstr "" - -#: misc/mke2fs.c:1499 msgid "" "Warning: -K option is deprecated and should not be used anymore. Use '-E " "nodiscard' extended option instead!\n" msgstr "" -#: misc/mke2fs.c:1510 +#: misc/mke2fs.c:1362 msgid "in malloc for bad_blocks_filename" msgstr "" -#: misc/mke2fs.c:1523 +#: misc/mke2fs.c:1372 #, c-format msgid "invalid reserved blocks percent - %s" msgstr "" -#: misc/mke2fs.c:1538 -#, c-format -msgid "bad num inodes - %s" -msgstr "" - -#: misc/mke2fs.c:1555 +#: misc/mke2fs.c:1390 #, c-format msgid "bad revision level - %s" msgstr "" -#: misc/mke2fs.c:1569 -msgid "The -t option may only be used once" +#: misc/mke2fs.c:1402 +#, c-format +msgid "invalid inode size - %s" msgstr "" -#: misc/mke2fs.c:1577 -msgid "The -T option may only be used once" +#: misc/mke2fs.c:1422 +#, c-format +msgid "bad num inodes - %s" msgstr "" -#: misc/mke2fs.c:1630 misc/mke2fs.c:2657 +#: misc/mke2fs.c:1487 misc/mke2fs.c:2299 #, c-format msgid "while trying to open journal device %s\n" msgstr "" -#: misc/mke2fs.c:1636 +#: misc/mke2fs.c:1493 #, c-format msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n" msgstr "" -#: misc/mke2fs.c:1642 +#: misc/mke2fs.c:1499 #, c-format msgid "Using journal device's blocksize: %d\n" msgstr "" -#: misc/mke2fs.c:1653 +#: misc/mke2fs.c:1508 #, c-format -msgid "invalid blocks '%s' on device '%s'" +msgid "%d-byte blocks too big for system (max %d)" +msgstr "" + +#: misc/mke2fs.c:1512 +#, c-format +msgid "" +"Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +msgstr "" + +#: misc/mke2fs.c:1521 +#, c-format +msgid "invalid blocks count '%s' on device '%s'" msgstr "" -#: misc/mke2fs.c:1663 +#: misc/mke2fs.c:1531 msgid "filesystem" msgstr "" -#: misc/mke2fs.c:1676 resize/main.c:368 +#: misc/mke2fs.c:1567 +#, c-format +msgid "" +"%s: Size of device %s too big to be expressed in 32 bits\n" +"\tusing a blocksize of %d.\n" +msgstr "" + +#: misc/mke2fs.c:1576 resize/main.c:381 msgid "while trying to determine filesystem size" msgstr "" -#: misc/mke2fs.c:1682 +#: misc/mke2fs.c:1583 msgid "" "Couldn't determine device size; you must specify\n" "the size of the filesystem\n" msgstr "" -#: misc/mke2fs.c:1689 +#: misc/mke2fs.c:1590 msgid "" "Device size reported to be zero. Invalid partition specified, or\n" "\tpartition table wasn't reread after running fdisk, due to\n" @@ -4497,163 +4011,120 @@ msgid "" "\tto re-read your partition table.\n" msgstr "" -#: misc/mke2fs.c:1706 +#: misc/mke2fs.c:1608 msgid "Filesystem larger than apparent device size." msgstr "" -#: misc/mke2fs.c:1726 +#: misc/mke2fs.c:1614 +#, c-format msgid "Failed to parse fs types list\n" msgstr "" -#: misc/mke2fs.c:1767 -msgid "while trying to determine hardware sector size" +#: misc/mke2fs.c:1648 +msgid "fs_types for mke2fs.conf resolution: " msgstr "" -#: misc/mke2fs.c:1773 -msgid "while trying to determine physical sector size" +#: misc/mke2fs.c:1655 +#, c-format +msgid "Filesystem features not supported with revision 0 filesystems\n" msgstr "" -#: misc/mke2fs.c:1806 -msgid "while setting blocksize; too small for device\n" +#: misc/mke2fs.c:1662 +#, c-format +msgid "Sparse superblocks not supported with revision 0 filesystems\n" msgstr "" -#: misc/mke2fs.c:1811 +#: misc/mke2fs.c:1674 #, c-format -msgid "" -"Warning: specified blocksize %d is less than device physical sectorsize %d\n" +msgid "Journals not supported with revision 0 filesystems\n" msgstr "" -#: misc/mke2fs.c:1832 +#: misc/mke2fs.c:1692 #, 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" +"The resize_inode and meta_bg features are not compatible.\n" +"They can not be both enabled simultaneously.\n" msgstr "" -#: misc/mke2fs.c:1848 -msgid "fs_types for mke2fs.conf resolution: " +#: misc/mke2fs.c:1709 +msgid "while trying to determine hardware sector size" msgstr "" -#: misc/mke2fs.c:1855 -msgid "Filesystem features not supported with revision 0 filesystems\n" +#: misc/mke2fs.c:1715 +msgid "while trying to determine physical sector size" msgstr "" -#: misc/mke2fs.c:1863 -msgid "Sparse superblocks not supported with revision 0 filesystems\n" +#: misc/mke2fs.c:1746 +msgid "while setting blocksize; too small for device\n" msgstr "" -#: misc/mke2fs.c:1875 -msgid "Journals not supported with revision 0 filesystems\n" +#: misc/mke2fs.c:1751 +#, c-format +msgid "" +"Warning: specified blocksize %d is less than device physical sectorsize %d\n" +msgstr "" + +#: misc/mke2fs.c:1771 +#, c-format +msgid "warning: Unable to get device geometry for %s\n" msgstr "" -#: misc/mke2fs.c:1889 +#: misc/mke2fs.c:1774 #, c-format -msgid "invalid reserved blocks percent - %lf" +msgid "%s alignment is offset by %lu bytes.\n" msgstr "" -#: misc/mke2fs.c:1906 +#: misc/mke2fs.c:1776 +#, c-format msgid "" -"Extents MUST be enabled for a 64-bit filesystem. Pass -O extents to " -"rectify.\n" +"This may result in very poor performance, (re)-partitioning suggested.\n" msgstr "" -#: misc/mke2fs.c:1926 -msgid "The cluster size may not be smaller than the block size.\n" +#: misc/mke2fs.c:1810 +msgid "reserved online resize blocks not supported on non-sparse filesystem" msgstr "" -#: misc/mke2fs.c:1932 -msgid "specifying a cluster size requires the bigalloc feature" +#: misc/mke2fs.c:1819 +msgid "blocks per group count out of range" msgstr "" -#: misc/mke2fs.c:1951 -#, c-format -msgid "warning: Unable to get device geometry for %s\n" +#: misc/mke2fs.c:1834 +msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" msgstr "" -#: misc/mke2fs.c:1954 +#: misc/mke2fs.c:1846 #, c-format -msgid "%s alignment is offset by %lu bytes.\n" +msgid "invalid inode size %d (min %d/max %d)" msgstr "" -#: misc/mke2fs.c:1956 +#: misc/mke2fs.c:1860 #, c-format -msgid "" -"This may result in very poor performance, (re)-partitioning suggested.\n" +msgid "too many inodes (%llu), raise inode ratio?" msgstr "" -#: misc/mke2fs.c:1975 +#: misc/mke2fs.c:1865 #, c-format -msgid "%d-byte blocks too big for system (max %d)" +msgid "too many inodes (%llu), specify < 2^32 inodes" msgstr "" -#: misc/mke2fs.c:1979 +#: misc/mke2fs.c:1880 #, c-format msgid "" -"Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +"inode_size (%u) * inodes_count (%u) too big for a\n" +"\tfilesystem with %lu blocks, specify higher inode_ratio (-i)\n" +"\tor lower inode count (-N).\n" msgstr "" -#: misc/mke2fs.c:2013 -msgid "Can't support bigalloc feature without extents feature" +#: misc/mke2fs.c:1973 misc/tune2fs.c:1544 +msgid "Couldn't allocate memory for tdb filename\n" msgstr "" -#: misc/mke2fs.c:2020 -msgid "" -"The resize_inode and meta_bg features are not compatible.\n" -"They can not be both enabled simultaneously.\n" -msgstr "" - -#: misc/mke2fs.c:2029 -msgid "" -"\n" -"Warning: the bigalloc feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n" -"\n" -msgstr "" - -#: misc/mke2fs.c:2036 misc/tune2fs.c:757 -msgid "" -"\n" -"Warning: the quota feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Quota for more information\n" -"\n" -msgstr "" - -#: misc/mke2fs.c:2047 -msgid "reserved online resize blocks not supported on non-sparse filesystem" -msgstr "" - -#: misc/mke2fs.c:2056 -msgid "blocks per group count out of range" -msgstr "" - -#: misc/mke2fs.c:2080 -msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" -msgstr "" - -#: misc/mke2fs.c:2092 -#, c-format -msgid "invalid inode size %d (min %d/max %d)" -msgstr "" - -#: misc/mke2fs.c:2110 -#, c-format -msgid "too many inodes (%llu), raise inode ratio?" -msgstr "" - -#: misc/mke2fs.c:2117 -#, c-format -msgid "too many inodes (%llu), specify < 2^32 inodes" -msgstr "" - -#: misc/mke2fs.c:2131 +#: misc/mke2fs.c:1986 misc/tune2fs.c:1566 #, c-format -msgid "" -"inode_size (%u) * inodes_count (%u) too big for a\n" -"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n" -"\tor lower inode count (-N).\n" +msgid "while trying to delete %s" msgstr "" -#: misc/mke2fs.c:2253 +#: misc/mke2fs.c:1996 #, c-format msgid "" "Overwriting existing filesystem; this can be undone using the command:\n" @@ -4661,121 +4132,104 @@ msgid "" "\n" msgstr "" -#: misc/mke2fs.c:2267 -msgid "while trying to setup undo file\n" +#: misc/mke2fs.c:2036 +#, c-format +msgid "Calling BLKDISCARD from %llu to %llu " msgstr "" -#: misc/mke2fs.c:2293 -msgid "Discarding device blocks: " +#: misc/mke2fs.c:2040 +#, c-format +msgid "failed.\n" msgstr "" -#: misc/mke2fs.c:2309 -msgid "failed - " +#: misc/mke2fs.c:2042 +#, c-format +msgid "succeeded.\n" msgstr "" -#: misc/mke2fs.c:2418 +#: misc/mke2fs.c:2109 msgid "while setting up superblock" msgstr "" -#: misc/mke2fs.c:2434 -msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" +#: misc/mke2fs.c:2119 +#, c-format +msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" msgstr "" -#: misc/mke2fs.c:2517 +#: misc/mke2fs.c:2183 #, c-format msgid "unknown os - %s" msgstr "" -#: misc/mke2fs.c:2569 -msgid "Allocating group tables: " -msgstr "" - -#: misc/mke2fs.c:2573 +#: misc/mke2fs.c:2237 msgid "while trying to allocate filesystem tables" msgstr "" -#: misc/mke2fs.c:2582 -msgid "" -"\n" -"\twhile converting subcluster bitmap" -msgstr "" - -#: misc/mke2fs.c:2625 +#: misc/mke2fs.c:2268 #, c-format -msgid "while zeroing block %llu at end of filesystem" +msgid "while zeroing block %u at end of filesystem" msgstr "" -#: misc/mke2fs.c:2639 +#: misc/mke2fs.c:2281 msgid "while reserving blocks for online resize" msgstr "" -#: misc/mke2fs.c:2650 misc/tune2fs.c:662 +#: misc/mke2fs.c:2292 misc/tune2fs.c:517 msgid "journal" msgstr "" -#: misc/mke2fs.c:2662 +#: misc/mke2fs.c:2304 #, c-format msgid "Adding journal to device %s: " msgstr "" -#: misc/mke2fs.c:2669 +#: misc/mke2fs.c:2311 #, c-format msgid "" "\n" "\twhile trying to add journal to device %s" msgstr "" -#: misc/mke2fs.c:2674 misc/mke2fs.c:2704 misc/tune2fs.c:691 misc/tune2fs.c:705 +#: misc/mke2fs.c:2316 misc/mke2fs.c:2348 misc/tune2fs.c:546 misc/tune2fs.c:560 +#, c-format msgid "done\n" msgstr "" -#: misc/mke2fs.c:2681 +#: misc/mke2fs.c:2325 +#, c-format msgid "Skipping journal creation in super-only mode\n" msgstr "" -#: misc/mke2fs.c:2692 +#: misc/mke2fs.c:2336 #, c-format msgid "Creating journal (%u blocks): " msgstr "" -#: misc/mke2fs.c:2700 -msgid "" -"\n" -"\twhile trying to create journal" -msgstr "" - -#: misc/mke2fs.c:2712 misc/tune2fs.c:468 -msgid "" -"\n" -"Error while enabling multiple mount protection feature." -msgstr "" - -#: misc/mke2fs.c:2717 +#: misc/mke2fs.c:2353 #, c-format -msgid "Multiple mount protection is enabled with update interval %d seconds.\n" -msgstr "" - -#: misc/mke2fs.c:2730 msgid "Writing superblocks and filesystem accounting information: " msgstr "" -#: misc/mke2fs.c:2737 +#: misc/mke2fs.c:2358 +#, c-format msgid "" "\n" "Warning, had trouble writing out superblocks." msgstr "" -#: misc/mke2fs.c:2739 +#: misc/mke2fs.c:2361 +#, c-format msgid "" "done\n" "\n" msgstr "" -#: misc/mklost+found.c:50 +#: misc/mklost+found.c:49 +#, c-format msgid "Usage: mklost+found\n" msgstr "" -#: misc/partinfo.c:41 +#: misc/partinfo.c:39 #, c-format msgid "" "Usage: %s device...\n" @@ -4785,299 +4239,234 @@ msgid "" "\n" msgstr "" -#: misc/partinfo.c:51 +#: misc/partinfo.c:49 #, c-format msgid "Cannot open %s: %s" msgstr "" -#: misc/partinfo.c:57 +#: misc/partinfo.c:55 #, c-format msgid "Cannot get geometry of %s: %s" msgstr "" -#: misc/partinfo.c:65 +#: misc/partinfo.c:63 #, c-format msgid "Cannot get size of %s: %s" msgstr "" -#: misc/partinfo.c:71 +#: misc/partinfo.c:69 #, c-format msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n" msgstr "" -#: misc/tune2fs.c:111 +#: misc/tune2fs.c:96 msgid "Please run e2fsck on the filesystem.\n" msgstr "" -#: misc/tune2fs.c:120 +#: misc/tune2fs.c:105 #, c-format msgid "" "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" -"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p " -"mmp_update_interval]\n" +"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" -"\t[-Q quota_options]\n" "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n" "\t[ -I new_inode_size ] device\n" msgstr "" -#: misc/tune2fs.c:216 +#: misc/tune2fs.c:190 msgid "while trying to open external journal" msgstr "" -#: misc/tune2fs.c:221 +#: misc/tune2fs.c:194 #, c-format msgid "%s is not a journal device.\n" msgstr "" -#: misc/tune2fs.c:236 +#: misc/tune2fs.c:209 msgid "Journal superblock not found!\n" msgstr "" -#: misc/tune2fs.c:247 +#: misc/tune2fs.c:221 msgid "Filesystem's UUID not found on journal device.\n" msgstr "" -#: misc/tune2fs.c:268 -msgid "" -"Cannot locate journal device. It was NOT removed\n" -"Use -f option to remove missing journal device.\n" +#: misc/tune2fs.c:242 +msgid "Journal NOT removed\n" msgstr "" -#: misc/tune2fs.c:276 +#: misc/tune2fs.c:248 msgid "Journal removed\n" msgstr "" -#: misc/tune2fs.c:320 +#: misc/tune2fs.c:288 msgid "while reading bitmaps" msgstr "" -#: misc/tune2fs.c:328 +#: misc/tune2fs.c:296 msgid "while clearing journal inode" msgstr "" -#: misc/tune2fs.c:339 +#: misc/tune2fs.c:307 msgid "while writing journal inode" msgstr "" -#: misc/tune2fs.c:371 misc/tune2fs.c:384 +#: misc/tune2fs.c:322 +#, c-format +msgid "Invalid mount option set: %s\n" +msgstr "" + +#: misc/tune2fs.c:338 #, c-format msgid "(and reboot afterwards!)\n" msgstr "" -#: misc/tune2fs.c:418 +#: misc/tune2fs.c:372 #, c-format msgid "Clearing filesystem feature '%s' not supported.\n" msgstr "" -#: misc/tune2fs.c:424 +#: misc/tune2fs.c:378 #, c-format msgid "Setting filesystem feature '%s' not supported.\n" msgstr "" -#: misc/tune2fs.c:433 +#: misc/tune2fs.c:387 msgid "" "The has_journal feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" msgstr "" -#: misc/tune2fs.c:441 +#: misc/tune2fs.c:395 msgid "" "The needs_recovery flag is set. Please run e2fsck before clearing\n" "the has_journal flag.\n" msgstr "" -#: misc/tune2fs.c:460 -msgid "" -"The multiple mount protection feature can't\n" -"be set if the filesystem is mounted or\n" -"read-only.\n" -msgstr "" - -#: misc/tune2fs.c:478 -#, c-format -msgid "Multiple mount protection has been enabled with update interval %ds.\n" -msgstr "" - -#: misc/tune2fs.c:487 -msgid "" -"The multiple mount protection feature cannot\n" -"be disabled if the filesystem is readonly.\n" -msgstr "" - -#: misc/tune2fs.c:495 -msgid "Error while reading bitmaps\n" -msgstr "" - -#: misc/tune2fs.c:504 -#, c-format -msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n" -msgstr "" - -#: misc/tune2fs.c:509 -msgid "while reading MMP block." -msgstr "" - -#: misc/tune2fs.c:541 +#: misc/tune2fs.c:428 msgid "" "Clearing the flex_bg flag would cause the the filesystem to be\n" "inconsistent.\n" msgstr "" -#: misc/tune2fs.c:552 +#: misc/tune2fs.c:439 msgid "" "The huge_file feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" msgstr "" -#: misc/tune2fs.c:612 -msgid "" -"\n" -"Warning: '^quota' option overrides '-Q'arguments.\n" -msgstr "" - -#: misc/tune2fs.c:657 +#: misc/tune2fs.c:512 msgid "The filesystem already has a journal.\n" msgstr "" -#: misc/tune2fs.c:675 +#: misc/tune2fs.c:530 #, c-format msgid "" "\n" "\twhile trying to open journal on %s\n" msgstr "" -#: misc/tune2fs.c:679 +#: misc/tune2fs.c:534 #, c-format msgid "Creating journal on device %s: " msgstr "" -#: misc/tune2fs.c:687 +#: misc/tune2fs.c:542 #, c-format msgid "while adding filesystem to journal on %s" msgstr "" -#: misc/tune2fs.c:693 +#: misc/tune2fs.c:548 msgid "Creating journal inode: " msgstr "" -#: misc/tune2fs.c:702 +#: misc/tune2fs.c:557 msgid "" "\n" "\twhile trying to create journal file" msgstr "" -#: misc/tune2fs.c:781 -msgid "Couldn't allocate memory to parse quota options!\n" -msgstr "" - -#: misc/tune2fs.c:803 -msgid "" -"\n" -"Bad quota options specified.\n" -"\n" -"Following valid quota options are available (pass by separating with " -"comma):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" -msgstr "" - -#: misc/tune2fs.c:863 +#: misc/tune2fs.c:623 #, c-format msgid "Couldn't parse date/time specifier: %s" msgstr "" -#: misc/tune2fs.c:891 misc/tune2fs.c:904 +#: misc/tune2fs.c:647 misc/tune2fs.c:660 #, c-format msgid "bad mounts count - %s" msgstr "" -#: misc/tune2fs.c:920 +#: misc/tune2fs.c:676 #, c-format msgid "bad error behavior - %s" msgstr "" -#: misc/tune2fs.c:947 +#: misc/tune2fs.c:703 #, c-format msgid "bad gid/group name - %s" msgstr "" -#: misc/tune2fs.c:980 +#: misc/tune2fs.c:736 #, c-format msgid "bad interval - %s" msgstr "" -#: misc/tune2fs.c:1009 +#: misc/tune2fs.c:765 #, c-format msgid "bad reserved block ratio - %s" msgstr "" -#: misc/tune2fs.c:1024 +#: misc/tune2fs.c:780 msgid "-o may only be specified once" msgstr "" -#: misc/tune2fs.c:1033 +#: misc/tune2fs.c:790 msgid "-O may only be specified once" msgstr "" -#: misc/tune2fs.c:1050 +#: misc/tune2fs.c:800 #, c-format msgid "bad reserved blocks count - %s" msgstr "" -#: misc/tune2fs.c:1079 +#: misc/tune2fs.c:829 #, c-format msgid "bad uid/user name - %s" msgstr "" -#: misc/tune2fs.c:1096 +#: misc/tune2fs.c:846 #, c-format msgid "bad inode size - %s" msgstr "" -#: misc/tune2fs.c:1103 +#: misc/tune2fs.c:853 #, c-format msgid "Inode size must be a power of two- %s" msgstr "" -#: misc/tune2fs.c:1197 -#, c-format -msgid "mmp_update_interval too big: %lu\n" -msgstr "" - -#: misc/tune2fs.c:1202 -#, c-format -msgid "Setting multiple mount protection update interval to %lu second\n" -msgid_plural "" -"Setting multiple mount protection update interval to %lu seconds\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/tune2fs.c:1225 +#: misc/tune2fs.c:942 #, c-format msgid "Invalid RAID stride: %s\n" msgstr "" -#: misc/tune2fs.c:1240 +#: misc/tune2fs.c:957 #, c-format msgid "Invalid RAID stripe-width: %s\n" msgstr "" -#: misc/tune2fs.c:1255 +#: misc/tune2fs.c:972 #, c-format msgid "Invalid hash algorithm: %s\n" msgstr "" -#: misc/tune2fs.c:1261 +#: misc/tune2fs.c:978 #, c-format msgid "Setting default hash algorithm to %s (%d)\n" msgstr "" -#: misc/tune2fs.c:1280 +#: misc/tune2fs.c:998 +#, c-format msgid "" "\n" "Bad options specified.\n" @@ -5086,55 +4475,36 @@ msgid "" "\tis set off by an equals ('=') sign.\n" "\n" "Valid extended options are:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" msgstr "" -#: misc/tune2fs.c:1746 -msgid "Failed to read inode bitmap\n" -msgstr "" - -#: misc/tune2fs.c:1751 -msgid "Failed to read block bitmap\n" -msgstr "" - -#: misc/tune2fs.c:1768 resize/resize2fs.c:870 +#: misc/tune2fs.c:1471 resize/resize2fs.c:790 msgid "blocks to be moved" msgstr "" -#: misc/tune2fs.c:1771 +#: misc/tune2fs.c:1474 msgid "Failed to allocate block bitmap when increasing inode size\n" msgstr "" -#: misc/tune2fs.c:1777 +#: misc/tune2fs.c:1480 msgid "Not enough space to increase inode size \n" msgstr "" -#: misc/tune2fs.c:1782 +#: misc/tune2fs.c:1485 msgid "Failed to relocate blocks during inode resize \n" msgstr "" -#: misc/tune2fs.c:1814 +#: misc/tune2fs.c:1517 msgid "" "Error in resizing the inode size.\n" "Run e2undo to undo the file system changes. \n" msgstr "" -#: misc/tune2fs.c:1841 -msgid "Couldn't allocate memory for tdb filename\n" -msgstr "" - -#: misc/tune2fs.c:1863 -#, c-format -msgid "while trying to delete %s" -msgstr "" - -#: misc/tune2fs.c:1873 +#: misc/tune2fs.c:1576 #, c-format msgid "" "To undo the tune2fs operation please run the command\n" @@ -5142,202 +4512,164 @@ msgid "" "\n" msgstr "" -#: misc/tune2fs.c:1942 -#, c-format -msgid "" -"MMP block magic is bad. Try to fix it by running:\n" -"'e2fsck -f %s'\n" -msgstr "" - -#: misc/tune2fs.c:1960 +#: misc/tune2fs.c:1637 #, c-format msgid "The inode size is already %lu\n" msgstr "" -#: misc/tune2fs.c:1967 -msgid "Shrinking inode size is not supported\n" -msgstr "" - -#: misc/tune2fs.c:1972 +#: misc/tune2fs.c:1642 #, c-format -msgid "Invalid inode size %lu (max %d)\n" +msgid "Shrinking the inode size is not supported\n" msgstr "" -#: misc/tune2fs.c:2019 +#: misc/tune2fs.c:1685 #, c-format msgid "Setting maximal mount count to %d\n" msgstr "" -#: misc/tune2fs.c:2025 +#: misc/tune2fs.c:1691 #, c-format msgid "Setting current mount count to %d\n" msgstr "" -#: misc/tune2fs.c:2030 +#: misc/tune2fs.c:1696 #, c-format msgid "Setting error behavior to %d\n" msgstr "" -#: misc/tune2fs.c:2035 +#: misc/tune2fs.c:1701 #, c-format msgid "Setting reserved blocks gid to %lu\n" msgstr "" -#: misc/tune2fs.c:2040 -#, c-format -msgid "interval between checks is too big (%lu)" -msgstr "" - -#: misc/tune2fs.c:2047 +#: misc/tune2fs.c:1706 #, c-format msgid "Setting interval between checks to %lu seconds\n" msgstr "" -#: misc/tune2fs.c:2054 +#: misc/tune2fs.c:1713 #, c-format -msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n" +msgid "Setting reserved blocks percentage to %g%% (%u blocks)\n" msgstr "" -#: misc/tune2fs.c:2060 +#: misc/tune2fs.c:1720 #, c-format -msgid "reserved blocks count is too big (%llu)" +msgid "reserved blocks count is too big (%lu)" msgstr "" -#: misc/tune2fs.c:2067 +#: misc/tune2fs.c:1726 #, c-format -msgid "Setting reserved blocks count to %llu\n" +msgid "Setting reserved blocks count to %lu\n" msgstr "" -#: misc/tune2fs.c:2073 +#: misc/tune2fs.c:1732 msgid "" "\n" "The filesystem already has sparse superblocks.\n" msgstr "" -#: misc/tune2fs.c:2080 +#: misc/tune2fs.c:1739 #, c-format msgid "" "\n" "Sparse superblock flag set. %s" msgstr "" -#: misc/tune2fs.c:2085 +#: misc/tune2fs.c:1744 msgid "" "\n" "Clearing the sparse superflag not supported.\n" msgstr "" -#: misc/tune2fs.c:2093 +#: misc/tune2fs.c:1751 #, c-format msgid "Setting time filesystem last checked to %s\n" msgstr "" -#: misc/tune2fs.c:2099 +#: misc/tune2fs.c:1757 #, c-format msgid "Setting reserved blocks uid to %lu\n" msgstr "" -#: misc/tune2fs.c:2131 -msgid "Error in using clear_mmp. It must be used with -f\n" -msgstr "" - -#: misc/tune2fs.c:2149 -msgid "" -"The quota feature may only be changed when the filesystem is unmounted.\n" -msgstr "" - -#: misc/tune2fs.c:2168 -msgid "The UUID may only be changed when the filesystem is unmounted.\n" -msgstr "" - -#: misc/tune2fs.c:2196 +#: misc/tune2fs.c:1808 msgid "Invalid UUID format\n" msgstr "" -#: misc/tune2fs.c:2209 +#: misc/tune2fs.c:1820 msgid "The inode size may only be changed when the filesystem is unmounted.\n" msgstr "" -#: misc/tune2fs.c:2217 +#: misc/tune2fs.c:1827 msgid "" "Changing the inode size not supported for filesystems with the flex_bg\n" "feature enabled.\n" msgstr "" -#: misc/tune2fs.c:2230 +#: misc/tune2fs.c:1839 #, c-format msgid "Setting inode size %lu\n" msgstr "" -#: misc/tune2fs.c:2233 -msgid "Failed to change inode size\n" -msgstr "" - -#: misc/tune2fs.c:2244 +#: misc/tune2fs.c:1849 #, c-format msgid "Setting stride size to %d\n" msgstr "" -#: misc/tune2fs.c:2249 +#: misc/tune2fs.c:1854 #, c-format msgid "Setting stripe width to %d\n" msgstr "" -#: misc/tune2fs.c:2256 -#, c-format -msgid "Setting extended default mount options to '%s'\n" -msgstr "" - -#: misc/util.c:74 +#: misc/util.c:72 msgid "Proceed anyway? (y,n) " msgstr "" -#: misc/util.c:89 +#: misc/util.c:93 #, c-format msgid "Could not stat %s --- %s\n" msgstr "" -#: misc/util.c:92 +#: misc/util.c:96 msgid "" "\n" "The device apparently does not exist; did you specify it correctly?\n" msgstr "" -#: misc/util.c:103 +#: misc/util.c:107 #, c-format msgid "%s is not a block special device.\n" msgstr "" -#: misc/util.c:132 +#: misc/util.c:136 #, c-format msgid "%s is entire device, not just one partition!\n" msgstr "" -#: misc/util.c:154 +#: misc/util.c:158 msgid "mke2fs forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "" -#: misc/util.c:159 +#: misc/util.c:163 #, c-format msgid "will not make a %s here!\n" msgstr "" -#: misc/util.c:166 +#: misc/util.c:170 msgid "mke2fs forced anyway.\n" msgstr "" -#: misc/util.c:182 +#: misc/util.c:186 msgid "Couldn't allocate memory to parse journal options!\n" msgstr "" -#: misc/util.c:207 +#: misc/util.c:211 #, c-format msgid "" "\n" "Could not find journal device matching %s\n" msgstr "" -#: misc/util.c:228 +#: misc/util.c:232 msgid "" "\n" "Bad journal options specified.\n" @@ -5353,13 +4685,13 @@ msgid "" "\n" msgstr "" -#: misc/util.c:258 +#: misc/util.c:262 msgid "" "\n" "Filesystem too small for a journal\n" msgstr "" -#: misc/util.c:265 +#: misc/util.c:269 #, c-format msgid "" "\n" @@ -5367,7 +4699,7 @@ msgid "" "between 1024 and 10240000 blocks. Aborting.\n" msgstr "" -#: misc/util.c:273 +#: misc/util.c:277 msgid "" "\n" "Journal size too big for filesystem.\n" @@ -5380,1101 +4712,213 @@ msgid "" "%g days, whichever comes first. Use tune2fs -c or -i to override.\n" msgstr "" -#: misc/uuidd.c:48 -#, c-format -msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n" -msgstr "" - -#: misc/uuidd.c:50 -#, c-format -msgid " %s [-r|t] [-n num] [-s socketpath]\n" -msgstr "" - -#: misc/uuidd.c:52 -#, c-format -msgid " %s -k\n" -msgstr "" - -#: misc/uuidd.c:154 -msgid "bad arguments" -msgstr "" - -#: misc/uuidd.c:172 -msgid "connect" -msgstr "" - -#: misc/uuidd.c:191 -msgid "write" -msgstr "" - -#: misc/uuidd.c:199 -msgid "read count" -msgstr "" - -#: misc/uuidd.c:205 -msgid "bad response length" -msgstr "" - -#: misc/uuidd.c:270 -#, c-format -msgid "uuidd daemon already running at pid %s\n" -msgstr "" - -#: misc/uuidd.c:278 -#, c-format -msgid "Couldn't create unix stream socket: %s" -msgstr "" - -#: misc/uuidd.c:307 -#, c-format -msgid "Couldn't bind unix socket %s: %s\n" -msgstr "" - -#: misc/uuidd.c:315 -#, c-format -msgid "Couldn't listen on unix socket %s: %s\n" -msgstr "" - -#: misc/uuidd.c:353 -#, c-format -msgid "Error reading from client, len = %d\n" -msgstr "" - -#: misc/uuidd.c:361 -#, c-format -msgid "operation %d, incoming num = %d\n" -msgstr "" - -#: misc/uuidd.c:380 -#, c-format -msgid "Generated time UUID: %s\n" -msgstr "" - -#: misc/uuidd.c:390 -#, c-format -msgid "Generated random UUID: %s\n" -msgstr "" - -#: misc/uuidd.c:399 -#, c-format -msgid "Generated time UUID %s and subsequent UUID\n" -msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/uuidd.c:420 -#, c-format -msgid "Generated %d UUID's:\n" -msgstr "" - -#: misc/uuidd.c:432 -#, c-format -msgid "Invalid operation %d\n" -msgstr "" - -#: misc/uuidd.c:476 misc/uuidd.c:498 -#, c-format -msgid "Bad number: %s\n" -msgstr "" - -#: misc/uuidd.c:533 misc/uuidd.c:562 -#, c-format -msgid "Error calling uuidd daemon (%s): %s\n" -msgstr "" - -#: misc/uuidd.c:543 -#, c-format -msgid "%s and subsequent UUID\n" -msgid_plural "%s and subsequent %d UUIDs\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/uuidd.c:547 -msgid "List of UUID's:\n" -msgstr "" - -#: misc/uuidd.c:568 -#, c-format -msgid "Unexpected reply length from server %d\n" -msgstr "" - -#: misc/uuidd.c:585 +#: misc/uuidgen.c:31 #, c-format -msgid "Couldn't kill uuidd running at pid %d: %s\n" -msgstr "" - -#: misc/uuidd.c:591 -#, c-format -msgid "Killed uuidd running at pid %d\n" +msgid "Usage: %s [-r] [-t]\n" msgstr "" -#: misc/uuidgen.c:32 -#, c-format -msgid "Usage: %s [-r] [-t]\n" +#: resize/extent.c:201 +msgid "# Extent dump:\n" msgstr "" #: resize/extent.c:202 -msgid "# Extent dump:\n" +#, c-format +msgid "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" msgstr "" -#: resize/extent.c:203 +#: resize/extent.c:205 #, c-format -msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n" +msgid "#\t\t %u -> %u (%d)\n" msgstr "" -#: resize/main.c:44 +#: resize/main.c:42 #, c-format msgid "" "Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" "\n" msgstr "" -#: resize/main.c:66 +#: resize/main.c:64 msgid "Extending the inode table" msgstr "" -#: resize/main.c:69 +#: resize/main.c:67 msgid "Relocating blocks" msgstr "" -#: resize/main.c:72 +#: resize/main.c:70 msgid "Scanning inode table" msgstr "" -#: resize/main.c:75 +#: resize/main.c:73 msgid "Updating inode references" msgstr "" -#: resize/main.c:78 +#: resize/main.c:76 msgid "Moving inode table" msgstr "" -#: resize/main.c:81 +#: resize/main.c:79 msgid "Unknown pass?!?" msgstr "" -#: resize/main.c:84 +#: resize/main.c:82 #, c-format msgid "Begin pass %d (max = %lu)\n" msgstr "" -#: resize/main.c:155 -msgid "" -"\n" -"Resizing bigalloc file systems has not been fully tested. Proceed at\n" -"your own risk! Use the force option if you want to go ahead anyway.\n" -"\n" -msgstr "" - -#: resize/main.c:272 +#: resize/main.c:265 #, c-format msgid "while opening %s" msgstr "" -#: resize/main.c:280 +#: resize/main.c:277 #, c-format msgid "while getting stat information for %s" msgstr "" -#: resize/main.c:338 resize/main.c:451 +#: resize/main.c:338 +#, c-format +msgid "" +"%s: The combination of flex_bg and\n" +"\t!resize_inode features is not supported by resize2fs.\n" +msgstr "" + +#: resize/main.c:351 resize/main.c:451 #, c-format msgid "" "Please run 'e2fsck -f %s' first.\n" "\n" msgstr "" -#: resize/main.c:342 +#: resize/main.c:355 #, c-format -msgid "Estimated minimum size of the filesystem: %llu\n" +msgid "Estimated minimum size of the filesystem: %u\n" msgstr "" -#: resize/main.c:378 +#: resize/main.c:391 #, c-format msgid "Invalid new size: %s\n" msgstr "" -#: resize/main.c:394 -msgid "New size too large to be expressed in 32 bits\n" -msgstr "" - -#: resize/main.c:402 +#: resize/main.c:403 #, c-format -msgid "New size smaller than minimum (%llu)\n" +msgid "New size smaller than minimum (%u)\n" msgstr "" -#: resize/main.c:408 +#: resize/main.c:409 msgid "Invalid stride length" msgstr "" -#: resize/main.c:432 +#: resize/main.c:433 #, c-format msgid "" -"The containing partition (or device) is only %llu (%dk) blocks.\n" -"You requested a new size of %llu blocks.\n" +"The containing partition (or device) is only %u (%dk) blocks.\n" +"You requested a new size of %u blocks.\n" "\n" msgstr "" -#: resize/main.c:439 +#: resize/main.c:440 #, c-format msgid "" -"The filesystem is already %llu blocks long. Nothing to do!\n" +"The filesystem is already %u blocks long. Nothing to do!\n" "\n" msgstr "" -#: resize/main.c:456 +#: resize/main.c:455 #, c-format -msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n" +msgid "Resizing the filesystem on %s to %u (%dk) blocks.\n" msgstr "" -#: resize/main.c:465 +#: resize/main.c:464 #, c-format msgid "while trying to resize %s" msgstr "" -#: resize/main.c:468 +#: resize/main.c:467 #, c-format msgid "" "Please run 'e2fsck -fy %s' to fix the filesystem\n" "after the aborted resize operation.\n" msgstr "" -#: resize/main.c:474 +#: resize/main.c:473 #, c-format msgid "" -"The filesystem on %s is now %llu blocks long.\n" +"The filesystem on %s is now %u blocks long.\n" "\n" msgstr "" -#: resize/main.c:489 +#: resize/main.c:488 #, c-format msgid "while trying to truncate %s" msgstr "" -#: resize/online.c:79 +#: resize/online.c:37 #, c-format msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" msgstr "" -#: resize/online.c:83 +#: resize/online.c:41 msgid "On-line shrinking not supported" msgstr "" -#: resize/online.c:108 +#: resize/online.c:60 msgid "Filesystem does not support online resizing" msgstr "" -#: resize/online.c:117 -msgid "Not enough reserved gdt blocks for resizing" -msgstr "" - -#: resize/online.c:124 -msgid "Kernel does not support resizing a file system this large" -msgstr "" - -#: resize/online.c:132 +#: resize/online.c:67 #, c-format msgid "while trying to open mountpoint %s" msgstr "" -#: resize/online.c:137 -#, c-format -msgid "Old resize interface requested.\n" -msgstr "" - -#: resize/online.c:156 resize/online.c:173 +#: resize/online.c:75 msgid "Permission denied to resize filesystem" msgstr "" -#: resize/online.c:159 resize/online.c:179 -msgid "While checking for on-line resizing support" +#: resize/online.c:78 +msgid "Kernel does not support online resizing" msgstr "" -#: resize/online.c:176 -msgid "Kernel does not support online resizing" +#: resize/online.c:81 +msgid "While checking for on-line resizing support" msgstr "" -#: resize/online.c:215 +#: resize/online.c:110 #, c-format -msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n" +msgid "Performing an on-line resize of %s to %u (%dk) blocks.\n" msgstr "" -#: resize/online.c:225 +#: resize/online.c:120 msgid "While trying to extend the last group" msgstr "" -#: resize/online.c:279 +#: resize/online.c:179 #, c-format msgid "While trying to add group #%d" msgstr "" -#: resize/online.c:290 +#: resize/online.c:190 #, c-format msgid "" "Filesystem at %s is mounted on %s, and on-line resizing is not supported on " "this system.\n" msgstr "" -#: resize/resize2fs.c:371 +#: resize/resize2fs.c:350 #, c-format msgid "inodes (%llu) must be less than %u" msgstr "" -#: resize/resize2fs.c:630 +#: resize/resize2fs.c:582 msgid "reserved blocks" msgstr "" -#: resize/resize2fs.c:875 +#: resize/resize2fs.c:795 msgid "meta-data blocks" msgstr "" -#: resize/resize2fs.c:1873 +#: resize/resize2fs.c:1752 +#, c-format msgid "Should never happen: resize inode corrupt!\n" msgstr "" - -#: lib/ext2fs/ext2_err.c:11 -msgid "EXT2FS Library version 1.42.9" -msgstr "" - -#: lib/ext2fs/ext2_err.c:12 -msgid "Wrong magic number for ext2_filsys structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:13 -msgid "Wrong magic number for badblocks_list structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:14 -msgid "Wrong magic number for badblocks_iterate structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:15 -msgid "Wrong magic number for inode_scan structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:16 -msgid "Wrong magic number for io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:17 -msgid "Wrong magic number for unix io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:18 -msgid "Wrong magic number for io_manager structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:19 -msgid "Wrong magic number for block_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:20 -msgid "Wrong magic number for inode_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:21 -msgid "Wrong magic number for generic_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:22 -msgid "Wrong magic number for test io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:23 -msgid "Wrong magic number for directory block list structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:24 -msgid "Wrong magic number for icount structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:25 -msgid "Wrong magic number for Powerquest io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:26 -msgid "Wrong magic number for ext2 file structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:27 -msgid "Wrong magic number for Ext2 Image Header" -msgstr "" - -#: lib/ext2fs/ext2_err.c:28 -msgid "Wrong magic number for inode io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:29 -msgid "Wrong magic number for ext4 extent handle" -msgstr "" - -#: lib/ext2fs/ext2_err.c:30 -msgid "Bad magic number in super-block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:31 -msgid "Filesystem revision too high" -msgstr "" - -#: lib/ext2fs/ext2_err.c:32 -msgid "Attempt to write to filesystem opened read-only" -msgstr "" - -#: lib/ext2fs/ext2_err.c:33 -msgid "Can't read group descriptors" -msgstr "" - -#: lib/ext2fs/ext2_err.c:34 -msgid "Can't write group descriptors" -msgstr "" - -#: lib/ext2fs/ext2_err.c:35 -msgid "Corrupt group descriptor: bad block for block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:36 -msgid "Corrupt group descriptor: bad block for inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:37 -msgid "Corrupt group descriptor: bad block for inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:38 -msgid "Can't write an inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:39 -msgid "Can't read an inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:40 -msgid "Can't write a block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:41 -msgid "Can't read a block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:42 -msgid "Can't write an inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:43 -msgid "Can't read an inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:44 -msgid "Can't read next inode" -msgstr "" - -#: lib/ext2fs/ext2_err.c:45 -msgid "Filesystem has unexpected block size" -msgstr "" - -#: lib/ext2fs/ext2_err.c:46 -msgid "EXT2 directory corrupted" -msgstr "" - -#: lib/ext2fs/ext2_err.c:47 -msgid "Attempt to read block from filesystem resulted in short read" -msgstr "" - -#: lib/ext2fs/ext2_err.c:48 -msgid "Attempt to write block to filesystem resulted in short write" -msgstr "" - -#: lib/ext2fs/ext2_err.c:49 -msgid "No free space in the directory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:50 -msgid "Inode bitmap not loaded" -msgstr "" - -#: lib/ext2fs/ext2_err.c:51 -msgid "Block bitmap not loaded" -msgstr "" - -#: lib/ext2fs/ext2_err.c:52 -msgid "Illegal inode number" -msgstr "" - -#: lib/ext2fs/ext2_err.c:53 -msgid "Illegal block number" -msgstr "" - -#: lib/ext2fs/ext2_err.c:54 -msgid "Internal error in ext2fs_expand_dir" -msgstr "" - -#: lib/ext2fs/ext2_err.c:55 -msgid "Not enough space to build proposed filesystem" -msgstr "" - -#: lib/ext2fs/ext2_err.c:56 -msgid "Illegal block number passed to ext2fs_mark_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:57 -msgid "Illegal block number passed to ext2fs_unmark_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:58 -msgid "Illegal block number passed to ext2fs_test_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:59 -msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:60 -msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:61 -msgid "Illegal inode number passed to ext2fs_test_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:62 -msgid "Attempt to fudge end of block bitmap past the real end" -msgstr "" - -#: lib/ext2fs/ext2_err.c:63 -msgid "Attempt to fudge end of inode bitmap past the real end" -msgstr "" - -#: lib/ext2fs/ext2_err.c:64 -msgid "Illegal indirect block found" -msgstr "" - -#: lib/ext2fs/ext2_err.c:65 -msgid "Illegal doubly indirect block found" -msgstr "" - -#: lib/ext2fs/ext2_err.c:66 -msgid "Illegal triply indirect block found" -msgstr "" - -#: lib/ext2fs/ext2_err.c:67 -msgid "Block bitmaps are not the same" -msgstr "" - -#: lib/ext2fs/ext2_err.c:68 -msgid "Inode bitmaps are not the same" -msgstr "" - -#: lib/ext2fs/ext2_err.c:69 -msgid "Illegal or malformed device name" -msgstr "" - -#: lib/ext2fs/ext2_err.c:70 -msgid "A block group is missing an inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:71 -msgid "The ext2 superblock is corrupt" -msgstr "" - -#: lib/ext2fs/ext2_err.c:72 -msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:73 -msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:74 -msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:75 -msgid "Too many symbolic links encountered." -msgstr "" - -#: lib/ext2fs/ext2_err.c:76 -msgid "The callback function will not handle this case" -msgstr "" - -#: lib/ext2fs/ext2_err.c:77 -msgid "The inode is from a bad block in the inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:78 -msgid "Filesystem has unsupported feature(s)" -msgstr "" - -#: lib/ext2fs/ext2_err.c:79 -msgid "Filesystem has unsupported read-only feature(s)" -msgstr "" - -#: lib/ext2fs/ext2_err.c:80 -msgid "IO Channel failed to seek on read or write" -msgstr "" - -#: lib/ext2fs/ext2_err.c:81 -msgid "Memory allocation failed" -msgstr "" - -#: lib/ext2fs/ext2_err.c:82 -msgid "Invalid argument passed to ext2 library" -msgstr "" - -#: lib/ext2fs/ext2_err.c:83 -msgid "Could not allocate block in ext2 filesystem" -msgstr "" - -#: lib/ext2fs/ext2_err.c:84 -msgid "Could not allocate inode in ext2 filesystem" -msgstr "" - -#: lib/ext2fs/ext2_err.c:85 -msgid "Ext2 inode is not a directory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:86 -msgid "Too many references in table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:87 -msgid "File not found by ext2_lookup" -msgstr "" - -#: lib/ext2fs/ext2_err.c:88 -msgid "File open read-only" -msgstr "" - -#: lib/ext2fs/ext2_err.c:89 -msgid "Ext2 directory block not found" -msgstr "" - -#: lib/ext2fs/ext2_err.c:90 -msgid "Ext2 directory already exists" -msgstr "" - -#: lib/ext2fs/ext2_err.c:91 -msgid "Unimplemented ext2 library function" -msgstr "" - -#: lib/ext2fs/ext2_err.c:92 -msgid "User cancel requested" -msgstr "" - -#: lib/ext2fs/ext2_err.c:93 -msgid "Ext2 file too big" -msgstr "" - -#: lib/ext2fs/ext2_err.c:94 -msgid "Supplied journal device not a block device" -msgstr "" - -#: lib/ext2fs/ext2_err.c:95 -msgid "Journal superblock not found" -msgstr "" - -#: lib/ext2fs/ext2_err.c:96 -msgid "Journal must be at least 1024 blocks" -msgstr "" - -#: lib/ext2fs/ext2_err.c:97 -msgid "Unsupported journal version" -msgstr "" - -#: lib/ext2fs/ext2_err.c:98 -msgid "Error loading external journal" -msgstr "" - -#: lib/ext2fs/ext2_err.c:99 -msgid "Journal not found" -msgstr "" - -#: lib/ext2fs/ext2_err.c:100 -msgid "Directory hash unsupported" -msgstr "" - -#: lib/ext2fs/ext2_err.c:101 -msgid "Illegal extended attribute block number" -msgstr "" - -#: lib/ext2fs/ext2_err.c:102 -msgid "Cannot create filesystem with requested number of inodes" -msgstr "" - -#: lib/ext2fs/ext2_err.c:103 -msgid "E2image snapshot not in use" -msgstr "" - -#: lib/ext2fs/ext2_err.c:104 -msgid "Too many reserved group descriptor blocks" -msgstr "" - -#: lib/ext2fs/ext2_err.c:105 -msgid "Resize inode is corrupt" -msgstr "" - -#: lib/ext2fs/ext2_err.c:106 -msgid "Tried to set block bmap with missing indirect block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:107 -msgid "TDB: Success" -msgstr "" - -#: lib/ext2fs/ext2_err.c:108 -msgid "TDB: Corrupt database" -msgstr "" - -#: lib/ext2fs/ext2_err.c:109 -msgid "TDB: IO Error" -msgstr "" - -#: lib/ext2fs/ext2_err.c:110 -msgid "TDB: Locking error" -msgstr "" - -#: lib/ext2fs/ext2_err.c:111 -msgid "TDB: Out of memory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:112 -msgid "TDB: Record exists" -msgstr "" - -#: lib/ext2fs/ext2_err.c:113 -msgid "TDB: Lock exists on other keys" -msgstr "" - -#: lib/ext2fs/ext2_err.c:114 -msgid "TDB: Invalid parameter" -msgstr "" - -#: lib/ext2fs/ext2_err.c:115 -msgid "TDB: Record does not exist" -msgstr "" - -#: lib/ext2fs/ext2_err.c:116 -msgid "TDB: Write not permitted" -msgstr "" - -#: lib/ext2fs/ext2_err.c:117 -msgid "Ext2fs directory block list is empty" -msgstr "" - -#: lib/ext2fs/ext2_err.c:118 -msgid "Attempt to modify a block mapping via a read-only block iterator" -msgstr "" - -#: lib/ext2fs/ext2_err.c:119 -msgid "Wrong magic number for ext4 extent saved path" -msgstr "" - -#: lib/ext2fs/ext2_err.c:120 -msgid "Wrong magic number for 64-bit generic bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:121 -msgid "Wrong magic number for 64-bit block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:122 -msgid "Wrong magic number for 64-bit inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:123 -msgid "Wrong magic number --- RESERVED_13" -msgstr "" - -#: lib/ext2fs/ext2_err.c:124 -msgid "Wrong magic number --- RESERVED_14" -msgstr "" - -#: lib/ext2fs/ext2_err.c:125 -msgid "Wrong magic number --- RESERVED_15" -msgstr "" - -#: lib/ext2fs/ext2_err.c:126 -msgid "Wrong magic number --- RESERVED_16" -msgstr "" - -#: lib/ext2fs/ext2_err.c:127 -msgid "Wrong magic number --- RESERVED_17" -msgstr "" - -#: lib/ext2fs/ext2_err.c:128 -msgid "Wrong magic number --- RESERVED_18" -msgstr "" - -#: lib/ext2fs/ext2_err.c:129 -msgid "Wrong magic number --- RESERVED_19" -msgstr "" - -#: lib/ext2fs/ext2_err.c:130 -msgid "Corrupt extent header" -msgstr "" - -#: lib/ext2fs/ext2_err.c:131 -msgid "Corrupt extent index" -msgstr "" - -#: lib/ext2fs/ext2_err.c:132 -msgid "Corrupt extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:133 -msgid "No free space in extent map" -msgstr "" - -#: lib/ext2fs/ext2_err.c:134 -msgid "Inode does not use extents" -msgstr "" - -#: lib/ext2fs/ext2_err.c:135 -msgid "No 'next' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:136 -msgid "No 'previous' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:137 -msgid "No 'up' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:138 -msgid "No 'down' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:139 -msgid "No current node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:140 -msgid "Ext2fs operation not supported" -msgstr "" - -#: lib/ext2fs/ext2_err.c:141 -msgid "No room to insert extent in node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:142 -msgid "Splitting would result in empty node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:143 -msgid "Extent not found" -msgstr "" - -#: lib/ext2fs/ext2_err.c:144 -msgid "Operation not supported for inodes containing extents" -msgstr "" - -#: lib/ext2fs/ext2_err.c:145 -msgid "Extent length is invalid" -msgstr "" - -#: lib/ext2fs/ext2_err.c:146 -msgid "I/O Channel does not support 64-bit block numbers" -msgstr "" - -#: lib/ext2fs/ext2_err.c:147 -msgid "Can't check if filesystem is mounted due to missing mtab file" -msgstr "" - -#: lib/ext2fs/ext2_err.c:148 -msgid "Filesystem too large to use legacy bitmaps" -msgstr "" - -#: lib/ext2fs/ext2_err.c:149 -msgid "MMP: invalid magic number" -msgstr "" - -#: lib/ext2fs/ext2_err.c:150 -msgid "MMP: device currently active" -msgstr "" - -#: lib/ext2fs/ext2_err.c:151 -msgid "MMP: fsck being run" -msgstr "" - -#: lib/ext2fs/ext2_err.c:152 -msgid "MMP: block number beyond filesystem range" -msgstr "" - -#: lib/ext2fs/ext2_err.c:153 -msgid "MMP: undergoing an unknown operation" -msgstr "" - -#: lib/ext2fs/ext2_err.c:154 -msgid "MMP: filesystem still in use" -msgstr "" - -#: lib/ext2fs/ext2_err.c:155 -msgid "MMP: open with O_DIRECT failed" -msgstr "" - -#: lib/ext2fs/ext2_err.c:156 -msgid "Block group descriptor size incorrect" -msgstr "" - -#: lib/ext2fs/ext2_err.c:157 -msgid "Inode checksum does not match inode" -msgstr "" - -#: lib/ext2fs/ext2_err.c:158 -msgid "Inode bitmap checksum does not match bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:159 -msgid "Extent block checksum does not match extent block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:160 -msgid "Directory block does not have space for checksum" -msgstr "" - -#: lib/ext2fs/ext2_err.c:161 -msgid "Directory block checksum does not match directory block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:162 -msgid "Extended attribute block checksum does not match block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:163 -msgid "Superblock checksum does not match superblock" -msgstr "" - -#: lib/ext2fs/ext2_err.c:164 -msgid "Unknown checksum algorithm" -msgstr "" - -#: lib/ext2fs/ext2_err.c:165 -msgid "MMP block checksum does not match MMP block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:166 -msgid "Ext2 file already exists" -msgstr "" - -#: e2fsck/prof_err.c:11 -msgid "Profile version 0.0" -msgstr "" - -#: e2fsck/prof_err.c:12 -msgid "Bad magic value in profile_node" -msgstr "" - -#: e2fsck/prof_err.c:13 -msgid "Profile section not found" -msgstr "" - -#: e2fsck/prof_err.c:14 -msgid "Profile relation not found" -msgstr "" - -#: e2fsck/prof_err.c:15 -msgid "Attempt to add a relation to node which is not a section" -msgstr "" - -#: e2fsck/prof_err.c:16 -msgid "A profile section header has a non-zero value" -msgstr "" - -#: e2fsck/prof_err.c:17 -msgid "Bad linked list in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:18 -msgid "Bad group level in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:19 -msgid "Bad parent pointer in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:20 -msgid "Bad magic value in profile iterator" -msgstr "" - -#: e2fsck/prof_err.c:21 -msgid "Can't set value on section node" -msgstr "" - -#: e2fsck/prof_err.c:22 -msgid "Invalid argument passed to profile library" -msgstr "" - -#: e2fsck/prof_err.c:23 -msgid "Attempt to modify read-only profile" -msgstr "" - -#: e2fsck/prof_err.c:24 -msgid "Profile section header not at top level" -msgstr "" - -#: e2fsck/prof_err.c:25 -msgid "Syntax error in profile section header" -msgstr "" - -#: e2fsck/prof_err.c:26 -msgid "Syntax error in profile relation" -msgstr "" - -#: e2fsck/prof_err.c:27 -msgid "Extra closing brace in profile" -msgstr "" - -#: e2fsck/prof_err.c:28 -msgid "Missing open brace in profile" -msgstr "" - -#: e2fsck/prof_err.c:29 -msgid "Bad magic value in profile_t" -msgstr "" - -#: e2fsck/prof_err.c:30 -msgid "Bad magic value in profile_section_t" -msgstr "" - -#: e2fsck/prof_err.c:31 -msgid "Iteration through all top level section not supported" -msgstr "" - -#: e2fsck/prof_err.c:32 -msgid "Invalid profile_section object" -msgstr "" - -#: e2fsck/prof_err.c:33 -msgid "No more sections" -msgstr "" - -#: e2fsck/prof_err.c:34 -msgid "Bad nameset passed to query routine" -msgstr "" - -#: e2fsck/prof_err.c:35 -msgid "No profile file open" -msgstr "" - -#: e2fsck/prof_err.c:36 -msgid "Bad magic value in profile_file_t" -msgstr "" - -#: e2fsck/prof_err.c:37 -msgid "Couldn't open profile file" -msgstr "" - -#: e2fsck/prof_err.c:38 -msgid "Section already exists" -msgstr "" - -#: e2fsck/prof_err.c:39 -msgid "Invalid boolean value" -msgstr "" - -#: e2fsck/prof_err.c:40 -msgid "Invalid integer value" -msgstr "" - -#: e2fsck/prof_err.c:41 -msgid "Bad magic value in profile_file_data_t" -msgstr "" diff --git a/po/es.gmo b/po/es.gmo index 4787c65e..0b9c4d4c 100644 Binary files a/po/es.gmo and b/po/es.gmo differ diff --git a/po/es.po b/po/es.po index bb43ba7f..70c7105a 100644 --- a/po/es.po +++ b/po/es.po @@ -68,11 +68,10 @@ msgid "" msgstr "" "Project-Id-Version: e2fsprogs-1.40.8\n" "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n" -"POT-Creation-Date: 2012-06-12 14:40-0400\n" +"POT-Creation-Date: 2009-01-26 20:41-0500\n" "PO-Revision-Date: 2008-06-01 23:56+0200\n" "Last-Translator: Benno Schulenberg \n" "Language-Team: Spanish \n" -"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -85,7 +84,7 @@ msgstr "" # ¿Qué tal "se descarta"? Me gustaría saber si hay algún glosario de # frases para traducir programas GNU, son cosas que deberían ser # estándar. mm -#: e2fsck/badblocks.c:23 misc/mke2fs.c:176 +#: e2fsck/badblocks.c:22 misc/mke2fs.c:165 #, c-format msgid "Bad block %u out of range; ignored.\n" msgstr "El bloque dañado %u está fuera del intervalo; se descarta.\n" @@ -93,7 +92,7 @@ msgstr "El bloque dañado %u está fuera del intervalo; se descarta.\n" # En el K&R se habla de nodo-i. ¿Cuáles son las razones a favor y en contra # de "nodo i" sobre "nodo-i"? sv # El plural. Pero está bien, adopto la convención K&R. mm -#: e2fsck/badblocks.c:46 +#: e2fsck/badblocks.c:45 msgid "while sanity checking the bad blocks inode" msgstr "mientras se revisaba la salud del nodo-i de bloques dañados" @@ -101,139 +100,139 @@ msgstr "mientras se revisaba la salud del nodo-i de bloques dañados" # formato ext2, pero creo que es muy posible que haya un nodo-i especial # cuya tarea sea precisamente la de recordar cuáles son los bloques # dañados. Investigarlo en caso de duda. sv -#: e2fsck/badblocks.c:58 +#: e2fsck/badblocks.c:57 msgid "while reading the bad blocks inode" msgstr "mientras se leía el nodo-i de bloques dañados" -#: e2fsck/badblocks.c:72 e2fsck/iscan.c:110 e2fsck/scantest.c:107 -#: e2fsck/unix.c:1298 e2fsck/unix.c:1386 misc/badblocks.c:1214 -#: misc/badblocks.c:1222 misc/badblocks.c:1236 misc/badblocks.c:1248 -#: misc/dumpe2fs.c:588 misc/e2image.c:1189 misc/e2image.c:1307 -#: misc/e2image.c:1320 misc/mke2fs.c:192 misc/tune2fs.c:1907 resize/main.c:303 +#: e2fsck/badblocks.c:71 e2fsck/iscan.c:112 e2fsck/scantest.c:109 +#: e2fsck/unix.c:1037 e2fsck/unix.c:1120 misc/badblocks.c:1148 +#: misc/badblocks.c:1156 misc/badblocks.c:1170 misc/badblocks.c:1182 +#: misc/dumpe2fs.c:505 misc/e2image.c:576 misc/e2image.c:672 +#: misc/e2image.c:688 misc/mke2fs.c:181 misc/tune2fs.c:1515 resize/main.c:309 #, c-format msgid "while trying to open %s" msgstr "mientras se intentaba abrir %s" -#: e2fsck/badblocks.c:83 +#: e2fsck/badblocks.c:82 #, c-format msgid "while trying popen '%s'" msgstr "mientras se intentaba abrir una tubería a '%s'" -#: e2fsck/badblocks.c:94 misc/mke2fs.c:199 +#: e2fsck/badblocks.c:93 misc/mke2fs.c:188 msgid "while reading in list of bad blocks from file" msgstr "mientras se leía una lista de bloques dañados desde un fichero" -#: e2fsck/badblocks.c:105 +#: e2fsck/badblocks.c:104 msgid "while updating bad block inode" msgstr "mientras se actualizaba el nodo-i de bloques dañados" # Solemos traducir Warning por Atención. sv # Ok, uniformizo. mm -#: e2fsck/badblocks.c:131 +#: e2fsck/badblocks.c:130 #, c-format msgid "Warning: illegal block %u found in bad block inode. Cleared.\n" msgstr "" "Atención: se encontró un bloque ilegal %u en el nodo-i de bloques dañados. " "Limpiado.\n" -#: e2fsck/ehandler.c:55 +#: e2fsck/ehandler.c:54 #, c-format msgid "Error reading block %lu (%s) while %s. " msgstr "Error al leer el bloque %lu (%s) mientras %s. " -#: e2fsck/ehandler.c:58 +#: e2fsck/ehandler.c:57 #, c-format msgid "Error reading block %lu (%s). " msgstr "Error al leer el bloque %lu (%s). " -#: e2fsck/ehandler.c:61 e2fsck/ehandler.c:110 +#: e2fsck/ehandler.c:60 e2fsck/ehandler.c:109 msgid "Ignore error" msgstr "Se descarta el error" -#: e2fsck/ehandler.c:62 +#: e2fsck/ehandler.c:61 msgid "Force rewrite" msgstr "Se fuerza la reescritura" -#: e2fsck/ehandler.c:104 +#: e2fsck/ehandler.c:103 #, c-format msgid "Error writing block %lu (%s) while %s. " msgstr "Error al escribir el bloque %lu (%s) mientras %s. " -#: e2fsck/ehandler.c:107 +#: e2fsck/ehandler.c:106 #, c-format msgid "Error writing block %lu (%s). " msgstr "Error al escribir el bloque %lu (%s). " -#: e2fsck/emptydir.c:57 +#: e2fsck/emptydir.c:56 msgid "empty dirblocks" msgstr "bloques de directorio vacíos" -#: e2fsck/emptydir.c:62 +#: e2fsck/emptydir.c:61 msgid "empty dir map" msgstr "mapa de directorios vacío" -#: e2fsck/emptydir.c:98 +#: e2fsck/emptydir.c:97 #, c-format msgid "Empty directory block %u (#%d) in inode %u\n" msgstr "El bloque del directorio %u (#%d) está vacío en el nodo-i %u\n" -#: e2fsck/extend.c:22 +#: e2fsck/extend.c:21 #, c-format msgid "%s: %s filename nblocks blocksize\n" msgstr "%s: %s fichero númerodebloques tamañodelbloque\n" -#: e2fsck/extend.c:44 +#: e2fsck/extend.c:43 #, c-format msgid "Illegal number of blocks!\n" msgstr "¡Número inválido de bloques!\n" -#: e2fsck/extend.c:50 +#: e2fsck/extend.c:49 #, c-format msgid "Couldn't allocate block buffer (size=%d)\n" msgstr "No se puede reservar el bloque del búfer (tamaño=%d)\n" -#: e2fsck/flushb.c:35 +#: e2fsck/flushb.c:34 #, c-format msgid "Usage: %s disk\n" msgstr "Modo de empleo: %s disco\n" -#: e2fsck/flushb.c:64 +#: e2fsck/flushb.c:63 #, c-format msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n" msgstr "" "¡No está implementado el control de entrada/salida del BLKFLSBUF! No se " "pueden vaciar los búfers.\n" -#: e2fsck/iscan.c:44 +#: e2fsck/iscan.c:46 #, c-format msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n" msgstr "" "Modo de empleo: %s [-F] [-I bloques_del_búfer_del_nodo_i] dispositivo\n" -#: e2fsck/iscan.c:81 e2fsck/unix.c:930 +#: e2fsck/iscan.c:83 e2fsck/unix.c:818 #, c-format msgid "while opening %s for flushing" msgstr "mientras se abría %s para su vaciado" -#: e2fsck/iscan.c:86 e2fsck/unix.c:936 resize/main.c:276 +#: e2fsck/iscan.c:88 e2fsck/unix.c:824 resize/main.c:285 #, c-format msgid "while trying to flush %s" msgstr "mientras se intentaba vaciar %s" -#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1084 +#: e2fsck/iscan.c:121 e2fsck/scantest.c:116 misc/e2image.c:482 msgid "while opening inode scan" msgstr "mientras se iniciaba la exploración de los nodos-i" -#: e2fsck/iscan.c:127 misc/e2image.c:1102 +#: e2fsck/iscan.c:129 misc/e2image.c:500 msgid "while getting next inode" msgstr "mientras se obtenía el nodo-i siguiente" -#: e2fsck/iscan.c:136 +#: e2fsck/iscan.c:138 #, c-format msgid "%u inodes scanned.\n" msgstr "%u nodos-i explorados.\n" -#: e2fsck/journal.c:512 +#: e2fsck/journal.c:507 msgid "reading journal superblock\n" msgstr "leyendo el superbloque del fichero de transacciones\n" @@ -242,392 +241,368 @@ msgstr "leyendo el superbloque del fichero de transacciones\n" # que es distinto (a lo mejor no se ha encontrado ningún superbloque # en absoluto). Creo que la traducción debería cambiarse. sv # En efecto, tienes toda la razón. Corregido. mm -#: e2fsck/journal.c:569 +#: e2fsck/journal.c:564 #, c-format msgid "%s: no valid journal superblock found\n" msgstr "" "%s: no se encontró un superbloque válido en el fichero de transacciones\n" -#: e2fsck/journal.c:578 +#: e2fsck/journal.c:573 #, c-format msgid "%s: journal too short\n" msgstr "%s: el fichero de transacciones es demasiado corto\n" -#: e2fsck/journal.c:870 +#: e2fsck/journal.c:858 #, c-format msgid "%s: recovering journal\n" msgstr "%s: recuperando el fichero de transacciones\n" -#: e2fsck/journal.c:872 +#: e2fsck/journal.c:860 #, c-format msgid "%s: won't do journal recovery while read-only\n" msgstr "" "%s: no se puede hacer la recuperación del fichero de transacciones en modo " "de sólo lectura\n" -#: e2fsck/journal.c:899 +#: e2fsck/journal.c:881 #, c-format msgid "while trying to re-open %s" msgstr "mientras se intentaba reabrir %s" -#: e2fsck/message.c:113 +#: e2fsck/message.c:110 msgid "aextended attribute" msgstr "aatributo extendido" -#: e2fsck/message.c:114 +#: e2fsck/message.c:111 msgid "Aerror allocating" msgstr "Aerror en la reserva" -#: e2fsck/message.c:115 +#: e2fsck/message.c:112 msgid "bblock" msgstr "bbloque" -#: e2fsck/message.c:116 +#: e2fsck/message.c:113 msgid "Bbitmap" msgstr "Bmapa de bits" -#: e2fsck/message.c:117 +#: e2fsck/message.c:114 msgid "ccompress" msgstr "ccompresión" -#: e2fsck/message.c:118 +#: e2fsck/message.c:115 msgid "Cconflicts with some other fs @b" msgstr "CEntra en conflicto con algún otro sistema de ficheros @b" -#: e2fsck/message.c:119 +#: e2fsck/message.c:116 msgid "iinode" msgstr "inodo-i" -#: e2fsck/message.c:120 +#: e2fsck/message.c:117 msgid "Iillegal" msgstr "Iilegal" -#: e2fsck/message.c:121 +#: e2fsck/message.c:118 msgid "jjournal" msgstr "jfichero de transacciones" -#: e2fsck/message.c:122 +#: e2fsck/message.c:119 msgid "Ddeleted" msgstr "Dborrado" -#: e2fsck/message.c:123 +#: e2fsck/message.c:120 msgid "ddirectory" msgstr "ddirectorio" -#: e2fsck/message.c:124 +#: e2fsck/message.c:121 msgid "eentry" msgstr "eentrada" -#: e2fsck/message.c:125 +#: e2fsck/message.c:122 msgid "E@e '%Dn' in %p (%i)" msgstr "ELa @e '%Dn' que está en %p (%i)" -#: e2fsck/message.c:126 +#: e2fsck/message.c:123 msgid "ffilesystem" msgstr "fsistema de ficheros" -#: e2fsck/message.c:127 +#: e2fsck/message.c:124 msgid "Ffor @i %i (%Q) is" msgstr "Fpara el @i %i (%Q) es" -#: e2fsck/message.c:128 +#: e2fsck/message.c:125 msgid "ggroup" msgstr "ggrupo" -#: e2fsck/message.c:129 +#: e2fsck/message.c:126 msgid "hHTREE @d @i" msgstr "hEl ÃRBOL-H del @i del @d" -#: e2fsck/message.c:130 +#: e2fsck/message.c:127 msgid "llost+found" msgstr "llost+found" -#: e2fsck/message.c:131 +#: e2fsck/message.c:128 msgid "Lis a link" msgstr "Les un enlace" -#: e2fsck/message.c:132 +#: e2fsck/message.c:129 msgid "mmultiply-claimed" msgstr "mreclamado en múltiples ocasiones" -#: e2fsck/message.c:133 +#: e2fsck/message.c:130 msgid "ninvalid" msgstr "ninválido" -#: e2fsck/message.c:134 +#: e2fsck/message.c:131 msgid "oorphaned" msgstr "ohuérfano" -#: e2fsck/message.c:135 +#: e2fsck/message.c:132 msgid "pproblem in" msgstr "pproblema en" -#: e2fsck/message.c:136 -msgid "qquota" -msgstr "" - -#: e2fsck/message.c:137 +#: e2fsck/message.c:133 msgid "rroot @i" msgstr "r@i raíz" -#: e2fsck/message.c:138 +#: e2fsck/message.c:134 msgid "sshould be" msgstr "sdebería ser" -#: e2fsck/message.c:139 +#: e2fsck/message.c:135 msgid "Ssuper@b" msgstr "Ssuper@b" -#: e2fsck/message.c:140 +#: e2fsck/message.c:136 msgid "uunattached" msgstr "udesacoplado" -#: e2fsck/message.c:141 +#: e2fsck/message.c:137 msgid "vdevice" msgstr "vdispositivo" -#: e2fsck/message.c:142 +#: e2fsck/message.c:138 #, fuzzy msgid "xextent" msgstr "eentrada" -#: e2fsck/message.c:143 +#: e2fsck/message.c:139 msgid "zzero-length" msgstr "zlongitud cero" -#: e2fsck/message.c:154 +#: e2fsck/message.c:150 msgid "" msgstr "" -#: e2fsck/message.c:155 +#: e2fsck/message.c:151 msgid "" msgstr "" -#: e2fsck/message.c:157 -#, fuzzy -msgid "" -msgstr "" +#: e2fsck/message.c:153 +msgid "" +msgstr "" -#: e2fsck/message.c:158 -#, fuzzy -msgid "" -msgstr "" +#: e2fsck/message.c:154 +msgid "" +msgstr "" -#: e2fsck/message.c:159 +#: e2fsck/message.c:155 msgid "" msgstr "" -#: e2fsck/message.c:160 +#: e2fsck/message.c:156 msgid "" msgstr "" -#: e2fsck/message.c:161 +#: e2fsck/message.c:157 msgid "" msgstr "" -#: e2fsck/message.c:162 +#: e2fsck/message.c:158 msgid "" msgstr "" -#: e2fsck/message.c:163 +#: e2fsck/message.c:159 msgid "" msgstr "" -#: e2fsck/message.c:164 +#: e2fsck/message.c:160 msgid "" msgstr "" -#: e2fsck/message.c:333 +#: e2fsck/message.c:323 +#, c-format msgid "regular file" msgstr "fichero regular" -#: e2fsck/message.c:335 +#: e2fsck/message.c:325 +#, c-format msgid "directory" msgstr "directorio" -#: e2fsck/message.c:337 +#: e2fsck/message.c:327 +#, c-format msgid "character device" msgstr "dispositivo de caracteres" -#: e2fsck/message.c:339 +#: e2fsck/message.c:329 +#, c-format msgid "block device" msgstr "dispositivo de bloque" -#: e2fsck/message.c:341 +#: e2fsck/message.c:331 +#, c-format msgid "named pipe" msgstr "tubería designada" -#: e2fsck/message.c:343 +#: e2fsck/message.c:333 +#, c-format msgid "symbolic link" msgstr "enlace simbólico" -#: e2fsck/message.c:345 misc/uuidd.c:161 +#: e2fsck/message.c:335 +#, c-format msgid "socket" msgstr "zócalo" -#: e2fsck/message.c:347 +#: e2fsck/message.c:337 #, c-format msgid "unknown file type with mode 0%o" msgstr "tipo de fichero desconocido con modo 0%o" -#: e2fsck/message.c:423 -#, fuzzy -msgid "indirect block" -msgstr "leyendo bloque de directorio" - -#: e2fsck/message.c:425 -#, fuzzy -msgid "double indirect block" -msgstr "leyendo bloque de directorio" - -#: e2fsck/message.c:427 -#, fuzzy -msgid "triple indirect block" -msgstr "leyendo bloque de directorio" - -#: e2fsck/message.c:429 -#, fuzzy -msgid "translator block" -msgstr "Reubicando bloques" - -#: e2fsck/message.c:431 -#, fuzzy -msgid "block #" -msgstr "bbloque" - -#: e2fsck/pass1b.c:222 +#: e2fsck/pass1b.c:215 msgid "multiply claimed inode map" msgstr "mapa de nodos-i reclamados en múltiples ocasiones" -#: e2fsck/pass1b.c:610 e2fsck/pass1b.c:729 +#: e2fsck/pass1b.c:567 e2fsck/pass1b.c:700 #, fuzzy, c-format -msgid "internal error: can't find dup_blk for %llu\n" +msgid "internal error: can't find dup_blk for %u\n" msgstr "error interno: no se encontró el dup_blk para %u\n" -#: e2fsck/pass1b.c:820 +#: e2fsck/pass1b.c:743 msgid "returned from clone_file_block" msgstr "regresado del clone_file_block" -#: e2fsck/pass1b.c:842 +#: e2fsck/pass1b.c:762 #, fuzzy, c-format -msgid "internal error: couldn't lookup EA block record for %llu" +msgid "internal error: couldn't lookup EA block record for %u" msgstr "Error interno: no se puede encontrar el dir_info para %i.\n" -#: e2fsck/pass1b.c:854 +#: e2fsck/pass1b.c:774 #, fuzzy, c-format msgid "internal error: couldn't lookup EA inode record for %u" msgstr "Error interno: no se puede encontrar el dir_info para %i.\n" -#: e2fsck/pass1.c:476 e2fsck/pass2.c:782 +#: e2fsck/pass1.c:430 e2fsck/pass2.c:780 msgid "reading directory block" msgstr "leyendo bloque de directorio" -#: e2fsck/pass1.c:599 +#: e2fsck/pass1.c:552 msgid "in-use inode map" msgstr "mapa de nodos-i usados" -#: e2fsck/pass1.c:610 +#: e2fsck/pass1.c:561 msgid "directory inode map" msgstr "mapa de nodos-i de directorio" -#: e2fsck/pass1.c:620 +#: e2fsck/pass1.c:569 msgid "regular file inode map" msgstr "mapa de nodos-i de ficheros normales" -#: e2fsck/pass1.c:629 +#: e2fsck/pass1.c:576 msgid "in-use block map" msgstr "mapa de bloques usados" -#: e2fsck/pass1.c:696 +#: e2fsck/pass1.c:630 msgid "opening inode scan" msgstr "iniciando la exploración de los nodos-i" -#: e2fsck/pass1.c:730 +#: e2fsck/pass1.c:654 msgid "getting next inode from scan" msgstr "obteniendo el siguiente nodo-i para examinar" -#: e2fsck/pass1.c:1240 +#: e2fsck/pass1.c:1122 msgid "Pass 1" msgstr "Paso 1" -#: e2fsck/pass1.c:1297 +#: e2fsck/pass1.c:1181 #, c-format msgid "reading indirect blocks of inode %u" msgstr "leyendo bloques indirectos del nodo-i %u" -#: e2fsck/pass1.c:1347 +#: e2fsck/pass1.c:1225 msgid "bad inode map" msgstr "mapa de nodos-i dañados" -#: e2fsck/pass1.c:1370 +#: e2fsck/pass1.c:1247 msgid "inode in bad block map" msgstr "el nodo-i está en el mapa de bloques dañados" -#: e2fsck/pass1.c:1390 +#: e2fsck/pass1.c:1267 msgid "imagic inode map" msgstr "mapa de nodos-i con 'imagic'" -#: e2fsck/pass1.c:1417 +#: e2fsck/pass1.c:1294 msgid "multiply claimed block map" msgstr "mapa de bloques reclamados en múltiples ocasiones" -#: e2fsck/pass1.c:1518 +#: e2fsck/pass1.c:1393 msgid "ext attr block map" msgstr "mapa de bloques de atributos extendidos" -#: e2fsck/pass1.c:2266 +#: e2fsck/pass1.c:2134 #, c-format msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n" msgstr "" -#: e2fsck/pass1.c:2627 +#: e2fsck/pass1.c:2449 msgid "block bitmap" msgstr "mapa de bits de bloques" -#: e2fsck/pass1.c:2633 +#: e2fsck/pass1.c:2453 msgid "inode bitmap" msgstr "mapa de bits de nodos-i" -#: e2fsck/pass1.c:2639 +#: e2fsck/pass1.c:2457 msgid "inode table" msgstr "tabla de nodos-i" -#: e2fsck/pass2.c:283 +#: e2fsck/pass2.c:284 msgid "Pass 2" msgstr "Paso 2" -#: e2fsck/pass2.c:805 +#: e2fsck/pass2.c:803 #, fuzzy msgid "Can not continue." msgstr "" "No se puede continuar, se finaliza.\n" "\n" -#: e2fsck/pass3.c:77 +#: e2fsck/pass3.c:79 msgid "inode done bitmap" msgstr "mapa de bits de nodos-i pasados" -#: e2fsck/pass3.c:86 +#: e2fsck/pass3.c:90 msgid "Peak memory" msgstr "Memoria pico" -#: e2fsck/pass3.c:136 +#: e2fsck/pass3.c:146 msgid "Pass 3" msgstr "Paso 3" -#: e2fsck/pass3.c:322 +#: e2fsck/pass3.c:334 msgid "inode loop detection bitmap" msgstr "mapa de bits de detección de ciclos de nodos-i" -#: e2fsck/pass4.c:195 +#: e2fsck/pass4.c:196 msgid "Pass 4" msgstr "Paso 4" -#: e2fsck/pass5.c:74 +#: e2fsck/pass5.c:70 msgid "Pass 5" msgstr "Paso 5" -#: e2fsck/problem.c:51 +#: e2fsck/problem.c:50 msgid "(no prompt)" msgstr "(no hay cursor)" @@ -635,179 +610,179 @@ msgstr "(no hay cursor)" # mejor en forma impersonal. Fíjate que todos los demás verbos que siguen # están en infinitivo. # Cierto. mm -#: e2fsck/problem.c:52 +#: e2fsck/problem.c:51 msgid "Fix" msgstr "Arreglar" -#: e2fsck/problem.c:53 +#: e2fsck/problem.c:52 msgid "Clear" msgstr "Borrar" -#: e2fsck/problem.c:54 +#: e2fsck/problem.c:53 msgid "Relocate" msgstr "Reubicar" -#: e2fsck/problem.c:55 +#: e2fsck/problem.c:54 msgid "Allocate" msgstr "Reservar" -#: e2fsck/problem.c:56 +#: e2fsck/problem.c:55 msgid "Expand" msgstr "Expandir" -#: e2fsck/problem.c:57 +#: e2fsck/problem.c:56 msgid "Connect to /lost+found" msgstr "Conectar a /lost+found" -#: e2fsck/problem.c:58 +#: e2fsck/problem.c:57 msgid "Create" msgstr "Crear" -#: e2fsck/problem.c:59 +#: e2fsck/problem.c:58 msgid "Salvage" msgstr "Recuperar" -#: e2fsck/problem.c:60 +#: e2fsck/problem.c:59 msgid "Truncate" msgstr "Truncar" -#: e2fsck/problem.c:61 +#: e2fsck/problem.c:60 msgid "Clear inode" msgstr "Borrar nodo-i" -#: e2fsck/problem.c:62 +#: e2fsck/problem.c:61 msgid "Abort" msgstr "Interrumpir" -#: e2fsck/problem.c:63 +#: e2fsck/problem.c:62 msgid "Split" msgstr "Dividir" -#: e2fsck/problem.c:64 +#: e2fsck/problem.c:63 msgid "Continue" msgstr "Continuar" -#: e2fsck/problem.c:65 +#: e2fsck/problem.c:64 msgid "Clone multiply-claimed blocks" msgstr "Clonar los bloques reclamados en múltiples ocasiones" -#: e2fsck/problem.c:66 +#: e2fsck/problem.c:65 msgid "Delete file" msgstr "Borrar fichero" -#: e2fsck/problem.c:67 +#: e2fsck/problem.c:66 msgid "Suppress messages" msgstr "Eliminar mensajes" -#: e2fsck/problem.c:68 +#: e2fsck/problem.c:67 msgid "Unlink" msgstr "Desvincular" -#: e2fsck/problem.c:69 +#: e2fsck/problem.c:68 msgid "Clear HTree index" msgstr "Borrar el índice del árbol-H" -#: e2fsck/problem.c:70 +#: e2fsck/problem.c:69 msgid "Recreate" msgstr "Recrear" -#: e2fsck/problem.c:79 +#: e2fsck/problem.c:78 msgid "(NONE)" msgstr "(NINGUNO)" -#: e2fsck/problem.c:80 +#: e2fsck/problem.c:79 msgid "FIXED" msgstr "ARREGLADO" -#: e2fsck/problem.c:81 +#: e2fsck/problem.c:80 msgid "CLEARED" msgstr "BORRADO" -#: e2fsck/problem.c:82 +#: e2fsck/problem.c:81 msgid "RELOCATED" msgstr "REUBICADO" -#: e2fsck/problem.c:83 +#: e2fsck/problem.c:82 msgid "ALLOCATED" msgstr "RESERVADO" -#: e2fsck/problem.c:84 +#: e2fsck/problem.c:83 msgid "EXPANDED" msgstr "EXPANDIDO" -#: e2fsck/problem.c:85 +#: e2fsck/problem.c:84 msgid "RECONNECTED" msgstr "RECONECTADO" -#: e2fsck/problem.c:86 +#: e2fsck/problem.c:85 msgid "CREATED" msgstr "CREADO" -#: e2fsck/problem.c:87 +#: e2fsck/problem.c:86 msgid "SALVAGED" msgstr "RECUPERADO" -#: e2fsck/problem.c:88 +#: e2fsck/problem.c:87 msgid "TRUNCATED" msgstr "TRUNCADO" -#: e2fsck/problem.c:89 +#: e2fsck/problem.c:88 msgid "INODE CLEARED" msgstr "NODO-I BORRADO" -#: e2fsck/problem.c:90 +#: e2fsck/problem.c:89 msgid "ABORTED" msgstr "INTERRUMPIDO" -#: e2fsck/problem.c:91 +#: e2fsck/problem.c:90 msgid "SPLIT" msgstr "DIVIDIDO" -#: e2fsck/problem.c:92 +#: e2fsck/problem.c:91 msgid "CONTINUING" msgstr "CONTINUANDO" -#: e2fsck/problem.c:93 +#: e2fsck/problem.c:92 msgid "MULTIPLY-CLAIMED BLOCKS CLONED" msgstr "SE CLONARON LOS BLOQUES RECLAMADOS EN MÚLTIPLES OCASIONES" -#: e2fsck/problem.c:94 +#: e2fsck/problem.c:93 msgid "FILE DELETED" msgstr "FICHERO BORRADO" -#: e2fsck/problem.c:95 +#: e2fsck/problem.c:94 msgid "SUPPRESSED" msgstr "SUPRIMIDO" -#: e2fsck/problem.c:96 +#: e2fsck/problem.c:95 msgid "UNLINKED" msgstr "DESVINCULADO" -#: e2fsck/problem.c:97 +#: e2fsck/problem.c:96 msgid "HTREE INDEX CLEARED" msgstr "SE BORRÓ EL ÃNDICE DEL ÃRBOL-H" -#: e2fsck/problem.c:98 +#: e2fsck/problem.c:97 msgid "WILL RECREATE" msgstr "SE RECREARÃ" #. @-expanded: block bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:107 +#: e2fsck/problem.c:106 msgid "@b @B for @g %g is not in @g. (@b %b)\n" msgstr "" -"El mapa de bits de bloques para el grupo %g no está en el grupo. (bloque " -"%b)\n" +"El mapa de bits de bloques para el grupo %g no está en el grupo. (bloque %" +"b)\n" #. @-expanded: inode bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:111 +#: e2fsck/problem.c:110 msgid "@i @B for @g %g is not in @g. (@b %b)\n" msgstr "" -"El mapa de bits de nodos-i para el grupo %g no está en el grupo. (bloque " -"%b)\n" +"El mapa de bits de nodos-i para el grupo %g no está en el grupo. (bloque %" +"b)\n" #. @-expanded: inode table for group %g is not in group. (block %b)\n #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n -#: e2fsck/problem.c:116 +#: e2fsck/problem.c:115 msgid "" "@i table for @g %g is not in @g. (@b %b)\n" "WARNING: SEVERE DATA LOSS POSSIBLE.\n" @@ -822,7 +797,7 @@ msgstr "" #. @-expanded: is corrupt, and you might try running e2fsck with an alternate superblock:\n #. @-expanded: e2fsck -b %S \n #. @-expanded: \n -#: e2fsck/problem.c:122 +#: e2fsck/problem.c:121 #, c-format msgid "" "\n" @@ -844,7 +819,7 @@ msgstr "" #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n #. @-expanded: The physical size of the device is %c blocks\n #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n -#: e2fsck/problem.c:131 +#: e2fsck/problem.c:130 msgid "" "The @f size (according to the @S) is %b @bs\n" "The physical size of the @v is %c @bs\n" @@ -857,7 +832,7 @@ msgstr "" #. @-expanded: superblock block_size = %b, fragsize = %c.\n #. @-expanded: This version of e2fsck does not support fragment sizes different\n #. @-expanded: from the block size.\n -#: e2fsck/problem.c:138 +#: e2fsck/problem.c:137 msgid "" "@S @b_size = %b, fragsize = %c.\n" "This version of e2fsck does not support fragment sizes different\n" @@ -868,24 +843,24 @@ msgstr "" "tamaños de fragmento distintos al del @b.\n" #. @-expanded: superblock blocks_per_group = %b, should have been %c\n -#: e2fsck/problem.c:145 +#: e2fsck/problem.c:144 msgid "@S @bs_per_group = %b, should have been %c\n" msgstr "El @bs_per_group del @S = %b y debería haber sido %c\n" #. @-expanded: superblock first_data_block = %b, should have been %c\n -#: e2fsck/problem.c:150 +#: e2fsck/problem.c:149 msgid "@S first_data_@b = %b, should have been %c\n" msgstr "El first_data_@b del @S = %b y debería haber sido %c\n" #. @-expanded: filesystem did not have a UUID; generating one.\n #. @-expanded: \n -#: e2fsck/problem.c:155 +#: e2fsck/problem.c:154 msgid "" "@f did not have a UUID; generating one.\n" "\n" msgstr "El @f no tiene un UUID; se generará uno.\n" -#: e2fsck/problem.c:160 +#: e2fsck/problem.c:159 #, c-format msgid "" "Note: if several inode or block bitmap blocks or part\n" @@ -904,48 +879,48 @@ msgstr "" "\n" #. @-expanded: Corruption found in superblock. (%s = %N).\n -#: e2fsck/problem.c:169 +#: e2fsck/problem.c:168 msgid "Corruption found in @S. (%s = %N).\n" msgstr "El @S está corrupto. (%s = %N).\n" #. @-expanded: Error determining size of the physical device: %m\n -#: e2fsck/problem.c:174 +#: e2fsck/problem.c:173 #, c-format msgid "Error determining size of the physical @v: %m\n" msgstr "Error al determinar el tamaño del @v físico: %m\n" #. @-expanded: inode count in superblock is %i, should be %j.\n -#: e2fsck/problem.c:179 +#: e2fsck/problem.c:178 msgid "@i count in @S is %i, @s %j.\n" msgstr "La cuenta @i en el @S es %i, @s %j.\n" -#: e2fsck/problem.c:183 +#: e2fsck/problem.c:182 msgid "The Hurd does not support the filetype feature.\n" msgstr "El Hurd no tiene implementada la opción de tipos de fichero.\n" #. @-expanded: superblock has an invalid journal (inode %i).\n -#: e2fsck/problem.c:188 +#: e2fsck/problem.c:187 #, fuzzy, c-format msgid "@S has an @n @j (@i %i).\n" msgstr "@S tiene un @j ext3 @n (@i %i).\n" #. @-expanded: External journal has multiple filesystem users (unsupported).\n -#: e2fsck/problem.c:193 +#: e2fsck/problem.c:192 msgid "External @j has multiple @f users (unsupported).\n" msgstr "El @j externo tiene varios usuarios del @f (no implementado).\n" #. @-expanded: Can't find external journal\n -#: e2fsck/problem.c:198 +#: e2fsck/problem.c:197 msgid "Can't find external @j\n" msgstr "No puedo encontrar un @j externo\n" #. @-expanded: External journal has bad superblock\n -#: e2fsck/problem.c:203 +#: e2fsck/problem.c:202 msgid "External @j has bad @S\n" msgstr "El @j externo tiene un @S dañado\n" #. @-expanded: External journal does not support this filesystem\n -#: e2fsck/problem.c:208 +#: e2fsck/problem.c:207 msgid "External @j does not support this @f\n" msgstr "El @j externo no tiene implementado este @f\n" @@ -953,7 +928,7 @@ msgstr "El @j externo no tiene implementado este @f\n" #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal #. @-expanded: format.\n #. @-expanded: It is also possible the journal superblock is corrupt.\n -#: e2fsck/problem.c:213 +#: e2fsck/problem.c:212 #, fuzzy msgid "" "@f @j @S is unknown type %N (unsupported).\n" @@ -967,13 +942,13 @@ msgstr "" "También es posible que el @S del @j esté corrupto.\n" #. @-expanded: journal superblock is corrupt.\n -#: e2fsck/problem.c:221 +#: e2fsck/problem.c:220 #, fuzzy msgid "@j @S is corrupt.\n" msgstr "El @S del @j ext3 está corrupto.\n" #. @-expanded: superblock has_journal flag is clear, but a journal %s is present.\n -#: e2fsck/problem.c:226 +#: e2fsck/problem.c:225 #, fuzzy, c-format msgid "@S has_@j flag is clear, but a @j %s is present.\n" msgstr "" @@ -981,14 +956,14 @@ msgstr "" "contiene información.\n" #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n -#: e2fsck/problem.c:231 +#: e2fsck/problem.c:230 #, fuzzy msgid "@S needs_recovery flag is set, but no @j is present.\n" msgstr "" "El @S tiene ext3 y la bandera need_recovery está activada, pero no hay @j.\n" #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n -#: e2fsck/problem.c:236 +#: e2fsck/problem.c:235 #, fuzzy msgid "@S needs_recovery flag is clear, but @j has data.\n" msgstr "" @@ -996,47 +971,57 @@ msgstr "" "contiene información.\n" #. @-expanded: Clear journal -#: e2fsck/problem.c:241 +#: e2fsck/problem.c:240 msgid "Clear @j" msgstr "Borrar el @j" -#. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. -#: e2fsck/problem.c:246 e2fsck/problem.c:695 -msgid "@f has feature flag(s) set, but is a revision 0 @f. " +#. @-expanded: Run journal anyway +#: e2fsck/problem.c:245 +msgid "Run @j anyway" +msgstr "Ejecutar el @j de todas formas" + +#. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n +#: e2fsck/problem.c:250 +msgid "Recovery flag not set in backup @S, so running @j anyway.\n" msgstr "" -"El @f tiene una(s) bandera(s) especial(es), pero es una revisión 0 del @f. " +"La bandera de recuperación no está activada en el @S de respaldo,\n" +"por eso se ejecutará de todas maneras el @j.\n" #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n -#: e2fsck/problem.c:251 +#: e2fsck/problem.c:255 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" msgstr "%s @i @o %i (uid=%Iu, gid=%Ig, modo=%Im, tamaño=%Is)\n" -#. @-expanded: illegal %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:256 -#, fuzzy -msgid "@I %B (%b) found in @o @i %i.\n" +#. @-expanded: illegal block #%B (%b) found in orphaned inode %i.\n +#: e2fsck/problem.c:260 +msgid "@I @b #%B (%b) found in @o @i %i.\n" msgstr "@b @I #%B (%b) encontrado en un @i @o %i.\n" -#. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:261 -#, fuzzy -msgid "Already cleared %B (%b) found in @o @i %i.\n" +#. @-expanded: Already cleared block #%B (%b) found in orphaned inode %i.\n +#: e2fsck/problem.c:265 +msgid "Already cleared @b #%B (%b) found in @o @i %i.\n" msgstr "Ya se borró el @b #%B (%b) encontrado en el @i @o %i.\n" #. @-expanded: illegal orphaned inode %i in superblock.\n -#: e2fsck/problem.c:266 +#: e2fsck/problem.c:270 #, c-format msgid "@I @o @i %i in @S.\n" msgstr "@i @o @I %i en el @S.\n" #. @-expanded: illegal inode %i in orphaned inode list.\n -#: e2fsck/problem.c:271 +#: e2fsck/problem.c:275 #, c-format msgid "@I @i %i in @o @i list.\n" msgstr "@i @I %i en la lista de @i @o.\n" +#. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. +#: e2fsck/problem.c:280 e2fsck/problem.c:647 +msgid "@f has feature flag(s) set, but is a revision 0 @f. " +msgstr "" +"El @f tiene una(s) bandera(s) especial(es), pero es una revisión 0 del @f. " + #. @-expanded: journal superblock has an unknown read-only feature flag set.\n -#: e2fsck/problem.c:276 +#: e2fsck/problem.c:285 #, fuzzy msgid "@j @S has an unknown read-only feature flag set.\n" msgstr "" @@ -1044,7 +1029,7 @@ msgstr "" "de sólo lectura.\n" #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n -#: e2fsck/problem.c:281 +#: e2fsck/problem.c:290 #, fuzzy msgid "@j @S has an unknown incompatible feature flag set.\n" msgstr "" @@ -1052,13 +1037,13 @@ msgstr "" "incompatible.\n" #. @-expanded: journal version not supported by this e2fsck.\n -#: e2fsck/problem.c:286 +#: e2fsck/problem.c:295 msgid "@j version not supported by this e2fsck.\n" msgstr "La versión del @j no está implementada en este e2fsck.\n" #. @-expanded: Moving journal from /%s to hidden inode.\n #. @-expanded: \n -#: e2fsck/problem.c:291 +#: e2fsck/problem.c:300 #, c-format msgid "" "Moving @j from /%s to hidden @i.\n" @@ -1069,7 +1054,7 @@ msgstr "" #. @-expanded: Error moving journal: %m\n #. @-expanded: \n -#: e2fsck/problem.c:296 +#: e2fsck/problem.c:305 #, c-format msgid "" "Error moving @j: %m\n" @@ -1081,7 +1066,7 @@ msgstr "" #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n #. @-expanded: Clearing fields beyond the V1 journal superblock...\n #. @-expanded: \n -#: e2fsck/problem.c:301 +#: e2fsck/problem.c:310 msgid "" "Found @n V2 @j @S fields (from V1 @j).\n" "Clearing fields beyond the V1 @j @S...\n" @@ -1092,21 +1077,9 @@ msgstr "" "Borrando los campos que exceden la V1 del @j del @S...\n" "\n" -#. @-expanded: Run journal anyway -#: e2fsck/problem.c:307 -msgid "Run @j anyway" -msgstr "Ejecutar el @j de todas formas" - -#. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n -#: e2fsck/problem.c:312 -msgid "Recovery flag not set in backup @S, so running @j anyway.\n" -msgstr "" -"La bandera de recuperación no está activada en el @S de respaldo,\n" -"por eso se ejecutará de todas maneras el @j.\n" - #. @-expanded: Backing up journal inode block information.\n #. @-expanded: \n -#: e2fsck/problem.c:317 +#: e2fsck/problem.c:316 msgid "" "Backing up @j @i @b information.\n" "\n" @@ -1116,7 +1089,7 @@ msgstr "" #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n #. @-expanded: is %N; should be zero. -#: e2fsck/problem.c:322 +#: e2fsck/problem.c:321 msgid "" "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n" "is %N; @s zero. " @@ -1125,44 +1098,36 @@ msgstr "" "es %N; debería ser cero. " #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero. -#: e2fsck/problem.c:328 +#: e2fsck/problem.c:327 msgid "Resize_@i not enabled, but the resize @i is non-zero. " msgstr "" "El 'resize_inode' no está habilitado, pero el nodo-i de cambio del tamaño no " "es cero. " #. @-expanded: Resize inode not valid. -#: e2fsck/problem.c:333 +#: e2fsck/problem.c:332 msgid "Resize @i not valid. " msgstr "El nodo-i de cambio del tamaño no es válido. " -#. @-expanded: superblock last mount time (%t,\n -#. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:338 -#, fuzzy -msgid "" -"@S last mount time (%t,\n" -"\tnow = %T) is in the future.\n" +#. @-expanded: superblock last mount time is in the future. +#: e2fsck/problem.c:337 +msgid "@S last mount time is in the future. " msgstr "La última vez que se montó el superbloque es en el futuro. " -#. @-expanded: superblock last write time (%t,\n -#. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:343 -#, fuzzy -msgid "" -"@S last write time (%t,\n" -"\tnow = %T) is in the future.\n" +#. @-expanded: superblock last write time is in the future. +#: e2fsck/problem.c:342 +msgid "@S last write time is in the future. " msgstr "La última vez que se escribió en el superbloque es en el futuro. " #. @-expanded: superblock hint for external superblock should be %X. -#: e2fsck/problem.c:347 +#: e2fsck/problem.c:346 #, c-format msgid "@S hint for external superblock @s %X. " msgstr "La pista de superbloque para un superbloque externo debería ser %X. " #. @-expanded: Adding dirhash hint to filesystem.\n #. @-expanded: \n -#: e2fsck/problem.c:352 +#: e2fsck/problem.c:351 msgid "" "Adding dirhash hint to @f.\n" "\n" @@ -1170,223 +1135,161 @@ msgstr "" "Agregando la pista dirhash al sistema de ficheros\n" "\n" -#. @-expanded: group descriptor %g checksum is %04x, should be %04y. -#: e2fsck/problem.c:357 -msgid "@g descriptor %g checksum is %04x, should be %04y. " +#. @-expanded: group descriptor %g checksum is invalid. +#: e2fsck/problem.c:356 +#, c-format +msgid "@g descriptor %g checksum is invalid. " msgstr "" #. @-expanded: group descriptor %g marked uninitialized without feature set.\n -#: e2fsck/problem.c:362 +#: e2fsck/problem.c:361 #, c-format msgid "@g descriptor %g marked uninitialized without feature set.\n" msgstr "" +#. @-expanded: group %g block bitmap uninitialized but inode bitmap in use.\n +#: e2fsck/problem.c:366 +#, c-format +msgid "@g %g @b @B uninitialized but @i @B in use.\n" +msgstr "" + #. @-expanded: group descriptor %g has invalid unused inodes count %b. -#: e2fsck/problem.c:367 +#: e2fsck/problem.c:371 msgid "@g descriptor %g has invalid unused inodes count %b. " msgstr "" #. @-expanded: Last group block bitmap uninitialized. -#: e2fsck/problem.c:372 +#: e2fsck/problem.c:376 msgid "Last @g @b @B uninitialized. " msgstr "" -#: e2fsck/problem.c:377 +#: e2fsck/problem.c:381 #, c-format msgid "Journal transaction %i was corrupt, replay was aborted.\n" msgstr "" -#: e2fsck/problem.c:381 +#: e2fsck/problem.c:385 msgid "The test_fs flag is set (and ext4 is available). " msgstr "" -#. @-expanded: superblock last mount time is in the future.\n -#. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly -#. @-expanded: set) -#: e2fsck/problem.c:386 -msgid "" -"@S last mount time is in the future.\n" -"\t(by less than a day, probably due to the hardware clock being incorrectly " -"set) " -msgstr "" - -#. @-expanded: superblock last write time is in the future.\n -#. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly -#. @-expanded: set). -#: e2fsck/problem.c:392 -msgid "" -"@S last write time is in the future.\n" -"\t(by less than a day, probably due to the hardware clock being incorrectly " -"set). " -msgstr "" - -#. @-expanded: One or more block group descriptor checksums are invalid. -#: e2fsck/problem.c:398 -msgid "One or more @b @g descriptor checksums are invalid. " -msgstr "" - -#. @-expanded: Setting free inodes count to %j (was %i)\n -#: e2fsck/problem.c:403 -#, fuzzy -msgid "Setting free @is count to %j (was %i)\n" -msgstr "Se pone la cantidad de bloques reservados a %lu\n" - -#. @-expanded: Setting free blocks count to %c (was %b)\n -#: e2fsck/problem.c:408 -#, fuzzy -msgid "Setting free @bs count to %c (was %b)\n" -msgstr "Se pone la cantidad de bloques reservados a %lu\n" - -#. @-expanded: Making quota inode %i (%Q) hidden.\n -#: e2fsck/problem.c:413 -#, fuzzy -msgid "Making @q @i %i (%Q) hidden.\n" -msgstr "" -"Moviendo el @j de /%s a un nodo-i oculto.\n" -"\n" - -#. @-expanded: superblock has invalid MMP block. -#: e2fsck/problem.c:418 -#, fuzzy -msgid "@S has invalid MMP block. " -msgstr "tamaño del bloque inválido - %s" - -#. @-expanded: superblock has invalid MMP magic. -#: e2fsck/problem.c:423 -msgid "@S has invalid MMP magic. " -msgstr "" - -#: e2fsck/problem.c:428 -#, c-format -msgid "ext2fs_open2: %m\n" -msgstr "" - -#: e2fsck/problem.c:433 -#, c-format -msgid "ext2fs_check_desc: %m\n" -msgstr "" - # Prefiero el infinitivo, pero hay ocasiones en que el gerundio es # indispensable, como por ejemplo "verificando", "revisando", en donde # da la impresión de que en ese momento se están haciendo las cosas. # En este caso en particular, creo que es conveniente el gerundio. mm #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n -#: e2fsck/problem.c:440 +#: e2fsck/problem.c:392 msgid "Pass 1: Checking @is, @bs, and sizes\n" msgstr "Paso 1: Verificando nodos-i, @bs y tamaños\n" #. @-expanded: root inode is not a directory. -#: e2fsck/problem.c:444 +#: e2fsck/problem.c:396 msgid "@r is not a @d. " msgstr "el @r no es un @d. " #. @-expanded: root inode has dtime set (probably due to old mke2fs). -#: e2fsck/problem.c:449 +#: e2fsck/problem.c:401 msgid "@r has dtime set (probably due to old mke2fs). " msgstr "" "el @r tiene puesto el dtime (probablemente debido a una versión antigua del " "mke2fs). " #. @-expanded: Reserved inode %i (%Q) has invalid mode. -#: e2fsck/problem.c:454 +#: e2fsck/problem.c:406 msgid "Reserved @i %i (%Q) has @n mode. " msgstr "El @i reservado %i %Q tiene un modo incorrecto. " #. @-expanded: deleted inode %i has zero dtime. -#: e2fsck/problem.c:459 +#: e2fsck/problem.c:411 #, c-format msgid "@D @i %i has zero dtime. " msgstr "@i %i @D, tiene un dtime cero. " #. @-expanded: inode %i is in use, but has dtime set. -#: e2fsck/problem.c:464 +#: e2fsck/problem.c:416 #, c-format msgid "@i %i is in use, but has dtime set. " msgstr "@i %i está en uso, pero tiene puesto dtime. " #. @-expanded: inode %i is a zero-length directory. -#: e2fsck/problem.c:469 +#: e2fsck/problem.c:421 #, c-format msgid "@i %i is a @z @d. " msgstr "@i %i es un @d con @z. " #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:474 +#: e2fsck/problem.c:426 msgid "@g %g's @b @B at %b @C.\n" msgstr "@b del @B del @g %g @C está en %b.\n" #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:479 +#: e2fsck/problem.c:431 msgid "@g %g's @i @B at %b @C.\n" msgstr "El @i del @B del @g %g @C en %b.\n" #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:484 +#: e2fsck/problem.c:436 msgid "@g %g's @i table at %b @C.\n" msgstr "La tabla de @i del @g %g @C en %b.\n" #. @-expanded: group %g's block bitmap (%b) is bad. -#: e2fsck/problem.c:489 +#: e2fsck/problem.c:441 msgid "@g %g's @b @B (%b) is bad. " msgstr "El @b del @B (%B) del @g %g está dañado. " #. @-expanded: group %g's inode bitmap (%b) is bad. -#: e2fsck/problem.c:494 +#: e2fsck/problem.c:446 msgid "@g %g's @i @B (%b) is bad. " msgstr "El @i del @B (%B) del @g %g está dañado. " #. @-expanded: inode %i, i_size is %Is, should be %N. -#: e2fsck/problem.c:499 +#: e2fsck/problem.c:451 msgid "@i %i, i_size is %Is, @s %N. " msgstr "@i %i, i_size es %Is, @s %N. " #. @-expanded: inode %i, i_blocks is %Ib, should be %N. -#: e2fsck/problem.c:504 +#: e2fsck/problem.c:456 msgid "@i %i, i_@bs is %Ib, @s %N. " msgstr "@i %i, i_@bs es %Ib, @s %N. " -#. @-expanded: illegal %B (%b) in inode %i. -#: e2fsck/problem.c:509 -#, fuzzy -msgid "@I %B (%b) in @i %i. " +#. @-expanded: illegal block #%B (%b) in inode %i. +#: e2fsck/problem.c:461 +msgid "@I @b #%B (%b) in @i %i. " msgstr "@I @b #%B (%b) en @i %i. " -#. @-expanded: %B (%b) overlaps filesystem metadata in inode %i. -#: e2fsck/problem.c:514 -#, fuzzy -msgid "%B (%b) overlaps @f metadata in @i %i. " +#. @-expanded: block #%B (%b) overlaps filesystem metadata in inode %i. +#: e2fsck/problem.c:466 +msgid "@b #%B (%b) overlaps @f metadata in @i %i. " msgstr "@b #%B (%b) se encima con los metadatos del @f en el @i %i. " #. @-expanded: inode %i has illegal block(s). -#: e2fsck/problem.c:519 +#: e2fsck/problem.c:471 #, c-format msgid "@i %i has illegal @b(s). " msgstr "@i %i tiene @b(s) inválido(s). " #. @-expanded: Too many illegal blocks in inode %i.\n -#: e2fsck/problem.c:524 +#: e2fsck/problem.c:476 #, c-format msgid "Too many illegal @bs in @i %i.\n" msgstr "Demasiados @bs inválidos en el @i %i.\n" -#. @-expanded: illegal %B (%b) in bad block inode. -#: e2fsck/problem.c:529 -#, fuzzy -msgid "@I %B (%b) in bad @b @i. " +#. @-expanded: illegal block #%B (%b) in bad block inode. +#: e2fsck/problem.c:481 +msgid "@I @b #%B (%b) in bad @b @i. " msgstr "@b @I #%B (%b) en el @b del @i dañado. " #. @-expanded: Bad block inode has illegal block(s). -#: e2fsck/problem.c:534 +#: e2fsck/problem.c:486 msgid "Bad @b @i has illegal @b(s). " msgstr "@b del @i dañado tiene @b(s) inválido(s). " #. @-expanded: Duplicate or bad block in use!\n -#: e2fsck/problem.c:539 +#: e2fsck/problem.c:491 msgid "Duplicate or bad @b in use!\n" msgstr "¡@b duplicado o dañado está en uso!\n" #. @-expanded: Bad block %b used as bad block inode indirect block. -#: e2fsck/problem.c:544 +#: e2fsck/problem.c:496 msgid "Bad @b %b used as bad @b @i indirect @b. " msgstr "El @b %b dañado se usa de forma indirecta como @b del @i. " @@ -1394,7 +1297,7 @@ msgstr "El @b %b dañado se usa de forma indirecta como @b del @i. " #. @-expanded: The bad block inode has probably been corrupted. You probably\n #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n #. @-expanded: in the filesystem.\n -#: e2fsck/problem.c:549 +#: e2fsck/problem.c:501 msgid "" "\n" "The bad @b @i has probably been corrupted. You probably\n" @@ -1410,7 +1313,7 @@ msgstr "" # cuando se traducen. #. @-expanded: \n #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n -#: e2fsck/problem.c:556 +#: e2fsck/problem.c:508 msgid "" "\n" "If the @b is really bad, the @f can not be fixed.\n" @@ -1421,7 +1324,7 @@ msgstr "" #. @-expanded: You can remove this block from the bad block list and hope\n #. @-expanded: that the block is really OK. But there are no guarantees.\n #. @-expanded: \n -#: e2fsck/problem.c:561 +#: e2fsck/problem.c:513 msgid "" "You can remove this @b from the bad @b list and hope\n" "that the @b is really OK. But there are no guarantees.\n" @@ -1432,129 +1335,129 @@ msgstr "" "\n" #. @-expanded: The primary superblock (%b) is on the bad block list.\n -#: e2fsck/problem.c:567 +#: e2fsck/problem.c:519 msgid "The primary @S (%b) is on the bad @b list.\n" msgstr "El @S primario (%b) está en la lista de @bs dañados.\n" #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n -#: e2fsck/problem.c:572 +#: e2fsck/problem.c:524 msgid "Block %b in the primary @g descriptors is on the bad @b list\n" msgstr "" "El bloque %b en los descriptores primarios del @g está en la lista de @bs " "dañados\n" #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n -#: e2fsck/problem.c:578 +#: e2fsck/problem.c:530 msgid "Warning: Group %g's @S (%b) is bad.\n" msgstr "Atención: el @S (%B) del grupo %g está dañado.\n" #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n -#: e2fsck/problem.c:583 +#: e2fsck/problem.c:535 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n" msgstr "" "Atención: la copia de los descriptores del @g %g tiene un @b (%b) dañado.\n" #. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n -#: e2fsck/problem.c:589 +#: e2fsck/problem.c:541 msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n" msgstr "" "¿Será un error de programación? El @b #%b se reclama sin razón en el " "process_bad_block.\n" #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n -#: e2fsck/problem.c:595 +#: e2fsck/problem.c:547 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n" msgstr "@A %N, es contigua a los @bs en el @b del @g %g para %s: %m\n" #. @-expanded: error allocating block buffer for relocating %s\n -#: e2fsck/problem.c:600 +#: e2fsck/problem.c:552 #, c-format msgid "@A @b buffer for relocating %s\n" msgstr "@A del búfer del @b por reubicar %s\n" #. @-expanded: Relocating group %g's %s from %b to %c...\n -#: e2fsck/problem.c:605 +#: e2fsck/problem.c:557 msgid "Relocating @g %g's %s from %b to %c...\n" msgstr "Reubicando %s del @g %g de %b a %c...\n" #. @-expanded: Relocating group %g's %s to %c...\n -#: e2fsck/problem.c:610 +#: e2fsck/problem.c:562 #, c-format msgid "Relocating @g %g's %s to %c...\n" msgstr "Reubicando el @g %g de %s hacia %c...\n" #. @-expanded: Warning: could not read block %b of %s: %m\n -#: e2fsck/problem.c:615 +#: e2fsck/problem.c:567 msgid "Warning: could not read @b %b of %s: %m\n" msgstr "Atención: no se puede leer el @b %b de %s: %m\n" #. @-expanded: Warning: could not write block %b for %s: %m\n -#: e2fsck/problem.c:620 +#: e2fsck/problem.c:572 msgid "Warning: could not write @b %b for %s: %m\n" msgstr "Atención: no se puede escribir el @b %b para %s: %m\n" #. @-expanded: error allocating inode bitmap (%N): %m\n -#: e2fsck/problem.c:625 e2fsck/problem.c:1460 +#: e2fsck/problem.c:577 e2fsck/problem.c:1378 msgid "@A @i @B (%N): %m\n" msgstr "Hay un @A del @B del @i (%N): %m\n" #. @-expanded: error allocating block bitmap (%N): %m\n -#: e2fsck/problem.c:630 +#: e2fsck/problem.c:582 msgid "@A @b @B (%N): %m\n" msgstr "Hay un @A del @b del @B (%N): %m\n" #. @-expanded: error allocating icount link information: %m\n -#: e2fsck/problem.c:635 +#: e2fsck/problem.c:587 #, c-format msgid "@A icount link information: %m\n" msgstr "@A en la cuenta-i de la información del enlace: %m\n" # array -> matriz #. @-expanded: error allocating directory block array: %m\n -#: e2fsck/problem.c:640 +#: e2fsck/problem.c:592 #, c-format msgid "@A @d @b array: %m\n" msgstr "@A el arreglo del @b de @ds: %m\n" #. @-expanded: Error while scanning inodes (%i): %m\n -#: e2fsck/problem.c:645 +#: e2fsck/problem.c:597 #, c-format msgid "Error while scanning @is (%i): %m\n" msgstr "Error mientras se exploraba el @i (%i): %m\n" #. @-expanded: Error while iterating over blocks in inode %i: %m\n -#: e2fsck/problem.c:650 +#: e2fsck/problem.c:602 #, c-format msgid "Error while iterating over @bs in @i %i: %m\n" msgstr "Error mientras se iteraba sobre los @bs en el @i %i: %m\n" #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n -#: e2fsck/problem.c:655 +#: e2fsck/problem.c:607 msgid "Error storing @i count information (@i=%i, count=%N): %m\n" msgstr "" "Error al guardar la información de la cuenta del @i (@i=%i, cuenta=%N): %m\n" #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n -#: e2fsck/problem.c:660 +#: e2fsck/problem.c:612 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n" msgstr "" "Error al guardar la información del @b de @ds (@i=%i, @b=%b, núm=%N): %m\n" #. @-expanded: Error reading inode %i: %m\n -#: e2fsck/problem.c:666 +#: e2fsck/problem.c:618 #, c-format msgid "Error reading @i %i: %m\n" msgstr "Error al leer el @i %i: %m\n" #. @-expanded: inode %i has imagic flag set. -#: e2fsck/problem.c:674 +#: e2fsck/problem.c:626 #, c-format msgid "@i %i has imagic flag set. " msgstr "@i %i tiene puesta la bandera imagic. " #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n #. @-expanded: or append-only flag set. -#: e2fsck/problem.c:679 +#: e2fsck/problem.c:631 #, c-format msgid "" "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n" @@ -1564,7 +1467,7 @@ msgstr "" "no es modificable o tiene la bandera 'append-only' (sólo añadir). " #. @-expanded: inode %i has compression flag set on filesystem without compression support. -#: e2fsck/problem.c:685 +#: e2fsck/problem.c:637 #, c-format msgid "@i %i has @cion flag set on @f without @cion support. " msgstr "" @@ -1572,7 +1475,7 @@ msgstr "" "implementada. " #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size. -#: e2fsck/problem.c:690 +#: e2fsck/problem.c:642 #, c-format msgid "Special (@v/socket/fifo) @i %i has non-zero size. " msgstr "" @@ -1580,108 +1483,106 @@ msgstr "" "tiene un tamaño distinto de cero. " #. @-expanded: journal inode is not in use, but contains data. -#: e2fsck/problem.c:700 +#: e2fsck/problem.c:652 msgid "@j @i is not in use, but contains data. " msgstr "El @i del @j no está en uso, pero contiene información. " #. @-expanded: journal is not regular file. -#: e2fsck/problem.c:705 +#: e2fsck/problem.c:657 msgid "@j is not regular file. " msgstr "el @j no es un fichero regular. " #. @-expanded: inode %i was part of the orphaned inode list. -#: e2fsck/problem.c:710 +#: e2fsck/problem.c:662 #, c-format msgid "@i %i was part of the @o @i list. " msgstr "el @i %i era parte de la lista de nodos-i @os. " #. @-expanded: inodes that were part of a corrupted orphan linked list found. -#: e2fsck/problem.c:716 +#: e2fsck/problem.c:668 msgid "@is that were part of a corrupted orphan linked list found. " msgstr "" "Los nodos-i fueron parte de una lista enlazada que estaba huérfana y " "dañada. " #. @-expanded: error allocating refcount structure (%N): %m\n -#: e2fsck/problem.c:721 +#: e2fsck/problem.c:673 msgid "@A refcount structure (%N): %m\n" msgstr "@A de la estructura refcount (%N): %m\n" #. @-expanded: Error reading extended attribute block %b for inode %i. -#: e2fsck/problem.c:726 +#: e2fsck/problem.c:678 msgid "Error reading @a @b %b for @i %i. " msgstr "Error al leer el @b del @a %b para el @i %i. " #. @-expanded: inode %i has a bad extended attribute block %b. -#: e2fsck/problem.c:731 +#: e2fsck/problem.c:683 msgid "@i %i has a bad @a @b %b. " msgstr "@i %i tiene un @b del @a %b dañado. " #. @-expanded: Error reading extended attribute block %b (%m). -#: e2fsck/problem.c:736 +#: e2fsck/problem.c:688 msgid "Error reading @a @b %b (%m). " msgstr "Error al leer el @b del @a %b (%m). " -#. @-expanded: extended attribute block %b has reference count %r, should be %N. -#: e2fsck/problem.c:741 -#, fuzzy -msgid "@a @b %b has reference count %r, @s %N. " +#. @-expanded: extended attribute block %b has reference count %B, should be %N. +#: e2fsck/problem.c:693 +msgid "@a @b %b has reference count %B, @s %N. " msgstr "El @b del @a %b tiene una cuenta de referencia %B y @s %N. " #. @-expanded: Error writing extended attribute block %b (%m). -#: e2fsck/problem.c:746 +#: e2fsck/problem.c:698 msgid "Error writing @a @b %b (%m). " msgstr "Error al escribir el @b de @a %b (%m). " #. @-expanded: extended attribute block %b has h_blocks > 1. -#: e2fsck/problem.c:751 +#: e2fsck/problem.c:703 msgid "@a @b %b has h_@bs > 1. " msgstr "El @b del @a %b tiene h_@bs > 1. " #. @-expanded: error allocating extended attribute block %b. -#: e2fsck/problem.c:756 +#: e2fsck/problem.c:708 msgid "@A @a @b %b. " msgstr "@A de @a @b %b. " #. @-expanded: extended attribute block %b is corrupt (allocation collision). -#: e2fsck/problem.c:761 +#: e2fsck/problem.c:713 msgid "@a @b %b is corrupt (allocation collision). " msgstr "el @b del @a %b está dañado (hubo una colisión en la reserva). " #. @-expanded: extended attribute block %b is corrupt (invalid name). -#: e2fsck/problem.c:766 +#: e2fsck/problem.c:718 msgid "@a @b %b is corrupt (@n name). " msgstr "el @b del @a %b está dañado (nombre no válido). " #. @-expanded: extended attribute block %b is corrupt (invalid value). -#: e2fsck/problem.c:771 +#: e2fsck/problem.c:723 msgid "@a @b %b is corrupt (@n value). " msgstr "el @b del @a %b está dañado (valor no válido). " #. @-expanded: inode %i is too big. -#: e2fsck/problem.c:776 +#: e2fsck/problem.c:728 #, c-format msgid "@i %i is too big. " msgstr "el @i %i es muy grande. " -#. @-expanded: %B (%b) causes directory to be too big. -#: e2fsck/problem.c:780 -#, fuzzy -msgid "%B (%b) causes @d to be too big. " +#. @-expanded: block #%B (%b) causes directory to be too big. +#: e2fsck/problem.c:732 +msgid "@b #%B (%b) causes @d to be too big. " msgstr "el @b #%B (%b) causa que el @d sea muy grande. " -#: e2fsck/problem.c:785 -#, fuzzy -msgid "%B (%b) causes file to be too big. " +#. @-expanded: block #%B (%b) causes file to be too big. +#: e2fsck/problem.c:737 +msgid "@b #%B (%b) causes file to be too big. " msgstr "el @b #%B (%b) causa que el fichero sea muy grande. " -#: e2fsck/problem.c:790 -#, fuzzy -msgid "%B (%b) causes symlink to be too big. " +#. @-expanded: block #%B (%b) causes symlink to be too big. +#: e2fsck/problem.c:742 +msgid "@b #%B (%b) causes symlink to be too big. " msgstr "el @b #%B (%b) causa que el enlace simbólico sea muy grande. " #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n -#: e2fsck/problem.c:795 +#: e2fsck/problem.c:747 #, c-format msgid "@i %i has INDEX_FL flag set on @f without htree support.\n" msgstr "" @@ -1689,37 +1590,37 @@ msgstr "" "implementado.\n" #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n -#: e2fsck/problem.c:800 +#: e2fsck/problem.c:752 #, c-format msgid "@i %i has INDEX_FL flag set but is not a @d.\n" msgstr "@i %i tiene puesta la bandera INDEX_FL pero no es un @d.\n" #. @-expanded: HTREE directory inode %i has an invalid root node.\n -#: e2fsck/problem.c:805 +#: e2fsck/problem.c:757 #, c-format msgid "@h %i has an @n root node.\n" msgstr "El @h %i tiene un nodo raíz no válido.\n" #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n -#: e2fsck/problem.c:810 +#: e2fsck/problem.c:762 msgid "@h %i has an unsupported hash version (%N)\n" msgstr "El @h %i tiene una versión de hash no implementada (%N)\n" #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n -#: e2fsck/problem.c:815 +#: e2fsck/problem.c:767 #, c-format msgid "@h %i uses an incompatible htree root node flag.\n" msgstr "" "El @h %i utiliza una bandera incompatible para el nodo raíz del árbol h.\n" #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n -#: e2fsck/problem.c:820 +#: e2fsck/problem.c:772 msgid "@h %i has a tree depth (%N) which is too big\n" msgstr "El @h %i tiene una profundidad (%N) muy grande\n" #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n #. @-expanded: filesystem metadata. -#: e2fsck/problem.c:825 +#: e2fsck/problem.c:777 msgid "" "Bad @b @i has an indirect @b (%b) that conflicts with\n" "@f metadata. " @@ -1728,56 +1629,56 @@ msgstr "" "entra en conflicto con la metainformación del @f. " #. @-expanded: Resize inode (re)creation failed: %m. -#: e2fsck/problem.c:831 +#: e2fsck/problem.c:783 #, c-format msgid "Resize @i (re)creation failed: %m." msgstr "Falló la (re)creación del nodo-i de cambio de tamaño: %m." #. @-expanded: inode %i has a extra size (%IS) which is invalid\n -#: e2fsck/problem.c:836 +#: e2fsck/problem.c:788 msgid "@i %i has a extra size (%IS) which is @n\n" msgstr "El @i %i tiene un tamaño adicional (%IS) que es @n\n" #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n -#: e2fsck/problem.c:841 +#: e2fsck/problem.c:793 msgid "@a in @i %i has a namelen (%N) which is @n\n" msgstr "El @a en el @i %i tiene una longitud de nombre (%N) que es @n\n" +#. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n +#: e2fsck/problem.c:798 +msgid "@a in @i %i has a value size (%N) which is @n\n" +msgstr "El @a en el @i %i tiene un valor de tamaño (%N) que es @n\n" + #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n -#: e2fsck/problem.c:846 +#: e2fsck/problem.c:803 msgid "@a in @i %i has a value offset (%N) which is @n\n" msgstr "El @a en @i %i tiene un valor de desplazamiento (%N) que es @n\n" #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n -#: e2fsck/problem.c:851 +#: e2fsck/problem.c:808 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" msgstr "El @a en el @i %i tiene un valor de @b (%N) que es @n (debe ser 0)\n" -#. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n -#: e2fsck/problem.c:856 -msgid "@a in @i %i has a value size (%N) which is @n\n" -msgstr "El @a en el @i %i tiene un valor de tamaño (%N) que es @n\n" - #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n -#: e2fsck/problem.c:861 +#: e2fsck/problem.c:813 #, fuzzy msgid "@a in @i %i has a hash (%N) which is @n\n" msgstr "El @a en el @i %i tiene una longitud de nombre (%N) que es @n\n" #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n -#: e2fsck/problem.c:866 +#: e2fsck/problem.c:818 msgid "@i %i is a %It but it looks like it is really a directory.\n" msgstr "Nodo-i %i está marcado como un %It pero parece ser un directorio.\n" #. @-expanded: Error while reading over extent tree in inode %i: %m\n -#: e2fsck/problem.c:871 +#: e2fsck/problem.c:823 #, fuzzy, c-format msgid "Error while reading over @x tree in @i %i: %m\n" msgstr "Error mientras se iteraba sobre los @bs en el @i %i: %m\n" #. @-expanded: Failed to iterate extents in inode %i\n #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n -#: e2fsck/problem.c:876 +#: e2fsck/problem.c:828 msgid "" "Failed to iterate extents in @i %i\n" "\t(op %s, blk %b, lblk %c): %m\n" @@ -1785,7 +1686,7 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n -#: e2fsck/problem.c:882 +#: e2fsck/problem.c:834 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, @n physical @b %b, len %N)\n" @@ -1793,14 +1694,14 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n -#: e2fsck/problem.c:887 +#: e2fsck/problem.c:839 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, physical @b %b, @n len %N)\n" msgstr "" #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n -#: e2fsck/problem.c:892 +#: e2fsck/problem.c:844 #, fuzzy, c-format msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n" msgstr "" @@ -1808,77 +1709,39 @@ msgstr "" "implementado.\n" #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n -#: e2fsck/problem.c:897 +#: e2fsck/problem.c:849 #, c-format msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n" msgstr "" #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n -#: e2fsck/problem.c:902 +#: e2fsck/problem.c:854 #, c-format msgid "@i %i missing EXTENT_FL, but is in extents format\n" msgstr "" -#: e2fsck/problem.c:907 +#: e2fsck/problem.c:859 #, c-format msgid "Fast symlink %i has EXTENT_FL set. " msgstr "" #. @-expanded: inode %i has out of order extents\n #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:912 +#: e2fsck/problem.c:864 msgid "" "@i %i has out of order extents\n" "\t(@n logical @b %c, physical @b %b, len %N)\n" msgstr "" #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n -#: e2fsck/problem.c:916 +#: e2fsck/problem.c:868 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n" msgstr "" -#. @-expanded: Error converting subcluster block bitmap: %m\n -#: e2fsck/problem.c:921 -#, fuzzy, c-format -msgid "Error converting subcluster @b @B: %m\n" -msgstr "Error al iterar sobre los @bs del @d: %m\n" - -#. @-expanded: quota inode is not regular file. -#: e2fsck/problem.c:926 -#, fuzzy -msgid "@q @i is not regular file. " -msgstr "el @j no es un fichero regular. " - -#. @-expanded: quota inode is not in use, but contains data. -#: e2fsck/problem.c:931 -#, fuzzy -msgid "@q @i is not in use, but contains data. " -msgstr "El @i del @j no está en uso, pero contiene información. " - -#. @-expanded: quota inode is visible to the user. -#: e2fsck/problem.c:936 -#, fuzzy -msgid "@q @i is visible to the user. " -msgstr "@i %i está en uso, pero tiene puesto dtime. " - -#. @-expanded: The bad block inode looks invalid. -#: e2fsck/problem.c:941 -#, fuzzy -msgid "The bad @b @i looks @n. " -msgstr "" - -#. @-expanded: inode %i has zero length extent\n -#. @-expanded: \t(invalid logical block %c, physical block %b)\n -#: e2fsck/problem.c:946 -msgid "" -"@i %i has zero length extent\n" -"\t(@n logical @b %c, physical @b %b)\n" -msgstr "" - #. @-expanded: \n #. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n #. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n -#: e2fsck/problem.c:953 +#: e2fsck/problem.c:875 msgid "" "\n" "Running additional passes to resolve @bs claimed by more than one @i...\n" @@ -1891,71 +1754,70 @@ msgstr "" "ocasiones\n" #. @-expanded: multiply-claimed block(s) in inode %i: -#: e2fsck/problem.c:959 +#: e2fsck/problem.c:881 #, c-format msgid "@m @b(s) in @i %i:" msgstr "Bloque(s) reclamado(s) en múltiples ocasiones en nodo- %i. " -#: e2fsck/problem.c:974 +#: e2fsck/problem.c:896 #, c-format msgid "Error while scanning inodes (%i): %m\n" msgstr "Error mientras se exploraban los nodos-i (%i): %m\n" #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n -#: e2fsck/problem.c:979 +#: e2fsck/problem.c:901 #, c-format msgid "@A @i @B (@i_dup_map): %m\n" msgstr "@A del @B del @i (@i_dup_map): %m\n" #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n -#: e2fsck/problem.c:984 +#: e2fsck/problem.c:906 #, c-format msgid "Error while iterating over @bs in @i %i (%s): %m\n" msgstr "Error mientras se iteraba sobre los @bs en el @i %i (%s): %m\n" #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n -#: e2fsck/problem.c:989 e2fsck/problem.c:1304 +#: e2fsck/problem.c:911 e2fsck/problem.c:1227 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n" msgstr "" "Error al ajustar la cuenta de referencia para el @b del @a %b (@i %i): %m\n" #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n -#: e2fsck/problem.c:994 +#: e2fsck/problem.c:917 msgid "Pass 1C: Scanning directories for @is with @m @bs\n" msgstr "" "Paso 1C: Explorando los directorios para buscar nodos-i con @bs reclamados " "en múltiples ocasiones\n" #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n -#: e2fsck/problem.c:1000 +#: e2fsck/problem.c:923 msgid "Pass 1D: Reconciling @m @bs\n" msgstr "Paso 1D: Reconciliando los @bs reclamados en múltiples ocasiones\n" #. @-expanded: File %Q (inode #%i, mod time %IM) \n -#. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n -#: e2fsck/problem.c:1005 -#, fuzzy +#. @-expanded: has %B multiply-claimed block(s), shared with %N file(s):\n +#: e2fsck/problem.c:928 msgid "" "File %Q (@i #%i, mod time %IM) \n" -" has %r @m @b(s), shared with %N file(s):\n" +" has %B @m @b(s), shared with %N file(s):\n" msgstr "" "El fichero %Q (@i #%i, fecha de modificación %IM)\n" "tiene %B @b(s) reclamado(s) en múltiples ocasiones, compartido(s) con %N " "fichero(s):\n" #. @-expanded: \t%Q (inode #%i, mod time %IM)\n -#: e2fsck/problem.c:1011 +#: e2fsck/problem.c:934 msgid "\t%Q (@i #%i, mod time %IM)\n" msgstr "\t%Q (@i #%i, fecha de modificación %IM)\n" #. @-expanded: \t\n -#: e2fsck/problem.c:1016 +#: e2fsck/problem.c:939 msgid "\t<@f metadata>\n" msgstr "\t\n" #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n #. @-expanded: \n -#: e2fsck/problem.c:1021 +#: e2fsck/problem.c:944 msgid "" "(There are %N @is containing @m @bs.)\n" "\n" @@ -1965,338 +1827,328 @@ msgstr "" #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n #. @-expanded: \n -#: e2fsck/problem.c:1026 +#: e2fsck/problem.c:949 msgid "" "@m @bs already reassigned or cloned.\n" "\n" msgstr "" "Los @bs reclamados en múltiples ocasiones ya se reasignaron o se clonaron.\n" -#: e2fsck/problem.c:1039 +#: e2fsck/problem.c:962 #, c-format msgid "Couldn't clone file: %m\n" msgstr "No se puede clonar el fichero: %m\n" #. @-expanded: Pass 2: Checking directory structure\n -#: e2fsck/problem.c:1045 +#: e2fsck/problem.c:968 msgid "Pass 2: Checking @d structure\n" msgstr "Paso 2: Verificando la estructura de @ds\n" #. @-expanded: invalid inode number for '.' in directory inode %i.\n -#: e2fsck/problem.c:1050 +#: e2fsck/problem.c:973 #, c-format msgid "@n @i number for '.' in @d @i %i.\n" msgstr "Número @n del @i para '.' en el @i del @d %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n -#: e2fsck/problem.c:1055 +#: e2fsck/problem.c:978 msgid "@E has @n @i #: %Di.\n" msgstr "@E tiene un @i @n #: %Di.\n" #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di. -#: e2fsck/problem.c:1060 +#: e2fsck/problem.c:983 msgid "@E has @D/unused @i %Di. " msgstr "@E tiene un @i %Di @D/no utilizado. " #. @-expanded: entry '%Dn' in %p (%i) is a link to '.' -#: e2fsck/problem.c:1065 +#: e2fsck/problem.c:988 msgid "@E @L to '.' " msgstr "@E @L a '.' " #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n -#: e2fsck/problem.c:1070 +#: e2fsck/problem.c:993 msgid "@E points to @i (%Di) located in a bad @b.\n" msgstr "@E apunta al @i (%Di) ubicado en un @b dañado.\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n -#: e2fsck/problem.c:1075 +#: e2fsck/problem.c:998 msgid "@E @L to @d %P (%Di).\n" msgstr "@E @L al @d %P (%Di).\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n -#: e2fsck/problem.c:1080 +#: e2fsck/problem.c:1003 msgid "@E @L to the @r.\n" msgstr "@E @L al @r.\n" #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n -#: e2fsck/problem.c:1085 +#: e2fsck/problem.c:1008 msgid "@E has illegal characters in its name.\n" msgstr "La @E contiene caracteres no válidos en el nombre.\n" #. @-expanded: Missing '.' in directory inode %i.\n -#: e2fsck/problem.c:1090 +#: e2fsck/problem.c:1013 #, c-format msgid "Missing '.' in @d @i %i.\n" msgstr "Falta '.' en el @d @i %i.\n" #. @-expanded: Missing '..' in directory inode %i.\n -#: e2fsck/problem.c:1095 +#: e2fsck/problem.c:1018 #, c-format msgid "Missing '..' in @d @i %i.\n" msgstr "Falta '..' en el @i del @d %i.\n" #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n -#: e2fsck/problem.c:1100 +#: e2fsck/problem.c:1023 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n" msgstr "La primera @e '%Dn' (@i=%Di) en el @i del @d %i (%p) @s '.'\n" #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n -#: e2fsck/problem.c:1105 +#: e2fsck/problem.c:1028 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n" msgstr "La segunda @e '%Dn' (@i=%Di) en el @i del @d %i @s '..'\n" #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n -#: e2fsck/problem.c:1110 +#: e2fsck/problem.c:1033 msgid "i_faddr @F %IF, @s zero.\n" msgstr "El i_faddr @F %IF, @s cero.\n" #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n -#: e2fsck/problem.c:1115 +#: e2fsck/problem.c:1038 msgid "i_file_acl @F %If, @s zero.\n" msgstr "El i_file_acl @F %If, @s cero.\n" #. @-expanded: i_dir_acl for inode %i (%Q) is %Id, should be zero.\n -#: e2fsck/problem.c:1120 +#: e2fsck/problem.c:1043 msgid "i_dir_acl @F %Id, @s zero.\n" msgstr "El i_dir_acl @F %Id, @s cero.\n" #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1125 +#: e2fsck/problem.c:1048 msgid "i_frag @F %N, @s zero.\n" msgstr "El i_frag @F %N, @s cero.\n" #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1130 +#: e2fsck/problem.c:1053 msgid "i_fsize @F %N, @s zero.\n" msgstr "El i_fsize @F %N, @s cero.\n" #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n -#: e2fsck/problem.c:1135 +#: e2fsck/problem.c:1058 msgid "@i %i (%Q) has @n mode (%Im).\n" msgstr "El @i %i (%Q) tiene un modo @n (%Im).\n" -#. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n -#: e2fsck/problem.c:1140 -#, fuzzy -msgid "@d @i %i, %B, offset %N: @d corrupted\n" +#. @-expanded: directory inode %i, block %B, offset %N: directory corrupted\n +#: e2fsck/problem.c:1063 +msgid "@d @i %i, @b %B, offset %N: @d corrupted\n" msgstr "El @i del @d %i, @b %B, desplazamiento %N: el @d está dañado\n" -#. @-expanded: directory inode %i, %B, offset %N: filename too long\n -#: e2fsck/problem.c:1145 -#, fuzzy -msgid "@d @i %i, %B, offset %N: filename too long\n" +#. @-expanded: directory inode %i, block %B, offset %N: filename too long\n +#: e2fsck/problem.c:1068 +msgid "@d @i %i, @b %B, offset %N: filename too long\n" msgstr "" "El @i del @d %i, @b %B, desplazamiento %N: el nombre del fichero es muy " "largo\n" -#. @-expanded: directory inode %i has an unallocated %B. -#: e2fsck/problem.c:1150 -#, fuzzy -msgid "@d @i %i has an unallocated %B. " +#. @-expanded: directory inode %i has an unallocated block #%B. +#: e2fsck/problem.c:1073 +msgid "@d @i %i has an unallocated @b #%B. " msgstr "El @i %i del @d tiene un @b #%B que no está reservado. " #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1155 +#: e2fsck/problem.c:1078 #, c-format msgid "'.' @d @e in @d @i %i is not NULL terminated\n" msgstr "La @e en el @d '.' en el @i del @d %i no está terminada con NULL\n" #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1160 +#: e2fsck/problem.c:1083 #, c-format msgid "'..' @d @e in @d @i %i is not NULL terminated\n" msgstr "La @e al @d '..' en el @i %i del @d no está terminada con NULL\n" #. @-expanded: inode %i (%Q) is an illegal character device.\n -#: e2fsck/problem.c:1165 +#: e2fsck/problem.c:1088 msgid "@i %i (%Q) is an @I character @v.\n" msgstr "El @i %i (%Q) es un @v de carácter @I.\n" #. @-expanded: inode %i (%Q) is an illegal block device.\n -#: e2fsck/problem.c:1170 +#: e2fsck/problem.c:1093 msgid "@i %i (%Q) is an @I @b @v.\n" msgstr "El @i %i (%Q) es un @v de @b @I.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n -#: e2fsck/problem.c:1175 +#: e2fsck/problem.c:1098 msgid "@E is duplicate '.' @e.\n" msgstr "La @E está duplicada en la @e '.'.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n -#: e2fsck/problem.c:1180 +#: e2fsck/problem.c:1103 msgid "@E is duplicate '..' @e.\n" msgstr "La @E está duplicada en la @e '..'.\n" -#: e2fsck/problem.c:1185 e2fsck/problem.c:1485 +#: e2fsck/problem.c:1108 e2fsck/problem.c:1403 #, c-format msgid "Internal error: couldn't find dir_info for %i.\n" msgstr "Error interno: no se puede encontrar el dir_info para %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n -#: e2fsck/problem.c:1190 +#: e2fsck/problem.c:1113 msgid "@E has rec_len of %Dr, @s %N.\n" msgstr "La @E tiene un rec_len de %Dr y @s %N.\n" #. @-expanded: error allocating icount structure: %m\n -#: e2fsck/problem.c:1195 +#: e2fsck/problem.c:1118 #, c-format msgid "@A icount structure: %m\n" msgstr "@A de la estructura icount: %m\n" #. @-expanded: Error iterating over directory blocks: %m\n -#: e2fsck/problem.c:1200 +#: e2fsck/problem.c:1123 #, c-format msgid "Error iterating over @d @bs: %m\n" msgstr "Error al iterar sobre los @bs del @d: %m\n" #. @-expanded: Error reading directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1205 +#: e2fsck/problem.c:1128 msgid "Error reading @d @b %b (@i %i): %m\n" msgstr "Error al leer el @b %b del @d (@i %i): %m\n" #. @-expanded: Error writing directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1210 +#: e2fsck/problem.c:1133 msgid "Error writing @d @b %b (@i %i): %m\n" msgstr "Error al escribir el @b %b del @d (@i %i): %m\n" #. @-expanded: error allocating new directory block for inode %i (%s): %m\n -#: e2fsck/problem.c:1215 +#: e2fsck/problem.c:1138 #, c-format msgid "@A new @d @b for @i %i (%s): %m\n" msgstr "@A del @b del @d para el @i %i (%s): %m\n" #. @-expanded: Error deallocating inode %i: %m\n -#: e2fsck/problem.c:1220 +#: e2fsck/problem.c:1143 #, c-format msgid "Error deallocating @i %i: %m\n" msgstr "Error al liberar el @i %i: %m\n" #. @-expanded: directory entry for '.' in %p (%i) is big.\n -#: e2fsck/problem.c:1225 +#: e2fsck/problem.c:1148 #, fuzzy, c-format msgid "@d @e for '.' in %p (%i) is big.\n" msgstr "La @e del @d para '.' es grande. " #. @-expanded: inode %i (%Q) is an illegal FIFO.\n -#: e2fsck/problem.c:1230 +#: e2fsck/problem.c:1153 msgid "@i %i (%Q) is an @I FIFO.\n" msgstr "El @i %i (%Q) es un FIFO @I.\n" #. @-expanded: inode %i (%Q) is an illegal socket.\n -#: e2fsck/problem.c:1235 +#: e2fsck/problem.c:1158 msgid "@i %i (%Q) is an @I socket.\n" msgstr "El @i %i (%Q) es un sócket @I.\n" #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n -#: e2fsck/problem.c:1240 +#: e2fsck/problem.c:1163 msgid "Setting filetype for @E to %N.\n" msgstr "Se pone el tipo de fichero para la @E a %N.\n" #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n -#: e2fsck/problem.c:1245 +#: e2fsck/problem.c:1168 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n" msgstr "La @E tiene un tipo de fichero incorrecto (era %Dt y @s %N).\n" #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n -#: e2fsck/problem.c:1250 +#: e2fsck/problem.c:1173 msgid "@E has filetype set.\n" msgstr "La @E tiene puesto el tipo de fichero.\n" #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n -#: e2fsck/problem.c:1255 +#: e2fsck/problem.c:1178 msgid "@E has a @z name.\n" msgstr "La @E tiene un nombre de @z.\n" #. @-expanded: Symlink %Q (inode #%i) is invalid.\n -#: e2fsck/problem.c:1260 +#: e2fsck/problem.c:1183 msgid "Symlink %Q (@i #%i) is @n.\n" msgstr "El enlace simbólico %Q (@i #%i) es @n.\n" #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n -#: e2fsck/problem.c:1265 +#: e2fsck/problem.c:1188 msgid "@a @b @F @n (%If).\n" msgstr "El @b del @a @F es @n (%If).\n" #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n -#: e2fsck/problem.c:1270 +#: e2fsck/problem.c:1193 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n" msgstr "" "El @f contiene ficheros muy grandes, pero no tiene la bandera LARGE_FILE en " "el @S.\n" -#. @-expanded: problem in HTREE directory inode %d: %B not referenced\n -#: e2fsck/problem.c:1275 -#, fuzzy -msgid "@p @h %d: %B not referenced\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) not referenced\n +#: e2fsck/problem.c:1198 +msgid "@p @h %d: node (%B) not referenced\n" msgstr "Hay un @p en el @h %d: el nodo (%B) no ha sido referenciado.\n" -#. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n -#: e2fsck/problem.c:1280 -#, fuzzy -msgid "@p @h %d: %B referenced twice\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) referenced twice\n +#: e2fsck/problem.c:1203 +msgid "@p @h %d: node (%B) referenced twice\n" msgstr "Hay un @p en el @h %d: el nodo (%B) ha sido referenciado dos veces.\n" -#. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n -#: e2fsck/problem.c:1285 -#, fuzzy -msgid "@p @h %d: %B has bad min hash\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has bad min hash\n +#: e2fsck/problem.c:1208 +msgid "@p @h %d: node (%B) has bad min hash\n" msgstr "Hay un @p en el @h %d: el nodo (%B) tiene un hash mínimo incorrecto.\n" -#. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n -#: e2fsck/problem.c:1290 -#, fuzzy -msgid "@p @h %d: %B has bad max hash\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has bad max hash\n +#: e2fsck/problem.c:1213 +msgid "@p @h %d: node (%B) has bad max hash\n" msgstr "Hay un @p en el @h %d: el nodo (%B) tiene un hash máximo incorrecto.\n" #. @-expanded: invalid HTREE directory inode %d (%q). -#: e2fsck/problem.c:1295 +#: e2fsck/problem.c:1218 msgid "@n @h %d (%q). " msgstr "El @h %d es @n (%q). " #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n -#: e2fsck/problem.c:1299 +#: e2fsck/problem.c:1222 msgid "@p @h %d (%q): bad @b number %b.\n" msgstr "Hay un @p en el @h %d (%q): el número del @b %b es incorrecto.\n" #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n -#: e2fsck/problem.c:1309 +#: e2fsck/problem.c:1232 #, c-format msgid "@p @h %d: root node is @n\n" msgstr "Hay un @p en el @h %d: el nodo raíz es @n.\n" -#. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n -#: e2fsck/problem.c:1314 -#, fuzzy -msgid "@p @h %d: %B has @n limit (%N)\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has invalid limit (%N)\n +#: e2fsck/problem.c:1237 +msgid "@p @h %d: node (%B) has @n limit (%N)\n" msgstr "Hay un @p en el @h %d: el nodo (%B) tiene un límite @n (%N).\n" -#. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n -#: e2fsck/problem.c:1319 -#, fuzzy -msgid "@p @h %d: %B has @n count (%N)\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has invalid count (%N)\n +#: e2fsck/problem.c:1242 +msgid "@p @h %d: node (%B) has @n count (%N)\n" msgstr "Hay un @p en el @h %d: el nodo (%B) tiene una cuenta @n (%N).\n" -#. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n -#: e2fsck/problem.c:1324 -#, fuzzy -msgid "@p @h %d: %B has an unordered hash table\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has an unordered hash table\n +#: e2fsck/problem.c:1247 +msgid "@p @h %d: node (%B) has an unordered hash table\n" msgstr "" "Hay un @p en el @h %d: el nodo (%B) tiene una tabla de hash no ordenada.\n" -#. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n -#: e2fsck/problem.c:1329 +#. @-expanded: problem in HTREE directory inode %d: node (%B) has invalid depth (%N)\n +#: e2fsck/problem.c:1252 #, fuzzy -msgid "@p @h %d: %B has @n depth (%N)\n" +msgid "@p @h %d: node (%B) has @n depth (%N)\n" msgstr "Hay un @p en el @h %d: el nodo (%B) su profundidad es @n.\n" #. @-expanded: Duplicate entry '%Dn' in %p (%i) found. -#: e2fsck/problem.c:1334 +#: e2fsck/problem.c:1257 msgid "Duplicate @E found. " msgstr "@E está duplicada. " #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n #. @-expanded: Rename to %s -#: e2fsck/problem.c:1339 +#: e2fsck/problem.c:1262 #, no-c-format msgid "" "@E has a non-unique filename.\n" @@ -2308,7 +2160,7 @@ msgstr "" #. @-expanded: Duplicate entry '%Dn' found.\n #. @-expanded: \tMarking %p (%i) to be rebuilt.\n #. @-expanded: \n -#: e2fsck/problem.c:1344 +#: e2fsck/problem.c:1267 msgid "" "Duplicate @e '%Dn' found.\n" "\tMarking %p (%i) to be rebuilt.\n" @@ -2319,118 +2171,112 @@ msgstr "" "\n" #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1349 +#: e2fsck/problem.c:1272 msgid "i_blocks_hi @F %N, @s zero.\n" msgstr "El i_blocks_hi @F %N, @s cero.\n" #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n -#: e2fsck/problem.c:1354 +#: e2fsck/problem.c:1277 #, fuzzy msgid "Unexpected @b in @h %d (%q).\n" msgstr "El @d del @i %i (%p) está desconectado\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n -#: e2fsck/problem.c:1358 +#: e2fsck/problem.c:1281 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n -#: e2fsck/problem.c:1363 +#: e2fsck/problem.c:1286 msgid "@E references @i %Di found in @g %g's unused inodes area.\n" msgstr "" -#. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1368 -#, fuzzy -msgid "i_file_acl_hi @F %N, @s zero.\n" -msgstr "El i_file_acl @F %If, @s cero.\n" - #. @-expanded: Pass 3: Checking directory connectivity\n -#: e2fsck/problem.c:1375 +#: e2fsck/problem.c:1293 msgid "Pass 3: Checking @d connectivity\n" msgstr "Paso 3: Revisando la conectividad de directorios\n" #. @-expanded: root inode not allocated. -#: e2fsck/problem.c:1380 +#: e2fsck/problem.c:1298 msgid "@r not allocated. " msgstr "El @r no ha sido reservado. " #. @-expanded: No room in lost+found directory. -#: e2fsck/problem.c:1385 +#: e2fsck/problem.c:1303 msgid "No room in @l @d. " msgstr "No hay espacio en el @d @l. " #. @-expanded: Unconnected directory inode %i (%p)\n -#: e2fsck/problem.c:1390 +#: e2fsck/problem.c:1308 #, c-format msgid "Unconnected @d @i %i (%p)\n" msgstr "El @d del @i %i (%p) está desconectado\n" #. @-expanded: /lost+found not found. -#: e2fsck/problem.c:1395 +#: e2fsck/problem.c:1313 msgid "/@l not found. " msgstr "No se encontró /@l. " #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n -#: e2fsck/problem.c:1400 +#: e2fsck/problem.c:1318 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n" msgstr "'..' en %Q (i) es %P (%j) y debería ser %q (%d).\n" #. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n -#: e2fsck/problem.c:1405 +#: e2fsck/problem.c:1323 msgid "Bad or non-existent /@l. Cannot reconnect.\n" msgstr "El /@l no existe o está dañado. No se puede reconectar.\n" #. @-expanded: Could not expand /lost+found: %m\n -#: e2fsck/problem.c:1410 +#: e2fsck/problem.c:1328 #, c-format msgid "Could not expand /@l: %m\n" msgstr "No se puede expandir /@l: %m\n" -#: e2fsck/problem.c:1415 +#: e2fsck/problem.c:1333 #, c-format msgid "Could not reconnect %i: %m\n" msgstr "No se puede reconectar %i: %m\n" #. @-expanded: Error while trying to find /lost+found: %m\n -#: e2fsck/problem.c:1420 +#: e2fsck/problem.c:1338 #, c-format msgid "Error while trying to find /@l: %m\n" msgstr "Error mientras se intentaba encontrar /@l: %m\n" #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1425 +#: e2fsck/problem.c:1343 #, c-format msgid "ext2fs_new_@b: %m while trying to create /@l @d\n" msgstr "ext2fs_new_block: %m mientras se intentaba crear el @d /@l.\n" #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1430 +#: e2fsck/problem.c:1348 #, c-format msgid "ext2fs_new_@i: %m while trying to create /@l @d\n" msgstr "ext2fs_new_inode: %m cuando se intentaba crear el @d /@l.\n" #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n -#: e2fsck/problem.c:1435 +#: e2fsck/problem.c:1353 #, c-format msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n" msgstr "ext2fs_new_dir_block: %m mientras se creaba un nuevo @b de @d.\n" #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n -#: e2fsck/problem.c:1440 +#: e2fsck/problem.c:1358 #, c-format msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n" msgstr "ext2fs_write_dir_block: %m mientras se escribía el @b de @d para /@l\n" #. @-expanded: Error while adjusting inode count on inode %i\n -#: e2fsck/problem.c:1445 +#: e2fsck/problem.c:1363 #, c-format msgid "Error while adjusting @i count on @i %i\n" msgstr "Error mientras se ajustaba la cuenta del @i en el @i %i\n" #. @-expanded: Couldn't fix parent of inode %i: %m\n #. @-expanded: \n -#: e2fsck/problem.c:1450 +#: e2fsck/problem.c:1368 #, c-format msgid "" "Couldn't fix parent of @i %i: %m\n" @@ -2444,7 +2290,7 @@ msgstr "" # Hay alguna regla que se me escape? mm #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n #. @-expanded: \n -#: e2fsck/problem.c:1455 +#: e2fsck/problem.c:1373 #, c-format msgid "" "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n" @@ -2455,76 +2301,76 @@ msgstr "" "\n" #. @-expanded: Error creating root directory (%s): %m\n -#: e2fsck/problem.c:1465 +#: e2fsck/problem.c:1383 #, c-format msgid "Error creating root @d (%s): %m\n" msgstr "Error al crear el @d raíz (%s): %m\n" #. @-expanded: Error creating /lost+found directory (%s): %m\n -#: e2fsck/problem.c:1470 +#: e2fsck/problem.c:1388 #, c-format msgid "Error creating /@l @d (%s): %m\n" msgstr "Error al crear el @d /@l (%s): %m\n" #. @-expanded: root inode is not a directory; aborting.\n -#: e2fsck/problem.c:1475 +#: e2fsck/problem.c:1393 msgid "@r is not a @d; aborting.\n" msgstr "El @r no es un @d; se finaliza la operación.\n" #. @-expanded: Cannot proceed without a root inode.\n -#: e2fsck/problem.c:1480 +#: e2fsck/problem.c:1398 msgid "Cannot proceed without a @r.\n" msgstr "No se puede proceder sin un @r.\n" #. @-expanded: /lost+found is not a directory (ino=%i)\n -#: e2fsck/problem.c:1490 +#: e2fsck/problem.c:1408 #, c-format msgid "/@l is not a @d (ino=%i)\n" msgstr "El /@l no es un @d (ino=%i)\n" -#: e2fsck/problem.c:1497 +#: e2fsck/problem.c:1415 msgid "Pass 3A: Optimizing directories\n" msgstr "Paso 3A: Optimizando directorios\n" -#: e2fsck/problem.c:1502 +#: e2fsck/problem.c:1420 #, fuzzy, c-format msgid "Failed to create dirs_to_hash iterator: %m\n" msgstr "Falla al crear el iterador dirs_to_hash: %m" -#: e2fsck/problem.c:1507 +#: e2fsck/problem.c:1425 #, fuzzy msgid "Failed to optimize directory %q (%d): %m\n" msgstr "Fallo al optimizar el directorio %q (%d): %m" -#: e2fsck/problem.c:1512 +#: e2fsck/problem.c:1430 msgid "Optimizing directories: " msgstr "Optimizando directorios: " -#: e2fsck/problem.c:1529 +#: e2fsck/problem.c:1447 msgid "Pass 4: Checking reference counts\n" msgstr "Paso 4: Revisando las cuentas de referencia\n" #. @-expanded: unattached zero-length inode %i. -#: e2fsck/problem.c:1534 +#: e2fsck/problem.c:1452 #, c-format msgid "@u @z @i %i. " msgstr "@i %i que tiene @z está @u. " #. @-expanded: unattached inode %i\n -#: e2fsck/problem.c:1539 +#: e2fsck/problem.c:1457 #, c-format msgid "@u @i %i\n" msgstr "el @i %i está @u\n" #. @-expanded: inode %i ref count is %Il, should be %N. -#: e2fsck/problem.c:1544 +#: e2fsck/problem.c:1462 msgid "@i %i ref count is %Il, @s %N. " msgstr "La cuenta de referencia del @i %i es %Il, y @s %N. " #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n -#: e2fsck/problem.c:1548 +#: e2fsck/problem.c:1466 msgid "" "WARNING: PROGRAMMING BUG IN E2FSCK!\n" "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n" @@ -2537,61 +2383,61 @@ msgstr "" "mismo!\n" #. @-expanded: Pass 5: Checking group summary information\n -#: e2fsck/problem.c:1558 +#: e2fsck/problem.c:1476 msgid "Pass 5: Checking @g summary information\n" msgstr "Paso 5: Revisando el resumen de información de grupos\n" #. @-expanded: Padding at end of inode bitmap is not set. -#: e2fsck/problem.c:1563 +#: e2fsck/problem.c:1481 msgid "Padding at end of @i @B is not set. " msgstr "No está puesto el relleno al final del @B del @i. " #. @-expanded: Padding at end of block bitmap is not set. -#: e2fsck/problem.c:1568 +#: e2fsck/problem.c:1486 msgid "Padding at end of @b @B is not set. " msgstr "No está puesto el relleno al final del @B del @b. " #. @-expanded: block bitmap differences: -#: e2fsck/problem.c:1573 +#: e2fsck/problem.c:1491 msgid "@b @B differences: " msgstr "Diferencias del @B del @b: " #. @-expanded: inode bitmap differences: -#: e2fsck/problem.c:1593 +#: e2fsck/problem.c:1511 msgid "@i @B differences: " msgstr "Diferencias del @B del @i: " #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1613 +#: e2fsck/problem.c:1531 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n" msgstr "" "La cuenta de nodos-i libres es incorrecta para el @g #%g (%i, contados=%j).\n" #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1618 +#: e2fsck/problem.c:1536 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n" msgstr "" "La cuenta de directorios es incorrecta para @g #%g (%i, contados=%j).\n" #. @-expanded: Free inodes count wrong (%i, counted=%j).\n -#: e2fsck/problem.c:1623 +#: e2fsck/problem.c:1541 msgid "Free @is count wrong (%i, counted=%j).\n" msgstr "La cuenta de nodos-i libres es incorrecta (%i, contados=%j).\n" #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n -#: e2fsck/problem.c:1628 +#: e2fsck/problem.c:1546 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n" msgstr "" "La cuenta de @bs libres es incorrecta para el @g #%g (%b, contados=%c).\n" #. @-expanded: Free blocks count wrong (%b, counted=%c).\n -#: e2fsck/problem.c:1633 +#: e2fsck/problem.c:1551 msgid "Free @bs count wrong (%b, counted=%c).\n" msgstr "La cuenta de @bs libres es incorrecta (%b, contados=%c).\n" #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap #. @-expanded: endpoints (%i, %j)\n -#: e2fsck/problem.c:1638 +#: e2fsck/problem.c:1556 msgid "" "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B " "endpoints (%i, %j)\n" @@ -2599,90 +2445,86 @@ msgstr "" "ERROR DE PROGRAMACIÓN: el @f (#%N) los puntos finales del %B (%b, %c) no " "coinciden con los puntos finales del @B calculados (%i, %j)\n" -#: e2fsck/problem.c:1644 +#: e2fsck/problem.c:1562 msgid "Internal error: fudging end of bitmap (%N)\n" msgstr "Error interno: el final del bitmap no tiene sentido (%N)\n" #. @-expanded: Error copying in replacement inode bitmap: %m\n -#: e2fsck/problem.c:1649 +#: e2fsck/problem.c:1567 #, c-format msgid "Error copying in replacement @i @B: %m\n" msgstr "Error al copiar el reemplazo del @i @B: %m\n" #. @-expanded: Error copying in replacement block bitmap: %m\n -#: e2fsck/problem.c:1654 +#: e2fsck/problem.c:1572 #, c-format msgid "Error copying in replacement @b @B: %m\n" msgstr "Error al copiar el reemplazo del @b @B: %m\n" +#. @-expanded: Recreate journal +#: e2fsck/problem.c:1597 +#, fuzzy +msgid "Recreate @j" +msgstr "Recrear" + #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n -#: e2fsck/problem.c:1679 +#: e2fsck/problem.c:1602 #, c-format msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n" msgstr "" #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n -#: e2fsck/problem.c:1684 +#: e2fsck/problem.c:1607 #, c-format msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n" msgstr "" -#. @-expanded: Recreate journal -#: e2fsck/problem.c:1691 -#, fuzzy -msgid "Recreate @j" -msgstr "Recrear" - -#: e2fsck/problem.c:1696 -msgid "Update quota info for quota type %N" -msgstr "" - -#: e2fsck/problem.c:1815 +#: e2fsck/problem.c:1725 #, c-format msgid "Unhandled error code (0x%x)!\n" msgstr "¡Código de error no previsto (0x%x)!\n" -#: e2fsck/problem.c:1940 e2fsck/problem.c:1944 +#: e2fsck/problem.c:1820 msgid "IGNORED" msgstr "SE IGNORA" -#: e2fsck/scantest.c:79 +#: e2fsck/scantest.c:81 #, c-format msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n" msgstr "Memoria utilizada: %d, tiempo transcurrido: %6.3f/%6.3f/%6.3f\n" -#: e2fsck/scantest.c:98 +#: e2fsck/scantest.c:100 #, c-format msgid "size of inode=%d\n" msgstr "tamaño del nodo-i=%d\n" -#: e2fsck/scantest.c:119 +#: e2fsck/scantest.c:121 msgid "while starting inode scan" msgstr "mientras se comenzaba a explorar los nodos-i" -#: e2fsck/scantest.c:130 +#: e2fsck/scantest.c:132 msgid "while doing inode scan" msgstr "mientras se exploraba los nodos-i" -#: e2fsck/super.c:188 +#: e2fsck/super.c:187 #, c-format msgid "while calling ext2fs_block_iterate for inode %d" msgstr "mientras se llamaba a ext2fs_block_iterate para el nodo-i %d" -#: e2fsck/super.c:211 -#, fuzzy, c-format -msgid "while calling ext2fs_adjust_ea_refcount2 for inode %d" +#: e2fsck/super.c:209 +#, c-format +msgid "while calling ext2fs_adjust_ea_refcount for inode %d" msgstr "mientras se llamaba a ext2fs_adjust_ea_refcount para el nodo-i %d" -#: e2fsck/super.c:272 +#: e2fsck/super.c:267 msgid "Truncating" msgstr "Truncando" -#: e2fsck/super.c:273 +#: e2fsck/super.c:268 msgid "Clearing" msgstr "Borrando" -#: e2fsck/unix.c:74 +#: e2fsck/unix.c:76 #, fuzzy, c-format msgid "" "Usage: %s [-panyrcdfvtDFV] [-b superblock] [-B blocksize]\n" @@ -2696,7 +2538,7 @@ msgstr "" "externo]\n" "\t\t[-E opciones-extendidas] dispositivo\n" -#: e2fsck/unix.c:80 +#: e2fsck/unix.c:82 #, c-format msgid "" "\n" @@ -2718,7 +2560,7 @@ msgstr "" " -f Fuerza la revisión aún si el sistema de ficheros\n" " está etiquetado como limpio\n" -#: e2fsck/unix.c:86 +#: e2fsck/unix.c:88 #, c-format msgid "" " -v Be verbose\n" @@ -2740,161 +2582,38 @@ msgstr "" " -L fichero_de_bloques_dañados \n" " Pone la lista de bloques dañados\n" -#: e2fsck/unix.c:130 -#, fuzzy, c-format -msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n" +#: e2fsck/unix.c:132 +#, c-format +msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n" msgstr "%s: %u/%u ficheros (%0d.%d%% no contiguos), %u/%u bloques\n" -#: e2fsck/unix.c:137 -#, fuzzy, c-format -msgid "" -"\n" -"%8u inode used (%2.2f%%)\n" -msgid_plural "" -"\n" -"%8u inodes used (%2.2f%%)\n" -msgstr[0] "" -"\n" -"%8d nodo-i utilizado (%d%%)\n" -msgstr[1] "" -"\n" -"%8d nodos i utilizados (%d%%)\n" - -#: e2fsck/unix.c:141 -#, fuzzy, c-format -msgid "%8u non-contiguous file (%0d.%d%%)\n" -msgid_plural "%8u non-contiguous files (%0d.%d%%)\n" -msgstr[0] "%8d nodo-i no contiguo (%0d.%d%%)\n" -msgstr[1] "%8d nodos i no contiguos (%0d.%d%%)\n" - -#: e2fsck/unix.c:146 -#, fuzzy, c-format -msgid "%8u non-contiguous directory (%0d.%d%%)\n" -msgid_plural "%8u non-contiguous directories (%0d.%d%%)\n" -msgstr[0] "%8d nodo-i no contiguo (%0d.%d%%)\n" -msgstr[1] "%8d nodos i no contiguos (%0d.%d%%)\n" - -#: e2fsck/unix.c:151 +#: e2fsck/unix.c:150 #, c-format msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" msgstr " # de nodos-i con bloques ind/dind/tind: %u/%u/%u\n" -#: e2fsck/unix.c:159 +#: e2fsck/unix.c:157 +#, c-format msgid " Extent depth histogram: " msgstr "" -#: e2fsck/unix.c:168 -#, fuzzy, c-format -msgid "%8llu block used (%2.2f%%)\n" -msgid_plural "%8llu blocks used (%2.2f%%)\n" -msgstr[0] "%8d bloque usado (%d%%)\n" -msgstr[1] "%d bloques usados (%d%%)\n" - -#: e2fsck/unix.c:171 -#, fuzzy, c-format -msgid "%8u bad block\n" -msgid_plural "%8u bad blocks\n" -msgstr[0] "%8d bloque dañado\n" -msgstr[1] "%8d bloques dañados\n" - -#: e2fsck/unix.c:173 -#, fuzzy, c-format -msgid "%8u large file\n" -msgid_plural "%8u large files\n" -msgstr[0] "%8d fichero grande\n" -msgstr[1] "%8d ficheros grandes\n" - -#: e2fsck/unix.c:175 -#, fuzzy, c-format -msgid "" -"\n" -"%8u regular file\n" -msgid_plural "" -"\n" -"%8u regular files\n" -msgstr[0] "fichero regular" -msgstr[1] "fichero regular" - -#: e2fsck/unix.c:177 -#, fuzzy, c-format -msgid "%8u directory\n" -msgid_plural "%8u directories\n" -msgstr[0] "%8d directorio\n" -msgstr[1] "%8d directorios\n" - -#: e2fsck/unix.c:179 -#, fuzzy, c-format -msgid "%8u character device file\n" -msgid_plural "%8u character device files\n" -msgstr[0] "dispositivo de caracteres" -msgstr[1] "dispositivo de caracteres" - -#: e2fsck/unix.c:182 -#, fuzzy, c-format -msgid "%8u block device file\n" -msgid_plural "%8u block device files\n" -msgstr[0] "dispositivo de bloque" -msgstr[1] "dispositivo de bloque" - -#: e2fsck/unix.c:184 -#, fuzzy, c-format -msgid "%8u fifo\n" -msgid_plural "%8u fifos\n" -msgstr[0] "%8d fifo\n" -msgstr[1] "%8d fifos\n" - -#: e2fsck/unix.c:186 -#, fuzzy, c-format -msgid "%8u link\n" -msgid_plural "%8u links\n" -msgstr[0] "%8d vínculo\n" -msgstr[1] "%8d vínculos\n" - -#: e2fsck/unix.c:189 -#, fuzzy, c-format -msgid "%8u symbolic link" -msgid_plural "%8u symbolic links" -msgstr[0] "enlace simbólico" -msgstr[1] "enlace simbólico" - -#: e2fsck/unix.c:191 -#, fuzzy, c-format -msgid " (%u fast symbolic link)\n" -msgid_plural " (%u fast symbolic links)\n" -msgstr[0] "(%d vínculo simbólico rápido)\n" -msgstr[1] "(%d vínculos simbólicos rápidos)\n" - -#: e2fsck/unix.c:195 -#, fuzzy, c-format -msgid "%8u socket\n" -msgid_plural "%8u sockets\n" -msgstr[0] "zócalo" -msgstr[1] "zócalo" - -#: e2fsck/unix.c:198 -#, fuzzy, c-format -msgid "%8u file\n" -msgid_plural "%8u files\n" -msgstr[0] "%8d fichero\n" -msgstr[1] "%8d ficheros\n" - -#: e2fsck/unix.c:212 misc/badblocks.c:983 misc/tune2fs.c:1979 misc/util.c:147 -#: resize/main.c:247 +#: e2fsck/unix.c:207 misc/badblocks.c:916 misc/tune2fs.c:1567 misc/util.c:151 +#: resize/main.c:248 #, c-format msgid "while determining whether %s is mounted." msgstr "mientras se determinaba si %s está montado." -#: e2fsck/unix.c:230 -#, fuzzy, c-format -msgid "Warning! %s is %s.\n" +#: e2fsck/unix.c:225 +#, c-format +msgid "Warning! %s is mounted.\n" msgstr "¡Atención! %s está montado.\n" -#: e2fsck/unix.c:237 +#: e2fsck/unix.c:229 #, c-format -msgid "%s is %s.\n" -msgstr "" +msgid "%s is mounted. " +msgstr "%s está montado. " -#: e2fsck/unix.c:240 +#: e2fsck/unix.c:231 msgid "" "Cannot continue, aborting.\n" "\n" @@ -2902,13 +2621,13 @@ msgstr "" "No se puede continuar, se finaliza.\n" "\n" -#: e2fsck/unix.c:242 -#, fuzzy +#: e2fsck/unix.c:232 +#, c-format msgid "" "\n" "\n" -"WARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" -"cause ***SEVERE*** filesystem damage.\n" +"\a\a\a\aWARNING!!! Running e2fsck on a mounted filesystem may cause\n" +"SEVERE filesystem damage.\a\a\a\n" "\n" msgstr "" "\n" @@ -2917,83 +2636,83 @@ msgstr "" "puede causar GRAVES daños al sistema de ficheros.\a\a\a\n" "\n" -#: e2fsck/unix.c:247 +#: e2fsck/unix.c:235 msgid "Do you really want to continue" msgstr "¿De verdad quiere continuar?" -#: e2fsck/unix.c:249 +#: e2fsck/unix.c:237 #, c-format msgid "check aborted.\n" msgstr "revisión terminada.\n" -#: e2fsck/unix.c:339 +#: e2fsck/unix.c:310 msgid " contains a file system with errors" msgstr " contiene un sistema de ficheros con errores" -#: e2fsck/unix.c:341 +#: e2fsck/unix.c:312 msgid " was not cleanly unmounted" msgstr " no fue desmontado limpiamente" -#: e2fsck/unix.c:343 +#: e2fsck/unix.c:314 msgid " primary superblock features different from backup" msgstr "" " las características del superbloque primario difieren de las de la copia de " "seguridad" -#: e2fsck/unix.c:347 +#: e2fsck/unix.c:318 #, c-format msgid " has been mounted %u times without being checked" msgstr " ha sido montado %u veces sin ser revisado" -#: e2fsck/unix.c:354 +#: e2fsck/unix.c:324 #, fuzzy msgid " has filesystem last checked time in the future" msgstr "Se pone la hora de la última revisión al sistema de ficheros a %s\n" -#: e2fsck/unix.c:360 +#: e2fsck/unix.c:330 #, c-format msgid " has gone %u days without being checked" msgstr " ya lleva %u días sin ser revisado" -#: e2fsck/unix.c:369 +#: e2fsck/unix.c:339 msgid ", check forced.\n" msgstr ", se fuerza la revisión.\n" -#: e2fsck/unix.c:402 -#, fuzzy, c-format -msgid "%s: clean, %u/%u files, %llu/%llu blocks" +#: e2fsck/unix.c:342 +#, c-format +msgid "%s: clean, %u/%u files, %u/%u blocks" msgstr "%s: limpio, %u/%u ficheros, %u/%u bloques" -#: e2fsck/unix.c:421 +#: e2fsck/unix.c:359 msgid " (check deferred; on battery)" msgstr " (comprobación aplazada; con baterías)" # O "revisión después del siguiente montaje". -#: e2fsck/unix.c:424 +#: e2fsck/unix.c:362 msgid " (check after next mount)" msgstr " (comprobación en el siguiente montaje)" -#: e2fsck/unix.c:426 +#: e2fsck/unix.c:364 #, c-format msgid " (check in %ld mounts)" msgstr " (comprobación después de %ld montajes)" -#: e2fsck/unix.c:576 +#: e2fsck/unix.c:511 #, c-format msgid "ERROR: Couldn't open /dev/null (%s)\n" msgstr "ERROR: no se puede abrir /dev/null (%s)\n" -#: e2fsck/unix.c:645 +#: e2fsck/unix.c:581 #, c-format msgid "Invalid EA version.\n" msgstr "Versión de EA no válida.\n" -#: e2fsck/unix.c:672 +#: e2fsck/unix.c:590 #, c-format msgid "Unknown extended option: %s\n" msgstr "Opción extendida desconocida: %s\n" -#: e2fsck/unix.c:697 +#: e2fsck/unix.c:612 #, c-format msgid "" "Syntax error in e2fsck config file (%s, line #%d)\n" @@ -3002,57 +2721,35 @@ msgstr "" "Error de sintaxis en el fichero de configuración de e2fsck (%s, línea #%d)\n" "\t%s\n" -#: e2fsck/unix.c:766 +#: e2fsck/unix.c:680 #, c-format msgid "Error validating file descriptor %d: %s\n" msgstr "Error al validar el descriptor de ficheros %d: %s\n" -#: e2fsck/unix.c:770 +#: e2fsck/unix.c:684 msgid "Invalid completion information file descriptor" msgstr "Información de consistencia no válida en el descriptor de ficheros" -#: e2fsck/unix.c:785 +#: e2fsck/unix.c:699 msgid "Only one of the options -p/-a, -n or -y may be specified." msgstr "Sólo se puede especificar una de las opciones -p/-a, -n o -y." -#: e2fsck/unix.c:806 +#: e2fsck/unix.c:720 #, c-format msgid "The -t option is not supported on this version of e2fsck.\n" msgstr "La opción -t no está implementada en esta versión de e2fsck.\n" -#: e2fsck/unix.c:837 e2fsck/unix.c:909 misc/tune2fs.c:811 misc/tune2fs.c:1100 -#: misc/tune2fs.c:1118 +#: e2fsck/unix.c:801 misc/tune2fs.c:549 misc/tune2fs.c:833 misc/tune2fs.c:850 #, c-format msgid "Unable to resolve '%s'" msgstr "No es posible resolver '%s'" -#: e2fsck/unix.c:888 -#, fuzzy -msgid "The -n and -D options are incompatible." -msgstr "" -"%s: Las opciones -n y -w se excluyen mutuamente.\n" -"\n" - -#: e2fsck/unix.c:893 -#, fuzzy -msgid "The -n and -c options are incompatible." -msgstr "" -"%s: Las opciones -n y -w se excluyen mutuamente.\n" -"\n" - -#: e2fsck/unix.c:898 -#, fuzzy -msgid "The -n and -l/-L options are incompatible." -msgstr "" -"%s: Las opciones -n y -w se excluyen mutuamente.\n" -"\n" - -#: e2fsck/unix.c:943 +#: e2fsck/unix.c:831 #, c-format msgid "The -c and the -l/-L options may not be both used at the same time.\n" msgstr "Las opciones -c y -l/-L no pueden ser utilizadas simultáneamente.\n" -#: e2fsck/unix.c:991 +#: e2fsck/unix.c:879 #, c-format msgid "" "E2FSCK_JBD_DEBUG \"%s\" not an integer\n" @@ -3061,7 +2758,7 @@ msgstr "" "E2FSCK_JBD_DEBUG \"%s\" no es un entero\n" "\n" -#: e2fsck/unix.c:1000 +#: e2fsck/unix.c:888 #, c-format msgid "" "\n" @@ -3072,72 +2769,39 @@ msgstr "" "Argumento no numérico inválido para -%c (\"%s\")\n" "\n" -#: e2fsck/unix.c:1089 -#, c-format -msgid "" -"MMP interval is %u seconds and total wait time is %u seconds. Please " -"wait...\n" -msgstr "" - -#: e2fsck/unix.c:1106 e2fsck/unix.c:1111 -#, fuzzy -msgid "while checking MMP block" -msgstr "mientras se ajustaba el superbloque" - -#: e2fsck/unix.c:1113 misc/tune2fs.c:1912 -msgid "" -"If you are sure the filesystem is not in use on any node, run:\n" -"'tune2fs -f -E clear_mmp {device}'\n" -msgstr "" - -#: e2fsck/unix.c:1163 +#: e2fsck/unix.c:929 #, c-format msgid "Error: ext2fs library version out of date!\n" msgstr "¡Error: la versión de la biblioteca ext2fs está caduca!\n" -#: e2fsck/unix.c:1171 +#: e2fsck/unix.c:937 msgid "while trying to initialize program" msgstr "mientras se intentaba inicializar el programa" -#: e2fsck/unix.c:1194 +#: e2fsck/unix.c:951 #, c-format msgid "\tUsing %s, %s\n" msgstr "\tAl emplear %s, %s\n" -#: e2fsck/unix.c:1206 +#: e2fsck/unix.c:963 msgid "need terminal for interactive repairs" msgstr "se necesita una terminal para hacer las reparaciones interactivas" -#: e2fsck/unix.c:1256 +#: e2fsck/unix.c:1010 #, c-format msgid "%s: %s trying backup blocks...\n" msgstr "%s: %s intentando los bloques de respaldo...\n" -#: e2fsck/unix.c:1258 +#: e2fsck/unix.c:1012 msgid "Superblock invalid," msgstr "Superbloque es inválido," -#: e2fsck/unix.c:1259 +#: e2fsck/unix.c:1013 msgid "Group descriptors look bad..." msgstr "Los descriptores de los grupos parecen dañados..." -#: e2fsck/unix.c:1269 -#, fuzzy, c-format -msgid "%s: %s while using the backup blocks" -msgstr "%s: %s intentando los bloques de respaldo...\n" - -# Ojo: No es que se haya encontrado un superbloque que resulta que no es -# válido, sino que no se ha encontrado ningún superbloque que sea válido, -# que es distinto (a lo mejor no se ha encontrado ningún superbloque -# en absoluto). Creo que la traducción debería cambiarse. sv -# En efecto, tienes toda la razón. Corregido. mm -#: e2fsck/unix.c:1273 -#, fuzzy, c-format -msgid "%s: going back to original superblock\n" -msgstr "" -"%s: no se encontró un superbloque válido en el fichero de transacciones\n" - -#: e2fsck/unix.c:1301 +#: e2fsck/unix.c:1040 +#, c-format msgid "" "The filesystem revision is apparently too high for this version of e2fsck.\n" "(Or the filesystem superblock is corrupt)\n" @@ -3148,30 +2812,29 @@ msgstr "" "versión de e2fsck. (O el superbloque del sistema de ficheros está dañado)\n" "\n" -#: e2fsck/unix.c:1307 +#: e2fsck/unix.c:1046 +#, c-format msgid "Could this be a zero-length partition?\n" msgstr "¿Esta podría ser una partición de longitud cero?\n" -#: e2fsck/unix.c:1310 +#: e2fsck/unix.c:1048 #, c-format msgid "You must have %s access to the filesystem or be root\n" msgstr "Se debe tener acceso %s al sistema de ficheros o ser root\n" -#: e2fsck/unix.c:1315 +#: e2fsck/unix.c:1053 +#, c-format msgid "Possibly non-existent or swap device?\n" msgstr "¿Es posible que no exista o que sea un dispositivo de intercambio?\n" -#: e2fsck/unix.c:1318 +#: e2fsck/unix.c:1055 +#, c-format msgid "Filesystem mounted or opened exclusively by another program?\n" msgstr "" "¿Sistema de ficheros montado o abierto en exclusiva por otro programa?\n" -#: e2fsck/unix.c:1321 -#, fuzzy -msgid "Possibly non-existent device?\n" -msgstr "¿Es posible que no exista o que sea un dispositivo de intercambio?\n" - -#: e2fsck/unix.c:1324 +#: e2fsck/unix.c:1059 +#, c-format msgid "" "Disk write-protected; use the -n option to do a read-only\n" "check of the device.\n" @@ -3179,16 +2842,17 @@ msgstr "" "El disco está protegido contra escritura; utilice la opción -n para\n" "hacer una revisión de sólo lectura al dispositivo.\n" -#: e2fsck/unix.c:1389 +#: e2fsck/unix.c:1123 msgid "Get a newer version of e2fsck!" msgstr "¡Consiga una versión más moderna de e2fsck!" -#: e2fsck/unix.c:1437 +#: e2fsck/unix.c:1147 #, c-format msgid "while checking ext3 journal for %s" msgstr "mientras se revisaba el fichero de transacciones ext3 para %s" -#: e2fsck/unix.c:1448 +#: e2fsck/unix.c:1158 +#, c-format msgid "" "Warning: skipping journal recovery because doing a read-only filesystem " "check.\n" @@ -3196,54 +2860,67 @@ msgstr "" "Atención: se omitirá la recuperación del fichero de transacciones debido a " "que se está haciendo una revisión de sólo lectura del sistema de ficheros.\n" -#: e2fsck/unix.c:1461 +#: e2fsck/unix.c:1171 #, c-format msgid "unable to set superblock flags on %s\n" msgstr "no es posible poner las banderas de superbloque en %s\n" -#: e2fsck/unix.c:1467 +#: e2fsck/unix.c:1177 #, c-format msgid "while recovering ext3 journal of %s" msgstr "mientras se recuperaba el fichero de transacciones ext3 de %s" -#: e2fsck/unix.c:1492 +#: e2fsck/unix.c:1201 #, c-format msgid "%s has unsupported feature(s):" msgstr "%s tiene características no soportadas:" -#: e2fsck/unix.c:1507 -#, fuzzy, c-format -msgid "%s: warning: compression support is experimental.\n" +#: e2fsck/unix.c:1217 +msgid "Warning: compression support is experimental.\n" msgstr "Atención: el soporte a la compresión es experimental.\n" -#: e2fsck/unix.c:1513 -#, fuzzy, c-format +#: e2fsck/unix.c:1222 +#, c-format msgid "" -"%s: e2fsck not compiled with HTREE support,\n" +"E2fsck not compiled with HTREE support,\n" "\tbut filesystem %s has HTREE directories.\n" msgstr "" "E2fsck no está compilado con soporte a ÃRBOLES-H,\n" "\tpero el sistema de ficheros %s tiene directorios con ÃRBOLES-H.\n" -#: e2fsck/unix.c:1565 -#, fuzzy, c-format -msgid "%s: %s while reading bad blocks inode\n" +#: e2fsck/unix.c:1276 +msgid "while reading bad blocks inode" msgstr "mientras se leían los bloques dañados del nodo-i" -#: e2fsck/unix.c:1568 +#: e2fsck/unix.c:1278 +#, c-format msgid "This doesn't bode well, but we'll try to go on...\n" msgstr "Esto no se se ve muy bien, pero se intentará continuar...\n" -#: e2fsck/unix.c:1609 +#: e2fsck/unix.c:1304 +msgid "Couldn't determine journal size" +msgstr "No se puede determinar el tamaño del fichero de transacciones" + +#: e2fsck/unix.c:1307 #, c-format msgid "Creating journal (%d blocks): " msgstr "Creando el fichero de transacciones (%d bloques): " -#: e2fsck/unix.c:1619 +#: e2fsck/unix.c:1314 misc/mke2fs.c:2091 +msgid "" +"\n" +"\twhile trying to create journal" +msgstr "" +"\n" +"\tmientras se intentaba crear el fichero de transacciones" + +#: e2fsck/unix.c:1317 +#, c-format msgid " Done.\n" msgstr " Hecho.\n" -#: e2fsck/unix.c:1620 +#: e2fsck/unix.c:1318 +#, c-format msgid "" "\n" "*** journal has been re-created - filesystem is now ext3 again ***\n" @@ -3252,24 +2929,25 @@ msgstr "" "*** el fichero de transacciones se ha creado de nuevo ***\n" "*** el sistema de ficheros vuelve a ser ext3 ***\n" -#: e2fsck/unix.c:1643 +#: e2fsck/unix.c:1325 +#, c-format msgid "Restarting e2fsck from the beginning...\n" msgstr "Se reinicia e2fsck desde el principio...\n" -#: e2fsck/unix.c:1647 +#: e2fsck/unix.c:1329 msgid "while resetting context" msgstr "mientras se reajusta el contexto" -#: e2fsck/unix.c:1654 +#: e2fsck/unix.c:1336 #, c-format msgid "%s: e2fsck canceled.\n" msgstr "%s: se cancela e2fsck.\n" -#: e2fsck/unix.c:1659 +#: e2fsck/unix.c:1341 msgid "aborted" msgstr "finalizado" -#: e2fsck/unix.c:1671 e2fsck/util.c:67 +#: e2fsck/unix.c:1353 #, c-format msgid "" "\n" @@ -3278,12 +2956,12 @@ msgstr "" "\n" "%s: ***** EL SISTEMA DE FICHEROS FUE MODIFICADO *****\n" -#: e2fsck/unix.c:1675 +#: e2fsck/unix.c:1356 #, c-format msgid "%s: ***** REBOOT LINUX *****\n" msgstr "%s: ***** REINICIE LINUX *****\n" -#: e2fsck/unix.c:1683 e2fsck/util.c:73 +#: e2fsck/unix.c:1364 #, c-format msgid "" "\n" @@ -3295,44 +2973,44 @@ msgstr "" "***********\n" "\n" -#: e2fsck/unix.c:1723 +#: e2fsck/unix.c:1400 #, fuzzy msgid "while setting block group checksum info" msgstr "mientras se ponía el nodo-i de bloques dañados" -#: e2fsck/util.c:189 misc/util.c:70 +#: e2fsck/util.c:138 misc/util.c:68 msgid "yY" msgstr "sS" -#: e2fsck/util.c:190 +#: e2fsck/util.c:139 msgid "nN" msgstr "nN" -#: e2fsck/util.c:204 +#: e2fsck/util.c:153 msgid "" msgstr "" -#: e2fsck/util.c:206 +#: e2fsck/util.c:155 msgid "" msgstr "" -#: e2fsck/util.c:208 +#: e2fsck/util.c:157 msgid " (y/n)" msgstr " (s/n)" -#: e2fsck/util.c:222 +#: e2fsck/util.c:172 msgid "cancelled!\n" msgstr "¡cancelado!\n" -#: e2fsck/util.c:237 +#: e2fsck/util.c:187 msgid "yes\n" msgstr "si\n" -#: e2fsck/util.c:239 +#: e2fsck/util.c:189 msgid "no\n" msgstr "no\n" -#: e2fsck/util.c:249 +#: e2fsck/util.c:199 #, c-format msgid "" "%s? no\n" @@ -3341,7 +3019,7 @@ msgstr "" "¿%s? no\n" "\n" -#: e2fsck/util.c:253 +#: e2fsck/util.c:203 #, c-format msgid "" "%s? yes\n" @@ -3350,40 +3028,40 @@ msgstr "" "¿%s? si\n" "\n" -#: e2fsck/util.c:257 +#: e2fsck/util.c:207 msgid "yes" msgstr "si" -#: e2fsck/util.c:257 +#: e2fsck/util.c:207 msgid "no" msgstr "no" -#: e2fsck/util.c:272 +#: e2fsck/util.c:221 #, c-format msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s" msgstr "e2fsck_read_bitmaps: bloque(s) ilegal(es) de mapas de bits para %s" -#: e2fsck/util.c:277 +#: e2fsck/util.c:226 msgid "reading inode and block bitmaps" msgstr "leyendo los mapas de bits del nodo-i y del bloque" -#: e2fsck/util.c:285 +#: e2fsck/util.c:231 #, c-format msgid "while retrying to read bitmaps for %s" msgstr "mientras se intentaban leer los mapas de bits para %s" -#: e2fsck/util.c:297 +#: e2fsck/util.c:243 #, fuzzy msgid "writing block and inode bitmaps" msgstr "escribiendo los mapas de bits del bloque" -#: e2fsck/util.c:302 +#: e2fsck/util.c:248 #, fuzzy, c-format msgid "while rewriting block and inode bitmaps for %s" msgstr "" "mientras se reintentaba escribir los mapas de bits de los nodos-i para %s" -#: e2fsck/util.c:314 +#: e2fsck/util.c:260 #, c-format msgid "" "\n" @@ -3396,52 +3074,45 @@ msgstr "" "%s: INCONSISTENCIA INESPERADA; EJECUTE fsck MANUALMENTE.\n" "(i.e., sin las opciones -a o -p)\n" -#: e2fsck/util.c:395 -#, fuzzy, c-format -msgid "Memory used: %luk/%luk (%luk/%luk), " +#: e2fsck/util.c:336 +#, c-format +msgid "Memory used: %dk/%dk (%dk/%dk), " msgstr "Memoria utilizada: %dk/%dk (%dk/%dk), " -#: e2fsck/util.c:399 -#, fuzzy, c-format -msgid "Memory used: %lu, " +#: e2fsck/util.c:340 +#, c-format +msgid "Memory used: %d, " msgstr "Memoria utilizada: %d, " -#: e2fsck/util.c:406 +#: e2fsck/util.c:346 #, c-format msgid "time: %5.2f/%5.2f/%5.2f\n" msgstr "fecha: %5.2f/%5.2f/%5.2f\n" -#: e2fsck/util.c:411 +#: e2fsck/util.c:351 #, c-format msgid "elapsed time: %6.3f\n" msgstr "tiempo transcurrido: %6.3f\n" -#: e2fsck/util.c:446 e2fsck/util.c:460 -#, fuzzy, c-format -msgid "while reading inode %lu in %s" +#: e2fsck/util.c:385 e2fsck/util.c:399 +#, c-format +msgid "while reading inode %ld in %s" msgstr "mientras se leía el nodo-i %ld en %s" -#: e2fsck/util.c:474 e2fsck/util.c:487 -#, fuzzy, c-format -msgid "while writing inode %lu in %s" +#: e2fsck/util.c:413 e2fsck/util.c:426 +#, c-format +msgid "while writing inode %ld in %s" msgstr "mientras se escribía el nodo-i %ld en %s" -#: e2fsck/util.c:636 +#: e2fsck/util.c:575 msgid "while allocating zeroizing buffer" msgstr "mientras se reservaba el búfer relleno con ceros" -#: e2fsck/util.c:788 -msgid "" -"UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is " -"running.\n" -msgstr "" - -#: misc/badblocks.c:69 -#, fuzzy -msgid "done \n" +#: misc/badblocks.c:66 +msgid "done \n" msgstr "hecho \n" -#: misc/badblocks.c:93 +#: misc/badblocks.c:89 #, fuzzy, c-format msgid "" "Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnf]\n" @@ -3456,7 +3127,7 @@ msgstr "" " [...]]]\n" " dispositivo [bloque_final [bloque_inicial]]\n" -#: misc/badblocks.c:104 +#: misc/badblocks.c:100 #, c-format msgid "" "%s: The -n and -w options are mutually exclusive.\n" @@ -3465,82 +3136,82 @@ msgstr "" "%s: Las opciones -n y -w se excluyen mutuamente.\n" "\n" -#: misc/badblocks.c:219 +#: misc/badblocks.c:202 #, c-format -msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)" +msgid "%6.2f%% done, %s elapsed" msgstr "" -#: misc/badblocks.c:322 +#: misc/badblocks.c:289 msgid "Testing with random pattern: " msgstr "Probando con un patrón aleatorio: " -#: misc/badblocks.c:340 +#: misc/badblocks.c:307 msgid "Testing with pattern 0x" msgstr "Probando con el patrón 0x" -#: misc/badblocks.c:372 misc/badblocks.c:445 +#: misc/badblocks.c:335 misc/badblocks.c:404 msgid "during seek" msgstr "durante la búsqueda" -#: misc/badblocks.c:383 +#: misc/badblocks.c:346 #, c-format msgid "Weird value (%ld) in do_read\n" msgstr "Valor extraño (%ld) en do_read\n" -#: misc/badblocks.c:469 +#: misc/badblocks.c:424 msgid "during ext2fs_sync_device" msgstr "durante el ext2fs_sync_device" -#: misc/badblocks.c:489 misc/badblocks.c:749 +#: misc/badblocks.c:440 misc/badblocks.c:699 msgid "while beginning bad block list iteration" msgstr "mientras se comenzaba la iteración en la lista de bloques dañados" -#: misc/badblocks.c:503 misc/badblocks.c:602 misc/badblocks.c:759 +#: misc/badblocks.c:454 misc/badblocks.c:551 misc/badblocks.c:709 msgid "while allocating buffers" msgstr "mientras se reservaban los búferes" -#: misc/badblocks.c:507 +#: misc/badblocks.c:458 #, c-format msgid "Checking blocks %lu to %lu\n" msgstr "Revisando los bloques del %lu al %lu\n" -#: misc/badblocks.c:512 +#: misc/badblocks.c:463 msgid "Checking for bad blocks in read-only mode\n" msgstr "Revisando los bloques dañados en modo de sólo lectura\n" -#: misc/badblocks.c:521 +#: misc/badblocks.c:472 msgid "Checking for bad blocks (read-only test): " msgstr "Se están revisando los bloques dañados (prueba de sólo lectura): " -#: misc/badblocks.c:528 misc/badblocks.c:634 misc/badblocks.c:676 -#: misc/badblocks.c:822 +#: misc/badblocks.c:480 misc/badblocks.c:583 misc/badblocks.c:628 +#: misc/badblocks.c:772 msgid "Too many bad blocks, aborting test\n" msgstr "" -#: misc/badblocks.c:609 +#: misc/badblocks.c:558 msgid "Checking for bad blocks in read-write mode\n" msgstr "Se están revisando los bloques dañados en modo de lectura-escritura\n" -#: misc/badblocks.c:611 misc/badblocks.c:772 +#: misc/badblocks.c:560 misc/badblocks.c:722 #, c-format msgid "From block %lu to %lu\n" msgstr "Del bloque %lu al %lu\n" -#: misc/badblocks.c:666 +#: misc/badblocks.c:618 msgid "Reading and comparing: " msgstr "Leyendo y comparando: " -#: misc/badblocks.c:771 +#: misc/badblocks.c:721 msgid "Checking for bad blocks in non-destructive read-write mode\n" msgstr "" "Revisando los bloques dañados en modo lectura-escritura no destructivo\n" -#: misc/badblocks.c:777 +#: misc/badblocks.c:727 msgid "Checking for bad blocks (non-destructive read-write test)\n" msgstr "" "Revisando los bloques dañados (prueba de lectura-escritura no destructiva)\n" -#: misc/badblocks.c:784 +#: misc/badblocks.c:734 msgid "" "\n" "Interrupt caught, cleaning up\n" @@ -3548,56 +3219,61 @@ msgstr "" "\n" "Se interceptó una interrupción, se limpia todo\n" -#: misc/badblocks.c:867 +#: misc/badblocks.c:810 #, c-format msgid "during test data write, block %lu" msgstr "durante la prueba de escritura de datos del bloque %lu" -#: misc/badblocks.c:988 misc/util.c:152 +#: misc/badblocks.c:921 misc/util.c:156 #, c-format msgid "%s is mounted; " msgstr "%s está montado; " -#: misc/badblocks.c:990 +#: misc/badblocks.c:923 msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "" "los bloques dañados se fuerzan de todas formas. Se cree que /etc/mtab esté " "incorrecto.\n" -#: misc/badblocks.c:995 +#: misc/badblocks.c:928 msgid "it's not safe to run badblocks!\n" msgstr "¡No es seguro ejecutar los bloques dañados!\n" -#: misc/badblocks.c:1000 misc/util.c:163 +#: misc/badblocks.c:933 misc/util.c:167 #, c-format msgid "%s is apparently in use by the system; " msgstr "%s está aparentemente en uso por el sistema; " -#: misc/badblocks.c:1003 +#: misc/badblocks.c:936 msgid "badblocks forced anyway.\n" msgstr "los bloques dañados se fuerzan de todas formas.\n" -#: misc/badblocks.c:1023 +#: misc/badblocks.c:956 #, fuzzy, c-format msgid "invalid %s - %s" msgstr "tamaño del bloque inválido - %s" -#: misc/badblocks.c:1133 +#: misc/badblocks.c:1015 +#, c-format +msgid "bad block size - %s" +msgstr "tamaño de los bloques dañados - %s" + +#: misc/badblocks.c:1070 #, c-format msgid "can't allocate memory for test_pattern - %s" msgstr "no se puede reservar memoria para el patrón_de_prueba - %s" -#: misc/badblocks.c:1163 +#: misc/badblocks.c:1097 msgid "Maximum of one test_pattern may be specified in read-only mode" msgstr "" "Sólo un máximo de un patrón_de_prueba puede ser especificado en modo sólo " "lectura" -#: misc/badblocks.c:1169 +#: misc/badblocks.c:1103 msgid "Random test_pattern is not allowed in read-only mode" msgstr "El patrón_de_prueba aleatorio no está permitido en modo sólo lectura" -#: misc/badblocks.c:1183 +#: misc/badblocks.c:1117 msgid "" "Couldn't determine device size; you must specify\n" "the size manually\n" @@ -3605,152 +3281,127 @@ msgstr "" "No se puede determinar el tamaño del dispositivo; se debe especificar\n" "de forma manual\n" -#: misc/badblocks.c:1189 +#: misc/badblocks.c:1123 msgid "while trying to determine device size" msgstr "mientras se intentaba determinar el tamaño del dispositivo" -#: misc/badblocks.c:1194 +#: misc/badblocks.c:1128 #, fuzzy msgid "last block" msgstr "Reubicando bloques" -#: misc/badblocks.c:1200 +#: misc/badblocks.c:1134 #, fuzzy msgid "first block" msgstr "Primer bloque de datos=%u\n" -#: misc/badblocks.c:1203 +#: misc/badblocks.c:1137 #, fuzzy, c-format msgid "invalid starting block (%lu): must be less than %lu" msgstr "bloque inicial no válido (%d): debe ser menos que %lu" -#: misc/badblocks.c:1259 +#: misc/badblocks.c:1193 msgid "while creating in-memory bad blocks list" msgstr "cuando se creaba la lista de bloques dañados en memoria" -#: misc/badblocks.c:1274 +#: misc/badblocks.c:1208 msgid "while adding to in-memory bad block list" msgstr "cuando se añadía a la lista de bloques dañados en memoria" -#: misc/badblocks.c:1298 -#, fuzzy, c-format -msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n" +#: misc/badblocks.c:1232 +#, c-format +msgid "Pass completed, %u bad blocks found.\n" msgstr "Paso terminado, se encontraron %u bloques dañados.\n" -#: misc/chattr.c:86 +#: misc/chattr.c:85 #, fuzzy, c-format -msgid "Usage: %s [-RVf] [-+=AacDdeijsSu] [-v version] files...\n" +msgid "Usage: %s [-RVf] [-+=AacDdijsSu] [-v version] files...\n" msgstr "modo de empleo: %s [-RV] [-+=AacDdijsSu] [-v versión] ficheros...\n" -#: misc/chattr.c:154 +#: misc/chattr.c:152 #, c-format msgid "bad version - %s\n" msgstr "versión incorrecta - %s\n" -#: misc/chattr.c:201 misc/lsattr.c:116 +#: misc/chattr.c:198 misc/lsattr.c:113 #, c-format msgid "while trying to stat %s" msgstr "mientras se intentaba ver el estado del fichero %s" -#: misc/chattr.c:208 -#, c-format -msgid "while reading flags on %s" -msgstr "mientras se estaban leyendo las banderas en %s" - -#: misc/chattr.c:217 misc/chattr.c:236 -#, fuzzy, c-format -msgid "Clearing extent flag not supported on %s" -msgstr "" -"No se soporta desactivar la característica '%s' del sistema de ficheros.\n" - -#: misc/chattr.c:222 misc/chattr.c:241 +#: misc/chattr.c:204 misc/chattr.c:222 #, c-format msgid "Flags of %s set as " msgstr "Las banderas de %s están puestas como " -#: misc/chattr.c:250 +#: misc/chattr.c:214 +#, c-format +msgid "while reading flags on %s" +msgstr "mientras se estaban leyendo las banderas en %s" + +#: misc/chattr.c:231 #, c-format msgid "while setting flags on %s" msgstr "mientras se ponían las banderas en %s" -#: misc/chattr.c:258 +#: misc/chattr.c:239 #, c-format msgid "Version of %s set as %lu\n" msgstr "La versión de %s está puesta como %lu\n" -#: misc/chattr.c:262 +#: misc/chattr.c:243 #, c-format msgid "while setting version on %s" msgstr "mientras se estaba poniendo la versión en %s" -#: misc/chattr.c:282 +#: misc/chattr.c:263 #, c-format msgid "Couldn't allocate path variable in chattr_dir_proc" msgstr "No se puede reservar la variable de ruta en chattr_dir_proc" -#: misc/chattr.c:322 +#: misc/chattr.c:302 msgid "= is incompatible with - and +\n" msgstr "= es incompatible con - y +\n" -#: misc/chattr.c:330 +#: misc/chattr.c:310 msgid "Must use '-v', =, - or +\n" msgstr "Se debe usar '-v', =, - o +\n" -#: misc/dumpe2fs.c:55 -#, fuzzy, c-format -msgid "Usage: %s [-bfhixV] [-o superblock=] [-o blocksize=] device\n" +#: misc/dumpe2fs.c:53 +#, c-format +msgid "Usage: %s [-bfhixV] [-ob superblock] [-oB blocksize] device\n" msgstr "" "Modo de empleo: %s [-bfhixV] [-ob superbloque] [-oB tamañodelbloque] " "dispositivo\n" -#: misc/dumpe2fs.c:159 -#, fuzzy -msgid "blocks" -msgstr "bbloque" - #: misc/dumpe2fs.c:168 -msgid "clusters" -msgstr "" - -#: misc/dumpe2fs.c:196 #, c-format msgid "Group %lu: (Blocks " msgstr "Grupo %lu: (Bloques " -#: misc/dumpe2fs.c:204 +#: misc/dumpe2fs.c:173 #, c-format -msgid " Checksum 0x%04x" +msgid " Checksum 0x%04x, unused inodes %d\n" msgstr "" -#: misc/dumpe2fs.c:206 -#, c-format -msgid " (EXPECTED 0x%04x)" -msgstr "" - -#: misc/dumpe2fs.c:207 -#, fuzzy, c-format -msgid ", unused inodes %u\n" -msgstr "número de los nodos-i inválido - %s" - -#: misc/dumpe2fs.c:212 +#: misc/dumpe2fs.c:178 #, c-format msgid " %s superblock at " msgstr " %s superbloque en " -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Primary" msgstr "Primario" -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Backup" msgstr "Respaldo" -#: misc/dumpe2fs.c:217 +#: misc/dumpe2fs.c:183 #, c-format msgid ", Group descriptors at " msgstr ", descriptores de grupo en " -#: misc/dumpe2fs.c:221 +#: misc/dumpe2fs.c:187 #, c-format msgid "" "\n" @@ -3759,20 +3410,20 @@ msgstr "" "\n" " Se reservaron los bloques GDT en " -#: misc/dumpe2fs.c:228 +#: misc/dumpe2fs.c:194 #, c-format msgid " Group descriptor at " msgstr " Descriptor de grupo en " -#: misc/dumpe2fs.c:234 +#: misc/dumpe2fs.c:200 msgid " Block bitmap at " msgstr " Mapa de bits de bloque en " -#: misc/dumpe2fs.c:238 +#: misc/dumpe2fs.c:205 msgid ", Inode bitmap at " msgstr ", mapa de bits de nodo-i en " -#: misc/dumpe2fs.c:242 +#: misc/dumpe2fs.c:210 msgid "" "\n" " Inode table at " @@ -3780,91 +3431,56 @@ msgstr "" "\n" " tabla de nodos-i en " -#: misc/dumpe2fs.c:248 +#: misc/dumpe2fs.c:217 #, fuzzy, c-format msgid "" "\n" -" %u free %s, %u free inodes, %u directories%s" +" %u free blocks, %u free inodes, %u directories%s" msgstr "" "\n" " %d bloques libres, %d nodos-i libres, % directorios\n" -#: misc/dumpe2fs.c:255 +#: misc/dumpe2fs.c:224 #, c-format msgid ", %u unused inodes\n" msgstr "" -#: misc/dumpe2fs.c:258 +#: misc/dumpe2fs.c:227 msgid " Free blocks: " msgstr " Bloques libres: " -#: misc/dumpe2fs.c:269 +#: misc/dumpe2fs.c:237 msgid " Free inodes: " msgstr " Nodos-i libres: " -#: misc/dumpe2fs.c:300 +#: misc/dumpe2fs.c:264 msgid "while printing bad block list" msgstr "mientras se imprimía la lista de bloques dañados" -#: misc/dumpe2fs.c:306 +#: misc/dumpe2fs.c:270 #, c-format msgid "Bad blocks: %u" msgstr "Bloques dañados: %u" -#: misc/dumpe2fs.c:333 misc/tune2fs.c:302 +#: misc/dumpe2fs.c:292 misc/tune2fs.c:279 msgid "while reading journal inode" msgstr "mientras se leía el nodo-i del fichero de transacciones" -#: misc/dumpe2fs.c:339 -#, fuzzy -msgid "while opening journal inode" -msgstr "mientras se leía el nodo-i del fichero de transacciones" +#: misc/dumpe2fs.c:295 +msgid "Journal size: " +msgstr "Tamaño de fichero de transacciones: " -#: misc/dumpe2fs.c:345 -#, fuzzy -msgid "while reading journal super block" +#: misc/dumpe2fs.c:319 misc/tune2fs.c:200 +msgid "while reading journal superblock" msgstr "mientras se leía el superbloque del fichero de transacciones" -#: misc/dumpe2fs.c:355 -#, fuzzy, c-format -msgid "Journal features: " -msgstr "Usuarios del fichero de transacciones: %s\n" - -#: misc/dumpe2fs.c:368 -msgid "Journal size: " -msgstr "Tamaño de fichero de transacciones: " +#: misc/dumpe2fs.c:327 +msgid "Couldn't find journal superblock magic numbers" +msgstr "" +"No se pueden encontrar los números mágicos del superbloque del fichero de " +"transacciones" -#: misc/dumpe2fs.c:379 -#, fuzzy, c-format -msgid "" -"Journal length: %u\n" -"Journal sequence: 0x%08x\n" -"Journal start: %u\n" -msgstr "" -"\n" -"Tamaño del bloque del fichero de transacciones: %u\n" -"Longitud del fichero de transacciones: %u\n" -"Primer bloque del fichero de transacciones: %u\n" -"Secuencia del fichero de transacciones: 0x%08x\n" -"Inicio del fichero de transacciones: %u\n" -"Número de usuarios del fichero de transacciones: %u\n" - -#: misc/dumpe2fs.c:386 -#, fuzzy, c-format -msgid "Journal errno: %d\n" -msgstr "Usuarios del fichero de transacciones: %s\n" - -#: misc/dumpe2fs.c:401 misc/tune2fs.c:218 -msgid "while reading journal superblock" -msgstr "mientras se leía el superbloque del fichero de transacciones" - -#: misc/dumpe2fs.c:409 -msgid "Couldn't find journal superblock magic numbers" -msgstr "" -"No se pueden encontrar los números mágicos del superbloque del fichero de " -"transacciones" - -#: misc/dumpe2fs.c:413 +#: misc/dumpe2fs.c:331 #, c-format msgid "" "\n" @@ -3883,28 +3499,28 @@ msgstr "" "Inicio del fichero de transacciones: %u\n" "Número de usuarios del fichero de transacciones: %u\n" -#: misc/dumpe2fs.c:426 +#: misc/dumpe2fs.c:344 #, c-format msgid "Journal users: %s\n" msgstr "Usuarios del fichero de transacciones: %s\n" -#: misc/dumpe2fs.c:442 misc/mke2fs.c:662 misc/tune2fs.c:1137 +#: misc/dumpe2fs.c:360 misc/mke2fs.c:693 misc/tune2fs.c:868 #, c-format msgid "Couldn't allocate memory to parse options!\n" msgstr "" "¡No se puede reservar memoria para analizar sintácticamente las opciones!\n" -#: misc/dumpe2fs.c:468 +#: misc/dumpe2fs.c:386 #, c-format msgid "Invalid superblock parameter: %s\n" msgstr "Parámetro de superbloque no válido: %s\n" -#: misc/dumpe2fs.c:483 +#: misc/dumpe2fs.c:401 #, c-format msgid "Invalid blocksize parameter: %s\n" msgstr "Parámetro de tamaño del bloque no válido: %s\n" -#: misc/dumpe2fs.c:494 +#: misc/dumpe2fs.c:412 #, c-format msgid "" "\n" @@ -3927,19 +3543,19 @@ msgstr "" "\tsuperblock=\n" "\tblocksize=\n" -#: misc/dumpe2fs.c:554 misc/mke2fs.c:1525 +#: misc/dumpe2fs.c:471 misc/mke2fs.c:1355 #, c-format msgid "\tUsing %s\n" msgstr "\tSe emplea %s\n" -#: misc/dumpe2fs.c:590 misc/e2image.c:1309 misc/tune2fs.c:1923 -#: resize/main.c:305 +#: misc/dumpe2fs.c:507 misc/e2image.c:674 misc/tune2fs.c:1518 +#: resize/main.c:311 #, c-format msgid "Couldn't find valid filesystem superblock.\n" msgstr "" "No se pudo encontrar un superbloque válido para el sistema de ficheros.\n" -#: misc/dumpe2fs.c:618 +#: misc/dumpe2fs.c:532 #, c-format msgid "" "\n" @@ -3948,82 +3564,77 @@ msgstr "" "\n" "%s: %s: error al leer los mapas de bits: %s\n" -#: misc/e2image.c:87 -#, fuzzy, c-format -msgid "Usage: %s [-rsIQ] device image_file\n" -msgstr "Modo de empleo: %s [-rsI] dispositivo fichero_de_imagen\n" - -#: misc/e2image.c:135 +#: misc/e2image.c:52 #, c-format -msgid "Error: header size is bigger than wrt_size\n" -msgstr "" +msgid "Usage: %s [-rsI] device image_file\n" +msgstr "Modo de empleo: %s [-rsI] dispositivo fichero_de_imagen\n" -#: misc/e2image.c:141 +#: misc/e2image.c:64 msgid "Couldn't allocate header buffer\n" msgstr "No se puede reservar el búfer del encabezado\n" -#: misc/e2image.c:171 +#: misc/e2image.c:83 +#, c-format +msgid "short write (only %d bytes) for writing image header" +msgstr "se escribió muy poco (sólo %d bytes) para el encabezado de la imagen" + +#: misc/e2image.c:102 msgid "while writing superblock" msgstr "mientras se escribía el superbloque" -#: misc/e2image.c:179 +#: misc/e2image.c:110 msgid "while writing inode table" msgstr "mientras se escribía la tabla de nodos-i" -#: misc/e2image.c:186 +#: misc/e2image.c:117 msgid "while writing block bitmap" msgstr "mientras se escribía el mapa de bits del bloque" -#: misc/e2image.c:193 +#: misc/e2image.c:124 msgid "while writing inode bitmap" msgstr "mientras se escribía el mapa de bits del nodo-i" -#: misc/e2image.c:1341 -#, c-format -msgid "while trying to convert qcow2 image (%s) into raw image (%s)" -msgstr "" - -#: misc/e2label.c:58 +#: misc/e2label.c:57 #, c-format msgid "e2label: cannot open %s\n" msgstr "e2label: no se puede abrir %s\n" -#: misc/e2label.c:63 +#: misc/e2label.c:62 #, c-format msgid "e2label: cannot seek to superblock\n" msgstr "e2label: no se puede buscar al superbloque\n" -#: misc/e2label.c:68 +#: misc/e2label.c:67 #, c-format msgid "e2label: error reading superblock\n" msgstr "e2label: error leyendo el superbloque\n" -#: misc/e2label.c:72 +#: misc/e2label.c:71 #, c-format msgid "e2label: not an ext2 filesystem\n" msgstr "e2label: no es un sistema de ficheros ext2\n" -#: misc/e2label.c:97 misc/tune2fs.c:2074 +#: misc/e2label.c:96 misc/tune2fs.c:1653 #, c-format msgid "Warning: label too long, truncating.\n" msgstr "Atención: la etiqueta es muy larga, se trunca.\n" -#: misc/e2label.c:100 +#: misc/e2label.c:99 #, c-format msgid "e2label: cannot seek to superblock again\n" msgstr "e2label: de nuevo, no se puede encontrar al superbloque\n" -#: misc/e2label.c:105 +#: misc/e2label.c:104 #, c-format msgid "e2label: error writing superblock\n" msgstr "e2label: error al escribir el superbloque\n" -#: misc/e2label.c:117 misc/tune2fs.c:803 +#: misc/e2label.c:116 misc/tune2fs.c:541 #, c-format msgid "Usage: e2label device [newlabel]\n" msgstr "Modo de empleo: e2label dispositivo [nuevabandera]\n" -#: misc/e2undo.c:36 +#: misc/e2undo.c:35 #, c-format msgid "Usage: %s \n" msgstr "" @@ -4033,7 +3644,7 @@ msgstr "" msgid "Failed to read the file system data \n" msgstr "Falla al crear el iterador dirs_to_hash: %m" -#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:206 +#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:204 #, c-format msgid "Failed tdb_fetch %s\n" msgstr "" @@ -4047,49 +3658,48 @@ msgstr "" msgid "The file system UUID didn't match \n" msgstr "" -#: misc/e2undo.c:163 +#: misc/e2undo.c:161 #, fuzzy, c-format msgid "Failed tdb_open %s\n" msgstr "mientras se abría %s" -#: misc/e2undo.c:169 +#: misc/e2undo.c:167 #, fuzzy, c-format msgid "Error while determining whether %s is mounted.\n" msgstr "mientras se determinaba si %s está montado." -#: misc/e2undo.c:175 +#: misc/e2undo.c:173 msgid "e2undo should only be run on unmounted file system\n" msgstr "" -#: misc/e2undo.c:184 +#: misc/e2undo.c:182 #, fuzzy, c-format msgid "Failed to open %s\n" msgstr "mientras se intentaba abrir %s" -#: misc/e2undo.c:210 +#: misc/e2undo.c:208 #, c-format -msgid "Replayed transaction of size %zd at location %llu\n" +msgid "Replayed transaction of size %zd at location %ld\n" msgstr "" -#: misc/e2undo.c:216 +#: misc/e2undo.c:214 #, c-format msgid "Failed write %s\n" msgstr "" -#: misc/fsck.c:343 +#: misc/fsck.c:347 #, c-format msgid "WARNING: couldn't open %s: %s\n" msgstr "ATENCIÓN: no se puede abrir %s: %s\n" -#: misc/fsck.c:353 +#: misc/fsck.c:357 #, c-format msgid "WARNING: bad format on line %d of %s\n" msgstr "ATENCIÓN: formato incorrecto en la línea %d de %s\n" -#: misc/fsck.c:370 -#, fuzzy +#: misc/fsck.c:372 msgid "" -"WARNING: Your /etc/fstab does not contain the fsck passno\n" +"\a\a\aWARNING: Your /etc/fstab does not contain the fsck passno\n" "\tfield. I will kludge around things for you, but you\n" "\tshould fix your /etc/fstab file as soon as you can.\n" "\n" @@ -4099,37 +3709,37 @@ msgstr "" "fichero /etc/fstab tan pronto como sea posible.\n" "\n" -#: misc/fsck.c:478 +#: misc/fsck.c:481 #, c-format msgid "fsck: %s: not found\n" msgstr "fsck: %s: no se encontró\n" -#: misc/fsck.c:594 +#: misc/fsck.c:597 #, c-format msgid "%s: wait: No more child process?!?\n" msgstr "%s: espera: ¿¡¿No hay más procesos hijos?!?\n" -#: misc/fsck.c:616 +#: misc/fsck.c:619 #, c-format msgid "Warning... %s for device %s exited with signal %d.\n" msgstr "Atención... %s para el dispositivo %s que finalizó con la señal %d.\n" -#: misc/fsck.c:622 +#: misc/fsck.c:625 #, c-format msgid "%s %s: status is %x, should never happen.\n" msgstr "%s %s: el estatus es %x, y nunca debió haber sucedido.\n" -#: misc/fsck.c:661 +#: misc/fsck.c:664 #, c-format msgid "Finished with %s (exit status %d)\n" msgstr "Se finaliza con %s (estado de salida %d)\n" -#: misc/fsck.c:721 +#: misc/fsck.c:724 #, c-format msgid "%s: Error %d while executing fsck.%s for %s\n" msgstr "%s: Error %d mientras se ejecutaba fsck. %s para %s\n" -#: misc/fsck.c:742 +#: misc/fsck.c:745 msgid "" "Either all or none of the filesystem types passed to -t must be prefixed\n" "with 'no' or '!'.\n" @@ -4137,74 +3747,73 @@ msgstr "" "Puede ser que todos o ninguno de los tipos de sistemas de ficheros que se \n" "pasaron con -t deban estar con el prefijo 'no' o '!0.\n" -#: misc/fsck.c:761 +#: misc/fsck.c:764 msgid "Couldn't allocate memory for filesystem types\n" msgstr "No se puede reservar memoria para los tipos de sistema de ficheros\n" -#: misc/fsck.c:884 +#: misc/fsck.c:887 #, c-format msgid "" "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass " "number\n" msgstr "" -#: misc/fsck.c:911 +#: misc/fsck.c:914 #, c-format msgid "fsck: cannot check %s: fsck.%s not found\n" msgstr "fsck: no se puede verificar %s: fsck.%s no se encuentra\n" -#: misc/fsck.c:967 +#: misc/fsck.c:970 msgid "Checking all file systems.\n" msgstr "Revisando todos los sistemas de ficheros.\n" -#: misc/fsck.c:1058 +#: misc/fsck.c:1061 #, c-format msgid "--waiting-- (pass %d)\n" msgstr "--esperando-- (paso %d)\n" -#: misc/fsck.c:1078 +#: misc/fsck.c:1081 msgid "" "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" msgstr "" "Modo de empleo: fsck [-AMNPRTV] [ -C [ fd ] ] [-t tipo_de_sf]\n" " [opciones_de_sf] [sistema_de_ficheros ...]\n" -#: misc/fsck.c:1120 +#: misc/fsck.c:1123 #, c-format msgid "%s: too many devices\n" msgstr "%s: demasiados dispositivos\n" -#: misc/fsck.c:1153 misc/fsck.c:1239 +#: misc/fsck.c:1156 misc/fsck.c:1242 #, c-format msgid "%s: too many arguments\n" msgstr "%s: demasiados argumentos\n" -#: misc/lsattr.c:74 +#: misc/lsattr.c:73 #, c-format msgid "Usage: %s [-RVadlv] [files...]\n" msgstr "Modo de empleo: %s [-RVadlv] [ficheros...]\n" -#: misc/lsattr.c:84 +#: misc/lsattr.c:83 #, c-format msgid "While reading flags on %s" msgstr "Mientras se leían las banderas en %s" -#: misc/lsattr.c:91 +#: misc/lsattr.c:90 #, c-format msgid "While reading version on %s" msgstr "Mientras se leía la versión en %s" -#: misc/mke2fs.c:114 +#: misc/mke2fs.c:104 #, fuzzy, c-format msgid "" -"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n" +"Usage: %s [-c|-l filename] [-b block-size] [-f fragment-size]\n" "\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n" -"\t[-G flex-group-size] [-N number-of-inodes]\n" +"\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n" "\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n" -"\t[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-" -"count]\n" +"\t[-T fs-type] [-U UUID] [-jnqvFSV] device [blocks-count]\n" msgstr "" "Modo de empleo: %s [-c|-l nombre-del-fichero] [-b tamaño-del-bloque]\n" "\t[-f tamaño-del-fragmento] [-i bytes-por-nodo-i] [-I tamaño-del-nodo-i]\n" @@ -4215,252 +3824,230 @@ msgstr "" "\t[-r revisión-del-sf] [-E opción-extendida{,...]]\n" "\t[-T tipo-del-sf] [-jnqvFSV] dispositivo [cuenta-de-bloques]\n" -#: misc/mke2fs.c:217 +#: misc/mke2fs.c:206 #, c-format msgid "Running command: %s\n" msgstr "Ejecutando orden: %s\n" -#: misc/mke2fs.c:221 +#: misc/mke2fs.c:210 #, c-format msgid "while trying to run '%s'" msgstr "mientras se intentaba ejecutar '%s'" -#: misc/mke2fs.c:228 +#: misc/mke2fs.c:217 msgid "while processing list of bad blocks from program" msgstr "mientras se procesaba la lista de bloques dañados del programa" -#: misc/mke2fs.c:255 +#: misc/mke2fs.c:244 #, c-format msgid "Block %d in primary superblock/group descriptor area bad.\n" msgstr "" "El bloque %d en el área del descriptor primario del superbloque/grupo está " "dañado.\n" -#: misc/mke2fs.c:257 +#: misc/mke2fs.c:246 #, c-format msgid "Blocks %u through %u must be good in order to build a filesystem.\n" msgstr "" "Los bloques del %u al %u deben estar correctos para poder construir un " "sistema de ficheros.\n" -#: misc/mke2fs.c:260 +#: misc/mke2fs.c:249 msgid "Aborting....\n" msgstr "Finalizando...\n" -#: misc/mke2fs.c:280 +#: misc/mke2fs.c:269 #, c-format msgid "" "Warning: the backup superblock/group descriptors at block %u contain\n" "\tbad blocks.\n" "\n" msgstr "" -"Atención: los descriptores de respaldo del superbloque/grupo en el bloque " -"%u\n" +"Atención: los descriptores de respaldo del superbloque/grupo en el bloque %" +"u\n" "\tcontienen bloques dañados.\n" "\n" -#: misc/mke2fs.c:299 +#: misc/mke2fs.c:288 msgid "while marking bad blocks as used" msgstr "mientras se marcaban los bloques dañados como utilizados" -#: misc/mke2fs.c:316 +#: misc/mke2fs.c:346 +msgid "done \n" +msgstr "hecho \n" + +#: misc/mke2fs.c:360 msgid "Writing inode tables: " msgstr "Escribiendo las tablas de nodos-i: " -#: misc/mke2fs.c:337 -#, fuzzy, c-format +#: misc/mke2fs.c:383 +#, c-format msgid "" "\n" -"Could not write %d blocks in inode table starting at %llu: %s\n" +"Could not write %d blocks in inode table starting at %u: %s\n" msgstr "" "\n" -"No se pueden escribir %d bloques en la tabla de nodos-i al principio de %u: " -"%s\n" - -#: misc/mke2fs.c:351 misc/mke2fs.c:2175 misc/mke2fs.c:2429 -#, c-format -msgid "done \n" -msgstr "hecho \n" +"No se pueden escribir %d bloques en la tabla de nodos-i al principio de %u: %" +"s\n" -#: misc/mke2fs.c:362 +#: misc/mke2fs.c:407 msgid "while creating root dir" msgstr "mientras se creaba el directorio raíz" -#: misc/mke2fs.c:369 +#: misc/mke2fs.c:414 msgid "while reading root inode" msgstr "mientras se leía el nodo-i raíz" -#: misc/mke2fs.c:383 +#: misc/mke2fs.c:428 msgid "while setting root inode ownership" msgstr "mientras se ponían los permisos del dueño del nodo-i raíz" -#: misc/mke2fs.c:401 +#: misc/mke2fs.c:446 msgid "while creating /lost+found" msgstr "mientras se creaba /lost+found" -#: misc/mke2fs.c:408 +#: misc/mke2fs.c:453 msgid "while looking up /lost+found" msgstr "mientras se revisaba /lost+found" -#: misc/mke2fs.c:421 +#: misc/mke2fs.c:466 msgid "while expanding /lost+found" msgstr "mientras se expandía /lost+found" -#: misc/mke2fs.c:436 +#: misc/mke2fs.c:481 msgid "while setting bad block inode" msgstr "mientras se ponía el nodo-i de bloques dañados" -#: misc/mke2fs.c:463 +#: misc/mke2fs.c:508 #, c-format msgid "Out of memory erasing sectors %d-%d\n" msgstr "Se agotó la memoria cuando se borraban los sectores %d-%d\n" -#: misc/mke2fs.c:473 +#: misc/mke2fs.c:518 #, c-format msgid "Warning: could not read block 0: %s\n" msgstr "Atención: no se puede leer el bloque 0: %s\n" -#: misc/mke2fs.c:489 +#: misc/mke2fs.c:534 #, c-format msgid "Warning: could not erase sector %d: %s\n" msgstr "Atención: no se puede borrar el sector %d: %s\n" -#: misc/mke2fs.c:505 +#: misc/mke2fs.c:550 msgid "while initializing journal superblock" msgstr "mientras se inicializaba el superbloque del fichero de transacciones" -#: misc/mke2fs.c:513 +#: misc/mke2fs.c:556 msgid "Zeroing journal device: " msgstr "Se rellena con ceros el dispositivo del fichero de transacciones: " -#: misc/mke2fs.c:525 -#, fuzzy, c-format -msgid "while zeroing journal device (block %llu, count %d)" +#: misc/mke2fs.c:569 +#, c-format +msgid "while zeroing journal device (block %u, count %d)" msgstr "" "mientras se inicializaba con ceros el fichero de transacciones del " "dispositivo (bloque %u, cuenta %d)" -#: misc/mke2fs.c:543 +#: misc/mke2fs.c:585 msgid "while writing journal superblock" msgstr "mientras se escribía el superbloque del fichero de transacciones" -#: misc/mke2fs.c:558 -#, fuzzy, c-format +#: misc/mke2fs.c:601 +#, c-format msgid "" -"warning: %llu blocks unused.\n" +"warning: %u blocks unused.\n" "\n" msgstr "" "Atención: hay %u bloques sin usar.\n" "\n" -#: misc/mke2fs.c:563 +#: misc/mke2fs.c:606 #, c-format msgid "Filesystem label=%s\n" msgstr "Etiqueta del sistema de ficheros=%s\n" -#: misc/mke2fs.c:566 -#, fuzzy, c-format -msgid "OS type: %s\n" +#: misc/mke2fs.c:607 +msgid "OS type: " msgstr "Tipo de SO: " -#: misc/mke2fs.c:568 +#: misc/mke2fs.c:612 #, c-format msgid "Block size=%u (log=%u)\n" msgstr "Tamaño del bloque=%u (bitácora=%u)\n" -#: misc/mke2fs.c:572 -#, fuzzy, c-format -msgid "Cluster size=%u (log=%u)\n" -msgstr "Tamaño del bloque=%u (bitácora=%u)\n" - -#: misc/mke2fs.c:576 +#: misc/mke2fs.c:614 #, c-format msgid "Fragment size=%u (log=%u)\n" msgstr "Tamaño del fragmento=%u (bitácora=%u)\n" -#: misc/mke2fs.c:578 +#: misc/mke2fs.c:616 #, c-format -msgid "Stride=%u blocks, Stripe width=%u blocks\n" -msgstr "" - -#: misc/mke2fs.c:580 -#, fuzzy, c-format -msgid "%u inodes, %llu blocks\n" +msgid "%u inodes, %u blocks\n" msgstr "%u nodos-i, %u bloques\n" -#: misc/mke2fs.c:582 -#, fuzzy, c-format -msgid "%llu blocks (%2.2f%%) reserved for the super user\n" +#: misc/mke2fs.c:618 +#, c-format +msgid "%u blocks (%2.2f%%) reserved for the super user\n" msgstr "%u bloques (%2.2f%%) reservados para el superusuario\n" -#: misc/mke2fs.c:585 +#: misc/mke2fs.c:621 #, c-format msgid "First data block=%u\n" msgstr "Primer bloque de datos=%u\n" -#: misc/mke2fs.c:587 +#: misc/mke2fs.c:623 #, c-format msgid "Maximum filesystem blocks=%lu\n" msgstr "Número máximo de bloques del sistema de ficheros=%lu\n" -#: misc/mke2fs.c:591 +#: misc/mke2fs.c:627 #, c-format msgid "%u block groups\n" msgstr "%u bloque de grupos\n" -#: misc/mke2fs.c:593 +#: misc/mke2fs.c:629 #, c-format msgid "%u block group\n" msgstr "%u bloque de grupo\n" -#: misc/mke2fs.c:596 -#, fuzzy, c-format -msgid "%u blocks per group, %u clusters per group\n" -msgstr "%u bloques por grupo, %u fragmentos por grupo\n" - -#: misc/mke2fs.c:599 +#: misc/mke2fs.c:630 #, c-format msgid "%u blocks per group, %u fragments per group\n" msgstr "%u bloques por grupo, %u fragmentos por grupo\n" -#: misc/mke2fs.c:601 +#: misc/mke2fs.c:632 #, c-format msgid "%u inodes per group\n" msgstr "%u nodos-i por grupo\n" -#: misc/mke2fs.c:608 +#: misc/mke2fs.c:639 #, c-format msgid "Superblock backups stored on blocks: " msgstr "Respaldo del superbloque guardado en los bloques: " -#: misc/mke2fs.c:687 misc/tune2fs.c:1165 -#, fuzzy, c-format -msgid "Invalid mmp_update_interval: %s\n" -msgstr "patrón_de_prueba no válido: %s\n" - -#: misc/mke2fs.c:701 +#: misc/mke2fs.c:718 #, c-format msgid "Invalid stride parameter: %s\n" msgstr "Tamaño de zancada no válido: %s\n" -#: misc/mke2fs.c:716 +#: misc/mke2fs.c:733 #, fuzzy, c-format msgid "Invalid stripe-width parameter: %s\n" msgstr "Parámetro de zancada no válido: %s\n" -#: misc/mke2fs.c:739 +#: misc/mke2fs.c:755 #, c-format msgid "Invalid resize parameter: %s\n" msgstr "Parámetro de variación de tamaño no válido: %s\n" -#: misc/mke2fs.c:746 +#: misc/mke2fs.c:762 #, c-format msgid "The resize maximum must be greater than the filesystem size.\n" msgstr "" "El máximo de la variación de tamaño debe ser mayor que el tamaño del sistema " "de ficheros.\n" -#: misc/mke2fs.c:770 +#: misc/mke2fs.c:786 #, c-format msgid "On-line resizing not supported with revision 0 filesystems\n" msgstr "" @@ -4469,11 +4056,6 @@ msgstr "" #: misc/mke2fs.c:808 #, fuzzy, c-format -msgid "Invalid quotatype parameter: %s\n" -msgstr "Tamaño de zancada no válido: %s\n" - -#: misc/mke2fs.c:819 -#, fuzzy, c-format msgid "" "\n" "Bad option(s) specified: %s\n" @@ -4486,11 +4068,7 @@ msgid "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" -"\tlazy_journal_init=<0 to disable, 1 to enable>\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" msgstr "" "\n" @@ -4506,7 +4084,7 @@ msgstr "" "\n" "\ttest_fs\n" -#: misc/mke2fs.c:839 +#: misc/mke2fs.c:824 #, c-format msgid "" "\n" @@ -4514,7 +4092,7 @@ msgid "" "\n" msgstr "" -#: misc/mke2fs.c:878 +#: misc/mke2fs.c:856 #, c-format msgid "" "Syntax error in mke2fs config file (%s, line #%d)\n" @@ -4523,165 +4101,146 @@ msgstr "" "Error de sintaxis en el fichero de configuración de mke2fs (%s, línea #%d)\n" "\t%s\n" -#: misc/mke2fs.c:891 misc/tune2fs.c:393 +#: misc/mke2fs.c:869 misc/tune2fs.c:353 #, c-format msgid "Invalid filesystem option set: %s\n" msgstr "Se puso una opción no válida para el sistema de ficheros: %s\n" -#: misc/mke2fs.c:903 misc/tune2fs.c:345 -#, c-format -msgid "Invalid mount option set: %s\n" -msgstr "Se puso una opción de montaje no válida: %s\n" - -#: misc/mke2fs.c:1043 +#: misc/mke2fs.c:979 #, c-format msgid "" "\n" -"Your mke2fs.conf file does not define the %s filesystem type.\n" +"Warning! Your mke2fs.conf file does not define the %s filesystem type.\n" msgstr "" -#: misc/mke2fs.c:1047 +#: misc/mke2fs.c:982 #, c-format msgid "" "You probably need to install an updated mke2fs.conf file.\n" "\n" msgstr "" -#: misc/mke2fs.c:1051 -#, fuzzy, c-format -msgid "Aborting...\n" -msgstr "Finalizando...\n" - -#: misc/mke2fs.c:1091 -#, c-format -msgid "" -"\n" -"Warning: the fs_type %s is not defined in mke2fs.conf\n" -"\n" -msgstr "" - -#: misc/mke2fs.c:1249 -#, fuzzy, c-format -msgid "Couldn't allocate memory for new PATH.\n" -msgstr "No se puede reservar memoria para los tipos de sistema de ficheros\n" - -#: misc/mke2fs.c:1290 -#, c-format -msgid "Couldn't init profile successfully (error: %ld).\n" -msgstr "" - -#: misc/mke2fs.c:1330 +#: misc/mke2fs.c:1177 #, c-format msgid "invalid block size - %s" msgstr "tamaño del bloque inválido - %s" -#: misc/mke2fs.c:1334 +#: misc/mke2fs.c:1181 #, c-format msgid "Warning: blocksize %d not usable on most systems.\n" msgstr "" "Atención: el tamaño del bloque %d no se puede utilizar en muchos sistemas.\n" -#: misc/mke2fs.c:1350 -#, fuzzy, c-format -msgid "invalid cluster size - %s" -msgstr "tamaño del bloque inválido - %s" +#: misc/mke2fs.c:1197 +#, c-format +msgid "invalid fragment size - %s" +msgstr "Tamaño del fragmento inválido - %s" + +#: misc/mke2fs.c:1203 +#, c-format +msgid "Warning: fragments not supported. Ignoring -f option\n" +msgstr "" +"Atención: no están implementados los fragmentos. Se descarta la opción -f\n" -#: misc/mke2fs.c:1362 +#: misc/mke2fs.c:1210 msgid "Illegal number for blocks per group" msgstr "Número ilegal de bloques por grupo" -#: misc/mke2fs.c:1367 +#: misc/mke2fs.c:1215 msgid "blocks per group must be multiple of 8" msgstr "los bloques por grupo deben ser un múltiplo de 8" -#: misc/mke2fs.c:1375 +#: misc/mke2fs.c:1223 #, fuzzy msgid "Illegal number for flex_bg size" msgstr "¡Número inválido de bloques!\n" -#: misc/mke2fs.c:1381 +#: misc/mke2fs.c:1229 msgid "flex_bg size must be a power of 2" msgstr "" -#: misc/mke2fs.c:1391 +#: misc/mke2fs.c:1239 #, c-format msgid "invalid inode ratio %s (min %d/max %d)" msgstr "proporción de nodos-i inválida %s (min %d/max %d)" -#: misc/mke2fs.c:1401 -#, c-format -msgid "" -"Warning: -K option is deprecated and should not be used anymore. Use '-E " -"nodiscard' extended option instead!\n" -msgstr "" - -#: misc/mke2fs.c:1415 +#: misc/mke2fs.c:1256 msgid "in malloc for bad_blocks_filename" msgstr "en malloc para fichero_de_bloques_dañados" -#: misc/mke2fs.c:1425 +#: misc/mke2fs.c:1265 #, c-format msgid "invalid reserved blocks percent - %s" msgstr "el porcentaje de bloques reservados es inválido - %s" -#: misc/mke2fs.c:1443 +#: misc/mke2fs.c:1283 #, c-format msgid "bad revision level - %s" msgstr "nivel de revisión incorrecto - %s" -#: misc/mke2fs.c:1455 +#: misc/mke2fs.c:1295 #, c-format msgid "invalid inode size - %s" msgstr "tamaño de los nodos-i inválido - %s" -#: misc/mke2fs.c:1475 +#: misc/mke2fs.c:1315 #, c-format msgid "bad num inodes - %s" msgstr "número de los nodos-i inválido - %s" -#: misc/mke2fs.c:1492 -#, fuzzy -msgid "The -t option may only be used once" -msgstr "-o solo podría ser especificado una vez" - -#: misc/mke2fs.c:1500 -#, fuzzy -msgid "The -T option may only be used once" -msgstr "-o solo podría ser especificado una vez" - -#: misc/mke2fs.c:1550 misc/mke2fs.c:2508 +#: misc/mke2fs.c:1380 misc/mke2fs.c:2052 #, c-format msgid "while trying to open journal device %s\n" msgstr "" "mientras se intentaba abrir el fichero de transacciones del dispositivo %s\n" -#: misc/mke2fs.c:1556 +#: misc/mke2fs.c:1386 #, c-format msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n" msgstr "" "El tamaño del bloque del dispositivo del fichero de transacciones (%d) es\n" "menor que el tamaño del bloque mínimo %d\n" -#: misc/mke2fs.c:1562 +#: misc/mke2fs.c:1392 #, fuzzy, c-format msgid "Using journal device's blocksize: %d\n" msgstr "Añadiendo el fichero de transacciones al dispositivo %s: " +#: misc/mke2fs.c:1401 +#, c-format +msgid "%d-byte blocks too big for system (max %d)" +msgstr "los bloques de %d bytes son muy grandes para el sistema (máx %d)" + +#: misc/mke2fs.c:1405 +#, c-format +msgid "" +"Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +msgstr "" +"Atención: los bloques de %d bytes son muy grandes para el sistema \n" +"(máx %d), se hace un esfuerzo para continuar\n" + # The specified number of blocks is invalid. -#: misc/mke2fs.c:1573 -#, fuzzy, c-format -msgid "invalid blocks '%s' on device '%s'" +#: misc/mke2fs.c:1413 +#, c-format +msgid "invalid blocks count - %s" msgstr "cuenta de bloques no válida - %s" -#: misc/mke2fs.c:1583 +#: misc/mke2fs.c:1423 msgid "filesystem" msgstr "sistema de ficheros" -#: misc/mke2fs.c:1596 resize/main.c:374 +#: misc/mke2fs.c:1459 +#, c-format +msgid "" +"%s: Size of device %s too big to be expressed in 32 bits\n" +"\tusing a blocksize of %d.\n" +msgstr "" + +#: misc/mke2fs.c:1468 resize/main.c:371 msgid "while trying to determine filesystem size" msgstr "mientras se intentaba determinar el tamaño del sistema de ficheros" -#: misc/mke2fs.c:1602 +#: misc/mke2fs.c:1475 msgid "" "Couldn't determine device size; you must specify\n" "the size of the filesystem\n" @@ -4689,7 +4248,7 @@ msgstr "" "No se puede determinar el tamaño del dispositivo; se deberá especificar\n" "explícitamente el tamaño del sistema de ficheros\n" -#: misc/mke2fs.c:1609 +#: misc/mke2fs.c:1482 msgid "" "Device size reported to be zero. Invalid partition specified, or\n" "\tpartition table wasn't reread after running fdisk, due to\n" @@ -4702,40 +4261,33 @@ msgstr "" "\tpartición modificada está ocupada o en uso. Es necesario reiniciar\n" "\tpara poder releer la tabla de particiones.\n" -#: misc/mke2fs.c:1626 +#: misc/mke2fs.c:1500 msgid "Filesystem larger than apparent device size." msgstr "" "El sistema de ficheros es más grande que el tamaño aparente del dispositivo." -#: misc/mke2fs.c:1646 +#: misc/mke2fs.c:1506 #, c-format msgid "Failed to parse fs types list\n" msgstr "" -#: misc/mke2fs.c:1700 -#, 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:1716 +#: misc/mke2fs.c:1542 msgid "fs_types for mke2fs.conf resolution: " msgstr "" -#: misc/mke2fs.c:1723 +#: misc/mke2fs.c:1549 #, c-format msgid "Filesystem features not supported with revision 0 filesystems\n" msgstr "" -#: misc/mke2fs.c:1730 +#: misc/mke2fs.c:1556 #, fuzzy, c-format msgid "Sparse superblocks not supported with revision 0 filesystems\n" msgstr "" "el cambio de tamaño en línea de los bloques reservados no está implementado " "para los sistemas de ficheros que no están esparcidos" -#: misc/mke2fs.c:1742 +#: misc/mke2fs.c:1568 #, fuzzy, c-format msgid "Journals not supported with revision 0 filesystems\n" msgstr "" @@ -4743,108 +4295,63 @@ msgstr "" "El tamaño del fichero de transacciones es muy grande para el sistema de " "ficheros.\n" -#: misc/mke2fs.c:1756 -#, fuzzy, c-format -msgid "invalid reserved blocks percent - %lf" -msgstr "el porcentaje de bloques reservados es inválido - %s" - -#: misc/mke2fs.c:1772 +#: misc/mke2fs.c:1586 #, c-format msgid "" "The resize_inode and meta_bg features are not compatible.\n" "They can not be both enabled simultaneously.\n" msgstr "" -#: misc/mke2fs.c:1789 +#: misc/mke2fs.c:1603 msgid "while trying to determine hardware sector size" msgstr "mientras se intentaba determinar el tamaño del sector por hardware" -#: misc/mke2fs.c:1795 -#, fuzzy -msgid "while trying to determine physical sector size" -msgstr "mientras se intentaba determinar el tamaño del sector por hardware" - -#: misc/mke2fs.c:1828 -#, fuzzy -msgid "while setting blocksize; too small for device\n" -msgstr "mientras se ponía el nodo-i de bloques dañados" - -#: misc/mke2fs.c:1833 -#, c-format -msgid "" -"Warning: specified blocksize %d is less than device physical sectorsize %d\n" -msgstr "" - -#: misc/mke2fs.c:1864 -#, c-format -msgid "warning: Unable to get device geometry for %s\n" -msgstr "" - -#: misc/mke2fs.c:1867 -#, c-format -msgid "%s alignment is offset by %lu bytes.\n" -msgstr "" - -#: misc/mke2fs.c:1869 -#, c-format -msgid "" -"This may result in very poor performance, (re)-partitioning suggested.\n" -msgstr "" - -#: misc/mke2fs.c:1880 -#, c-format -msgid "%d-byte blocks too big for system (max %d)" -msgstr "los bloques de %d bytes son muy grandes para el sistema (máx %d)" - -#: misc/mke2fs.c:1884 -#, c-format -msgid "" -"Warning: %d-byte blocks too big for system (max %d), forced to continue\n" -msgstr "" -"Atención: los bloques de %d bytes son muy grandes para el sistema \n" -"(máx %d), se hace un esfuerzo para continuar\n" - -#: misc/mke2fs.c:1920 +#: misc/mke2fs.c:1661 msgid "reserved online resize blocks not supported on non-sparse filesystem" msgstr "" "el cambio de tamaño en línea de los bloques reservados no está implementado " "para los sistemas de ficheros que no están esparcidos" -#: misc/mke2fs.c:1929 +#: misc/mke2fs.c:1670 msgid "blocks per group count out of range" msgstr "la cuenta de bloques por grupo está fuera del intervalo" -#: misc/mke2fs.c:1944 +#: misc/mke2fs.c:1685 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" msgstr "" -#: misc/mke2fs.c:1956 +#: misc/mke2fs.c:1697 #, c-format msgid "invalid inode size %d (min %d/max %d)" msgstr "tamaño incorrecto del nodo-i %d (mín %d/máx %d)" -#: misc/mke2fs.c:1974 +#: misc/mke2fs.c:1711 #, c-format msgid "too many inodes (%llu), raise inode ratio?" msgstr "demasiados nodos-i (%llu), ¿aumentar el ratio de los nodos-i?" -#: misc/mke2fs.c:1981 +#: misc/mke2fs.c:1716 #, c-format msgid "too many inodes (%llu), specify < 2^32 inodes" msgstr "demasiados nodos-i (%llu), especifique menos que 2^32 nodos-i" -#: misc/mke2fs.c:1995 -#, fuzzy, c-format +#: misc/mke2fs.c:1731 +#, c-format msgid "" "inode_size (%u) * inodes_count (%u) too big for a\n" -"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n" +"\tfilesystem with %lu blocks, specify higher inode_ratio (-i)\n" "\tor lower inode count (-N).\n" msgstr "" "tamaño_de_nodos_i (%u) * número_de_nodos_i (%u) es demasiado\n" "grande para un sistema de ficheros con %lu bloques; especifique\n" "un ratio mayor de nodos-i (-i) o un menor número de nodos-i (-N).\n" -#: misc/mke2fs.c:2114 +#: misc/mke2fs.c:1828 misc/tune2fs.c:1462 +#, fuzzy, c-format +msgid "while trying to delete %s" +msgstr "mientras se intentaba modificar el tamaño %s" + +#: misc/mke2fs.c:1837 #, c-format msgid "" "Overwriting existing filesystem; this can be undone using the command:\n" @@ -4852,72 +4359,39 @@ msgid "" "\n" msgstr "" -#: misc/mke2fs.c:2128 -#, fuzzy -msgid "while trying to setup undo file\n" -msgstr "" -"\n" -"\tmientras intentaba crear el fichero de transacciones" - -#: misc/mke2fs.c:2154 -#, fuzzy -msgid "Discarding device blocks: " -msgstr "Añadiendo el fichero de transacciones al dispositivo %s: " - -#: misc/mke2fs.c:2170 -msgid "failed - " -msgstr "" - -#: misc/mke2fs.c:2277 +#: misc/mke2fs.c:1885 msgid "while setting up superblock" msgstr "mientras se ajustaba el superbloque" -#: misc/mke2fs.c:2286 -#, c-format -msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" -msgstr "" - -#: misc/mke2fs.c:2369 +#: misc/mke2fs.c:1936 #, c-format msgid "unknown os - %s" msgstr "sistema operativo desconocido - %s" -#: misc/mke2fs.c:2421 -#, fuzzy, c-format -msgid "Allocating group tables: " -msgstr "Escribiendo las tablas de nodos-i: " - -#: misc/mke2fs.c:2425 +#: misc/mke2fs.c:1990 msgid "while trying to allocate filesystem tables" msgstr "mientras se intentaba reservar las tablas del sistema de ficheros" -#: misc/mke2fs.c:2434 -#, fuzzy -msgid "" -"\n" -"\twhile converting subcluster bitmap" -msgstr "mientras se escribía el mapa de bits del bloque" - -#: misc/mke2fs.c:2477 -#, fuzzy, c-format -msgid "while zeroing block %llu at end of filesystem" +#: misc/mke2fs.c:2021 +#, c-format +msgid "while zeroing block %u at end of filesystem" msgstr "" "mientras se inicializaba a cero el bloque %u al final del sistema de ficheros" -#: misc/mke2fs.c:2490 +#: misc/mke2fs.c:2034 msgid "while reserving blocks for online resize" msgstr "mientras se reservaban los bloques para el cambio de tamaño en línea" -#: misc/mke2fs.c:2501 misc/tune2fs.c:640 +#: misc/mke2fs.c:2045 misc/tune2fs.c:477 msgid "journal" msgstr "fichero de transacciones" -#: misc/mke2fs.c:2513 +#: misc/mke2fs.c:2057 #, c-format msgid "Adding journal to device %s: " msgstr "Añadiendo el fichero de transacciones al dispositivo %s: " -#: misc/mke2fs.c:2520 +#: misc/mke2fs.c:2064 #, c-format msgid "" "\n" @@ -4926,48 +4400,23 @@ msgstr "" "\n" "\tmientras se intentaba añadir el fichero de transacciones al dispositivo %s" -#: misc/mke2fs.c:2525 misc/mke2fs.c:2557 misc/tune2fs.c:669 misc/tune2fs.c:683 +#: misc/mke2fs.c:2069 misc/mke2fs.c:2095 misc/tune2fs.c:506 misc/tune2fs.c:520 #, c-format msgid "done\n" msgstr "hecho\n" -#: misc/mke2fs.c:2534 -#, c-format -msgid "Skipping journal creation in super-only mode\n" -msgstr "" - -#: misc/mke2fs.c:2545 +#: misc/mke2fs.c:2083 #, fuzzy, c-format msgid "Creating journal (%u blocks): " msgstr "Creando el fichero de transacciones (%d bloques): " -#: misc/mke2fs.c:2553 -msgid "" -"\n" -"\twhile trying to create journal" -msgstr "" -"\n" -"\tmientras se intentaba crear el fichero de transacciones" - -#: misc/mke2fs.c:2564 misc/tune2fs.c:446 -#, c-format -msgid "" -"\n" -"Error while enabling multiple mount protection feature." -msgstr "" - -#: misc/mke2fs.c:2569 -#, c-format -msgid "Multiple mount protection is enabled with update interval %d seconds.\n" -msgstr "" - -#: misc/mke2fs.c:2582 +#: misc/mke2fs.c:2100 #, c-format msgid "Writing superblocks and filesystem accounting information: " msgstr "" "Escribiendo superbloques y la información contable del sistema de ficheros: " -#: misc/mke2fs.c:2589 +#: misc/mke2fs.c:2105 #, c-format msgid "" "\n" @@ -4976,7 +4425,7 @@ msgstr "" "\n" "Atención, se tuvo un problema al escribir los superbloques." -#: misc/mke2fs.c:2591 +#: misc/mke2fs.c:2108 #, c-format msgid "" "done\n" @@ -4985,12 +4434,12 @@ msgstr "" "hecho\n" "\n" -#: misc/mklost+found.c:50 +#: misc/mklost+found.c:49 #, c-format msgid "Usage: mklost+found\n" msgstr "Modo de empleo: mklost+found\n" -#: misc/partinfo.c:41 +#: misc/partinfo.c:39 #, fuzzy, c-format msgid "" "Usage: %s device...\n" @@ -5007,37 +4456,36 @@ msgstr "" "\t%s /dev/hda?\n" "\n" -#: misc/partinfo.c:51 +#: misc/partinfo.c:49 #, fuzzy, c-format msgid "Cannot open %s: %s" msgstr "e2label: no se puede abrir %s\n" -#: misc/partinfo.c:57 +#: misc/partinfo.c:55 #, c-format msgid "Cannot get geometry of %s: %s" msgstr "" -#: misc/partinfo.c:65 +#: misc/partinfo.c:63 #, c-format msgid "Cannot get size of %s: %s" msgstr "" -#: misc/partinfo.c:71 +#: misc/partinfo.c:69 #, c-format msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n" msgstr "" -#: misc/tune2fs.c:107 +#: misc/tune2fs.c:96 msgid "Please run e2fsck on the filesystem.\n" msgstr "Por favor ejecute e2fsck sobre el sistema de ficheros.\n" -#: misc/tune2fs.c:116 +#: misc/tune2fs.c:103 #, fuzzy, c-format msgid "" "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" -"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p " -"mmp_update_interval]\n" +"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n" @@ -5052,64 +4500,62 @@ msgstr "" "\t[-M último-directorio-montado] [-O [^]característica[,...]]\n" "\t[-T última-fecha-de-revisón] [-U UUID] dispositivo\n" -#: misc/tune2fs.c:205 +#: misc/tune2fs.c:188 msgid "while trying to open external journal" msgstr "mientras se intentaba abrir el fichero de transacciones externo" -#: misc/tune2fs.c:210 +#: misc/tune2fs.c:192 #, c-format msgid "%s is not a journal device.\n" msgstr "%s no es un dispositivo con fichero de transacciones.\n" -#: misc/tune2fs.c:225 +#: misc/tune2fs.c:207 msgid "Journal superblock not found!\n" msgstr "¡No se encontró el superbloque del fichero de transacciones!\n" -#: misc/tune2fs.c:236 +#: misc/tune2fs.c:219 msgid "Filesystem's UUID not found on journal device.\n" msgstr "" "No se encontró el UUID del sistema de ficheros en el fichero de\n" "transacciones del dispositivo.\n" -#: misc/tune2fs.c:257 -msgid "" -"Cannot locate journal device. It was NOT removed\n" -"Use -f option to remove missing journal device.\n" -msgstr "" +#: misc/tune2fs.c:240 +msgid "Journal NOT removed\n" +msgstr "NO se ha eliminado el fichero de transacciones\n" -#: misc/tune2fs.c:265 +#: misc/tune2fs.c:246 msgid "Journal removed\n" msgstr "Fichero de transacciones eliminado\n" -#: misc/tune2fs.c:309 +#: misc/tune2fs.c:286 msgid "while reading bitmaps" msgstr "mientras se leían los mapas de bits" -#: misc/tune2fs.c:317 +#: misc/tune2fs.c:294 msgid "while clearing journal inode" msgstr "mientras se borraba el nodo-i del fichero de transacciones" -#: misc/tune2fs.c:328 +#: misc/tune2fs.c:305 msgid "while writing journal inode" msgstr "mientras se escribía el nodo-i del fichero de transacciones" -#: misc/tune2fs.c:363 +#: misc/tune2fs.c:320 #, c-format -msgid "(and reboot afterwards!)\n" -msgstr "" +msgid "Invalid mount option set: %s\n" +msgstr "Se puso una opción de montaje no válida: %s\n" -#: misc/tune2fs.c:396 +#: misc/tune2fs.c:356 #, c-format msgid "Clearing filesystem feature '%s' not supported.\n" msgstr "" "No se soporta desactivar la característica '%s' del sistema de ficheros.\n" -#: misc/tune2fs.c:402 +#: misc/tune2fs.c:362 #, fuzzy, c-format msgid "Setting filesystem feature '%s' not supported.\n" msgstr "Se pone la hora de la última revisión al sistema de ficheros a %s\n" -#: misc/tune2fs.c:411 +#: misc/tune2fs.c:371 #, fuzzy msgid "" "The has_journal feature may only be cleared when the filesystem is\n" @@ -5118,7 +4564,7 @@ msgstr "" "La bandera 'has_journal' sólo puede ser borrada cuando el sistema de\n" "ficheros no está montada o está en modo de sólo lectura.\n" -#: misc/tune2fs.c:419 +#: misc/tune2fs.c:379 msgid "" "The needs_recovery flag is set. Please run e2fsck before clearing\n" "the has_journal flag.\n" @@ -5126,49 +4572,13 @@ msgstr "" "La bandera 'needs_recovery' está puesta. Por favor ejecute e2fsck antes\n" "de deactivar la bandera 'has_journal'.\n" -#: misc/tune2fs.c:438 -#, fuzzy -msgid "" -"The multiple mount protection feature can't\n" -"be set if the filesystem is mounted or\n" -"read-only.\n" -msgstr "" -"La bandera 'has_journal' sólo puede ser borrada cuando el sistema de\n" -"ficheros no está montada o está en modo de sólo lectura.\n" - -#: misc/tune2fs.c:456 -#, c-format -msgid "Multiple mount protection has been enabled with update interval %ds.\n" -msgstr "" - -#: misc/tune2fs.c:465 -msgid "" -"The multiple mount protection feature cannot\n" -"be disabled if the filesystem is readonly.\n" -msgstr "" - -#: misc/tune2fs.c:473 -#, fuzzy -msgid "Error while reading bitmaps\n" -msgstr "mientras se leían los mapas de bits" - -#: misc/tune2fs.c:482 -#, c-format -msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n" -msgstr "" - -#: misc/tune2fs.c:487 -#, fuzzy -msgid "while reading MMP block." -msgstr "mientras se leían los bloques dañados del nodo-i" - -#: misc/tune2fs.c:519 +#: misc/tune2fs.c:412 msgid "" "Clearing the flex_bg flag would cause the the filesystem to be\n" "inconsistent.\n" msgstr "" -#: misc/tune2fs.c:530 +#: misc/tune2fs.c:423 #, fuzzy msgid "" "The huge_file feature may only be cleared when the filesystem is\n" @@ -5177,17 +4587,16 @@ msgstr "" "La bandera 'has_journal' sólo puede ser borrada cuando el sistema de\n" "ficheros no está montada o está en modo de sólo lectura.\n" -#: misc/tune2fs.c:590 -msgid "" -"\n" -"Warning: '^quota' option overrides '-Q'arguments.\n" +#: misc/tune2fs.c:451 +#, c-format +msgid "(and reboot afterwards!)\n" msgstr "" -#: misc/tune2fs.c:635 +#: misc/tune2fs.c:472 msgid "The filesystem already has a journal.\n" msgstr "El sistema de ficheros ya tiene un fichero de transacciones.\n" -#: misc/tune2fs.c:653 +#: misc/tune2fs.c:490 #, c-format msgid "" "\n" @@ -5196,22 +4605,22 @@ msgstr "" "\n" "\tmientras se intentaba abrir el fichero de transacciones en %s\n" -#: misc/tune2fs.c:657 +#: misc/tune2fs.c:494 #, c-format msgid "Creating journal on device %s: " msgstr "Creando un fichero de transacciones en el dispositivo %s: " -#: misc/tune2fs.c:665 +#: misc/tune2fs.c:502 #, c-format msgid "while adding filesystem to journal on %s" msgstr "" "mientras se agregaba un sistema de ficheros al fichero de transacciones en %s" -#: misc/tune2fs.c:671 +#: misc/tune2fs.c:508 msgid "Creating journal inode: " msgstr "Creando el nodo-i del fichero de transacciones: " -#: misc/tune2fs.c:680 +#: misc/tune2fs.c:517 msgid "" "\n" "\twhile trying to create journal file" @@ -5219,118 +4628,86 @@ msgstr "" "\n" "\tmientras intentaba crear el fichero de transacciones" -#: misc/tune2fs.c:763 -#, fuzzy -msgid "Couldn't allocate memory to parse quota options!\n" -msgstr "" -"¡No se puede reservar memoria para analizar sintácticamente las opciones!\n" - -#: misc/tune2fs.c:785 -msgid "" -"\n" -"Bad quota options specified.\n" -"\n" -"Following valid quota options are available (pass by separating with " -"comma):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" -msgstr "" - -#: misc/tune2fs.c:846 -#, c-format -msgid "Couldn't parse date/time specifier: %s" +#: misc/tune2fs.c:584 +#, c-format +msgid "Couldn't parse date/time specifier: %s" msgstr "" "No se puede analizar sintácticamente el especificador de fecha/hora: %s" -#: misc/tune2fs.c:870 misc/tune2fs.c:883 +#: misc/tune2fs.c:608 misc/tune2fs.c:621 #, c-format msgid "bad mounts count - %s" msgstr "cuenta de montajes incorrectos - %s" -#: misc/tune2fs.c:899 +#: misc/tune2fs.c:637 #, c-format msgid "bad error behavior - %s" msgstr "comportamiento de errores incorrecto - %s" -#: misc/tune2fs.c:926 +#: misc/tune2fs.c:664 #, c-format msgid "bad gid/group name - %s" msgstr "nombre del gid/grupo incorrecto - %s" -#: misc/tune2fs.c:959 +#: misc/tune2fs.c:697 #, c-format msgid "bad interval - %s" msgstr "intervalo incorrecto - %s" -#: misc/tune2fs.c:988 +#: misc/tune2fs.c:725 #, c-format msgid "bad reserved block ratio - %s" msgstr "proporción de bloques reservados incorrecta - %s" -#: misc/tune2fs.c:1003 +#: misc/tune2fs.c:740 msgid "-o may only be specified once" msgstr "-o solo podría ser especificado una vez" -#: misc/tune2fs.c:1012 +#: misc/tune2fs.c:750 msgid "-O may only be specified once" msgstr "-O sólo se puede especificar una vez" -#: misc/tune2fs.c:1027 +#: misc/tune2fs.c:760 #, c-format msgid "bad reserved blocks count - %s" msgstr "cuenta de bloques reservados incorrecta - %s" -#: misc/tune2fs.c:1056 +#: misc/tune2fs.c:789 #, c-format msgid "bad uid/user name - %s" msgstr "nombre de uid/usuario incorrecto - %s" -#: misc/tune2fs.c:1073 +#: misc/tune2fs.c:806 #, fuzzy, c-format msgid "bad inode size - %s" msgstr "tamaño de los nodos-i inválido - %s" -#: misc/tune2fs.c:1080 +#: misc/tune2fs.c:813 #, c-format msgid "Inode size must be a power of two- %s" msgstr "" -#: misc/tune2fs.c:1174 -#, c-format -msgid "mmp_update_interval too big: %lu\n" -msgstr "" - -#: misc/tune2fs.c:1179 -#, fuzzy, c-format -msgid "Setting multiple mount protection update interval to %lu second\n" -msgid_plural "" -"Setting multiple mount protection update interval to %lu seconds\n" -msgstr[0] "Se pone la cuenta de montajes máxima a %d\n" -msgstr[1] "Se pone la cuenta de montajes máxima a %d\n" - -#: misc/tune2fs.c:1202 +#: misc/tune2fs.c:900 #, fuzzy, c-format msgid "Invalid RAID stride: %s\n" msgstr "Parámetro de zancada no válido: %s\n" -#: misc/tune2fs.c:1217 +#: misc/tune2fs.c:915 #, fuzzy, c-format msgid "Invalid RAID stripe-width: %s\n" msgstr "Parámetro de zancada no válido: %s\n" -#: misc/tune2fs.c:1232 +#: misc/tune2fs.c:930 #, fuzzy, c-format msgid "Invalid hash algorithm: %s\n" msgstr "Tamaño de zancada no válido: %s\n" -#: misc/tune2fs.c:1238 +#: misc/tune2fs.c:936 #, c-format msgid "Setting default hash algorithm to %s (%d)\n" msgstr "" -#: misc/tune2fs.c:1257 +#: misc/tune2fs.c:944 #, fuzzy, c-format msgid "" "\n" @@ -5340,11 +4717,9 @@ msgid "" "\tis set off by an equals ('=') sign.\n" "\n" "Valid extended options are:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" msgstr "" @@ -5359,50 +4734,11 @@ msgstr "" "\tresize=\n" "\n" -#: misc/tune2fs.c:1723 -#, fuzzy -msgid "Failed to read inode bitmap\n" -msgstr "mientras se leían los mapas de bits" - -#: misc/tune2fs.c:1728 -#, fuzzy -msgid "Failed to read block bitmap\n" -msgstr "leyendo los mapas de bits del nodo-i y del bloque" - -#: misc/tune2fs.c:1745 resize/resize2fs.c:784 +#: misc/tune2fs.c:1384 misc/tune2fs.c:1389 resize/resize2fs.c:760 msgid "blocks to be moved" msgstr "bloques por ser movidos" -#: misc/tune2fs.c:1748 -msgid "Failed to allocate block bitmap when increasing inode size\n" -msgstr "" - -#: misc/tune2fs.c:1754 -msgid "Not enough space to increase inode size \n" -msgstr "" - -#: misc/tune2fs.c:1759 -#, fuzzy -msgid "Failed to relocate blocks during inode resize \n" -msgstr "mientras se reservaban los bloques para el cambio de tamaño en línea" - -#: misc/tune2fs.c:1791 -msgid "" -"Error in resizing the inode size.\n" -"Run e2undo to undo the file system changes. \n" -msgstr "" - -#: misc/tune2fs.c:1818 -#, fuzzy -msgid "Couldn't allocate memory for tdb filename\n" -msgstr "No se puede reservar memoria para los tipos de sistema de ficheros\n" - -#: misc/tune2fs.c:1840 -#, fuzzy, c-format -msgid "while trying to delete %s" -msgstr "mientras se intentaba modificar el tamaño %s" - -#: misc/tune2fs.c:1850 +#: misc/tune2fs.c:1471 #, c-format msgid "" "To undo the tune2fs operation please run the command\n" @@ -5410,69 +4746,57 @@ msgid "" "\n" msgstr "" -#: misc/tune2fs.c:1919 +#: misc/tune2fs.c:1529 #, c-format -msgid "" -"MMP block magic is bad. Try to fix it by running:\n" -"'e2fsck -f %s'\n" +msgid "The inode size is already %d\n" msgstr "" -#: misc/tune2fs.c:1937 -#, fuzzy, c-format -msgid "The inode size is already %lu\n" -msgstr "Se pone el gid de los bloques reservados %lu\n" - -#: misc/tune2fs.c:1943 +#: misc/tune2fs.c:1534 #, fuzzy, c-format msgid "Shrinking the inode size is not supported\n" msgstr "Se pone la hora de la última revisión al sistema de ficheros a %s\n" -#: misc/tune2fs.c:1990 +#: misc/tune2fs.c:1577 #, c-format msgid "Setting maximal mount count to %d\n" msgstr "Se pone la cuenta de montajes máxima a %d\n" -#: misc/tune2fs.c:1996 +#: misc/tune2fs.c:1583 #, c-format msgid "Setting current mount count to %d\n" msgstr "Se pone la cuenta de montajes actual a %d\n" -#: misc/tune2fs.c:2001 +#: misc/tune2fs.c:1588 #, c-format msgid "Setting error behavior to %d\n" msgstr "Se pone el comportamiento de errores a %d\n" -#: misc/tune2fs.c:2006 +#: misc/tune2fs.c:1593 #, c-format msgid "Setting reserved blocks gid to %lu\n" msgstr "Se pone el gid de los bloques reservados %lu\n" -#: misc/tune2fs.c:2011 -#, fuzzy, c-format -msgid "interval between checks is too big (%lu)" -msgstr "Se pone el intervalo entre revisiones en %lu segundos\n" - -#: misc/tune2fs.c:2018 +#: misc/tune2fs.c:1598 #, c-format msgid "Setting interval between checks to %lu seconds\n" msgstr "Se pone el intervalo entre revisiones en %lu segundos\n" -#: misc/tune2fs.c:2025 +#: misc/tune2fs.c:1605 #, fuzzy, c-format -msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n" +msgid "Setting reserved blocks percentage to %g%% (%u blocks)\n" msgstr "Se pone el porcentaje de bloques reservados a %lu (%u bloques)\n" -#: misc/tune2fs.c:2031 -#, fuzzy, c-format -msgid "reserved blocks count is too big (%llu)" +#: misc/tune2fs.c:1612 +#, c-format +msgid "reserved blocks count is too big (%lu)" msgstr "la cantidad de bloques reservados es muy grande (%lu)" -#: misc/tune2fs.c:2038 -#, fuzzy, c-format -msgid "Setting reserved blocks count to %llu\n" +#: misc/tune2fs.c:1618 +#, c-format +msgid "Setting reserved blocks count to %lu\n" msgstr "Se pone la cantidad de bloques reservados a %lu\n" -#: misc/tune2fs.c:2044 +#: misc/tune2fs.c:1624 msgid "" "\n" "The filesystem already has sparse superblocks.\n" @@ -5480,7 +4804,7 @@ msgstr "" "\n" "El sistema de ficheros ya tiene superbloques dispersos.\n" -#: misc/tune2fs.c:2051 +#: misc/tune2fs.c:1631 #, c-format msgid "" "\n" @@ -5489,86 +4813,70 @@ msgstr "" "\n" "La bandera de superbloques dispersos está puesta. %s" -#: misc/tune2fs.c:2056 +#: misc/tune2fs.c:1636 msgid "" "\n" "Clearing the sparse superflag not supported.\n" msgstr "" -#: misc/tune2fs.c:2064 +#: misc/tune2fs.c:1643 #, c-format msgid "Setting time filesystem last checked to %s\n" msgstr "Se pone la hora de la última revisión al sistema de ficheros a %s\n" -#: misc/tune2fs.c:2070 +#: misc/tune2fs.c:1649 #, c-format msgid "Setting reserved blocks uid to %lu\n" msgstr "Se pone el uid de los bloques reservados a %lu\n" -#: misc/tune2fs.c:2102 -msgid "Error in using clear_mmp. It must be used with -f\n" -msgstr "" - -#: misc/tune2fs.c:2120 -#, fuzzy -msgid "" -"The quota feature may only be changed when the filesystem is unmounted.\n" -msgstr "" -"La bandera 'has_journal' sólo puede ser borrada cuando el sistema de\n" -"ficheros no está montada o está en modo de sólo lectura.\n" - -#: misc/tune2fs.c:2153 +#: misc/tune2fs.c:1700 msgid "Invalid UUID format\n" msgstr "Formato del UUID no válido\n" -#: misc/tune2fs.c:2166 +#: misc/tune2fs.c:1712 #, fuzzy msgid "The inode size may only be changed when the filesystem is unmounted.\n" msgstr "" "La bandera 'has_journal' sólo puede ser borrada cuando el sistema de\n" "ficheros no está montada o está en modo de sólo lectura.\n" -#: misc/tune2fs.c:2174 +#: misc/tune2fs.c:1719 msgid "" "Changing the inode size not supported for filesystems with the flex_bg\n" "feature enabled.\n" msgstr "" -#: misc/tune2fs.c:2187 +#: misc/tune2fs.c:1731 +msgid "" +"Error in resizing the inode size.\n" +"Run e2undo to undo the file system changes. \n" +msgstr "" + +#: misc/tune2fs.c:1735 #, fuzzy, c-format msgid "Setting inode size %lu\n" msgstr "Se pone el gid de los bloques reservados %lu\n" -#: misc/tune2fs.c:2190 -#, fuzzy, c-format -msgid "Failed to change inode size\n" -msgstr "mientras se intentaba abrir %s" - -#: misc/tune2fs.c:2201 +#: misc/tune2fs.c:1745 #, fuzzy, c-format msgid "Setting stride size to %d\n" msgstr "Se pone el gid de los bloques reservados %lu\n" -#: misc/tune2fs.c:2206 +#: misc/tune2fs.c:1750 #, fuzzy, c-format msgid "Setting stripe width to %d\n" msgstr "Se pone el gid de los bloques reservados %lu\n" -#: misc/tune2fs.c:2213 -#, fuzzy, c-format -msgid "Setting extended default mount options to '%s'\n" -msgstr "Se pone la cuenta de montajes actual a %d\n" - -#: misc/util.c:74 +#: misc/util.c:72 msgid "Proceed anyway? (y,n) " msgstr "¿Continuar de todas formas? (s,n) " -#: misc/util.c:89 +#: misc/util.c:93 #, c-format msgid "Could not stat %s --- %s\n" msgstr "No se puede poner %s --- %s\n" -#: misc/util.c:92 +#: misc/util.c:96 msgid "" "\n" "The device apparently does not exist; did you specify it correctly?\n" @@ -5576,45 +4884,36 @@ msgstr "" "\n" "En apariencia, el dispositivo no existe; ¿Se especificó correctamente?\n" -#: misc/util.c:103 +#: misc/util.c:107 #, c-format msgid "%s is not a block special device.\n" msgstr "%s no es un dispositivo especial de bloques.\n" -#: misc/util.c:132 +#: misc/util.c:136 #, c-format msgid "%s is entire device, not just one partition!\n" msgstr "¡%s es todo el dispositivo, no sólo una partición!\n" -#: misc/util.c:154 +#: misc/util.c:158 msgid "mke2fs forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "" "Se fuerza de todas formas mke2fs. Esperemos que /etc/mtab sea incorrecto.\n" -#: misc/util.c:159 +#: misc/util.c:163 #, c-format msgid "will not make a %s here!\n" msgstr "¡No se hará un %s aquí!\n" -#: misc/util.c:166 +#: misc/util.c:170 msgid "mke2fs forced anyway.\n" msgstr "Se fuerza de todas formas mke2fs.\n" -#: misc/util.c:182 +#: misc/util.c:186 msgid "Couldn't allocate memory to parse journal options!\n" msgstr "" "¡No se puede reservar memoria para la revisión sintáctica de las opciones " "del fichero de transacciones!\n" -#: misc/util.c:207 -#, fuzzy, c-format -msgid "" -"\n" -"Could not find journal device matching %s\n" -msgstr "" -"No se pueden encontrar los números mágicos del superbloque del fichero de " -"transacciones" - #: misc/util.c:228 #, fuzzy msgid "" @@ -5674,7 +4973,7 @@ msgstr "" "El tamaño del fichero de transacciones es muy grande para el sistema de " "ficheros.\n" -#: misc/util.c:287 +#: misc/util.c:283 #, c-format msgid "" "This filesystem will be automatically checked every %d mounts or\n" @@ -5683,153 +4982,26 @@ msgstr "" "Este sistema de ficheros se revisará automáticamente cada %d montajes o\n" "%g días, lo que suceda primero. Utilice tune2fs -c o -i para cambiarlo.\n" -#: misc/uuidd.c:48 -#, c-format -msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n" -msgstr "" - -#: misc/uuidd.c:50 -#, c-format -msgid " %s [-r|t] [-n num] [-s socketpath]\n" -msgstr "" - -#: misc/uuidd.c:52 -#, c-format -msgid " %s -k\n" -msgstr "" - -#: misc/uuidd.c:154 -#, fuzzy -msgid "bad arguments" -msgstr "%s: demasiados argumentos\n" - -#: misc/uuidd.c:172 -msgid "connect" -msgstr "" - -#: misc/uuidd.c:191 -msgid "write" -msgstr "" - -#: misc/uuidd.c:199 -msgid "read count" -msgstr "" - -#: misc/uuidd.c:205 -#, fuzzy -msgid "bad response length" -msgstr "Parámetro de zancada no válido: %s\n" - -#: misc/uuidd.c:270 -#, c-format -msgid "uuidd daemon already running at pid %s\n" -msgstr "" - -#: misc/uuidd.c:278 -#, fuzzy, c-format -msgid "Couldn't create unix stream socket: %s" -msgstr "" -"No se puede analizar sintácticamente el especificador de fecha/hora: %s" - -#: misc/uuidd.c:307 -#, fuzzy, c-format -msgid "Couldn't bind unix socket %s: %s\n" -msgstr "No se puede encontrar el superbloque del ext2," - -#: misc/uuidd.c:315 -#, fuzzy, c-format -msgid "Couldn't listen on unix socket %s: %s\n" -msgstr "No se puede reconectar %i: %m\n" - -#: misc/uuidd.c:353 -#, fuzzy, c-format -msgid "Error reading from client, len = %d\n" -msgstr "Error al leer el @i %i: %m\n" - -#: misc/uuidd.c:361 -#, c-format -msgid "operation %d, incoming num = %d\n" -msgstr "" - -#: misc/uuidd.c:380 -#, c-format -msgid "Generated time UUID: %s\n" -msgstr "" - -#: misc/uuidd.c:390 -#, c-format -msgid "Generated random UUID: %s\n" -msgstr "" - -#: misc/uuidd.c:399 -#, c-format -msgid "Generated time UUID %s and subsequent UUID\n" -msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/uuidd.c:420 -#, c-format -msgid "Generated %d UUID's:\n" -msgstr "" - -#: misc/uuidd.c:432 -#, fuzzy, c-format -msgid "Invalid operation %d\n" -msgstr "Versión de EA no válida.\n" - -#: misc/uuidd.c:476 misc/uuidd.c:498 -#, c-format -msgid "Bad number: %s\n" -msgstr "" - -#: misc/uuidd.c:533 misc/uuidd.c:562 -#, fuzzy, c-format -msgid "Error calling uuidd daemon (%s): %s\n" -msgstr "Error al crear el @d /@l (%s): %m\n" - -#: misc/uuidd.c:543 -#, c-format -msgid "%s and subsequent UUID\n" -msgid_plural "%s and subsequent %d UUIDs\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/uuidd.c:547 -#, c-format -msgid "List of UUID's:\n" -msgstr "" - -#: misc/uuidd.c:568 -#, c-format -msgid "Unexpected reply length from server %d\n" -msgstr "" - -#: misc/uuidd.c:585 -#, c-format -msgid "Couldn't kill uuidd running at pid %d: %s\n" -msgstr "" - -#: misc/uuidd.c:591 -#, c-format -msgid "Killed uuidd running at pid %d\n" -msgstr "" - -#: misc/uuidgen.c:32 +#: misc/uuidgen.c:31 #, c-format msgid "Usage: %s [-r] [-t]\n" msgstr "Modo de empleo: %s [-r] [-t]\n" -#: resize/extent.c:202 +#: resize/extent.c:196 msgid "# Extent dump:\n" msgstr "# Vaciado extenso:\n" -#: resize/extent.c:203 -#, fuzzy, c-format -msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n" +#: resize/extent.c:197 +#, c-format +msgid "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" msgstr "#\tNúm=%d, Tamaño=%d, Cursor=%d, Ordenado=%d\n" -#: resize/main.c:43 +#: resize/extent.c:200 +#, c-format +msgid "#\t\t %u -> %u (%d)\n" +msgstr "#\t\t %u -> %u (%d)\n" + +#: resize/main.c:42 #, fuzzy, c-format msgid "" "Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" @@ -5839,1052 +5011,245 @@ msgstr "" "\t[-p] dispositivo [nuevo-tamaño]\n" "\n" -#: resize/main.c:65 +#: resize/main.c:64 msgid "Extending the inode table" msgstr "Extendiendo la tabla de nodos-i" -#: resize/main.c:68 +#: resize/main.c:67 msgid "Relocating blocks" msgstr "Reubicando bloques" -#: resize/main.c:71 +#: resize/main.c:70 msgid "Scanning inode table" msgstr "Revisando la tabla de nodos-i" -#: resize/main.c:74 +#: resize/main.c:73 msgid "Updating inode references" msgstr "Actualizando las referencias a los nodos-i" -#: resize/main.c:77 +#: resize/main.c:76 msgid "Moving inode table" msgstr "Moviendo la tabla de nodos-i" -#: resize/main.c:80 +#: resize/main.c:79 msgid "Unknown pass?!?" msgstr "¿¡¿Paso desconocido?!?" -#: resize/main.c:83 +#: resize/main.c:82 #, c-format msgid "Begin pass %d (max = %lu)\n" msgstr "Se comienza el paso %d (máx = %lu)\n" -#: resize/main.c:259 +#: resize/main.c:264 #, c-format msgid "while opening %s" msgstr "mientras se abría %s" -#: resize/main.c:267 +#: resize/main.c:276 #, fuzzy, c-format msgid "while getting stat information for %s" msgstr "mientras se estaba poniendo la versión en %s" -#: resize/main.c:331 +#: resize/main.c:337 #, c-format msgid "" "%s: The combination of flex_bg and\n" "\t!resize_inode features is not supported by resize2fs.\n" msgstr "" -#: resize/main.c:344 resize/main.c:452 -#, c-format -msgid "" -"Please run 'e2fsck -f %s' first.\n" -"\n" -msgstr "" -"Por favor ejecute antes 'e2fsck -f %s'.\n" -"\n" - -#: resize/main.c:348 +#: resize/main.c:345 #, fuzzy, c-format -msgid "Estimated minimum size of the filesystem: %llu\n" +msgid "Estimated minimum size of the filesystem: %u\n" msgstr "" "%s está montado; ¡No se puede cambiar el tamaño de un sistema de ficheros " "montado!\n" "\n" -#: resize/main.c:384 +#: resize/main.c:381 #, fuzzy, c-format msgid "Invalid new size: %s\n" msgstr "tamaño de los nodos-i inválido - %s" -#: resize/main.c:392 -msgid "New size too large to be expressed in 32 bits\n" -msgstr "" - -#: resize/main.c:404 -#, fuzzy, c-format -msgid "New size smaller than minimum (%llu)\n" -msgstr "" -"El tamaño del bloque del dispositivo del fichero de transacciones (%d) es\n" -"menor que el tamaño del bloque mínimo %d\n" - -#: resize/main.c:410 +#: resize/main.c:394 #, fuzzy msgid "Invalid stride length" msgstr "Parámetro de zancada no válido: %s\n" -#: resize/main.c:434 -#, fuzzy, c-format +#: resize/main.c:418 +#, c-format msgid "" -"The containing partition (or device) is only %llu (%dk) blocks.\n" -"You requested a new size of %llu blocks.\n" +"The containing partition (or device) is only %u (%dk) blocks.\n" +"You requested a new size of %u blocks.\n" "\n" msgstr "" "La partición contenida (o el dispositivo) sólo tiene %u (%dk) bloques.\n" "Y se ha solicitado un nuevo tamaño de %u bloques.\n" "\n" -#: resize/main.c:441 -#, fuzzy, c-format +#: resize/main.c:425 +#, c-format msgid "" -"The filesystem is already %llu blocks long. Nothing to do!\n" +"The filesystem is already %u blocks long. Nothing to do!\n" "\n" msgstr "" "El sistema de ficheros ya tiene %u bloques. ¡No hay nada que hacer!\n" "\n" -#: resize/main.c:456 -#, fuzzy, c-format -msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n" +#: resize/main.c:436 +#, c-format +msgid "" +"Please run 'e2fsck -f %s' first.\n" +"\n" msgstr "" -"El sistema de ficheros en %s tiene ahora %u bloques.\n" +"Por favor ejecute antes 'e2fsck -f %s'.\n" "\n" -#: resize/main.c:465 +#: resize/main.c:447 #, c-format msgid "while trying to resize %s" msgstr "mientras se intentaba modificar el tamaño %s" -#: resize/main.c:468 +#: resize/main.c:452 #, c-format msgid "" -"Please run 'e2fsck -fy %s' to fix the filesystem\n" -"after the aborted resize operation.\n" -msgstr "" - -#: resize/main.c:474 -#, fuzzy, c-format -msgid "" -"The filesystem on %s is now %llu blocks long.\n" +"The filesystem on %s is now %u blocks long.\n" "\n" msgstr "" "El sistema de ficheros en %s tiene ahora %u bloques.\n" "\n" -#: resize/main.c:489 -#, fuzzy, c-format -msgid "while trying to truncate %s" -msgstr "mientras se intentaba ver el estado del fichero %s" - -#: resize/online.c:40 +#: resize/online.c:37 #, c-format msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" msgstr "" -#: resize/online.c:44 -#, fuzzy -msgid "On-line shrinking not supported" +#: resize/online.c:41 +#, fuzzy, c-format +msgid "On-line shrinking from %u to %u not supported.\n" msgstr "" "No se soporta desactivar la característica '%s' del sistema de ficheros.\n" -#: resize/online.c:63 +#: resize/online.c:61 msgid "Filesystem does not support online resizing" msgstr "" -#: resize/online.c:70 +#: resize/online.c:68 #, fuzzy, c-format msgid "while trying to open mountpoint %s" msgstr "" "\n" "\tmientras se intentaba abrir el fichero de transacciones en %s\n" -#: resize/online.c:92 resize/online.c:116 +#: resize/online.c:76 msgid "Permission denied to resize filesystem" msgstr "" -#: resize/online.c:95 resize/online.c:122 -#, fuzzy -msgid "While checking for on-line resizing support" -msgstr "mientras se reservaban los bloques para el cambio de tamaño en línea" - -#: resize/online.c:107 +#: resize/online.c:79 #, fuzzy -msgid "Kernel does not support resizing a file system this large" +msgid "Kernel does not support online resizing" msgstr "El @j externo no tiene implementado este @f\n" -#: resize/online.c:119 +#: resize/online.c:82 #, fuzzy -msgid "Kernel does not support online resizing" -msgstr "El @j externo no tiene implementado este @f\n" +msgid "While checking for on-line resizing support" +msgstr "mientras se reservaban los bloques para el cambio de tamaño en línea" -#: resize/online.c:152 +#: resize/online.c:111 #, c-format -msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n" +msgid "Performing an on-line resize of %s to %u (%dk) blocks.\n" msgstr "" -#: resize/online.c:162 +#: resize/online.c:121 #, fuzzy msgid "While trying to extend the last group" msgstr "mientras se intentaba abrir el fichero de transacciones externo" -#: resize/online.c:216 +#: resize/online.c:180 #, fuzzy, c-format msgid "While trying to add group #%d" msgstr "mientras se intentaba abrir %s" -#: resize/online.c:227 +#: resize/online.c:191 #, c-format msgid "" "Filesystem at %s is mounted on %s, and on-line resizing is not supported on " "this system.\n" msgstr "" -#: resize/resize2fs.c:348 +#: resize/resize2fs.c:322 #, c-format msgid "inodes (%llu) must be less than %u" msgstr "los nodos-i (%llu) deben ser menos de %u" -#: resize/resize2fs.c:576 +#: resize/resize2fs.c:755 msgid "reserved blocks" msgstr "bloques reservados" -#: resize/resize2fs.c:789 +#: resize/resize2fs.c:765 msgid "meta-data blocks" msgstr "bloques de metadatos" -#: resize/resize2fs.c:1735 +#: resize/resize2fs.c:1703 #, c-format msgid "Should never happen: resize inode corrupt!\n" msgstr "" "Esto nunca debería suceder: ¡Se cambia el tamaño del nodo-i corrupto!\n" -#: lib/ext2fs/ext2_err.c:11 -msgid "EXT2FS Library version 1.42.4" -msgstr "" - -#: lib/ext2fs/ext2_err.c:12 -msgid "Wrong magic number for ext2_filsys structure" -msgstr "" +#~ msgid "@S doesn't have has_@j flag, but has ext3 @j %s.\n" +#~ msgstr "El @S no tiene la bandera has_journal, pero tiene un @j ext3 %s.\n" -#: lib/ext2fs/ext2_err.c:13 -msgid "Wrong magic number for badblocks_list structure" -msgstr "" +#, fuzzy +#~ msgid "Error while deleting extent: %m\n" +#~ msgstr "Error mientras se intentaba encontrar /@l: %m\n" -#: lib/ext2fs/ext2_err.c:14 -msgid "Wrong magic number for badblocks_iterate structure" -msgstr "" +#~ msgid "Recreate journal to make the filesystem ext3 again?\n" +#~ msgstr "¿Recrear el @j para hacer el sistema de ficheros ext3 de nuevo?\n" -#: lib/ext2fs/ext2_err.c:15 -msgid "Wrong magic number for inode_scan structure" -msgstr "" +#~ msgid "while retrying to write block bitmaps for %s" +#~ msgstr "" +#~ "mientras se reintentaba escribir los mapas de bits del bloque para %s" -#: lib/ext2fs/ext2_err.c:16 -msgid "Wrong magic number for io_channel structure" -msgstr "" +#~ msgid "writing inode bitmaps" +#~ msgstr "escribiendo los mapas de bits de los nodos-i" -#: lib/ext2fs/ext2_err.c:17 -msgid "Wrong magic number for unix io_channel structure" -msgstr "" +#~ msgid "%s failed for %s: %s\n" +#~ msgstr "%s falló para %s: %s\n" -#: lib/ext2fs/ext2_err.c:18 -msgid "Wrong magic number for io_manager structure" -msgstr "" +# Bueno, en estos casos, y ante la imposibilidad de traducir las palabras +# considero al menos que se debe traducir a la gramática española: +# -> ioctl de HDIO_GETGEO +#~ msgid "HDIO_GETGEO ioctl" +#~ msgstr "HDIO_GETGEO ioctl" -#: lib/ext2fs/ext2_err.c:19 -msgid "Wrong magic number for block_bitmap structure" -msgstr "" +#~ msgid "BLKGETSIZE ioctl" +#~ msgstr "BLKGETSIZE ioctl" -#: lib/ext2fs/ext2_err.c:20 -msgid "Wrong magic number for inode_bitmap structure" -msgstr "" +#~ msgid "Filesystem %s has unsupported features enabled.\n" +#~ msgstr "" +#~ "El sistema de ficheros %s tiene activadas características no soportadas.\n" -#: lib/ext2fs/ext2_err.c:21 -msgid "Wrong magic number for generic_bitmap structure" -msgstr "" +#~ msgid "@a in @i %i has a hash (%N) which is @n (must be 0)\n" +#~ msgstr "" +#~ "El @a en el @i %i tiene un arreglo asociativo (%N) que es @n (debe ser " +#~ "0)\n" -#: lib/ext2fs/ext2_err.c:22 -msgid "Wrong magic number for test io_channel structure" -msgstr "" +#~ msgid "while calling ext2fs_block_iterate" +#~ msgstr "mientras se llamaba a ext2fs_block_iterate" -#: lib/ext2fs/ext2_err.c:23 -msgid "Wrong magic number for directory block list structure" -msgstr "" +#~ msgid "while calling iterator function" +#~ msgstr "mientras se llamaba a la función iteradora" -#: lib/ext2fs/ext2_err.c:24 -msgid "Wrong magic number for icount structure" -msgstr "" +#~ msgid "while allocating inode buffer" +#~ msgstr "mientras se reservaba al búfer del nodo-i" -#: lib/ext2fs/ext2_err.c:25 -msgid "Wrong magic number for Powerquest io_channel structure" -msgstr "" +#~ msgid "while reading inode table (group %d)" +#~ msgstr "mientras se leía la tabla de nodos-i (grupo %d)" -#: lib/ext2fs/ext2_err.c:26 -msgid "Wrong magic number for ext2 file structure" -msgstr "" +#~ msgid "while writing inode table (group %d)" +#~ msgstr "mientras se escribía la tabla de nodos-i (grupo %d)" -#: lib/ext2fs/ext2_err.c:27 -msgid "Wrong magic number for Ext2 Image Header" -msgstr "" - -#: lib/ext2fs/ext2_err.c:28 -msgid "Wrong magic number for inode io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:29 -msgid "Wrong magic number for ext4 extent handle" -msgstr "" - -#: lib/ext2fs/ext2_err.c:30 -#, fuzzy -msgid "Bad magic number in super-block" -msgstr "leyendo el superbloque del fichero de transacciones\n" - -#: lib/ext2fs/ext2_err.c:31 -msgid "Filesystem revision too high" -msgstr "" - -#: lib/ext2fs/ext2_err.c:32 -msgid "Attempt to write to filesystem opened read-only" -msgstr "" - -#: lib/ext2fs/ext2_err.c:33 -#, fuzzy -msgid "Can't read group descriptors" -msgstr ", descriptores de grupo en " - -#: lib/ext2fs/ext2_err.c:34 -#, fuzzy -msgid "Can't write group descriptors" -msgstr ", descriptores de grupo en " - -#: lib/ext2fs/ext2_err.c:35 -msgid "Corrupt group descriptor: bad block for block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:36 -msgid "Corrupt group descriptor: bad block for inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:37 -msgid "Corrupt group descriptor: bad block for inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:38 -#, fuzzy -msgid "Can't write an inode bitmap" -msgstr "escribiendo los mapas de bits de los nodos-i" - -#: lib/ext2fs/ext2_err.c:39 -#, fuzzy -msgid "Can't read an inode bitmap" -msgstr "escribiendo los mapas de bits de los nodos-i" - -#: lib/ext2fs/ext2_err.c:40 -#, fuzzy -msgid "Can't write a block bitmap" -msgstr "leyendo los mapas de bits del nodo-i y del bloque" - -#: lib/ext2fs/ext2_err.c:41 -#, fuzzy -msgid "Can't read a block bitmap" -msgstr "leyendo los mapas de bits del nodo-i y del bloque" - -#: lib/ext2fs/ext2_err.c:42 -#, fuzzy -msgid "Can't write an inode table" -msgstr "mientras se escribía la tabla de nodos-i" - -#: lib/ext2fs/ext2_err.c:43 -#, fuzzy -msgid "Can't read an inode table" -msgstr "Revisando la tabla de nodos-i" - -#: lib/ext2fs/ext2_err.c:44 -msgid "Can't read next inode" -msgstr "" - -#: lib/ext2fs/ext2_err.c:45 -#, fuzzy -msgid "Filesystem has unexpected block size" -msgstr "" -"El sistema de ficheros es más grande que el tamaño aparente del dispositivo." - -#: lib/ext2fs/ext2_err.c:46 -msgid "EXT2 directory corrupted" -msgstr "" - -#: lib/ext2fs/ext2_err.c:47 -msgid "Attempt to read block from filesystem resulted in short read" -msgstr "" - -#: lib/ext2fs/ext2_err.c:48 -msgid "Attempt to write block to filesystem resulted in short write" -msgstr "" - -#: lib/ext2fs/ext2_err.c:49 -msgid "No free space in the directory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:50 -#, fuzzy -msgid "Inode bitmap not loaded" -msgstr ", mapa de bits de nodo-i en " - -#: lib/ext2fs/ext2_err.c:51 -#, fuzzy -msgid "Block bitmap not loaded" -msgstr " Mapa de bits de bloque en " - -#: lib/ext2fs/ext2_err.c:52 -#, fuzzy -msgid "Illegal inode number" -msgstr "¡Número inválido de bloques!\n" - -#: lib/ext2fs/ext2_err.c:53 -#, fuzzy -msgid "Illegal block number" -msgstr "¡Número inválido de bloques!\n" - -#: lib/ext2fs/ext2_err.c:54 -msgid "Internal error in ext2fs_expand_dir" -msgstr "" - -#: lib/ext2fs/ext2_err.c:55 -msgid "Not enough space to build proposed filesystem" -msgstr "" - -#: lib/ext2fs/ext2_err.c:56 -msgid "Illegal block number passed to ext2fs_mark_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:57 -msgid "Illegal block number passed to ext2fs_unmark_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:58 -msgid "Illegal block number passed to ext2fs_test_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:59 -msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:60 -msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:61 -msgid "Illegal inode number passed to ext2fs_test_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:62 -msgid "Attempt to fudge end of block bitmap past the real end" -msgstr "" - -#: lib/ext2fs/ext2_err.c:63 -msgid "Attempt to fudge end of inode bitmap past the real end" -msgstr "" - -#: lib/ext2fs/ext2_err.c:64 -#, fuzzy -msgid "Illegal indirect block found" -msgstr "leyendo bloques indirectos del nodo-i %u" - -#: lib/ext2fs/ext2_err.c:65 -#, fuzzy -msgid "Illegal doubly indirect block found" -msgstr "leyendo bloques indirectos del nodo-i %u" - -#: lib/ext2fs/ext2_err.c:66 -#, fuzzy -msgid "Illegal triply indirect block found" -msgstr "leyendo bloques indirectos del nodo-i %u" - -#: lib/ext2fs/ext2_err.c:67 -#, fuzzy -msgid "Block bitmaps are not the same" -msgstr " Mapa de bits de bloque en " - -#: lib/ext2fs/ext2_err.c:68 -#, fuzzy -msgid "Inode bitmaps are not the same" -msgstr ", mapa de bits de nodo-i en " - -#: lib/ext2fs/ext2_err.c:69 -msgid "Illegal or malformed device name" -msgstr "" - -#: lib/ext2fs/ext2_err.c:70 -msgid "A block group is missing an inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:71 -msgid "The ext2 superblock is corrupt" -msgstr "" - -#: lib/ext2fs/ext2_err.c:72 -msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:73 -msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:74 -msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:75 -msgid "Too many symbolic links encountered." -msgstr "" - -#: lib/ext2fs/ext2_err.c:76 -msgid "The callback function will not handle this case" -msgstr "" - -#: lib/ext2fs/ext2_err.c:77 -msgid "The inode is from a bad block in the inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:78 -#, fuzzy -msgid "Filesystem has unsupported feature(s)" -msgstr "%s tiene características no soportadas:" - -#: lib/ext2fs/ext2_err.c:79 -#, fuzzy -msgid "Filesystem has unsupported read-only feature(s)" -msgstr "" -"El sistema de ficheros %s tiene activadas características no soportadas.\n" - -#: lib/ext2fs/ext2_err.c:80 -msgid "IO Channel failed to seek on read or write" -msgstr "" - -#: lib/ext2fs/ext2_err.c:81 -#, fuzzy -msgid "Memory allocation failed" -msgstr "Aerror en la reserva" - -#: lib/ext2fs/ext2_err.c:82 -msgid "Invalid argument passed to ext2 library" -msgstr "" - -#: lib/ext2fs/ext2_err.c:83 -#, fuzzy -msgid "Could not allocate block in ext2 filesystem" -msgstr "No se puede reservar memoria para los tipos de sistema de ficheros\n" - -#: lib/ext2fs/ext2_err.c:84 -#, fuzzy -msgid "Could not allocate inode in ext2 filesystem" -msgstr "No se puede reservar memoria para los tipos de sistema de ficheros\n" - -#: lib/ext2fs/ext2_err.c:85 -msgid "Ext2 inode is not a directory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:86 -msgid "Too many references in table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:87 -msgid "File not found by ext2_lookup" -msgstr "" - -#: lib/ext2fs/ext2_err.c:88 -msgid "File open read-only" -msgstr "" - -#: lib/ext2fs/ext2_err.c:89 -#, fuzzy -msgid "Ext2 directory block not found" -msgstr "El bloque del directorio %u (#%d) está vacío en el nodo-i %u\n" - -#: lib/ext2fs/ext2_err.c:90 -msgid "Ext2 directory already exists" -msgstr "" - -#: lib/ext2fs/ext2_err.c:91 -msgid "Unimplemented ext2 library function" -msgstr "" - -#: lib/ext2fs/ext2_err.c:92 -msgid "User cancel requested" -msgstr "" - -#: lib/ext2fs/ext2_err.c:93 -msgid "Ext2 file too big" -msgstr "" - -#: lib/ext2fs/ext2_err.c:94 -#, fuzzy -msgid "Supplied journal device not a block device" -msgstr "Añadiendo el fichero de transacciones al dispositivo %s: " - -#: lib/ext2fs/ext2_err.c:95 -#, fuzzy -msgid "Journal superblock not found" -msgstr "¡No se encontró el superbloque del fichero de transacciones!\n" - -#: lib/ext2fs/ext2_err.c:96 -msgid "Journal must be at least 1024 blocks" -msgstr "" - -#: lib/ext2fs/ext2_err.c:97 -msgid "Unsupported journal version" -msgstr "" - -#: lib/ext2fs/ext2_err.c:98 -#, fuzzy -msgid "Error loading external journal" -msgstr "mientras se intentaba abrir el fichero de transacciones externo" - -#: lib/ext2fs/ext2_err.c:99 -#, fuzzy -msgid "Journal not found" -msgstr "¡No se encontró el superbloque del fichero de transacciones!\n" - -#: lib/ext2fs/ext2_err.c:100 -msgid "Directory hash unsupported" -msgstr "" - -#: lib/ext2fs/ext2_err.c:101 -#, fuzzy -msgid "Illegal extended attribute block number" -msgstr "aatributo extendido" - -#: lib/ext2fs/ext2_err.c:102 -msgid "Cannot create filesystem with requested number of inodes" -msgstr "" - -#: lib/ext2fs/ext2_err.c:103 -msgid "E2image snapshot not in use" -msgstr "" - -#: lib/ext2fs/ext2_err.c:104 -#, fuzzy -msgid "Too many reserved group descriptor blocks" -msgstr "" - -#: lib/ext2fs/ext2_err.c:105 -msgid "Resize inode is corrupt" -msgstr "" - -#: lib/ext2fs/ext2_err.c:106 -msgid "Tried to set block bmap with missing indirect block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:107 -msgid "TDB: Success" -msgstr "" - -#: lib/ext2fs/ext2_err.c:108 -msgid "TDB: Corrupt database" -msgstr "" - -#: lib/ext2fs/ext2_err.c:109 -msgid "TDB: IO Error" -msgstr "" - -#: lib/ext2fs/ext2_err.c:110 -msgid "TDB: Locking error" -msgstr "" - -#: lib/ext2fs/ext2_err.c:111 -msgid "TDB: Out of memory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:112 -msgid "TDB: Record exists" -msgstr "" - -#: lib/ext2fs/ext2_err.c:113 -msgid "TDB: Lock exists on other keys" -msgstr "" - -#: lib/ext2fs/ext2_err.c:114 -#, fuzzy -msgid "TDB: Invalid parameter" -msgstr "Tamaño de zancada no válido: %s\n" - -#: lib/ext2fs/ext2_err.c:115 -msgid "TDB: Record does not exist" -msgstr "" - -#: lib/ext2fs/ext2_err.c:116 -msgid "TDB: Write not permitted" -msgstr "" - -#: lib/ext2fs/ext2_err.c:117 -msgid "Ext2fs directory block list is empty" -msgstr "" - -#: lib/ext2fs/ext2_err.c:118 -msgid "Attempt to modify a block mapping via a read-only block iterator" -msgstr "" - -#: lib/ext2fs/ext2_err.c:119 -msgid "Wrong magic number for ext4 extent saved path" -msgstr "" - -#: lib/ext2fs/ext2_err.c:120 -msgid "Wrong magic number for 64-bit generic bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:121 -msgid "Wrong magic number for 64-bit block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:122 -msgid "Wrong magic number for 64-bit inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:123 -msgid "Wrong magic number --- RESERVED_13" -msgstr "" - -#: lib/ext2fs/ext2_err.c:124 -msgid "Wrong magic number --- RESERVED_14" -msgstr "" - -#: lib/ext2fs/ext2_err.c:125 -msgid "Wrong magic number --- RESERVED_15" -msgstr "" - -#: lib/ext2fs/ext2_err.c:126 -msgid "Wrong magic number --- RESERVED_16" -msgstr "" - -#: lib/ext2fs/ext2_err.c:127 -msgid "Wrong magic number --- RESERVED_17" -msgstr "" - -#: lib/ext2fs/ext2_err.c:128 -msgid "Wrong magic number --- RESERVED_18" -msgstr "" - -#: lib/ext2fs/ext2_err.c:129 -msgid "Wrong magic number --- RESERVED_19" -msgstr "" - -#: lib/ext2fs/ext2_err.c:130 -msgid "Corrupt extent header" -msgstr "" - -#: lib/ext2fs/ext2_err.c:131 -msgid "Corrupt extent index" -msgstr "" - -#: lib/ext2fs/ext2_err.c:132 -msgid "Corrupt extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:133 -msgid "No free space in extent map" -msgstr "" - -#: lib/ext2fs/ext2_err.c:134 -msgid "Inode does not use extents" -msgstr "" - -#: lib/ext2fs/ext2_err.c:135 -#, fuzzy -msgid "No 'next' extent" -msgstr "eentrada" - -#: lib/ext2fs/ext2_err.c:136 -msgid "No 'previous' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:137 -msgid "No 'up' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:138 -msgid "No 'down' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:139 -msgid "No current node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:140 -msgid "Ext2fs operation not supported" -msgstr "" - -#: lib/ext2fs/ext2_err.c:141 -msgid "No room to insert extent in node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:142 -msgid "Splitting would result in empty node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:143 -#, fuzzy -msgid "Extent not found" -msgstr "No se encontró /@l. " - -#: lib/ext2fs/ext2_err.c:144 -msgid "Operation not supported for inodes containing extents" -msgstr "" - -#: lib/ext2fs/ext2_err.c:145 -msgid "Extent length is invalid" -msgstr "" - -#: lib/ext2fs/ext2_err.c:146 -msgid "I/O Channel does not support 64-bit block numbers" -msgstr "" - -#: lib/ext2fs/ext2_err.c:147 -msgid "Can't check if filesystem is mounted due to missing mtab file" -msgstr "" - -#: lib/ext2fs/ext2_err.c:148 -msgid "Filesystem too large to use legacy bitmaps" -msgstr "" - -#: lib/ext2fs/ext2_err.c:149 -msgid "MMP: invalid magic number" -msgstr "" - -#: lib/ext2fs/ext2_err.c:150 -msgid "MMP: device currently active" -msgstr "" - -#: lib/ext2fs/ext2_err.c:151 -msgid "MMP: fsck being run" -msgstr "" - -#: lib/ext2fs/ext2_err.c:152 -msgid "MMP: block number beyond filesystem range" -msgstr "" - -#: lib/ext2fs/ext2_err.c:153 -msgid "MMP: undergoing an unknown operation" -msgstr "" - -#: lib/ext2fs/ext2_err.c:154 -#, fuzzy -msgid "MMP: filesystem still in use" -msgstr "tamaño inválido del sistema de ficheros - %s" - -#: lib/ext2fs/ext2_err.c:155 -msgid "MMP: open with O_DIRECT failed" -msgstr "" - -#: e2fsck/prof_err.c:11 -msgid "Profile version 0.0" -msgstr "" - -#: e2fsck/prof_err.c:12 -msgid "Bad magic value in profile_node" -msgstr "" - -#: e2fsck/prof_err.c:13 -#, fuzzy -msgid "Profile section not found" -msgstr "mientras se creaba /lost+found" - -#: e2fsck/prof_err.c:14 -#, fuzzy -msgid "Profile relation not found" -msgstr "mientras se creaba /lost+found" - -#: e2fsck/prof_err.c:15 -msgid "Attempt to add a relation to node which is not a section" -msgstr "" - -#: e2fsck/prof_err.c:16 -msgid "A profile section header has a non-zero value" -msgstr "" - -#: e2fsck/prof_err.c:17 -msgid "Bad linked list in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:18 -msgid "Bad group level in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:19 -msgid "Bad parent pointer in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:20 -msgid "Bad magic value in profile iterator" -msgstr "" - -#: e2fsck/prof_err.c:21 -msgid "Can't set value on section node" -msgstr "" - -#: e2fsck/prof_err.c:22 -msgid "Invalid argument passed to profile library" -msgstr "" - -#: e2fsck/prof_err.c:23 -msgid "Attempt to modify read-only profile" -msgstr "" - -#: e2fsck/prof_err.c:24 -msgid "Profile section header not at top level" -msgstr "" - -#: e2fsck/prof_err.c:25 -msgid "Syntax error in profile section header" -msgstr "" - -#: e2fsck/prof_err.c:26 -msgid "Syntax error in profile relation" -msgstr "" - -#: e2fsck/prof_err.c:27 -msgid "Extra closing brace in profile" -msgstr "" - -#: e2fsck/prof_err.c:28 -msgid "Missing open brace in profile" -msgstr "" - -#: e2fsck/prof_err.c:29 -msgid "Bad magic value in profile_t" -msgstr "" - -#: e2fsck/prof_err.c:30 -msgid "Bad magic value in profile_section_t" -msgstr "" - -#: e2fsck/prof_err.c:31 -msgid "Iteration through all top level section not supported" -msgstr "" - -#: e2fsck/prof_err.c:32 -#, fuzzy -msgid "Invalid profile_section object" -msgstr "Se puso una opción no válida para el sistema de ficheros: %s\n" - -#: e2fsck/prof_err.c:33 -msgid "No more sections" -msgstr "" - -#: e2fsck/prof_err.c:34 -msgid "Bad nameset passed to query routine" -msgstr "" - -#: e2fsck/prof_err.c:35 -msgid "No profile file open" -msgstr "" - -#: e2fsck/prof_err.c:36 -msgid "Bad magic value in profile_file_t" -msgstr "" - -#: e2fsck/prof_err.c:37 -#, fuzzy -msgid "Couldn't open profile file" -msgstr "No se puede clonar el fichero: %m\n" - -#: e2fsck/prof_err.c:38 -msgid "Section already exists" -msgstr "" - -#: e2fsck/prof_err.c:39 -msgid "Invalid boolean value" -msgstr "" - -#: e2fsck/prof_err.c:40 -#, fuzzy -msgid "Invalid integer value" -msgstr "Parámetro de zancada no válido: %s\n" - -#: e2fsck/prof_err.c:41 -msgid "Bad magic value in profile_file_data_t" -msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "%s is mounted. " -#~ msgstr "%s está montado. " - -#~ msgid "Couldn't determine journal size" -#~ msgstr "No se puede determinar el tamaño del fichero de transacciones" - -#~ msgid "bad block size - %s" -#~ msgstr "tamaño de los bloques dañados - %s" - -#~ msgid "short write (only %d bytes) for writing image header" -#~ msgstr "" -#~ "se escribió muy poco (sólo %d bytes) para el encabezado de la imagen" - -#~ msgid "invalid fragment size - %s" -#~ msgstr "Tamaño del fragmento inválido - %s" - -#~ msgid "Warning: fragments not supported. Ignoring -f option\n" -#~ msgstr "" -#~ "Atención: no están implementados los fragmentos. Se descarta la opción -" -#~ "f\n" - -#~ msgid "Journal NOT removed\n" -#~ msgstr "NO se ha eliminado el fichero de transacciones\n" - -#~ msgid "#\t\t %u -> %u (%d)\n" -#~ msgstr "#\t\t %u -> %u (%d)\n" - -#~ msgid "@S doesn't have has_@j flag, but has ext3 @j %s.\n" -#~ msgstr "El @S no tiene la bandera has_journal, pero tiene un @j ext3 %s.\n" - -#, fuzzy -#~ msgid "Error while deleting extent: %m\n" -#~ msgstr "Error mientras se intentaba encontrar /@l: %m\n" - -#~ msgid "Recreate journal to make the filesystem ext3 again?\n" -#~ msgstr "¿Recrear el @j para hacer el sistema de ficheros ext3 de nuevo?\n" - -#~ msgid "while retrying to write block bitmaps for %s" -#~ msgstr "" -#~ "mientras se reintentaba escribir los mapas de bits del bloque para %s" - -#~ msgid "%s failed for %s: %s\n" -#~ msgstr "%s falló para %s: %s\n" - -# Bueno, en estos casos, y ante la imposibilidad de traducir las palabras -# considero al menos que se debe traducir a la gramática española: -# -> ioctl de HDIO_GETGEO -#~ msgid "HDIO_GETGEO ioctl" -#~ msgstr "HDIO_GETGEO ioctl" - -#~ msgid "BLKGETSIZE ioctl" -#~ msgstr "BLKGETSIZE ioctl" - -#~ msgid "@a in @i %i has a hash (%N) which is @n (must be 0)\n" -#~ msgstr "" -#~ "El @a en el @i %i tiene un arreglo asociativo (%N) que es @n (debe ser " -#~ "0)\n" - -#~ msgid "while calling ext2fs_block_iterate" -#~ msgstr "mientras se llamaba a ext2fs_block_iterate" - -#~ msgid "while calling iterator function" -#~ msgstr "mientras se llamaba a la función iteradora" - -#~ msgid "while allocating inode buffer" -#~ msgstr "mientras se reservaba al búfer del nodo-i" - -#~ msgid "while reading inode table (group %d)" -#~ msgstr "mientras se leía la tabla de nodos-i (grupo %d)" - -#~ msgid "while writing inode table (group %d)" -#~ msgstr "mientras se escribía la tabla de nodos-i (grupo %d)" - -#~ msgid "Pass 0: Doing byte-swap of filesystem\n" -#~ msgstr "Paso 0: Haciendo la trasposición de bytes del sistema de ficheros\n" +#~ msgid "Pass 0: Doing byte-swap of filesystem\n" +#~ msgstr "Paso 0: Haciendo la trasposición de bytes del sistema de ficheros\n" #~ msgid "" #~ "%s: the filesystem must be freshly checked using fsck\n" @@ -6911,6 +5276,9 @@ msgstr "" #~ msgstr "" #~ "%s: el orden de los bytes del sistema de ficheros ya se normalizó.\n" +#~ msgid "invalid test_pattern: %s\n" +#~ msgstr "patrón_de_prueba no válido: %s\n" + #~ msgid "invalid starting block - %s" #~ msgstr "bloque inicial no válido - %s" @@ -6940,6 +5308,12 @@ msgstr "" #~ "Atención: los nodos-i de %d bytes no se pueden utilizar en muchos " #~ "sistemas\n" +#~ msgid "bad filesystem size - %s" +#~ msgstr "tamaño inválido del sistema de ficheros - %s" + +#~ msgid "Couldn't find ext2 superblock," +#~ msgstr "No se puede encontrar el superbloque del ext2," + #~ msgid "done \n" #~ msgstr "hecho \n" @@ -6983,6 +5357,64 @@ msgstr "" #~ "Se intenta borrar a la fuerza la bandera HTREE en el @i %d (%q). (Código " #~ "de prueba en etapa beta)\n" +#~ msgid "" +#~ "\n" +#~ "%8d inode used (%d%%)\n" +#~ msgid_plural "" +#~ "\n" +#~ "%8d inodes used (%d%%)\n" +#~ msgstr[0] "" +#~ "\n" +#~ "%8d nodo-i utilizado (%d%%)\n" +#~ msgstr[1] "" +#~ "\n" +#~ "%8d nodos i utilizados (%d%%)\n" + +#~ msgid "%8d non-contiguous inode (%0d.%d%%)\n" +#~ msgid_plural "%8d non-contiguous inodes (%0d.%d%%)\n" +#~ msgstr[0] "%8d nodo-i no contiguo (%0d.%d%%)\n" +#~ msgstr[1] "%8d nodos i no contiguos (%0d.%d%%)\n" + +#~ msgid "%8d block used (%d%%)\n" +#~ msgid_plural "%8d blocks used (%d%%)\n" +#~ msgstr[0] "%8d bloque usado (%d%%)\n" +#~ msgstr[1] "%d bloques usados (%d%%)\n" + +#~ msgid "%8d bad block\n" +#~ msgid_plural "%8d bad blocks\n" +#~ msgstr[0] "%8d bloque dañado\n" +#~ msgstr[1] "%8d bloques dañados\n" + +#~ msgid "%8d large file\n" +#~ msgid_plural "%8d large files\n" +#~ msgstr[0] "%8d fichero grande\n" +#~ msgstr[1] "%8d ficheros grandes\n" + +#~ msgid "%8d directory\n" +#~ msgid_plural "%8d directories\n" +#~ msgstr[0] "%8d directorio\n" +#~ msgstr[1] "%8d directorios\n" + +#~ msgid "%8d fifo\n" +#~ msgid_plural "%8d fifos\n" +#~ msgstr[0] "%8d fifo\n" +#~ msgstr[1] "%8d fifos\n" + +#~ msgid "%8d link\n" +#~ msgid_plural "%8d links\n" +#~ msgstr[0] "%8d vínculo\n" +#~ msgstr[1] "%8d vínculos\n" + +#~ msgid " (%d fast symbolic link)\n" +#~ msgid_plural " (%d fast symbolic links)\n" +#~ msgstr[0] "(%d vínculo simbólico rápido)\n" +#~ msgstr[1] "(%d vínculos simbólicos rápidos)\n" + +#~ msgid "%8d file\n" +#~ msgid_plural "%8d files\n" +#~ msgstr[0] "%8d fichero\n" +#~ msgstr[1] "%8d ficheros\n" + #~ msgid "Usage: findsuper device [skipbytes [startkb]]\n" #~ msgstr "" #~ "Modo de empleo: findsuper dispositivo [bytesporsaltar [principio (en " @@ -6997,21 +5429,21 @@ msgstr "" #~ msgid "startkb should be a number, not %s\n" #~ msgstr "principio debe ser un número, no %s\n" -#~ msgid "startkb should be positive, not %lld\n" -#~ msgstr "principio debe ser positivo, no %lld\n" +#~ msgid "startkb should be positive, not %Ld\n" +#~ msgstr "principio debe ser positivo, no %Ld\n" -#~ msgid "starting at %lld, with %d byte increments\n" -#~ msgstr "se comienza en %lld, con incrementos de %d bytes\n" +#~ msgid "starting at %Ld, with %d byte increments\n" +#~ msgstr "se comienza en %Ld, con incrementos de %d bytes\n" #~ msgid " thisoff block fs_blk_sz blksz grp last_mount\n" #~ msgstr " este bloque fs_blk_sz blksz grp ultimo_montado\n" #~ msgid "" #~ "\n" -#~ "%14lld: finished with errno %d\n" +#~ "%14Ld: finished with errno %d\n" #~ msgstr "" #~ "\n" -#~ "%14lld: se finaliza con el error número %d\n" +#~ "%14Ld: se finaliza con el error número %d\n" #~ msgid "(unknown os)" #~ msgstr "(so desconocido)" diff --git a/po/fr.gmo b/po/fr.gmo index 10dca617..efe6ff33 100644 Binary files a/po/fr.gmo and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index dd27dca9..8c1f372b 100644 --- a/po/fr.po +++ b/po/fr.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the e2fsprogs package. # Copyright © 1996 Free Software Foundation, Inc. # Michel Robitaille , traducteur depuis/since 1996. -# Samuel Thibault , 2006-2013. +# Samuel Thibault , 2006-2010. # #. 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, @@ -65,378 +65,380 @@ #. msgid "" msgstr "" -"Project-Id-Version: GNU e2fsprogs 1.42.8\n" +"Project-Id-Version: GNU e2fsprogs 1.41.12\n" "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n" -"POT-Creation-Date: 2013-06-16 08:17-0400\n" -"PO-Revision-Date: 2013-08-04 16:52+0200\n" +"POT-Creation-Date: 2010-05-17 23:05-0400\n" +"PO-Revision-Date: 2010-05-20 10:27+0200\n" "Last-Translator: Samuel Thibault \n" "Language-Team: French \n" -"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: e2fsck/badblocks.c:23 misc/mke2fs.c:180 +#: e2fsck/badblocks.c:22 misc/mke2fs.c:169 #, c-format msgid "Bad block %u out of range; ignored.\n" msgstr "Bloc défectueux %u hors limite ; ignoré.\n" -#: e2fsck/badblocks.c:46 +#: e2fsck/badblocks.c:45 msgid "while sanity checking the bad blocks inode" msgstr "lors du contrôle de l'intégrité de l'i-noeud des blocs défecteux" -#: e2fsck/badblocks.c:58 +#: e2fsck/badblocks.c:57 msgid "while reading the bad blocks inode" msgstr "lors de la lecture de l'i-noeud des blocs défectueux" -#: e2fsck/badblocks.c:72 e2fsck/iscan.c:110 e2fsck/scantest.c:107 -#: e2fsck/unix.c:1332 e2fsck/unix.c:1420 misc/badblocks.c:1214 -#: misc/badblocks.c:1222 misc/badblocks.c:1236 misc/badblocks.c:1248 -#: misc/dumpe2fs.c:588 misc/e2image.c:1196 misc/e2image.c:1324 -#: misc/e2image.c:1337 misc/mke2fs.c:196 misc/tune2fs.c:1907 resize/main.c:315 +#: e2fsck/badblocks.c:71 e2fsck/iscan.c:112 e2fsck/scantest.c:109 +#: e2fsck/unix.c:1083 e2fsck/unix.c:1166 misc/badblocks.c:1155 +#: misc/badblocks.c:1163 misc/badblocks.c:1177 misc/badblocks.c:1189 +#: misc/dumpe2fs.c:552 misc/e2image.c:583 misc/e2image.c:679 +#: misc/e2image.c:695 misc/mke2fs.c:185 misc/tune2fs.c:1573 resize/main.c:310 #, c-format msgid "while trying to open %s" msgstr "lors de la tentative d'ouverture de %s" -#: e2fsck/badblocks.c:83 +#: e2fsck/badblocks.c:82 #, c-format msgid "while trying popen '%s'" msgstr "lors de la tentative d'ouverture via popen() « %s »" -#: e2fsck/badblocks.c:94 misc/mke2fs.c:203 +#: e2fsck/badblocks.c:93 misc/mke2fs.c:192 msgid "while reading in list of bad blocks from file" msgstr "lors de la lecture de la liste des blocs défectueux à partir du fichier" -#: e2fsck/badblocks.c:105 +#: e2fsck/badblocks.c:104 msgid "while updating bad block inode" msgstr "lors de la mise à jour de l'i-noeud des blocs défectueux" -#: e2fsck/badblocks.c:131 +#: e2fsck/badblocks.c:130 #, c-format msgid "Warning: illegal block %u found in bad block inode. Cleared.\n" msgstr "" "Avertissement : bloc illégal %u repéré dans l'i-noeud des blocs\n" "défectueux. Effacé.\n" -#: e2fsck/ehandler.c:55 +#: e2fsck/ehandler.c:54 #, c-format msgid "Error reading block %lu (%s) while %s. " msgstr "Erreur de lecture du bloc %lu (%s) lors de %s. " -#: e2fsck/ehandler.c:58 +#: e2fsck/ehandler.c:57 #, c-format msgid "Error reading block %lu (%s). " msgstr "Erreur de lecture du bloc %lu (%s). " -#: e2fsck/ehandler.c:61 e2fsck/ehandler.c:110 +#: e2fsck/ehandler.c:60 e2fsck/ehandler.c:109 msgid "Ignore error" msgstr "Ignorer l'erreur" -#: e2fsck/ehandler.c:62 +#: e2fsck/ehandler.c:61 msgid "Force rewrite" msgstr "Forcer la ré-écriture" -#: e2fsck/ehandler.c:104 +#: e2fsck/ehandler.c:103 #, c-format msgid "Error writing block %lu (%s) while %s. " msgstr "Erreur lors de l'écriture du bloc %lu (%s) lors de %s. " -#: e2fsck/ehandler.c:107 +#: e2fsck/ehandler.c:106 #, c-format msgid "Error writing block %lu (%s). " msgstr "Erreur lors de d'écriture du bloc %lu (%s). " -#: e2fsck/emptydir.c:57 +#: e2fsck/emptydir.c:56 msgid "empty dirblocks" msgstr "blocs des répertoires vides" -#: e2fsck/emptydir.c:62 +#: e2fsck/emptydir.c:61 msgid "empty dir map" msgstr "carte des répertoires vide" -#: e2fsck/emptydir.c:98 +#: e2fsck/emptydir.c:97 #, c-format msgid "Empty directory block %u (#%d) in inode %u\n" msgstr "Bloc des répertoires %u (n°%d) vide dans l'i-noeud %u\n" -#: e2fsck/extend.c:22 +#: e2fsck/extend.c:21 #, c-format msgid "%s: %s filename nblocks blocksize\n" msgstr "%s : %s nom-de-fichier nombre-de-blocs taille-des-blocs\n" -#: e2fsck/extend.c:44 +#: e2fsck/extend.c:43 #, c-format msgid "Illegal number of blocks!\n" msgstr "Nombre illégal de blocs !\n" -#: e2fsck/extend.c:50 +#: e2fsck/extend.c:49 #, c-format msgid "Couldn't allocate block buffer (size=%d)\n" msgstr "Ne peut allouer le tampon de bloc (taille=%d)\n" -#: e2fsck/flushb.c:35 +#: e2fsck/flushb.c:34 #, c-format msgid "Usage: %s disk\n" -msgstr "Utilisation : %s disque\n" +msgstr "Usage : %s disque\n" -#: e2fsck/flushb.c:64 +#: e2fsck/flushb.c:63 #, c-format msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n" msgstr "L'ioctl BLKFLSBUF n'est pas supporté ! Impossible de vider les tampons.\n" -#: e2fsck/iscan.c:44 +#: e2fsck/iscan.c:46 #, c-format msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n" -msgstr "Utilisation : %s [-F] [-I nombre_blocs_du_tampon_d_i_noeud] périphérique\n" +msgstr "Usage : %s [-F] [-I nombre_blocs_du_tampon_d_i_noeud] périphérique\n" -#: e2fsck/iscan.c:81 e2fsck/unix.c:961 +#: e2fsck/iscan.c:83 e2fsck/unix.c:838 #, c-format msgid "while opening %s for flushing" msgstr "lors de l'ouverture de %s pour la vidange" -#: e2fsck/iscan.c:86 e2fsck/unix.c:967 resize/main.c:288 +#: e2fsck/iscan.c:88 e2fsck/unix.c:844 resize/main.c:286 #, c-format msgid "while trying to flush %s" msgstr "lors de la tentative de vidange de %s" -#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1091 +#: e2fsck/iscan.c:121 e2fsck/scantest.c:116 misc/e2image.c:489 msgid "while opening inode scan" msgstr "lors de l'ouverture de l'examen d'i-noeuds" -#: e2fsck/iscan.c:127 misc/e2image.c:1109 +#: e2fsck/iscan.c:129 misc/e2image.c:507 msgid "while getting next inode" msgstr "lors de l'obtention de l'i-noeud suivant" -#: e2fsck/iscan.c:136 +#: e2fsck/iscan.c:138 #, c-format msgid "%u inodes scanned.\n" msgstr "%u i-noeuds examinés.\n" -#: e2fsck/journal.c:522 +#: e2fsck/journal.c:507 msgid "reading journal superblock\n" msgstr "lecture en cours du superbloc du journal\n" -#: e2fsck/journal.c:579 +#: e2fsck/journal.c:564 #, c-format msgid "%s: no valid journal superblock found\n" msgstr "%s : aucun superbloc de journal valide n'a été trouvé\n" -#: e2fsck/journal.c:588 +#: e2fsck/journal.c:573 #, c-format msgid "%s: journal too short\n" msgstr "%s : journal trop court\n" -#: e2fsck/journal.c:880 +#: e2fsck/journal.c:860 #, c-format msgid "%s: recovering journal\n" msgstr "%s : récupération du journal\n" -#: e2fsck/journal.c:882 +#: e2fsck/journal.c:862 #, c-format msgid "%s: won't do journal recovery while read-only\n" msgstr "" "%s : aucune récupération du journal n'est possible tant qu'il est en\n" "lecture seule\n" -#: e2fsck/journal.c:909 +#: e2fsck/journal.c:887 #, c-format msgid "while trying to re-open %s" msgstr "lors de la tentative de ré-ouverture de %s" -#: e2fsck/message.c:113 +#: e2fsck/message.c:111 msgid "aextended attribute" msgstr "aattribut étendu" -#: e2fsck/message.c:114 +#: e2fsck/message.c:112 msgid "Aerror allocating" msgstr "Aerreur lors de l'allocation" -#: e2fsck/message.c:115 +#: e2fsck/message.c:113 msgid "bblock" msgstr "bbloc" -#: e2fsck/message.c:116 +#: e2fsck/message.c:114 msgid "Bbitmap" msgstr "Bbitmap" -#: e2fsck/message.c:117 +#: e2fsck/message.c:115 msgid "ccompress" msgstr "ccompress" -#: e2fsck/message.c:118 +#: e2fsck/message.c:116 msgid "Cconflicts with some other fs @b" msgstr "Cest en conflit avec des @bs d'autres systèmes de fichiers" -#: e2fsck/message.c:119 +#: e2fsck/message.c:117 msgid "iinode" msgstr "ii-noeud" -#: e2fsck/message.c:120 +#: e2fsck/message.c:118 msgid "Iillegal" msgstr "Iillégal" -#: e2fsck/message.c:121 +#: e2fsck/message.c:119 msgid "jjournal" msgstr "jjournal" -#: e2fsck/message.c:122 +#: e2fsck/message.c:120 msgid "Ddeleted" msgstr "Deffacé" -#: e2fsck/message.c:123 +#: e2fsck/message.c:121 msgid "ddirectory" msgstr "drépertoire" -#: e2fsck/message.c:124 +#: e2fsck/message.c:122 msgid "eentry" msgstr "eentrée" -#: e2fsck/message.c:125 +#: e2fsck/message.c:123 msgid "E@e '%Dn' in %p (%i)" msgstr "E@e « %Dn » dans %p (%i)" -#: e2fsck/message.c:126 +#: e2fsck/message.c:124 msgid "ffilesystem" msgstr "fsystème de fichiers" -#: e2fsck/message.c:127 +#: e2fsck/message.c:125 msgid "Ffor @i %i (%Q) is" msgstr "Fpour l'@i %i (%Q) est" -#: e2fsck/message.c:128 +#: e2fsck/message.c:126 msgid "ggroup" msgstr "ggroupe" -#: e2fsck/message.c:129 +#: e2fsck/message.c:127 msgid "hHTREE @d @i" msgstr "h@i de @d d'HTREE" -#: e2fsck/message.c:130 +#: e2fsck/message.c:128 msgid "llost+found" msgstr "llost+found" -#: e2fsck/message.c:131 +#: e2fsck/message.c:129 msgid "Lis a link" msgstr "Lest un lien" -#: e2fsck/message.c:132 +#: e2fsck/message.c:130 msgid "mmultiply-claimed" msgstr "mréclamé(s) plusieurs fois" -#: e2fsck/message.c:133 +#: e2fsck/message.c:131 msgid "ninvalid" msgstr "ninvalide" -#: e2fsck/message.c:134 +#: e2fsck/message.c:132 msgid "oorphaned" msgstr "oorphelin" -#: e2fsck/message.c:135 +#: e2fsck/message.c:133 msgid "pproblem in" msgstr "pproblème avec" -#: e2fsck/message.c:136 -msgid "qquota" -msgstr "qquota" - -#: e2fsck/message.c:137 +#: e2fsck/message.c:134 msgid "rroot @i" msgstr "r@i racine" -#: e2fsck/message.c:138 +#: e2fsck/message.c:135 msgid "sshould be" msgstr "sdevrait être" -#: e2fsck/message.c:139 +#: e2fsck/message.c:136 msgid "Ssuper@b" msgstr "Ssuper@b" -#: e2fsck/message.c:140 +#: e2fsck/message.c:137 msgid "uunattached" msgstr "unon attaché" -#: e2fsck/message.c:141 +#: e2fsck/message.c:138 msgid "vdevice" msgstr "vpériphérique" -#: e2fsck/message.c:142 +#: e2fsck/message.c:139 msgid "xextent" msgstr "xextent" -#: e2fsck/message.c:143 +#: e2fsck/message.c:140 msgid "zzero-length" -msgstr "zde longueur zéro" +msgstr "zde longeur zéro" -#: e2fsck/message.c:154 +#: e2fsck/message.c:151 msgid "" msgstr "" -#: e2fsck/message.c:155 +#: e2fsck/message.c:152 msgid "" msgstr "" -#: e2fsck/message.c:157 -msgid "" -msgstr "" +#: e2fsck/message.c:154 +msgid "" +msgstr "" -#: e2fsck/message.c:158 -msgid "" -msgstr "" +#: e2fsck/message.c:155 +msgid "" +msgstr "" -#: e2fsck/message.c:159 +#: e2fsck/message.c:156 msgid "" msgstr "" -#: e2fsck/message.c:160 +#: e2fsck/message.c:157 msgid "" msgstr "" -#: e2fsck/message.c:161 +#: e2fsck/message.c:158 msgid "" msgstr "" -#: e2fsck/message.c:162 +#: e2fsck/message.c:159 msgid "" msgstr "" -#: e2fsck/message.c:163 +#: e2fsck/message.c:160 msgid "" msgstr "" -#: e2fsck/message.c:164 +#: e2fsck/message.c:161 msgid "" msgstr "" -#: e2fsck/message.c:333 +#: e2fsck/message.c:330 +#, c-format msgid "regular file" msgstr "fichier normal" -#: e2fsck/message.c:335 +#: e2fsck/message.c:332 +#, c-format msgid "directory" msgstr "répertoire" -#: e2fsck/message.c:337 +#: e2fsck/message.c:334 +#, c-format msgid "character device" msgstr "fichier de périphérique en mode caractère" -#: e2fsck/message.c:339 +#: e2fsck/message.c:336 +#, c-format msgid "block device" msgstr "fichier de périphérique en mode bloc" -#: e2fsck/message.c:341 +#: e2fsck/message.c:338 +#, c-format msgid "named pipe" msgstr "tube nommé" -#: e2fsck/message.c:343 +#: e2fsck/message.c:340 +#, c-format msgid "symbolic link" msgstr "lien symbolique" -#: e2fsck/message.c:345 misc/uuidd.c:161 +#: e2fsck/message.c:342 +#, c-format msgid "socket" msgstr "socket" -#: e2fsck/message.c:347 +#: e2fsck/message.c:344 #, c-format msgid "unknown file type with mode 0%o" msgstr "type de fichier inconnu avec un mode 0%o" @@ -461,314 +463,314 @@ msgstr "bloc de traduction" msgid "block #" msgstr "bloc n°" -#: e2fsck/pass1b.c:222 +#: e2fsck/pass1b.c:220 msgid "multiply claimed inode map" msgstr "carte des i-noeuds réclamés plusieurs fois" -#: e2fsck/pass1b.c:610 e2fsck/pass1b.c:730 +#: e2fsck/pass1b.c:581 e2fsck/pass1b.c:714 #, c-format -msgid "internal error: can't find dup_blk for %llu\n" -msgstr "erreur interne : ne peut trouver dup_blk pour %llu\n" +msgid "internal error: can't find dup_blk for %u\n" +msgstr "erreur interne : ne peut trouver dup_blk pour %u\n" -#: e2fsck/pass1b.c:821 +#: e2fsck/pass1b.c:757 msgid "returned from clone_file_block" msgstr "retourné de clone_file_block" -#: e2fsck/pass1b.c:843 +#: e2fsck/pass1b.c:776 #, c-format -msgid "internal error: couldn't lookup EA block record for %llu" -msgstr "erreur interne : impossible de trouver l'enregistrement de bloc EA pour %llu" +msgid "internal error: couldn't lookup EA block record for %u" +msgstr "erreur interne : impossible de trouver l'enregistrement de bloc EA pour %u" -#: e2fsck/pass1b.c:855 +#: e2fsck/pass1b.c:788 #, c-format msgid "internal error: couldn't lookup EA inode record for %u" msgstr "erreur interne : impossible de trouver l'enregistrement d'i-noeud EA pour %u" -#: e2fsck/pass1.c:475 e2fsck/pass2.c:782 +#: e2fsck/pass1.c:475 e2fsck/pass2.c:776 msgid "reading directory block" msgstr "lecture des blocs de répertoire" -#: e2fsck/pass1.c:598 +#: e2fsck/pass1.c:597 msgid "in-use inode map" msgstr "carte des i-noeuds utilisés" -#: e2fsck/pass1.c:609 +#: e2fsck/pass1.c:606 msgid "directory inode map" msgstr "carte des i-noeuds de répertoires" -#: e2fsck/pass1.c:619 +#: e2fsck/pass1.c:614 msgid "regular file inode map" msgstr "carte des i-noeuds de fichiers normaux" -#: e2fsck/pass1.c:628 +#: e2fsck/pass1.c:621 msgid "in-use block map" msgstr "carte des blocs utilisés" -#: e2fsck/pass1.c:695 +#: e2fsck/pass1.c:675 msgid "opening inode scan" msgstr "l'ouverture de l'examen des i-noeuds" -#: e2fsck/pass1.c:729 +#: e2fsck/pass1.c:699 msgid "getting next inode from scan" msgstr "l'obtention de l'i-noeud suivant depuis l'examen" -#: e2fsck/pass1.c:1239 +#: e2fsck/pass1.c:1173 msgid "Pass 1" msgstr "Passe 1" -#: e2fsck/pass1.c:1296 +#: e2fsck/pass1.c:1230 #, c-format msgid "reading indirect blocks of inode %u" msgstr "lecture des blocs indirects de l'i-noeud %u" -#: e2fsck/pass1.c:1346 +#: e2fsck/pass1.c:1274 msgid "bad inode map" msgstr "carte des i-noeuds défectueux" -#: e2fsck/pass1.c:1369 +#: e2fsck/pass1.c:1296 msgid "inode in bad block map" msgstr "i-noeud dans la carte des blocs défectueux" -#: e2fsck/pass1.c:1389 +#: e2fsck/pass1.c:1316 msgid "imagic inode map" msgstr "carte d'i-noeuds magiques" -#: e2fsck/pass1.c:1416 +#: e2fsck/pass1.c:1343 msgid "multiply claimed block map" msgstr "carte des blocs réclamés plusieurs fois" -#: e2fsck/pass1.c:1527 +#: e2fsck/pass1.c:1443 msgid "ext attr block map" msgstr "carte des blocs d'attributs étendus" -#: e2fsck/pass1.c:2299 +#: e2fsck/pass1.c:2181 #, c-format msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n" -msgstr "%6lu(%c) : %6lu attendu, obtenu phys %6lu (blkcnt %lld)\n" +msgstr "%6lu(%c): %6lu attendu, obtenu phys %6lu (blkcnt %lld)\n" -#: e2fsck/pass1.c:2660 +#: e2fsck/pass1.c:2533 msgid "block bitmap" msgstr "bitmap de blocs" -#: e2fsck/pass1.c:2666 +#: e2fsck/pass1.c:2537 msgid "inode bitmap" msgstr "bitmap d'i-noeuds" -#: e2fsck/pass1.c:2672 +#: e2fsck/pass1.c:2541 msgid "inode table" msgstr "table d'i-noeuds" -#: e2fsck/pass2.c:283 +#: e2fsck/pass2.c:277 msgid "Pass 2" msgstr "Passe 2" -#: e2fsck/pass2.c:805 +#: e2fsck/pass2.c:799 msgid "Can not continue." msgstr "Ne peut continuer." -#: e2fsck/pass3.c:77 +#: e2fsck/pass3.c:76 msgid "inode done bitmap" msgstr "bitmap d'i-noeuds complétés" -#: e2fsck/pass3.c:86 +#: e2fsck/pass3.c:84 msgid "Peak memory" msgstr "Pointe mémoire" -#: e2fsck/pass3.c:136 +#: e2fsck/pass3.c:134 msgid "Pass 3" msgstr "Passe 3" -#: e2fsck/pass3.c:322 +#: e2fsck/pass3.c:320 msgid "inode loop detection bitmap" msgstr "bitmap de détection des boucles d'i-noeuds" -#: e2fsck/pass4.c:196 +#: e2fsck/pass4.c:191 msgid "Pass 4" msgstr "Passe 4" -#: e2fsck/pass5.c:74 +#: e2fsck/pass5.c:64 msgid "Pass 5" msgstr "Passe 5" -#: e2fsck/problem.c:51 +#: e2fsck/problem.c:50 msgid "(no prompt)" msgstr "(pas d'invite)" -#: e2fsck/problem.c:52 +#: e2fsck/problem.c:51 msgid "Fix" msgstr "Corriger" -#: e2fsck/problem.c:53 +#: e2fsck/problem.c:52 msgid "Clear" msgstr "Effacer" -#: e2fsck/problem.c:54 +#: e2fsck/problem.c:53 msgid "Relocate" msgstr "Relocaliser" -#: e2fsck/problem.c:55 +#: e2fsck/problem.c:54 msgid "Allocate" msgstr "Allouer" -#: e2fsck/problem.c:56 +#: e2fsck/problem.c:55 msgid "Expand" msgstr "Étendre" -#: e2fsck/problem.c:57 +#: e2fsck/problem.c:56 msgid "Connect to /lost+found" msgstr "Connecter à /lost+found" -#: e2fsck/problem.c:58 +#: e2fsck/problem.c:57 msgid "Create" msgstr "Créer" -#: e2fsck/problem.c:59 +#: e2fsck/problem.c:58 msgid "Salvage" msgstr "Récupérer" -#: e2fsck/problem.c:60 +#: e2fsck/problem.c:59 msgid "Truncate" msgstr "Tronquer" -#: e2fsck/problem.c:61 +#: e2fsck/problem.c:60 msgid "Clear inode" msgstr "Effacer l'i-noeud" -#: e2fsck/problem.c:62 +#: e2fsck/problem.c:61 msgid "Abort" msgstr "Arrêter" -#: e2fsck/problem.c:63 +#: e2fsck/problem.c:62 msgid "Split" msgstr "Scinder" -#: e2fsck/problem.c:64 +#: e2fsck/problem.c:63 msgid "Continue" msgstr "Continuer" -#: e2fsck/problem.c:65 +#: e2fsck/problem.c:64 msgid "Clone multiply-claimed blocks" msgstr "Cloner les blocs réclamés plusieurs fois" -#: e2fsck/problem.c:66 +#: e2fsck/problem.c:65 msgid "Delete file" msgstr "Détruire le fichier" -#: e2fsck/problem.c:67 +#: e2fsck/problem.c:66 msgid "Suppress messages" msgstr "Supprimer les messages" -#: e2fsck/problem.c:68 +#: e2fsck/problem.c:67 msgid "Unlink" msgstr "Délier" -#: e2fsck/problem.c:69 +#: e2fsck/problem.c:68 msgid "Clear HTree index" msgstr "Effacer l'index HTree" -#: e2fsck/problem.c:70 +#: e2fsck/problem.c:69 msgid "Recreate" msgstr "Recréer" -#: e2fsck/problem.c:79 +#: e2fsck/problem.c:78 msgid "(NONE)" msgstr "(AUCUN)" -#: e2fsck/problem.c:80 +#: e2fsck/problem.c:79 msgid "FIXED" msgstr "CORRIGÉ" -#: e2fsck/problem.c:81 +#: e2fsck/problem.c:80 msgid "CLEARED" msgstr "EFFACÉ" -#: e2fsck/problem.c:82 +#: e2fsck/problem.c:81 msgid "RELOCATED" msgstr "RELOCALISÉ" -#: e2fsck/problem.c:83 +#: e2fsck/problem.c:82 msgid "ALLOCATED" msgstr "ALLOUÉ" -#: e2fsck/problem.c:84 +#: e2fsck/problem.c:83 msgid "EXPANDED" msgstr "ÉTENDU" -#: e2fsck/problem.c:85 +#: e2fsck/problem.c:84 msgid "RECONNECTED" msgstr "RECONNECTÉ" -#: e2fsck/problem.c:86 +#: e2fsck/problem.c:85 msgid "CREATED" msgstr "CRÉÉ" -#: e2fsck/problem.c:87 +#: e2fsck/problem.c:86 msgid "SALVAGED" msgstr "RÉCUPÉRÉ" -#: e2fsck/problem.c:88 +#: e2fsck/problem.c:87 msgid "TRUNCATED" msgstr "TRONQUÉ" -#: e2fsck/problem.c:89 +#: e2fsck/problem.c:88 msgid "INODE CLEARED" msgstr "INODE EFFACÉ" -#: e2fsck/problem.c:90 +#: e2fsck/problem.c:89 msgid "ABORTED" msgstr "ARRÊTÉ" -#: e2fsck/problem.c:91 +#: e2fsck/problem.c:90 msgid "SPLIT" msgstr "SCINDÉ" -#: e2fsck/problem.c:92 +#: e2fsck/problem.c:91 msgid "CONTINUING" msgstr "POURSUITE" -#: e2fsck/problem.c:93 +#: e2fsck/problem.c:92 msgid "MULTIPLY-CLAIMED BLOCKS CLONED" msgstr "BLOCS RÉCLAMÉS PLUSIEURS FOIS CLONÉS" -#: e2fsck/problem.c:94 +#: e2fsck/problem.c:93 msgid "FILE DELETED" msgstr "FICHIER DÉTRUIT" -#: e2fsck/problem.c:95 +#: e2fsck/problem.c:94 msgid "SUPPRESSED" msgstr "SUPPRIMÉ" -#: e2fsck/problem.c:96 +#: e2fsck/problem.c:95 msgid "UNLINKED" msgstr "DÉLIÉ" -#: e2fsck/problem.c:97 +#: e2fsck/problem.c:96 msgid "HTREE INDEX CLEARED" msgstr "INDEX HTREE EFFACÉ" -#: e2fsck/problem.c:98 +#: e2fsck/problem.c:97 msgid "WILL RECREATE" msgstr "RECRÉERA" #. @-expanded: block bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:107 +#: e2fsck/problem.c:106 msgid "@b @B for @g %g is not in @g. (@b %b)\n" msgstr "le @B de @bs pour le @g %g n'est pas dans le @g. (@b %b)\n" #. @-expanded: inode bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:111 +#: e2fsck/problem.c:110 msgid "@i @B for @g %g is not in @g. (@b %b)\n" msgstr "le @B d'@is pour le @g %g n'est pas dans le @g. (@b %b)\n" #. @-expanded: inode table for group %g is not in group. (block %b)\n #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n -#: e2fsck/problem.c:116 +#: e2fsck/problem.c:115 msgid "" "@i table for @g %g is not in @g. (@b %b)\n" "WARNING: SEVERE DATA LOSS POSSIBLE.\n" msgstr "" "la table d'@is pour le @g %g n'est pas dans le @g. (@b %b)\n" -"ATTENTION : PERTE SÉVÈRE DE DONNÉES POSSIBLE.\n" +"AVERTISSEMENT : PERTE SÉVÈRE DE DONNÉES POSSIBLE.\n" #. @-expanded: \n #. @-expanded: The superblock could not be read or does not describe a correct ext2\n @@ -777,7 +779,7 @@ msgstr "" #. @-expanded: is corrupt, and you might try running e2fsck with an alternate superblock:\n #. @-expanded: e2fsck -b %S \n #. @-expanded: \n -#: e2fsck/problem.c:122 +#: e2fsck/problem.c:121 #, c-format msgid "" "\n" @@ -800,7 +802,7 @@ msgstr "" #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n #. @-expanded: The physical size of the device is %c blocks\n #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n -#: e2fsck/problem.c:131 +#: e2fsck/problem.c:130 msgid "" "The @f size (according to the @S) is %b @bs\n" "The physical size of the @v is %c @bs\n" @@ -813,7 +815,7 @@ msgstr "" #. @-expanded: superblock block_size = %b, fragsize = %c.\n #. @-expanded: This version of e2fsck does not support fragment sizes different\n #. @-expanded: from the block size.\n -#: e2fsck/problem.c:138 +#: e2fsck/problem.c:137 msgid "" "@S @b_size = %b, fragsize = %c.\n" "This version of e2fsck does not support fragment sizes different\n" @@ -824,26 +826,26 @@ msgstr "" "de la taille des @b.\n" #. @-expanded: superblock blocks_per_group = %b, should have been %c\n -#: e2fsck/problem.c:145 +#: e2fsck/problem.c:144 msgid "@S @bs_per_group = %b, should have been %c\n" msgstr "@S @bs_per_group = %b, aurait dû être %c\n" #. @-expanded: superblock first_data_block = %b, should have been %c\n -#: e2fsck/problem.c:150 +#: e2fsck/problem.c:149 msgid "@S first_data_@b = %b, should have been %c\n" msgstr "@S first_data_@b = %b, aurait dû être %c\n" #. @-expanded: filesystem did not have a UUID; generating one.\n #. @-expanded: \n -#: e2fsck/problem.c:155 +#: e2fsck/problem.c:154 msgid "" "@f did not have a UUID; generating one.\n" "\n" msgstr "" -"Le @f n'a pas d'UUID; on en génère un.\n" +"Le @f n'a pas pas d'UUID; on en génère un.\n" "\n" -#: e2fsck/problem.c:160 +#: e2fsck/problem.c:159 #, c-format msgid "" "Note: if several inode or block bitmap blocks or part\n" @@ -863,48 +865,48 @@ msgstr "" "\n" #. @-expanded: Corruption found in superblock. (%s = %N).\n -#: e2fsck/problem.c:169 +#: e2fsck/problem.c:168 msgid "Corruption found in @S. (%s = %N).\n" msgstr "Corruption repérée dans le @S. (%s = %N).\n" #. @-expanded: Error determining size of the physical device: %m\n -#: e2fsck/problem.c:174 +#: e2fsck/problem.c:173 #, c-format msgid "Error determining size of the physical @v: %m\n" msgstr "Erreur lors de la détermination de la taille du @v physique : %m\n" #. @-expanded: inode count in superblock is %i, should be %j.\n -#: e2fsck/problem.c:179 +#: e2fsck/problem.c:178 msgid "@i count in @S is %i, @s %j.\n" msgstr "le compteur d'@i dans le @S est %i, @s %j.\n" -#: e2fsck/problem.c:183 +#: e2fsck/problem.c:182 msgid "The Hurd does not support the filetype feature.\n" msgstr "Le Hurd ne supporte pas la fonctionnalité filetype.\n" #. @-expanded: superblock has an invalid journal (inode %i).\n -#: e2fsck/problem.c:188 +#: e2fsck/problem.c:187 #, c-format msgid "@S has an @n @j (@i %i).\n" msgstr "le @S a un @j @n (@i %i).\n" #. @-expanded: External journal has multiple filesystem users (unsupported).\n -#: e2fsck/problem.c:193 +#: e2fsck/problem.c:192 msgid "External @j has multiple @f users (unsupported).\n" msgstr "Le @j externe a plusieurs utilisateurs de @f (non supporté).\n" #. @-expanded: Can't find external journal\n -#: e2fsck/problem.c:198 +#: e2fsck/problem.c:197 msgid "Can't find external @j\n" msgstr "Ne peut trouver le @j externe\n" #. @-expanded: External journal has bad superblock\n -#: e2fsck/problem.c:203 +#: e2fsck/problem.c:202 msgid "External @j has bad @S\n" msgstr "Le @j externe a un @S corrompu\n" #. @-expanded: External journal does not support this filesystem\n -#: e2fsck/problem.c:208 +#: e2fsck/problem.c:207 msgid "External @j does not support this @f\n" msgstr "Le @j externe ne supporte pas ce @f\n" @@ -912,7 +914,7 @@ msgstr "Le @j externe ne supporte pas ce @f\n" #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal #. @-expanded: format.\n #. @-expanded: It is also possible the journal superblock is corrupt.\n -#: e2fsck/problem.c:213 +#: e2fsck/problem.c:212 msgid "" "@f @j @S is unknown type %N (unsupported).\n" "It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n" @@ -924,81 +926,81 @@ msgstr "" "Il est aussi possible que le @S du @j soit corrompu.\n" #. @-expanded: journal superblock is corrupt.\n -#: e2fsck/problem.c:221 +#: e2fsck/problem.c:220 msgid "@j @S is corrupt.\n" msgstr "Le @S du @j est corrompu.\n" #. @-expanded: superblock has_journal flag is clear, but a journal %s is present.\n -#: e2fsck/problem.c:226 +#: e2fsck/problem.c:225 #, c-format msgid "@S has_@j flag is clear, but a @j %s is present.\n" msgstr "Le drapeau has_@j du @S n'est pas activé, mais un @j %s est présent.\n" #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n -#: e2fsck/problem.c:231 +#: e2fsck/problem.c:230 msgid "@S needs_recovery flag is set, but no @j is present.\n" msgstr "Le @S a le drapeau needs_recovery activé, mais n'a pas de de @j.\n" #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n -#: e2fsck/problem.c:236 +#: e2fsck/problem.c:235 msgid "@S needs_recovery flag is clear, but @j has data.\n" msgstr "le drapeau needs_recovery n'est pas activé, mais le @j contient des données.\n" #. @-expanded: Clear journal -#: e2fsck/problem.c:241 +#: e2fsck/problem.c:240 msgid "Clear @j" msgstr "Effacer le @j" #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. -#: e2fsck/problem.c:246 e2fsck/problem.c:695 +#: e2fsck/problem.c:245 e2fsck/problem.c:664 msgid "@f has feature flag(s) set, but is a revision 0 @f. " msgstr "le @f a des drapeaux de fonctionnalités activés mais est un @f de version 0. " #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n -#: e2fsck/problem.c:251 +#: e2fsck/problem.c:250 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" msgstr "%s l'@i @o %i (uid=%Iu, gid=%Ig, mode=%Im, taille=%Is)\n" #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:256 +#: e2fsck/problem.c:255 msgid "@I %B (%b) found in @o @i %i.\n" msgstr "%B (%b) @I repéré dans l'@i @o %i.\n" #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:261 +#: e2fsck/problem.c:260 msgid "Already cleared %B (%b) found in @o @i %i.\n" msgstr "Déjà effaçé le %B (%b) repéré dans l'@i @o %i.\n" #. @-expanded: illegal orphaned inode %i in superblock.\n -#: e2fsck/problem.c:266 +#: e2fsck/problem.c:265 #, c-format msgid "@I @o @i %i in @S.\n" msgstr "@i @o %i @I dans le @S.\n" #. @-expanded: illegal inode %i in orphaned inode list.\n -#: e2fsck/problem.c:271 +#: e2fsck/problem.c:270 #, c-format msgid "@I @i %i in @o @i list.\n" msgstr "@i %i @I dans la liste des @is @os.\n" #. @-expanded: journal superblock has an unknown read-only feature flag set.\n -#: e2fsck/problem.c:276 +#: e2fsck/problem.c:275 msgid "@j @S has an unknown read-only feature flag set.\n" msgstr "Le @S du @j a un drapeau de fonctionnalités inconnu sélectionné en lecture seule.\n" #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n -#: e2fsck/problem.c:281 +#: e2fsck/problem.c:280 msgid "@j @S has an unknown incompatible feature flag set.\n" msgstr "Le @S du @j contient un drapeau non reconnu de fonctionnalités incompatibles.\n" #. @-expanded: journal version not supported by this e2fsck.\n -#: e2fsck/problem.c:286 +#: e2fsck/problem.c:285 msgid "@j version not supported by this e2fsck.\n" msgstr "cette version de @j n'est pas supportée par cet e2fsck.\n" #. @-expanded: Moving journal from /%s to hidden inode.\n #. @-expanded: \n -#: e2fsck/problem.c:291 +#: e2fsck/problem.c:290 #, c-format msgid "" "Moving @j from /%s to hidden @i.\n" @@ -1009,7 +1011,7 @@ msgstr "" #. @-expanded: Error moving journal: %m\n #. @-expanded: \n -#: e2fsck/problem.c:296 +#: e2fsck/problem.c:295 #, c-format msgid "" "Error moving @j: %m\n" @@ -1021,7 +1023,7 @@ msgstr "" #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n #. @-expanded: Clearing fields beyond the V1 journal superblock...\n #. @-expanded: \n -#: e2fsck/problem.c:301 +#: e2fsck/problem.c:300 msgid "" "Found @n V2 @j @S fields (from V1 @j).\n" "Clearing fields beyond the V1 @j @S...\n" @@ -1032,18 +1034,18 @@ msgstr "" "\n" #. @-expanded: Run journal anyway -#: e2fsck/problem.c:307 +#: e2fsck/problem.c:306 msgid "Run @j anyway" msgstr "Exécuter quand même le @j" #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n -#: e2fsck/problem.c:312 +#: e2fsck/problem.c:311 msgid "Recovery flag not set in backup @S, so running @j anyway.\n" msgstr "Le drapeau de récupération n'est pas activé dans le @S de secours, le @j sera donc quand même exécuté.\n" #. @-expanded: Backing up journal inode block information.\n #. @-expanded: \n -#: e2fsck/problem.c:317 +#: e2fsck/problem.c:316 msgid "" "Backing up @j @i @b information.\n" "\n" @@ -1053,7 +1055,7 @@ msgstr "" #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n #. @-expanded: is %N; should be zero. -#: e2fsck/problem.c:322 +#: e2fsck/problem.c:321 msgid "" "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n" "is %N; @s zero. " @@ -1062,18 +1064,18 @@ msgstr "" "est %N ; @s zéro. " #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero. -#: e2fsck/problem.c:328 +#: e2fsck/problem.c:327 msgid "Resize_@i not enabled, but the resize @i is non-zero. " msgstr "Resize_inode n'est pas activé, mais l'@i de changement de taille n'est pas nul. " #. @-expanded: Resize inode not valid. -#: e2fsck/problem.c:333 +#: e2fsck/problem.c:332 msgid "Resize @i not valid. " msgstr "L'@i de changement de taille n'est pas valide. " #. @-expanded: superblock last mount time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:338 +#: e2fsck/problem.c:337 msgid "" "@S last mount time (%t,\n" "\tnow = %T) is in the future.\n" @@ -1083,7 +1085,7 @@ msgstr "" #. @-expanded: superblock last write time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:343 +#: e2fsck/problem.c:342 msgid "" "@S last write time (%t,\n" "\tnow = %T) is in the future.\n" @@ -1092,14 +1094,14 @@ msgstr "" "\tmaintenant = %T) est dans le futur.\n" #. @-expanded: superblock hint for external superblock should be %X. -#: e2fsck/problem.c:347 +#: e2fsck/problem.c:346 #, c-format msgid "@S hint for external superblock @s %X. " -msgstr "L'indication du @S pour le @S externe @s %X. " +msgstr "L'indication du @S pour le @S externe @s %X" #. @-expanded: Adding dirhash hint to filesystem.\n #. @-expanded: \n -#: e2fsck/problem.c:352 +#: e2fsck/problem.c:351 msgid "" "Adding dirhash hint to @f.\n" "\n" @@ -1107,212 +1109,186 @@ msgstr "" "Ajout de l'indication « dirhash » au @f.\n" "\n" -#. @-expanded: group descriptor %g checksum is %04x, should be %04y. -#: e2fsck/problem.c:357 -msgid "@g descriptor %g checksum is %04x, should be %04y. " -msgstr "Le checksum du descripteur de @g %g est %04x, devrait être %04y. " +#. @-expanded: group descriptor %g checksum is invalid. +#: e2fsck/problem.c:356 +#, c-format +msgid "@g descriptor %g checksum is invalid. " +msgstr "Le checksum du descripteur de @g %g est invalide. " #. @-expanded: group descriptor %g marked uninitialized without feature set.\n -#: e2fsck/problem.c:362 +#: e2fsck/problem.c:361 #, c-format msgid "@g descriptor %g marked uninitialized without feature set.\n" msgstr "" "Le descripteur de @g %g est marqué comme non initialisé alors que la\n" "fonctionnalité n'est pas activée.\n" +#. @-expanded: group %g block bitmap uninitialized but inode bitmap in use.\n +#: e2fsck/problem.c:366 +#, c-format +msgid "@g %g @b @B uninitialized but @i @B in use.\n" +msgstr "" +"Le @B de @b du @g %g n'est pas initialisé\n" +"alors que le @B d'@i est en cours d'utilisation.\n" + #. @-expanded: group descriptor %g has invalid unused inodes count %b. -#: e2fsck/problem.c:367 +#: e2fsck/problem.c:371 msgid "@g descriptor %g has invalid unused inodes count %b. " msgstr "Le descripteur de @g %g a un nombre invalide d'i-noeuds non utilisés %b. " #. @-expanded: Last group block bitmap uninitialized. -#: e2fsck/problem.c:372 +#: e2fsck/problem.c:376 msgid "Last @g @b @B uninitialized. " msgstr "Le @B de @b du dernier @g n'est pas initialisé. " -#: e2fsck/problem.c:377 +#: e2fsck/problem.c:381 #, c-format msgid "Journal transaction %i was corrupt, replay was aborted.\n" msgstr "La transaction %i du journal était corrompue, le rejeu a été abandonné.\n" -#: e2fsck/problem.c:381 +#: e2fsck/problem.c:385 msgid "The test_fs flag is set (and ext4 is available). " msgstr "Le drapeau test_fs est positionné (et ext4 est disponible). " #. @-expanded: superblock last mount time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set) -#: e2fsck/problem.c:386 +#: e2fsck/problem.c:390 msgid "" "@S last mount time is in the future.\n" "\t(by less than a day, probably due to the hardware clock being incorrectly set) " msgstr "" "La date de dernier montage du @S est dans le futur.\n" -"\t(de moins d'un jour, probablement à cause d'une horloge matérielle mal configurée) " +"\t(de moins d'un jour, probablement à cause d'une horloge matériel mal configurée) " #. @-expanded: superblock last write time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set). -#: e2fsck/problem.c:392 +#: e2fsck/problem.c:396 msgid "" "@S last write time is in the future.\n" "\t(by less than a day, probably due to the hardware clock being incorrectly set). " msgstr "" "La date de dernière écriture du @S est dans le futur.\n" -"\t(de moins d'un jour, probablement à cause d'une horloge matérielle mal configurée) " +"\t(de moins d'un jour, probablement à cause d'une horloge matériel mal configurée) " #. @-expanded: One or more block group descriptor checksums are invalid. -#: e2fsck/problem.c:398 +#: e2fsck/problem.c:402 msgid "One or more @b @g descriptor checksums are invalid. " msgstr "Le checksum d'un ou de plusieurs descripteurs de @g de @b est invalide. " -#. @-expanded: Setting free inodes count to %j (was %i)\n -#: e2fsck/problem.c:403 -msgid "Setting free @is count to %j (was %i)\n" -msgstr "Définition du compteur d'@is libres à %j (était %i)\n" - -#. @-expanded: Setting free blocks count to %c (was %b)\n -#: e2fsck/problem.c:408 -msgid "Setting free @bs count to %c (was %b)\n" -msgstr "Définition du compteur des @bs libres à %c (était %b)\n" - -#. @-expanded: Making quota inode %i (%Q) hidden.\n -#: e2fsck/problem.c:413 -msgid "Making @q @i %i (%Q) hidden.\n" -msgstr "Dissimulation de l'@i de @q %i (%Q).\n" - -#. @-expanded: superblock has invalid MMP block. -#: e2fsck/problem.c:418 -msgid "@S has invalid MMP block. " -msgstr "Le @S a un @b MMP invalide. " - -#. @-expanded: superblock has invalid MMP magic. -#: e2fsck/problem.c:423 -msgid "@S has invalid MMP magic. " -msgstr "@S a un numéro magique MMP invalide. " - -#: e2fsck/problem.c:428 -#, c-format -msgid "ext2fs_open2: %m\n" -msgstr "ext2fs_open2: %m\n" - -#: e2fsck/problem.c:433 -#, c-format -msgid "ext2fs_check_desc: %m\n" -msgstr "exet2fs_check_desc: %m\n" - #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n -#: e2fsck/problem.c:440 +#: e2fsck/problem.c:409 msgid "Pass 1: Checking @is, @bs, and sizes\n" msgstr "Passe 1 : vérification des @is, des @bs et des tailles\n" #. @-expanded: root inode is not a directory. -#: e2fsck/problem.c:444 +#: e2fsck/problem.c:413 msgid "@r is not a @d. " msgstr "l'@r n'est pas un @d. " #. @-expanded: root inode has dtime set (probably due to old mke2fs). -#: e2fsck/problem.c:449 +#: e2fsck/problem.c:418 msgid "@r has dtime set (probably due to old mke2fs). " msgstr "l'@r a un dtime (probablement en raison d'un vieux mke2fs). " #. @-expanded: Reserved inode %i (%Q) has invalid mode. -#: e2fsck/problem.c:454 +#: e2fsck/problem.c:423 msgid "Reserved @i %i (%Q) has @n mode. " msgstr "l'@i réservé %i (%Q) a un mode @n. " #. @-expanded: deleted inode %i has zero dtime. -#: e2fsck/problem.c:459 +#: e2fsck/problem.c:428 #, c-format msgid "@D @i %i has zero dtime. " -msgstr "l'@i @D %i a un dtime nul. " +msgstr "l'@i @D %i a un dtime à zéro. " #. @-expanded: inode %i is in use, but has dtime set. -#: e2fsck/problem.c:464 +#: e2fsck/problem.c:433 #, c-format msgid "@i %i is in use, but has dtime set. " msgstr "l'@i %i est utilisé, mais a un dtime. " #. @-expanded: inode %i is a zero-length directory. -#: e2fsck/problem.c:469 +#: e2fsck/problem.c:438 #, c-format msgid "@i %i is a @z @d. " msgstr "l'@i %i est un @d @z. " #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:474 +#: e2fsck/problem.c:443 msgid "@g %g's @b @B at %b @C.\n" msgstr "le @B de @bs du @g %g à %b @C.\n" #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:479 +#: e2fsck/problem.c:448 msgid "@g %g's @i @B at %b @C.\n" msgstr "le @B d'@is du @g %g à %b @C.\n" #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:484 +#: e2fsck/problem.c:453 msgid "@g %g's @i table at %b @C.\n" msgstr "la table d'@is du @g %g à %b @C.\n" #. @-expanded: group %g's block bitmap (%b) is bad. -#: e2fsck/problem.c:489 +#: e2fsck/problem.c:458 msgid "@g %g's @b @B (%b) is bad. " msgstr "le @B (%b) de @bs du @g %g's est corrompu. " #. @-expanded: group %g's inode bitmap (%b) is bad. -#: e2fsck/problem.c:494 +#: e2fsck/problem.c:463 msgid "@g %g's @i @B (%b) is bad. " msgstr "le @B (%b) d'@is du @g %g's est corrompu. " #. @-expanded: inode %i, i_size is %Is, should be %N. -#: e2fsck/problem.c:499 +#: e2fsck/problem.c:468 msgid "@i %i, i_size is %Is, @s %N. " msgstr "@i %i, i_size est %Is, @s %N. " #. @-expanded: inode %i, i_blocks is %Ib, should be %N. -#: e2fsck/problem.c:504 +#: e2fsck/problem.c:473 msgid "@i %i, i_@bs is %Ib, @s %N. " msgstr "@i %i, i_@bs est %Ib, @s %N. " #. @-expanded: illegal %B (%b) in inode %i. -#: e2fsck/problem.c:509 +#: e2fsck/problem.c:478 msgid "@I %B (%b) in @i %i. " msgstr "%B (%b) @I dans l'@i %i. " #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i. -#: e2fsck/problem.c:514 +#: e2fsck/problem.c:483 msgid "%B (%b) overlaps @f metadata in @i %i. " msgstr "le %B (%b) chevauche les métadonnées de @f dans l'@i %i. " #. @-expanded: inode %i has illegal block(s). -#: e2fsck/problem.c:519 +#: e2fsck/problem.c:488 #, c-format msgid "@i %i has illegal @b(s). " msgstr "l'@i %i a un(des) @b(s) illégal(aux). " #. @-expanded: Too many illegal blocks in inode %i.\n -#: e2fsck/problem.c:524 +#: e2fsck/problem.c:493 #, c-format msgid "Too many illegal @bs in @i %i.\n" msgstr "Trop de @bs illégaux dans l'@i %i.\n" #. @-expanded: illegal %B (%b) in bad block inode. -#: e2fsck/problem.c:529 +#: e2fsck/problem.c:498 msgid "@I %B (%b) in bad @b @i. " msgstr "%B (%b) @I dans l'@i des @b défectueux. " #. @-expanded: Bad block inode has illegal block(s). -#: e2fsck/problem.c:534 +#: e2fsck/problem.c:503 msgid "Bad @b @i has illegal @b(s). " msgstr "L'@i des @bs défectueux a un(des) @b(s) illégal(aux). " #. @-expanded: Duplicate or bad block in use!\n -#: e2fsck/problem.c:539 +#: e2fsck/problem.c:508 msgid "Duplicate or bad @b in use!\n" msgstr "@b dupliqué ou défectueux actuellement utilisé !\n" #. @-expanded: Bad block %b used as bad block inode indirect block. -#: e2fsck/problem.c:544 +#: e2fsck/problem.c:513 msgid "Bad @b %b used as bad @b @i indirect @b. " msgstr "%b défectueux utilisé en tant que @b indirect d'@i des @bs défectueux. " @@ -1320,7 +1296,7 @@ msgstr "%b d #. @-expanded: The bad block inode has probably been corrupted. You probably\n #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n #. @-expanded: in the filesystem.\n -#: e2fsck/problem.c:549 +#: e2fsck/problem.c:518 msgid "" "\n" "The bad @b @i has probably been corrupted. You probably\n" @@ -1334,7 +1310,7 @@ msgstr "" #. @-expanded: \n #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n -#: e2fsck/problem.c:556 +#: e2fsck/problem.c:525 msgid "" "\n" "If the @b is really bad, the @f can not be fixed.\n" @@ -1345,7 +1321,7 @@ msgstr "" #. @-expanded: You can remove this block from the bad block list and hope\n #. @-expanded: that the block is really OK. But there are no guarantees.\n #. @-expanded: \n -#: e2fsck/problem.c:561 +#: e2fsck/problem.c:530 msgid "" "You can remove this @b from the bad @b list and hope\n" "that the @b is really OK. But there are no guarantees.\n" @@ -1356,121 +1332,121 @@ msgstr "" "\n" #. @-expanded: The primary superblock (%b) is on the bad block list.\n -#: e2fsck/problem.c:567 +#: e2fsck/problem.c:536 msgid "The primary @S (%b) is on the bad @b list.\n" msgstr "Le @S primaire (%b) est sur la liste des @bs défectueux.\n" #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n -#: e2fsck/problem.c:572 +#: e2fsck/problem.c:541 msgid "Block %b in the primary @g descriptors is on the bad @b list\n" msgstr "Le bloc %b dans les descripteurs de @gs primaires est dans la liste des @bs défectueux\n" #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n -#: e2fsck/problem.c:578 +#: e2fsck/problem.c:547 msgid "Warning: Group %g's @S (%b) is bad.\n" msgstr "Avertissement : le @S (%b) du @g %g est corrompu.\n" #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n -#: e2fsck/problem.c:583 +#: e2fsck/problem.c:552 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n" msgstr "Avertissement : la copie des descripteurs de @gs du @g %g a un @b (%b) défectueux.\n" #. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n -#: e2fsck/problem.c:589 +#: e2fsck/problem.c:558 msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n" msgstr "Erreur de programmation ? @b n°%b reclamé sans aucune raison dans process_bad_block.\n" #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n -#: e2fsck/problem.c:595 +#: e2fsck/problem.c:564 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n" msgstr "@A de %N @b(s) contigus dans le @g de @b %g pour %s : %m\n" #. @-expanded: error allocating block buffer for relocating %s\n -#: e2fsck/problem.c:600 +#: e2fsck/problem.c:569 #, c-format msgid "@A @b buffer for relocating %s\n" msgstr "@A d'un tampon de @b pour la relocalisation de %s\n" #. @-expanded: Relocating group %g's %s from %b to %c...\n -#: e2fsck/problem.c:605 +#: e2fsck/problem.c:574 msgid "Relocating @g %g's %s from %b to %c...\n" msgstr "Relocalisation du %s du @g %g de %b vers %c...\n" #. @-expanded: Relocating group %g's %s to %c...\n -#: e2fsck/problem.c:610 +#: e2fsck/problem.c:579 #, c-format msgid "Relocating @g %g's %s to %c...\n" msgstr "Relocalisation pour le @g %g du %s vers %c...\n" #. @-expanded: Warning: could not read block %b of %s: %m\n -#: e2fsck/problem.c:615 +#: e2fsck/problem.c:584 msgid "Warning: could not read @b %b of %s: %m\n" msgstr "Avertissement : impossible de lire le @b %b de %s : %m\n" #. @-expanded: Warning: could not write block %b for %s: %m\n -#: e2fsck/problem.c:620 +#: e2fsck/problem.c:589 msgid "Warning: could not write @b %b for %s: %m\n" msgstr "Avertissement : impossible d'écrire le @b %b pour %s : %m\n" #. @-expanded: error allocating inode bitmap (%N): %m\n -#: e2fsck/problem.c:625 e2fsck/problem.c:1474 +#: e2fsck/problem.c:594 e2fsck/problem.c:1405 msgid "@A @i @B (%N): %m\n" msgstr "@A du @B d'@is (%N) : %m\n" #. @-expanded: error allocating block bitmap (%N): %m\n -#: e2fsck/problem.c:630 +#: e2fsck/problem.c:599 msgid "@A @b @B (%N): %m\n" msgstr "@A du @B de @bs (%N) : %m\n" #. @-expanded: error allocating icount link information: %m\n -#: e2fsck/problem.c:635 +#: e2fsck/problem.c:604 #, c-format msgid "@A icount link information: %m\n" msgstr "@A de l'information du compteur de liens : %m\n" #. @-expanded: error allocating directory block array: %m\n -#: e2fsck/problem.c:640 +#: e2fsck/problem.c:609 #, c-format msgid "@A @d @b array: %m\n" msgstr "@A du tableau des @bs de @ds : %m\n" #. @-expanded: Error while scanning inodes (%i): %m\n -#: e2fsck/problem.c:645 +#: e2fsck/problem.c:614 #, c-format msgid "Error while scanning @is (%i): %m\n" msgstr "Erreur lors de l'examen des @is (%i) : %m\n" #. @-expanded: Error while iterating over blocks in inode %i: %m\n -#: e2fsck/problem.c:650 +#: e2fsck/problem.c:619 #, c-format msgid "Error while iterating over @bs in @i %i: %m\n" msgstr "Erreur lors de la boucle d'itération sur les @bs dans l'@i %i : %m\n" #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n -#: e2fsck/problem.c:655 +#: e2fsck/problem.c:624 msgid "Error storing @i count information (@i=%i, count=%N): %m\n" msgstr "Erreur lors du stockage du compteur d'information d'@i (@i=%i, compteur=%N) : %m\n" #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n -#: e2fsck/problem.c:660 +#: e2fsck/problem.c:629 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n" msgstr "Erreur lors du stockage de l'information du @b de @ds (@i=%i, @b=%b, num=%N) : %m\n" #. @-expanded: Error reading inode %i: %m\n -#: e2fsck/problem.c:666 +#: e2fsck/problem.c:635 #, c-format msgid "Error reading @i %i: %m\n" msgstr "Erreur lors de la lecture de l'@i %i : %m\n" #. @-expanded: inode %i has imagic flag set. -#: e2fsck/problem.c:674 +#: e2fsck/problem.c:643 #, c-format msgid "@i %i has imagic flag set. " msgstr "l'@i %i a un drapeau imagic activé. " #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n #. @-expanded: or append-only flag set. -#: e2fsck/problem.c:679 +#: e2fsck/problem.c:648 #, c-format msgid "" "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n" @@ -1480,214 +1456,214 @@ msgstr "" "immutable ou append-only activé. " #. @-expanded: inode %i has compression flag set on filesystem without compression support. -#: e2fsck/problem.c:685 +#: e2fsck/problem.c:654 #, c-format msgid "@i %i has @cion flag set on @f without @cion support. " msgstr "l'@i %i a le drapeau de @cion qui est initialisé sur un @f sans support de @cion. " #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size. -#: e2fsck/problem.c:690 +#: e2fsck/problem.c:659 #, c-format msgid "Special (@v/socket/fifo) @i %i has non-zero size. " msgstr "L'@i spécial (@v/socket/fifo) %i a une taille non nulle. " #. @-expanded: journal inode is not in use, but contains data. -#: e2fsck/problem.c:700 +#: e2fsck/problem.c:669 msgid "@j @i is not in use, but contains data. " msgstr "l'@i de @j n'est pas utilisé mais contient des données. " #. @-expanded: journal is not regular file. -#: e2fsck/problem.c:705 +#: e2fsck/problem.c:674 msgid "@j is not regular file. " msgstr "le @j n'est pas un fichier normal. " #. @-expanded: inode %i was part of the orphaned inode list. -#: e2fsck/problem.c:710 +#: e2fsck/problem.c:679 #, c-format msgid "@i %i was part of the @o @i list. " msgstr "l'@i %i fait partie de la liste des @is @os. " #. @-expanded: inodes that were part of a corrupted orphan linked list found. -#: e2fsck/problem.c:716 +#: e2fsck/problem.c:685 msgid "@is that were part of a corrupted orphan linked list found. " msgstr "des @is qui faisaient partie d'une liste chaînée d'orphelins corrompue ont été repérés. " #. @-expanded: error allocating refcount structure (%N): %m\n -#: e2fsck/problem.c:721 +#: e2fsck/problem.c:690 msgid "@A refcount structure (%N): %m\n" msgstr "@A d'une structure de comptage de références (%N) : %m\n" #. @-expanded: Error reading extended attribute block %b for inode %i. -#: e2fsck/problem.c:726 +#: e2fsck/problem.c:695 msgid "Error reading @a @b %b for @i %i. " msgstr "Erreur lors de la lecture du @b %b d'@a pour l'@i %i. " #. @-expanded: inode %i has a bad extended attribute block %b. -#: e2fsck/problem.c:731 +#: e2fsck/problem.c:700 msgid "@i %i has a bad @a @b %b. " msgstr "l'@i %i a un mauvais @b %b d'@a. " #. @-expanded: Error reading extended attribute block %b (%m). -#: e2fsck/problem.c:736 +#: e2fsck/problem.c:705 msgid "Error reading @a @b %b (%m). " msgstr "Erreur de lecture du @b %b d'@a (%m). " #. @-expanded: extended attribute block %b has reference count %r, should be %N. -#: e2fsck/problem.c:741 +#: e2fsck/problem.c:710 msgid "@a @b %b has reference count %r, @s %N. " msgstr "le @b %b d'@a a un compteur de référence %r, @s %N. " #. @-expanded: Error writing extended attribute block %b (%m). -#: e2fsck/problem.c:746 +#: e2fsck/problem.c:715 msgid "Error writing @a @b %b (%m). " msgstr "Erreur d'écriture du @b %b d'@a (%m). " #. @-expanded: extended attribute block %b has h_blocks > 1. -#: e2fsck/problem.c:751 +#: e2fsck/problem.c:720 msgid "@a @b %b has h_@bs > 1. " msgstr "le @b %b d'@a a h_blocks > 1. " #. @-expanded: error allocating extended attribute block %b. -#: e2fsck/problem.c:756 +#: e2fsck/problem.c:725 msgid "@A @a @b %b. " msgstr "@A du @b %b d'@a. " #. @-expanded: extended attribute block %b is corrupt (allocation collision). -#: e2fsck/problem.c:761 +#: e2fsck/problem.c:730 msgid "@a @b %b is corrupt (allocation collision). " msgstr "le @b %b d'@a est corrompu (collision d'allocation). " #. @-expanded: extended attribute block %b is corrupt (invalid name). -#: e2fsck/problem.c:766 +#: e2fsck/problem.c:735 msgid "@a @b %b is corrupt (@n name). " msgstr "le @b %b d'@a est corrompu (nom @n). " #. @-expanded: extended attribute block %b is corrupt (invalid value). -#: e2fsck/problem.c:771 +#: e2fsck/problem.c:740 msgid "@a @b %b is corrupt (@n value). " -msgstr "le @b %b d'@a est corrompu (valeur @n). " +msgstr "le @b %b d'@a est corrompu (valeur @ne). " #. @-expanded: inode %i is too big. -#: e2fsck/problem.c:776 +#: e2fsck/problem.c:745 #, c-format msgid "@i %i is too big. " msgstr "l'@i %i est trop grand. " #. @-expanded: %B (%b) causes directory to be too big. -#: e2fsck/problem.c:780 +#: e2fsck/problem.c:749 msgid "%B (%b) causes @d to be too big. " msgstr "le %B (%b) rend le @d trop grand. " -#: e2fsck/problem.c:785 +#: e2fsck/problem.c:754 msgid "%B (%b) causes file to be too big. " msgstr "le %B (%b) rend le fichier trop grand. " -#: e2fsck/problem.c:790 +#: e2fsck/problem.c:759 msgid "%B (%b) causes symlink to be too big. " msgstr "le %B (%b) rend le lien symbolique trop grand. " #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n -#: e2fsck/problem.c:795 +#: e2fsck/problem.c:764 #, c-format msgid "@i %i has INDEX_FL flag set on @f without htree support.\n" msgstr "l'@i %i a le drapeau INDEX_FL activé sur le @f sans support des htrees.\n" #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n -#: e2fsck/problem.c:800 +#: e2fsck/problem.c:769 #, c-format msgid "@i %i has INDEX_FL flag set but is not a @d.\n" msgstr "l'@i %i a le drapeau INDEX_FL activé mais n'est pas un @d.\n" #. @-expanded: HTREE directory inode %i has an invalid root node.\n -#: e2fsck/problem.c:805 +#: e2fsck/problem.c:774 #, c-format msgid "@h %i has an @n root node.\n" msgstr "l'@h %i a un noeud root @n.\n" #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n -#: e2fsck/problem.c:810 +#: e2fsck/problem.c:779 msgid "@h %i has an unsupported hash version (%N)\n" msgstr "l'@h %i dispose d'une version de hachage non supportée (%N)\n" #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n -#: e2fsck/problem.c:815 +#: e2fsck/problem.c:784 #, c-format msgid "@h %i uses an incompatible htree root node flag.\n" msgstr "l'@h %i utilise un drapeau de noeud root incompatible.\n" #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n -#: e2fsck/problem.c:820 +#: e2fsck/problem.c:789 msgid "@h %i has a tree depth (%N) which is too big\n" msgstr "l'@h %i a une hauteur d'arbre (%N) qui est trop grande\n" #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n #. @-expanded: filesystem metadata. -#: e2fsck/problem.c:825 +#: e2fsck/problem.c:794 msgid "" "Bad @b @i has an indirect @b (%b) that conflicts with\n" "@f metadata. " msgstr "l'@i des @bs défectueux a un @b indirect (%b) qui entre en conflit avec les métadonnées du @f. " #. @-expanded: Resize inode (re)creation failed: %m. -#: e2fsck/problem.c:831 +#: e2fsck/problem.c:800 #, c-format msgid "Resize @i (re)creation failed: %m." msgstr "La (re-)création de l'@i de changement de taille a échoué : %m." #. @-expanded: inode %i has a extra size (%IS) which is invalid\n -#: e2fsck/problem.c:836 +#: e2fsck/problem.c:805 msgid "@i %i has a extra size (%IS) which is @n\n" msgstr "l'@i %i a une taille extra (%IS) qui est @n\n" #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n -#: e2fsck/problem.c:841 +#: e2fsck/problem.c:810 msgid "@a in @i %i has a namelen (%N) which is @n\n" msgstr "l'@a dans l'@i %i a une longueur de nom (%N) qui est @n\n" #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n -#: e2fsck/problem.c:846 +#: e2fsck/problem.c:815 msgid "@a in @i %i has a value offset (%N) which is @n\n" msgstr "l'@a dans l'@i %i a une valeur de décalage (%N) qui est @n\n" #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n -#: e2fsck/problem.c:851 +#: e2fsck/problem.c:820 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" msgstr "l'@a dans l'@i %i a un @b de valeur (%N) qui est @n (doit être 0)\n" #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n -#: e2fsck/problem.c:856 +#: e2fsck/problem.c:825 msgid "@a in @i %i has a value size (%N) which is @n\n" msgstr "l'@a dans l'@i %i a une valeur de taille (%N) qui est @n\n" #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n -#: e2fsck/problem.c:861 +#: e2fsck/problem.c:830 msgid "@a in @i %i has a hash (%N) which is @n\n" msgstr "l'@a dans l'@i %i a un hachage (%N) qui est @n\n" #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n -#: e2fsck/problem.c:866 +#: e2fsck/problem.c:835 msgid "@i %i is a %It but it looks like it is really a directory.\n" msgstr "l'@i %i est un %It mais il semble qu'il soit en fait un répertoire.\n" #. @-expanded: Error while reading over extent tree in inode %i: %m\n -#: e2fsck/problem.c:871 +#: e2fsck/problem.c:840 #, c-format msgid "Error while reading over @x tree in @i %i: %m\n" msgstr "Erreur lors de l'itération sur l'arbre d'@xs dans l'@i %i : %m\n" #. @-expanded: Failed to iterate extents in inode %i\n #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n -#: e2fsck/problem.c:876 +#: e2fsck/problem.c:845 msgid "" "Failed to iterate extents in @i %i\n" "\t(op %s, blk %b, lblk %c): %m\n" msgstr "" -"N'a pu itérer sur les extents de l'@i %i\n" -"\t(op %s, blk %b, lblk %c) : %m\n" +"N'a pu itérer sur les extens de l'@i %i\n" +"\t(op %s, blk %b, lblk %c): %m\n" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n -#: e2fsck/problem.c:882 +#: e2fsck/problem.c:851 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, @n physical @b %b, len %N)\n" @@ -1697,7 +1673,7 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n -#: e2fsck/problem.c:887 +#: e2fsck/problem.c:856 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, physical @b %b, @n len %N)\n" @@ -1706,31 +1682,31 @@ msgstr "" "\t(@b logique %c, @b physique %b, longueur @n %N)\n" #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n -#: e2fsck/problem.c:892 +#: e2fsck/problem.c:861 #, c-format msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n" msgstr "l'@i %i a le drapeau EXTENTS_FL activé sur le @f sans support des extents.\n" #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n -#: e2fsck/problem.c:897 +#: e2fsck/problem.c:866 #, c-format msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n" msgstr "L'@i %i a un format d'extent, mais le @S n'a pas la fonctionnalité EXTENTS\n" #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n -#: e2fsck/problem.c:902 +#: e2fsck/problem.c:871 #, c-format msgid "@i %i missing EXTENT_FL, but is in extents format\n" msgstr "L'@i %i n'a pas le drapeau EXTENT_FL, mais a un format d'extent\n" -#: e2fsck/problem.c:907 +#: e2fsck/problem.c:876 #, c-format msgid "Fast symlink %i has EXTENT_FL set. " msgstr "Le fast symlink %i a le drapeau EXTENT_FL activé. " #. @-expanded: inode %i has out of order extents\n #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:912 +#: e2fsck/problem.c:881 msgid "" "@i %i has out of order extents\n" "\t(@n logical @b %c, physical @b %b, len %N)\n" @@ -1739,70 +1715,19 @@ msgstr "" "\t(@b logique @n %c, @b physique %b, longueur %N)\n" #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n -#: e2fsck/problem.c:916 +#: e2fsck/problem.c:885 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n" msgstr "L'@i %i a un noeud d'extent invalide (blk %b, lblk %c)\n" -#. @-expanded: Error converting subcluster block bitmap: %m\n -#: e2fsck/problem.c:921 -#, c-format -msgid "Error converting subcluster @b @B: %m\n" -msgstr "Erreur lors de la conversion du @B de @b de sous-cluster : %m\n" - -#. @-expanded: quota inode is not regular file. -#: e2fsck/problem.c:926 -msgid "@q @i is not regular file. " -msgstr "L'@i de @q n'est pas un fichier normal. " - -#. @-expanded: quota inode is not in use, but contains data. -#: e2fsck/problem.c:931 -msgid "@q @i is not in use, but contains data. " -msgstr "L'@i de @q n'est pas utilisé mais contient des données. " - -#. @-expanded: quota inode is visible to the user. -#: e2fsck/problem.c:936 -msgid "@q @i is visible to the user. " -msgstr "L'@i de @q est visible par l'utilisateur. " - -#. @-expanded: The bad block inode looks invalid. -#: e2fsck/problem.c:941 -msgid "The bad @b @i looks @n. " -msgstr "L'@i des @bs défectueux a l'air @n. " - -#. @-expanded: inode %i has zero length extent\n -#. @-expanded: \t(invalid logical block %c, physical block %b)\n -#: e2fsck/problem.c:946 -msgid "" -"@i %i has zero length extent\n" -"\t(@n logical @b %c, physical @b %b)\n" -msgstr "" -"L'@i %i a un extent de taille nulle\n" -"\t(@b logique @n %c, @b physique %b)\n" - -#. @-expanded: Interior extent node level %N of inode %i:\n -#. @-expanded: Logical start %b does not match logical start %c at next level. -#: e2fsck/problem.c:953 -msgid "" -"Interior @x node level %N of @i %i:\n" -"Logical start %b does not match logical start %c at next level. " -msgstr "" -"Extent intérieur de niveau de noeud %N de l'i-noeud %i:\n" -"Le début logique %b ne correspond pas au début logique %c du niveau suivant. " - -#. @-expanded: inode %i, end of extent exceeds allowed value\n -#. @-expanded: \t(logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:959 -msgid "" -"@i %i, end of extent exceeds allowed value\n" -"\t(logical @b %c, physical @b %b, len %N)\n" -msgstr "" -"Dans l'@i %i, la fin de l'extent dépasse la valeur autorisée\n" -"\t(@b logique %c, @b physique %b, longueur %N)\n" +#. @-expanded: inode %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n +#: e2fsck/problem.c:889 +msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" +msgstr "L'@i %i ne devrait pas avoir EOFBLOCKS_FL défini (taille %Is, lblk %r)\n" #. @-expanded: \n #. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n #. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n -#: e2fsck/problem.c:967 +#: e2fsck/problem.c:897 msgid "" "\n" "Running additional passes to resolve @bs claimed by more than one @i...\n" @@ -1813,66 +1738,66 @@ msgstr "" "Passe 1B : ré-examen pour les @bs @m\n" #. @-expanded: multiply-claimed block(s) in inode %i: -#: e2fsck/problem.c:973 +#: e2fsck/problem.c:903 #, c-format msgid "@m @b(s) in @i %i:" msgstr "@b(s) @m dans l'@i %i :" -#: e2fsck/problem.c:988 +#: e2fsck/problem.c:918 #, c-format msgid "Error while scanning inodes (%i): %m\n" msgstr "Erreur lors de l'examen des i-noeuds (%i) : %m\n" #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n -#: e2fsck/problem.c:993 +#: e2fsck/problem.c:923 #, c-format msgid "@A @i @B (@i_dup_map): %m\n" msgstr "@A du @B d'@is (i_node_dup_map) : %m\n" #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n -#: e2fsck/problem.c:998 +#: e2fsck/problem.c:928 #, c-format msgid "Error while iterating over @bs in @i %i (%s): %m\n" msgstr "Erreur lors des itérations sur les @bs dans l'@i %i (%s) : %m\n" #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n -#: e2fsck/problem.c:1003 e2fsck/problem.c:1318 +#: e2fsck/problem.c:933 e2fsck/problem.c:1249 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n" msgstr "Erreur d'ajustement de refcount pour le @b %b d'@a (@i %i) : %m\n" #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n -#: e2fsck/problem.c:1008 +#: e2fsck/problem.c:939 msgid "Pass 1C: Scanning directories for @is with @m @bs\n" msgstr "Passe 1C : examen des répertoires pour les @is avec des @bs @m\n" #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n -#: e2fsck/problem.c:1014 +#: e2fsck/problem.c:945 msgid "Pass 1D: Reconciling @m @bs\n" msgstr "Passe 1D : ajustement des @bs @m\n" #. @-expanded: File %Q (inode #%i, mod time %IM) \n #. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n -#: e2fsck/problem.c:1019 +#: e2fsck/problem.c:950 msgid "" "File %Q (@i #%i, mod time %IM) \n" " has %r @m @b(s), shared with %N file(s):\n" msgstr "" "Le fichier %Q (@i n°%i, date de modification %IM)\n" -" a %r @b(s) @m, partagés avec %N fichier(s) :\n" +" a %r @b(s) @m, partagés avec %N fichier(s):\n" #. @-expanded: \t%Q (inode #%i, mod time %IM)\n -#: e2fsck/problem.c:1025 +#: e2fsck/problem.c:956 msgid "\t%Q (@i #%i, mod time %IM)\n" msgstr "\t%Q (@i n°%i, date de modification %IM)\n" #. @-expanded: \t\n -#: e2fsck/problem.c:1030 +#: e2fsck/problem.c:961 msgid "\t<@f metadata>\n" msgstr "\t\n" #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n #. @-expanded: \n -#: e2fsck/problem.c:1035 +#: e2fsck/problem.c:966 msgid "" "(There are %N @is containing @m @bs.)\n" "\n" @@ -1882,7 +1807,7 @@ msgstr "" #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n #. @-expanded: \n -#: e2fsck/problem.c:1040 +#: e2fsck/problem.c:971 msgid "" "@m @bs already reassigned or cloned.\n" "\n" @@ -1890,315 +1815,315 @@ msgstr "" "@bs @m déjà été réassignés ou clonés.\n" "\n" -#: e2fsck/problem.c:1053 +#: e2fsck/problem.c:984 #, c-format msgid "Couldn't clone file: %m\n" msgstr "N'a pu cloner le fichier : %m\n" #. @-expanded: Pass 2: Checking directory structure\n -#: e2fsck/problem.c:1059 +#: e2fsck/problem.c:990 msgid "Pass 2: Checking @d structure\n" msgstr "Passe 2 : vérification de la structure des @ds\n" #. @-expanded: invalid inode number for '.' in directory inode %i.\n -#: e2fsck/problem.c:1064 +#: e2fsck/problem.c:995 #, c-format msgid "@n @i number for '.' in @d @i %i.\n" msgstr "Numéro d'@i @n pour « . » dans l'@i de @d %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n -#: e2fsck/problem.c:1069 +#: e2fsck/problem.c:1000 msgid "@E has @n @i #: %Di.\n" msgstr "l'@E a un n° d'@i @n : %Di.\n" #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di. -#: e2fsck/problem.c:1074 +#: e2fsck/problem.c:1005 msgid "@E has @D/unused @i %Di. " msgstr "l'@E a un @i @D/non utilisé %Di. " #. @-expanded: entry '%Dn' in %p (%i) is a link to '.' -#: e2fsck/problem.c:1079 +#: e2fsck/problem.c:1010 msgid "@E @L to '.' " msgstr "l'@E @L vers « . » " #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n -#: e2fsck/problem.c:1084 +#: e2fsck/problem.c:1015 msgid "@E points to @i (%Di) located in a bad @b.\n" msgstr "l'@E pointe vers l'@i (%Di) localisé dans un @b défectueux.\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n -#: e2fsck/problem.c:1089 +#: e2fsck/problem.c:1020 msgid "@E @L to @d %P (%Di).\n" msgstr "l'@E @L vers le @d %P (%Di).\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n -#: e2fsck/problem.c:1094 +#: e2fsck/problem.c:1025 msgid "@E @L to the @r.\n" msgstr "l'@E @L vers l'@r.\n" #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n -#: e2fsck/problem.c:1099 +#: e2fsck/problem.c:1030 msgid "@E has illegal characters in its name.\n" msgstr "l'@E a un caractère illégal dans son nom.\n" #. @-expanded: Missing '.' in directory inode %i.\n -#: e2fsck/problem.c:1104 +#: e2fsck/problem.c:1035 #, c-format msgid "Missing '.' in @d @i %i.\n" msgstr "« . » manquant dans l'@i de @d %i.\n" #. @-expanded: Missing '..' in directory inode %i.\n -#: e2fsck/problem.c:1109 +#: e2fsck/problem.c:1040 #, c-format msgid "Missing '..' in @d @i %i.\n" msgstr "« .. » manquant dans l'@i de @d %i.\n" #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n -#: e2fsck/problem.c:1114 +#: e2fsck/problem.c:1045 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n" msgstr "La première @e « %Dn » (@i=%Di) dans l'@i de @d %i (%p) @s « . »\n" #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n -#: e2fsck/problem.c:1119 +#: e2fsck/problem.c:1050 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n" msgstr "La seconde @e « %Dn » (@i=%Di) dans l'@i de @d %i @s « .. »\n" #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n -#: e2fsck/problem.c:1124 +#: e2fsck/problem.c:1055 msgid "i_faddr @F %IF, @s zero.\n" msgstr "i_faddr @F %IF, @s zéro.\n" #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n -#: e2fsck/problem.c:1129 +#: e2fsck/problem.c:1060 msgid "i_file_acl @F %If, @s zero.\n" msgstr "i_file_acl @F %If, @s zéro.\n" #. @-expanded: i_dir_acl for inode %i (%Q) is %Id, should be zero.\n -#: e2fsck/problem.c:1134 +#: e2fsck/problem.c:1065 msgid "i_dir_acl @F %Id, @s zero.\n" msgstr "i_dir_acl @F %Id, @s zéro.\n" #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1139 +#: e2fsck/problem.c:1070 msgid "i_frag @F %N, @s zero.\n" msgstr "i_frag @F %N, @s zéro.\n" #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1144 +#: e2fsck/problem.c:1075 msgid "i_fsize @F %N, @s zero.\n" msgstr "i_fsize @F %N, @s zéro.\n" #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n -#: e2fsck/problem.c:1149 +#: e2fsck/problem.c:1080 msgid "@i %i (%Q) has @n mode (%Im).\n" msgstr "l'@i %i (%Q) a un mode @n (%Im).\n" #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n -#: e2fsck/problem.c:1154 +#: e2fsck/problem.c:1085 msgid "@d @i %i, %B, offset %N: @d corrupted\n" msgstr "@i de @d %i, %B, déplacement %N : @d corrompu\n" #. @-expanded: directory inode %i, %B, offset %N: filename too long\n -#: e2fsck/problem.c:1159 +#: e2fsck/problem.c:1090 msgid "@d @i %i, %B, offset %N: filename too long\n" msgstr "@i de @d %i, %B, déplacement %N : nom de fichier trop long\n" #. @-expanded: directory inode %i has an unallocated %B. -#: e2fsck/problem.c:1164 +#: e2fsck/problem.c:1095 msgid "@d @i %i has an unallocated %B. " msgstr "l'@i de @d %i a un %B non alloué. " #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1169 +#: e2fsck/problem.c:1100 #, c-format msgid "'.' @d @e in @d @i %i is not NULL terminated\n" msgstr "l'@e de @d « . » dans l'@i de @d %i n'est pas terminée pas un NULL\n" #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1174 +#: e2fsck/problem.c:1105 #, c-format msgid "'..' @d @e in @d @i %i is not NULL terminated\n" msgstr "l'@e de @d « .. » dans l'@i de @d %i n'est pas terminée pas un NULL\n" #. @-expanded: inode %i (%Q) is an illegal character device.\n -#: e2fsck/problem.c:1179 +#: e2fsck/problem.c:1110 msgid "@i %i (%Q) is an @I character @v.\n" msgstr "l'@i %i (%Q) est un @v de caractère @I.\n" #. @-expanded: inode %i (%Q) is an illegal block device.\n -#: e2fsck/problem.c:1184 +#: e2fsck/problem.c:1115 msgid "@i %i (%Q) is an @I @b @v.\n" msgstr "l'@i %i (%Q) est un @v de @b @I.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n -#: e2fsck/problem.c:1189 +#: e2fsck/problem.c:1120 msgid "@E is duplicate '.' @e.\n" msgstr "l'@E est un doublon de l'@e « . ».\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n -#: e2fsck/problem.c:1194 +#: e2fsck/problem.c:1125 msgid "@E is duplicate '..' @e.\n" msgstr "l'@E est un doublon de l'@e « .. ».\n" -#: e2fsck/problem.c:1199 e2fsck/problem.c:1499 +#: e2fsck/problem.c:1130 e2fsck/problem.c:1430 #, c-format msgid "Internal error: couldn't find dir_info for %i.\n" msgstr "Erreur interne : impossible de trouver dir_info pour %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n -#: e2fsck/problem.c:1204 +#: e2fsck/problem.c:1135 msgid "@E has rec_len of %Dr, @s %N.\n" msgstr "l'@E a un rec_len de %Dr, @s %N.\n" #. @-expanded: error allocating icount structure: %m\n -#: e2fsck/problem.c:1209 +#: e2fsck/problem.c:1140 #, c-format msgid "@A icount structure: %m\n" msgstr "@A d'une structure icount : %m\n" #. @-expanded: Error iterating over directory blocks: %m\n -#: e2fsck/problem.c:1214 +#: e2fsck/problem.c:1145 #, c-format msgid "Error iterating over @d @bs: %m\n" msgstr "Erreur d'itération sur les @bs de @d : %m\n" #. @-expanded: Error reading directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1219 +#: e2fsck/problem.c:1150 msgid "Error reading @d @b %b (@i %i): %m\n" msgstr "Erreur de lecture du @b %b de @d (@i %i) : %m\n" #. @-expanded: Error writing directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1224 +#: e2fsck/problem.c:1155 msgid "Error writing @d @b %b (@i %i): %m\n" msgstr "Erreur d'écriture du @b %b de @d (@i %i) : %m\n" #. @-expanded: error allocating new directory block for inode %i (%s): %m\n -#: e2fsck/problem.c:1229 +#: e2fsck/problem.c:1160 #, c-format msgid "@A new @d @b for @i %i (%s): %m\n" msgstr "@A d'un nouveau @b de @d pour l'@i %i (%s) : %m\n" #. @-expanded: Error deallocating inode %i: %m\n -#: e2fsck/problem.c:1234 +#: e2fsck/problem.c:1165 #, c-format msgid "Error deallocating @i %i: %m\n" msgstr "Erreur lors de la désallocation de l'@i %i : %m\n" #. @-expanded: directory entry for '.' in %p (%i) is big.\n -#: e2fsck/problem.c:1239 +#: e2fsck/problem.c:1170 #, c-format msgid "@d @e for '.' in %p (%i) is big.\n" msgstr "l'@e de @d pour « . » dans %p (%i) est grande.\n" #. @-expanded: inode %i (%Q) is an illegal FIFO.\n -#: e2fsck/problem.c:1244 +#: e2fsck/problem.c:1175 msgid "@i %i (%Q) is an @I FIFO.\n" msgstr "l'@i %i (%Q) est un FIFO @I.\n" #. @-expanded: inode %i (%Q) is an illegal socket.\n -#: e2fsck/problem.c:1249 +#: e2fsck/problem.c:1180 msgid "@i %i (%Q) is an @I socket.\n" msgstr "l'@i %i (%Q) est une socket @I.\n" #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n -#: e2fsck/problem.c:1254 +#: e2fsck/problem.c:1185 msgid "Setting filetype for @E to %N.\n" msgstr "Définition du type de fichier pour l'@E à %N.\n" #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n -#: e2fsck/problem.c:1259 +#: e2fsck/problem.c:1190 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n" msgstr "l'@E a un type de fichier incorrect (était %Dt, @s %N).\n" #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n -#: e2fsck/problem.c:1264 +#: e2fsck/problem.c:1195 msgid "@E has filetype set.\n" msgstr "l'@E a un type de fichier initialisé.\n" #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n -#: e2fsck/problem.c:1269 +#: e2fsck/problem.c:1200 msgid "@E has a @z name.\n" msgstr "l'@E a un nom @z.\n" #. @-expanded: Symlink %Q (inode #%i) is invalid.\n -#: e2fsck/problem.c:1274 +#: e2fsck/problem.c:1205 msgid "Symlink %Q (@i #%i) is @n.\n" msgstr "Le lien symbolique %Q (@i n°%i) est @n.\n" #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n -#: e2fsck/problem.c:1279 +#: e2fsck/problem.c:1210 msgid "@a @b @F @n (%If).\n" msgstr "le @b d'@a @F @n (%If).\n" #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n -#: e2fsck/problem.c:1284 +#: e2fsck/problem.c:1215 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n" msgstr "le @f contient de grands fichiers, mais n'a pas le drapeau LARGE_FILE activé dans le @S.\n" #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n -#: e2fsck/problem.c:1289 +#: e2fsck/problem.c:1220 msgid "@p @h %d: %B not referenced\n" msgstr "@p l'@h %d : %B n'est pas référencé\n" #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n -#: e2fsck/problem.c:1294 +#: e2fsck/problem.c:1225 msgid "@p @h %d: %B referenced twice\n" msgstr "@p l'@h %d : %B est référencé deux fois\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n -#: e2fsck/problem.c:1299 +#: e2fsck/problem.c:1230 msgid "@p @h %d: %B has bad min hash\n" msgstr "@p l'@h %d : %B a un hachage mininal erroné\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n -#: e2fsck/problem.c:1304 +#: e2fsck/problem.c:1235 msgid "@p @h %d: %B has bad max hash\n" msgstr "@p l'@h %d : %B a un hachage maximal erroné\n" #. @-expanded: invalid HTREE directory inode %d (%q). -#: e2fsck/problem.c:1309 +#: e2fsck/problem.c:1240 msgid "@n @h %d (%q). " msgstr "@h %d @n (%q). " #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n -#: e2fsck/problem.c:1313 +#: e2fsck/problem.c:1244 msgid "@p @h %d (%q): bad @b number %b.\n" msgstr "@p l'@h %d (%q) : numéro de @b %b erroné.\n" #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n -#: e2fsck/problem.c:1323 +#: e2fsck/problem.c:1254 #, c-format msgid "@p @h %d: root node is @n\n" msgstr "@p l'@h %d : le noeud root est @n\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n -#: e2fsck/problem.c:1328 +#: e2fsck/problem.c:1259 msgid "@p @h %d: %B has @n limit (%N)\n" msgstr "@p l'@h %d : %B a une limite @n (%N)\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n -#: e2fsck/problem.c:1333 +#: e2fsck/problem.c:1264 msgid "@p @h %d: %B has @n count (%N)\n" msgstr "@p l'@h %d : %B a un compteur @n (%N)\n" #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n -#: e2fsck/problem.c:1338 +#: e2fsck/problem.c:1269 msgid "@p @h %d: %B has an unordered hash table\n" msgstr "@p l'@h %d : %B a une table de hachage non ordonnée\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n -#: e2fsck/problem.c:1343 +#: e2fsck/problem.c:1274 msgid "@p @h %d: %B has @n depth (%N)\n" msgstr "@p l'@h %d : %B a une profondeur @n (%N)\n" #. @-expanded: Duplicate entry '%Dn' in %p (%i) found. -#: e2fsck/problem.c:1348 +#: e2fsck/problem.c:1279 msgid "Duplicate @E found. " msgstr "@E doublon repérée. " #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n #. @-expanded: Rename to %s -#: e2fsck/problem.c:1353 +#: e2fsck/problem.c:1284 #, no-c-format msgid "" "@E has a non-unique filename.\n" @@ -2210,7 +2135,7 @@ msgstr "" #. @-expanded: Duplicate entry '%Dn' found.\n #. @-expanded: \tMarking %p (%i) to be rebuilt.\n #. @-expanded: \n -#: e2fsck/problem.c:1358 +#: e2fsck/problem.c:1289 msgid "" "Duplicate @e '%Dn' found.\n" "\tMarking %p (%i) to be rebuilt.\n" @@ -2221,116 +2146,116 @@ msgstr "" "\n" #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1363 +#: e2fsck/problem.c:1294 msgid "i_blocks_hi @F %N, @s zero.\n" msgstr "i_blocks_hi @F %N, @s zéro.\n" #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n -#: e2fsck/problem.c:1368 +#: e2fsck/problem.c:1299 msgid "Unexpected @b in @h %d (%q).\n" msgstr "@b dans l'@h %d (%q) inattendu.\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n -#: e2fsck/problem.c:1372 +#: e2fsck/problem.c:1303 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n" msgstr "@E référence l'@i %Di dans le @g %g où _INODE_UNINIT est positionné.\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n -#: e2fsck/problem.c:1377 +#: e2fsck/problem.c:1308 msgid "@E references @i %Di found in @g %g's unused inodes area.\n" msgstr "@E référence l'@i %Di trouvé dans la zone d'i-noeuds non utilisés du @g %g.\n" #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1382 +#: e2fsck/problem.c:1313 msgid "i_file_acl_hi @F %N, @s zero.\n" msgstr "i_file_acl_hi @F %N, @s zéro.\n" #. @-expanded: Pass 3: Checking directory connectivity\n -#: e2fsck/problem.c:1389 +#: e2fsck/problem.c:1320 msgid "Pass 3: Checking @d connectivity\n" msgstr "Passe 3 : vérification de la connectivité des @ds\n" #. @-expanded: root inode not allocated. -#: e2fsck/problem.c:1394 +#: e2fsck/problem.c:1325 msgid "@r not allocated. " msgstr "l'@r n'est pas alloué. " #. @-expanded: No room in lost+found directory. -#: e2fsck/problem.c:1399 +#: e2fsck/problem.c:1330 msgid "No room in @l @d. " msgstr "Pas d'espace dans le @d @l. " #. @-expanded: Unconnected directory inode %i (%p)\n -#: e2fsck/problem.c:1404 +#: e2fsck/problem.c:1335 #, c-format msgid "Unconnected @d @i %i (%p)\n" msgstr "@i %i (%p) de @d non connecté\n" #. @-expanded: /lost+found not found. -#: e2fsck/problem.c:1409 +#: e2fsck/problem.c:1340 msgid "/@l not found. " msgstr "/@l n'a pas été trouvé. " #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n -#: e2fsck/problem.c:1414 +#: e2fsck/problem.c:1345 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n" msgstr "« .. » dans %Q (%i) est %P (%j), @s %q (%d).\n" #. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n -#: e2fsck/problem.c:1419 +#: e2fsck/problem.c:1350 msgid "Bad or non-existent /@l. Cannot reconnect.\n" msgstr "/@l erroné ou inexistent. Ne peut reconnecter.\n" #. @-expanded: Could not expand /lost+found: %m\n -#: e2fsck/problem.c:1424 +#: e2fsck/problem.c:1355 #, c-format msgid "Could not expand /@l: %m\n" -msgstr "Ne peut étendre /@l : %m\n" +msgstr "Ne peux étendre /@l : %m\n" -#: e2fsck/problem.c:1429 +#: e2fsck/problem.c:1360 #, c-format msgid "Could not reconnect %i: %m\n" msgstr "Ne peut reconnecter %i : %m\n" #. @-expanded: Error while trying to find /lost+found: %m\n -#: e2fsck/problem.c:1434 +#: e2fsck/problem.c:1365 #, c-format msgid "Error while trying to find /@l: %m\n" msgstr "Erreur lors de la tentative de repérage de /@l : %m\n" #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1439 +#: e2fsck/problem.c:1370 #, c-format msgid "ext2fs_new_@b: %m while trying to create /@l @d\n" msgstr "ext2fs_new_@b : %m lors de la tentative de création du @d /@l\n" #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1444 +#: e2fsck/problem.c:1375 #, c-format msgid "ext2fs_new_@i: %m while trying to create /@l @d\n" msgstr "ext2fs_new_@i : %m lors de la tentative de création du @d /@l\n" #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n -#: e2fsck/problem.c:1449 +#: e2fsck/problem.c:1380 #, c-format msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n" msgstr "ext2fs_new_dir_@b : %m lors de la tentative de création d'un nouveau @b de @d\n" #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n -#: e2fsck/problem.c:1454 +#: e2fsck/problem.c:1385 #, c-format msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n" msgstr "ext2fs_write_dir_@b : %m lors de la tentative d'écriture du @b de @d pour /@l\n" #. @-expanded: Error while adjusting inode count on inode %i\n -#: e2fsck/problem.c:1459 +#: e2fsck/problem.c:1390 #, c-format msgid "Error while adjusting @i count on @i %i\n" msgstr "Erreur lors de l'ajustement du compteur d'@i sur l'@i %i\n" #. @-expanded: Couldn't fix parent of inode %i: %m\n #. @-expanded: \n -#: e2fsck/problem.c:1464 +#: e2fsck/problem.c:1395 #, c-format msgid "" "Couldn't fix parent of @i %i: %m\n" @@ -2341,7 +2266,7 @@ msgstr "" #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n #. @-expanded: \n -#: e2fsck/problem.c:1469 +#: e2fsck/problem.c:1400 #, c-format msgid "" "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n" @@ -2351,224 +2276,220 @@ msgstr "" "\n" #. @-expanded: Error creating root directory (%s): %m\n -#: e2fsck/problem.c:1479 +#: e2fsck/problem.c:1410 #, c-format msgid "Error creating root @d (%s): %m\n" msgstr "Erreur de création du @d racine (%s) : %m\n" #. @-expanded: Error creating /lost+found directory (%s): %m\n -#: e2fsck/problem.c:1484 +#: e2fsck/problem.c:1415 #, c-format msgid "Error creating /@l @d (%s): %m\n" msgstr "Erreur de création du @d /@l (%s) : %m\n" #. @-expanded: root inode is not a directory; aborting.\n -#: e2fsck/problem.c:1489 +#: e2fsck/problem.c:1420 msgid "@r is not a @d; aborting.\n" msgstr "l'@r n'est pas un @d ; arrêt immédiat.\n" #. @-expanded: Cannot proceed without a root inode.\n -#: e2fsck/problem.c:1494 +#: e2fsck/problem.c:1425 msgid "Cannot proceed without a @r.\n" msgstr "Ne peut procéder sans un @r.\n" #. @-expanded: /lost+found is not a directory (ino=%i)\n -#: e2fsck/problem.c:1504 +#: e2fsck/problem.c:1435 #, c-format msgid "/@l is not a @d (ino=%i)\n" msgstr "/@l n'est pas un @d (ino=%i)\n" -#: e2fsck/problem.c:1511 +#: e2fsck/problem.c:1442 msgid "Pass 3A: Optimizing directories\n" msgstr "Passe 3A : optimisation des répertoires\n" -#: e2fsck/problem.c:1516 +#: e2fsck/problem.c:1447 #, c-format msgid "Failed to create dirs_to_hash iterator: %m\n" msgstr "Échec de création de l'itérateur dirs_to_hash : %m\n" -#: e2fsck/problem.c:1521 +#: e2fsck/problem.c:1452 msgid "Failed to optimize directory %q (%d): %m\n" msgstr "Échec d'optimisation du répertoire %q (%d) : %m\n" -#: e2fsck/problem.c:1526 +#: e2fsck/problem.c:1457 msgid "Optimizing directories: " msgstr "Optimisation des répertoires : " -#: e2fsck/problem.c:1543 +#: e2fsck/problem.c:1474 msgid "Pass 4: Checking reference counts\n" msgstr "Passe 4 : vérification des compteurs de référence\n" #. @-expanded: unattached zero-length inode %i. -#: e2fsck/problem.c:1548 +#: e2fsck/problem.c:1479 #, c-format msgid "@u @z @i %i. " msgstr "@i %i @z @u. " #. @-expanded: unattached inode %i\n -#: e2fsck/problem.c:1553 +#: e2fsck/problem.c:1484 #, c-format msgid "@u @i %i\n" msgstr "@i %i @u\n" #. @-expanded: inode %i ref count is %Il, should be %N. -#: e2fsck/problem.c:1558 +#: e2fsck/problem.c:1489 msgid "@i %i ref count is %Il, @s %N. " msgstr "le compteur de référence de l'@i %i est %Il, @s %N. " #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n -#: e2fsck/problem.c:1562 +#: e2fsck/problem.c:1493 msgid "" "WARNING: PROGRAMMING BUG IN E2FSCK!\n" "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n" "@i_link_info[%i] is %N, @i.i_links_count is %Il. They @s the same!\n" msgstr "" -"ATTENTION : BOGUE DE PROGRAMMATION DANS E2FSCK !\n" +"AVERTISSEMENT : BOGUE DE PROGRAMMATION DANS E2FSCK !\n" "\tOU UN IDIOT (VOUS) EST EN TRAIN DE VÉRIFIER UN SYSTÈME DE\n" "\tFICHIER MONTÉ (ACTIF). inode_link_info[%i] est %N,\n" "\ti-node.i_links_count est %Il. Ils devraient être les mêmes !\n" #. @-expanded: Pass 5: Checking group summary information\n -#: e2fsck/problem.c:1572 +#: e2fsck/problem.c:1503 msgid "Pass 5: Checking @g summary information\n" msgstr "Passe 5 : vérification de l'information du sommaire de @g\n" #. @-expanded: Padding at end of inode bitmap is not set. -#: e2fsck/problem.c:1577 +#: e2fsck/problem.c:1508 msgid "Padding at end of @i @B is not set. " msgstr "Le remplissage à la fin du @B d'@i n'est pas initialisé. " #. @-expanded: Padding at end of block bitmap is not set. -#: e2fsck/problem.c:1582 +#: e2fsck/problem.c:1513 msgid "Padding at end of @b @B is not set. " msgstr "Le remplissage à la fin du @B de @bs n'est pas initialisé. " #. @-expanded: block bitmap differences: -#: e2fsck/problem.c:1587 +#: e2fsck/problem.c:1518 msgid "@b @B differences: " -msgstr "différences de @B de @bs : " +msgstr "différences de @B de @bs: " #. @-expanded: inode bitmap differences: -#: e2fsck/problem.c:1607 +#: e2fsck/problem.c:1538 msgid "@i @B differences: " msgstr "différences de @B d'@is : " #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1627 +#: e2fsck/problem.c:1558 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n" msgstr "Le décompte des @is libres est erroné pour le @g n°%g (%i, décompté=%j).\n" #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1632 +#: e2fsck/problem.c:1563 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n" msgstr "Le décompte des répertoires est erroné pour le @g n°%g (%i, décompté=%j).\n" #. @-expanded: Free inodes count wrong (%i, counted=%j).\n -#: e2fsck/problem.c:1637 +#: e2fsck/problem.c:1568 msgid "Free @is count wrong (%i, counted=%j).\n" msgstr "Le décompte des @is libres est erroné (%i, décompté=%j).\n" #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n -#: e2fsck/problem.c:1642 +#: e2fsck/problem.c:1573 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n" msgstr "Le décompte des @bs libres est erroné pour le @g n°%g (%b, décompté=%c).\n" #. @-expanded: Free blocks count wrong (%b, counted=%c).\n -#: e2fsck/problem.c:1647 +#: e2fsck/problem.c:1578 msgid "Free @bs count wrong (%b, counted=%c).\n" msgstr "Le décompte des @bs libres est erroné (%b, décompté=%c).\n" #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap #. @-expanded: endpoints (%i, %j)\n -#: e2fsck/problem.c:1652 +#: e2fsck/problem.c:1583 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n" -msgstr "ERREUR DE PROGRAMMATION : les points de terminaison (%b, %c) de @Bs du @f (n°%N) ne concordent pas avec les points de terminaison de @Bs calculés (%i, %j)\n" +msgstr "ERREUR DE PROGRAMMATION : les points de terminaisons (%b, %c) de @Bs du @f (n°%N) ne concordent pas avec les points de terminaison de @Bs calculés (%i, %j)\n" -#: e2fsck/problem.c:1658 +#: e2fsck/problem.c:1589 msgid "Internal error: fudging end of bitmap (%N)\n" msgstr "Erreur interne : ajustement approximatif de la fin du bitmap (%N)\n" #. @-expanded: Error copying in replacement inode bitmap: %m\n -#: e2fsck/problem.c:1663 +#: e2fsck/problem.c:1594 #, c-format msgid "Error copying in replacement @i @B: %m\n" msgstr "Erreur lors de la copie du @B d'@is de remplacement : %m\n" #. @-expanded: Error copying in replacement block bitmap: %m\n -#: e2fsck/problem.c:1668 +#: e2fsck/problem.c:1599 #, c-format msgid "Error copying in replacement @b @B: %m\n" msgstr "Erreur lors de la copie du @B des @bs de remplacement : %m\n" #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n -#: e2fsck/problem.c:1693 +#: e2fsck/problem.c:1624 #, c-format msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n" msgstr "Un ou des @b(s) du @g %g en cours d'utilisation alors que le @g est marqué BLOCK_UNINIT\n" #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n -#: e2fsck/problem.c:1698 +#: e2fsck/problem.c:1629 #, c-format msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n" msgstr "Un ou des @i(s) du @g %g en cours d'utilisation alors que le @g est marqué INODE_UNINIT\n" #. @-expanded: Recreate journal -#: e2fsck/problem.c:1705 +#: e2fsck/problem.c:1636 msgid "Recreate @j" msgstr "Recréer le @j" -#: e2fsck/problem.c:1710 -msgid "Update quota info for quota type %N" -msgstr "Mise à jour de l'information de quota pour le type de quota %N" - -#: e2fsck/problem.c:1829 +#: e2fsck/problem.c:1755 #, c-format msgid "Unhandled error code (0x%x)!\n" msgstr "Code d'erreur non traité (0x%x) !\n" -#: e2fsck/problem.c:1954 e2fsck/problem.c:1958 +#: e2fsck/problem.c:1850 msgid "IGNORED" msgstr "IGNORÉ" -#: e2fsck/scantest.c:79 +#: e2fsck/scantest.c:81 #, c-format msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n" msgstr "Mémoire utilisée : %d, temps requis : %6.3f/%6.3f/%6.3f\n" -#: e2fsck/scantest.c:98 +#: e2fsck/scantest.c:100 #, c-format msgid "size of inode=%d\n" msgstr "taille de l'i-noeud=%d\n" -#: e2fsck/scantest.c:119 +#: e2fsck/scantest.c:121 msgid "while starting inode scan" msgstr "lors du démarrage de l'examen des i-noeuds" -#: e2fsck/scantest.c:130 +#: e2fsck/scantest.c:132 msgid "while doing inode scan" msgstr "lors de l'examen des i-noeuds" -#: e2fsck/super.c:188 +#: e2fsck/super.c:187 #, c-format msgid "while calling ext2fs_block_iterate for inode %d" msgstr "lors de l'appel de ext2fs_block_iterate pour l'i-noeud %d" -#: e2fsck/super.c:211 +#: e2fsck/super.c:209 #, c-format -msgid "while calling ext2fs_adjust_ea_refcount2 for inode %d" -msgstr "lors de l'appel à ext2fs_adjust_ea_refcount2 pour l'i-noeud %d" +msgid "while calling ext2fs_adjust_ea_refcount for inode %d" +msgstr "lors de l'appel à ext2fs_adjust_ea_refcount pour l'i-noeud %d" -#: e2fsck/super.c:272 +#: e2fsck/super.c:267 msgid "Truncating" msgstr "Lors de la troncature de" -#: e2fsck/super.c:273 +#: e2fsck/super.c:268 msgid "Clearing" msgstr "Lors de l'effacement de" -#: e2fsck/unix.c:74 +#: e2fsck/unix.c:76 #, c-format msgid "" "Usage: %s [-panyrcdfvtDFV] [-b superblock] [-B blocksize]\n" @@ -2576,12 +2497,12 @@ msgid "" "\t\t[-l|-L bad_blocks_file] [-C fd] [-j external_journal]\n" "\t\t[-E extended-options] device\n" msgstr "" -"Utilisation : %s [-panyrcdfvtDFV] [-b super-bloc] [-B taille-de-bloc]\n" +"Usage : %s [-panyrcdfvtDFV] [-b super-bloc] [-B taille-de-bloc]\n" "\t\t[-I nombre-blocs-du-tampon-i-noeuds] [-P taille-i-noeud-processus]\n" "\t\t[-l|-L fichiers-des-blocs-défectueux] [-C fd] [-j journal-externe]\n" "\t\t[-E options-étendues] périphérique\n" -#: e2fsck/unix.c:80 +#: e2fsck/unix.c:82 #, c-format msgid "" "\n" @@ -2602,7 +2523,7 @@ msgstr "" " -f Forcer la vérification même si le système de fichiers\n" " est marqué propre\n" -#: e2fsck/unix.c:86 +#: e2fsck/unix.c:88 #, c-format msgid "" " -v Be verbose\n" @@ -2622,165 +2543,38 @@ msgstr "" " -L fichier-des-blocs-erronés\n" " Définir la liste des blocs défectueux\n" -#: e2fsck/unix.c:131 -#, c-format -msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n" -msgstr "%s : %u/%u fichiers (%0d.%d%% non contigüs), %llu/%llu blocs\n" - -#: e2fsck/unix.c:157 -#, c-format -msgid "" -"\n" -"%12u inode used (%2.2f%%, out of %u)\n" -msgid_plural "" -"\n" -"%12u inodes used (%2.2f%%, out of %u)\n" -msgstr[0] "" -"\n" -"%12u i-noeud utilisé (%2.2f%%, sur %u)\n" -msgstr[1] "" -"\n" -"%12u i-noeuds utilisés (%2.2f%%, sur %u)\n" - -#: e2fsck/unix.c:161 -#, c-format -msgid "%12u non-contiguous file (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous files (%0d.%d%%)\n" -msgstr[0] "%12u fichier non contigu (%0d.%d%%)\n" -msgstr[1] "%12u fichiers non contigus (%0d.%d%%)\n" - -#: e2fsck/unix.c:166 -#, c-format -msgid "%12u non-contiguous directory (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n" -msgstr[0] "%12u répertoire non contigu (%0d.%d%%)\n" -msgstr[1] "%12u répertoires non contigus (%0d.%d%%)\n" - -#: e2fsck/unix.c:171 -#, c-format -msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" -msgstr " nombre d'i-noeuds avec des blocs ind/dind/tind : %u/%u/%u\n" - -#: e2fsck/unix.c:179 -msgid " Extent depth histogram: " -msgstr " Histogramme des profondeurs d'extents : " - -#: e2fsck/unix.c:188 -#, c-format -msgid "%12llu block used (%2.2f%%, out of %llu)\n" -msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n" -msgstr[0] "%12llu bloc utilisé (%2.2f%%, sur %llu)\n" -msgstr[1] "%12llu blocs utilisés (%2.2f%%, sur %llu)\n" - -#: e2fsck/unix.c:192 -#, c-format -msgid "%12u bad block\n" -msgid_plural "%12u bad blocks\n" -msgstr[0] "%12u bloc défectueux\n" -msgstr[1] "%12u blocs défectueux\n" - -#: e2fsck/unix.c:194 -#, c-format -msgid "%12u large file\n" -msgid_plural "%12u large files\n" -msgstr[0] "%12u fichier de grande taille\n" -msgstr[1] "%12u fichiers de grande taille\n" - -#: e2fsck/unix.c:196 -#, c-format -msgid "" -"\n" -"%12u regular file\n" -msgid_plural "" -"\n" -"%12u regular files\n" -msgstr[0] "" -"\n" -"%12u fichier normal\n" -msgstr[1] "" -"\n" -"%12u fichiers normaux\n" - -#: e2fsck/unix.c:198 -#, c-format -msgid "%12u directory\n" -msgid_plural "%12u directories\n" -msgstr[0] "%12u répertoire\n" -msgstr[1] "%12u répertoires\n" - -#: e2fsck/unix.c:200 -#, c-format -msgid "%12u character device file\n" -msgid_plural "%12u character device files\n" -msgstr[0] "%12u fichier de périphérique en mode caractère\n" -msgstr[1] "%12u fichiers de périphérique en mode caractère\n" - -#: e2fsck/unix.c:203 -#, c-format -msgid "%12u block device file\n" -msgid_plural "%12u block device files\n" -msgstr[0] "%12u fichier de périphérique en mode bloc\n" -msgstr[1] "%12u fichiers de périphérique en mode bloc\n" - -#: e2fsck/unix.c:205 -#, c-format -msgid "%12u fifo\n" -msgid_plural "%12u fifos\n" -msgstr[0] "%12u fifo\n" -msgstr[1] "%12u fifos\n" - -#: e2fsck/unix.c:207 -#, c-format -msgid "%12u link\n" -msgid_plural "%12u links\n" -msgstr[0] "%12u lien\n" -msgstr[1] "%12u liens\n" - -#: e2fsck/unix.c:209 -#, c-format -msgid "%12u symbolic link" -msgid_plural "%12u symbolic links" -msgstr[0] "%12u lien symbolique" -msgstr[1] "%12u liens symboliques" - -#: e2fsck/unix.c:211 +#: e2fsck/unix.c:132 #, c-format -msgid " (%u fast symbolic link)\n" -msgid_plural " (%u fast symbolic links)\n" -msgstr[0] " (%u lien symbolique rapide)\n" -msgstr[1] " (%u liens symboliques rapides)\n" +msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n" +msgstr "%s : %u/%u fichiers (%0d.%d%% non contigus), %u/%u blocs\n" -#: e2fsck/unix.c:215 +#: e2fsck/unix.c:150 #, c-format -msgid "%12u socket\n" -msgid_plural "%12u sockets\n" -msgstr[0] "%12u socket\n" -msgstr[1] "%12u sockets\n" +msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" +msgstr " nombre d'i-noeuds avec des blocs ind/dind/tind : %u/%u/%u\n" -#: e2fsck/unix.c:219 +#: e2fsck/unix.c:157 #, c-format -msgid "%12u file\n" -msgid_plural "%12u files\n" -msgstr[0] "%12u fichier\n" -msgstr[1] "%12u fichiers\n" +msgid " Extent depth histogram: " +msgstr " Histogramme des profondeurs d'extents : " -#: e2fsck/unix.c:232 misc/badblocks.c:983 misc/tune2fs.c:1985 misc/util.c:147 -#: resize/main.c:259 +#: e2fsck/unix.c:207 misc/badblocks.c:928 misc/tune2fs.c:1625 misc/util.c:151 +#: resize/main.c:249 #, c-format msgid "while determining whether %s is mounted." msgstr "lors de la détermination à savoir si %s est monté." -#: e2fsck/unix.c:252 +#: e2fsck/unix.c:225 #, c-format -msgid "Warning! %s is %s.\n" -msgstr "Attention ! %s est %s.\n" +msgid "Warning! %s is mounted.\n" +msgstr "Avertissement ! %s est monté.\n" -#: e2fsck/unix.c:259 +#: e2fsck/unix.c:229 #, c-format -msgid "%s is %s.\n" -msgstr "%s est %s.\n" +msgid "%s is mounted. " +msgstr "%s est monté. " -#: e2fsck/unix.c:262 +#: e2fsck/unix.c:231 msgid "" "Cannot continue, aborting.\n" "\n" @@ -2788,93 +2582,94 @@ msgstr "" "Ne peut continuer, arrêt immédiat.\n" "\n" -#: e2fsck/unix.c:264 +#: e2fsck/unix.c:232 +#, c-format msgid "" "\n" "\n" -"WARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" -"cause ***SEVERE*** filesystem damage.\n" +"\a\a\a\aWARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" +"cause ***SEVERE*** filesystem damage.\a\a\a\n" "\n" msgstr "" "\n" "\n" -"ATTENTION !!! Le système de fichiers est monté. Si vous continuez\n" -"vous ***CAUSEREZ*** des dommages ***SÉVÈRES*** au système de fichiers.\n" +"\a\a\a\aAVERTISSEMENT !!! Le système de fichiers est monté. Si vous continuez\n" +"vous ***ALLEZ*** causer des dommages ***SÉVÈRES*** au système de fichiers.\a\a\a\n" "\n" -#: e2fsck/unix.c:269 +#: e2fsck/unix.c:235 msgid "Do you really want to continue" msgstr "Souhaitez-vous réellement continuer" -#: e2fsck/unix.c:271 +#: e2fsck/unix.c:237 #, c-format msgid "check aborted.\n" msgstr "vérification stoppée.\n" -#: e2fsck/unix.c:361 +#: e2fsck/unix.c:315 msgid " contains a file system with errors" msgstr " contient un système de fichiers comportant des erreurs" -#: e2fsck/unix.c:363 +#: e2fsck/unix.c:317 msgid " was not cleanly unmounted" msgstr " n'a pas été démonté proprement" -#: e2fsck/unix.c:365 +#: e2fsck/unix.c:319 msgid " primary superblock features different from backup" msgstr " les fonctionnalités du superbloc primaire diffèrent de celles de la sauvegarde" -#: e2fsck/unix.c:369 +#: e2fsck/unix.c:323 #, c-format msgid " has been mounted %u times without being checked" msgstr " a été monté %u fois sans avoir été vérifié" -#: e2fsck/unix.c:376 +#: e2fsck/unix.c:330 msgid " has filesystem last checked time in the future" -msgstr " a une date de dernière vérification du système de fichiers dans le futur" +msgstr " a une date de dernière vérification du système de fichier dans le futur" -#: e2fsck/unix.c:382 +#: e2fsck/unix.c:336 #, c-format msgid " has gone %u days without being checked" msgstr " a passé %u jours sans avoir été vérifié" -#: e2fsck/unix.c:391 +#: e2fsck/unix.c:345 msgid ", check forced.\n" msgstr ", vérification forcée.\n" -#: e2fsck/unix.c:424 +#: e2fsck/unix.c:348 #, c-format -msgid "%s: clean, %u/%u files, %llu/%llu blocks" -msgstr "%s : propre, %u/%u fichiers, %llu/%llu blocs" +msgid "%s: clean, %u/%u files, %u/%u blocks" +msgstr "%s : propre, %u/%u fichiers, %u/%u blocs" -#: e2fsck/unix.c:443 +#: e2fsck/unix.c:365 msgid " (check deferred; on battery)" msgstr " (vérification remise à plus tard : sur batterie)" -#: e2fsck/unix.c:446 +#: e2fsck/unix.c:368 msgid " (check after next mount)" msgstr " (vérification lors du prochain montage)" -#: e2fsck/unix.c:448 +#: e2fsck/unix.c:370 #, c-format msgid " (check in %ld mounts)" msgstr " (vérification dans %ld montages)" -#: e2fsck/unix.c:598 +#: e2fsck/unix.c:517 #, c-format msgid "ERROR: Couldn't open /dev/null (%s)\n" msgstr "ERREUR : ne peut ouvrir /dev/null (%s)\n" -#: e2fsck/unix.c:667 +#: e2fsck/unix.c:587 #, c-format msgid "Invalid EA version.\n" msgstr "Version EA invalide.\n" -#: e2fsck/unix.c:694 +#: e2fsck/unix.c:596 #, c-format msgid "Unknown extended option: %s\n" msgstr "Option étendue inconnue : %s\n" -#: e2fsck/unix.c:719 +#: e2fsck/unix.c:618 #, c-format msgid "" "Syntax error in e2fsck config file (%s, line #%d)\n" @@ -2884,48 +2679,47 @@ msgstr "" "\tligne n°%d)\n" "\t%s\n" -#: e2fsck/unix.c:788 +#: e2fsck/unix.c:686 #, c-format msgid "Error validating file descriptor %d: %s\n" msgstr "ERREUR lors de la validation du descripteur de fichier %d : %s\n" -#: e2fsck/unix.c:792 +#: e2fsck/unix.c:690 msgid "Invalid completion information file descriptor" msgstr "Descripteur de fichier d'information de complétion invalide" -#: e2fsck/unix.c:807 +#: e2fsck/unix.c:705 msgid "Only one of the options -p/-a, -n or -y may be specified." msgstr "Seule une des options -p/-a, -n ou -y peut être spécifiée." -#: e2fsck/unix.c:828 +#: e2fsck/unix.c:726 #, c-format msgid "The -t option is not supported on this version of e2fsck.\n" msgstr "L'option -t n'est pas supportée sur cette version d'e2fsck.\n" -#: e2fsck/unix.c:859 e2fsck/unix.c:931 misc/tune2fs.c:811 misc/tune2fs.c:1100 -#: misc/tune2fs.c:1118 -#, c-format -msgid "Unable to resolve '%s'" -msgstr "Impossible de résoudre « %s »" - -#: e2fsck/unix.c:910 +#: e2fsck/unix.c:801 msgid "The -n and -D options are incompatible." msgstr "Les options -n et -D sont incompatibles." -#: e2fsck/unix.c:915 +#: e2fsck/unix.c:806 msgid "The -n and -c options are incompatible." msgstr "Les options -n et -c sont incompatibles." -#: e2fsck/unix.c:920 +#: e2fsck/unix.c:811 msgid "The -n and -l/-L options are incompatible." msgstr "Les options -n et -l/-L sont incompatibles." -#: e2fsck/unix.c:974 +#: e2fsck/unix.c:822 misc/tune2fs.c:550 misc/tune2fs.c:835 misc/tune2fs.c:853 +#, c-format +msgid "Unable to resolve '%s'" +msgstr "Impossible de résoudre « %s »" + +#: e2fsck/unix.c:851 #, c-format msgid "The -c and the -l/-L options may not be both used at the same time.\n" msgstr "Les options -c et -l/-L ne peuvent pas être utilisées simultanément.\n" -#: e2fsck/unix.c:1022 +#: e2fsck/unix.c:899 #, c-format msgid "" "E2FSCK_JBD_DEBUG \"%s\" not an integer\n" @@ -2934,7 +2728,7 @@ msgstr "" "E2FSCK_JBD_DEBUG \"%s\" n'est pas un entier\n" "\n" -#: e2fsck/unix.c:1031 +#: e2fsck/unix.c:908 #, c-format msgid "" "\n" @@ -2945,65 +2739,44 @@ msgstr "" "Argument non numérique invalide pour -%c (\"%s\")\n" "\n" -#: e2fsck/unix.c:1120 -#, c-format -msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n" -msgstr "L'intervale de protection contre montage multiple (MMP) est de %u secondes et temps total d'attente est de %u seconds. Veuillez patienter...\n" - -#: e2fsck/unix.c:1137 e2fsck/unix.c:1142 -msgid "while checking MMP block" -msgstr "lors de la vérification du block MMP" - -#: e2fsck/unix.c:1144 misc/tune2fs.c:1912 -msgid "" -"If you are sure the filesystem is not in use on any node, run:\n" -"'tune2fs -f -E clear_mmp {device}'\n" -msgstr "" -"Si vous êtes sûr(e) que le système de fichiers n'est en cours d'utilisation sur aucun noeud, lancer:\n" -"'tune2fs -f -E clear_mmp {device}'\n" - -#: e2fsck/unix.c:1194 +#: e2fsck/unix.c:982 #, c-format msgid "Error: ext2fs library version out of date!\n" msgstr "Erreur : la version de la bibliothèque ext2fs est périmée !\n" -#: e2fsck/unix.c:1202 +#: e2fsck/unix.c:990 msgid "while trying to initialize program" msgstr "lors de la tentative d'initialisation du programme" -#: e2fsck/unix.c:1225 +#: e2fsck/unix.c:1001 #, c-format msgid "\tUsing %s, %s\n" msgstr "\tUtilisation de %s, %s\n" -#: e2fsck/unix.c:1237 +#: e2fsck/unix.c:1013 msgid "need terminal for interactive repairs" msgstr "a besoin d'un terminal pour des réparations en mode interactif" -#: e2fsck/unix.c:1290 +#: e2fsck/unix.c:1046 #, c-format msgid "%s: %s trying backup blocks...\n" -msgstr "%s : %s tentons d'utiliser les blocs de sauvetage...\n" +msgstr "%s: %s tentons d'utiliser les blocs de sauvetage...\n" -#: e2fsck/unix.c:1292 +#: e2fsck/unix.c:1048 msgid "Superblock invalid," msgstr "Superbloc invalide," -#: e2fsck/unix.c:1293 +#: e2fsck/unix.c:1049 msgid "Group descriptors look bad..." msgstr "Les descripteurs de groupe semblent en mauvais état..." -#: e2fsck/unix.c:1303 -#, c-format -msgid "%s: %s while using the backup blocks" -msgstr "%s : %s lors de l'utilisation des blocs de sauvetage" - -#: e2fsck/unix.c:1307 +#: e2fsck/unix.c:1059 #, c-format msgid "%s: going back to original superblock\n" msgstr "%s : retour au superblock originel\n" -#: e2fsck/unix.c:1335 +#: e2fsck/unix.c:1086 +#, c-format msgid "" "The filesystem revision is apparently too high for this version of e2fsck.\n" "(Or the filesystem superblock is corrupt)\n" @@ -3014,30 +2787,30 @@ msgstr "" "corrompu)\n" "\n" -#: e2fsck/unix.c:1341 +#: e2fsck/unix.c:1092 +#, c-format msgid "Could this be a zero-length partition?\n" msgstr "Peut-être cette partition est-elle de taille zéro ?\n" -#: e2fsck/unix.c:1344 +#: e2fsck/unix.c:1094 #, c-format msgid "You must have %s access to the filesystem or be root\n" msgstr "Vous devez avoir un accès %s au système de fichiers ou être root\n" -#: e2fsck/unix.c:1349 +#: e2fsck/unix.c:1099 +#, c-format msgid "Possibly non-existent or swap device?\n" msgstr "Périphérique peut-être inexistent ou pour le swap ?\n" -#: e2fsck/unix.c:1352 +#: e2fsck/unix.c:1101 +#, c-format msgid "Filesystem mounted or opened exclusively by another program?\n" msgstr "" "Système de fichier monté ou ouvert en mode exclusif par un autre\n" "programme ?\n" -#: e2fsck/unix.c:1355 -msgid "Possibly non-existent device?\n" -msgstr "Périphérique peut-être inexistant ?\n" - -#: e2fsck/unix.c:1358 +#: e2fsck/unix.c:1105 +#, c-format msgid "" "Disk write-protected; use the -n option to do a read-only\n" "check of the device.\n" @@ -3045,94 +2818,109 @@ msgstr "" "Disque protégé en écriture ; utilisez l'option -n pour effectuer une\n" "vérification du périphérique en lecture seule.\n" -#: e2fsck/unix.c:1423 +#: e2fsck/unix.c:1169 msgid "Get a newer version of e2fsck!" msgstr "Veuillez obtenir une version plus récente d'e2fsck !" -#: e2fsck/unix.c:1467 +#: e2fsck/unix.c:1199 #, c-format msgid "while checking ext3 journal for %s" msgstr "lors de la vérification du journal ext3 pour %s" -#: e2fsck/unix.c:1478 +#: e2fsck/unix.c:1210 +#, c-format msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n" msgstr "" "Avertissement : saute la récupération du journal puisque l'on\n" "procède à l'examen d'un système de fichiers en lecture seule.\n" -#: e2fsck/unix.c:1491 +#: e2fsck/unix.c:1223 #, c-format msgid "unable to set superblock flags on %s\n" msgstr "impossible d'initialiser les drapeaux du superbloc sur %s\n" -#: e2fsck/unix.c:1497 +#: e2fsck/unix.c:1229 #, c-format msgid "while recovering ext3 journal of %s" msgstr "lors de la récupération du journal ext3 de %s" -#: e2fsck/unix.c:1521 +#: e2fsck/unix.c:1254 #, c-format msgid "%s has unsupported feature(s):" -msgstr "%s a une(des) fonctionnalité(s) non supportée(s) :" +msgstr "%s a une(des) fonctionnalité(s) non supportée(s):" -#: e2fsck/unix.c:1536 -#, c-format -msgid "%s: warning: compression support is experimental.\n" -msgstr "%s : avertissement : le support de la compression est expérimental.\n" +#: e2fsck/unix.c:1270 +msgid "Warning: compression support is experimental.\n" +msgstr "Avertissement : le support de la compression est expérimental.\n" -#: e2fsck/unix.c:1542 +#: e2fsck/unix.c:1275 #, c-format msgid "" -"%s: e2fsck not compiled with HTREE support,\n" +"E2fsck not compiled with HTREE support,\n" "\tbut filesystem %s has HTREE directories.\n" msgstr "" -"%s : e2fsck n'est pas compilé avec le support pour HTREE,\n" +"E2fsck n'est pas compilé avec le support pour HTREE,\n" "\tmais le système de fichiers %s a des répertoires HTREE.\n" -#: e2fsck/unix.c:1594 -#, c-format -msgid "%s: %s while reading bad blocks inode\n" -msgstr "%s : %s lors de la lecture de l'i-noeud des blocs défectueux\n" +#: e2fsck/unix.c:1328 +msgid "while reading bad blocks inode" +msgstr "lors de la lecture de l'i-noeud des blocs défectueux" -#: e2fsck/unix.c:1597 +#: e2fsck/unix.c:1330 +#, c-format msgid "This doesn't bode well, but we'll try to go on...\n" msgstr "Cela ne semble pas être bien, mais on va quand même essayer...\n" -#: e2fsck/unix.c:1638 +#: e2fsck/unix.c:1356 +msgid "Couldn't determine journal size" +msgstr "N'a pu déterminer la taille du journal" + +#: e2fsck/unix.c:1359 #, c-format msgid "Creating journal (%d blocks): " msgstr "Création du journal (%d blocs) : " -#: e2fsck/unix.c:1648 +#: e2fsck/unix.c:1366 misc/mke2fs.c:2248 +msgid "" +"\n" +"\twhile trying to create journal" +msgstr "" +"\n" +"\tlors de la tentative de création du journal" + +#: e2fsck/unix.c:1369 +#, c-format msgid " Done.\n" msgstr "Complété.\n" -#: e2fsck/unix.c:1649 +#: e2fsck/unix.c:1370 +#, c-format msgid "" "\n" "*** journal has been re-created - filesystem is now ext3 again ***\n" msgstr "" "\n" -"*** le journal a été re-créé - le système de fichiers est de nouveau ext3 ***\n" +"*** le journal a été re-créé - le système de fichier est de nouveau ext3 ***\n" -#: e2fsck/unix.c:1672 +#: e2fsck/unix.c:1377 +#, c-format msgid "Restarting e2fsck from the beginning...\n" msgstr "Re-démarrons e2fsck depuis le début...\n" -#: e2fsck/unix.c:1676 +#: e2fsck/unix.c:1381 msgid "while resetting context" msgstr "lors de la réinitialisation du contexte" -#: e2fsck/unix.c:1683 +#: e2fsck/unix.c:1388 #, c-format msgid "%s: e2fsck canceled.\n" msgstr "%s : e2fsck a été annulé.\n" -#: e2fsck/unix.c:1688 +#: e2fsck/unix.c:1393 msgid "aborted" msgstr "arrêté" -#: e2fsck/unix.c:1700 e2fsck/util.c:67 +#: e2fsck/unix.c:1405 #, c-format msgid "" "\n" @@ -3141,12 +2929,12 @@ msgstr "" "\n" "%s: ***** LE SYSTÈME DE FICHIERS A ÉTÉ MODIFIÉ *****\n" -#: e2fsck/unix.c:1704 +#: e2fsck/unix.c:1408 #, c-format msgid "%s: ***** REBOOT LINUX *****\n" -msgstr "%s : ***** RÉ-AMORCER LINUX *****\n" +msgstr "%s: ***** RÉ-AMORCER LINUX *****\n" -#: e2fsck/unix.c:1712 e2fsck/util.c:73 +#: e2fsck/unix.c:1416 #, c-format msgid "" "\n" @@ -3154,46 +2942,46 @@ msgid "" "\n" msgstr "" "\n" -"%s : **ATTENTION : le système de fichiers contient encore des erreurs**\n" +"%s : **AVERTISSEMENT : le système de fichiers contient encore des erreurs**\n" "\n" -#: e2fsck/unix.c:1752 +#: e2fsck/unix.c:1454 msgid "while setting block group checksum info" msgstr "lors de l'initialisation de l'information de checksum du groupe de blocs" -#: e2fsck/util.c:190 misc/util.c:70 +#: e2fsck/util.c:138 misc/util.c:68 msgid "yY" msgstr "oO" -#: e2fsck/util.c:191 +#: e2fsck/util.c:139 msgid "nN" msgstr "nN" -#: e2fsck/util.c:205 +#: e2fsck/util.c:153 msgid "" msgstr "" -#: e2fsck/util.c:207 +#: e2fsck/util.c:155 msgid "" msgstr "" -#: e2fsck/util.c:209 +#: e2fsck/util.c:157 msgid " (y/n)" msgstr " (o/n)" -#: e2fsck/util.c:223 +#: e2fsck/util.c:172 msgid "cancelled!\n" msgstr "annulé !\n" -#: e2fsck/util.c:238 +#: e2fsck/util.c:187 msgid "yes\n" msgstr "oui\n" -#: e2fsck/util.c:240 +#: e2fsck/util.c:189 msgid "no\n" msgstr "non\n" -#: e2fsck/util.c:250 +#: e2fsck/util.c:199 #, c-format msgid "" "%s? no\n" @@ -3202,7 +2990,7 @@ msgstr "" "%s ? non\n" "\n" -#: e2fsck/util.c:254 +#: e2fsck/util.c:203 #, c-format msgid "" "%s? yes\n" @@ -3211,38 +2999,38 @@ msgstr "" "%s ? oui\n" "\n" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "yes" msgstr "oui" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "no" msgstr "non" -#: e2fsck/util.c:273 +#: e2fsck/util.c:221 #, c-format msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s" msgstr "e2fsck_read_bitmaps : bloc(s) de bitmap illégal(aux) pour %s" -#: e2fsck/util.c:278 +#: e2fsck/util.c:226 msgid "reading inode and block bitmaps" msgstr "la lecture des bitmaps d'i-noeuds et de blocs" -#: e2fsck/util.c:286 +#: e2fsck/util.c:231 #, c-format msgid "while retrying to read bitmaps for %s" msgstr "lors de la tentative de re-lecture des bitmaps pour %s" -#: e2fsck/util.c:298 +#: e2fsck/util.c:243 msgid "writing block and inode bitmaps" msgstr "l'écriture des bitmaps de blocs et d'i-noeuds" -#: e2fsck/util.c:303 +#: e2fsck/util.c:248 #, c-format msgid "while rewriting block and inode bitmaps for %s" msgstr "lors d'une nouvelle tentative d'écriture de bitmaps de blocs et d'i-noeuds pour %s" -#: e2fsck/util.c:315 +#: e2fsck/util.c:260 #, c-format msgid "" "\n" @@ -3255,49 +3043,45 @@ msgstr "" "%s: INCONSISTENCE INATTENDUE ; EXÉCUTEZ fsck MANUELLEMENT.\n" "\t(i.e., sans options -a ou -p)\n" -#: e2fsck/util.c:396 +#: e2fsck/util.c:341 #, c-format msgid "Memory used: %luk/%luk (%luk/%luk), " msgstr "Mémoire utilisée : %luk/%luk (%luk/%luk), " -#: e2fsck/util.c:400 +#: e2fsck/util.c:345 #, c-format msgid "Memory used: %lu, " msgstr "Mémoire utilisée : %lu, " -#: e2fsck/util.c:407 +#: e2fsck/util.c:352 #, c-format msgid "time: %5.2f/%5.2f/%5.2f\n" msgstr "temps : %5.2f/%5.2f/%5.2f\n" -#: e2fsck/util.c:412 +#: e2fsck/util.c:357 #, c-format msgid "elapsed time: %6.3f\n" msgstr "temps écoulé : %6.3f\n" -#: e2fsck/util.c:447 e2fsck/util.c:461 +#: e2fsck/util.c:391 e2fsck/util.c:405 #, c-format msgid "while reading inode %lu in %s" msgstr "lors de la lecture de l'i-noeud %lu dans %s" -#: e2fsck/util.c:475 e2fsck/util.c:488 +#: e2fsck/util.c:419 e2fsck/util.c:432 #, c-format msgid "while writing inode %lu in %s" msgstr "lors de l'écriture de l'i-noeud %lu dans %s" -#: e2fsck/util.c:637 +#: e2fsck/util.c:581 msgid "while allocating zeroizing buffer" msgstr "lors de l'allocation d'un tampon de mise à zéro" -#: e2fsck/util.c:785 -msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n" -msgstr "INCOHÉRENCE INATTENDUE : le système de fichiers a été modifié pendant le déroulement de fsck.\n" +#: misc/badblocks.c:66 +msgid "done \n" +msgstr "complété \n" -#: misc/badblocks.c:69 -msgid "done \n" -msgstr "complété \n" - -#: misc/badblocks.c:92 +#: misc/badblocks.c:89 #, c-format msgid "" "Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnf]\n" @@ -3305,13 +3089,13 @@ msgid "" " [-p num_passes] [-t test_pattern [-t test_pattern [...]]]\n" " device [last_block [first_block]]\n" msgstr "" -"Utilisation : %s [-b taille_de_bloc] [-i fichier_d_entrée] [-o fichier_de_sortie]\n" +"Usage : %s [-b taille_de_bloc] [-i fichier_d_entrée] [-o fichier_de_sortie]\n" " [-svwnf] [-c blocs_à_la_fois] [-d facteur_délai_entre_lectures]\n" " [-e max_blocks_défectueux] [-p nombre_de_passes]\n" " [-t motif_de_test [-t motif_de_test [...]]]\n" " périphérique [dernier_bloc [premier_bloc]]\n" -#: misc/badblocks.c:103 +#: misc/badblocks.c:100 #, c-format msgid "" "%s: The -n and -w options are mutually exclusive.\n" @@ -3320,82 +3104,82 @@ msgstr "" "%s: Les options -n et -w sont mutuellement exclusive.\n" "\n" -#: misc/badblocks.c:218 +#: misc/badblocks.c:202 #, c-format -msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)" -msgstr "%6.2f%% effectué, %s écoulé. (%d/%d/%d erreurs)" +msgid "%6.2f%% done, %s elapsed" +msgstr "%6.2f%% effectué, %s écoulé" -#: misc/badblocks.c:322 +#: misc/badblocks.c:293 msgid "Testing with random pattern: " msgstr "Test en cours avec un motif aléatoire : " -#: misc/badblocks.c:340 +#: misc/badblocks.c:311 msgid "Testing with pattern 0x" msgstr "Test en cours avec le motif 0x" -#: misc/badblocks.c:372 misc/badblocks.c:445 +#: misc/badblocks.c:339 misc/badblocks.c:408 msgid "during seek" msgstr "lors de la recherche" -#: misc/badblocks.c:383 +#: misc/badblocks.c:350 #, c-format msgid "Weird value (%ld) in do_read\n" msgstr "Valeur bizarre (%ld) dans do_read\n" -#: misc/badblocks.c:469 +#: misc/badblocks.c:428 msgid "during ext2fs_sync_device" msgstr "lors de l'exécution d'ext2fs_sync_device" -#: misc/badblocks.c:489 misc/badblocks.c:749 +#: misc/badblocks.c:447 misc/badblocks.c:711 msgid "while beginning bad block list iteration" msgstr "lors du début de l'itération de la liste des blocs défectueux" -#: misc/badblocks.c:503 misc/badblocks.c:602 misc/badblocks.c:759 +#: misc/badblocks.c:461 misc/badblocks.c:563 misc/badblocks.c:721 msgid "while allocating buffers" msgstr "lors de l'allocation des tampons" -#: misc/badblocks.c:507 +#: misc/badblocks.c:465 #, c-format msgid "Checking blocks %lu to %lu\n" msgstr "Vérification des blocs %lu à %lu\n" -#: misc/badblocks.c:512 +#: misc/badblocks.c:470 msgid "Checking for bad blocks in read-only mode\n" msgstr "Vérification des blocs défectueux en mode lecture seule\n" -#: misc/badblocks.c:521 +#: misc/badblocks.c:479 msgid "Checking for bad blocks (read-only test): " msgstr "Vérification des blocs défectueux (test en mode lecture seule) : " -#: misc/badblocks.c:528 misc/badblocks.c:634 misc/badblocks.c:676 -#: misc/badblocks.c:822 +#: misc/badblocks.c:487 misc/badblocks.c:595 misc/badblocks.c:640 +#: misc/badblocks.c:784 msgid "Too many bad blocks, aborting test\n" msgstr "Trop de blocs défectueux, test abandonné\n" -#: misc/badblocks.c:609 +#: misc/badblocks.c:570 msgid "Checking for bad blocks in read-write mode\n" msgstr "Vérification des blocs défectueux en mode lecture-écriture\n" -#: misc/badblocks.c:611 misc/badblocks.c:772 +#: misc/badblocks.c:572 misc/badblocks.c:734 #, c-format msgid "From block %lu to %lu\n" msgstr "Du bloc %lu au bloc %lu\n" -#: misc/badblocks.c:666 +#: misc/badblocks.c:630 msgid "Reading and comparing: " msgstr "Lecture et comparaison : " -#: misc/badblocks.c:771 +#: misc/badblocks.c:733 msgid "Checking for bad blocks in non-destructive read-write mode\n" msgstr "" "Vérification des blocs défectueux dans un mode non destructif de lecture-\n" "écriture\n" -#: misc/badblocks.c:777 +#: misc/badblocks.c:739 msgid "Checking for bad blocks (non-destructive read-write test)\n" msgstr "Vérification des blocs défectueux (test non destructif de lecture-écriture)\n" -#: misc/badblocks.c:784 +#: misc/badblocks.c:746 msgid "" "\n" "Interrupt caught, cleaning up\n" @@ -3403,54 +3187,54 @@ msgstr "" "\n" "Interruption, nettoyage en cours\n" -#: misc/badblocks.c:867 +#: misc/badblocks.c:822 #, c-format msgid "during test data write, block %lu" msgstr "lors du test d'écriture de données, bloc %lu" -#: misc/badblocks.c:988 misc/util.c:152 +#: misc/badblocks.c:933 misc/util.c:156 #, c-format msgid "%s is mounted; " msgstr "%s est monté ; " -#: misc/badblocks.c:990 +#: misc/badblocks.c:935 msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "" "l'exécution de badblocks est tout de même forcée.\n" "Espérons que /etc/mtab est incorrect.\n" -#: misc/badblocks.c:995 +#: misc/badblocks.c:940 msgid "it's not safe to run badblocks!\n" msgstr "il n'est pas prudent d'exécuter badblocks !\n" -#: misc/badblocks.c:1000 misc/util.c:163 +#: misc/badblocks.c:945 misc/util.c:167 #, c-format msgid "%s is apparently in use by the system; " msgstr "%s est apparemment utilisé par le système ; " -#: misc/badblocks.c:1003 +#: misc/badblocks.c:948 msgid "badblocks forced anyway.\n" msgstr "blocs erronés forcés de toutes manières.\n" -#: misc/badblocks.c:1023 +#: misc/badblocks.c:968 #, c-format msgid "invalid %s - %s" msgstr "%s invalide - %s" -#: misc/badblocks.c:1133 +#: misc/badblocks.c:1077 #, c-format msgid "can't allocate memory for test_pattern - %s" msgstr "ne peut allouer de la mémoire pour motif_de_test - %s" -#: misc/badblocks.c:1163 +#: misc/badblocks.c:1104 msgid "Maximum of one test_pattern may be specified in read-only mode" msgstr "Au plus un seul motif_de_test peut être spécifé en mode lecture seule" -#: misc/badblocks.c:1169 +#: misc/badblocks.c:1110 msgid "Random test_pattern is not allowed in read-only mode" msgstr "Un motif_de_test aléatoire n'est pas permis en mode lecture seule" -#: misc/badblocks.c:1183 +#: misc/badblocks.c:1124 msgid "" "Couldn't determine device size; you must specify\n" "the size manually\n" @@ -3458,141 +3242,128 @@ msgstr "" "Ne peut déterminer la taille du périphérique ; vous devez spécifier\n" "la taille manuellement\n" -#: misc/badblocks.c:1189 +#: misc/badblocks.c:1130 msgid "while trying to determine device size" msgstr "lors de la tentative de détermination de la taille du périphérique" -#: misc/badblocks.c:1194 +#: misc/badblocks.c:1135 msgid "last block" msgstr "dernier bloc" -#: misc/badblocks.c:1200 +#: misc/badblocks.c:1141 msgid "first block" msgstr "premier bloc" -#: misc/badblocks.c:1203 +#: misc/badblocks.c:1144 #, c-format msgid "invalid starting block (%lu): must be less than %lu" -msgstr "bloc de départ invalide (%lu) : doit être moins de %lu" +msgstr "bloc de départ invalide (%lu): doit être moins de %lu" -#: misc/badblocks.c:1259 +#: misc/badblocks.c:1200 msgid "while creating in-memory bad blocks list" msgstr "lors de la création en mémoire d'une liste des blocs défectueux" -#: misc/badblocks.c:1274 +#: misc/badblocks.c:1215 msgid "while adding to in-memory bad block list" msgstr "lors de l'ajout en mémoire à la liste des blocs défectueux" -#: misc/badblocks.c:1298 +#: misc/badblocks.c:1239 #, c-format -msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n" -msgstr "Passe complétée, %u blocs défectueux repérés. (%d/%d/%d erreurs)\n" +msgid "Pass completed, %u bad blocks found.\n" +msgstr "Passe complétée, %u blocs défectueux repérés.\n" -#: misc/chattr.c:86 +#: misc/chattr.c:85 #, c-format -msgid "Usage: %s [-RVf] [-+=AaCcDdeijsSu] [-v version] files...\n" -msgstr "Utilisation : %s [-RVf] [-+=AaCcDdeijsSu] [-v version] fichiers...\n" +msgid "Usage: %s [-RVf] [-+=AacDdeijsSu] [-v version] files...\n" +msgstr "Usage : %s [-RVf] [-+=AacDdeijsSu] [-v version] fichiers...\n" -#: misc/chattr.c:155 +#: misc/chattr.c:153 #, c-format msgid "bad version - %s\n" msgstr "version erronée - %s\n" -#: misc/chattr.c:201 misc/lsattr.c:116 +#: misc/chattr.c:200 misc/lsattr.c:115 #, c-format msgid "while trying to stat %s" msgstr "lors de l'évaluation par stat() de %s" -#: misc/chattr.c:208 +#: misc/chattr.c:207 #, c-format msgid "while reading flags on %s" msgstr "lors de la lecture des drapeaux sur %s" -#: misc/chattr.c:213 misc/chattr.c:225 +#: misc/chattr.c:216 misc/chattr.c:235 +#, c-format +msgid "Clearing extent flag not supported on %s" +msgstr "La suppression du drapeau extent n'est pas supportée sur %s" + +#: misc/chattr.c:221 misc/chattr.c:240 #, c-format msgid "Flags of %s set as " msgstr "Drapeaux de %s initialisés comme " -#: misc/chattr.c:234 +#: misc/chattr.c:249 #, c-format msgid "while setting flags on %s" msgstr "lors de l'initialisation des drapeaux sur %s" -#: misc/chattr.c:242 +#: misc/chattr.c:257 #, c-format msgid "Version of %s set as %lu\n" msgstr "Version de %s initialisée à %lu\n" -#: misc/chattr.c:246 +#: misc/chattr.c:261 #, c-format msgid "while setting version on %s" msgstr "lors de l'initialisation de la version sur %s" -#: misc/chattr.c:266 +#: misc/chattr.c:281 #, c-format msgid "Couldn't allocate path variable in chattr_dir_proc" msgstr "Ne peut allouer une variable de chemin dans chattr_dir_proc" -#: misc/chattr.c:306 +#: misc/chattr.c:320 msgid "= is incompatible with - and +\n" msgstr "= est incompatible avec - et +\n" -#: misc/chattr.c:314 +#: misc/chattr.c:328 msgid "Must use '-v', =, - or +\n" msgstr "Vous devez utiliser « -v », = - ou +\n" -#: misc/dumpe2fs.c:55 +#: misc/dumpe2fs.c:53 #, c-format msgid "Usage: %s [-bfhixV] [-o superblock=] [-o blocksize=] device\n" -msgstr "Utilisation : %s [-bfhixV] [-o superblock=] [-o blocksize=] périphérique\n" - -#: misc/dumpe2fs.c:159 -msgid "blocks" -msgstr "blocs" +msgstr "Usage : %s [-bfhixV] [-o superblock=] [-o blocksize=] périphérique\n" #: misc/dumpe2fs.c:168 -msgid "clusters" -msgstr "clusters" - -#: misc/dumpe2fs.c:196 #, c-format msgid "Group %lu: (Blocks " msgstr "Groupe %lu : (Blocs " -#: misc/dumpe2fs.c:204 -#, c-format -msgid " Checksum 0x%04x" -msgstr " Checksum 0x%04x" - -#: misc/dumpe2fs.c:206 -#, c-format -msgid " (EXPECTED 0x%04x)" -msgstr " (ATTENDU 0x%04x)" - -#: misc/dumpe2fs.c:207 +#: misc/dumpe2fs.c:173 #, c-format -msgid ", unused inodes %u\n" -msgstr ", i-noeuds non utilisés %u\n" +msgid " Checksum 0x%04x, unused inodes %d\n" +msgstr " Checksum 0x%04x, %d i-noeuds non utilisés\n" -#: misc/dumpe2fs.c:212 +#: misc/dumpe2fs.c:178 #, c-format msgid " %s superblock at " msgstr " superbloc %s à " -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Primary" msgstr "Primaire" -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Backup" msgstr "Secours" -#: misc/dumpe2fs.c:217 +#: misc/dumpe2fs.c:183 #, c-format msgid ", Group descriptors at " msgstr ", Descripteurs de groupes à " -#: misc/dumpe2fs.c:221 +#: misc/dumpe2fs.c:187 #, c-format msgid "" "\n" @@ -3601,20 +3372,20 @@ msgstr "" "\n" " Blocs réservés GDT à " -#: misc/dumpe2fs.c:228 +#: misc/dumpe2fs.c:194 #, c-format msgid " Group descriptor at " msgstr " Descripteur de groupe à " -#: misc/dumpe2fs.c:234 +#: misc/dumpe2fs.c:200 msgid " Block bitmap at " msgstr " Bitmap de blocs à " -#: misc/dumpe2fs.c:238 +#: misc/dumpe2fs.c:205 msgid ", Inode bitmap at " msgstr ", Bitmap d'i-noeuds à " -#: misc/dumpe2fs.c:242 +#: misc/dumpe2fs.c:210 msgid "" "\n" " Inode table at " @@ -3622,59 +3393,59 @@ msgstr "" "\n" " Table d'i-noeuds à " -#: misc/dumpe2fs.c:248 +#: misc/dumpe2fs.c:217 #, c-format msgid "" "\n" -" %u free %s, %u free inodes, %u directories%s" +" %u free blocks, %u free inodes, %u directories%s" msgstr "" "\n" -" %u %s libres, %u i-noeuds libres, %u répertoires%s" +" %u blocs libres, %u i-noeuds libres, %u répertoires%s" -#: misc/dumpe2fs.c:255 +#: misc/dumpe2fs.c:224 #, c-format msgid ", %u unused inodes\n" msgstr ", %u i-noeuds non utilisés\n" -#: misc/dumpe2fs.c:258 +#: misc/dumpe2fs.c:227 msgid " Free blocks: " msgstr " Blocs libres : " -#: misc/dumpe2fs.c:269 +#: misc/dumpe2fs.c:237 msgid " Free inodes: " msgstr " I-noeuds libres : " -#: misc/dumpe2fs.c:300 +#: misc/dumpe2fs.c:268 msgid "while printing bad block list" msgstr "lors de l'affichage de la liste des blocs défectueux" -#: misc/dumpe2fs.c:306 +#: misc/dumpe2fs.c:274 #, c-format msgid "Bad blocks: %u" msgstr "Blocs défectueux : %u" -#: misc/dumpe2fs.c:333 misc/tune2fs.c:306 +#: misc/dumpe2fs.c:301 misc/tune2fs.c:281 msgid "while reading journal inode" msgstr "lors de la lecture de l'i-noeud du journal" -#: misc/dumpe2fs.c:339 +#: misc/dumpe2fs.c:307 msgid "while opening journal inode" msgstr "lors de l'ouverture de l'i-noeud du journal" -#: misc/dumpe2fs.c:345 +#: misc/dumpe2fs.c:313 msgid "while reading journal super block" msgstr "lors de la lecture du journal du superbloc" -#: misc/dumpe2fs.c:355 +#: misc/dumpe2fs.c:323 #, c-format msgid "Journal features: " -msgstr "Fonctionalités du journal : " +msgstr "Fonctionalités du journal: " -#: misc/dumpe2fs.c:368 +#: misc/dumpe2fs.c:336 msgid "Journal size: " -msgstr "Taille du journal : " +msgstr "Taille du journal: " -#: misc/dumpe2fs.c:379 +#: misc/dumpe2fs.c:347 #, c-format msgid "" "Journal length: %u\n" @@ -3685,20 +3456,15 @@ msgstr "" "Séquence du journal : 0x%08x\n" "Début du journal : %u\n" -#: misc/dumpe2fs.c:386 -#, c-format -msgid "Journal errno: %d\n" -msgstr "Numéro erreur du journal: %d\n" - -#: misc/dumpe2fs.c:401 misc/tune2fs.c:222 +#: misc/dumpe2fs.c:366 misc/tune2fs.c:202 msgid "while reading journal superblock" msgstr "lors de la lecture du journal du superbloc" -#: misc/dumpe2fs.c:409 +#: misc/dumpe2fs.c:374 msgid "Couldn't find journal superblock magic numbers" -msgstr "Ne peut trouver les numéros magiques du superbloc du journal" +msgstr "Ne peut trouver les numéros magique du superbloc du journal" -#: misc/dumpe2fs.c:413 +#: misc/dumpe2fs.c:378 #, c-format msgid "" "\n" @@ -3717,27 +3483,27 @@ msgstr "" "Début du journal : %u\n" "Nombre d'utilisateurs du journal : %u\n" -#: misc/dumpe2fs.c:426 +#: misc/dumpe2fs.c:391 #, c-format msgid "Journal users: %s\n" msgstr "Usagers du journal : %s\n" -#: misc/dumpe2fs.c:442 misc/mke2fs.c:666 misc/tune2fs.c:1137 +#: misc/dumpe2fs.c:407 misc/mke2fs.c:699 misc/tune2fs.c:872 #, c-format msgid "Couldn't allocate memory to parse options!\n" msgstr "Impossible d'allouer de la mémoire pour analyser les options !\n" -#: misc/dumpe2fs.c:468 +#: misc/dumpe2fs.c:433 #, c-format msgid "Invalid superblock parameter: %s\n" msgstr "Paramètre de superbloc invalide : %s\n" -#: misc/dumpe2fs.c:483 +#: misc/dumpe2fs.c:448 #, c-format msgid "Invalid blocksize parameter: %s\n" msgstr "Paramètre de taille de bloc invalide : %s\n" -#: misc/dumpe2fs.c:494 +#: misc/dumpe2fs.c:459 #, c-format msgid "" "\n" @@ -3761,18 +3527,18 @@ msgstr "" "\tblocksize=\n" "\n" -#: misc/dumpe2fs.c:554 misc/mke2fs.c:1555 +#: misc/dumpe2fs.c:518 misc/mke2fs.c:1406 #, c-format msgid "\tUsing %s\n" msgstr "\tUtilisation de %s\n" -#: misc/dumpe2fs.c:590 misc/e2image.c:1326 misc/tune2fs.c:1923 -#: resize/main.c:317 +#: misc/dumpe2fs.c:554 misc/e2image.c:681 misc/tune2fs.c:1576 +#: resize/main.c:312 #, c-format msgid "Couldn't find valid filesystem superblock.\n" msgstr "Impossible de trouver un superbloc de système de fichiers valide.\n" -#: misc/dumpe2fs.c:618 +#: misc/dumpe2fs.c:579 #, c-format msgid "" "\n" @@ -3781,91 +3547,86 @@ msgstr "" "\n" "%s : %s : erreur lors de la lecture des bitmaps : %s\n" -#: misc/e2image.c:90 -#, c-format -msgid "Usage: %s [-rsIQa] device image_file\n" -msgstr "Utilisation : %s [-rsIQa] périphérique fichier_image\n" - -#: misc/e2image.c:138 +#: misc/e2image.c:52 #, c-format -msgid "Error: header size is bigger than wrt_size\n" -msgstr "Erreur : la taille d'en-tête est plus grande que wrt_size\n" +msgid "Usage: %s [-rsI] device image_file\n" +msgstr "Usage : %s [-rsI] périphérique fichier_image\n" -#: misc/e2image.c:144 +#: misc/e2image.c:64 msgid "Couldn't allocate header buffer\n" msgstr "Ne peut allouer un tampon d'en-tête\n" -#: misc/e2image.c:174 +#: misc/e2image.c:83 +#, c-format +msgid "short write (only %d bytes) for writing image header" +msgstr "écriture écourtée (seulement %d octets) pour l'écriture de l'en-tête image" + +#: misc/e2image.c:102 msgid "while writing superblock" msgstr "lors de l'écriture du superbloc" -#: misc/e2image.c:182 +#: misc/e2image.c:110 msgid "while writing inode table" msgstr "lors de l'écriture de la table d'i-noeuds" -#: misc/e2image.c:189 +#: misc/e2image.c:117 msgid "while writing block bitmap" msgstr "lors de l'écriture du bitmap de blocs" -#: misc/e2image.c:196 +#: misc/e2image.c:124 msgid "while writing inode bitmap" msgstr "lors de l'écriture du bitmap d'i-noeuds" -#: misc/e2image.c:1365 -#, c-format -msgid "while trying to convert qcow2 image (%s) into raw image (%s)" -msgstr "lors de l'essai de conversion de l'image qcow2 (%s) en image brute (%s)" - -#: misc/e2label.c:58 +#: misc/e2label.c:57 #, c-format msgid "e2label: cannot open %s\n" -msgstr "e2label : impossible d'ouvrir %s\n" +msgstr "e2lable : impossible d'ouvrir %s\n" -#: misc/e2label.c:63 +#: misc/e2label.c:62 #, c-format msgid "e2label: cannot seek to superblock\n" msgstr "e2label : ne peut atteindre le superbloc\n" -#: misc/e2label.c:68 +#: misc/e2label.c:67 #, c-format msgid "e2label: error reading superblock\n" msgstr "e2label : erreur de lecture du superbloc\n" -#: misc/e2label.c:72 +#: misc/e2label.c:71 #, c-format msgid "e2label: not an ext2 filesystem\n" msgstr "e2label : n'est pas un système de fichiers ext2\n" -#: misc/e2label.c:97 misc/tune2fs.c:2080 +#: misc/e2label.c:96 misc/tune2fs.c:1711 #, c-format msgid "Warning: label too long, truncating.\n" msgstr "Avertissement : étiquette trop longue, sera tronquée.\n" -#: misc/e2label.c:100 +#: misc/e2label.c:99 #, c-format msgid "e2label: cannot seek to superblock again\n" msgstr "e2label : ne peut atteindre le superbloc à nouveau\n" -#: misc/e2label.c:105 +#: misc/e2label.c:104 #, c-format msgid "e2label: error writing superblock\n" msgstr "e2label : erreur lors de l'écriture du superbloc\n" -#: misc/e2label.c:117 misc/tune2fs.c:803 +#: misc/e2label.c:116 misc/tune2fs.c:542 #, c-format msgid "Usage: e2label device [newlabel]\n" -msgstr "Utilisation : e2label périphérique [nouvelle_étiquette]\n" +msgstr "Usage : e2label périphérique [nouvelle_étiquette]\n" -#: misc/e2undo.c:36 +#: misc/e2undo.c:35 #, c-format msgid "Usage: %s \n" -msgstr "Utilisation : %s \n" +msgstr "Usage : %s \n" #: misc/e2undo.c:52 msgid "Failed to read the file system data \n" -msgstr "Échec de lecture des données du système de fichiers \n" +msgstr "Échec de lecture des données du système de fichier \n" -#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:206 +#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:205 #, c-format msgid "Failed tdb_fetch %s\n" msgstr "Échec tdb_fetch %s\n" @@ -3873,37 +3634,37 @@ msgstr " #: misc/e2undo.c:70 #, c-format msgid "The file system Mount time didn't match %u\n" -msgstr "La date de montage du système de fichiers ne correspond pas à %u\n" +msgstr "La date de montage du système de fichier ne correspond pas à %u\n" #: misc/e2undo.c:89 msgid "The file system UUID didn't match \n" msgstr "L'UUID du système de fichiers ne correspond pas \n" -#: misc/e2undo.c:163 +#: misc/e2undo.c:162 #, c-format msgid "Failed tdb_open %s\n" msgstr "Échec tdb_open %s\n" -#: misc/e2undo.c:169 +#: misc/e2undo.c:168 #, c-format msgid "Error while determining whether %s is mounted.\n" msgstr "Erreur lors la détermination à savoir si %s est monté.\n" -#: misc/e2undo.c:175 +#: misc/e2undo.c:174 msgid "e2undo should only be run on unmounted file system\n" msgstr "e2undo ne devrait être lancé que sur un système de fichiers non monté\n" -#: misc/e2undo.c:184 +#: misc/e2undo.c:183 #, c-format msgid "Failed to open %s\n" msgstr "Échec lors de l'ouverture de %s\n" -#: misc/e2undo.c:210 +#: misc/e2undo.c:209 #, c-format -msgid "Replayed transaction of size %zd at location %llu\n" -msgstr "Rejeu de la transaction de taille %zd à la position %llu\n" +msgid "Replayed transaction of size %zd at location %ld\n" +msgstr "Rejeu de la transaction de taille %zd à la position %ld\n" -#: misc/e2undo.c:216 +#: misc/e2undo.c:215 #, c-format msgid "Failed write %s\n" msgstr "Échec écriture %s\n" @@ -3911,57 +3672,57 @@ msgstr " #: misc/fsck.c:343 #, c-format msgid "WARNING: couldn't open %s: %s\n" -msgstr "ATTENTION : impossible d'ouvrir %s : %s\n" +msgstr "AVERTISSEMENT : impossible d'ouvrir %s : %s\n" #: misc/fsck.c:353 #, c-format msgid "WARNING: bad format on line %d of %s\n" -msgstr "ATTENTION : format erroné sur la ligne %d de %s\n" +msgstr "AVERTISSEMENT : format erroné sur la ligne %d de %s\n" -#: misc/fsck.c:370 +#: misc/fsck.c:368 msgid "" -"WARNING: Your /etc/fstab does not contain the fsck passno\n" +"\a\a\aWARNING: Your /etc/fstab does not contain the fsck passno\n" "\tfield. I will kludge around things for you, but you\n" "\tshould fix your /etc/fstab file as soon as you can.\n" "\n" msgstr "" -"ATTENTION : votre fichier /etc/fstab ne contient pas de champ\n" +"\a\a\aAVERTISSEMENT : votre fichier /etc/fstab ne contient pas de champ\n" "\tde numéro de passe fsck. Je vais arranger cette situation pour vous\n" "\tmais vous devriez corriger votre fichier /etc/fstab aussi tôt que\n" "\tpossible.\n" "\n" -#: misc/fsck.c:478 +#: misc/fsck.c:477 #, c-format msgid "fsck: %s: not found\n" msgstr "fsck : %s : non trouvé\n" -#: misc/fsck.c:594 +#: misc/fsck.c:593 #, c-format msgid "%s: wait: No more child process?!?\n" msgstr "%s : wait : plus de processus fils ?!?\n" -#: misc/fsck.c:616 +#: misc/fsck.c:615 #, c-format msgid "Warning... %s for device %s exited with signal %d.\n" msgstr "Avertissement... %s pour le périphérique %s s'est terminé avec le signal %d.\n" -#: misc/fsck.c:622 +#: misc/fsck.c:621 #, c-format msgid "%s %s: status is %x, should never happen.\n" msgstr "%s %s : l'état est %x, ne devrait jamais se produire.\n" -#: misc/fsck.c:661 +#: misc/fsck.c:660 #, c-format msgid "Finished with %s (exit status %d)\n" msgstr "Terminé avec %s (état de fin d'exécution %d)\n" -#: misc/fsck.c:721 +#: misc/fsck.c:720 #, c-format msgid "%s: Error %d while executing fsck.%s for %s\n" msgstr "%s : Erreur %d lors de l'exécution de fsck.%s pour %s\n" -#: misc/fsck.c:742 +#: misc/fsck.c:741 msgid "" "Either all or none of the filesystem types passed to -t must be prefixed\n" "with 'no' or '!'.\n" @@ -3969,108 +3730,108 @@ msgstr "" "Soit tous ou aucun des types de systèmes de fichiers passés à -t doivent\n" "être préfixés par « no » ou « ! ».\n" -#: misc/fsck.c:761 +#: misc/fsck.c:760 msgid "Couldn't allocate memory for filesystem types\n" msgstr "Impossible d'allouer de la mémoire pour les types de systèmes de fichiers\n" -#: misc/fsck.c:884 +#: misc/fsck.c:883 #, c-format msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n" -msgstr "%s : saut de la mauvaise ligne de /etc/fstab : montage « bind » avec un numéro de passe fsck non nul\n" +msgstr "%s: saut de la mauvaise ligne de /etc/fstab: montage « bind » avec un numéro de passe fsck non nul\n" -#: misc/fsck.c:911 +#: misc/fsck.c:910 #, c-format msgid "fsck: cannot check %s: fsck.%s not found\n" msgstr "fsck : ne peut pas vérifier %s : fsck.%s non trouvé\n" -#: misc/fsck.c:967 +#: misc/fsck.c:966 msgid "Checking all file systems.\n" msgstr "Vérification de tous les systèmes de fichiers.\n" -#: misc/fsck.c:1058 +#: misc/fsck.c:1057 #, c-format msgid "--waiting-- (pass %d)\n" msgstr "--en attente-- (passe %d)\n" -#: misc/fsck.c:1078 +#: misc/fsck.c:1077 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" -msgstr "Utilisation : fsck [-AMNPRTV] [ -C [ fd ] ] [-t type_sys_fichiers] [options_sys_fichiers] [sys_fichiers...]\n" +msgstr "Usage : fsck [-AMNPRTV] [ -C [ fd ] ] [-t type_sys_fichiers] [options_sys_fichiers] [sys_fichiers...]\n" -#: misc/fsck.c:1120 +#: misc/fsck.c:1119 #, c-format msgid "%s: too many devices\n" msgstr "%s : trop de périphériques\n" -#: misc/fsck.c:1153 misc/fsck.c:1239 +#: misc/fsck.c:1152 misc/fsck.c:1238 #, c-format msgid "%s: too many arguments\n" msgstr "%s : trop d'arguments\n" -#: misc/lsattr.c:74 +#: misc/lsattr.c:73 #, c-format msgid "Usage: %s [-RVadlv] [files...]\n" -msgstr "Utilisation : %s [-RVadlv] [fichiers...]\n" +msgstr "Usage : %s [-RVadlv] [fichiers...]\n" -#: misc/lsattr.c:84 +#: misc/lsattr.c:83 #, c-format msgid "While reading flags on %s" msgstr "Lors de la lecture des drapeaux sur %s" -#: misc/lsattr.c:91 +#: misc/lsattr.c:90 #, c-format msgid "While reading version on %s" msgstr "Lors de la lecture de la version sur %s" -#: misc/mke2fs.c:116 +#: misc/mke2fs.c:108 #, c-format msgid "" -"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n" +"Usage: %s [-c|-l filename] [-b block-size] [-f fragment-size]\n" "\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n" -"\t[-G flex-group-size] [-N number-of-inodes]\n" +"\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n" "\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n" -"\t[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-count]\n" +"\t[-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]\n" msgstr "" -"Utilisation : %s [-c|-l nom-de-fichier] [-b taille-de-bloc] [-C taille-de-cluster]\n" -"\t[-i octets-par-i-noeud] [-I taille-des-i-noeuds]\n" -"\t[-J options-de-journal] [-G taille-groupe-flex] [-N nombre-d-i-noeuds]\n" +"Usage : %s [-c|-l nom-de-fichier] [-b taille-de-bloc]\n" +"\t[-f taille-de-fragment] [-i octets-par-i-noeud] [-I taille-des-i-noeuds]\n" +"\t[-J options-de-journal] [-G taille-méta-groupe] [-N nombre-d-i-noeuds]\n" "\t[-m pourcentage-de-blocs-réservés]\n" "\t[-o système-d-exploitation-de-création] [-g blocs-par-groupe]\n" "\t[-L étiquette-du-volume] [-M dernier-répertoire-monté]\n" -"\t[-O fonctionnalité[,...]] [-r révision-du-système-de-fichiers]\n" -"\t[-E option-étendue[,...]] [-t type-système-de-fichiers] [-T type-d'utilisation]\n" -"\t[-U UUID] [-jnqvFKSV] périphérique [nombre-de-blocs]\n" +"\t[-O fonctionnalité[,...]] [-r révision-du-système-de-fichier]\n" +"\t[-E option-étendue[,...]] [-T type-système-fichier] [-U UUID]\n" +"\t[-jnqvFKSV] périphérique [nombre-de-blocs]\n" -#: misc/mke2fs.c:221 +#: misc/mke2fs.c:210 #, c-format msgid "Running command: %s\n" msgstr "Exécution de la commande : %s\n" -#: misc/mke2fs.c:225 +#: misc/mke2fs.c:214 #, c-format msgid "while trying to run '%s'" msgstr "durant la tentative d'exécution de « %s »" -#: misc/mke2fs.c:232 +#: misc/mke2fs.c:221 msgid "while processing list of bad blocks from program" msgstr "lors du traitement de la liste des blocs défectueux à partir du programme" -#: misc/mke2fs.c:259 +#: misc/mke2fs.c:248 #, c-format msgid "Block %d in primary superblock/group descriptor area bad.\n" msgstr "Bloc %d dans la zone du descripteur de superbloc/groupe primaire est défectueux.\n" -#: misc/mke2fs.c:261 +#: misc/mke2fs.c:250 #, c-format msgid "Blocks %u through %u must be good in order to build a filesystem.\n" msgstr "Les blocs de %u à %u doivent être en bon état pour générer le système de fichiers.\n" -#: misc/mke2fs.c:264 +#: misc/mke2fs.c:253 msgid "Aborting....\n" msgstr "Arrêt immédiat...\n" -#: misc/mke2fs.c:284 +#: misc/mke2fs.c:273 #, c-format msgid "" "Warning: the backup superblock/group descriptors at block %u contain\n" @@ -4081,227 +3842,195 @@ msgstr "" "\tbloc %u contiennent des blocs défectueux.\n" "\n" -#: misc/mke2fs.c:303 +#: misc/mke2fs.c:292 msgid "while marking bad blocks as used" msgstr "lors du marquage des blocs défectueux en tant qu'utilisés" -#: misc/mke2fs.c:320 +#: misc/mke2fs.c:350 +msgid "done \n" +msgstr "complété \n" + +#: misc/mke2fs.c:364 msgid "Writing inode tables: " msgstr "Écriture des tables d'i-noeuds : " -#: misc/mke2fs.c:341 +#: misc/mke2fs.c:387 #, c-format msgid "" "\n" -"Could not write %d blocks in inode table starting at %llu: %s\n" +"Could not write %d blocks in inode table starting at %u: %s\n" msgstr "" "\n" -"Impossible d'écrire %d blocs dans la table d'i-noeuds débutant à %llu : %s\n" - -#: misc/mke2fs.c:355 misc/mke2fs.c:2257 misc/mke2fs.c:2512 -#, c-format -msgid "done \n" -msgstr "complété \n" +"Impossible d'écrire %d blocs dans la table d'i-noeuds débutant à %u : %s\n" -#: misc/mke2fs.c:366 +#: misc/mke2fs.c:411 msgid "while creating root dir" msgstr "lors de la création du répertoire racine" -#: misc/mke2fs.c:373 +#: misc/mke2fs.c:418 msgid "while reading root inode" msgstr "lors de la lecture de l'i-noeud racine" -#: misc/mke2fs.c:385 +#: misc/mke2fs.c:432 msgid "while setting root inode ownership" msgstr "lors de l'initialisation de la propriété de l'i-noeud racine" -#: misc/mke2fs.c:403 +#: misc/mke2fs.c:450 msgid "while creating /lost+found" msgstr "lors de la création de /lost+found" -#: misc/mke2fs.c:410 +#: misc/mke2fs.c:457 msgid "while looking up /lost+found" msgstr "lors de la recherche de /lost+found" -#: misc/mke2fs.c:423 +#: misc/mke2fs.c:470 msgid "while expanding /lost+found" msgstr "lors de l'extension de /lost+found" -#: misc/mke2fs.c:438 +#: misc/mke2fs.c:485 msgid "while setting bad block inode" msgstr "lors de l'initialisation de l'i-noeud des blocs défectueux" -#: misc/mke2fs.c:465 +#: misc/mke2fs.c:512 #, c-format msgid "Out of memory erasing sectors %d-%d\n" msgstr "Mémoire épuisée lors de l'effacement des secteurs %d-%d\n" -#: misc/mke2fs.c:475 +#: misc/mke2fs.c:522 #, c-format msgid "Warning: could not read block 0: %s\n" msgstr "Avertissement : impossible de lire le bloc 0 : %s\n" -#: misc/mke2fs.c:491 +#: misc/mke2fs.c:538 #, c-format msgid "Warning: could not erase sector %d: %s\n" msgstr "Avertissement : impossible d'effacer le secteur %d : %s\n" -#: misc/mke2fs.c:507 +#: misc/mke2fs.c:554 msgid "while initializing journal superblock" msgstr "lors de l'initialisation du journal du superbloc" -#: misc/mke2fs.c:515 +#: misc/mke2fs.c:560 msgid "Zeroing journal device: " msgstr "Mise à zéro du périphérique de journal : " -#: misc/mke2fs.c:527 +#: misc/mke2fs.c:573 #, c-format -msgid "while zeroing journal device (block %llu, count %d)" -msgstr "lors de la mise à zéro du périphérique de journal (bloc %llu, compte %d)" +msgid "while zeroing journal device (block %u, count %d)" +msgstr "lors de la mise à zéro du périphérique de journal (bloc %u, compte %d)" -#: misc/mke2fs.c:545 +#: misc/mke2fs.c:589 msgid "while writing journal superblock" msgstr "lors de l'écriture du superbloc de journal" -#: misc/mke2fs.c:560 +#: misc/mke2fs.c:605 #, c-format msgid "" -"warning: %llu blocks unused.\n" +"warning: %u blocks unused.\n" "\n" msgstr "" -"Avertissement : %llu blocs inutilisés.\n" +"Avertissement : %u blocs inutilisés.\n" "\n" -#: misc/mke2fs.c:565 +#: misc/mke2fs.c:610 #, c-format msgid "Filesystem label=%s\n" msgstr "Étiquette de système de fichiers=%s\n" -#: misc/mke2fs.c:568 -#, c-format -msgid "OS type: %s\n" -msgstr "Type de système d'exploitation : %s\n" +#: misc/mke2fs.c:611 +msgid "OS type: " +msgstr "Type de système d'exploitation : " -#: misc/mke2fs.c:570 +#: misc/mke2fs.c:616 #, c-format msgid "Block size=%u (log=%u)\n" msgstr "Taille de bloc=%u (log=%u)\n" -#: misc/mke2fs.c:574 -#, c-format -msgid "Cluster size=%u (log=%u)\n" -msgstr "Taille de cluster=%u (log=%u)\n" - -#: misc/mke2fs.c:578 +#: misc/mke2fs.c:618 #, c-format msgid "Fragment size=%u (log=%u)\n" msgstr "Taille de fragment=%u (log=%u)\n" -#: misc/mke2fs.c:580 +#: misc/mke2fs.c:620 #, c-format msgid "Stride=%u blocks, Stripe width=%u blocks\n" msgstr "« Stride » = %u blocs, « Stripe width » = %u blocs\n" -#: misc/mke2fs.c:582 +#: misc/mke2fs.c:622 #, c-format -msgid "%u inodes, %llu blocks\n" -msgstr "%u i-noeuds, %llu blocs\n" +msgid "%u inodes, %u blocks\n" +msgstr "%u i-noeuds, %u blocs\n" -#: misc/mke2fs.c:584 +#: misc/mke2fs.c:624 #, c-format -msgid "%llu blocks (%2.2f%%) reserved for the super user\n" -msgstr "%llu blocs (%2.2f%%) réservés pour le super utilisateur\n" +msgid "%u blocks (%2.2f%%) reserved for the super user\n" +msgstr "%u blocs (%2.2f%%) réservés pour le super utilisateur\n" -#: misc/mke2fs.c:587 +#: misc/mke2fs.c:627 #, c-format msgid "First data block=%u\n" msgstr "Premier bloc de données=%u\n" -#: misc/mke2fs.c:589 -#, c-format -msgid "Root directory owner=%u:%u\n" -msgstr "Propriétaire du répertoire racine=%u:%u\n" - -#: misc/mke2fs.c:591 +#: misc/mke2fs.c:629 #, c-format msgid "Maximum filesystem blocks=%lu\n" msgstr "Nombre maximum de blocs du système de fichiers=%lu\n" -#: misc/mke2fs.c:595 +#: misc/mke2fs.c:633 #, c-format msgid "%u block groups\n" msgstr "%u groupes de blocs\n" -#: misc/mke2fs.c:597 +#: misc/mke2fs.c:635 #, c-format msgid "%u block group\n" msgstr "%u groupe de bloc\n" -#: misc/mke2fs.c:600 -#, c-format -msgid "%u blocks per group, %u clusters per group\n" -msgstr "%u blocs par groupe, %u clusters par groupe\n" - -#: misc/mke2fs.c:603 +#: misc/mke2fs.c:636 #, c-format msgid "%u blocks per group, %u fragments per group\n" msgstr "%u blocs par groupe, %u fragments par groupe\n" -#: misc/mke2fs.c:605 +#: misc/mke2fs.c:638 #, c-format msgid "%u inodes per group\n" msgstr "%u i-noeuds par groupe\n" -#: misc/mke2fs.c:612 +#: misc/mke2fs.c:645 #, c-format msgid "Superblock backups stored on blocks: " msgstr "Superblocs de secours stockés sur les blocs : " -#: misc/mke2fs.c:691 misc/tune2fs.c:1165 -#, c-format -msgid "Invalid mmp_update_interval: %s\n" -msgstr "mmp_update_interval invalide : %s\n" - -#: misc/mke2fs.c:705 +#: misc/mke2fs.c:724 #, c-format msgid "Invalid stride parameter: %s\n" msgstr "Paramètre « stride » invalide : %s\n" -#: misc/mke2fs.c:720 +#: misc/mke2fs.c:739 #, c-format msgid "Invalid stripe-width parameter: %s\n" msgstr "Paramètre « stripe-width » invalide : %s\n" -#: misc/mke2fs.c:743 +#: misc/mke2fs.c:761 #, c-format msgid "Invalid resize parameter: %s\n" msgstr "Paramètre de changement de taille invalide : %s\n" -#: misc/mke2fs.c:750 +#: misc/mke2fs.c:768 #, c-format msgid "The resize maximum must be greater than the filesystem size.\n" msgstr "" "La taille maximale de l'agrandissement doit être plus grande que la taille\n" "du système de fichiers.\n" -#: misc/mke2fs.c:774 +#: misc/mke2fs.c:792 #, c-format msgid "On-line resizing not supported with revision 0 filesystems\n" msgstr "" "Le changement de taille en ligne n'est pas supportée avec les systèmes de\n" -"fichiers de version 0\n" - -#: misc/mke2fs.c:801 misc/mke2fs.c:810 -#, c-format -msgid "Invalid root_owner: '%s'\n" -msgstr "root_owner invalide : « %s »\n" - -#: misc/mke2fs.c:835 -#, c-format -msgid "Invalid quotatype parameter: %s\n" -msgstr "Paramètre de type de quota invalide : %s\n" +"fichier de version 0\n" -#: misc/mke2fs.c:846 +#: misc/mke2fs.c:814 #, c-format msgid "" "\n" @@ -4315,13 +4044,7 @@ msgid "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" -"\tlazy_journal_init=<0 to disable, 1 to enable>\n" -"\troot_uid=\n" -"\troot_gid=\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" msgstr "" "\n" @@ -4334,17 +4057,11 @@ msgstr "" "\tstride=\n" "\tstripe-width=\n" "\tresize=\n" -"\tlazy_itable_init=<0 pour désactiver, 1 pour activer>\n" -"\tlazy_journal_init=<0 pour désactiver, 1 pour activer>\n" -"\troot_uid=\n" -"\troot_gid=\n" +"\tlazy_itable_init=<0 pour désactive, 1 pour activer>\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" -#: misc/mke2fs.c:868 +#: misc/mke2fs.c:830 #, c-format msgid "" "\n" @@ -4355,7 +4072,7 @@ msgstr "" "Attention : le « stripe-width » RAID %u n'est pas multiple impair du « stride » %u.\n" "\n" -#: misc/mke2fs.c:907 +#: misc/mke2fs.c:862 #, c-format msgid "" "Syntax error in mke2fs config file (%s, line #%d)\n" @@ -4365,27 +4082,22 @@ msgstr "" "\t(%s, ligne n°%d)\n" "\t%s\n" -#: misc/mke2fs.c:920 misc/tune2fs.c:398 +#: misc/mke2fs.c:875 misc/tune2fs.c:355 #, c-format msgid "Invalid filesystem option set: %s\n" msgstr "Jeu d'options de système de fichiers invalide : %s\n" -#: misc/mke2fs.c:932 misc/tune2fs.c:349 -#, c-format -msgid "Invalid mount option set: %s\n" -msgstr "Jeu d'options pour le montage invalide : %s\n" - -#: misc/mke2fs.c:1072 +#: misc/mke2fs.c:985 #, c-format msgid "" "\n" -"Your mke2fs.conf file does not define the %s filesystem type.\n" +"Warning! Your mke2fs.conf file does not define the %s filesystem type.\n" msgstr "" "\n" -"Votre mke2fs.conf ne précise pas le type de système de fichiers de\n" +"Attention ! Votre mke2fs.conf ne précise pas le type de système de fichier de\n" "%s.\n" -#: misc/mke2fs.c:1076 +#: misc/mke2fs.c:988 #, c-format msgid "" "You probably need to install an updated mke2fs.conf file.\n" @@ -4394,142 +4106,125 @@ msgstr "" "Il vous faut sans doute installer un fichier mke2fs.conf mis à jour.\n" "\n" -#: misc/mke2fs.c:1080 -#, c-format -msgid "Aborting...\n" -msgstr "Arrêt immédiat...\n" - -#: misc/mke2fs.c:1120 -#, c-format -msgid "" -"\n" -"Warning: the fs_type %s is not defined in mke2fs.conf\n" -"\n" -msgstr "" -"\n" -"Avertissement : le fs_type %s n'est pas défini dans mke2fs.conf\n" -"\n" - -#: misc/mke2fs.c:1276 -#, c-format -msgid "Couldn't allocate memory for new PATH.\n" -msgstr "Impossible d'allouer de la mémoire pour un nouveau chemin.\n" - -#: misc/mke2fs.c:1317 -#, c-format -msgid "Couldn't init profile successfully (error: %ld).\n" -msgstr "N'a pu initialiser le profilage correctement (erreur : %ld).\n" - -#: misc/mke2fs.c:1357 +#: misc/mke2fs.c:1224 #, c-format msgid "invalid block size - %s" msgstr "taille invalide des blocs - %s" -#: misc/mke2fs.c:1361 +#: misc/mke2fs.c:1228 #, c-format msgid "Warning: blocksize %d not usable on most systems.\n" msgstr "" "Avertissement : la taille de bloc %d n'est pas utilisable\n" "sur la plupart des systèmes.\n" -#: misc/mke2fs.c:1377 +#: misc/mke2fs.c:1244 #, c-format -msgid "invalid cluster size - %s" -msgstr "taille de cluster invalide - %s" +msgid "invalid fragment size - %s" +msgstr "taille de fragment invalide - %s" -#: misc/mke2fs.c:1387 -msgid "'-R' is deprecated, use '-E' instead" -msgstr "« -R » est déprécié, utiliser plutôt « -E »" +#: misc/mke2fs.c:1250 +#, c-format +msgid "Warning: fragments not supported. Ignoring -f option\n" +msgstr "Avertissement : fragments non supportés. L'option -f est ignorée\n" -#: misc/mke2fs.c:1399 +#: misc/mke2fs.c:1257 msgid "Illegal number for blocks per group" msgstr "Nombre de blocs par groupe illégal" -#: misc/mke2fs.c:1404 +#: misc/mke2fs.c:1262 msgid "blocks per group must be multiple of 8" msgstr "le nombre de blocs par groupe doit être un multiple de 8" -#: misc/mke2fs.c:1412 +#: misc/mke2fs.c:1270 msgid "Illegal number for flex_bg size" msgstr "Nombre illégal pour la taille flex_bg" -#: misc/mke2fs.c:1418 +#: misc/mke2fs.c:1276 msgid "flex_bg size must be a power of 2" msgstr "La taille flex_bg doit être une puissance de 2" -#: misc/mke2fs.c:1428 +#: misc/mke2fs.c:1286 #, c-format msgid "invalid inode ratio %s (min %d/max %d)" msgstr "taux d'i-noeuds invalides %s (min %d/max %d)" -#: misc/mke2fs.c:1438 -#, c-format -msgid "invalid inode size - %s" -msgstr "taille d'i-noeud invalide - %s" - -#: misc/mke2fs.c:1450 -#, c-format -msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n" -msgstr "Avertissement : l'option -K est dépréciée et ne devrait plus être utilisée. Utiliser plutôt l'option étendue « -E nodiscard » !\n" - -#: misc/mke2fs.c:1460 +#: misc/mke2fs.c:1306 msgid "in malloc for bad_blocks_filename" msgstr "dans malloc pour bad_blocks_filename" -#: misc/mke2fs.c:1473 +#: misc/mke2fs.c:1316 #, c-format msgid "invalid reserved blocks percent - %s" msgstr "pourcentage de blocs réservés invalide - %s" -#: misc/mke2fs.c:1488 -#, c-format -msgid "bad num inodes - %s" -msgstr "mauvais nombre d'i-noeuds - %s" - -#: misc/mke2fs.c:1505 +#: misc/mke2fs.c:1334 #, c-format msgid "bad revision level - %s" msgstr "mauvais numéro de version - %s" -#: misc/mke2fs.c:1519 -msgid "The -t option may only be used once" -msgstr "L'option -t ne peut être spécifiée qu'une fois" +#: misc/mke2fs.c:1346 +#, c-format +msgid "invalid inode size - %s" +msgstr "taille d'i-noeud invalide - %s" -#: misc/mke2fs.c:1527 -msgid "The -T option may only be used once" -msgstr "L'option -T ne peut être spécifiée qu'une fois" +#: misc/mke2fs.c:1366 +#, c-format +msgid "bad num inodes - %s" +msgstr "mauvais nombre d'i-noeuds - %s" -#: misc/mke2fs.c:1580 misc/mke2fs.c:2591 +#: misc/mke2fs.c:1431 misc/mke2fs.c:2203 #, c-format msgid "while trying to open journal device %s\n" msgstr "lors de la tentative d'ouverture du périphérique de journal %s\n" -#: misc/mke2fs.c:1586 +#: misc/mke2fs.c:1437 #, c-format msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n" msgstr "" "la taille de bloc du périphérique de journal (%d) est plus petit que la\n" "taille de blocs minimum %d\n" -#: misc/mke2fs.c:1592 +#: misc/mke2fs.c:1443 #, c-format msgid "Using journal device's blocksize: %d\n" -msgstr "Utilisation de la taille de bloc du périphérique de journal : %d\n" +msgstr "Utilisation de la taille de bloc du périphérique de journal: %d\n" + +#: misc/mke2fs.c:1452 +#, c-format +msgid "%d-byte blocks too big for system (max %d)" +msgstr "blocs de %d octets trop gros pour le système (max %d)" + +#: misc/mke2fs.c:1456 +#, c-format +msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +msgstr "" +"Avertissement : blocs de %d octets trop gros pour le système (max %d),\n" +"poursuite forcée\n" -#: misc/mke2fs.c:1603 +#: misc/mke2fs.c:1464 #, c-format -msgid "invalid blocks '%s' on device '%s'" -msgstr "blocs '%s' invalides sur le périphérique %s" +msgid "invalid blocks count - %s" +msgstr "décompte de blocs invalide - %s" -#: misc/mke2fs.c:1613 +#: misc/mke2fs.c:1474 msgid "filesystem" msgstr "système de fichiers" -#: misc/mke2fs.c:1626 resize/main.c:367 +#: misc/mke2fs.c:1510 +#, c-format +msgid "" +"%s: Size of device %s too big to be expressed in 32 bits\n" +"\tusing a blocksize of %d.\n" +msgstr "" +"%s: La taille du périphérique %s est trop grande pour pouvoir être\n" +"\t exprimée sur 32 bits, utilisation d'une taille de bloc de %d.\n" + +#: misc/mke2fs.c:1519 resize/main.c:382 msgid "while trying to determine filesystem size" msgstr "lors de la tentative de détermination de la taille du système de fichiers" -#: misc/mke2fs.c:1632 +#: misc/mke2fs.c:1526 msgid "" "Couldn't determine device size; you must specify\n" "the size of the filesystem\n" @@ -4537,7 +4232,7 @@ msgstr "" "Ne peut déterminer la taille du périphérique ; vous devez spécifier\n" "la taille du système de fichiers\n" -#: misc/mke2fs.c:1639 +#: misc/mke2fs.c:1533 msgid "" "Device size reported to be zero. Invalid partition specified, or\n" "\tpartition table wasn't reread after running fdisk, due to\n" @@ -4550,55 +4245,41 @@ msgstr "" "\toccupée et utilisée. Vous devez ré-amorcer pour forcer une\n" "\trelecture de la table de partitions.\n" -#: misc/mke2fs.c:1656 +#: misc/mke2fs.c:1551 msgid "Filesystem larger than apparent device size." msgstr "Système de fichiers plus grand que la taille apparente du périphérique" -#: misc/mke2fs.c:1676 +#: misc/mke2fs.c:1557 #, c-format msgid "Failed to parse fs types list\n" msgstr "Échec du parcours de la liste de types de systèmes de fichiers\n" -#: misc/mke2fs.c:1730 -#, 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 "" -"%s: La taille (0x%llx blocs) du périphérique %s est trop grande pour\n" -"\tpouvoir être exprimée sur 32 bits en utilisant une taille de bloc de %d.\n" - -#: misc/mke2fs.c:1746 +#: misc/mke2fs.c:1591 msgid "fs_types for mke2fs.conf resolution: " msgstr "résolution de fs_types pour mke2fs.conf : " -#: misc/mke2fs.c:1753 +#: misc/mke2fs.c:1598 #, c-format msgid "Filesystem features not supported with revision 0 filesystems\n" msgstr "" -"Fonctionnalités du système de fichiers non supportées par les systèmes de\n" -"fichiers de version 0\n" +"Fonctionnalités du système de fichier non supportées par les systèmes de\n" +"fichier de version 0\n" -#: misc/mke2fs.c:1760 +#: misc/mke2fs.c:1605 #, c-format msgid "Sparse superblocks not supported with revision 0 filesystems\n" msgstr "" "Les superblocs creux ne sont pas supportés par les systèmes de\n" -"fichiers de version 0\n" +"fichier de version 0\n" -#: misc/mke2fs.c:1772 +#: misc/mke2fs.c:1617 #, c-format msgid "Journals not supported with revision 0 filesystems\n" msgstr "" "Les journaux ne sont pas supportés par les systèmes de\n" -"fichiers de version 0\n" +"fichier de version 0\n" -#: misc/mke2fs.c:1786 -#, c-format -msgid "invalid reserved blocks percent - %lf" -msgstr "pourcentage de blocs réservés invalide - %lf" - -#: misc/mke2fs.c:1802 +#: misc/mke2fs.c:1635 #, c-format msgid "" "The resize_inode and meta_bg features are not compatible.\n" @@ -4607,131 +4288,90 @@ msgstr "" "Les fonctionnalités resize_inode et meta_bg ne sont pas compatibles.\n" "Elles ne peuvent pas être activées simultanément.\n" -#: misc/mke2fs.c:1819 +#: misc/mke2fs.c:1652 msgid "while trying to determine hardware sector size" msgstr "lors de la tentative de détermination de la taille matérielle de secteur" -#: misc/mke2fs.c:1825 +#: misc/mke2fs.c:1658 msgid "while trying to determine physical sector size" msgstr "lors de la tentative de détermination de la taille de secteur matériel" -#: misc/mke2fs.c:1858 +#: misc/mke2fs.c:1687 msgid "while setting blocksize; too small for device\n" msgstr "lors de la définition de la taille de bloc ; trop petite pour le périphérique\n" -#: misc/mke2fs.c:1863 +#: misc/mke2fs.c:1691 #, c-format -msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n" -msgstr "Avertissement : la taille de bloc %d spécifiée est plus petite que la taille de secteur physique %d\n" - -#: misc/mke2fs.c:1881 -msgid "The cluster size may not be smaller than the block size.\n" -msgstr "La taille d'un cluster ne peut pas être plus petite que la taille d'un bloc.\n" - -#: misc/mke2fs.c:1887 -msgid "specifying a cluster size requires the bigalloc feature" -msgstr "Spécifier une taille de cluster nécessite la fonctionalité bigalloc" +msgid "Warning: specified blocksize %d is less than device physical sectorsize %d, forced to continue\n" +msgstr "Avertissement : la taille de bloc %d spécifiée est plus petite que la taille de secteur physique %d, poursuite forcée\n" -#: misc/mke2fs.c:1906 +#: misc/mke2fs.c:1712 #, c-format msgid "warning: Unable to get device geometry for %s\n" -msgstr "attention : Impossible d'obtenir la géométrie du périphérique %s\n" +msgstr "attention: Impossible d'obtenir la géométrie du périphérique %s\n" -#: misc/mke2fs.c:1909 +#: misc/mke2fs.c:1715 #, c-format msgid "%s alignment is offset by %lu bytes.\n" msgstr "L'alignement de %s est décalé de %lu octets.\n" -#: misc/mke2fs.c:1911 +#: misc/mke2fs.c:1717 #, c-format msgid "This may result in very poor performance, (re)-partitioning suggested.\n" msgstr "Cela peut induire de très mauvaises performances, il est suggéré de (re)-partitionner.\n" -#: misc/mke2fs.c:1930 -#, c-format -msgid "%d-byte blocks too big for system (max %d)" -msgstr "blocs de %d octets trop gros pour le système (max %d)" - -#: misc/mke2fs.c:1934 -#, c-format -msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" -msgstr "" -"Avertissement : blocs de %d octets trop gros pour le système (max %d),\n" -"poursuite forcée\n" - -#: misc/mke2fs.c:1968 -msgid "Can't support bigalloc feature without extents feature" -msgstr "La fonctionalité bigalloc ne peut pas être supportée sans la fonctionalité extent" - -#: misc/mke2fs.c:1975 -#, c-format -msgid "" -"\n" -"Warning: the bigalloc feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n" -"\n" -msgstr "" -"\n" -"Avertissement : la fonctionalité bigalloc est encore en cours de développement\n" -"Voir https://ext4.wiki.kernel.org/index.php/Bigalloc pour plus d'informations\n" -"\n" - -#: misc/mke2fs.c:1982 misc/tune2fs.c:740 -#, c-format -msgid "" -"\n" -"Warning: the quota feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Quota for more information\n" -"\n" -msgstr "" -"\n" -"Avertissement : la fonctionalité quota est encore en cours de développement\n" -"Voir https://ext4.wiki.kernel.org/index.php/Quota pour plus d'informations\n" -"\n" - -#: misc/mke2fs.c:1993 +#: misc/mke2fs.c:1745 msgid "reserved online resize blocks not supported on non-sparse filesystem" msgstr "" "la réservation de blocs de changement de taille en ligne n'est pas\n" "supportée sur un système de fichiers non creux" -#: misc/mke2fs.c:2002 +#: misc/mke2fs.c:1754 msgid "blocks per group count out of range" msgstr "compteur de blocs par groupe hors limite" -#: misc/mke2fs.c:2026 +#: misc/mke2fs.c:1769 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" msgstr "La fonctionnalité flex_bg n'est pas activée, la taille flex_bg ne peut donc pas être spécifiée" -#: misc/mke2fs.c:2038 +#: misc/mke2fs.c:1781 #, c-format msgid "invalid inode size %d (min %d/max %d)" msgstr "taille d'i-noeud invalide %d (min %d/max %d)" -#: misc/mke2fs.c:2056 +#: misc/mke2fs.c:1795 #, c-format msgid "too many inodes (%llu), raise inode ratio?" msgstr "trop d'i-noeuds (%llu), augmenter le ratio d'i-noeuds ?" -#: misc/mke2fs.c:2063 +#: misc/mke2fs.c:1800 #, c-format msgid "too many inodes (%llu), specify < 2^32 inodes" msgstr "trop d'i-noeuds (%llu), indiquer < 2^32 i-noeuds" -#: misc/mke2fs.c:2077 +#: misc/mke2fs.c:1815 #, c-format msgid "" "inode_size (%u) * inodes_count (%u) too big for a\n" -"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n" +"\tfilesystem with %lu blocks, specify higher inode_ratio (-i)\n" "\tor lower inode count (-N).\n" msgstr "" "taille_i_noeud (%u) * nombre_i_noeuds (%u) trop grand pour un\n" -"\tsystème de fichiers avec %llu blocs, indiquer un ratio_i_noeud (-i)\n" +"\tsystème de fichier avec %lu blocs, indiquer un ratio_i_noeud (-i)\n" "\tplus grand ou un nombre d'i-noeud plus petit (-N).\n" -#: misc/mke2fs.c:2196 +#: misc/mke2fs.c:1908 misc/tune2fs.c:1494 +msgid "Couldn't allocate memory for tdb filename\n" +msgstr "Impossible d'allouer de la mémoire pour le nom du fichier tdb\n" + +#: misc/mke2fs.c:1921 misc/tune2fs.c:1516 #, c-format -msgid "" +msgid "while trying to delete %s" +msgstr "lors de la tentative d'effacement de %s" + +#: misc/mke2fs.c:1931 +#, c-format +msgid "" "Overwriting existing filesystem; this can be undone using the command:\n" " e2undo %s %s\n" "\n" @@ -4740,68 +4380,53 @@ msgstr "" " e2undo %s %s\n" "\n" -#: misc/mke2fs.c:2210 -msgid "while trying to setup undo file\n" -msgstr "lors de la tentative de mise en place du fichier d'annulation\n" +#: misc/mke2fs.c:1968 +#, c-format +msgid "Calling BLKDISCARD from %llu to %llu " +msgstr "Appel de BLKDISCARD de %llu à %llu " -#: misc/mke2fs.c:2236 -msgid "Discarding device blocks: " -msgstr "Rejet des blocs de périphérique : " +#: misc/mke2fs.c:1972 +#, c-format +msgid "failed.\n" +msgstr "échoué.\n" -#: misc/mke2fs.c:2252 -msgid "failed - " -msgstr "échoué - " +#: misc/mke2fs.c:1974 +#, c-format +msgid "succeeded.\n" +msgstr "avec succès.\n" -#: misc/mke2fs.c:2360 +#: misc/mke2fs.c:2023 msgid "while setting up superblock" msgstr "lors de l'initialisation du superbloc" -#: misc/mke2fs.c:2369 -#, c-format -msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" -msgstr "L'effacement a réussi et retournera des 0s - saut de l'effacement de la table des i-noeuds\n" - -#: misc/mke2fs.c:2452 +#: misc/mke2fs.c:2087 #, c-format msgid "unknown os - %s" msgstr "système d'exploitation inconnu - %s" -#: misc/mke2fs.c:2504 -#, c-format -msgid "Allocating group tables: " -msgstr "Allocation des tables de groupe : " - -#: misc/mke2fs.c:2508 +#: misc/mke2fs.c:2141 msgid "while trying to allocate filesystem tables" msgstr "lors de la tentative d'allocation des tables de systèmes de fichiers" -#: misc/mke2fs.c:2517 -msgid "" -"\n" -"\twhile converting subcluster bitmap" -msgstr "" -"\n" -"\tlors de la conversion du bitmap de sous-cluster" - -#: misc/mke2fs.c:2560 +#: misc/mke2fs.c:2172 #, c-format -msgid "while zeroing block %llu at end of filesystem" -msgstr "lors de la mise à zéro du bloc %llu à la fin du système de fichiers" +msgid "while zeroing block %u at end of filesystem" +msgstr "lors de la mise à zéro du bloc %u à la fin du système de fichiers" -#: misc/mke2fs.c:2573 +#: misc/mke2fs.c:2185 msgid "while reserving blocks for online resize" msgstr "lors de la réservation de blocs pour un changement de taille en ligne" -#: misc/mke2fs.c:2584 misc/tune2fs.c:645 +#: misc/mke2fs.c:2196 misc/tune2fs.c:479 msgid "journal" msgstr "journal" -#: misc/mke2fs.c:2596 +#: misc/mke2fs.c:2208 #, c-format msgid "Adding journal to device %s: " msgstr "Ajout du journal au périphérique %s : " -#: misc/mke2fs.c:2603 +#: misc/mke2fs.c:2215 #, c-format msgid "" "\n" @@ -4810,51 +4435,29 @@ msgstr "" "\n" "\tlors de la tentative d'ajout d'un journal au périphérique %s" -#: misc/mke2fs.c:2608 misc/mke2fs.c:2640 misc/tune2fs.c:674 misc/tune2fs.c:688 +#: misc/mke2fs.c:2220 misc/mke2fs.c:2252 misc/tune2fs.c:508 misc/tune2fs.c:522 #, c-format msgid "done\n" msgstr "complété\n" -#: misc/mke2fs.c:2617 +#: misc/mke2fs.c:2229 #, c-format msgid "Skipping journal creation in super-only mode\n" msgstr "Pas de création de journal en mode super-seul\n" -#: misc/mke2fs.c:2628 +#: misc/mke2fs.c:2240 #, c-format msgid "Creating journal (%u blocks): " msgstr "Création du journal (%u blocs) : " -#: misc/mke2fs.c:2636 -msgid "" -"\n" -"\twhile trying to create journal" -msgstr "" -"\n" -"\tlors de la tentative de création du journal" - -#: misc/mke2fs.c:2647 misc/tune2fs.c:451 -#, c-format -msgid "" -"\n" -"Error while enabling multiple mount protection feature." -msgstr "" -"\n" -"Erreur lors de l'activation de la fonctionnalité de protection contre le montage multiple." - -#: misc/mke2fs.c:2652 -#, c-format -msgid "Multiple mount protection is enabled with update interval %d seconds.\n" -msgstr "La protection contre le montage multiple est activée avec un intervale de mise à jour de %d secondes.\n" - -#: misc/mke2fs.c:2665 +#: misc/mke2fs.c:2257 #, c-format msgid "Writing superblocks and filesystem accounting information: " msgstr "" "Écriture des superblocs et de l'information de comptabilité du système de\n" "fichiers : " -#: misc/mke2fs.c:2672 +#: misc/mke2fs.c:2262 #, c-format msgid "" "\n" @@ -4863,7 +4466,7 @@ msgstr "" "\n" "Attention, des problèmes sont survenus lors de l'écriture des superblocs." -#: misc/mke2fs.c:2674 +#: misc/mke2fs.c:2265 #, c-format msgid "" "done\n" @@ -4872,12 +4475,12 @@ msgstr "" "complété\n" "\n" -#: misc/mklost+found.c:50 +#: misc/mklost+found.c:49 #, c-format msgid "Usage: mklost+found\n" -msgstr "Utilisation : mklost+found\n" +msgstr "Usage : mklost+found\n" -#: misc/partinfo.c:41 +#: misc/partinfo.c:39 #, c-format msgid "" "Usage: %s device...\n" @@ -4886,119 +4489,115 @@ msgid "" "For example: %s /dev/hda\n" "\n" msgstr "" -"Utilisation : %s périphérique...\n" +"Usage : %s périphérique...\n" "\n" "Imprime l'information de partition pour chaque périphérique indiqué.\n" "Par exemple : %s /dev/hda\n" -#: misc/partinfo.c:51 +#: misc/partinfo.c:49 #, c-format msgid "Cannot open %s: %s" msgstr "Impossible d'ouvrir %s : %s" -#: misc/partinfo.c:57 +#: misc/partinfo.c:55 #, c-format msgid "Cannot get geometry of %s: %s" msgstr "Impossible d'obtenir la géométrie de %s : %s" -#: misc/partinfo.c:65 +#: misc/partinfo.c:63 #, c-format msgid "Cannot get size of %s: %s" msgstr "Impossible d'obtenir la taille de %s : %s" -#: misc/partinfo.c:71 +#: misc/partinfo.c:69 #, c-format msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n" -msgstr "%s : h=%3d s=%3d c=%4d début=%8d taille=%8lu fin=%8d\n" +msgstr "%s: h=%3d s=%3d c=%4d début=%8d taille=%8lu fin=%8d\n" -#: misc/tune2fs.c:107 +#: misc/tune2fs.c:96 msgid "Please run e2fsck on the filesystem.\n" msgstr "SVP exécutez e2fsck sur le système de fichiers.\n" -#: misc/tune2fs.c:116 +#: misc/tune2fs.c:105 #, c-format msgid "" "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" -"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p mmp_update_interval]\n" +"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n" "\t[ -I new_inode_size ] device\n" msgstr "" -"Utilisation : %s [-c limite-maximale-de-montage]\n" +"Usage : %s [-c limite-maximale-de-montage]\n" "\t[-e comportement-en-cas-d-erreur] [-g groupe]\n" "\t[-i intervalle[d|m|w]] [-j] [-J options-journal] [-l]\n" -"\t[-m pourcentage-de-blocs-réservés] [-o [^]options-de-montage[,...]]\n" -"\t[-p intervale-mise-à-jour-mmp] [-r nombre-de-blocs-réservés]\n" -"\t[-u utilisateur] [-C nombre-de-montage] [-L étiquette-du-volume]\n" +"\t[-m pourcentage-de-blocs-réservés]\n" +"\t[-o [^]options-de-montage[,...]] [-r compteur-de-blocs-réservés]\n" +"\t[-u utilisateur] [-C compteur-de-montage] [-L étiquette-du-volume]\n" "\t[-M dernier-répertoire-monté] [-O [^]fonctionnalité[,...]]\n" "\t[-E option-étendue[,...]] [-T date-de-dernière-vérification]\n" "\t[-U UUID] [-I nouvelle-taille-i-noeuds] périphérique\n" -#: misc/tune2fs.c:209 +#: misc/tune2fs.c:190 msgid "while trying to open external journal" msgstr "lors de la tentative d'ouverture du journal externe" -#: misc/tune2fs.c:214 +#: misc/tune2fs.c:194 #, c-format msgid "%s is not a journal device.\n" msgstr "%s n'est pas un périphérique de journal.\n" -#: misc/tune2fs.c:229 +#: misc/tune2fs.c:209 msgid "Journal superblock not found!\n" msgstr "Le superbloc de journal n'a pas été trouvé !\n" -#: misc/tune2fs.c:240 +#: misc/tune2fs.c:221 msgid "Filesystem's UUID not found on journal device.\n" msgstr "" "L'UUID du système de fichiers n'a pas été trouvé sur le périphérique de\n" "journal.\n" -#: misc/tune2fs.c:261 -msgid "" -"Cannot locate journal device. It was NOT removed\n" -"Use -f option to remove missing journal device.\n" -msgstr "" -"Ne peut repérer le périphérique de journal. Il n'a PAS été supprimé\n" -"Utiliser l'option -f pour supprimer le périphérique de journal manquant.\n" +#: misc/tune2fs.c:242 +msgid "Journal NOT removed\n" +msgstr "Le journal N'A PAS été enlevé\n" -#: misc/tune2fs.c:269 +#: misc/tune2fs.c:248 msgid "Journal removed\n" msgstr "Journal enlevé\n" -#: misc/tune2fs.c:313 +#: misc/tune2fs.c:288 msgid "while reading bitmaps" msgstr "lors de la lecture des bitmaps" -#: misc/tune2fs.c:321 +#: misc/tune2fs.c:296 msgid "while clearing journal inode" msgstr "lors de l'effacement de l'i-noeud du journal" -#: misc/tune2fs.c:332 +#: misc/tune2fs.c:307 msgid "while writing journal inode" msgstr "lors de l'écriture de l'i-noeud du journal" -#: misc/tune2fs.c:367 +#: misc/tune2fs.c:322 #, c-format -msgid "(and reboot afterwards!)\n" -msgstr "(et rebootez après !)\n" +msgid "Invalid mount option set: %s\n" +msgstr "Jeu d'options pour le montage invalide: %s\n" -#: misc/tune2fs.c:401 +#: misc/tune2fs.c:358 #, c-format msgid "Clearing filesystem feature '%s' not supported.\n" msgstr "" -"La suppression de la fonctionnalité de système de fichiers '%s' n'est pas\n" +"La suppression de la fonctionnalité de système de fichier '%s' n'est pas\n" "supportée.\n" -#: misc/tune2fs.c:407 +#: misc/tune2fs.c:364 #, c-format msgid "Setting filesystem feature '%s' not supported.\n" msgstr "" -"L'ajout de la fonctionnalité de système de fichiers '%s' n'est pas\n" +"L'ajout de la fonctionnalité de système de fichier '%s' n'est pas\n" "supporté.\n" -#: misc/tune2fs.c:416 +#: misc/tune2fs.c:373 msgid "" "The has_journal feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" @@ -5006,7 +4605,7 @@ msgstr "" "La fonctionnalitié has_journal peut être désactivée uniquement lorsque le\n" "système de fichiers est démonté ou monté en lecture seule.\n" -#: misc/tune2fs.c:424 +#: misc/tune2fs.c:381 msgid "" "The needs_recovery flag is set. Please run e2fsck before clearing\n" "the has_journal flag.\n" @@ -5014,49 +4613,13 @@ msgstr "" "Le drapeau needs_recovery est activé. SVP exécutez e2fsck avant\n" "de désactiver le drapeau has_journal.\n" -#: misc/tune2fs.c:443 -msgid "" -"The multiple mount protection feature can't\n" -"be set if the filesystem is mounted or\n" -"read-only.\n" -msgstr "" -"La fonctionnalité de protection contre les\n" -"montages multiples ne peut être activée lorsque\n" -"le système de fichier est monté ou en lecture seule.\n" - -#: misc/tune2fs.c:461 -#, c-format -msgid "Multiple mount protection has been enabled with update interval %ds.\n" -msgstr "La protection contre le montage multiple a été activée avec un intervale de mise à jour de %ds.\n" - -#: misc/tune2fs.c:470 -msgid "" -"The multiple mount protection feature cannot\n" -"be disabled if the filesystem is readonly.\n" -msgstr "" -"La fonctionnalité de protection contre le montage multiple ne peut\n" -"être désactivée si le système de fichiers est en lecture seule.\n" - -#: misc/tune2fs.c:478 -msgid "Error while reading bitmaps\n" -msgstr "Erreur lors de la lecture des bitmaps\n" - -#: misc/tune2fs.c:487 -#, c-format -msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n" -msgstr "Le numéro magique dans le bloc MMP ne correspond pas. attendu : %x, actuel : %x\n" - -#: misc/tune2fs.c:492 -msgid "while reading MMP block." -msgstr "lors de la lecture du bloc MMP." - -#: misc/tune2fs.c:524 +#: misc/tune2fs.c:414 msgid "" "Clearing the flex_bg flag would cause the the filesystem to be\n" "inconsistent.\n" msgstr "Effacer le drapeau flex_bg rendrait le système de fichiers incohérent.\n" -#: misc/tune2fs.c:535 +#: misc/tune2fs.c:425 msgid "" "The huge_file feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" @@ -5064,19 +4627,16 @@ msgstr "" "La fonctionnalité huge_file peut être désactivée uniquement lorsque le\n" "système de fichiers est démonté ou monté en lecture seule.\n" -#: misc/tune2fs.c:595 -msgid "" -"\n" -"Warning: '^quota' option overrides '-Q'arguments.\n" -msgstr "" -"\n" -"Avertissement : l'option « ^quota » supplante les arguments « -Q ».\n" +#: misc/tune2fs.c:453 +#, c-format +msgid "(and reboot afterwards!)\n" +msgstr "(et rebootez après !)\n" -#: misc/tune2fs.c:640 +#: misc/tune2fs.c:474 msgid "The filesystem already has a journal.\n" msgstr "Le système de fichiers a déjà un journal.\n" -#: misc/tune2fs.c:658 +#: misc/tune2fs.c:492 #, c-format msgid "" "\n" @@ -5085,21 +4645,21 @@ msgstr "" "\n" "\tlors de la tentative d'ouverture du journal sur %s\n" -#: misc/tune2fs.c:662 +#: misc/tune2fs.c:496 #, c-format msgid "Creating journal on device %s: " msgstr "Création du journal sur le périphérique %s : " -#: misc/tune2fs.c:670 +#: misc/tune2fs.c:504 #, c-format msgid "while adding filesystem to journal on %s" msgstr "lors de l'ajout du système de fichiers au journal sur %s" -#: misc/tune2fs.c:676 +#: misc/tune2fs.c:510 msgid "Creating journal inode: " msgstr "Création de l'i-noeud du journal : " -#: misc/tune2fs.c:685 +#: misc/tune2fs.c:519 msgid "" "\n" "\twhile trying to create journal file" @@ -5107,121 +4667,85 @@ msgstr "" "\n" "\tlors de la tentative de création du fichier journal" -#: misc/tune2fs.c:763 -msgid "Couldn't allocate memory to parse quota options!\n" -msgstr "Impossible d'allouer de la mémoire pour analyser les options de quota !\n" - -#: misc/tune2fs.c:785 -msgid "" -"\n" -"Bad quota options specified.\n" -"\n" -"Following valid quota options are available (pass by separating with comma):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" -msgstr "" -"\n" -"Une ou des options de quota spécifiées sont erronées.\n" -"\n" -"Les options de quota suivantes sont disponibles (les fournir séparées par des virgules):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" - -#: misc/tune2fs.c:846 +#: misc/tune2fs.c:585 #, c-format msgid "Couldn't parse date/time specifier: %s" msgstr "Ne peut analyser la spécification de date/heure : %s" -#: misc/tune2fs.c:870 misc/tune2fs.c:883 +#: misc/tune2fs.c:609 misc/tune2fs.c:622 #, c-format msgid "bad mounts count - %s" msgstr "compteur de montages erroné - %s" -#: misc/tune2fs.c:899 +#: misc/tune2fs.c:638 #, c-format msgid "bad error behavior - %s" msgstr "mauvais comportement en cas d'erreur - %s" -#: misc/tune2fs.c:926 +#: misc/tune2fs.c:665 #, c-format msgid "bad gid/group name - %s" msgstr "nom gid/groupe erroné - %s" -#: misc/tune2fs.c:959 +#: misc/tune2fs.c:698 #, c-format msgid "bad interval - %s" msgstr "intervalle erroné - %s" -#: misc/tune2fs.c:988 +#: misc/tune2fs.c:727 #, c-format msgid "bad reserved block ratio - %s" msgstr "taux de blocs réservés erroné - %s" -#: misc/tune2fs.c:1003 +#: misc/tune2fs.c:742 msgid "-o may only be specified once" msgstr "-o ne peut être spécifié qu'une fois" -#: misc/tune2fs.c:1012 +#: misc/tune2fs.c:752 msgid "-O may only be specified once" msgstr "-O ne peut être spécifié qu'une fois" -#: misc/tune2fs.c:1027 +#: misc/tune2fs.c:762 #, c-format msgid "bad reserved blocks count - %s" msgstr "compteur de blocs réservés erroné - %s" -#: misc/tune2fs.c:1056 +#: misc/tune2fs.c:791 #, c-format msgid "bad uid/user name - %s" msgstr "nom utilisateur/uid erroné - %s" -#: misc/tune2fs.c:1073 +#: misc/tune2fs.c:808 #, c-format msgid "bad inode size - %s" msgstr "taille d'i-noeud invalide - %s" -#: misc/tune2fs.c:1080 +#: misc/tune2fs.c:815 #, c-format msgid "Inode size must be a power of two- %s" msgstr "La taille des i-noeuds doit être une puissance de deux - %s" -#: misc/tune2fs.c:1174 -#, c-format -msgid "mmp_update_interval too big: %lu\n" -msgstr "mmp_update_interval trop grand : %lu\n" - -#: misc/tune2fs.c:1179 -#, c-format -msgid "Setting multiple mount protection update interval to %lu second\n" -msgid_plural "Setting multiple mount protection update interval to %lu seconds\n" -msgstr[0] "Définition de l'intervale de mise à jour de la protection contre les montages multiples à %lu seconde\n" -msgstr[1] "Définition de l'intervale de mise à jour de la protection contre les montages multiples à %lu secondes\n" - -#: misc/tune2fs.c:1202 +#: misc/tune2fs.c:904 #, c-format msgid "Invalid RAID stride: %s\n" msgstr "Paramètre « stride RAID » invalide : %s\n" -#: misc/tune2fs.c:1217 +#: misc/tune2fs.c:919 #, c-format msgid "Invalid RAID stripe-width: %s\n" msgstr "Paramètre « stripe-width RAID » invalide : %s\n" -#: misc/tune2fs.c:1232 +#: misc/tune2fs.c:934 #, c-format msgid "Invalid hash algorithm: %s\n" msgstr "Algorithme de hachage invalide : %s\n" -#: misc/tune2fs.c:1238 +#: misc/tune2fs.c:940 #, c-format msgid "Setting default hash algorithm to %s (%d)\n" msgstr "Définition de l'algorithme de hachage par défaut à %s (%d)\n" -#: misc/tune2fs.c:1257 +#: misc/tune2fs.c:948 #, c-format msgid "" "\n" @@ -5231,11 +4755,9 @@ msgid "" "\tis set off by an equals ('=') sign.\n" "\n" "Valid extended options are:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" msgstr "" @@ -5246,39 +4768,29 @@ msgstr "" "\targument qui est défini à l'aide d'un signe d'égalité (« = »).\n" "\n" "Les options étendues valides sont:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe-width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" -#: misc/tune2fs.c:1723 -msgid "Failed to read inode bitmap\n" -msgstr "Échec de lecture du bitmap d'i-noeuds\n" - -#: misc/tune2fs.c:1728 -msgid "Failed to read block bitmap\n" -msgstr "Échec de lecture du bitmap de bloc\n" - -#: misc/tune2fs.c:1745 resize/resize2fs.c:870 +#: misc/tune2fs.c:1421 resize/resize2fs.c:790 msgid "blocks to be moved" msgstr "blocs à déplacer" -#: misc/tune2fs.c:1748 +#: misc/tune2fs.c:1424 msgid "Failed to allocate block bitmap when increasing inode size\n" msgstr "N'a pu allouer de bitmap de blocs lors d'une augmentation de taille d'i-noeud \n" -#: misc/tune2fs.c:1754 +#: misc/tune2fs.c:1430 msgid "Not enough space to increase inode size \n" msgstr "Pas assez d'espace pour augmenter la taille d'i-noeud \n" -#: misc/tune2fs.c:1759 +#: misc/tune2fs.c:1435 msgid "Failed to relocate blocks during inode resize \n" msgstr "N'a pu reloger des blocs lors d'un changement de taille d'i-noeud \n" -#: misc/tune2fs.c:1791 +#: misc/tune2fs.c:1467 msgid "" "Error in resizing the inode size.\n" "Run e2undo to undo the file system changes. \n" @@ -5286,16 +4798,7 @@ msgstr "" "Erreur lors du changement de la taille des i-noeuds.\n" "Exécutez e2undo pour défaire les changements du système de fichiers. \n" -#: misc/tune2fs.c:1818 -msgid "Couldn't allocate memory for tdb filename\n" -msgstr "Impossible d'allouer de la mémoire pour le nom du fichier tdb\n" - -#: misc/tune2fs.c:1840 -#, c-format -msgid "while trying to delete %s" -msgstr "lors de la tentative d'effacement de %s" - -#: misc/tune2fs.c:1850 +#: misc/tune2fs.c:1526 #, c-format msgid "" "To undo the tune2fs operation please run the command\n" @@ -5306,76 +4809,57 @@ msgstr "" " e2undo %s %s\n" "\n" -#: misc/tune2fs.c:1919 -#, c-format -msgid "" -"MMP block magic is bad. Try to fix it by running:\n" -"'e2fsck -f %s'\n" -msgstr "" -"Le numéro magique du bloc MMP est incorrect. Essayer de le corriger en lançant:\n" -"'e2fsck -f %s'\n" - -#: misc/tune2fs.c:1937 +#: misc/tune2fs.c:1587 #, c-format msgid "The inode size is already %lu\n" msgstr "La taille des i-noeuds est déjà %lu\n" -#: misc/tune2fs.c:1943 +#: misc/tune2fs.c:1592 #, c-format msgid "Shrinking the inode size is not supported\n" msgstr "La réduction de la taille des i-noeuds n'est pas supportée\n" -#: misc/tune2fs.c:1949 -#, c-format -msgid "Invalid inode size %lu (max %d)\n" -msgstr "Taille d'i-noeud invalide %lu (max %d)\n" - -#: misc/tune2fs.c:1996 +#: misc/tune2fs.c:1635 #, c-format msgid "Setting maximal mount count to %d\n" -msgstr "Définition du nombre maximal de montages à %d\n" +msgstr "Initialisation du nombre maximal de montages à %d\n" -#: misc/tune2fs.c:2002 +#: misc/tune2fs.c:1641 #, c-format msgid "Setting current mount count to %d\n" -msgstr "Définition du nombre courant de montages à %d\n" +msgstr "Initialisation du nombre courant de montages à %d\n" -#: misc/tune2fs.c:2007 +#: misc/tune2fs.c:1646 #, c-format msgid "Setting error behavior to %d\n" -msgstr "Définition du comportement en cas d'erreur à %d\n" +msgstr "Initialisation du comportement en cas d'erreur à %d\n" -#: misc/tune2fs.c:2012 +#: misc/tune2fs.c:1651 #, c-format msgid "Setting reserved blocks gid to %lu\n" -msgstr "Définition du gid des blocs réservés à %lu\n" +msgstr "Initialisation du gid des blocs réservés à %lu\n" -#: misc/tune2fs.c:2017 -#, c-format -msgid "interval between checks is too big (%lu)" -msgstr "l'intervalle entre les vérifications est trop grand (%lu)" - -#: misc/tune2fs.c:2024 +#: misc/tune2fs.c:1656 #, c-format msgid "Setting interval between checks to %lu seconds\n" -msgstr "Définition de l'intervalle de vérification à %lu secondes\n" +msgstr "Initialisation de l'intervalle de vérification à %lu secondes\n" -#: misc/tune2fs.c:2031 +#: misc/tune2fs.c:1663 #, c-format -msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n" -msgstr "Définition du pourcentage de blocs réservés à %g%% (%llu blocs)\n" +msgid "Setting reserved blocks percentage to %g%% (%u blocks)\n" +msgstr "Initialisation du pourcentage de blocs réservés à %g%% (%u blocs)\n" -#: misc/tune2fs.c:2037 +#: misc/tune2fs.c:1670 #, c-format -msgid "reserved blocks count is too big (%llu)" -msgstr "le nombre de blocs réservés est trop grand (%llu)" +msgid "reserved blocks count is too big (%lu)" +msgstr "compteur de blocs réservés est trop grand (%lu)" -#: misc/tune2fs.c:2044 +#: misc/tune2fs.c:1676 #, c-format -msgid "Setting reserved blocks count to %llu\n" -msgstr "Définition du nombre de blocs réservés à %llu\n" +msgid "Setting reserved blocks count to %lu\n" +msgstr "Initialisation du compteur des blocs réservés à %lu\n" -#: misc/tune2fs.c:2050 +#: misc/tune2fs.c:1682 msgid "" "\n" "The filesystem already has sparse superblocks.\n" @@ -5383,7 +4867,7 @@ msgstr "" "\n" "Le système de fichiers a déjà des superblocs creux.\n" -#: misc/tune2fs.c:2057 +#: misc/tune2fs.c:1689 #, c-format msgid "" "\n" @@ -5392,7 +4876,7 @@ msgstr "" "\n" "Drapeau de superbloc creux activé. %s" -#: misc/tune2fs.c:2062 +#: misc/tune2fs.c:1694 msgid "" "\n" "Clearing the sparse superflag not supported.\n" @@ -5400,37 +4884,29 @@ msgstr "" "\n" "La suppression du superflag creux n'est pas supportée.\n" -#: misc/tune2fs.c:2070 +#: misc/tune2fs.c:1701 #, c-format msgid "Setting time filesystem last checked to %s\n" msgstr "" -"Définition de la date de la dernière vérification du système de\n" +"Initialisation de la date de la dernière vérification du système de\n" "fichiers à %s\n" -#: misc/tune2fs.c:2076 +#: misc/tune2fs.c:1707 #, c-format msgid "Setting reserved blocks uid to %lu\n" -msgstr "Définition de l'uid de blocs réservés à %lu\n" - -#: misc/tune2fs.c:2108 -msgid "Error in using clear_mmp. It must be used with -f\n" -msgstr "Erreur lors de l'utilisation de clear_mmp. Elle doit être utilisée avec -f\n" +msgstr "Initialisation de l'uid de blocs réservés à %lu\n" -#: misc/tune2fs.c:2126 -msgid "The quota feature may only be changed when the filesystem is unmounted.\n" -msgstr "La fonctionalité de quota ne peut être changée que lorsque le système de fichiers est démonté.\n" - -#: misc/tune2fs.c:2159 +#: misc/tune2fs.c:1758 msgid "Invalid UUID format\n" msgstr "Format UUID invalide\n" -#: misc/tune2fs.c:2172 +#: misc/tune2fs.c:1770 msgid "The inode size may only be changed when the filesystem is unmounted.\n" msgstr "" "La taille des i-noeuds ne peut être changée que lorsque le système\n" "de fichiers et démonté.\n" -#: misc/tune2fs.c:2180 +#: misc/tune2fs.c:1777 msgid "" "Changing the inode size not supported for filesystems with the flex_bg\n" "feature enabled.\n" @@ -5438,41 +4914,31 @@ msgstr "" "Changer la taille des i-noeuds n'est pas supporté pour les systèmes de\n" "fichiers avec la fonctionalité flex_bg activée.\n" -#: misc/tune2fs.c:2193 +#: misc/tune2fs.c:1789 #, c-format msgid "Setting inode size %lu\n" msgstr "Définition de la taille des i-noeuds à %lu\n" -#: misc/tune2fs.c:2196 -#, c-format -msgid "Failed to change inode size\n" -msgstr "N'a pu changer la taille d'i-noeud \n" - -#: misc/tune2fs.c:2207 +#: misc/tune2fs.c:1799 #, c-format msgid "Setting stride size to %d\n" msgstr "Définition de la taille de « stride » à %d\n" -#: misc/tune2fs.c:2212 +#: misc/tune2fs.c:1804 #, c-format msgid "Setting stripe width to %d\n" msgstr "Définition de la taille du « stripe width » à %d\n" -#: misc/tune2fs.c:2219 -#, c-format -msgid "Setting extended default mount options to '%s'\n" -msgstr "Définition des options de montage étendues par défaut à « %s »\n" - -#: misc/util.c:74 +#: misc/util.c:72 msgid "Proceed anyway? (y,n) " msgstr "Procéder malgré tout ? (o,n) " -#: misc/util.c:89 +#: misc/util.c:93 #, c-format msgid "Could not stat %s --- %s\n" msgstr "Ne peut évaluer par stat() %s --- %s\n" -#: misc/util.c:92 +#: misc/util.c:96 msgid "" "\n" "The device apparently does not exist; did you specify it correctly?\n" @@ -5481,36 +4947,36 @@ msgstr "" "Le périphérique n'existe apparemment pas ; l'avez-vous spécifié\n" "correctement ?\n" -#: misc/util.c:103 +#: misc/util.c:107 #, c-format msgid "%s is not a block special device.\n" msgstr "%s n'est pas un périphérique spécial en mode bloc.\n" -#: misc/util.c:132 +#: misc/util.c:136 #, c-format msgid "%s is entire device, not just one partition!\n" msgstr "%s est le périphérique en intégralité, pas seulement une partition !\n" -#: misc/util.c:154 +#: misc/util.c:158 msgid "mke2fs forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "" "l'exécution de mke2fs est tout de même forcée.\n" "Espérons que /etc/mtab est incorrect.\n" -#: misc/util.c:159 +#: misc/util.c:163 #, c-format msgid "will not make a %s here!\n" msgstr "ne fera pas un %s ici !\n" -#: misc/util.c:166 +#: misc/util.c:170 msgid "mke2fs forced anyway.\n" msgstr "l'exécution de mke2fs est tout de même forcée.\n" -#: misc/util.c:182 +#: misc/util.c:186 msgid "Couldn't allocate memory to parse journal options!\n" msgstr "N'a pu allouer de la mémoire pour analyser les options du journal !\n" -#: misc/util.c:207 +#: misc/util.c:211 #, c-format msgid "" "\n" @@ -5519,7 +4985,7 @@ msgstr "" "\n" "N'a pu trouver le périphérique de journal correspondant à %s\n" -#: misc/util.c:228 +#: misc/util.c:232 msgid "" "\n" "Bad journal options specified.\n" @@ -5548,7 +5014,7 @@ msgstr "" "système de fichiers.\n" "\n" -#: misc/util.c:258 +#: misc/util.c:262 msgid "" "\n" "Filesystem too small for a journal\n" @@ -5556,7 +5022,7 @@ msgstr "" "\n" "Le système de fichiers est trop petit pour un journal\n" -#: misc/util.c:265 +#: misc/util.c:269 #, c-format msgid "" "\n" @@ -5567,7 +5033,7 @@ msgstr "" "La taille demandée du journal est de %d blocs ; elle doit être\n" "entre 1024 et 10240000 blocs. Arrêt immédiat.\n" -#: misc/util.c:273 +#: misc/util.c:277 msgid "" "\n" "Journal size too big for filesystem.\n" @@ -5585,213 +5051,84 @@ msgstr "" "après %g jours, selon la première éventualité. Utiliser tune2fs -c ou -i\n" "pour écraser la valeur.\n" -#: misc/uuidd.c:48 -#, c-format -msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n" -msgstr "Utilisation : %s [-d] [-p fichier-pid] [-s chemin-socket] [-T délai]\n" - -#: misc/uuidd.c:50 -#, c-format -msgid " %s [-r|t] [-n num] [-s socketpath]\n" -msgstr " %s [-r|t] [-n num] [-s chemin-socket]\n" - -#: misc/uuidd.c:52 -#, c-format -msgid " %s -k\n" -msgstr " %s -k\n" - -#: misc/uuidd.c:154 -msgid "bad arguments" -msgstr "mauvais arguments" - -#: misc/uuidd.c:172 -msgid "connect" -msgstr "connection" - -#: misc/uuidd.c:191 -msgid "write" -msgstr "écriture" - -#: misc/uuidd.c:199 -msgid "read count" -msgstr "nombre de lectures" - -#: misc/uuidd.c:205 -msgid "bad response length" -msgstr "longueur de réponse invalide" - -#: misc/uuidd.c:270 -#, c-format -msgid "uuidd daemon already running at pid %s\n" -msgstr "le démon uuidd est déjà en cours d'exécution avec pour pid %s\n" - -#: misc/uuidd.c:278 -#, c-format -msgid "Couldn't create unix stream socket: %s" -msgstr "N'a pas pu créer la socket unix de flux : %s" - -#: misc/uuidd.c:307 -#, c-format -msgid "Couldn't bind unix socket %s: %s\n" -msgstr "N'a pas pu attacher la socket unix %s : %s\n" - -#: misc/uuidd.c:315 -#, c-format -msgid "Couldn't listen on unix socket %s: %s\n" -msgstr "N'a pas pu écouter sur la socket unix %s : %s\n" - -#: misc/uuidd.c:353 -#, c-format -msgid "Error reading from client, len = %d\n" -msgstr "Erreur lors de la lecture depuis le client, longueur = %d\n" - -#: misc/uuidd.c:361 -#, c-format -msgid "operation %d, incoming num = %d\n" -msgstr "opération %d, num entrant = %d\n" - -#: misc/uuidd.c:380 -#, c-format -msgid "Generated time UUID: %s\n" -msgstr "UUID de temps généré : %s\n" - -#: misc/uuidd.c:390 -#, c-format -msgid "Generated random UUID: %s\n" -msgstr "UUID aléatoire généré : %s\n" - -#: misc/uuidd.c:399 -#, c-format -msgid "Generated time UUID %s and subsequent UUID\n" -msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n" -msgstr[0] "UUID de temps %s et %d suivant générés\n" -msgstr[1] "UUID de temps %s et %d suivants générés\n" - -#: misc/uuidd.c:420 -#, c-format -msgid "Generated %d UUID's:\n" -msgstr "Généré %d UUIDs :\n" - -#: misc/uuidd.c:432 -#, c-format -msgid "Invalid operation %d\n" -msgstr "Operation %d invalide\n" - -#: misc/uuidd.c:476 misc/uuidd.c:498 -#, c-format -msgid "Bad number: %s\n" -msgstr "Nombre invalide : %s\n" - -#: misc/uuidd.c:533 misc/uuidd.c:562 -#, c-format -msgid "Error calling uuidd daemon (%s): %s\n" -msgstr "Erreur lors de l'appel au démon uuidd (%s) : %s\n" - -#: misc/uuidd.c:543 -#, c-format -msgid "%s and subsequent UUID\n" -msgid_plural "%s and subsequent %d UUIDs\n" -msgstr[0] "%s et UUID suivant\n" -msgstr[1] "%s et %d UUIDs suivants\n" - -#: misc/uuidd.c:547 -#, c-format -msgid "List of UUID's:\n" -msgstr "Liste des UUIDs :\n" - -#: misc/uuidd.c:568 -#, c-format -msgid "Unexpected reply length from server %d\n" -msgstr "Longueur de réponse inattendue depuis le serveur %d\n" - -#: misc/uuidd.c:585 -#, c-format -msgid "Couldn't kill uuidd running at pid %d: %s\n" -msgstr "N'a pu tuer l'uuidd en cours d'exécution sous le pid %d : %s\n" - -#: misc/uuidd.c:591 -#, c-format -msgid "Killed uuidd running at pid %d\n" -msgstr "A tué l'uuid en cours d'exécution sous le pid %d\n" - -#: misc/uuidgen.c:32 +#: misc/uuidgen.c:31 #, c-format msgid "Usage: %s [-r] [-t]\n" -msgstr "Utilisation : %s [-r] [-t]\n" +msgstr "Usage : %s [-r] [-t]\n" -#: resize/extent.c:202 +#: resize/extent.c:196 msgid "# Extent dump:\n" msgstr "# Vidange des extents :\n" -#: resize/extent.c:203 +#: resize/extent.c:197 +#, c-format +msgid "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" +msgstr "#\tNb =%d, Taille=%d, Curseur=%d, Triés=%d\n" + +#: resize/extent.c:200 #, c-format -msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n" -msgstr "#\tNb=%llu, Taille=%llu, Curseur=%llu, Triés=%llu\n" +msgid "#\t\t %u -> %u (%d)\n" +msgstr "#\t\t %u -> %u (%d)\n" -#: resize/main.c:43 +#: resize/main.c:42 #, c-format msgid "" "Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" "\n" msgstr "" -"Utilisation : %s [-d drapeaux_de_debug] [-f] [-F] [-M] [ -P] [-p] périphérique\n" +"Usage : %s [-d drapeaux_de_debug] [-f] [-F] [-M] [ -P] [-p] périphérique\n" " [nouvelle_taille]\n" "\n" -#: resize/main.c:65 +#: resize/main.c:64 msgid "Extending the inode table" msgstr "Extension de la table d'i-noeuds" -#: resize/main.c:68 +#: resize/main.c:67 msgid "Relocating blocks" msgstr "Relocalisation de blocs" -#: resize/main.c:71 +#: resize/main.c:70 msgid "Scanning inode table" msgstr "Examen de la table d'i-noeuds" -#: resize/main.c:74 +#: resize/main.c:73 msgid "Updating inode references" msgstr "Mise à jour des références d'i-noeuds" -#: resize/main.c:77 +#: resize/main.c:76 msgid "Moving inode table" msgstr "Déplacement de la table d'i-noeuds" -#: resize/main.c:80 +#: resize/main.c:79 msgid "Unknown pass?!?" msgstr "Passe inconnue ?!?!" -#: resize/main.c:83 +#: resize/main.c:82 #, c-format msgid "Begin pass %d (max = %lu)\n" msgstr "Début de la passe %d (max = %lu)\n" -#: resize/main.c:154 -#, c-format -msgid "" -"\n" -"Resizing bigalloc file systems has not been fully tested. Proceed\n" -"at your own risk! Use the force option if you want to go ahead anyway.\n" -"\n" -msgstr "" -"\n" -"Retailler un système de fichier bigalloc n'a pas été complètement testé.\n" -"Procédez selon votre propre risque ! Utilisez l'option force si vous\n" -"voulez continuer malgré tout.\n" -"\n" - -#: resize/main.c:271 +#: resize/main.c:265 #, c-format msgid "while opening %s" msgstr "lors de l'ouverture de %s" -#: resize/main.c:279 +#: resize/main.c:277 #, c-format msgid "while getting stat information for %s" msgstr "lors de la récupérartion de l'état de %s" -#: resize/main.c:337 resize/main.c:450 +#: resize/main.c:338 +#, c-format +msgid "" +"%s: The combination of flex_bg and\n" +"\t!resize_inode features is not supported by resize2fs.\n" +msgstr "" +"%s : La combinaison des fonctionnalités\n" +"\tflex_bg et !resize_inode n'est pas supportée par resize2fs.\n" + +#: resize/main.c:352 resize/main.c:452 #, c-format msgid "" "Please run 'e2fsck -f %s' first.\n" @@ -5800,964 +5137,146 @@ msgstr "" "SVP exécutez « e2fsck -f %s » d'abord.\n" "\n" -#: resize/main.c:341 +#: resize/main.c:356 #, c-format -msgid "Estimated minimum size of the filesystem: %llu\n" -msgstr "Taille minimale estimée du système de fichiers : %llu\n" +msgid "Estimated minimum size of the filesystem: %u\n" +msgstr "Taille minimale estimée du système de fichiers : %u\n" -#: resize/main.c:377 +#: resize/main.c:392 #, c-format msgid "Invalid new size: %s\n" msgstr "taille d'i-noeud invalide - %s\n" -#: resize/main.c:393 -msgid "New size too large to be expressed in 32 bits\n" -msgstr "La nouvelle taille est trop grande pour être exprimée sur 32 bits\n" - -#: resize/main.c:401 +#: resize/main.c:404 #, c-format -msgid "New size smaller than minimum (%llu)\n" -msgstr "La nouvelle taille est plus petite que le minimum (%llu)\n" +msgid "New size smaller than minimum (%u)\n" +msgstr "La nouvelle taille est plus petit que le minimum (%u)\n" -#: resize/main.c:407 +#: resize/main.c:410 msgid "Invalid stride length" msgstr "Longueur « stride » invalide" -#: resize/main.c:431 +#: resize/main.c:434 #, c-format msgid "" -"The containing partition (or device) is only %llu (%dk) blocks.\n" -"You requested a new size of %llu blocks.\n" +"The containing partition (or device) is only %u (%dk) blocks.\n" +"You requested a new size of %u blocks.\n" "\n" msgstr "" -"La partition (ou le périphérique) contenante n'a que %llu (%dk) blocs.\n" -"Vous avez demandé une nouvelle taille de %llu blocs.\n" +"La partition (ou le périphérique) n'a seulement que %u (%dk) blocs.\n" +"Vous avez demandé une nouvelle taille de %u blocs.\n" "\n" -#: resize/main.c:438 +#: resize/main.c:441 #, c-format msgid "" -"The filesystem is already %llu blocks long. Nothing to do!\n" +"The filesystem is already %u blocks long. Nothing to do!\n" "\n" msgstr "" -"Le système de fichiers a déjà %llu blocs. Rien à modifier !\n" +"Le système de fichiers a déjà %u blocs. Rien à modifier !\n" "\n" -#: resize/main.c:455 +#: resize/main.c:456 #, c-format -msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n" -msgstr "En train de redimensionner le système de fichiers sur %s à %llu (%dk) blocs.\n" +msgid "Resizing the filesystem on %s to %u (%dk) blocks.\n" +msgstr "En train de retailler le système de fichiers sur %s à %u (%dk) blocs.\n" -#: resize/main.c:464 +#: resize/main.c:465 #, c-format msgid "while trying to resize %s" msgstr "lors de la tentative de changement de taille de %s" -#: resize/main.c:467 +#: resize/main.c:468 #, c-format msgid "" "Please run 'e2fsck -fy %s' to fix the filesystem\n" "after the aborted resize operation.\n" msgstr "" -"Veuillez lancer « e2fsck -fy %s » pour corriger le système de fichiers\n" +"Veuillez lancer 'e2fsck -fy %s' pour corriger le système de fichier\n" "après l'opération de changement de taille avortée.\n" -#: resize/main.c:473 +#: resize/main.c:474 #, c-format msgid "" -"The filesystem on %s is now %llu blocks long.\n" +"The filesystem on %s is now %u blocks long.\n" "\n" msgstr "" -"Le système de fichiers %s a maintenant une taille de %llu blocs.\n" +"Le système de fichiers %s a maintenant une taille de %u blocs.\n" "\n" -#: resize/main.c:488 +#: resize/main.c:489 #, c-format msgid "while trying to truncate %s" msgstr "lors de la troncature de %s" -#: resize/online.c:79 +#: resize/online.c:37 #, c-format msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" msgstr "Le système de fichiers de %s est monté sur %s ; le changement de taille doit être effectué en ligne\n" -#: resize/online.c:83 -msgid "On-line shrinking not supported" -msgstr "La réduction en ligne n'est pas supportée" +#: resize/online.c:41 +#, c-format +msgid "On-line shrinking from %u to %u not supported.\n" +msgstr "La réduction en ligne de %u à %u n'est pas supportée.\n" -#: resize/online.c:108 +#: resize/online.c:61 msgid "Filesystem does not support online resizing" msgstr "Le système de fichiers ne supporte pas le changement de taille en ligne" -#: resize/online.c:117 -msgid "Not enough reserved gdt blocks for resizing" -msgstr "Pas assez de blocs gdt réservés pour un changement de taille" - -#: resize/online.c:124 -msgid "Kernel does not support resizing a file system this large" -msgstr "Le noyau ne sait pas retailler un système de fichiers d'une telle taille" - -#: resize/online.c:132 +#: resize/online.c:68 #, c-format msgid "while trying to open mountpoint %s" msgstr "lors de la tentative d'ouverture du point de montage %s" -#: resize/online.c:137 -#, c-format -msgid "Old resize interface requested.\n" -msgstr "Utilisation de l'ancienne interface de changement de taille.\n" - -#: resize/online.c:156 resize/online.c:173 +#: resize/online.c:76 msgid "Permission denied to resize filesystem" -msgstr "Permission de redimensionner le système de fichiers refusée" +msgstr "Permission de retailler le système de fichiers refusée" -#: resize/online.c:159 resize/online.c:179 -msgid "While checking for on-line resizing support" -msgstr "Lors de la vérification du support de changement de taille en ligne" - -#: resize/online.c:176 +#: resize/online.c:79 msgid "Kernel does not support online resizing" msgstr "Le noyau ne supporte pas le changement de taille en ligne" -#: resize/online.c:209 +#: resize/online.c:82 +msgid "While checking for on-line resizing support" +msgstr "Lors de la vérification du support de changement de taille en ligne" + +#: resize/online.c:111 #, c-format -msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n" -msgstr "En train d'effectuer un changement de taille en ligne de %s vers %llu (%dk) blocs.\n" +msgid "Performing an on-line resize of %s to %u (%dk) blocks.\n" +msgstr "En train d'effectuer un changement de taille en ligne de %s vers %u (%dk) blocs.\n" -#: resize/online.c:219 +#: resize/online.c:121 msgid "While trying to extend the last group" msgstr "Lors de la tentative d'étendre le dernier groupe" -#: resize/online.c:273 +#: resize/online.c:180 #, c-format msgid "While trying to add group #%d" msgstr "Lors de la tentative d'ajout du groupe numéro %d" -#: resize/online.c:284 +#: resize/online.c:191 #, c-format msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n" msgstr "Le système de fichiers de %s est monté sur %s, et le changement de taille en ligne n'est pas supporté sur ce système.\n" -#: resize/resize2fs.c:369 +#: resize/resize2fs.c:350 #, c-format msgid "inodes (%llu) must be less than %u" msgstr "le nombre d'i-noeuds (%llu) doit être plus petit que %u" -#: resize/resize2fs.c:631 +#: resize/resize2fs.c:582 msgid "reserved blocks" msgstr "blocs réservés" -#: resize/resize2fs.c:875 +#: resize/resize2fs.c:795 msgid "meta-data blocks" msgstr "blocs de métadonnées" -#: resize/resize2fs.c:1837 +#: resize/resize2fs.c:1752 #, c-format msgid "Should never happen: resize inode corrupt!\n" msgstr "Ne devrait jamais se produire : i-noeud de redimensionnement corrompu !\n" -#: lib/ext2fs/ext2_err.c:11 -msgid "EXT2FS Library version 1.42.8" -msgstr "Librairie EXT2FS version 1.42.8" - -#: lib/ext2fs/ext2_err.c:12 -msgid "Wrong magic number for ext2_filsys structure" -msgstr "Numéro magique invalide pour la structure ext2_filsys" - -#: lib/ext2fs/ext2_err.c:13 -msgid "Wrong magic number for badblocks_list structure" -msgstr "Numéro magique invalide pour la structure badblocks_list" - -#: lib/ext2fs/ext2_err.c:14 -msgid "Wrong magic number for badblocks_iterate structure" -msgstr "Numéro magique invalide pour la structure badblocks_iterate" - -#: lib/ext2fs/ext2_err.c:15 -msgid "Wrong magic number for inode_scan structure" -msgstr "Numéro magique invalide pour la structure inode_scan" - -#: lib/ext2fs/ext2_err.c:16 -msgid "Wrong magic number for io_channel structure" -msgstr "Numéro magique invalide pour la structure io_channel" - -#: lib/ext2fs/ext2_err.c:17 -msgid "Wrong magic number for unix io_channel structure" -msgstr "Numéro magique invalide pour la structure io_channel unix" - -#: lib/ext2fs/ext2_err.c:18 -msgid "Wrong magic number for io_manager structure" -msgstr "Numéro magique invalide pour la structure io_manager" - -#: lib/ext2fs/ext2_err.c:19 -msgid "Wrong magic number for block_bitmap structure" -msgstr "Numéro magique invalide pour la structure block_bitmap" - -#: lib/ext2fs/ext2_err.c:20 -msgid "Wrong magic number for inode_bitmap structure" -msgstr "Numéro magique invalide pour la structure inode_bitmap" - -#: lib/ext2fs/ext2_err.c:21 -msgid "Wrong magic number for generic_bitmap structure" -msgstr "Numéro magique invalide pour la structure generic_bitmap" - -#: lib/ext2fs/ext2_err.c:22 -msgid "Wrong magic number for test io_channel structure" -msgstr "Numéro magique invalide pour la structure io_channel de test" - -#: lib/ext2fs/ext2_err.c:23 -msgid "Wrong magic number for directory block list structure" -msgstr "Numéro magique invalide pour la structure de liste de bloc de répertoire" - -#: lib/ext2fs/ext2_err.c:24 -msgid "Wrong magic number for icount structure" -msgstr "Numéro magique invalide pour la structure icount" - -#: lib/ext2fs/ext2_err.c:25 -msgid "Wrong magic number for Powerquest io_channel structure" -msgstr "Numéro magique invalide pour la structure Powerquest io_channel" - -#: lib/ext2fs/ext2_err.c:26 -msgid "Wrong magic number for ext2 file structure" -msgstr "Numéro magique invalide pour la structure de fichier ext2" - -#: lib/ext2fs/ext2_err.c:27 -msgid "Wrong magic number for Ext2 Image Header" -msgstr "Numéro magique invalide pour l'en-tête d'image Ext2" - -#: lib/ext2fs/ext2_err.c:28 -msgid "Wrong magic number for inode io_channel structure" -msgstr "Numéro magique invalide pour la structure io_channel d'i-noeud" - -#: lib/ext2fs/ext2_err.c:29 -msgid "Wrong magic number for ext4 extent handle" -msgstr "Numéro magique invalide pour le handle d'extent ext4" - -#: lib/ext2fs/ext2_err.c:30 -msgid "Bad magic number in super-block" -msgstr "Numéro magique invalide dans le super-bloc" - -#: lib/ext2fs/ext2_err.c:31 -msgid "Filesystem revision too high" -msgstr "Révision de système de fichier trop grande" - -#: lib/ext2fs/ext2_err.c:32 -msgid "Attempt to write to filesystem opened read-only" -msgstr "Tentative d'écriture dans un système de fichiers ouvert en lecture seule" - -#: lib/ext2fs/ext2_err.c:33 -msgid "Can't read group descriptors" -msgstr "Ne peut lire les descripteurs de groupes" - -#: lib/ext2fs/ext2_err.c:34 -msgid "Can't write group descriptors" -msgstr "Ne peut écrire les descripteurs de groupes" - -#: lib/ext2fs/ext2_err.c:35 -msgid "Corrupt group descriptor: bad block for block bitmap" -msgstr "Descripteur de groupe corrompu : bloc invalide pour le bitmap de blocs" - -#: lib/ext2fs/ext2_err.c:36 -msgid "Corrupt group descriptor: bad block for inode bitmap" -msgstr "Descripteur de groupe corrompu : bloc invalide pour le bitmap d'i-noeuds" - -#: lib/ext2fs/ext2_err.c:37 -msgid "Corrupt group descriptor: bad block for inode table" -msgstr "Descripteur de groupe corrompu : bloc invalide pour la table d'i-noeuds" - -#: lib/ext2fs/ext2_err.c:38 -msgid "Can't write an inode bitmap" -msgstr "Ne peut écrire un bitmap d'i-noeuds" - -#: lib/ext2fs/ext2_err.c:39 -msgid "Can't read an inode bitmap" -msgstr "Ne peut lire un bitmap d'i-noeuds" - -#: lib/ext2fs/ext2_err.c:40 -msgid "Can't write an block bitmap" -msgstr "Ne peut écrire un bitmap de blocs" - -#: lib/ext2fs/ext2_err.c:41 -msgid "Can't read an block bitmap" -msgstr "Ne peut lire un bitmap de blocs" - -#: lib/ext2fs/ext2_err.c:42 -msgid "Can't write an inode table" -msgstr "Ne peut écrire une table d'i-noeuds" - -#: lib/ext2fs/ext2_err.c:43 -msgid "Can't read an inode table" -msgstr "Ne peut lire une table d'i-noeuds" - -#: lib/ext2fs/ext2_err.c:44 -msgid "Can't read next inode" -msgstr "Ne peut lire l'i-noeud suivant" - -#: lib/ext2fs/ext2_err.c:45 -msgid "Filesystem has unexpected block size" -msgstr "Le système de fichiers a une taille de bloc inattendue" - -#: lib/ext2fs/ext2_err.c:46 -msgid "EXT2 directory corrupted" -msgstr "Répertoire EXT2 corrompu" - -#: lib/ext2fs/ext2_err.c:47 -msgid "Attempt to read block from filesystem resulted in short read" -msgstr "La tentative de lecture d'un bloc depuis le système de fichiers a produit une lecture tronquée" - -#: lib/ext2fs/ext2_err.c:48 -msgid "Attempt to write block to filesystem resulted in short write" -msgstr "La tentative d'écriture d'un block vers le système de fichiers a produit une écriture tronquée" - -#: lib/ext2fs/ext2_err.c:49 -msgid "No free space in the directory" -msgstr "Pas de place libre dans le répertoire" - -#: lib/ext2fs/ext2_err.c:50 -msgid "Inode bitmap not loaded" -msgstr "Bitmap d'i-noeuds non chargé" - -#: lib/ext2fs/ext2_err.c:51 -msgid "Block bitmap not loaded" -msgstr "Bitmap de blocs non chargé" - -#: lib/ext2fs/ext2_err.c:52 -msgid "Illegal inode number" -msgstr "Numéro d'i-noeud illégal" - -#: lib/ext2fs/ext2_err.c:53 -msgid "Illegal block number" -msgstr "Numéro de bloc illégal" - -#: lib/ext2fs/ext2_err.c:54 -msgid "Internal error in ext2fs_expand_dir" -msgstr "Erreur interne dans ext2fs_expand_dir" - -#: lib/ext2fs/ext2_err.c:55 -msgid "Not enough space to build proposed filesystem" -msgstr "Pas assez d'espace pour construire le système de fichiers proposé" - -#: lib/ext2fs/ext2_err.c:56 -msgid "Illegal block number passed to ext2fs_mark_block_bitmap" -msgstr "Numéro de blocs illégal passé à ext2fs_mark_block_bitmap" - -#: lib/ext2fs/ext2_err.c:57 -msgid "Illegal block number passed to ext2fs_unmark_block_bitmap" -msgstr "Numéro de blocs illégal passé à ext2fs_unmark_block_bitmap" - -#: lib/ext2fs/ext2_err.c:58 -msgid "Illegal block number passed to ext2fs_test_block_bitmap" -msgstr "Numéro de blocs illégal passé à ext2fs_test_block_bitmap" - -#: lib/ext2fs/ext2_err.c:59 -msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap" -msgstr "Numéro de blocs illégal passé à ext2fs_mark_inode_bitmap" - -#: lib/ext2fs/ext2_err.c:60 -msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap" -msgstr "Numéro de blocs illégal passé à ext2fs_unmark_inode_bitmap" - -#: lib/ext2fs/ext2_err.c:61 -msgid "Illegal inode number passed to ext2fs_test_inode_bitmap" -msgstr "Numéro de blocs illégal passé à ext2fs_test_inode_bitmap" - -#: lib/ext2fs/ext2_err.c:62 -msgid "Attempt to fudge end of block bitmap past the real end" -msgstr "Tentative de truquage de la fin du bitmap de blocs au-delà de la fin réelle" - -#: lib/ext2fs/ext2_err.c:63 -msgid "Attempt to fudge end of inode bitmap past the real end" -msgstr "Tentative de truquage de la fin du bitmap d'i-noeuds au-delà de la fin réelle" - -#: lib/ext2fs/ext2_err.c:64 -msgid "Illegal indirect block found" -msgstr "Bloc indirect illégal repéré" - -#: lib/ext2fs/ext2_err.c:65 -msgid "Illegal doubly indirect block found" -msgstr "Bloc doublement indirect illégal repéré" - -#: lib/ext2fs/ext2_err.c:66 -msgid "Illegal triply indirect block found" -msgstr "Bloc triplement indirect illégal repéré" - -#: lib/ext2fs/ext2_err.c:67 -msgid "Block bitmaps are not the same" -msgstr "Les bitmaps de blocs ne sont pas les mêmes" - -#: lib/ext2fs/ext2_err.c:68 -msgid "Inode bitmaps are not the same" -msgstr "Les bitmaps d'i-noeuds ne sont pas les mêmes" - -#: lib/ext2fs/ext2_err.c:69 -msgid "Illegal or malformed device name" -msgstr "Nom de périphérique illégal ou mal formé" - -#: lib/ext2fs/ext2_err.c:70 -msgid "A block group is missing an inode table" -msgstr "Il manque une table d'i-noeuds à un groupe de blocs" - -#: lib/ext2fs/ext2_err.c:71 -msgid "The ext2 superblock is corrupt" -msgstr "Le superbloc ext2 est corrompu" - -#: lib/ext2fs/ext2_err.c:72 -msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap" -msgstr "Numéro de bit générique illégal passé à ext2fs_mark_generic_bitmap" - -#: lib/ext2fs/ext2_err.c:73 -msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap" -msgstr "Numéro de bit générique illégal passé à ext2fs_unmark_generic_bitmap" - -#: lib/ext2fs/ext2_err.c:74 -msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap" -msgstr "Numéro de bit générique illégal passé à ext2fs_test_generic_bitmap" - -#: lib/ext2fs/ext2_err.c:75 -msgid "Too many symbolic links encountered." -msgstr "Trop de liens symboliques rencontrés." - -#: lib/ext2fs/ext2_err.c:76 -msgid "The callback function will not handle this case" -msgstr "La fonction de rappel ne traitera pas ce cas" - -#: lib/ext2fs/ext2_err.c:77 -msgid "The inode is from a bad block in the inode table" -msgstr "L'i-noeud provient d'un bloc défectueux dans la table d'i-noeuds" - -#: lib/ext2fs/ext2_err.c:78 -msgid "Filesystem has unsupported feature(s)" -msgstr "Le système de fichiers a une(des) fonctionnalité(s) non supportée(s)" - -#: lib/ext2fs/ext2_err.c:79 -msgid "Filesystem has unsupported read-only feature(s)" -msgstr "Le système de fichiers a une(des) fonctionnalité(s) en lecture seule non supportées" - -#: lib/ext2fs/ext2_err.c:80 -msgid "IO Channel failed to seek on read or write" -msgstr "Le canal d'E/S n'a pas pu se déplacer sur une lecture ou écriture" - -#: lib/ext2fs/ext2_err.c:81 -msgid "Memory allocation failed" -msgstr "Échec d'allocation mémoire" - -#: lib/ext2fs/ext2_err.c:82 -msgid "Invalid argument passed to ext2 library" -msgstr "Argument invalide passé à la bibliothèque ext2" - -#: lib/ext2fs/ext2_err.c:83 -msgid "Could not allocate block in ext2 filesystem" -msgstr "N'a pu allouer de bloc dans le système de fichiers ext2" - -#: lib/ext2fs/ext2_err.c:84 -msgid "Could not allocate inode in ext2 filesystem" -msgstr "N'a pu allouer d'i-noeud dans le système de fichiers ext2" - -#: lib/ext2fs/ext2_err.c:85 -msgid "Ext2 inode is not a directory" -msgstr "L'i-noeud ext2 n'est pas un répertoire" - -#: lib/ext2fs/ext2_err.c:86 -msgid "Too many references in table" -msgstr "Trop de références dans la table" - -#: lib/ext2fs/ext2_err.c:87 -msgid "File not found by ext2_lookup" -msgstr "Fichier non trouvé par ext2_lookup" - -#: lib/ext2fs/ext2_err.c:88 -msgid "File open read-only" -msgstr "Fichier ouvert en lecture seule" - -#: lib/ext2fs/ext2_err.c:89 -msgid "Ext2 directory block not found" -msgstr "Bloc de répertoire d'ext2 non trouvé" - -#: lib/ext2fs/ext2_err.c:90 -msgid "Ext2 directory already exists" -msgstr "Le répertoire ext2 existe déjà" - -#: lib/ext2fs/ext2_err.c:91 -msgid "Unimplemented ext2 library function" -msgstr "Function de bibliothèque ext2 non implémentée" - -#: lib/ext2fs/ext2_err.c:92 -msgid "User cancel requested" -msgstr "Requête d'annulation utilisateur" - -#: lib/ext2fs/ext2_err.c:93 -msgid "Ext2 file too big" -msgstr "Fichier ext2 trop grand" - -#: lib/ext2fs/ext2_err.c:94 -msgid "Supplied journal device not a block device" -msgstr "Le périphérique de journal fourni n'est pas un périphérique de bloc" - -#: lib/ext2fs/ext2_err.c:95 -msgid "Journal superblock not found" -msgstr "Le superbloc de journal non trouvé" - -#: lib/ext2fs/ext2_err.c:96 -msgid "Journal must be at least 1024 blocks" -msgstr "Le journal doit avoir au moins 1024 blocs" - -#: lib/ext2fs/ext2_err.c:97 -msgid "Unsupported journal version" -msgstr "Version de journal non supportée" - -#: lib/ext2fs/ext2_err.c:98 -msgid "Error loading external journal" -msgstr "Erreur lors de l'ouverture du journal externe" - -#: lib/ext2fs/ext2_err.c:99 -msgid "Journal not found" -msgstr "Journal non trouvé" - -#: lib/ext2fs/ext2_err.c:100 -msgid "Directory hash unsupported" -msgstr "Hachage de répertoire non supporté" - -#: lib/ext2fs/ext2_err.c:101 -msgid "Illegal extended attribute block number" -msgstr "Numéro de bloc d'attribut étendu illégal" - -#: lib/ext2fs/ext2_err.c:102 -msgid "Cannot create filesystem with requested number of inodes" -msgstr "Ne peut créer le système de fichiers avec le nombre requis d'i-noeuds" - -#: lib/ext2fs/ext2_err.c:103 -msgid "E2image snapshot not in use" -msgstr "L'instantané E2image n'est pas en cours d'utilisation" - -#: lib/ext2fs/ext2_err.c:104 -msgid "Too many reserved group descriptor blocks" -msgstr "Trop de blocs de descripteurs de groupes réservés" - -#: lib/ext2fs/ext2_err.c:105 -msgid "Resize inode is corrupt" -msgstr "L'i-noeud de changement de taille est corrompu" - -#: lib/ext2fs/ext2_err.c:106 -msgid "Tried to set block bmap with missing indirect block" -msgstr "A essayé de définir le bitmap de blocs avec un bloc indirect manquant" - -#: lib/ext2fs/ext2_err.c:107 -msgid "TDB: Success" -msgstr "TDB : Succès" - -#: lib/ext2fs/ext2_err.c:108 -msgid "TDB: Corrupt database" -msgstr "TDB : Base de données corrompue" - -#: lib/ext2fs/ext2_err.c:109 -msgid "TDB: IO Error" -msgstr "TDB : Erreur E/S" - -#: lib/ext2fs/ext2_err.c:110 -msgid "TDB: Locking error" -msgstr "TDB : Erreur de verrouillage" - -#: lib/ext2fs/ext2_err.c:111 -msgid "TDB: Out of memory" -msgstr "TDB : Dépassement mémoire" - -#: lib/ext2fs/ext2_err.c:112 -msgid "TDB: Record exists" -msgstr "TDB : L'enregistrement existe" - -#: lib/ext2fs/ext2_err.c:113 -msgid "TDB: Lock exists on other keys" -msgstr "TDB : le verrou existe sur d'autres clés" - -#: lib/ext2fs/ext2_err.c:114 -msgid "TDB: Invalid parameter" -msgstr "TDB : paramètre invalide" - -#: lib/ext2fs/ext2_err.c:115 -msgid "TDB: Record does not exist" -msgstr "TDB : L'enregistrement n'existe pas" - -#: lib/ext2fs/ext2_err.c:116 -msgid "TDB: Write not permitted" -msgstr "TDB : Écriture non permise" - -#: lib/ext2fs/ext2_err.c:117 -msgid "Ext2fs directory block list is empty" -msgstr "La liste de blocs de répertoires ext2fs est vide" - -#: lib/ext2fs/ext2_err.c:118 -msgid "Attempt to modify a block mapping via a read-only block iterator" -msgstr "Tentative de modification d'un plan de blocs via un itérateur de blocs en lecture seule" - -#: lib/ext2fs/ext2_err.c:119 -msgid "Wrong magic number for ext4 extent saved path" -msgstr "Numéro magique invalide pour le chemin d'extent ext4 sauvé" - -#: lib/ext2fs/ext2_err.c:120 -msgid "Wrong magic number for 64-bit generic bitmap" -msgstr "Numéro magique invalide pour le bitmap générique 64-bit" - -#: lib/ext2fs/ext2_err.c:121 -msgid "Wrong magic number for 64-bit block bitmap" -msgstr "Numéro magique invalide pour le bitmap de blocs 64-bit" - -#: lib/ext2fs/ext2_err.c:122 -msgid "Wrong magic number for 64-bit inode bitmap" -msgstr "Numéro magique invalide pour le bitmap d'i-noeuds 64-bit" - -#: lib/ext2fs/ext2_err.c:123 -msgid "Wrong magic number --- RESERVED_13" -msgstr "Numéro magique invalide --- RÉSERVÉ_13" - -#: lib/ext2fs/ext2_err.c:124 -msgid "Wrong magic number --- RESERVED_14" -msgstr "Numéro magique invalide --- RÉSERVÉ_14" - -#: lib/ext2fs/ext2_err.c:125 -msgid "Wrong magic number --- RESERVED_15" -msgstr "Numéro magique invalide --- RÉSERVÉ_15" - -#: lib/ext2fs/ext2_err.c:126 -msgid "Wrong magic number --- RESERVED_16" -msgstr "Numéro magique invalide --- RÉSERVÉ_16" - -#: lib/ext2fs/ext2_err.c:127 -msgid "Wrong magic number --- RESERVED_17" -msgstr "Numéro magique invalide --- RÉSERVÉ_17" - -#: lib/ext2fs/ext2_err.c:128 -msgid "Wrong magic number --- RESERVED_18" -msgstr "Numéro magique invalide --- RÉSERVÉ_18" - -#: lib/ext2fs/ext2_err.c:129 -msgid "Wrong magic number --- RESERVED_19" -msgstr "Numéro magique invalide --- RÉSERVÉ_19" - -#: lib/ext2fs/ext2_err.c:130 -msgid "Corrupt extent header" -msgstr "En-tête d'extent corrompu" - -#: lib/ext2fs/ext2_err.c:131 -msgid "Corrupt extent index" -msgstr "Index d'extent corrompu" - -#: lib/ext2fs/ext2_err.c:132 -msgid "Corrupt extent" -msgstr "Extent corrompu" - -#: lib/ext2fs/ext2_err.c:133 -msgid "No free space in extent map" -msgstr "Pas de place libre dans la carte d'extent" - -#: lib/ext2fs/ext2_err.c:134 -msgid "Inode does not use extents" -msgstr "L'i-noeud n'utilise pas d'extents" - -#: lib/ext2fs/ext2_err.c:135 -msgid "No 'next' extent" -msgstr "Pas d'extent 'next'" - -#: lib/ext2fs/ext2_err.c:136 -msgid "No 'previous' extent" -msgstr "Pas d'extent 'previous'" - -#: lib/ext2fs/ext2_err.c:137 -msgid "No 'up' extent" -msgstr "Pas d'extent 'up'" - -#: lib/ext2fs/ext2_err.c:138 -msgid "No 'down' extent" -msgstr "Pas d'extent 'down'" - -#: lib/ext2fs/ext2_err.c:139 -msgid "No current node" -msgstr "Pas de noeud courant" - -#: lib/ext2fs/ext2_err.c:140 -msgid "Ext2fs operation not supported" -msgstr "Opération ext2fs non supportée" - -#: lib/ext2fs/ext2_err.c:141 -msgid "No room to insert extent in node" -msgstr "Pas de place pour insérer l'extent dans le noeud" - -#: lib/ext2fs/ext2_err.c:142 -msgid "Splitting would result in empty node" -msgstr "Découper produirait un noeud vide" - -#: lib/ext2fs/ext2_err.c:143 -msgid "Extent not found" -msgstr "Extent non trouvé" - -#: lib/ext2fs/ext2_err.c:144 -msgid "Operation not supported for inodes containing extents" -msgstr "Opération non supportée pour les i-noeuds contenant des extents" - -#: lib/ext2fs/ext2_err.c:145 -msgid "Extent length is invalid" -msgstr "La longueur d'extent est invalide" - -#: lib/ext2fs/ext2_err.c:146 -msgid "I/O Channel does not support 64-bit block numbers" -msgstr "Le canal d'E/S ne supporte pas les numéros de bloc 64-bit" - -#: lib/ext2fs/ext2_err.c:147 -msgid "Can't check if filesystem is mounted due to missing mtab file" -msgstr "Ne peut pas vérifier si le système de fichiers est monté à cause du manque de fichier mtab" - -#: lib/ext2fs/ext2_err.c:148 -msgid "Filesystem too large to use legacy bitmaps" -msgstr "Le système de fichier est trop grand pour utiliser l'ancien style de bitmap" - -#: lib/ext2fs/ext2_err.c:149 -msgid "MMP: invalid magic number" -msgstr "MMP : numéro magique invalide" - -#: lib/ext2fs/ext2_err.c:150 -msgid "MMP: device currently active" -msgstr "MMP : périphérique actuellement actif" - -#: lib/ext2fs/ext2_err.c:151 -msgid "MMP: fsck being run" -msgstr "MMP : fsck en cours d'exécution" - -#: lib/ext2fs/ext2_err.c:152 -msgid "MMP: block number beyond filesystem range" -msgstr "MMP : numéro de bloc en-dehors de la portée du système de fichiers" - -#: lib/ext2fs/ext2_err.c:153 -msgid "MMP: undergoing an unknown operation" -msgstr "MMP : en cours d'opération inconnue" - -#: lib/ext2fs/ext2_err.c:154 -msgid "MMP: filesystem still in use" -msgstr "MMP : système de fichiers en cours d'utilisation" - -#: lib/ext2fs/ext2_err.c:155 -msgid "MMP: open with O_DIRECT failed" -msgstr "MMP : l'ouverture avec O_DIRECT a échoué" - -#: lib/ext2fs/ext2_err.c:156 -msgid "Block group descriptor size incorrect" -msgstr "Taille du descripteur de groupe de blocs incorrecte." - -#: lib/ext2fs/ext2_err.c:157 -msgid "Inode checksum does not match inode" -msgstr "La somme de contrôle de l'i-noeud ne correspond pas à l'i-noeud" - -#: lib/ext2fs/ext2_err.c:158 -msgid "Inode bitmap checksum does not match bitmap" -msgstr "La somme de contrôle du bitmap d'i-noeud ne correspond pas au bitmap" - -#: lib/ext2fs/ext2_err.c:159 -msgid "Extent block checksum does not match extent block" -msgstr "La somme de contrôle du block d'extent ne correspond pas au bloc d'extent" - -#: lib/ext2fs/ext2_err.c:160 -msgid "Directory block does not have space for checksum" -msgstr "Le bloc de répertoire n'a pas de place pour la somme de contrôle" - -#: lib/ext2fs/ext2_err.c:161 -msgid "Directory block checksum does not match directory block" -msgstr "La somme de contrôle du bloc de répertoire ne correspond pas au bloc de répertoire" - -#: lib/ext2fs/ext2_err.c:162 -msgid "Extended attribute block checksum does not match block" -msgstr "La somme de contrôle du bloc d'attribut étendu ne correspond pas au bloc" - -#: lib/ext2fs/ext2_err.c:163 -msgid "Superblock checksum does not match superblock" -msgstr "La somme de contrôle du superbloc ne correspond pas au superbloc" - -#: lib/ext2fs/ext2_err.c:164 -msgid "Unknown checksum algorithm" -msgstr "Algorithme de somme de contrôle inconnu" - -#: lib/ext2fs/ext2_err.c:165 -msgid "MMP block checksum does not match MMP block" -msgstr "La somme de contrôle du bloc MMP ne correspond pas au bloc MMP" - -#: lib/ext2fs/ext2_err.c:166 -msgid "Ext2 file already exists" -msgstr "Le fichier ext2 existe déjà" - -#: e2fsck/prof_err.c:11 -msgid "Profile version 0.0" -msgstr "Profilage version 0.0" - -#: e2fsck/prof_err.c:12 -msgid "Bad magic value in profile_node" -msgstr "Valeur magique invalide dans profile_node" - -#: e2fsck/prof_err.c:13 -msgid "Profile section not found" -msgstr "Section de profilage non trouvée" - -#: e2fsck/prof_err.c:14 -msgid "Profile relation not found" -msgstr "Relation de profilage non trouvée" - -#: e2fsck/prof_err.c:15 -msgid "Attempt to add a relation to node which is not a section" -msgstr "Tentative d'ajout d'une relation à un noeud qui n'est pas une section" - -#: e2fsck/prof_err.c:16 -msgid "A profile section header has a non-zero value" -msgstr "Un en-tête de section de profilage a un valeur non nulle" - -#: e2fsck/prof_err.c:17 -msgid "Bad linked list in profile structures" -msgstr "Liste chaînée invalide dans les structures de profilage" - -#: e2fsck/prof_err.c:18 -msgid "Bad group level in profile structures" -msgstr "Niveau de groupe invalide dans les structures de profilage" - -#: e2fsck/prof_err.c:19 -msgid "Bad parent pointer in profile structures" -msgstr "Pointeur parent invalide dans les structures de profilage" - -#: e2fsck/prof_err.c:20 -msgid "Bad magic value in profile iterator" -msgstr "Valeur magique invalide dans l'iterateur de profilage" - -#: e2fsck/prof_err.c:21 -msgid "Can't set value on section node" -msgstr "Ne peut définire la valeur sur un noeud de section" - -#: e2fsck/prof_err.c:22 -msgid "Invalid argument passed to profile library" -msgstr "Argument invalide passé à la bibliothèque de profilage" - -#: e2fsck/prof_err.c:23 -msgid "Attempt to modify read-only profile" -msgstr "Tentative de modifier un profilage en lecture seule" - -#: e2fsck/prof_err.c:24 -msgid "Profile section header not at top level" -msgstr "L'en-tête de section de profilage n'est pas niveau sommet" - -#: e2fsck/prof_err.c:25 -msgid "Syntax error in profile section header" -msgstr "Erreur de syntaxe dans l'en-tête de section de profilage" - -#: e2fsck/prof_err.c:26 -msgid "Syntax error in profile relation" -msgstr "Erreur de syntaxe dans la relation de profilage" - -#: e2fsck/prof_err.c:27 -msgid "Extra closing brace in profile" -msgstr "Accolade fermante superflue dans le profilage" - -#: e2fsck/prof_err.c:28 -msgid "Missing open brace in profile" -msgstr "Accolade ouvrante manquante dans le profilage" - -#: e2fsck/prof_err.c:29 -msgid "Bad magic value in profile_t" -msgstr "Valeur magique invalide dans profile_t" - -#: e2fsck/prof_err.c:30 -msgid "Bad magic value in profile_section_t" -msgstr "Valeur magique invalide dans profile_section_t" - -#: e2fsck/prof_err.c:31 -msgid "Iteration through all top level section not supported" -msgstr "Itération sur toutes les sections de niveau sommet non supportée" - -#: e2fsck/prof_err.c:32 -msgid "Invalid profile_section object" -msgstr "Object profile_section invalide" - -#: e2fsck/prof_err.c:33 -msgid "No more sections" -msgstr "Plus de sections" - -#: e2fsck/prof_err.c:34 -msgid "Bad nameset passed to query routine" -msgstr "Ensemble de nom invalide passé à la routine de requête" - -#: e2fsck/prof_err.c:35 -msgid "No profile file open" -msgstr "Pas de fichier de profilage ouvert" - -#: e2fsck/prof_err.c:36 -msgid "Bad magic value in profile_file_t" -msgstr "Valeur magique invalide dans profile_file_t" - -#: e2fsck/prof_err.c:37 -msgid "Couldn't open profile file" -msgstr "N'a pu ouvrir le fichier de profilage" - -#: e2fsck/prof_err.c:38 -msgid "Section already exists" -msgstr "La section existe déjà" - -#: e2fsck/prof_err.c:39 -msgid "Invalid boolean value" -msgstr "Valeur booléenne invalide" - -#: e2fsck/prof_err.c:40 -msgid "Invalid integer value" -msgstr "Valeur entière invalide" - -#: e2fsck/prof_err.c:41 -msgid "Bad magic value in profile_file_data_t" -msgstr "Valeur magique invalide dans profile_file_data_t" - -#~ msgid "Clearing extent flag not supported on %s" -#~ msgstr "La suppression du drapeau extent n'est pas supportée sur %s" - -#~ msgid "" -#~ "%s: The combination of flex_bg and\n" -#~ "\t!resize_inode features is not supported by resize2fs.\n" -#~ msgstr "" -#~ "%s : La combinaison des fonctionnalités\n" -#~ "\tflex_bg et !resize_inode n'est pas supportée par resize2fs.\n" - -#~ msgid "%s is mounted. " -#~ msgstr "%s est monté. " - -#~ msgid "@g %g @b @B uninitialized but @i @B in use.\n" -#~ msgstr "" -#~ "Le @B de @b du @g %g n'est pas initialisé\n" -#~ "alors que le @B d'@i est en cours d'utilisation.\n" - -#~ msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" -#~ msgstr "L'@i %i ne devrait pas avoir EOFBLOCKS_FL défini (taille %Is, lblk %r)\n" - -#~ msgid "Couldn't determine journal size" -#~ msgstr "N'a pu déterminer la taille du journal" - -#~ msgid "#\t\t %llu -> %llu (%llu)\n" -#~ msgstr "#\t\t %llu -> %llu (%llu)\n" - -#~ msgid "Missing indirect block not present" -#~ msgstr "Bloc indirect manquant" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "short write (only %d bytes) for writing image header" -#~ msgstr "écriture écourtée (seulement %d octets) pour l'écriture de l'en-tête image" - -#~ msgid "invalid fragment size - %s" -#~ msgstr "taille de fragment invalide - %s" - -#~ msgid "Warning: fragments not supported. Ignoring -f option\n" -#~ msgstr "Avertissement : fragments non supportés. L'option -f est ignorée\n" - -#~ msgid "Calling BLKDISCARD from %llu to %llu " -#~ msgstr "Appel de BLKDISCARD de %llu à %llu " - -#~ msgid "succeeded.\n" -#~ msgstr "avec succès.\n" - -#~ msgid "Journal NOT removed\n" -#~ msgstr "Le journal N'A PAS été enlevé\n" - #~ msgid "@S doesn't have has_@j flag, but has ext3 @j %s.\n" #~ msgstr "Le @S ne semble pas avoir le drapeau has_journal, mais a un %s de @j ext3.\n" @@ -6765,7 +5284,7 @@ msgstr "Valeur magique invalide dans profile_file_data_t" #~ msgstr "Erreur lors de la suppression de l'extent : %m\n" #~ msgid "Recreate journal to make the filesystem ext3 again?\n" -#~ msgstr "Recréer le journal pour rendre le système de fichiers ext3 de nouveau ?\n" +#~ msgstr "Recréer le journal pour rendre le système de fichier ext3 de nouveau ?\n" #~ msgid "bad block size - %s" #~ msgstr "taille des blocs défectueux - %s" @@ -6773,8 +5292,11 @@ msgstr "Valeur magique invalide dans profile_file_data_t" #~ msgid "while retrying to write block bitmaps for %s" #~ msgstr "lors d'une nouvelle tentative d'écriture des bitmaps de blocs pour %s" +#~ msgid "writing inode bitmaps" +#~ msgstr "l'écriture des bitmaps d'i-noeuds" + #~ msgid "%s failed for %s: %s\n" -#~ msgstr "%s a échoué pour %s : %s\n" +#~ msgstr "%s a échoué pour %s: %s\n" #~ msgid "open" #~ msgstr "open" @@ -6785,6 +5307,9 @@ msgstr "Valeur magique invalide dans profile_file_data_t" #~ msgid "BLKGETSIZE ioctl" #~ msgstr "BLKGETSIZE ioctl" +#~ msgid "Filesystem %s has unsupported features enabled.\n" +#~ msgstr "Le système de fichier %s a des fonctionnalités non supportées activées.\n" + #~ msgid "@a in @i %i has a hash (%N) which is @n (must be 0)\n" #~ msgstr "l'@a dans l'@i %i a un hash (%N) qui est @n (doit être 0)\n" @@ -6828,6 +5353,9 @@ msgstr "Valeur magique invalide dans profile_file_data_t" #~ msgid "%s: Filesystem byte order already normalized.\n" #~ msgstr "%s : l'ordre des octets du système de fichiers a déjà été normalisé.\n" +#~ msgid "invalid test_pattern: %s\n" +#~ msgstr "motif_de_test invalide : %s\n" + #~ msgid "invalid starting block - %s" #~ msgstr "bloc de départ invalide - %s" @@ -6858,6 +5386,12 @@ msgstr "Valeur magique invalide dans profile_file_data_t" #~ "Avertissement : les i-noeuds de %d octets ne sont pas utilisables sur les\n" #~ "anciens systèmes\n" +#~ msgid "bad filesystem size - %s" +#~ msgstr "taille erronée du système de fichiers - %s" + +#~ msgid "Couldn't find ext2 superblock," +#~ msgstr "Impossible de trouver le superbloc ext2," + #~ msgid "invalid blocks range: %lu-%lu" #~ msgstr "étendue invalide des blocs : %lu- %lu" @@ -6889,7 +5423,7 @@ msgstr "Valeur magique invalide dans profile_file_data_t" #~ "Passe 1B: nouvelle scrutation pour les @bs duplicatas/erronés\n" #~ msgid "Duplicate/bad @b(s) in @i %i:" -#~ msgstr "@b(s) duplicatas/erronés dans l'@i %i :" +#~ msgstr "@b(s) duplicatas/erronés dans l'@i %i:" #~ msgid "" #~ "Extended options are separated by commas, and may take an argument which\n" @@ -6957,7 +5491,7 @@ msgstr "Valeur magique invalide dans profile_file_data_t" #~ msgstr "resize2fs %s (%s)\n" #~ msgid "Number of free blocks: %d/%d, Needed: %d\n" -#~ msgstr "Nombre de blocs libres : %d/%d, A besoin de: %d\n" +#~ msgstr "Nombre de blocs libres: %d/%d, A besoin de: %d\n" #~ msgid "Going into desperation mode for block allocations\n" #~ msgstr "Passage en mode désespéré pour l'allocation de blocs\n" @@ -6982,3 +5516,61 @@ msgstr "Valeur magique invalide dans profile_file_data_t" #~ msgid "Inode table move finished.\n" #~ msgstr "Déplacement de la table d'i-noeuds complété.\n" + +#~ msgid "" +#~ "\n" +#~ "%8d inode used (%d%%)\n" +#~ msgid_plural "" +#~ "\n" +#~ "%8d inodes used (%d%%)\n" +#~ msgstr[0] "" +#~ "\n" +#~ "%8d i-noeud utilisé (%d%%)\n" +#~ msgstr[1] "" +#~ "\n" +#~ "%8d i-noeuds utilisés (%d%%)\n" + +#~ msgid "%8d non-contiguous inode (%0d.%d%%)\n" +#~ msgid_plural "%8d non-contiguous inodes (%0d.%d%%)\n" +#~ msgstr[0] "%8d i-noeud non contigu (%0d.%d%%)\n" +#~ msgstr[1] "%8d i-noeuds non contigus (%0d.%d%%)\n" + +#~ msgid "%8d block used (%d%%)\n" +#~ msgid_plural "%8d blocks used (%d%%)\n" +#~ msgstr[0] "%8d bloc utilisé (%d%%)\n" +#~ msgstr[1] "%8d blocs utilisés (%d%%)\n" + +#~ msgid "%8d bad block\n" +#~ msgid_plural "%8d bad blocks\n" +#~ msgstr[0] "%8d bloc défectueux\n" +#~ msgstr[1] "%8d blocs défectueux\n" + +#~ msgid "%8d large file\n" +#~ msgid_plural "%8d large files\n" +#~ msgstr[0] "%8d fichier de grande taille\n" +#~ msgstr[1] "%8d fichiers de grande taille\n" + +#~ msgid "%8d directory\n" +#~ msgid_plural "%8d directories\n" +#~ msgstr[0] "%8d répertoire\n" +#~ msgstr[1] "%8d répertoires\n" + +#~ msgid "%8d fifo\n" +#~ msgid_plural "%8d fifos\n" +#~ msgstr[0] "%8d fifo\n" +#~ msgstr[1] "%8d fifos\n" + +#~ msgid "%8d link\n" +#~ msgid_plural "%8d links\n" +#~ msgstr[0] "%8d lien\n" +#~ msgstr[1] "%8d liens\n" + +#~ msgid " (%d fast symbolic link)\n" +#~ msgid_plural " (%d fast symbolic links)\n" +#~ msgstr[0] " (%d lien symbolique rapide)\n" +#~ msgstr[1] " (%d liens symboliques rapides)\n" + +#~ msgid "%8d file\n" +#~ msgid_plural "%8d files\n" +#~ msgstr[0] "%8d fichier\n" +#~ msgstr[1] "%8d fichiers\n" diff --git a/po/id.gmo b/po/id.gmo index 68deee9c..367601a5 100644 Binary files a/po/id.gmo and b/po/id.gmo differ diff --git a/po/id.po b/po/id.po index 61ccea4e..297d4151 100644 --- a/po/id.po +++ b/po/id.po @@ -69,700 +69,699 @@ msgid "" msgstr "" "Project-Id-Version: e2fsprogs 1.41.12\n" "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n" -"POT-Creation-Date: 2012-06-12 14:40-0400\n" +"POT-Creation-Date: 2010-05-17 23:05-0400\n" "PO-Revision-Date: 2010-05-24 12:30+0700\n" "Last-Translator: Arif E. Nugroho \n" "Language-Team: Indonesian \n" -"Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: e2fsck/badblocks.c:23 misc/mke2fs.c:176 +#: e2fsck/badblocks.c:22 misc/mke2fs.c:169 #, c-format msgid "Bad block %u out of range; ignored.\n" msgstr "Bad block %u diluar jangkauan; diabaikan.\n" -#: e2fsck/badblocks.c:46 +#: e2fsck/badblocks.c:45 msgid "while sanity checking the bad blocks inode" msgstr "ketika melakukan pengecheckan di inode bad block" -#: e2fsck/badblocks.c:58 +#: e2fsck/badblocks.c:57 msgid "while reading the bad blocks inode" msgstr "ketika membaca inode bad block" -#: e2fsck/badblocks.c:72 e2fsck/iscan.c:110 e2fsck/scantest.c:107 -#: e2fsck/unix.c:1298 e2fsck/unix.c:1386 misc/badblocks.c:1214 -#: misc/badblocks.c:1222 misc/badblocks.c:1236 misc/badblocks.c:1248 -#: misc/dumpe2fs.c:588 misc/e2image.c:1189 misc/e2image.c:1307 -#: misc/e2image.c:1320 misc/mke2fs.c:192 misc/tune2fs.c:1907 resize/main.c:303 +#: e2fsck/badblocks.c:71 e2fsck/iscan.c:112 e2fsck/scantest.c:109 +#: e2fsck/unix.c:1083 e2fsck/unix.c:1166 misc/badblocks.c:1155 +#: misc/badblocks.c:1163 misc/badblocks.c:1177 misc/badblocks.c:1189 +#: misc/dumpe2fs.c:552 misc/e2image.c:583 misc/e2image.c:679 +#: misc/e2image.c:695 misc/mke2fs.c:185 misc/tune2fs.c:1573 resize/main.c:310 #, c-format msgid "while trying to open %s" msgstr "ketika mencoba untuk membuka %s" -#: e2fsck/badblocks.c:83 +#: e2fsck/badblocks.c:82 #, c-format msgid "while trying popen '%s'" msgstr "ketika mencoba popen '%s'" -#: e2fsck/badblocks.c:94 misc/mke2fs.c:199 +#: e2fsck/badblocks.c:93 misc/mke2fs.c:192 msgid "while reading in list of bad blocks from file" msgstr "ketika membaca dalam daftar bad block dari berkas" -#: e2fsck/badblocks.c:105 +#: e2fsck/badblocks.c:104 msgid "while updating bad block inode" msgstr "ketika memperbarui inode bad block" -#: e2fsck/badblocks.c:131 +#: e2fsck/badblocks.c:130 #, c-format msgid "Warning: illegal block %u found in bad block inode. Cleared.\n" -msgstr "" -"Peringatan: illegal block %u ditemukan dalam inode bad block. Dihapus.\n" +msgstr "Peringatan: illegal block %u ditemukan dalam inode bad block. Dihapus.\n" -#: e2fsck/ehandler.c:55 +#: e2fsck/ehandler.c:54 #, c-format msgid "Error reading block %lu (%s) while %s. " msgstr "Error membaca block %lu (%s) ketika %s. " -#: e2fsck/ehandler.c:58 +#: e2fsck/ehandler.c:57 #, c-format msgid "Error reading block %lu (%s). " msgstr "Error membaca block %lu (%s). " -#: e2fsck/ehandler.c:61 e2fsck/ehandler.c:110 +#: e2fsck/ehandler.c:60 e2fsck/ehandler.c:109 msgid "Ignore error" msgstr "Mengabaikan error" -#: e2fsck/ehandler.c:62 +#: e2fsck/ehandler.c:61 msgid "Force rewrite" msgstr "Memaksa menulis kembali" -#: e2fsck/ehandler.c:104 +#: e2fsck/ehandler.c:103 #, c-format msgid "Error writing block %lu (%s) while %s. " msgstr "Error menulis block %lu (%s) ketika %s. " -#: e2fsck/ehandler.c:107 +#: e2fsck/ehandler.c:106 #, c-format msgid "Error writing block %lu (%s). " msgstr "Error menulis block %lu (%s). " -#: e2fsck/emptydir.c:57 +#: e2fsck/emptydir.c:56 msgid "empty dirblocks" msgstr "dirblock kosong" -#: e2fsck/emptydir.c:62 +#: e2fsck/emptydir.c:61 msgid "empty dir map" msgstr "dir map kosong" -#: e2fsck/emptydir.c:98 +#: e2fsck/emptydir.c:97 #, c-format msgid "Empty directory block %u (#%d) in inode %u\n" msgstr "Direktori block %u (#%d) kosong dalam inode %u\n" -#: e2fsck/extend.c:22 +#: e2fsck/extend.c:21 #, c-format msgid "%s: %s filename nblocks blocksize\n" msgstr "%s: %s filename nblocks blocksize\n" -#: e2fsck/extend.c:44 +#: e2fsck/extend.c:43 #, c-format msgid "Illegal number of blocks!\n" msgstr "Nomor dari block tidak legal!\n" -#: e2fsck/extend.c:50 +#: e2fsck/extend.c:49 #, c-format msgid "Couldn't allocate block buffer (size=%d)\n" msgstr "Tidak dapat mengalokasikan block buffer (ukuran=%d)\n" -#: e2fsck/flushb.c:35 +#: e2fsck/flushb.c:34 #, c-format msgid "Usage: %s disk\n" msgstr "Penggunaan: %s disk\n" -#: e2fsck/flushb.c:64 +#: e2fsck/flushb.c:63 #, c-format msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n" msgstr "BLKFLSBUF ioctl tidak disupport! Tidak dapat memflush buffer.\n" -#: e2fsck/iscan.c:44 +#: e2fsck/iscan.c:46 #, c-format msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n" msgstr "Penggunaan: %s [-F] [-I inode_buffer_block] perangkat\n" -#: e2fsck/iscan.c:81 e2fsck/unix.c:930 +#: e2fsck/iscan.c:83 e2fsck/unix.c:838 #, c-format msgid "while opening %s for flushing" msgstr "ketika membuka %s untuk flushing" -#: e2fsck/iscan.c:86 e2fsck/unix.c:936 resize/main.c:276 +#: e2fsck/iscan.c:88 e2fsck/unix.c:844 resize/main.c:286 #, c-format msgid "while trying to flush %s" msgstr "ketika mencoba untuk memflush %s" -#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1084 +#: e2fsck/iscan.c:121 e2fsck/scantest.c:116 misc/e2image.c:489 msgid "while opening inode scan" msgstr "ketika mencoba membuka inode scan" -#: e2fsck/iscan.c:127 misc/e2image.c:1102 +#: e2fsck/iscan.c:129 misc/e2image.c:507 msgid "while getting next inode" msgstr "ketika memperoleh inode berikutnya" -#: e2fsck/iscan.c:136 +#: e2fsck/iscan.c:138 #, c-format msgid "%u inodes scanned.\n" msgstr "%u inodes discan.\n" -#: e2fsck/journal.c:512 +#: e2fsck/journal.c:507 msgid "reading journal superblock\n" msgstr "membaca journal superblock\n" -#: e2fsck/journal.c:569 +#: e2fsck/journal.c:564 #, c-format msgid "%s: no valid journal superblock found\n" msgstr "%s: journal superblock tidak valid ditemukan\n" -#: e2fsck/journal.c:578 +#: e2fsck/journal.c:573 #, c-format msgid "%s: journal too short\n" msgstr "%s: journal terlalu pendek\n" -#: e2fsck/journal.c:870 +#: e2fsck/journal.c:860 #, c-format msgid "%s: recovering journal\n" msgstr "%s: merecovery journal\n" -#: e2fsck/journal.c:872 +#: e2fsck/journal.c:862 #, c-format msgid "%s: won't do journal recovery while read-only\n" msgstr "%s: tidak akan melakukan journal recovery ketika read-only\n" -#: e2fsck/journal.c:899 +#: e2fsck/journal.c:887 #, c-format msgid "while trying to re-open %s" msgstr "ketika mencoba untuk membuka %s" -#: e2fsck/message.c:113 +#: e2fsck/message.c:111 msgid "aextended attribute" msgstr "aextended attribute" -#: e2fsck/message.c:114 +#: e2fsck/message.c:112 msgid "Aerror allocating" msgstr "Aerror mengalokasikan" -#: e2fsck/message.c:115 +#: e2fsck/message.c:113 msgid "bblock" msgstr "bblock" -#: e2fsck/message.c:116 +#: e2fsck/message.c:114 msgid "Bbitmap" msgstr "Bbitmap" -#: e2fsck/message.c:117 +#: e2fsck/message.c:115 msgid "ccompress" msgstr "ccompress" -#: e2fsck/message.c:118 +#: e2fsck/message.c:116 msgid "Cconflicts with some other fs @b" msgstr "Ckonflik dengan beberapa sistem berkas lain @b" -#: e2fsck/message.c:119 +#: e2fsck/message.c:117 msgid "iinode" msgstr "iinode" -#: e2fsck/message.c:120 +#: e2fsck/message.c:118 msgid "Iillegal" msgstr "Iilegal" -#: e2fsck/message.c:121 +#: e2fsck/message.c:119 msgid "jjournal" msgstr "jjournal" -#: e2fsck/message.c:122 +#: e2fsck/message.c:120 msgid "Ddeleted" msgstr "Ddeleted" -#: e2fsck/message.c:123 +#: e2fsck/message.c:121 msgid "ddirectory" msgstr "ddirektori" -#: e2fsck/message.c:124 +#: e2fsck/message.c:122 msgid "eentry" msgstr "eentri" -#: e2fsck/message.c:125 +#: e2fsck/message.c:123 msgid "E@e '%Dn' in %p (%i)" msgstr "E@e '%Dn' dalam %p (%i)" -#: e2fsck/message.c:126 +#: e2fsck/message.c:124 msgid "ffilesystem" msgstr "fsistem berkas" -#: e2fsck/message.c:127 +#: e2fsck/message.c:125 msgid "Ffor @i %i (%Q) is" msgstr "Funtuk @i %i (%Q) adalah" -#: e2fsck/message.c:128 +#: e2fsck/message.c:126 msgid "ggroup" msgstr "ggrup" -#: e2fsck/message.c:129 +#: e2fsck/message.c:127 msgid "hHTREE @d @i" msgstr "hHTREE @d @i" -#: e2fsck/message.c:130 +#: e2fsck/message.c:128 msgid "llost+found" msgstr "llost+found" -#: e2fsck/message.c:131 +#: e2fsck/message.c:129 msgid "Lis a link" msgstr "Ladalah sebuah link" -#: e2fsck/message.c:132 +#: e2fsck/message.c:130 msgid "mmultiply-claimed" msgstr "mmultiply-claimed" -#: e2fsck/message.c:133 +#: e2fsck/message.c:131 msgid "ninvalid" msgstr "ninvalid" -#: e2fsck/message.c:134 +#: e2fsck/message.c:132 msgid "oorphaned" msgstr "oorphaned" -#: e2fsck/message.c:135 +#: e2fsck/message.c:133 msgid "pproblem in" msgstr "pproblem dalam" -#: e2fsck/message.c:136 -msgid "qquota" -msgstr "" - -#: e2fsck/message.c:137 +#: e2fsck/message.c:134 msgid "rroot @i" msgstr "rroot @i" -#: e2fsck/message.c:138 +#: e2fsck/message.c:135 msgid "sshould be" msgstr "sseharusnya" -#: e2fsck/message.c:139 +#: e2fsck/message.c:136 msgid "Ssuper@b" msgstr "Ssuper@b" -#: e2fsck/message.c:140 +#: e2fsck/message.c:137 msgid "uunattached" msgstr "uunattached" -#: e2fsck/message.c:141 +#: e2fsck/message.c:138 msgid "vdevice" msgstr "vperangkat" -#: e2fsck/message.c:142 +#: e2fsck/message.c:139 msgid "xextent" msgstr "xextent" -#: e2fsck/message.c:143 +#: e2fsck/message.c:140 msgid "zzero-length" msgstr "zzero-length" -#: e2fsck/message.c:154 +#: e2fsck/message.c:151 msgid "" msgstr "" -#: e2fsck/message.c:155 +#: e2fsck/message.c:152 msgid "" msgstr "" -#: e2fsck/message.c:157 -#, fuzzy -msgid "" -msgstr "" +#: e2fsck/message.c:154 +msgid "" +msgstr "" -#: e2fsck/message.c:158 -#, fuzzy -msgid "" -msgstr "" +#: e2fsck/message.c:155 +msgid "" +msgstr "" -#: e2fsck/message.c:159 +#: e2fsck/message.c:156 msgid "" msgstr "" -#: e2fsck/message.c:160 +#: e2fsck/message.c:157 msgid "" msgstr "" -#: e2fsck/message.c:161 +#: e2fsck/message.c:158 msgid "" msgstr "" -#: e2fsck/message.c:162 +#: e2fsck/message.c:159 msgid "" msgstr "" -#: e2fsck/message.c:163 +#: e2fsck/message.c:160 msgid "" msgstr "" -#: e2fsck/message.c:164 +#: e2fsck/message.c:161 msgid "" msgstr "" -#: e2fsck/message.c:333 +#: e2fsck/message.c:330 +#, c-format msgid "regular file" msgstr "berkas biasa" -#: e2fsck/message.c:335 +#: e2fsck/message.c:332 +#, c-format msgid "directory" msgstr "direktori" -#: e2fsck/message.c:337 +#: e2fsck/message.c:334 +#, c-format msgid "character device" msgstr "karakter device" -#: e2fsck/message.c:339 +#: e2fsck/message.c:336 +#, c-format msgid "block device" msgstr "block device" -#: e2fsck/message.c:341 +#: e2fsck/message.c:338 +#, c-format msgid "named pipe" msgstr "named pipe" -#: e2fsck/message.c:343 +#: e2fsck/message.c:340 +#, c-format msgid "symbolic link" msgstr "symbolic link" -#: e2fsck/message.c:345 misc/uuidd.c:161 +#: e2fsck/message.c:342 +#, c-format msgid "socket" msgstr "socket" -#: e2fsck/message.c:347 +#: e2fsck/message.c:344 #, c-format msgid "unknown file type with mode 0%o" msgstr "tipe file tidak diketahui dengan mode 0%o" -#: e2fsck/message.c:423 +#: e2fsck/message.c:422 msgid "indirect block" msgstr "block tidak langsung" -#: e2fsck/message.c:425 +#: e2fsck/message.c:424 msgid "double indirect block" msgstr "blok tidak langsung berdua" -#: e2fsck/message.c:427 +#: e2fsck/message.c:426 msgid "triple indirect block" msgstr "blok tidak langsung bertiga" -#: e2fsck/message.c:429 +#: e2fsck/message.c:428 msgid "translator block" msgstr "blok penerjemah" -#: e2fsck/message.c:431 +#: e2fsck/message.c:430 msgid "block #" msgstr "blok #" -#: e2fsck/pass1b.c:222 +#: e2fsck/pass1b.c:220 msgid "multiply claimed inode map" msgstr "kalikan peta inode yang dituntut" -#: e2fsck/pass1b.c:610 e2fsck/pass1b.c:729 -#, fuzzy, c-format -msgid "internal error: can't find dup_blk for %llu\n" +#: e2fsck/pass1b.c:581 e2fsck/pass1b.c:714 +#, c-format +msgid "internal error: can't find dup_blk for %u\n" msgstr "internal error: tidak dapat menemukan dup_blk untuk %u\n" -#: e2fsck/pass1b.c:820 +#: e2fsck/pass1b.c:757 msgid "returned from clone_file_block" msgstr "kembali dari clone_file_block" -#: e2fsck/pass1b.c:842 -#, fuzzy, c-format -msgid "internal error: couldn't lookup EA block record for %llu" +#: e2fsck/pass1b.c:776 +#, c-format +msgid "internal error: couldn't lookup EA block record for %u" msgstr "internal error: tidak dapat menemukan EA block record untuk %u" -#: e2fsck/pass1b.c:854 +#: e2fsck/pass1b.c:788 #, c-format msgid "internal error: couldn't lookup EA inode record for %u" msgstr "internal error: tidak dapat menemukan EA inode record untuk %u" -#: e2fsck/pass1.c:476 e2fsck/pass2.c:782 +#: e2fsck/pass1.c:475 e2fsck/pass2.c:776 msgid "reading directory block" msgstr "membaca direktori block" -#: e2fsck/pass1.c:599 +#: e2fsck/pass1.c:597 msgid "in-use inode map" msgstr "in-use inode map" -#: e2fsck/pass1.c:610 +#: e2fsck/pass1.c:606 msgid "directory inode map" msgstr "direktori inode map" -#: e2fsck/pass1.c:620 +#: e2fsck/pass1.c:614 msgid "regular file inode map" msgstr "regular file inode map" -#: e2fsck/pass1.c:629 +#: e2fsck/pass1.c:621 msgid "in-use block map" msgstr "in-use block map" -#: e2fsck/pass1.c:696 +#: e2fsck/pass1.c:675 msgid "opening inode scan" msgstr "membuka inode scan" -#: e2fsck/pass1.c:730 +#: e2fsck/pass1.c:699 msgid "getting next inode from scan" msgstr "memperoleh inode selanjutnya dari scan" -#: e2fsck/pass1.c:1240 +#: e2fsck/pass1.c:1173 msgid "Pass 1" msgstr "Tahap 1" -#: e2fsck/pass1.c:1297 +#: e2fsck/pass1.c:1230 #, c-format msgid "reading indirect blocks of inode %u" msgstr "membaca indirect block dari inode %u" -#: e2fsck/pass1.c:1347 +#: e2fsck/pass1.c:1274 msgid "bad inode map" msgstr "inode map buruk" -#: e2fsck/pass1.c:1370 +#: e2fsck/pass1.c:1296 msgid "inode in bad block map" msgstr "inode dalam bad block map" -#: e2fsck/pass1.c:1390 +#: e2fsck/pass1.c:1316 msgid "imagic inode map" msgstr "imagic inode map" -#: e2fsck/pass1.c:1417 +#: e2fsck/pass1.c:1343 msgid "multiply claimed block map" msgstr "multiply diklaim block map" -#: e2fsck/pass1.c:1518 +#: e2fsck/pass1.c:1443 msgid "ext attr block map" msgstr "ext attr block map" -#: e2fsck/pass1.c:2266 +#: e2fsck/pass1.c:2181 #, c-format msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n" msgstr "%6lu(%c): diperkirakan %6lu diperoleh phys %6lu (blkcnt %lld)\n" -#: e2fsck/pass1.c:2627 +#: e2fsck/pass1.c:2533 msgid "block bitmap" msgstr "block bitmap" -#: e2fsck/pass1.c:2633 +#: e2fsck/pass1.c:2537 msgid "inode bitmap" msgstr "inode bitmap" -#: e2fsck/pass1.c:2639 +#: e2fsck/pass1.c:2541 msgid "inode table" msgstr "inode table" -#: e2fsck/pass2.c:283 +#: e2fsck/pass2.c:277 msgid "Pass 2" msgstr "Tahap 2" -#: e2fsck/pass2.c:805 +#: e2fsck/pass2.c:799 msgid "Can not continue." msgstr "Tidak dapat melanjutkan." -#: e2fsck/pass3.c:77 +#: e2fsck/pass3.c:76 msgid "inode done bitmap" msgstr "inode selesai bitmap" -#: e2fsck/pass3.c:86 +#: e2fsck/pass3.c:84 msgid "Peak memory" msgstr "Puncak pemakaian memori" -#: e2fsck/pass3.c:136 +#: e2fsck/pass3.c:134 msgid "Pass 3" msgstr "Tahap 3" -#: e2fsck/pass3.c:322 +#: e2fsck/pass3.c:320 msgid "inode loop detection bitmap" msgstr "inode deteksi loop bitmap" -#: e2fsck/pass4.c:195 +#: e2fsck/pass4.c:191 msgid "Pass 4" msgstr "Tahap 4" -#: e2fsck/pass5.c:74 +#: e2fsck/pass5.c:64 msgid "Pass 5" msgstr "Tahap 5" -#: e2fsck/problem.c:51 +#: e2fsck/problem.c:50 msgid "(no prompt)" msgstr "(tidak ada prompt)" -#: e2fsck/problem.c:52 +#: e2fsck/problem.c:51 msgid "Fix" msgstr "Betulkan" -#: e2fsck/problem.c:53 +#: e2fsck/problem.c:52 msgid "Clear" msgstr "Dihapus" -#: e2fsck/problem.c:54 +#: e2fsck/problem.c:53 msgid "Relocate" msgstr "Dipindahkan" -#: e2fsck/problem.c:55 +#: e2fsck/problem.c:54 msgid "Allocate" msgstr "Dialokasikan" -#: e2fsck/problem.c:56 +#: e2fsck/problem.c:55 msgid "Expand" msgstr "Diexpand" -#: e2fsck/problem.c:57 +#: e2fsck/problem.c:56 msgid "Connect to /lost+found" msgstr "Menyambungkan ke /lost+found" -#: e2fsck/problem.c:58 +#: e2fsck/problem.c:57 msgid "Create" msgstr "Membuat" -#: e2fsck/problem.c:59 +#: e2fsck/problem.c:58 msgid "Salvage" msgstr "Mengambil" -#: e2fsck/problem.c:60 +#: e2fsck/problem.c:59 msgid "Truncate" msgstr "Truncate" -#: e2fsck/problem.c:61 +#: e2fsck/problem.c:60 msgid "Clear inode" msgstr "Menghapus inode" -#: e2fsck/problem.c:62 +#: e2fsck/problem.c:61 msgid "Abort" msgstr "Membatalkan" -#: e2fsck/problem.c:63 +#: e2fsck/problem.c:62 msgid "Split" msgstr "Membagi" -#: e2fsck/problem.c:64 +#: e2fsck/problem.c:63 msgid "Continue" msgstr "Melanjutkan" -#: e2fsck/problem.c:65 +#: e2fsck/problem.c:64 msgid "Clone multiply-claimed blocks" msgstr "Kopi multiply-claimed blocks" -#: e2fsck/problem.c:66 +#: e2fsck/problem.c:65 msgid "Delete file" msgstr "Hapus berkas" -#: e2fsck/problem.c:67 +#: e2fsck/problem.c:66 msgid "Suppress messages" msgstr "Suppress pesan" -#: e2fsck/problem.c:68 +#: e2fsck/problem.c:67 msgid "Unlink" msgstr "Unlink" -#: e2fsck/problem.c:69 +#: e2fsck/problem.c:68 msgid "Clear HTree index" msgstr "Hapus HTree index" -#: e2fsck/problem.c:70 +#: e2fsck/problem.c:69 msgid "Recreate" msgstr "Buat kembali" -#: e2fsck/problem.c:79 +#: e2fsck/problem.c:78 msgid "(NONE)" msgstr "(KOSONG)" -#: e2fsck/problem.c:80 +#: e2fsck/problem.c:79 msgid "FIXED" msgstr "DIBETULKAN" -#: e2fsck/problem.c:81 +#: e2fsck/problem.c:80 msgid "CLEARED" msgstr "DIHAPUS" -#: e2fsck/problem.c:82 +#: e2fsck/problem.c:81 msgid "RELOCATED" msgstr "DIPINDAHKAN" -#: e2fsck/problem.c:83 +#: e2fsck/problem.c:82 msgid "ALLOCATED" msgstr "DIALOKASIKAN" -#: e2fsck/problem.c:84 +#: e2fsck/problem.c:83 msgid "EXPANDED" msgstr "DIEXPAND" -#: e2fsck/problem.c:85 +#: e2fsck/problem.c:84 msgid "RECONNECTED" msgstr "DIHUBUNGKAN" -#: e2fsck/problem.c:86 +#: e2fsck/problem.c:85 msgid "CREATED" msgstr "DIBUAT" -#: e2fsck/problem.c:87 +#: e2fsck/problem.c:86 msgid "SALVAGED" msgstr "DIAMANKAN" -#: e2fsck/problem.c:88 +#: e2fsck/problem.c:87 msgid "TRUNCATED" msgstr "DIPOTONG" -#: e2fsck/problem.c:89 +#: e2fsck/problem.c:88 msgid "INODE CLEARED" msgstr "INODE DIHAPUS" -#: e2fsck/problem.c:90 +#: e2fsck/problem.c:89 msgid "ABORTED" msgstr "DIBATALKAN" -#: e2fsck/problem.c:91 +#: e2fsck/problem.c:90 msgid "SPLIT" msgstr "DIBAGI" -#: e2fsck/problem.c:92 +#: e2fsck/problem.c:91 msgid "CONTINUING" msgstr "MELANJUTKAN" -#: e2fsck/problem.c:93 +#: e2fsck/problem.c:92 msgid "MULTIPLY-CLAIMED BLOCKS CLONED" msgstr "MULTIPLY-CLAIMED BLOK DIKOPI" -#: e2fsck/problem.c:94 +#: e2fsck/problem.c:93 msgid "FILE DELETED" msgstr "BERKAS DIHAPUS" -#: e2fsck/problem.c:95 +#: e2fsck/problem.c:94 msgid "SUPPRESSED" msgstr "DIAKHIRI" -#: e2fsck/problem.c:96 +#: e2fsck/problem.c:95 msgid "UNLINKED" msgstr "DILEPAS" -#: e2fsck/problem.c:97 +#: e2fsck/problem.c:96 msgid "HTREE INDEX CLEARED" msgstr "HTREE INDEX DIHAPUS" -#: e2fsck/problem.c:98 +#: e2fsck/problem.c:97 msgid "WILL RECREATE" msgstr "AKAN MEMBUAT KEMBALI" #. @-expanded: block bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:107 +#: e2fsck/problem.c:106 msgid "@b @B for @g %g is not in @g. (@b %b)\n" msgstr "@b @B untuk @g %g tidak dalam @g. (@b %b)\n" #. @-expanded: inode bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:111 +#: e2fsck/problem.c:110 msgid "@i @B for @g %g is not in @g. (@b %b)\n" msgstr "@i @B untuk @G %G tidak dalam @g. (@b %b)\n" #. @-expanded: inode table for group %g is not in group. (block %b)\n #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n -#: e2fsck/problem.c:116 +#: e2fsck/problem.c:115 msgid "" "@i table for @g %g is not in @g. (@b %b)\n" "WARNING: SEVERE DATA LOSS POSSIBLE.\n" @@ -777,7 +776,7 @@ msgstr "" #. @-expanded: is corrupt, and you might try running e2fsck with an alternate superblock:\n #. @-expanded: e2fsck -b %S \n #. @-expanded: \n -#: e2fsck/problem.c:122 +#: e2fsck/problem.c:121 #, c-format msgid "" "\n" @@ -792,15 +791,14 @@ msgstr "" "@S tidak dapat dibaca atau tidak dapat menjelaskan ext2 dengan benar\n" "@f. Jika @v tidak valid dan ini berisi sebuah ext2\n" "@f (dan bukan swap atau ufs atau sesuatu yang lain), maka @S\n" -"korup, dan anda mungkin bisa mencoba menjalankan e2fsck secara alternatif " -"@S:\n" +"korup, dan anda mungkin bisa mencoba menjalankan e2fsck secara alternatif @S:\n" " e2fsck -b %S <@v>\n" "\n" #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n #. @-expanded: The physical size of the device is %c blocks\n #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n -#: e2fsck/problem.c:131 +#: e2fsck/problem.c:130 msgid "" "The @f size (according to the @S) is %b @bs\n" "The physical size of the @v is %c @bs\n" @@ -813,30 +811,29 @@ msgstr "" #. @-expanded: superblock block_size = %b, fragsize = %c.\n #. @-expanded: This version of e2fsck does not support fragment sizes different\n #. @-expanded: from the block size.\n -#: e2fsck/problem.c:138 +#: e2fsck/problem.c:137 msgid "" "@S @b_size = %b, fragsize = %c.\n" "This version of e2fsck does not support fragment sizes different\n" "from the @b size.\n" msgstr "" "@S @b_size = %b, fragsize = %c.\n" -"Versi e2fsck ini tidak mengimplementasikan untuk ukuran fragment yang " -"berbeda\n" +"Versi e2fsck ini tidak mengimplementasikan untuk ukuran fragment yang berbeda\n" "dari @b.\n" #. @-expanded: superblock blocks_per_group = %b, should have been %c\n -#: e2fsck/problem.c:145 +#: e2fsck/problem.c:144 msgid "@S @bs_per_group = %b, should have been %c\n" msgstr "@S @bs_per_group = %b, seharusnya %c\n" #. @-expanded: superblock first_data_block = %b, should have been %c\n -#: e2fsck/problem.c:150 +#: e2fsck/problem.c:149 msgid "@S first_data_@b = %b, should have been %c\n" msgstr "@S first_data_@b = %b, seharusnya %c\n" #. @-expanded: filesystem did not have a UUID; generating one.\n #. @-expanded: \n -#: e2fsck/problem.c:155 +#: e2fsck/problem.c:154 msgid "" "@f did not have a UUID; generating one.\n" "\n" @@ -844,7 +841,7 @@ msgstr "" "@f tidak memiliki sebuah UUID; membuat satu.\n" "\n" -#: e2fsck/problem.c:160 +#: e2fsck/problem.c:159 #, c-format msgid "" "Note: if several inode or block bitmap blocks or part\n" @@ -862,48 +859,48 @@ msgstr "" "\n" #. @-expanded: Corruption found in superblock. (%s = %N).\n -#: e2fsck/problem.c:169 +#: e2fsck/problem.c:168 msgid "Corruption found in @S. (%s = %N).\n" msgstr "Korupsi ditemukan di @S. (%s = %N).\n" #. @-expanded: Error determining size of the physical device: %m\n -#: e2fsck/problem.c:174 +#: e2fsck/problem.c:173 #, c-format msgid "Error determining size of the physical @v: %m\n" msgstr "Error menentukan ukuran dari phisik @v: %m\n" #. @-expanded: inode count in superblock is %i, should be %j.\n -#: e2fsck/problem.c:179 +#: e2fsck/problem.c:178 msgid "@i count in @S is %i, @s %j.\n" msgstr "@i terhitung dalam @S adalah %i, @s %j.\n" -#: e2fsck/problem.c:183 +#: e2fsck/problem.c:182 msgid "The Hurd does not support the filetype feature.\n" msgstr "Hurd tidak mendukung layanan filetype.\n" #. @-expanded: superblock has an invalid journal (inode %i).\n -#: e2fsck/problem.c:188 +#: e2fsck/problem.c:187 #, c-format msgid "@S has an @n @j (@i %i).\n" msgstr "@S memiliki sebuah @n @j (@i %i).\n" #. @-expanded: External journal has multiple filesystem users (unsupported).\n -#: e2fsck/problem.c:193 +#: e2fsck/problem.c:192 msgid "External @j has multiple @f users (unsupported).\n" msgstr "External @j memiliki multiple @f dari pengguna (tidak dilayani).\n" #. @-expanded: Can't find external journal\n -#: e2fsck/problem.c:198 +#: e2fsck/problem.c:197 msgid "Can't find external @j\n" msgstr "Tidak dapat menemukan external @j\n" #. @-expanded: External journal has bad superblock\n -#: e2fsck/problem.c:203 +#: e2fsck/problem.c:202 msgid "External @j has bad @S\n" msgstr "External @j memiliki bad @S\n" #. @-expanded: External journal does not support this filesystem\n -#: e2fsck/problem.c:208 +#: e2fsck/problem.c:207 msgid "External @j does not support this @f\n" msgstr "External @j tidak melayani ini @f\n" @@ -911,96 +908,92 @@ msgstr "External @j tidak melayani ini @f\n" #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal #. @-expanded: format.\n #. @-expanded: It is also possible the journal superblock is corrupt.\n -#: e2fsck/problem.c:213 +#: e2fsck/problem.c:212 msgid "" "@f @j @S is unknown type %N (unsupported).\n" -"It is likely that your copy of e2fsck is old and/or doesn't support this @j " -"format.\n" +"It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n" "It is also possible the @j @S is corrupt.\n" msgstr "" "@f @j @S memiliki tipe yang tidak diketahui %N (tidak disupport).\n" -"Ini sangat memungkinkan jika salinan dari e2fsck sudah lama dan/atau tidak " -"melayani format @j ini.\n" +"Ini sangat memungkinkan jika salinan dari e2fsck sudah lama dan/atau tidak melayani format @j ini.\n" "Ini juga mungkin jika @j @S telah terkorupsi.\n" #. @-expanded: journal superblock is corrupt.\n -#: e2fsck/problem.c:221 +#: e2fsck/problem.c:220 msgid "@j @S is corrupt.\n" msgstr "@j @S telah terkorupsi.\n" #. @-expanded: superblock has_journal flag is clear, but a journal %s is present.\n -#: e2fsck/problem.c:226 +#: e2fsck/problem.c:225 #, c-format msgid "@S has_@j flag is clear, but a @j %s is present.\n" msgstr "@S tanda has_@j hilang, tetapi @j %s ada.\n" #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n -#: e2fsck/problem.c:231 +#: e2fsck/problem.c:230 msgid "@S needs_recovery flag is set, but no @j is present.\n" msgstr "@S tanda needs_recovery ada, tetapi tidak memiliki @j.\n" #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n -#: e2fsck/problem.c:236 +#: e2fsck/problem.c:235 msgid "@S needs_recovery flag is clear, but @j has data.\n" msgstr "@S tanda need_recovery sudah hilang, tetapi @j memiliki data.\n" #. @-expanded: Clear journal -#: e2fsck/problem.c:241 +#: e2fsck/problem.c:240 msgid "Clear @j" msgstr "Hapus @j" #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. -#: e2fsck/problem.c:246 e2fsck/problem.c:695 +#: e2fsck/problem.c:245 e2fsck/problem.c:664 msgid "@f has feature flag(s) set, but is a revision 0 @f. " msgstr "@f memiliki feature flag(s) set, tetapi memiliki sebuah revisi 0 @f." #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n -#: e2fsck/problem.c:251 +#: e2fsck/problem.c:250 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" msgstr "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, ukuran=%Is)\n" #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:256 +#: e2fsck/problem.c:255 msgid "@I %B (%b) found in @o @i %i.\n" msgstr "@I %B (%b) ditemukan dalam @o @i %i.\n" #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:261 +#: e2fsck/problem.c:260 msgid "Already cleared %B (%b) found in @o @i %i.\n" msgstr "Sudah dihapus %B (%b) ditemukan dalam @o @i %i.\n" #. @-expanded: illegal orphaned inode %i in superblock.\n -#: e2fsck/problem.c:266 +#: e2fsck/problem.c:265 #, c-format msgid "@I @o @i %i in @S.\n" msgstr "@I @o @i %i dalam @S.\n" #. @-expanded: illegal inode %i in orphaned inode list.\n -#: e2fsck/problem.c:271 +#: e2fsck/problem.c:270 #, c-format msgid "@I @i %i in @o @i list.\n" msgstr "@I @i %i dalam daftar @o @i.\n" #. @-expanded: journal superblock has an unknown read-only feature flag set.\n -#: e2fsck/problem.c:276 +#: e2fsck/problem.c:275 msgid "@j @S has an unknown read-only feature flag set.\n" msgstr "@j @S memiliki sebuah feature yang tidak diketahui aktif.\n" #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n -#: e2fsck/problem.c:281 +#: e2fsck/problem.c:280 msgid "@j @S has an unknown incompatible feature flag set.\n" -msgstr "" -"@j @S memiliki sebuah feature yang tidak kompatibel yang tidak diketahui " -"aktif.\n" +msgstr "@j @S memiliki sebuah feature yang tidak kompatibel yang tidak diketahui aktif.\n" #. @-expanded: journal version not supported by this e2fsck.\n -#: e2fsck/problem.c:286 +#: e2fsck/problem.c:285 msgid "@j version not supported by this e2fsck.\n" msgstr "versi @j tidak disupport oleh e2fsck ini.\n" #. @-expanded: Moving journal from /%s to hidden inode.\n #. @-expanded: \n -#: e2fsck/problem.c:291 +#: e2fsck/problem.c:290 #, c-format msgid "" "Moving @j from /%s to hidden @i.\n" @@ -1011,7 +1004,7 @@ msgstr "" #. @-expanded: Error moving journal: %m\n #. @-expanded: \n -#: e2fsck/problem.c:296 +#: e2fsck/problem.c:295 #, c-format msgid "" "Error moving @j: %m\n" @@ -1023,7 +1016,7 @@ msgstr "" #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n #. @-expanded: Clearing fields beyond the V1 journal superblock...\n #. @-expanded: \n -#: e2fsck/problem.c:301 +#: e2fsck/problem.c:300 msgid "" "Found @n V2 @j @S fields (from V1 @j).\n" "Clearing fields beyond the V1 @j @S...\n" @@ -1034,20 +1027,18 @@ msgstr "" "\n" #. @-expanded: Run journal anyway -#: e2fsck/problem.c:307 +#: e2fsck/problem.c:306 msgid "Run @j anyway" msgstr "Jalankan @j bagaimanapun" #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n -#: e2fsck/problem.c:312 +#: e2fsck/problem.c:311 msgid "Recovery flag not set in backup @S, so running @j anyway.\n" -msgstr "" -"Recovery flag tidak diset dalam backup @S, jadi menjalankan @j " -"bagaimanapun.\n" +msgstr "Recovery flag tidak diset dalam backup @S, jadi menjalankan @j bagaimanapun.\n" #. @-expanded: Backing up journal inode block information.\n #. @-expanded: \n -#: e2fsck/problem.c:317 +#: e2fsck/problem.c:316 msgid "" "Backing up @j @i @b information.\n" "\n" @@ -1057,7 +1048,7 @@ msgstr "" #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n #. @-expanded: is %N; should be zero. -#: e2fsck/problem.c:322 +#: e2fsck/problem.c:321 msgid "" "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n" "is %N; @s zero. " @@ -1066,18 +1057,18 @@ msgstr "" "adalah %N; @s nol. " #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero. -#: e2fsck/problem.c:328 +#: e2fsck/problem.c:327 msgid "Resize_@i not enabled, but the resize @i is non-zero. " msgstr "Resize_@i tidak aktif, tetapi resize @i bukan nol. " #. @-expanded: Resize inode not valid. -#: e2fsck/problem.c:333 +#: e2fsck/problem.c:332 msgid "Resize @i not valid. " msgstr "Resize @i tidak valid. " #. @-expanded: superblock last mount time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:338 +#: e2fsck/problem.c:337 msgid "" "@S last mount time (%t,\n" "\tnow = %T) is in the future.\n" @@ -1087,7 +1078,7 @@ msgstr "" #. @-expanded: superblock last write time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:343 +#: e2fsck/problem.c:342 msgid "" "@S last write time (%t,\n" "\tnow = %T) is in the future.\n" @@ -1096,14 +1087,14 @@ msgstr "" "\tsekarang = %T) berada di masa yang akan datang.\n" #. @-expanded: superblock hint for external superblock should be %X. -#: e2fsck/problem.c:347 +#: e2fsck/problem.c:346 #, c-format msgid "@S hint for external superblock @s %X. " msgstr "@S petunjuk untuk superblok luar @s %X. " #. @-expanded: Adding dirhash hint to filesystem.\n #. @-expanded: \n -#: e2fsck/problem.c:352 +#: e2fsck/problem.c:351 msgid "" "Adding dirhash hint to @f.\n" "\n" @@ -1111,45 +1102,50 @@ msgstr "" "Menambahkan dirhas hint ke @f.\n" "\n" -#. @-expanded: group descriptor %g checksum is %04x, should be %04y. -#: e2fsck/problem.c:357 -#, fuzzy -msgid "@g descriptor %g checksum is %04x, should be %04y. " +#. @-expanded: group descriptor %g checksum is invalid. +#: e2fsck/problem.c:356 +#, c-format +msgid "@g descriptor %g checksum is invalid. " msgstr "@g deskripsi %g checksum tidak valid. " #. @-expanded: group descriptor %g marked uninitialized without feature set.\n -#: e2fsck/problem.c:362 +#: e2fsck/problem.c:361 #, c-format msgid "@g descriptor %g marked uninitialized without feature set.\n" msgstr "@g deskripsi %g ditandai unintialisasi tanpa menset feature.\n" +#. @-expanded: group %g block bitmap uninitialized but inode bitmap in use.\n +#: e2fsck/problem.c:366 +#, c-format +msgid "@g %g @b @B uninitialized but @i @B in use.\n" +msgstr "@g %g @b @B tidak terinitialisasi tetapi @i @B sedang digunakan.\n" + #. @-expanded: group descriptor %g has invalid unused inodes count %b. -#: e2fsck/problem.c:367 +#: e2fsck/problem.c:371 msgid "@g descriptor %g has invalid unused inodes count %b. " msgstr "@g deskripsi %g memiliki inode yang tidak valid terhitung %b. " #. @-expanded: Last group block bitmap uninitialized. -#: e2fsck/problem.c:372 +#: e2fsck/problem.c:376 msgid "Last @g @b @B uninitialized. " msgstr "Terakhir @g @b @B tidak terinitialisasi. " -#: e2fsck/problem.c:377 +#: e2fsck/problem.c:381 #, c-format msgid "Journal transaction %i was corrupt, replay was aborted.\n" msgstr "Jurnal transaksi %i terkorupsi, balasan dibatalkan.\n" -#: e2fsck/problem.c:381 +#: e2fsck/problem.c:385 msgid "The test_fs flag is set (and ext4 is available). " msgstr "Tanda test_fs telah aktif (dan ext4 tersedia). " #. @-expanded: superblock last mount time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set) -#: e2fsck/problem.c:386 +#: e2fsck/problem.c:390 msgid "" "@S last mount time is in the future.\n" -"\t(by less than a day, probably due to the hardware clock being incorrectly " -"set) " +"\t(by less than a day, probably due to the hardware clock being incorrectly set) " msgstr "" "@S waktu pasang terakhir berada di masa yang akan datang.\n" "\t(lebih kecil sehari, mungkin karena perangkat jam diset tidak benar) " @@ -1157,174 +1153,131 @@ msgstr "" #. @-expanded: superblock last write time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set). -#: e2fsck/problem.c:392 +#: e2fsck/problem.c:396 msgid "" "@S last write time is in the future.\n" -"\t(by less than a day, probably due to the hardware clock being incorrectly " -"set). " +"\t(by less than a day, probably due to the hardware clock being incorrectly set). " msgstr "" "@S waktu tulis terakhir berada dimasa yang akan datang.\n" "\t(lebih kecil sehari, mungkin karena perangkat jam diset tidak benar). " #. @-expanded: One or more block group descriptor checksums are invalid. -#: e2fsck/problem.c:398 +#: e2fsck/problem.c:402 msgid "One or more @b @g descriptor checksums are invalid. " msgstr "Satu atau lebih @b @g pendeskripsi checksum tidak valid. " -#. @-expanded: Setting free inodes count to %j (was %i)\n -#: e2fsck/problem.c:403 -#, fuzzy -msgid "Setting free @is count to %j (was %i)\n" -msgstr "Menset jumlah reserved blok ke %lu\n" - -#. @-expanded: Setting free blocks count to %c (was %b)\n -#: e2fsck/problem.c:408 -#, fuzzy -msgid "Setting free @bs count to %c (was %b)\n" -msgstr "Menset jumlah reserved blok ke %lu\n" - -#. @-expanded: Making quota inode %i (%Q) hidden.\n -#: e2fsck/problem.c:413 -#, fuzzy -msgid "Making @q @i %i (%Q) hidden.\n" -msgstr "" -"Memindahkan @j dari /%s ke tersembunyi @i.\n" -"\n" - -#. @-expanded: superblock has invalid MMP block. -#: e2fsck/problem.c:418 -#, fuzzy -msgid "@S has invalid MMP block. " -msgstr "Ukuran blok tidak valid - %s" - -#. @-expanded: superblock has invalid MMP magic. -#: e2fsck/problem.c:423 -msgid "@S has invalid MMP magic. " -msgstr "" - -#: e2fsck/problem.c:428 -#, c-format -msgid "ext2fs_open2: %m\n" -msgstr "" - -#: e2fsck/problem.c:433 -#, c-format -msgid "ext2fs_check_desc: %m\n" -msgstr "" - #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n -#: e2fsck/problem.c:440 +#: e2fsck/problem.c:409 msgid "Pass 1: Checking @is, @bs, and sizes\n" msgstr "Tahap 1: Memeriksa @i, @bs, dan ukuran\n" #. @-expanded: root inode is not a directory. -#: e2fsck/problem.c:444 +#: e2fsck/problem.c:413 msgid "@r is not a @d. " msgstr "@r bukan sebuah @d. " #. @-expanded: root inode has dtime set (probably due to old mke2fs). -#: e2fsck/problem.c:449 +#: e2fsck/problem.c:418 msgid "@r has dtime set (probably due to old mke2fs). " -msgstr "" -"@r memiliki dtime terset (mungkin karena penggunaan mke2fs versi lama). " +msgstr "@r memiliki dtime terset (mungkin karena penggunaan mke2fs versi lama). " #. @-expanded: Reserved inode %i (%Q) has invalid mode. -#: e2fsck/problem.c:454 +#: e2fsck/problem.c:423 msgid "Reserved @i %i (%Q) has @n mode. " msgstr "Reserved @i %i (%Q) memiliki @n mode. " #. @-expanded: deleted inode %i has zero dtime. -#: e2fsck/problem.c:459 +#: e2fsck/problem.c:428 #, c-format msgid "@D @i %i has zero dtime. " msgstr "@D @i %i memiliki dtime nol. " #. @-expanded: inode %i is in use, but has dtime set. -#: e2fsck/problem.c:464 +#: e2fsck/problem.c:433 #, c-format msgid "@i %i is in use, but has dtime set. " msgstr "@i %i sedang digunakan, tetapi miliki dtime terset. " #. @-expanded: inode %i is a zero-length directory. -#: e2fsck/problem.c:469 +#: e2fsck/problem.c:438 #, c-format msgid "@i %i is a @z @d. " msgstr "@i %i adalah sebuah @z @d. " #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:474 +#: e2fsck/problem.c:443 msgid "@g %g's @b @B at %b @C.\n" msgstr "@g %g's @b @B di %b @C.\n" #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:479 +#: e2fsck/problem.c:448 msgid "@g %g's @i @B at %b @C.\n" msgstr "@g %g's @i @B di %b @C.\n" #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:484 +#: e2fsck/problem.c:453 msgid "@g %g's @i table at %b @C.\n" msgstr "@G %g's @i tabel di %b @C.\n" #. @-expanded: group %g's block bitmap (%b) is bad. -#: e2fsck/problem.c:489 +#: e2fsck/problem.c:458 msgid "@g %g's @b @B (%b) is bad. " msgstr "@g %g's @b @B (%b) adalah buruk. " #. @-expanded: group %g's inode bitmap (%b) is bad. -#: e2fsck/problem.c:494 +#: e2fsck/problem.c:463 msgid "@g %g's @i @B (%b) is bad. " msgstr "@g %g's @i @B (%b) adalah buruk. " #. @-expanded: inode %i, i_size is %Is, should be %N. -#: e2fsck/problem.c:499 +#: e2fsck/problem.c:468 msgid "@i %i, i_size is %Is, @s %N. " msgstr "@i %i, i_size adalah %Is, @s %N. " #. @-expanded: inode %i, i_blocks is %Ib, should be %N. -#: e2fsck/problem.c:504 +#: e2fsck/problem.c:473 msgid "@i %i, i_@bs is %Ib, @s %N. " msgstr "@i %i, i_@bs adalah %Ib, @s %N. " #. @-expanded: illegal %B (%b) in inode %i. -#: e2fsck/problem.c:509 +#: e2fsck/problem.c:478 msgid "@I %B (%b) in @i %i. " msgstr "@I %B (%b) dalam @i %i. " #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i. -#: e2fsck/problem.c:514 +#: e2fsck/problem.c:483 msgid "%B (%b) overlaps @f metadata in @i %i. " msgstr "%B (%b) saling bertumpang tindih @f metadata dalam @i %i. " #. @-expanded: inode %i has illegal block(s). -#: e2fsck/problem.c:519 +#: e2fsck/problem.c:488 #, c-format msgid "@i %i has illegal @b(s). " msgstr "@i %i memiliki @b(s) ilegal. " #. @-expanded: Too many illegal blocks in inode %i.\n -#: e2fsck/problem.c:524 +#: e2fsck/problem.c:493 #, c-format msgid "Too many illegal @bs in @i %i.\n" msgstr "Terlalu banyak ilegal @bs dalam @i %i.\n" #. @-expanded: illegal %B (%b) in bad block inode. -#: e2fsck/problem.c:529 +#: e2fsck/problem.c:498 msgid "@I %B (%b) in bad @b @i. " msgstr "@I %B (%b) dalam @b @i buruk. " #. @-expanded: Bad block inode has illegal block(s). -#: e2fsck/problem.c:534 +#: e2fsck/problem.c:503 msgid "Bad @b @i has illegal @b(s). " msgstr "@b @i buruk memiliki ilegal @b(s). " #. @-expanded: Duplicate or bad block in use!\n -#: e2fsck/problem.c:539 +#: e2fsck/problem.c:508 msgid "Duplicate or bad @b in use!\n" msgstr "Duplikasi atau @b buruk sedang digunakan!\n" #. @-expanded: Bad block %b used as bad block inode indirect block. -#: e2fsck/problem.c:544 +#: e2fsck/problem.c:513 msgid "Bad @b %b used as bad @b @i indirect @b. " msgstr "@b %b buruk yang digunakan sama buruknya dengan @b @i indirect @b. " @@ -1332,7 +1285,7 @@ msgstr "@b %b buruk yang digunakan sama buruknya dengan @b @i indirect @b. " #. @-expanded: The bad block inode has probably been corrupted. You probably\n #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n #. @-expanded: in the filesystem.\n -#: e2fsck/problem.c:549 +#: e2fsck/problem.c:518 msgid "" "\n" "The bad @b @i has probably been corrupted. You probably\n" @@ -1346,7 +1299,7 @@ msgstr "" #. @-expanded: \n #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n -#: e2fsck/problem.c:556 +#: e2fsck/problem.c:525 msgid "" "\n" "If the @b is really bad, the @f can not be fixed.\n" @@ -1357,7 +1310,7 @@ msgstr "" #. @-expanded: You can remove this block from the bad block list and hope\n #. @-expanded: that the block is really OK. But there are no guarantees.\n #. @-expanded: \n -#: e2fsck/problem.c:561 +#: e2fsck/problem.c:530 msgid "" "You can remove this @b from the bad @b list and hope\n" "that the @b is really OK. But there are no guarantees.\n" @@ -1368,125 +1321,121 @@ msgstr "" "\n" #. @-expanded: The primary superblock (%b) is on the bad block list.\n -#: e2fsck/problem.c:567 +#: e2fsck/problem.c:536 msgid "The primary @S (%b) is on the bad @b list.\n" msgstr "@S (%b) utama berada dalam daftar @b buruk.\n" #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n -#: e2fsck/problem.c:572 +#: e2fsck/problem.c:541 msgid "Block %b in the primary @g descriptors is on the bad @b list\n" msgstr "Blok %b dalam deskripsi @g utama berada dalam daftar @b buruk\n" #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n -#: e2fsck/problem.c:578 +#: e2fsck/problem.c:547 msgid "Warning: Group %g's @S (%b) is bad.\n" msgstr "Peringatan: Grup %g's @S (b) buruk.\n" #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n -#: e2fsck/problem.c:583 +#: e2fsck/problem.c:552 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n" -msgstr "" -"Peringatan: Grup %g's salinan dari deskripsi @g memiliki sebuah @b (%b) " -"buruk.\n" +msgstr "Peringatan: Grup %g's salinan dari deskripsi @g memiliki sebuah @b (%b) buruk.\n" #. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n -#: e2fsck/problem.c:589 +#: e2fsck/problem.c:558 msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n" -msgstr "" -"Programming error? @b #%b terklaim untuk tidak ada alasan dalam " -"process_bad_@b.\n" +msgstr "Programming error? @b #%b terklaim untuk tidak ada alasan dalam process_bad_@b.\n" #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n -#: e2fsck/problem.c:595 +#: e2fsck/problem.c:564 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n" msgstr "@A %N kontinu @b(s) dalam @b @g %g untuk %s: %m\n" #. @-expanded: error allocating block buffer for relocating %s\n -#: e2fsck/problem.c:600 +#: e2fsck/problem.c:569 #, c-format msgid "@A @b buffer for relocating %s\n" msgstr "@A @b buffer untuk relokasi %s\n" #. @-expanded: Relocating group %g's %s from %b to %c...\n -#: e2fsck/problem.c:605 +#: e2fsck/problem.c:574 msgid "Relocating @g %g's %s from %b to %c...\n" msgstr "Memindahkan @g %g's %s dari %b ke %c...\n" #. @-expanded: Relocating group %g's %s to %c...\n -#: e2fsck/problem.c:610 +#: e2fsck/problem.c:579 #, c-format msgid "Relocating @g %g's %s to %c...\n" msgstr "Memindahkan @g %g's %s ke %c...\n" #. @-expanded: Warning: could not read block %b of %s: %m\n -#: e2fsck/problem.c:615 +#: e2fsck/problem.c:584 msgid "Warning: could not read @b %b of %s: %m\n" msgstr "Peringatan: tidak dapat membaca @b %b dari %s: %m\n" #. @-expanded: Warning: could not write block %b for %s: %m\n -#: e2fsck/problem.c:620 +#: e2fsck/problem.c:589 msgid "Warning: could not write @b %b for %s: %m\n" msgstr "Peringatan: tidak dapat menulis @b %b untuk %s: %m\n" #. @-expanded: error allocating inode bitmap (%N): %m\n -#: e2fsck/problem.c:625 e2fsck/problem.c:1460 +#: e2fsck/problem.c:594 e2fsck/problem.c:1405 msgid "@A @i @B (%N): %m\n" msgstr "@A @i @B (%N): %m\n" #. @-expanded: error allocating block bitmap (%N): %m\n -#: e2fsck/problem.c:630 +#: e2fsck/problem.c:599 msgid "@A @b @B (%N): %m\n" msgstr "@A @b @B (%N): %m\n" #. @-expanded: error allocating icount link information: %m\n -#: e2fsck/problem.c:635 +#: e2fsck/problem.c:604 #, c-format msgid "@A icount link information: %m\n" msgstr "@A icount link informasi: %m\n" #. @-expanded: error allocating directory block array: %m\n -#: e2fsck/problem.c:640 +#: e2fsck/problem.c:609 #, c-format msgid "@A @d @b array: %m\n" msgstr "@A @d @b array: %m\n" #. @-expanded: Error while scanning inodes (%i): %m\n -#: e2fsck/problem.c:645 +#: e2fsck/problem.c:614 #, c-format msgid "Error while scanning @is (%i): %m\n" msgstr "Error ketika melakukan scanning @is (%i): %m\n" #. @-expanded: Error while iterating over blocks in inode %i: %m\n -#: e2fsck/problem.c:650 +#: e2fsck/problem.c:619 #, c-format msgid "Error while iterating over @bs in @i %i: %m\n" msgstr "Error ketika mengiterasi melalui @bs dalam @i %i: %m\n" #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n -#: e2fsck/problem.c:655 +#: e2fsck/problem.c:624 msgid "Error storing @i count information (@i=%i, count=%N): %m\n" msgstr "Error menyimpan @i count informasi (@i=%i, count=%N): %m\n" #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n -#: e2fsck/problem.c:660 +#: e2fsck/problem.c:629 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n" msgstr "Error menyimpan @d @b informasi (@i=%i, @b=%b, num=%N): %m\n" #. @-expanded: Error reading inode %i: %m\n -#: e2fsck/problem.c:666 +#: e2fsck/problem.c:635 #, c-format msgid "Error reading @i %i: %m\n" msgstr "Error membaca @i %i: %m\n" #. @-expanded: inode %i has imagic flag set. -#: e2fsck/problem.c:674 +#: e2fsck/problem.c:643 #, c-format msgid "@i %i has imagic flag set. " msgstr "@i %i memiliki flag imagic terset. " #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n #. @-expanded: or append-only flag set. -#: e2fsck/problem.c:679 +#: e2fsck/problem.c:648 #, c-format msgid "" "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n" @@ -1496,151 +1445,149 @@ msgstr "" "atau append-only flag terset." #. @-expanded: inode %i has compression flag set on filesystem without compression support. -#: e2fsck/problem.c:685 +#: e2fsck/problem.c:654 #, c-format msgid "@i %i has @cion flag set on @f without @cion support. " msgstr "@i %i memiliki @cion flag terset pada @f tanpa layanan @cion. " #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size. -#: e2fsck/problem.c:690 +#: e2fsck/problem.c:659 #, c-format msgid "Special (@v/socket/fifo) @i %i has non-zero size. " msgstr "Spesial (@v/socket/fifo) @i %i memiliki ukuran kosong. " #. @-expanded: journal inode is not in use, but contains data. -#: e2fsck/problem.c:700 +#: e2fsck/problem.c:669 msgid "@j @i is not in use, but contains data. " msgstr "@j @i sedang tidak digunakan, tetapi berisi data. " #. @-expanded: journal is not regular file. -#: e2fsck/problem.c:705 +#: e2fsck/problem.c:674 msgid "@j is not regular file. " msgstr "@j bukan sebuah file regular. " #. @-expanded: inode %i was part of the orphaned inode list. -#: e2fsck/problem.c:710 +#: e2fsck/problem.c:679 #, c-format msgid "@i %i was part of the @o @i list. " msgstr "@i %i adalah bagian dari daftar @o @i. " #. @-expanded: inodes that were part of a corrupted orphan linked list found. -#: e2fsck/problem.c:716 +#: e2fsck/problem.c:685 msgid "@is that were part of a corrupted orphan linked list found. " -msgstr "" -"@i adalah bagian dari orphan terkorupsi yang ditemukan dari linked list. " +msgstr "@i adalah bagian dari orphan terkorupsi yang ditemukan dari linked list. " #. @-expanded: error allocating refcount structure (%N): %m\n -#: e2fsck/problem.c:721 +#: e2fsck/problem.c:690 msgid "@A refcount structure (%N): %m\n" msgstr "@A refcount structure (%N): %m\n" #. @-expanded: Error reading extended attribute block %b for inode %i. -#: e2fsck/problem.c:726 +#: e2fsck/problem.c:695 msgid "Error reading @a @b %b for @i %i. " msgstr "Error membaca @a @b %b untuk @i %i. " #. @-expanded: inode %i has a bad extended attribute block %b. -#: e2fsck/problem.c:731 +#: e2fsck/problem.c:700 msgid "@i %i has a bad @a @b %b. " msgstr "@i %i memiliki sebuah @a @b %b buruk." #. @-expanded: Error reading extended attribute block %b (%m). -#: e2fsck/problem.c:736 +#: e2fsck/problem.c:705 msgid "Error reading @a @b %b (%m). " msgstr "Error membaca @a @b %b (%m). " #. @-expanded: extended attribute block %b has reference count %r, should be %N. -#: e2fsck/problem.c:741 +#: e2fsck/problem.c:710 msgid "@a @b %b has reference count %r, @s %N. " msgstr "@a @b %b memiliki jumlah referensi %r, @s %N. " #. @-expanded: Error writing extended attribute block %b (%m). -#: e2fsck/problem.c:746 +#: e2fsck/problem.c:715 msgid "Error writing @a @b %b (%m). " msgstr "Error menulis @a @b %b (%m). " #. @-expanded: extended attribute block %b has h_blocks > 1. -#: e2fsck/problem.c:751 +#: e2fsck/problem.c:720 msgid "@a @b %b has h_@bs > 1. " msgstr "@a @b %b memiliki h_@bs > 1. " #. @-expanded: error allocating extended attribute block %b. -#: e2fsck/problem.c:756 +#: e2fsck/problem.c:725 msgid "@A @a @b %b. " msgstr "@A @a @b %b. " #. @-expanded: extended attribute block %b is corrupt (allocation collision). -#: e2fsck/problem.c:761 +#: e2fsck/problem.c:730 msgid "@a @b %b is corrupt (allocation collision). " msgstr "@a @b %b adalah korup (bentrok dalam alokasi). " #. @-expanded: extended attribute block %b is corrupt (invalid name). -#: e2fsck/problem.c:766 +#: e2fsck/problem.c:735 msgid "@a @b %b is corrupt (@n name). " msgstr "@a @b %b adalah korup (@n nama). " #. @-expanded: extended attribute block %b is corrupt (invalid value). -#: e2fsck/problem.c:771 +#: e2fsck/problem.c:740 msgid "@a @b %b is corrupt (@n value). " msgstr "@a @b %b adalah korup (@n value). " #. @-expanded: inode %i is too big. -#: e2fsck/problem.c:776 +#: e2fsck/problem.c:745 #, c-format msgid "@i %i is too big. " msgstr "@i %i terlalu besar. " #. @-expanded: %B (%b) causes directory to be too big. -#: e2fsck/problem.c:780 +#: e2fsck/problem.c:749 msgid "%B (%b) causes @d to be too big. " msgstr "%B (%b) menyebabkan @d terlalu besar. " -#: e2fsck/problem.c:785 +#: e2fsck/problem.c:754 msgid "%B (%b) causes file to be too big. " msgstr "%B (%b) menyebabkan berkas terlalu besar. " -#: e2fsck/problem.c:790 +#: e2fsck/problem.c:759 msgid "%B (%b) causes symlink to be too big. " msgstr "%B (%b) menyebabkan symlink terlalu besar. " #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n -#: e2fsck/problem.c:795 +#: e2fsck/problem.c:764 #, c-format msgid "@i %i has INDEX_FL flag set on @f without htree support.\n" msgstr "@i %i memiliki INDEX_FL flag terset di @f tanpa bantuan htree.\n" #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n -#: e2fsck/problem.c:800 +#: e2fsck/problem.c:769 #, c-format msgid "@i %i has INDEX_FL flag set but is not a @d.\n" msgstr "@i %i memiliki INDEX_FL flag terset tetapi tidak sebuah @d\n" #. @-expanded: HTREE directory inode %i has an invalid root node.\n -#: e2fsck/problem.c:805 +#: e2fsck/problem.c:774 #, c-format msgid "@h %i has an @n root node.\n" msgstr "@h %i memiliki sebuah @n titik root.\n" #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n -#: e2fsck/problem.c:810 +#: e2fsck/problem.c:779 msgid "@h %i has an unsupported hash version (%N)\n" msgstr "@h %i memiliki sebuah versi hash yang tidak dilayani (%N)\n" #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n -#: e2fsck/problem.c:815 +#: e2fsck/problem.c:784 #, c-format msgid "@h %i uses an incompatible htree root node flag.\n" -msgstr "" -"@h %i menggunakan sebuah htree yang tidak kompatible di titik root flag.\n" +msgstr "@h %i menggunakan sebuah htree yang tidak kompatible di titik root flag.\n" #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n -#: e2fsck/problem.c:820 +#: e2fsck/problem.c:789 msgid "@h %i has a tree depth (%N) which is too big\n" msgstr "@h %i memiliki sebuah kedalaman pohon (%N) yang terlalu besar\n" #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n #. @-expanded: filesystem metadata. -#: e2fsck/problem.c:825 +#: e2fsck/problem.c:794 msgid "" "Bad @b @i has an indirect @b (%b) that conflicts with\n" "@f metadata. " @@ -1649,58 +1596,55 @@ msgstr "" "@f metadata. " #. @-expanded: Resize inode (re)creation failed: %m. -#: e2fsck/problem.c:831 +#: e2fsck/problem.c:800 #, c-format msgid "Resize @i (re)creation failed: %m." msgstr "Resize @i gagal membuat kembali: %m." #. @-expanded: inode %i has a extra size (%IS) which is invalid\n -#: e2fsck/problem.c:836 +#: e2fsck/problem.c:805 msgid "@i %i has a extra size (%IS) which is @n\n" msgstr "@i %i memiliki sebuah ukuran extra (%IS) yang berisi @n\n" #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n -#: e2fsck/problem.c:841 +#: e2fsck/problem.c:810 msgid "@a in @i %i has a namelen (%N) which is @n\n" msgstr "@a dalam @i %i memiliki sebuah panjang nama (%N) yang berisi @n\n" #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n -#: e2fsck/problem.c:846 +#: e2fsck/problem.c:815 msgid "@a in @i %i has a value offset (%N) which is @n\n" msgstr "@a dalam @i %i memiliki nilai ofset (%N) yang berisi @n\n" #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n -#: e2fsck/problem.c:851 +#: e2fsck/problem.c:820 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" -msgstr "" -"@a dalam @i %i memiliki sebuah nilai @b (%N) yang berisi @n (seharusnya 0)\n" +msgstr "@a dalam @i %i memiliki sebuah nilai @b (%N) yang berisi @n (seharusnya 0)\n" #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n -#: e2fsck/problem.c:856 +#: e2fsck/problem.c:825 msgid "@a in @i %i has a value size (%N) which is @n\n" -msgstr "" -"@a dalam @i %i memiliki sebuah nilai yang berukuran (%N) yang berisi @n\n" +msgstr "@a dalam @i %i memiliki sebuah nilai yang berukuran (%N) yang berisi @n\n" #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n -#: e2fsck/problem.c:861 +#: e2fsck/problem.c:830 msgid "@a in @i %i has a hash (%N) which is @n\n" msgstr "@a dalam @i %i memiliki sebuah hash (%N) yang berisi @n\n" #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n -#: e2fsck/problem.c:866 +#: e2fsck/problem.c:835 msgid "@i %i is a %It but it looks like it is really a directory.\n" -msgstr "" -"@i %i adalah sebuah %It tetapi sepertinya benar benar sebuah direktori.\n" +msgstr "@i %i adalah sebuah %It tetapi sepertinya benar benar sebuah direktori.\n" #. @-expanded: Error while reading over extent tree in inode %i: %m\n -#: e2fsck/problem.c:871 +#: e2fsck/problem.c:840 #, c-format msgid "Error while reading over @x tree in @i %i: %m\n" msgstr "Error ketika membaca diatas @x tree dalam @i %i: %m\n" #. @-expanded: Failed to iterate extents in inode %i\n #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n -#: e2fsck/problem.c:876 +#: e2fsck/problem.c:845 msgid "" "Failed to iterate extents in @i %i\n" "\t(op %s, blk %b, lblk %c): %m\n" @@ -1710,7 +1654,7 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n -#: e2fsck/problem.c:882 +#: e2fsck/problem.c:851 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, @n physical @b %b, len %N)\n" @@ -1720,7 +1664,7 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n -#: e2fsck/problem.c:887 +#: e2fsck/problem.c:856 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, physical @b %b, @n len %N)\n" @@ -1729,31 +1673,31 @@ msgstr "" "\t(logical @b %c, physical @b %b, @n len %N)\n" #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n -#: e2fsck/problem.c:892 +#: e2fsck/problem.c:861 #, c-format msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n" msgstr "@i %i memiliki EXTENTS_FL tanda set di @f tanpa support extensi.\n" #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n -#: e2fsck/problem.c:897 +#: e2fsck/problem.c:866 #, c-format msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n" msgstr "@i %i adalah sebuah format extensi, tetapi @S hilang feature EXTENTS\n" #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n -#: e2fsck/problem.c:902 +#: e2fsck/problem.c:871 #, c-format msgid "@i %i missing EXTENT_FL, but is in extents format\n" msgstr "@i %i hilang EXTENT_FL, tetapi adalah sebuah format extensi\n" -#: e2fsck/problem.c:907 +#: e2fsck/problem.c:876 #, c-format msgid "Fast symlink %i has EXTENT_FL set. " msgstr "Fast symlink %i memiliki EXTENT_FL terset. " #. @-expanded: inode %i has out of order extents\n #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:912 +#: e2fsck/problem.c:881 msgid "" "@i %i has out of order extents\n" "\t(@n logical @b %c, physical @b %b, len %N)\n" @@ -1762,106 +1706,69 @@ msgstr "" "\t(@n logical @b %c, physical @b %b, len %N)\n" #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n -#: e2fsck/problem.c:916 +#: e2fsck/problem.c:885 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n" msgstr "@i %i memiliki sebuah titik ekstensi tidak valid (blk %b, lblk %c)\n" -#. @-expanded: Error converting subcluster block bitmap: %m\n -#: e2fsck/problem.c:921 -#, fuzzy, c-format -msgid "Error converting subcluster @b @B: %m\n" -msgstr "Error mengiterasi melalui @d @bs: %m\n" - -#. @-expanded: quota inode is not regular file. -#: e2fsck/problem.c:926 -#, fuzzy -msgid "@q @i is not regular file. " -msgstr "@j bukan sebuah file regular. " - -#. @-expanded: quota inode is not in use, but contains data. -#: e2fsck/problem.c:931 -#, fuzzy -msgid "@q @i is not in use, but contains data. " -msgstr "@j @i sedang tidak digunakan, tetapi berisi data. " - -#. @-expanded: quota inode is visible to the user. -#: e2fsck/problem.c:936 -#, fuzzy -msgid "@q @i is visible to the user. " -msgstr "@i %i sedang digunakan, tetapi miliki dtime terset. " - -#. @-expanded: The bad block inode looks invalid. -#: e2fsck/problem.c:941 -#, fuzzy -msgid "The bad @b @i looks @n. " -msgstr "" - -#. @-expanded: inode %i has zero length extent\n -#. @-expanded: \t(invalid logical block %c, physical block %b)\n -#: e2fsck/problem.c:946 -#, fuzzy -msgid "" -"@i %i has zero length extent\n" -"\t(@n logical @b %c, physical @b %b)\n" -msgstr "" -"@i %i telah tidak teratur extensinya\n" -"\t(@n logical @b %c, physical @b %b, len %N)\n" +#. @-expanded: inode %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n +#: e2fsck/problem.c:889 +msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" +msgstr "@i %i seharusnya EOFBLOCKS_FL tidak aktif (ukuran %Is, lblk %r)\n" #. @-expanded: \n #. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n #. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n -#: e2fsck/problem.c:953 +#: e2fsck/problem.c:897 msgid "" "\n" "Running additional passes to resolve @bs claimed by more than one @i...\n" "Pass 1B: Rescanning for @m @bs\n" msgstr "" "\n" -"Menjalankan tahap tambahan untuk meresolve @bs diklaim oleh lebih dari satu " -"@i...\n" +"Menjalankan tahap tambahan untuk meresolve @bs diklaim oleh lebih dari satu @i...\n" "Tahap 1B: Menscan kembali untuk @m @bs\n" #. @-expanded: multiply-claimed block(s) in inode %i: -#: e2fsck/problem.c:959 +#: e2fsck/problem.c:903 #, c-format msgid "@m @b(s) in @i %i:" msgstr "@m @b(s) dalam @i %i:" -#: e2fsck/problem.c:974 +#: e2fsck/problem.c:918 #, c-format msgid "Error while scanning inodes (%i): %m\n" msgstr "Error ketika menscan inodes (%i): %m\n" #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n -#: e2fsck/problem.c:979 +#: e2fsck/problem.c:923 #, c-format msgid "@A @i @B (@i_dup_map): %m\n" msgstr "@A @i @B (@i_dup_map): %m\n" #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n -#: e2fsck/problem.c:984 +#: e2fsck/problem.c:928 #, c-format msgid "Error while iterating over @bs in @i %i (%s): %m\n" msgstr "Error ketika mengiterasi di @bs dalam @i %i (%s): %m\n" #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n -#: e2fsck/problem.c:989 e2fsck/problem.c:1304 +#: e2fsck/problem.c:933 e2fsck/problem.c:1249 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n" msgstr "Error menyesuaikan refcount untuk @a @b %b (@i %i): %m\n" #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n -#: e2fsck/problem.c:994 +#: e2fsck/problem.c:939 msgid "Pass 1C: Scanning directories for @is with @m @bs\n" msgstr "Tahap 1C: Memeriksa direktori untuk @is dengan @m @bs\n" #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n -#: e2fsck/problem.c:1000 +#: e2fsck/problem.c:945 msgid "Pass 1D: Reconciling @m @bs\n" msgstr "Tahap 1D: Membetulkan @m @bs\n" #. @-expanded: File %Q (inode #%i, mod time %IM) \n #. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n -#: e2fsck/problem.c:1005 +#: e2fsck/problem.c:950 msgid "" "File %Q (@i #%i, mod time %IM) \n" " has %r @m @b(s), shared with %N file(s):\n" @@ -1870,18 +1777,18 @@ msgstr "" " memiliki %r @m @b(s), dibagi dengan %N berkas:\n" #. @-expanded: \t%Q (inode #%i, mod time %IM)\n -#: e2fsck/problem.c:1011 +#: e2fsck/problem.c:956 msgid "\t%Q (@i #%i, mod time %IM)\n" msgstr "\t%Q (@i #%i, mod time %IM)\n" #. @-expanded: \t\n -#: e2fsck/problem.c:1016 +#: e2fsck/problem.c:961 msgid "\t<@f metadata>\n" msgstr "\t<@f metadata>\n" #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n #. @-expanded: \n -#: e2fsck/problem.c:1021 +#: e2fsck/problem.c:966 msgid "" "(There are %N @is containing @m @bs.)\n" "\n" @@ -1891,7 +1798,7 @@ msgstr "" #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n #. @-expanded: \n -#: e2fsck/problem.c:1026 +#: e2fsck/problem.c:971 msgid "" "@m @bs already reassigned or cloned.\n" "\n" @@ -1899,316 +1806,315 @@ msgstr "" "@m @bs telah diassign atau dikopi.\n" "\n" -#: e2fsck/problem.c:1039 +#: e2fsck/problem.c:984 #, c-format msgid "Couldn't clone file: %m\n" msgstr "Tidak dapat menyalin file: %m\n" #. @-expanded: Pass 2: Checking directory structure\n -#: e2fsck/problem.c:1045 +#: e2fsck/problem.c:990 msgid "Pass 2: Checking @d structure\n" msgstr "Tahap 2: Memeriksa struktur @d\n" #. @-expanded: invalid inode number for '.' in directory inode %i.\n -#: e2fsck/problem.c:1050 +#: e2fsck/problem.c:995 #, c-format msgid "@n @i number for '.' in @d @i %i.\n" msgstr "@n @i jumlah untuk '.' dalam @d @i %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n -#: e2fsck/problem.c:1055 +#: e2fsck/problem.c:1000 msgid "@E has @n @i #: %Di.\n" msgstr "@E memiliki @n @i #: %Di.\n" #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di. -#: e2fsck/problem.c:1060 +#: e2fsck/problem.c:1005 msgid "@E has @D/unused @i %Di. " msgstr "@E memiliki @D/tidak dipakai @i %Di. " #. @-expanded: entry '%Dn' in %p (%i) is a link to '.' -#: e2fsck/problem.c:1065 +#: e2fsck/problem.c:1010 msgid "@E @L to '.' " msgstr "@E @L ke '.' " #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n -#: e2fsck/problem.c:1070 +#: e2fsck/problem.c:1015 msgid "@E points to @i (%Di) located in a bad @b.\n" msgstr "@E menunjuk ke @i (%Di) terletak di dalam @b buruk.\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n -#: e2fsck/problem.c:1075 +#: e2fsck/problem.c:1020 msgid "@E @L to @d %P (%Di).\n" msgstr "@E @L ke @d %P (%Di).\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n -#: e2fsck/problem.c:1080 +#: e2fsck/problem.c:1025 msgid "@E @L to the @r.\n" msgstr "@E @L ke @r.\n" #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n -#: e2fsck/problem.c:1085 +#: e2fsck/problem.c:1030 msgid "@E has illegal characters in its name.\n" msgstr "@E memiliki karakter ilegal dalam namanya.\n" #. @-expanded: Missing '.' in directory inode %i.\n -#: e2fsck/problem.c:1090 +#: e2fsck/problem.c:1035 #, c-format msgid "Missing '.' in @d @i %i.\n" msgstr "Hilang '.' dalam @d @i %i.\n" #. @-expanded: Missing '..' in directory inode %i.\n -#: e2fsck/problem.c:1095 +#: e2fsck/problem.c:1040 #, c-format msgid "Missing '..' in @d @i %i.\n" msgstr "Hilang '..' dalam @d @i %i.\n" #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n -#: e2fsck/problem.c:1100 +#: e2fsck/problem.c:1045 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n" msgstr "Pertama @e '%Dn' (@i=%Di) dalam @d @i %i (%p) @s '.'\n" #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n -#: e2fsck/problem.c:1105 +#: e2fsck/problem.c:1050 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n" msgstr "Kedua @e '%Dn' (@i=%Di) dalam @d @i %i @s '..'\n" #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n -#: e2fsck/problem.c:1110 +#: e2fsck/problem.c:1055 msgid "i_faddr @F %IF, @s zero.\n" msgstr "i_faddr @F %IF, @s nol.\n" #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n -#: e2fsck/problem.c:1115 +#: e2fsck/problem.c:1060 msgid "i_file_acl @F %If, @s zero.\n" msgstr "i_file_acl @F %If, @s nol.\n" #. @-expanded: i_dir_acl for inode %i (%Q) is %Id, should be zero.\n -#: e2fsck/problem.c:1120 +#: e2fsck/problem.c:1065 msgid "i_dir_acl @F %Id, @s zero.\n" msgstr "i_dir_acl @F %Id, @s nol.\n" #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1125 +#: e2fsck/problem.c:1070 msgid "i_frag @F %N, @s zero.\n" msgstr "i_frag @F %N, @s nol.\n" #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1130 +#: e2fsck/problem.c:1075 msgid "i_fsize @F %N, @s zero.\n" msgstr "i_fsize @F %N, @s nol.\n" #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n -#: e2fsck/problem.c:1135 +#: e2fsck/problem.c:1080 msgid "@i %i (%Q) has @n mode (%Im).\n" msgstr "@i %i (%Q) memiliki mode @n (%Im).\n" #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n -#: e2fsck/problem.c:1140 +#: e2fsck/problem.c:1085 msgid "@d @i %i, %B, offset %N: @d corrupted\n" msgstr "@d @i %i, %B, ofset %N: @d terkorupsi\n" #. @-expanded: directory inode %i, %B, offset %N: filename too long\n -#: e2fsck/problem.c:1145 +#: e2fsck/problem.c:1090 msgid "@d @i %i, %B, offset %N: filename too long\n" msgstr "@d @i %i, %B, ofset %N: nama berkas terlalu panjang\n" #. @-expanded: directory inode %i has an unallocated %B. -#: e2fsck/problem.c:1150 +#: e2fsck/problem.c:1095 msgid "@d @i %i has an unallocated %B. " msgstr "@d @i %i memiliki #%B yang tidak teralokasi. " #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1155 +#: e2fsck/problem.c:1100 #, c-format msgid "'.' @d @e in @d @i %i is not NULL terminated\n" msgstr "'.' @d @e dalam @d @i %i tidak terakhiri dengan NULL\n" #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1160 +#: e2fsck/problem.c:1105 #, c-format msgid "'..' @d @e in @d @i %i is not NULL terminated\n" msgstr "'..' @d @e dalam @d @i %i tidak terakhiri dengan NULL\n" #. @-expanded: inode %i (%Q) is an illegal character device.\n -#: e2fsck/problem.c:1165 +#: e2fsck/problem.c:1110 msgid "@i %i (%Q) is an @I character @v.\n" msgstr "@i %i (%Q) adalah sebuah karakter @I @v.\n" #. @-expanded: inode %i (%Q) is an illegal block device.\n -#: e2fsck/problem.c:1170 +#: e2fsck/problem.c:1115 msgid "@i %i (%Q) is an @I @b @v.\n" msgstr "@i %i (%Q) adalah sebuah @I @b @v.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n -#: e2fsck/problem.c:1175 +#: e2fsck/problem.c:1120 msgid "@E is duplicate '.' @e.\n" msgstr "@E adalah salinan '.' @e.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n -#: e2fsck/problem.c:1180 +#: e2fsck/problem.c:1125 msgid "@E is duplicate '..' @e.\n" msgstr "@E adalah duplikasi dari '..' @e.\n" -#: e2fsck/problem.c:1185 e2fsck/problem.c:1485 +#: e2fsck/problem.c:1130 e2fsck/problem.c:1430 #, c-format msgid "Internal error: couldn't find dir_info for %i.\n" msgstr "Internal error: tidak dapat mencari dir_info untuk %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n -#: e2fsck/problem.c:1190 +#: e2fsck/problem.c:1135 msgid "@E has rec_len of %Dr, @s %N.\n" msgstr "@E memiliki rec_len dari %Dr, @s %N.\n" #. @-expanded: error allocating icount structure: %m\n -#: e2fsck/problem.c:1195 +#: e2fsck/problem.c:1140 #, c-format msgid "@A icount structure: %m\n" msgstr "struktur @A icount: %m\n" #. @-expanded: Error iterating over directory blocks: %m\n -#: e2fsck/problem.c:1200 +#: e2fsck/problem.c:1145 #, c-format msgid "Error iterating over @d @bs: %m\n" msgstr "Error mengiterasi melalui @d @bs: %m\n" #. @-expanded: Error reading directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1205 +#: e2fsck/problem.c:1150 msgid "Error reading @d @b %b (@i %i): %m\n" msgstr "Error membaca @d @b %b (@i %i): %m\n" #. @-expanded: Error writing directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1210 +#: e2fsck/problem.c:1155 msgid "Error writing @d @b %b (@i %i): %m\n" msgstr "Error menulis @d @b %b (@i %i): %m\n" #. @-expanded: error allocating new directory block for inode %i (%s): %m\n -#: e2fsck/problem.c:1215 +#: e2fsck/problem.c:1160 #, c-format msgid "@A new @d @b for @i %i (%s): %m\n" msgstr "@A baru @d @b untuk @i %i (%s): %m\n" #. @-expanded: Error deallocating inode %i: %m\n -#: e2fsck/problem.c:1220 +#: e2fsck/problem.c:1165 #, c-format msgid "Error deallocating @i %i: %m\n" msgstr "Error mendealokasikan @i %i: %m\n" #. @-expanded: directory entry for '.' in %p (%i) is big.\n -#: e2fsck/problem.c:1225 +#: e2fsck/problem.c:1170 #, c-format msgid "@d @e for '.' in %p (%i) is big.\n" msgstr "@d @e untuk '.' dalam %p (%i) besar.\n" #. @-expanded: inode %i (%Q) is an illegal FIFO.\n -#: e2fsck/problem.c:1230 +#: e2fsck/problem.c:1175 msgid "@i %i (%Q) is an @I FIFO.\n" msgstr "@i %i (%Q) adalah sebuah @I FIFO.\n" #. @-expanded: inode %i (%Q) is an illegal socket.\n -#: e2fsck/problem.c:1235 +#: e2fsck/problem.c:1180 msgid "@i %i (%Q) is an @I socket.\n" msgstr "@i %i (%Q) adalah sebuah @I socket.\n" #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n -#: e2fsck/problem.c:1240 +#: e2fsck/problem.c:1185 msgid "Setting filetype for @E to %N.\n" msgstr "Setting filetype untuk @E ke %N.\n" #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n -#: e2fsck/problem.c:1245 +#: e2fsck/problem.c:1190 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n" -msgstr "" -"@E memiliki sebuah tipe berkas yang tidak benar (sebelumnya %Dt, @s %N).\n" +msgstr "@E memiliki sebuah tipe berkas yang tidak benar (sebelumnya %Dt, @s %N).\n" #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n -#: e2fsck/problem.c:1250 +#: e2fsck/problem.c:1195 msgid "@E has filetype set.\n" msgstr "@E memiliki filetype set.\n" #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n -#: e2fsck/problem.c:1255 +#: e2fsck/problem.c:1200 msgid "@E has a @z name.\n" msgstr "@E memiliki sebuah nama @z.\n" #. @-expanded: Symlink %Q (inode #%i) is invalid.\n -#: e2fsck/problem.c:1260 +#: e2fsck/problem.c:1205 msgid "Symlink %Q (@i #%i) is @n.\n" msgstr "Symlink %Q (@i #%i) adalah @n.\n" #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n -#: e2fsck/problem.c:1265 +#: e2fsck/problem.c:1210 msgid "@a @b @F @n (%If).\n" msgstr "@a @b @F @n (%If).\n" #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n -#: e2fsck/problem.c:1270 +#: e2fsck/problem.c:1215 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n" msgstr "@f berisi berkas besar, tetapi kurang LARGE_FILE flag dalam @S.\n" #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n -#: e2fsck/problem.c:1275 +#: e2fsck/problem.c:1220 msgid "@p @h %d: %B not referenced\n" msgstr "@p @h %d: %B tidak memiliki referensi\n" #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n -#: e2fsck/problem.c:1280 +#: e2fsck/problem.c:1225 msgid "@p @h %d: %B referenced twice\n" msgstr "@p @h %d: %B memiliki dua referensi.\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n -#: e2fsck/problem.c:1285 +#: e2fsck/problem.c:1230 msgid "@p @h %d: %B has bad min hash\n" msgstr "@p @h %d: %B memiliki min hash buruk\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n -#: e2fsck/problem.c:1290 +#: e2fsck/problem.c:1235 msgid "@p @h %d: %B has bad max hash\n" msgstr "@p @h %d: %B memiliki max has buruk\n" #. @-expanded: invalid HTREE directory inode %d (%q). -#: e2fsck/problem.c:1295 +#: e2fsck/problem.c:1240 msgid "@n @h %d (%q). " msgstr "@n @h %d (%q). " #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n -#: e2fsck/problem.c:1299 +#: e2fsck/problem.c:1244 msgid "@p @h %d (%q): bad @b number %b.\n" msgstr "@p @h %d (%q): buruk @b nomor %b.\n" #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n -#: e2fsck/problem.c:1309 +#: e2fsck/problem.c:1254 #, c-format msgid "@p @h %d: root node is @n\n" msgstr "@p @h %d: titik root adalah @n\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n -#: e2fsck/problem.c:1314 +#: e2fsck/problem.c:1259 msgid "@p @h %d: %B has @n limit (%N)\n" msgstr "@p @h %d: %B memiliki @n batas (%N)\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n -#: e2fsck/problem.c:1319 +#: e2fsck/problem.c:1264 msgid "@p @h %d: %B has @n count (%N)\n" msgstr "@p @h %d: %B memiliki @n jumlah (%N)\n" #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n -#: e2fsck/problem.c:1324 +#: e2fsck/problem.c:1269 msgid "@p @h %d: %B has an unordered hash table\n" msgstr "@p @h %d: %B memiliki sebuah tabel hash yang tidak terurut\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n -#: e2fsck/problem.c:1329 +#: e2fsck/problem.c:1274 msgid "@p @h %d: %B has @n depth (%N)\n" msgstr "@p @h %d: %B memiliki @n kedalaman (%N)\n" #. @-expanded: Duplicate entry '%Dn' in %p (%i) found. -#: e2fsck/problem.c:1334 +#: e2fsck/problem.c:1279 msgid "Duplicate @E found. " msgstr "Duplikasi @E ditemukan. " #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n #. @-expanded: Rename to %s -#: e2fsck/problem.c:1339 +#: e2fsck/problem.c:1284 #, no-c-format msgid "" "@E has a non-unique filename.\n" @@ -2220,7 +2126,7 @@ msgstr "" #. @-expanded: Duplicate entry '%Dn' found.\n #. @-expanded: \tMarking %p (%i) to be rebuilt.\n #. @-expanded: \n -#: e2fsck/problem.c:1344 +#: e2fsck/problem.c:1289 msgid "" "Duplicate @e '%Dn' found.\n" "\tMarking %p (%i) to be rebuilt.\n" @@ -2231,118 +2137,116 @@ msgstr "" "\n" #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1349 +#: e2fsck/problem.c:1294 msgid "i_blocks_hi @F %N, @s zero.\n" msgstr "i_blocks_hi @F %N, @s nol.\n" #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n -#: e2fsck/problem.c:1354 +#: e2fsck/problem.c:1299 msgid "Unexpected @b in @h %d (%q).\n" msgstr "Tidak terduga @b dalam @h %d (%q).\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n -#: e2fsck/problem.c:1358 +#: e2fsck/problem.c:1303 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n" msgstr "@E referensi @i %Di dalam @g %g dimana _INODE_UNINIT telah diset.\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n -#: e2fsck/problem.c:1363 +#: e2fsck/problem.c:1308 msgid "@E references @i %Di found in @g %g's unused inodes area.\n" -msgstr "" -"@E referensi @i %Di ditemukan dalam @g %g's di daerah inode yang tidak " -"digunakan.\n" +msgstr "@E referensi @i %Di ditemukan dalam @g %g's di daerah inode yang tidak digunakan.\n" #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1368 +#: e2fsck/problem.c:1313 msgid "i_file_acl_hi @F %N, @s zero.\n" msgstr "i_file_acl_hi @F %N, @s nol.\n" #. @-expanded: Pass 3: Checking directory connectivity\n -#: e2fsck/problem.c:1375 +#: e2fsck/problem.c:1320 msgid "Pass 3: Checking @d connectivity\n" msgstr "Tahap 3: Memeriksa konektivitas @d\n" #. @-expanded: root inode not allocated. -#: e2fsck/problem.c:1380 +#: e2fsck/problem.c:1325 msgid "@r not allocated. " msgstr "@r tidak dialokasikan. " #. @-expanded: No room in lost+found directory. -#: e2fsck/problem.c:1385 +#: e2fsck/problem.c:1330 msgid "No room in @l @d. " msgstr "Tidak ada ruang dalam @l @d. " #. @-expanded: Unconnected directory inode %i (%p)\n -#: e2fsck/problem.c:1390 +#: e2fsck/problem.c:1335 #, c-format msgid "Unconnected @d @i %i (%p)\n" msgstr "Tidak terhubung @d @i %i (%p)\n" #. @-expanded: /lost+found not found. -#: e2fsck/problem.c:1395 +#: e2fsck/problem.c:1340 msgid "/@l not found. " msgstr "/@l tidak ditemukan. " #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n -#: e2fsck/problem.c:1400 +#: e2fsck/problem.c:1345 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n" msgstr "'..' dalam %Q (%i) adalah %P (%j), @s %q (%d).\n" #. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n -#: e2fsck/problem.c:1405 +#: e2fsck/problem.c:1350 msgid "Bad or non-existent /@l. Cannot reconnect.\n" msgstr "Buruk atau tidak ada /@l. Tidak dapat dihubungkan kembali.\n" #. @-expanded: Could not expand /lost+found: %m\n -#: e2fsck/problem.c:1410 +#: e2fsck/problem.c:1355 #, c-format msgid "Could not expand /@l: %m\n" msgstr "Tidak dapat mengexpan /@l: %m\n" -#: e2fsck/problem.c:1415 +#: e2fsck/problem.c:1360 #, c-format msgid "Could not reconnect %i: %m\n" msgstr "Tidak dapat menghubungkan %i: %m\n" #. @-expanded: Error while trying to find /lost+found: %m\n -#: e2fsck/problem.c:1420 +#: e2fsck/problem.c:1365 #, c-format msgid "Error while trying to find /@l: %m\n" msgstr "Error ketika mencoba mencari /@l: %m\n" #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1425 +#: e2fsck/problem.c:1370 #, c-format msgid "ext2fs_new_@b: %m while trying to create /@l @d\n" msgstr "ext2fs_new_@b: %m ketika mencoba untuk membuat /@l @d\n" #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1430 +#: e2fsck/problem.c:1375 #, c-format msgid "ext2fs_new_@i: %m while trying to create /@l @d\n" msgstr "ext2fs_new_@i: %m ketika mencoba untuk membuat /@l @d\n" #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n -#: e2fsck/problem.c:1435 +#: e2fsck/problem.c:1380 #, c-format msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n" msgstr "ext2fs_new_dir_@b: %m ketika membuat @d @b baru\n" #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n -#: e2fsck/problem.c:1440 +#: e2fsck/problem.c:1385 #, c-format msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n" msgstr "ext2fs_write_dir_@b: %m ketika menulis @d @b untuk /@l\n" #. @-expanded: Error while adjusting inode count on inode %i\n -#: e2fsck/problem.c:1445 +#: e2fsck/problem.c:1390 #, c-format msgid "Error while adjusting @i count on @i %i\n" msgstr "Error ketika menyesuaikan jumlah @i di @i %i\n" #. @-expanded: Couldn't fix parent of inode %i: %m\n #. @-expanded: \n -#: e2fsck/problem.c:1450 +#: e2fsck/problem.c:1395 #, c-format msgid "" "Couldn't fix parent of @i %i: %m\n" @@ -2353,7 +2257,7 @@ msgstr "" #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n #. @-expanded: \n -#: e2fsck/problem.c:1455 +#: e2fsck/problem.c:1400 #, c-format msgid "" "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n" @@ -2363,229 +2267,219 @@ msgstr "" "\n" #. @-expanded: Error creating root directory (%s): %m\n -#: e2fsck/problem.c:1465 +#: e2fsck/problem.c:1410 #, c-format msgid "Error creating root @d (%s): %m\n" msgstr "Error membuat root @d (%s): %m\n" #. @-expanded: Error creating /lost+found directory (%s): %m\n -#: e2fsck/problem.c:1470 +#: e2fsck/problem.c:1415 #, c-format msgid "Error creating /@l @d (%s): %m\n" msgstr "Error membuat /@l @d (%s): %m\n" #. @-expanded: root inode is not a directory; aborting.\n -#: e2fsck/problem.c:1475 +#: e2fsck/problem.c:1420 msgid "@r is not a @d; aborting.\n" msgstr "@r bukan sebuah @d: membatalkan.\n" #. @-expanded: Cannot proceed without a root inode.\n -#: e2fsck/problem.c:1480 +#: e2fsck/problem.c:1425 msgid "Cannot proceed without a @r.\n" msgstr "Tidak dapat melanjutkan tanpa sebuah @r.\n" #. @-expanded: /lost+found is not a directory (ino=%i)\n -#: e2fsck/problem.c:1490 +#: e2fsck/problem.c:1435 #, c-format msgid "/@l is not a @d (ino=%i)\n" msgstr "/@l bukan sebuah @d (ino=%i)\n" -#: e2fsck/problem.c:1497 +#: e2fsck/problem.c:1442 msgid "Pass 3A: Optimizing directories\n" msgstr "Tahap 3A: Mengoptimasi direktori\n" -#: e2fsck/problem.c:1502 +#: e2fsck/problem.c:1447 #, c-format msgid "Failed to create dirs_to_hash iterator: %m\n" msgstr "Gagal membuat peng-iterasi dirs_to_hash: %m\n" -#: e2fsck/problem.c:1507 +#: e2fsck/problem.c:1452 msgid "Failed to optimize directory %q (%d): %m\n" msgstr "Gagal mengoptimasi direktori %q (%d): %m\n" -#: e2fsck/problem.c:1512 +#: e2fsck/problem.c:1457 msgid "Optimizing directories: " msgstr "Mengoptimasi direktori: " -#: e2fsck/problem.c:1529 +#: e2fsck/problem.c:1474 msgid "Pass 4: Checking reference counts\n" msgstr "Tahap 4: Memeriksa jumlah referensi\n" #. @-expanded: unattached zero-length inode %i. -#: e2fsck/problem.c:1534 +#: e2fsck/problem.c:1479 #, c-format msgid "@u @z @i %i. " msgstr "@u @z @i %i. " #. @-expanded: unattached inode %i\n -#: e2fsck/problem.c:1539 +#: e2fsck/problem.c:1484 #, c-format msgid "@u @i %i\n" msgstr "@u @i %i\n" #. @-expanded: inode %i ref count is %Il, should be %N. -#: e2fsck/problem.c:1544 +#: e2fsck/problem.c:1489 msgid "@i %i ref count is %Il, @s %N. " msgstr "@i %i ref count adalah %Il, @s %N. " #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n -#: e2fsck/problem.c:1548 +#: e2fsck/problem.c:1493 msgid "" "WARNING: PROGRAMMING BUG IN E2FSCK!\n" "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n" "@i_link_info[%i] is %N, @i.i_links_count is %Il. They @s the same!\n" msgstr "" "PERINGATAN: BUG DALAM PEMROGRAMAN E2FSCK!\n" -"\tATAU SEORANG KERAS KEPALA (ANDA) MEMERIKSA SEBUAH SISTEM BERKAS (HIDUP) " -"YANG TERPASANG.\n" -"@i_link_info[%i] adalah %N, @i.i_links_count adalah %Il. Mereka @s adalah " -"sama!\n" +"\tATAU SEORANG KERAS KEPALA (ANDA) MEMERIKSA SEBUAH SISTEM BERKAS (HIDUP) YANG TERPASANG.\n" +"@i_link_info[%i] adalah %N, @i.i_links_count adalah %Il. Mereka @s adalah sama!\n" #. @-expanded: Pass 5: Checking group summary information\n -#: e2fsck/problem.c:1558 +#: e2fsck/problem.c:1503 msgid "Pass 5: Checking @g summary information\n" msgstr "Tahap 5: Memeriksa ringkasan informasi @g\n" #. @-expanded: Padding at end of inode bitmap is not set. -#: e2fsck/problem.c:1563 +#: e2fsck/problem.c:1508 msgid "Padding at end of @i @B is not set. " msgstr "Menambahkan pad diakhir dari @i @B yang tidak terset. " #. @-expanded: Padding at end of block bitmap is not set. -#: e2fsck/problem.c:1568 +#: e2fsck/problem.c:1513 msgid "Padding at end of @b @B is not set. " msgstr "Menambahkan pad di akhir dari @b @B adalah ter set. " #. @-expanded: block bitmap differences: -#: e2fsck/problem.c:1573 +#: e2fsck/problem.c:1518 msgid "@b @B differences: " msgstr "@b @B perbedaan: " #. @-expanded: inode bitmap differences: -#: e2fsck/problem.c:1593 +#: e2fsck/problem.c:1538 msgid "@i @B differences: " msgstr "@i @B perbedaan: " #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1613 +#: e2fsck/problem.c:1558 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n" msgstr "Kosong @is terhitung salah untuk @g #%g (%i, terhitung=%j).\n" #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1618 +#: e2fsck/problem.c:1563 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n" msgstr "Direktori terhitung salah untuk @g #%g (%i, terhitung=%j).\n" #. @-expanded: Free inodes count wrong (%i, counted=%j).\n -#: e2fsck/problem.c:1623 +#: e2fsck/problem.c:1568 msgid "Free @is count wrong (%i, counted=%j).\n" msgstr "Kosong @is terhitung salah (%i, terhitung=%j).\n" #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n -#: e2fsck/problem.c:1628 +#: e2fsck/problem.c:1573 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n" msgstr "Kosong @bs terhitung salah untuk @g #%g (%b, terhitung=%c).\n" #. @-expanded: Free blocks count wrong (%b, counted=%c).\n -#: e2fsck/problem.c:1633 +#: e2fsck/problem.c:1578 msgid "Free @bs count wrong (%b, counted=%c).\n" msgstr "Kosong @bs terhitung salah (%b, terhitung=%c).\n" #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap #. @-expanded: endpoints (%i, %j)\n -#: e2fsck/problem.c:1638 -msgid "" -"PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B " -"endpoints (%i, %j)\n" -msgstr "" -"PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) tidak dapat mencocokan " -"perhitungan @B titik ujung (%i, %j)\n" +#: e2fsck/problem.c:1583 +msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n" +msgstr "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) tidak dapat mencocokan perhitungan @B titik ujung (%i, %j)\n" -#: e2fsck/problem.c:1644 +#: e2fsck/problem.c:1589 msgid "Internal error: fudging end of bitmap (%N)\n" msgstr "Internal error: fudging berakhir dari bitmap (%N)\n" #. @-expanded: Error copying in replacement inode bitmap: %m\n -#: e2fsck/problem.c:1649 +#: e2fsck/problem.c:1594 #, c-format msgid "Error copying in replacement @i @B: %m\n" msgstr "Error menyalin dalam mengganti @i @B: %m\n" #. @-expanded: Error copying in replacement block bitmap: %m\n -#: e2fsck/problem.c:1654 +#: e2fsck/problem.c:1599 #, c-format msgid "Error copying in replacement @b @B: %m\n" msgstr "Error menyalin dalam mengganti @b @B: %m\n" #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n -#: e2fsck/problem.c:1679 +#: e2fsck/problem.c:1624 #, c-format msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n" msgstr "@g %g @b(s) sedang digunakan tetapi @g tertanda BLOCK_UNINIT\n" #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n -#: e2fsck/problem.c:1684 +#: e2fsck/problem.c:1629 #, c-format msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n" msgstr "@g %g @i(s) sedang digunakan tetapi @g tertanda INODE_UNINIT\n" #. @-expanded: Recreate journal -#: e2fsck/problem.c:1691 +#: e2fsck/problem.c:1636 msgid "Recreate @j" msgstr "Membuat kembali @j" -#: e2fsck/problem.c:1696 -msgid "Update quota info for quota type %N" -msgstr "" - -#: e2fsck/problem.c:1815 +#: e2fsck/problem.c:1755 #, c-format msgid "Unhandled error code (0x%x)!\n" msgstr "Kode error tidak tertangani (0x%x)!\n" -#: e2fsck/problem.c:1940 e2fsck/problem.c:1944 +#: e2fsck/problem.c:1850 msgid "IGNORED" msgstr "DIABAIKAN" -#: e2fsck/scantest.c:79 +#: e2fsck/scantest.c:81 #, c-format msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n" msgstr "Memori yang digunakan: %d, waktu yang digunakan: %6.3f/%6.3f/%6.3f\n" -#: e2fsck/scantest.c:98 +#: e2fsck/scantest.c:100 #, c-format msgid "size of inode=%d\n" msgstr "ukuran dari inode=%d\n" -#: e2fsck/scantest.c:119 +#: e2fsck/scantest.c:121 msgid "while starting inode scan" msgstr "ketika memulai scan dari inode" -#: e2fsck/scantest.c:130 +#: e2fsck/scantest.c:132 msgid "while doing inode scan" msgstr "ketika melakukan pemeriksaan inode" -#: e2fsck/super.c:188 +#: e2fsck/super.c:187 #, c-format msgid "while calling ext2fs_block_iterate for inode %d" msgstr "ketika memanggil ext2fs_block_iterate untuk inode %d" -#: e2fsck/super.c:211 -#, fuzzy, c-format -msgid "while calling ext2fs_adjust_ea_refcount2 for inode %d" +#: e2fsck/super.c:209 +#, c-format +msgid "while calling ext2fs_adjust_ea_refcount for inode %d" msgstr "ketika memanggil ext2fs_adjust_ea_refcount untuk inode %d" -#: e2fsck/super.c:272 +#: e2fsck/super.c:267 msgid "Truncating" msgstr "Truncating" -#: e2fsck/super.c:273 +#: e2fsck/super.c:268 msgid "Clearing" msgstr "Menghapus" -#: e2fsck/unix.c:74 +#: e2fsck/unix.c:76 #, c-format msgid "" "Usage: %s [-panyrcdfvtDFV] [-b superblock] [-B blocksize]\n" @@ -2598,7 +2492,7 @@ msgstr "" "\t\t[-l|-L bad_blocks_file] [-C fd] [-j external_journal]\n" "\t\t[-E extendend-options] perangkat\n" -#: e2fsck/unix.c:80 +#: e2fsck/unix.c:82 #, c-format msgid "" "\n" @@ -2606,8 +2500,7 @@ msgid "" " -p Automatic repair (no questions)\n" " -n Make no changes to the filesystem\n" " -y Assume \"yes\" to all questions\n" -" -c Check for bad blocks and add them to the badblock " -"list\n" +" -c Check for bad blocks and add them to the badblock list\n" " -f Force checking even if filesystem is marked clean\n" msgstr "" "\n" @@ -2615,12 +2508,10 @@ msgstr "" " -p Otomatis perbaikan (tanpa pertanyaan)\n" " -n Tidak membuat perubahan di sistem berkas\n" " -y Mengasumsi \"yes\" untuk semua pertanyaan\n" -" -c Memeriksa blok buruk dan menambahkan hasilnya ke " -"daftar blok buruk\n" -" -f Memaksa memeriksa walaupun sistem berkas ditandai " -"bersih\n" +" -c Memeriksa blok buruk dan menambahkan hasilnya ke daftar blok buruk\n" +" -f Memaksa memeriksa walaupun sistem berkas ditandai bersih\n" -#: e2fsck/unix.c:86 +#: e2fsck/unix.c:88 #, c-format msgid "" " -v Be verbose\n" @@ -2632,163 +2523,43 @@ msgid "" msgstr "" " -v Tampilkan pesan pesan\n" " -b super blok Gunakan superblok lain\n" -" -B ukuran blok Paksa menggunakan ukuran blok ketika mencari super " -"blok\n" +" -B ukuran blok Paksa menggunakan ukuran blok ketika mencari super blok\n" " -j external_journal Set lokasi dari journal luar\n" " -l bad_blok_file Tambahkan ke daftar blok buruk\n" " -L bad_blok_file Set daftar blok buruk\n" -#: e2fsck/unix.c:130 -#, fuzzy, c-format -msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n" -msgstr "%s: %u/%u berkas (%0d.%d%% tidak kontinu), %u/%u blok\n" - -#: e2fsck/unix.c:137 -#, fuzzy, c-format -msgid "" -"\n" -"%8u inode used (%2.2f%%)\n" -msgid_plural "" -"\n" -"%8u inodes used (%2.2f%%)\n" -msgstr[0] "%u inodes discan.\n" -msgstr[1] "%u inodes discan.\n" - -#: e2fsck/unix.c:141 +#: e2fsck/unix.c:132 #, c-format -msgid "%8u non-contiguous file (%0d.%d%%)\n" -msgid_plural "%8u non-contiguous files (%0d.%d%%)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:146 -#, c-format -msgid "%8u non-contiguous directory (%0d.%d%%)\n" -msgid_plural "%8u non-contiguous directories (%0d.%d%%)\n" -msgstr[0] "" -msgstr[1] "" +msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n" +msgstr "%s: %u/%u berkas (%0d.%d%% tidak kontinu), %u/%u blok\n" -#: e2fsck/unix.c:151 +#: e2fsck/unix.c:150 #, c-format msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" msgstr " # dari inodes dengan ind/dind/tind blok: %u/%u/%u\n" -#: e2fsck/unix.c:159 +#: e2fsck/unix.c:157 +#, c-format msgid " Extent depth histogram: " msgstr " Kedalaman Extensi histogram: " -#: e2fsck/unix.c:168 -#, c-format -msgid "%8llu block used (%2.2f%%)\n" -msgid_plural "%8llu blocks used (%2.2f%%)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:171 -#, fuzzy, c-format -msgid "%8u bad block\n" -msgid_plural "%8u bad blocks\n" -msgstr[0] "%u inodes, %u blok\n" -msgstr[1] "%u inodes, %u blok\n" - -#: e2fsck/unix.c:173 -#, fuzzy, c-format -msgid "%8u large file\n" -msgid_plural "%8u large files\n" -msgstr[0] "berkas biasa" -msgstr[1] "berkas biasa" - -#: e2fsck/unix.c:175 -#, fuzzy, c-format -msgid "" -"\n" -"%8u regular file\n" -msgid_plural "" -"\n" -"%8u regular files\n" -msgstr[0] "berkas biasa" -msgstr[1] "berkas biasa" - -#: e2fsck/unix.c:177 -#, fuzzy, c-format -msgid "%8u directory\n" -msgid_plural "%8u directories\n" -msgstr[0] "direktori" -msgstr[1] "direktori" - -#: e2fsck/unix.c:179 -#, fuzzy, c-format -msgid "%8u character device file\n" -msgid_plural "%8u character device files\n" -msgstr[0] "karakter device" -msgstr[1] "karakter device" - -#: e2fsck/unix.c:182 -#, fuzzy, c-format -msgid "%8u block device file\n" -msgid_plural "%8u block device files\n" -msgstr[0] "block device" -msgstr[1] "block device" - -#: e2fsck/unix.c:184 -#, c-format -msgid "%8u fifo\n" -msgid_plural "%8u fifos\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:186 -#, c-format -msgid "%8u link\n" -msgid_plural "%8u links\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:189 -#, fuzzy, c-format -msgid "%8u symbolic link" -msgid_plural "%8u symbolic links" -msgstr[0] "symbolic link" -msgstr[1] "symbolic link" - -#: e2fsck/unix.c:191 -#, fuzzy, c-format -msgid " (%u fast symbolic link)\n" -msgid_plural " (%u fast symbolic links)\n" -msgstr[0] "symbolic link" -msgstr[1] "symbolic link" - -#: e2fsck/unix.c:195 -#, fuzzy, c-format -msgid "%8u socket\n" -msgid_plural "%8u sockets\n" -msgstr[0] "socket" -msgstr[1] "socket" - -#: e2fsck/unix.c:198 -#, c-format -msgid "%8u file\n" -msgid_plural "%8u files\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:212 misc/badblocks.c:983 misc/tune2fs.c:1979 misc/util.c:147 -#: resize/main.c:247 +#: e2fsck/unix.c:207 misc/badblocks.c:928 misc/tune2fs.c:1625 misc/util.c:151 +#: resize/main.c:249 #, c-format msgid "while determining whether %s is mounted." msgstr "ketika sedang menentukan apakah %s sedang dimount." -#: e2fsck/unix.c:230 -#, fuzzy, c-format -msgid "Warning! %s is %s.\n" +#: e2fsck/unix.c:225 +#, c-format +msgid "Warning! %s is mounted.\n" msgstr "Peringatan! %s sedang dimount.\n" -#: e2fsck/unix.c:237 +#: e2fsck/unix.c:229 #, c-format -msgid "%s is %s.\n" -msgstr "" +msgid "%s is mounted. " +msgstr "%s sedang dimount. " -#: e2fsck/unix.c:240 +#: e2fsck/unix.c:231 msgid "" "Cannot continue, aborting.\n" "\n" @@ -2796,97 +2567,94 @@ msgstr "" "Tidak dapat melanjutkan, membatalkan.\n" "\n" -#: e2fsck/unix.c:242 -#, fuzzy +#: e2fsck/unix.c:232 +#, c-format msgid "" "\n" "\n" -"WARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" -"cause ***SEVERE*** filesystem damage.\n" +"\a\a\a\aWARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" +"cause ***SEVERE*** filesystem damage.\a\a\a\n" "\n" msgstr "" "\n" "\n" -"\a\a\a\aPERINGATAN!!! Sistem berkas telah terpasang. Jika anda lanjutkan " -"anda ***AKAN***\n" +"\a\a\a\aPERINGATAN!!! Sistem berkas telah terpasang. Jika anda lanjutkan anda ***AKAN***\n" "bisa menyebabkan kerusakan ***PARAH*** di sistem berkas.\a\a\a\n" "\n" -#: e2fsck/unix.c:247 +#: e2fsck/unix.c:235 msgid "Do you really want to continue" msgstr "Apakah anda yakin ingin melanjutkan" -#: e2fsck/unix.c:249 +#: e2fsck/unix.c:237 #, c-format msgid "check aborted.\n" msgstr "pemeriksaan dibatalkan.\n" -#: e2fsck/unix.c:339 +#: e2fsck/unix.c:315 msgid " contains a file system with errors" msgstr " berisi sebuah file system dengan errors" -#: e2fsck/unix.c:341 +#: e2fsck/unix.c:317 msgid " was not cleanly unmounted" msgstr " tidak bersih setelah diunmount." -#: e2fsck/unix.c:343 +#: e2fsck/unix.c:319 msgid " primary superblock features different from backup" msgstr " superblok utama memiliki feature berbeda dari backup" -#: e2fsck/unix.c:347 +#: e2fsck/unix.c:323 #, c-format msgid " has been mounted %u times without being checked" msgstr " telah dimount %u kali tanpa dilakukan pemeriksaan" -#: e2fsck/unix.c:354 +#: e2fsck/unix.c:330 msgid " has filesystem last checked time in the future" -msgstr "" -" memiliki sistem berkas yang waktu terakhir diperiksa berada di masa yang " -"akan datang" +msgstr " memiliki sistem berkas yang waktu terakhir diperiksa berada di masa yang akan datang" -#: e2fsck/unix.c:360 +#: e2fsck/unix.c:336 #, c-format msgid " has gone %u days without being checked" msgstr " telah lewat %u hari tanpa dilakukan pemeriksaan" -#: e2fsck/unix.c:369 +#: e2fsck/unix.c:345 msgid ", check forced.\n" msgstr ", pemeriksaan dipaksakan.\n" -#: e2fsck/unix.c:402 -#, fuzzy, c-format -msgid "%s: clean, %u/%u files, %llu/%llu blocks" +#: e2fsck/unix.c:348 +#, c-format +msgid "%s: clean, %u/%u files, %u/%u blocks" msgstr "%s: bersih, %u/%u berkas, %u/%u blok" -#: e2fsck/unix.c:421 +#: e2fsck/unix.c:365 msgid " (check deferred; on battery)" msgstr " (pemeriksaan dibatalkan; power menggunakan batere)" -#: e2fsck/unix.c:424 +#: e2fsck/unix.c:368 msgid " (check after next mount)" msgstr " (pemeriksaan dilakukan setelah mount selanjutnya)" -#: e2fsck/unix.c:426 +#: e2fsck/unix.c:370 #, c-format msgid " (check in %ld mounts)" msgstr " (pemeriksaan dilakukan dalam %ld mounts)" -#: e2fsck/unix.c:576 +#: e2fsck/unix.c:517 #, c-format msgid "ERROR: Couldn't open /dev/null (%s)\n" msgstr "ERROR: Tidak dapat membuka /dev/null (%s)\n" -#: e2fsck/unix.c:645 +#: e2fsck/unix.c:587 #, c-format msgid "Invalid EA version.\n" msgstr "Versi EA tidak valid.\n" -#: e2fsck/unix.c:672 +#: e2fsck/unix.c:596 #, c-format msgid "Unknown extended option: %s\n" msgstr "Pilihan extended tidak diketahui: %s\n" -#: e2fsck/unix.c:697 +#: e2fsck/unix.c:618 #, c-format msgid "" "Syntax error in e2fsck config file (%s, line #%d)\n" @@ -2895,51 +2663,47 @@ msgstr "" "Syntax error dalam berkas konfigurasi e2fsck (%s, baris #%d)\n" "\t%s\n" -#: e2fsck/unix.c:766 +#: e2fsck/unix.c:686 #, c-format msgid "Error validating file descriptor %d: %s\n" msgstr "Error memvalidasi berkas deskripsi %d: %s\n" -#: e2fsck/unix.c:770 +#: e2fsck/unix.c:690 msgid "Invalid completion information file descriptor" msgstr "Informasi File berkas completion tidak valid" -#: e2fsck/unix.c:785 +#: e2fsck/unix.c:705 msgid "Only one of the options -p/-a, -n or -y may be specified." -msgstr "" -"Hanya salah satu dari pilihan -p/-a, -n atau -y yang boleh dispesifikasikan." +msgstr "Hanya salah satu dari pilihan -p/-a, -n atau -y yang boleh dispesifikasikan." -#: e2fsck/unix.c:806 +#: e2fsck/unix.c:726 #, c-format msgid "The -t option is not supported on this version of e2fsck.\n" msgstr "Pilihan -t tidak dilayani dalam versi e2fsck ini.\n" -#: e2fsck/unix.c:837 e2fsck/unix.c:909 misc/tune2fs.c:811 misc/tune2fs.c:1100 -#: misc/tune2fs.c:1118 -#, c-format -msgid "Unable to resolve '%s'" -msgstr "Tidak dapat meresolve '%s'" - -#: e2fsck/unix.c:888 +#: e2fsck/unix.c:801 msgid "The -n and -D options are incompatible." msgstr "Pilihan -n dan -D tidak kompatibel." -#: e2fsck/unix.c:893 +#: e2fsck/unix.c:806 msgid "The -n and -c options are incompatible." msgstr "Pilihan -n dan -c tidak kompatibel." -#: e2fsck/unix.c:898 +#: e2fsck/unix.c:811 msgid "The -n and -l/-L options are incompatible." msgstr "Pilihan -n dan -l/-L tidak kompatibel." -#: e2fsck/unix.c:943 +#: e2fsck/unix.c:822 misc/tune2fs.c:550 misc/tune2fs.c:835 misc/tune2fs.c:853 +#, c-format +msgid "Unable to resolve '%s'" +msgstr "Tidak dapat meresolve '%s'" + +#: e2fsck/unix.c:851 #, c-format msgid "The -c and the -l/-L options may not be both used at the same time.\n" -msgstr "" -"Pilihan -c dan -l/-L tidak boleh digunakan secara bersamaan dalam satu " -"waktu.\n" +msgstr "Pilihan -c dan -l/-L tidak boleh digunakan secara bersamaan dalam satu waktu.\n" -#: e2fsck/unix.c:991 +#: e2fsck/unix.c:899 #, c-format msgid "" "E2FSCK_JBD_DEBUG \"%s\" not an integer\n" @@ -2948,7 +2712,7 @@ msgstr "" "E2FSCK_JBD_DEBUG \"%s\" bukan sebuah integer\n" "\n" -#: e2fsck/unix.c:1000 +#: e2fsck/unix.c:908 #, c-format msgid "" "\n" @@ -2959,66 +2723,44 @@ msgstr "" "Argument bukan numerik tidak valid untuk -%c (\"%s\")\n" "\n" -#: e2fsck/unix.c:1089 -#, c-format -msgid "" -"MMP interval is %u seconds and total wait time is %u seconds. Please " -"wait...\n" -msgstr "" - -#: e2fsck/unix.c:1106 e2fsck/unix.c:1111 -#, fuzzy -msgid "while checking MMP block" -msgstr "ketika mensetup superblok" - -#: e2fsck/unix.c:1113 misc/tune2fs.c:1912 -msgid "" -"If you are sure the filesystem is not in use on any node, run:\n" -"'tune2fs -f -E clear_mmp {device}'\n" -msgstr "" - -#: e2fsck/unix.c:1163 +#: e2fsck/unix.c:982 #, c-format msgid "Error: ext2fs library version out of date!\n" msgstr "Error: ext2fs versi librari ketinggalan jaman!\n" -#: e2fsck/unix.c:1171 +#: e2fsck/unix.c:990 msgid "while trying to initialize program" msgstr "ketika mencoba untuk menginisialisasi aplikasi" -#: e2fsck/unix.c:1194 +#: e2fsck/unix.c:1001 #, c-format msgid "\tUsing %s, %s\n" msgstr "\tMenggunakan %s, %s\n" -#: e2fsck/unix.c:1206 +#: e2fsck/unix.c:1013 msgid "need terminal for interactive repairs" msgstr "butuh terminal untuk reparasi interactive" -#: e2fsck/unix.c:1256 +#: e2fsck/unix.c:1046 #, c-format msgid "%s: %s trying backup blocks...\n" msgstr "%s: %s mencoba membackup blok...\n" -#: e2fsck/unix.c:1258 +#: e2fsck/unix.c:1048 msgid "Superblock invalid," msgstr "Superblok tidak valid," -#: e2fsck/unix.c:1259 +#: e2fsck/unix.c:1049 msgid "Group descriptors look bad..." msgstr "Deskripsi grup terlihat buruk..." -#: e2fsck/unix.c:1269 -#, fuzzy, c-format -msgid "%s: %s while using the backup blocks" -msgstr "%s: %s mencoba membackup blok...\n" - -#: e2fsck/unix.c:1273 +#: e2fsck/unix.c:1059 #, c-format msgid "%s: going back to original superblock\n" msgstr "%s: kembali ke superblock asli\n" -#: e2fsck/unix.c:1301 +#: e2fsck/unix.c:1086 +#, c-format msgid "" "The filesystem revision is apparently too high for this version of e2fsck.\n" "(Or the filesystem superblock is corrupt)\n" @@ -3028,104 +2770,110 @@ msgstr "" "(Atau sistem berkas superblok terkorupsi)\n" "\n" -#: e2fsck/unix.c:1307 +#: e2fsck/unix.c:1092 +#, c-format msgid "Could this be a zero-length partition?\n" msgstr "Mungkinkan ini sebuah partisi dengan panjang nol?\n" -#: e2fsck/unix.c:1310 +#: e2fsck/unix.c:1094 #, c-format msgid "You must have %s access to the filesystem or be root\n" msgstr "Anda harus memiliki %s akses ke sistem berkas atau menjadi root\n" -#: e2fsck/unix.c:1315 +#: e2fsck/unix.c:1099 +#, c-format msgid "Possibly non-existent or swap device?\n" msgstr "Mungkin tidak ada atau sebuah perangkat swap?\n" -#: e2fsck/unix.c:1318 +#: e2fsck/unix.c:1101 +#, c-format msgid "Filesystem mounted or opened exclusively by another program?\n" -msgstr "" -"Sistem berkas dimount atau dibuka secara exclusively oleh aplikasi lain?\n" - -#: e2fsck/unix.c:1321 -#, fuzzy -msgid "Possibly non-existent device?\n" -msgstr "Mungkin tidak ada atau sebuah perangkat swap?\n" +msgstr "Sistem berkas dimount atau dibuka secara exclusively oleh aplikasi lain?\n" -#: e2fsck/unix.c:1324 +#: e2fsck/unix.c:1105 +#, c-format msgid "" "Disk write-protected; use the -n option to do a read-only\n" "check of the device.\n" msgstr "" -"Disk terproteksi untuk ditulis; gunakan pilihan -n untuk melakukan secara " -"baca-saja\n" +"Disk terproteksi untuk ditulis; gunakan pilihan -n untuk melakukan secara baca-saja\n" "dalam memeriksa perangkat.\n" -#: e2fsck/unix.c:1389 +#: e2fsck/unix.c:1169 msgid "Get a newer version of e2fsck!" msgstr "Dapatkan versi yang lebih baru dari e2fsck!" -#: e2fsck/unix.c:1437 +#: e2fsck/unix.c:1199 #, c-format msgid "while checking ext3 journal for %s" msgstr "ketika memeriksa ext3 jurnal untuk %s" -#: e2fsck/unix.c:1448 -msgid "" -"Warning: skipping journal recovery because doing a read-only filesystem " -"check.\n" -msgstr "" -"Peringatan: melewatkan recovery jurnal karena sedang melakukan pemeriksaan " -"di sistem berkas yang baca-saja (read-only).\n" +#: e2fsck/unix.c:1210 +#, c-format +msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n" +msgstr "Peringatan: melewatkan recovery jurnal karena sedang melakukan pemeriksaan di sistem berkas yang baca-saja (read-only).\n" -#: e2fsck/unix.c:1461 +#: e2fsck/unix.c:1223 #, c-format msgid "unable to set superblock flags on %s\n" msgstr "tidak dapat menset superblok flag di %s\n" -#: e2fsck/unix.c:1467 +#: e2fsck/unix.c:1229 #, c-format msgid "while recovering ext3 journal of %s" msgstr "ketika merecovery ext3 jurnal dari %s" -#: e2fsck/unix.c:1492 +#: e2fsck/unix.c:1254 #, c-format msgid "%s has unsupported feature(s):" msgstr "%s memiliki feature yang tidak disupport:" -#: e2fsck/unix.c:1507 -#, fuzzy, c-format -msgid "%s: warning: compression support is experimental.\n" +#: e2fsck/unix.c:1270 +msgid "Warning: compression support is experimental.\n" msgstr "Peringatan: support untuk kompresi adalah experimental.\n" -#: e2fsck/unix.c:1513 -#, fuzzy, c-format +#: e2fsck/unix.c:1275 +#, c-format msgid "" -"%s: e2fsck not compiled with HTREE support,\n" +"E2fsck not compiled with HTREE support,\n" "\tbut filesystem %s has HTREE directories.\n" msgstr "" "E2fsck tidak dikompilasi dengan layanan HTREE,\n" "\t tetapi sistem berkas %s memiliki direktori HTREE.\n" -#: e2fsck/unix.c:1565 -#, fuzzy, c-format -msgid "%s: %s while reading bad blocks inode\n" +#: e2fsck/unix.c:1328 +msgid "while reading bad blocks inode" msgstr "ketika sedang membaca inode blok buruk" -#: e2fsck/unix.c:1568 +#: e2fsck/unix.c:1330 +#, c-format msgid "This doesn't bode well, but we'll try to go on...\n" -msgstr "" -"Ini bukan pertanda baik, tapi kita akan tetap mencoba untuk meneruskan...\n" +msgstr "Ini bukan pertanda baik, tapi kita akan tetap mencoba untuk meneruskan...\n" -#: e2fsck/unix.c:1609 +#: e2fsck/unix.c:1356 +msgid "Couldn't determine journal size" +msgstr "Tidak dapat menentukan ukuran jurnal" + +#: e2fsck/unix.c:1359 #, c-format msgid "Creating journal (%d blocks): " msgstr "Membuat jurnal (%d blok): " -#: e2fsck/unix.c:1619 +#: e2fsck/unix.c:1366 misc/mke2fs.c:2248 +msgid "" +"\n" +"\twhile trying to create journal" +msgstr "" +"\n" +"\tketika mencoba untuk membuat jurnal" + +#: e2fsck/unix.c:1369 +#, c-format msgid " Done.\n" msgstr " Selesai.\n" -#: e2fsck/unix.c:1620 +#: e2fsck/unix.c:1370 +#, c-format msgid "" "\n" "*** journal has been re-created - filesystem is now ext3 again ***\n" @@ -3133,24 +2881,25 @@ msgstr "" "\n" "*** jurnal telah dibuat kembali - sistem berkas sekarang ext3 lagi ***\n" -#: e2fsck/unix.c:1643 +#: e2fsck/unix.c:1377 +#, c-format msgid "Restarting e2fsck from the beginning...\n" msgstr "Mengulang kembali e2fsck dari awal...\n" -#: e2fsck/unix.c:1647 +#: e2fsck/unix.c:1381 msgid "while resetting context" msgstr "ketika mereset context" -#: e2fsck/unix.c:1654 +#: e2fsck/unix.c:1388 #, c-format msgid "%s: e2fsck canceled.\n" msgstr "%s: e2fsck dibatalkan.\n" -#: e2fsck/unix.c:1659 +#: e2fsck/unix.c:1393 msgid "aborted" msgstr "dibatalkan" -#: e2fsck/unix.c:1671 e2fsck/util.c:67 +#: e2fsck/unix.c:1405 #, c-format msgid "" "\n" @@ -3159,12 +2908,12 @@ msgstr "" "\n" "%s: ***** FILE SYSTEM TELAH TERMODIFIKASI *****\n" -#: e2fsck/unix.c:1675 +#: e2fsck/unix.c:1408 #, c-format msgid "%s: ***** REBOOT LINUX *****\n" msgstr "%s: ***** REBOOT LINUX *****\n" -#: e2fsck/unix.c:1683 e2fsck/util.c:73 +#: e2fsck/unix.c:1416 #, c-format msgid "" "\n" @@ -3175,43 +2924,43 @@ msgstr "" "%s: ********** PERINGATAN: Sistem berkas masih memiliki errors *********\n" "\n" -#: e2fsck/unix.c:1723 +#: e2fsck/unix.c:1454 msgid "while setting block group checksum info" msgstr "ketika sedang menset informasi checksum di grup blok" -#: e2fsck/util.c:189 misc/util.c:70 +#: e2fsck/util.c:138 misc/util.c:68 msgid "yY" msgstr "yY" -#: e2fsck/util.c:190 +#: e2fsck/util.c:139 msgid "nN" msgstr "nN" -#: e2fsck/util.c:204 +#: e2fsck/util.c:153 msgid "" msgstr "" -#: e2fsck/util.c:206 +#: e2fsck/util.c:155 msgid "" msgstr "" -#: e2fsck/util.c:208 +#: e2fsck/util.c:157 msgid " (y/n)" msgstr "(y/n)" -#: e2fsck/util.c:222 +#: e2fsck/util.c:172 msgid "cancelled!\n" msgstr "dibatalkan!\n" -#: e2fsck/util.c:237 +#: e2fsck/util.c:187 msgid "yes\n" msgstr "ya\n" -#: e2fsck/util.c:239 +#: e2fsck/util.c:189 msgid "no\n" msgstr "tidak\n" -#: e2fsck/util.c:249 +#: e2fsck/util.c:199 #, c-format msgid "" "%s? no\n" @@ -3220,7 +2969,7 @@ msgstr "" "%s? tidak\n" "\n" -#: e2fsck/util.c:253 +#: e2fsck/util.c:203 #, c-format msgid "" "%s? yes\n" @@ -3229,38 +2978,38 @@ msgstr "" "%s? ya\n" "\n" -#: e2fsck/util.c:257 +#: e2fsck/util.c:207 msgid "yes" msgstr "ya" -#: e2fsck/util.c:257 +#: e2fsck/util.c:207 msgid "no" msgstr "tidak" -#: e2fsck/util.c:272 +#: e2fsck/util.c:221 #, c-format msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s" msgstr "e2fsck_read_bitmaps: ilegal bitmap blok untuk %s" -#: e2fsck/util.c:277 +#: e2fsck/util.c:226 msgid "reading inode and block bitmaps" msgstr "membaca inode dan blok bitmap" -#: e2fsck/util.c:285 +#: e2fsck/util.c:231 #, c-format msgid "while retrying to read bitmaps for %s" msgstr "ketika sedang mencoba untuk membaca bitmap untuk %s" -#: e2fsck/util.c:297 +#: e2fsck/util.c:243 msgid "writing block and inode bitmaps" msgstr "menulis blok dan inode bitmaps" -#: e2fsck/util.c:302 +#: e2fsck/util.c:248 #, c-format msgid "while rewriting block and inode bitmaps for %s" msgstr "ketika mencoba untuk menulis blok dan inode bitmap untuk %s" -#: e2fsck/util.c:314 +#: e2fsck/util.c:260 #, c-format msgid "" "\n" @@ -3270,72 +3019,61 @@ msgid "" msgstr "" "\n" "\n" -"%s: TERJADI INKONSITENSI YANG TIDAK DIHARAPKAN; JALANKAN fsck SECARA " -"MANUAL.\n" +"%s: TERJADI INKONSITENSI YANG TIDAK DIHARAPKAN; JALANKAN fsck SECARA MANUAL.\n" "\t(i.e, tanpa pilihan -a atau -p)\n" -#: e2fsck/util.c:395 +#: e2fsck/util.c:341 #, c-format msgid "Memory used: %luk/%luk (%luk/%luk), " msgstr "Memori yang digunakan: %luk/%luk (%luk/%luk), " -#: e2fsck/util.c:399 +#: e2fsck/util.c:345 #, c-format msgid "Memory used: %lu, " msgstr "Memori yang digunakan: %lu, " -#: e2fsck/util.c:406 +#: e2fsck/util.c:352 #, c-format msgid "time: %5.2f/%5.2f/%5.2f\n" msgstr "waktu: %5.2f/%5.2f/%5.2f\n" -#: e2fsck/util.c:411 +#: e2fsck/util.c:357 #, c-format msgid "elapsed time: %6.3f\n" msgstr "waktu yang dijalani: %6.3f\n" -#: e2fsck/util.c:446 e2fsck/util.c:460 +#: e2fsck/util.c:391 e2fsck/util.c:405 #, c-format msgid "while reading inode %lu in %s" msgstr "ketika membaca inode %lu dalam %s" -#: e2fsck/util.c:474 e2fsck/util.c:487 +#: e2fsck/util.c:419 e2fsck/util.c:432 #, c-format msgid "while writing inode %lu in %s" msgstr "ketika menulis inode %lu dalam %s" -#: e2fsck/util.c:636 +#: e2fsck/util.c:581 msgid "while allocating zeroizing buffer" msgstr "ketika mengalokasikan zeroizing buffer" -#: e2fsck/util.c:788 -msgid "" -"UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is " -"running.\n" -msgstr "" - -#: misc/badblocks.c:69 -#, fuzzy -msgid "done \n" +#: misc/badblocks.c:66 +msgid "done \n" msgstr "selesai \n" -#: misc/badblocks.c:93 +#: misc/badblocks.c:89 #, c-format msgid "" "Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnf]\n" -" [-c blocks_at_once] [-d delay_factor_between_reads] [-e " -"max_bad_blocks]\n" +" [-c blocks_at_once] [-d delay_factor_between_reads] [-e max_bad_blocks]\n" " [-p num_passes] [-t test_pattern [-t test_pattern [...]]]\n" " device [last_block [first_block]]\n" msgstr "" -"Penggunaan: %s [-b ukuran_blok] [-i berkas_masukan] [-o berkas_keluaran] [-" -"svwnf]\n" -" [-c blok_di_sekali] [-p jumlah_tahap] [-e maksimal_blok_buruk] [-d " -"faktor_delay_antara_baca]\n" +"Penggunaan: %s [-b ukuran_blok] [-i berkas_masukan] [-o berkas_keluaran] [-svwnf]\n" +" [-c blok_di_sekali] [-p jumlah_tahap] [-e maksimal_blok_buruk] [-d faktor_delay_antara_baca]\n" " [-e pattern_tes] [-t pattern_test [...]]]\n" " perangkat [blok_terakhir [blok_pertama]]\n" -#: misc/badblocks.c:104 +#: misc/badblocks.c:100 #, c-format msgid "" "%s: The -n and -w options are mutually exclusive.\n" @@ -3344,80 +3082,80 @@ msgstr "" "%s: Pilihan -n dan -w adalah mutually exclusive.\n" "\n" -#: misc/badblocks.c:219 -#, fuzzy, c-format -msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)" +#: misc/badblocks.c:202 +#, c-format +msgid "%6.2f%% done, %s elapsed" msgstr "%6.2f%% selesai, %s berjalan" -#: misc/badblocks.c:322 +#: misc/badblocks.c:293 msgid "Testing with random pattern: " msgstr "Memeriksa dengan pattern random: " -#: misc/badblocks.c:340 +#: misc/badblocks.c:311 msgid "Testing with pattern 0x" msgstr "Memeriksa dengan pattern 0x" -#: misc/badblocks.c:372 misc/badblocks.c:445 +#: misc/badblocks.c:339 misc/badblocks.c:408 msgid "during seek" msgstr "ketika mencari(seek)" -#: misc/badblocks.c:383 +#: misc/badblocks.c:350 #, c-format msgid "Weird value (%ld) in do_read\n" msgstr "Nilai aneh (%ld) dalam do_read\n" -#: misc/badblocks.c:469 +#: misc/badblocks.c:428 msgid "during ext2fs_sync_device" msgstr "ketika ext2fs_sync_device" -#: misc/badblocks.c:489 misc/badblocks.c:749 +#: misc/badblocks.c:447 misc/badblocks.c:711 msgid "while beginning bad block list iteration" msgstr "ketika di awal iterasi daftara blok buruk" -#: misc/badblocks.c:503 misc/badblocks.c:602 misc/badblocks.c:759 +#: misc/badblocks.c:461 misc/badblocks.c:563 misc/badblocks.c:721 msgid "while allocating buffers" msgstr "ketika mengalokasikan buffer" -#: misc/badblocks.c:507 +#: misc/badblocks.c:465 #, c-format msgid "Checking blocks %lu to %lu\n" msgstr "Memeriksa blok %lu ke %lu\n" -#: misc/badblocks.c:512 +#: misc/badblocks.c:470 msgid "Checking for bad blocks in read-only mode\n" msgstr "Memeriksa blok buruk dalam mode baca-saja (read-only)\n" -#: misc/badblocks.c:521 +#: misc/badblocks.c:479 msgid "Checking for bad blocks (read-only test): " msgstr "Memeriksa blok buruk (pemeriksaan baca-saja): " -#: misc/badblocks.c:528 misc/badblocks.c:634 misc/badblocks.c:676 -#: misc/badblocks.c:822 +#: misc/badblocks.c:487 misc/badblocks.c:595 misc/badblocks.c:640 +#: misc/badblocks.c:784 msgid "Too many bad blocks, aborting test\n" msgstr "Terlalu banyak blok buruk, membatalkan pemeriksaan\n" -#: misc/badblocks.c:609 +#: misc/badblocks.c:570 msgid "Checking for bad blocks in read-write mode\n" msgstr "Memeriksa untuk blok buruk dalam mode baca-tulis\n" -#: misc/badblocks.c:611 misc/badblocks.c:772 +#: misc/badblocks.c:572 misc/badblocks.c:734 #, c-format msgid "From block %lu to %lu\n" msgstr "Dari blok %lu ke %lu\n" -#: misc/badblocks.c:666 +#: misc/badblocks.c:630 msgid "Reading and comparing: " msgstr "Membaca dan membandingkan: " -#: misc/badblocks.c:771 +#: misc/badblocks.c:733 msgid "Checking for bad blocks in non-destructive read-write mode\n" msgstr "Memeriksa untuk blok buruk dalal mode tidak-merusak baca-tulis\n" -#: misc/badblocks.c:777 +#: misc/badblocks.c:739 msgid "Checking for bad blocks (non-destructive read-write test)\n" msgstr "Memeriksa untuk blok buruk (pemeriksaan tidak-merusak baca-tulis)\n" -#: misc/badblocks.c:784 +#: misc/badblocks.c:746 msgid "" "\n" "Interrupt caught, cleaning up\n" @@ -3425,53 +3163,52 @@ msgstr "" "\n" "Interupsi tertangkap, membersihkan\n" -#: misc/badblocks.c:867 +#: misc/badblocks.c:822 #, c-format msgid "during test data write, block %lu" msgstr "ketika memerikas data ditulis, blok %lu" -#: misc/badblocks.c:988 misc/util.c:152 +#: misc/badblocks.c:933 misc/util.c:156 #, c-format msgid "%s is mounted; " msgstr "%s sedang dimount; " -#: misc/badblocks.c:990 +#: misc/badblocks.c:935 msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "badbloks tetap dipaksakan. Mudah-mudahan /etc/mtab tidak benar\n" -#: misc/badblocks.c:995 +#: misc/badblocks.c:940 msgid "it's not safe to run badblocks!\n" msgstr "ini tidak aman untuk menjalankan badblocks!\n" -#: misc/badblocks.c:1000 misc/util.c:163 +#: misc/badblocks.c:945 misc/util.c:167 #, c-format msgid "%s is apparently in use by the system; " msgstr "%s kelihatannya sedang digunakan oleh system; " -#: misc/badblocks.c:1003 +#: misc/badblocks.c:948 msgid "badblocks forced anyway.\n" msgstr "badblocks dipaksakan saja.\n" -#: misc/badblocks.c:1023 +#: misc/badblocks.c:968 #, c-format msgid "invalid %s - %s" msgstr "tidak valid %s - %s" -#: misc/badblocks.c:1133 +#: misc/badblocks.c:1077 #, c-format msgid "can't allocate memory for test_pattern - %s" msgstr "tidak dapat mengalokasikan memori untuk test_pattern - %s" -#: misc/badblocks.c:1163 +#: misc/badblocks.c:1104 msgid "Maximum of one test_pattern may be specified in read-only mode" -msgstr "" -"Maksimum dari satu test_pattern boleh dispesifikasi dalam mode baca-saja" +msgstr "Maksimum dari satu test_pattern boleh dispesifikasi dalam mode baca-saja" -#: misc/badblocks.c:1169 +#: misc/badblocks.c:1110 msgid "Random test_pattern is not allowed in read-only mode" msgstr "Random test_pattern tidak diperbolehkan dalam mode baca-saja" -#: misc/badblocks.c:1183 +#: misc/badblocks.c:1124 msgid "" "Couldn't determine device size; you must specify\n" "the size manually\n" @@ -3479,149 +3216,128 @@ msgstr "" "Tidak dapat menentukan ukuran perangkat; anda harus menspesifikasikan\n" "ukuran perangkat secara manual\n" -#: misc/badblocks.c:1189 +#: misc/badblocks.c:1130 msgid "while trying to determine device size" msgstr "ketika mencoba untuk menentukakn ukuran perangkat" -#: misc/badblocks.c:1194 +#: misc/badblocks.c:1135 msgid "last block" msgstr "blok terakhir" -#: misc/badblocks.c:1200 +#: misc/badblocks.c:1141 msgid "first block" msgstr "blok pertama" -#: misc/badblocks.c:1203 +#: misc/badblocks.c:1144 #, c-format msgid "invalid starting block (%lu): must be less than %lu" msgstr "awal blok tidak valid (%lu): harus lebih kecil dari %lu" -#: misc/badblocks.c:1259 +#: misc/badblocks.c:1200 msgid "while creating in-memory bad blocks list" msgstr "ketika membuat daftar blok buruk dalam memori" -#: misc/badblocks.c:1274 +#: misc/badblocks.c:1215 msgid "while adding to in-memory bad block list" msgstr "ketika menambahkan daftar blok buruk dalam memori" -#: misc/badblocks.c:1298 -#, fuzzy, c-format -msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n" +#: misc/badblocks.c:1239 +#, c-format +msgid "Pass completed, %u bad blocks found.\n" msgstr "Tahap selesai, %u blok buruk ditemukan.\n" -#: misc/chattr.c:86 +#: misc/chattr.c:85 #, c-format msgid "Usage: %s [-RVf] [-+=AacDdeijsSu] [-v version] files...\n" msgstr "Penggunaan: %s [-RVf] [-+=AacDdeijsSu] [-v versi] berkas...\n" -#: misc/chattr.c:154 +#: misc/chattr.c:153 #, c-format msgid "bad version - %s\n" msgstr "versi buruk - %s\n" -#: misc/chattr.c:201 misc/lsattr.c:116 +#: misc/chattr.c:200 misc/lsattr.c:115 #, c-format msgid "while trying to stat %s" msgstr "ketika mencoba untuk melakukan statistik %s" -#: misc/chattr.c:208 +#: misc/chattr.c:207 #, c-format msgid "while reading flags on %s" msgstr "ketika membaca flags di %s" -#: misc/chattr.c:217 misc/chattr.c:236 +#: misc/chattr.c:216 misc/chattr.c:235 #, c-format msgid "Clearing extent flag not supported on %s" msgstr "Menghapus tanda ekstensi yang tidak didukung di %s" -#: misc/chattr.c:222 misc/chattr.c:241 +#: misc/chattr.c:221 misc/chattr.c:240 #, c-format msgid "Flags of %s set as " msgstr "Flags dari %s diset sebagai " -#: misc/chattr.c:250 +#: misc/chattr.c:249 #, c-format msgid "while setting flags on %s" msgstr "ketika menset flags di %s" -#: misc/chattr.c:258 +#: misc/chattr.c:257 #, c-format msgid "Version of %s set as %lu\n" msgstr "Versi dari %s diset sebagai %lu\n" -#: misc/chattr.c:262 +#: misc/chattr.c:261 #, c-format msgid "while setting version on %s" msgstr "ketika menset versi di %s" -#: misc/chattr.c:282 +#: misc/chattr.c:281 #, c-format msgid "Couldn't allocate path variable in chattr_dir_proc" msgstr "Tidak dapat mengalokasikan variable path di chattr_dir_proc" -#: misc/chattr.c:322 +#: misc/chattr.c:320 msgid "= is incompatible with - and +\n" msgstr "= tidak kompatibel dengan - dan +\n" -#: misc/chattr.c:330 +#: misc/chattr.c:328 msgid "Must use '-v', =, - or +\n" msgstr "Harus menggunakan '-v', =, - atau +\n" -#: misc/dumpe2fs.c:55 +#: misc/dumpe2fs.c:53 #, c-format msgid "Usage: %s [-bfhixV] [-o superblock=] [-o blocksize=] device\n" -msgstr "" -"Penggunaan: %s [-bfhixV] [-o superblok=] [-o ukuranblok=] " -"perangkat\n" - -#: misc/dumpe2fs.c:159 -#, fuzzy -msgid "blocks" -msgstr "bblock" +msgstr "Penggunaan: %s [-bfhixV] [-o superblok=] [-o ukuranblok=] perangkat\n" #: misc/dumpe2fs.c:168 -msgid "clusters" -msgstr "" - -#: misc/dumpe2fs.c:196 #, c-format msgid "Group %lu: (Blocks " msgstr "Grup %lu: (blok " -#: misc/dumpe2fs.c:204 -#, fuzzy, c-format -msgid " Checksum 0x%04x" -msgstr " Checksum 0x%04x, inode yang tidak digunakan %d\n" - -#: misc/dumpe2fs.c:206 +#: misc/dumpe2fs.c:173 #, c-format -msgid " (EXPECTED 0x%04x)" -msgstr "" - -#: misc/dumpe2fs.c:207 -#, fuzzy, c-format -msgid ", unused inodes %u\n" -msgstr ", %u inode yang tidak digunakan\n" +msgid " Checksum 0x%04x, unused inodes %d\n" +msgstr " Checksum 0x%04x, inode yang tidak digunakan %d\n" -#: misc/dumpe2fs.c:212 +#: misc/dumpe2fs.c:178 #, c-format msgid " %s superblock at " msgstr " %s superblok di " -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Primary" msgstr "Utama" -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Backup" msgstr "Cadangan" -#: misc/dumpe2fs.c:217 +#: misc/dumpe2fs.c:183 #, c-format msgid ", Group descriptors at " msgstr ", Grup deskripsi di " -#: misc/dumpe2fs.c:221 +#: misc/dumpe2fs.c:187 #, c-format msgid "" "\n" @@ -3630,20 +3346,20 @@ msgstr "" "\n" " Reserved GDT blok di " -#: misc/dumpe2fs.c:228 +#: misc/dumpe2fs.c:194 #, c-format msgid " Group descriptor at " msgstr " Grup deskripsi di " -#: misc/dumpe2fs.c:234 +#: misc/dumpe2fs.c:200 msgid " Block bitmap at " msgstr " Blok bitmap di " -#: misc/dumpe2fs.c:238 +#: misc/dumpe2fs.c:205 msgid ", Inode bitmap at " msgstr ", Inode bitmap di " -#: misc/dumpe2fs.c:242 +#: misc/dumpe2fs.c:210 msgid "" "\n" " Inode table at " @@ -3651,59 +3367,59 @@ msgstr "" "\n" " Inode tabel di " -#: misc/dumpe2fs.c:248 -#, fuzzy, c-format +#: misc/dumpe2fs.c:217 +#, c-format msgid "" "\n" -" %u free %s, %u free inodes, %u directories%s" +" %u free blocks, %u free inodes, %u directories%s" msgstr "" "\n" " %u blok bebas, %u inode bebas, %u direktori%s" -#: misc/dumpe2fs.c:255 +#: misc/dumpe2fs.c:224 #, c-format msgid ", %u unused inodes\n" msgstr ", %u inode yang tidak digunakan\n" -#: misc/dumpe2fs.c:258 +#: misc/dumpe2fs.c:227 msgid " Free blocks: " msgstr " Blok bebas: " -#: misc/dumpe2fs.c:269 +#: misc/dumpe2fs.c:237 msgid " Free inodes: " msgstr " Inode bebas: " -#: misc/dumpe2fs.c:300 +#: misc/dumpe2fs.c:268 msgid "while printing bad block list" msgstr "ketika mencetak daftar blok buruk" -#: misc/dumpe2fs.c:306 +#: misc/dumpe2fs.c:274 #, c-format msgid "Bad blocks: %u" msgstr "Blok buruk: %u" -#: misc/dumpe2fs.c:333 misc/tune2fs.c:302 +#: misc/dumpe2fs.c:301 misc/tune2fs.c:281 msgid "while reading journal inode" msgstr "ketika membaca jurnal inode" -#: misc/dumpe2fs.c:339 +#: misc/dumpe2fs.c:307 msgid "while opening journal inode" msgstr "ketika membuka jurnal inode" -#: misc/dumpe2fs.c:345 +#: misc/dumpe2fs.c:313 msgid "while reading journal super block" msgstr "ketika membaca super blok jurnal" -#: misc/dumpe2fs.c:355 +#: misc/dumpe2fs.c:323 #, c-format msgid "Journal features: " msgstr "Fasilitas jurnal: " -#: misc/dumpe2fs.c:368 +#: misc/dumpe2fs.c:336 msgid "Journal size: " msgstr "Ukuran jurnal: " -#: misc/dumpe2fs.c:379 +#: misc/dumpe2fs.c:347 #, c-format msgid "" "Journal length: %u\n" @@ -3714,20 +3430,15 @@ msgstr "" "Urutan jurnal: 0x%08x\n" "Awal dari jurnal: %u\n" -#: misc/dumpe2fs.c:386 -#, fuzzy, c-format -msgid "Journal errno: %d\n" -msgstr "Pengguna jurnal: %s\n" - -#: misc/dumpe2fs.c:401 misc/tune2fs.c:218 +#: misc/dumpe2fs.c:366 misc/tune2fs.c:202 msgid "while reading journal superblock" msgstr "ketikan membaca superblok jurnal" -#: misc/dumpe2fs.c:409 +#: misc/dumpe2fs.c:374 msgid "Couldn't find journal superblock magic numbers" msgstr "Tidak dapat mencari nomor magic di jurnal superblok" -#: misc/dumpe2fs.c:413 +#: misc/dumpe2fs.c:378 #, c-format msgid "" "\n" @@ -3746,27 +3457,27 @@ msgstr "" "Awal dari jurnal: %u\n" "Jumlah pengguna dari jurnal: %u\n" -#: misc/dumpe2fs.c:426 +#: misc/dumpe2fs.c:391 #, c-format msgid "Journal users: %s\n" msgstr "Pengguna jurnal: %s\n" -#: misc/dumpe2fs.c:442 misc/mke2fs.c:662 misc/tune2fs.c:1137 +#: misc/dumpe2fs.c:407 misc/mke2fs.c:699 misc/tune2fs.c:872 #, c-format msgid "Couldn't allocate memory to parse options!\n" msgstr "Tidak dapat mengalokasikan memori untuk memparse pilihan!\n" -#: misc/dumpe2fs.c:468 +#: misc/dumpe2fs.c:433 #, c-format msgid "Invalid superblock parameter: %s\n" msgstr "Parameter superblok tidak valid: %s\n" -#: misc/dumpe2fs.c:483 +#: misc/dumpe2fs.c:448 #, c-format msgid "Invalid blocksize parameter: %s\n" msgstr "Parameter ukuran-blok tidak valid: %s\n" -#: misc/dumpe2fs.c:494 +#: misc/dumpe2fs.c:459 #, c-format msgid "" "\n" @@ -3789,18 +3500,18 @@ msgstr "" "\tsuperblock=\n" "\tblocksize=\n" -#: misc/dumpe2fs.c:554 misc/mke2fs.c:1525 +#: misc/dumpe2fs.c:518 misc/mke2fs.c:1406 #, c-format msgid "\tUsing %s\n" msgstr "\tMenggunakan %s\n" -#: misc/dumpe2fs.c:590 misc/e2image.c:1309 misc/tune2fs.c:1923 -#: resize/main.c:305 +#: misc/dumpe2fs.c:554 misc/e2image.c:681 misc/tune2fs.c:1576 +#: resize/main.c:312 #, c-format msgid "Couldn't find valid filesystem superblock.\n" msgstr "Tidak dapat mencari superblok sistem berkas yang valid.\n" -#: misc/dumpe2fs.c:618 +#: misc/dumpe2fs.c:579 #, c-format msgid "" "\n" @@ -3809,82 +3520,77 @@ msgstr "" "\n" "%s: %s: error membaca bitmaps: %s\n" -#: misc/e2image.c:87 -#, fuzzy, c-format -msgid "Usage: %s [-rsIQ] device image_file\n" -msgstr "Penggunaan: %s [-rsI] perangkat image_file\n" - -#: misc/e2image.c:135 +#: misc/e2image.c:52 #, c-format -msgid "Error: header size is bigger than wrt_size\n" -msgstr "" +msgid "Usage: %s [-rsI] device image_file\n" +msgstr "Penggunaan: %s [-rsI] perangkat image_file\n" -#: misc/e2image.c:141 +#: misc/e2image.c:64 msgid "Couldn't allocate header buffer\n" msgstr "Tidak dapat mengalokasikan buffer header\n" -#: misc/e2image.c:171 +#: misc/e2image.c:83 +#, c-format +msgid "short write (only %d bytes) for writing image header" +msgstr "menulis pendek (hanya %d bytes) untuk menulis header image" + +#: misc/e2image.c:102 msgid "while writing superblock" msgstr "ketika menulis superblok" -#: misc/e2image.c:179 +#: misc/e2image.c:110 msgid "while writing inode table" msgstr "ketika menulis tabel inode" -#: misc/e2image.c:186 +#: misc/e2image.c:117 msgid "while writing block bitmap" msgstr "ketika menulis blok bitmap" -#: misc/e2image.c:193 +#: misc/e2image.c:124 msgid "while writing inode bitmap" msgstr "ketika menulis inode bitmap" -#: misc/e2image.c:1341 -#, c-format -msgid "while trying to convert qcow2 image (%s) into raw image (%s)" -msgstr "" - -#: misc/e2label.c:58 +#: misc/e2label.c:57 #, c-format msgid "e2label: cannot open %s\n" msgstr "e2label: tidak dapat membuka %s\n" -#: misc/e2label.c:63 +#: misc/e2label.c:62 #, c-format msgid "e2label: cannot seek to superblock\n" msgstr "e2label: tidak dapat mencari superblok\n" -#: misc/e2label.c:68 +#: misc/e2label.c:67 #, c-format msgid "e2label: error reading superblock\n" msgstr "e2label: error membaca superblok\n" -#: misc/e2label.c:72 +#: misc/e2label.c:71 #, c-format msgid "e2label: not an ext2 filesystem\n" msgstr "e2label: bukan sebuah ext2 sistem berkas\n" -#: misc/e2label.c:97 misc/tune2fs.c:2074 +#: misc/e2label.c:96 misc/tune2fs.c:1711 #, c-format msgid "Warning: label too long, truncating.\n" msgstr "Peringatan: label terlalu panjang, memotong.\n" -#: misc/e2label.c:100 +#: misc/e2label.c:99 #, c-format msgid "e2label: cannot seek to superblock again\n" msgstr "e2label: tidak dapat mencari superblok lagi\n" -#: misc/e2label.c:105 +#: misc/e2label.c:104 #, c-format msgid "e2label: error writing superblock\n" msgstr "e2label: error menulis superblok\n" -#: misc/e2label.c:117 misc/tune2fs.c:803 +#: misc/e2label.c:116 misc/tune2fs.c:542 #, c-format msgid "Usage: e2label device [newlabel]\n" msgstr "Penggunaan: e2label perangkat [labelbaru]\n" -#: misc/e2undo.c:36 +#: misc/e2undo.c:35 #, c-format msgid "Usage: %s \n" msgstr "Penggunaan: %s \n" @@ -3893,7 +3599,7 @@ msgstr "Penggunaan: %s \n" msgid "Failed to read the file system data \n" msgstr "Gagal membaca data filesystem \n" -#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:206 +#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:205 #, c-format msgid "Failed tdb_fetch %s\n" msgstr "Gagal tdb_fetch %s\n" @@ -3907,32 +3613,31 @@ msgstr "Sistem berkas waktu mount tidak cocok %u\n" msgid "The file system UUID didn't match \n" msgstr "Sistem berkas UUID tidak cocok \n" -#: misc/e2undo.c:163 +#: misc/e2undo.c:162 #, c-format msgid "Failed tdb_open %s\n" msgstr "Gagal tdb_open %s\n" -#: misc/e2undo.c:169 +#: misc/e2undo.c:168 #, c-format msgid "Error while determining whether %s is mounted.\n" msgstr "Error ketika menentukan apakah %s sudah dimount.\n" -#: misc/e2undo.c:175 +#: misc/e2undo.c:174 msgid "e2undo should only be run on unmounted file system\n" -msgstr "" -"e2undo seharusnya hanya dijalankan di sistem berkas yang sudah diunmount\n" +msgstr "e2undo seharusnya hanya dijalankan di sistem berkas yang sudah diunmount\n" -#: misc/e2undo.c:184 +#: misc/e2undo.c:183 #, c-format msgid "Failed to open %s\n" msgstr "Gagal membuka %s\n" -#: misc/e2undo.c:210 -#, fuzzy, c-format -msgid "Replayed transaction of size %zd at location %llu\n" +#: misc/e2undo.c:209 +#, c-format +msgid "Replayed transaction of size %zd at location %ld\n" msgstr "Balasan ukuran transaksi %zd di lokasi %ld\n" -#: misc/e2undo.c:216 +#: misc/e2undo.c:215 #, c-format msgid "Failed write %s\n" msgstr "Gagal menulis %s\n" @@ -3947,10 +3652,9 @@ msgstr "PERINGATAN: tidak dapat membuka %s: %s\n" msgid "WARNING: bad format on line %d of %s\n" msgstr "PERINGATAN: format buruk di bari %d dari %s\n" -#: misc/fsck.c:370 -#, fuzzy +#: misc/fsck.c:368 msgid "" -"WARNING: Your /etc/fstab does not contain the fsck passno\n" +"\a\a\aWARNING: Your /etc/fstab does not contain the fsck passno\n" "\tfield. I will kludge around things for you, but you\n" "\tshould fix your /etc/fstab file as soon as you can.\n" "\n" @@ -3960,115 +3664,106 @@ msgstr "" "\tseharusnya membetulkan berkas /etc/fstab anda secepatnya.\n" "\n" -#: misc/fsck.c:478 +#: misc/fsck.c:477 #, c-format msgid "fsck: %s: not found\n" msgstr "fsck: %s: tidak ditemukan\n" -#: misc/fsck.c:594 +#: misc/fsck.c:593 #, c-format msgid "%s: wait: No more child process?!?\n" msgstr "%s: tunggu: Tidak ada lagi proses anak?!?\n" -#: misc/fsck.c:616 +#: misc/fsck.c:615 #, c-format msgid "Warning... %s for device %s exited with signal %d.\n" msgstr "Peringatan... %s untuk perangkat %s keluar dengan sinyal %d.\n" -#: misc/fsck.c:622 +#: misc/fsck.c:621 #, c-format msgid "%s %s: status is %x, should never happen.\n" msgstr "%s %s: status adalah %x, seharusnya tidak pernah terjadi.\n" -#: misc/fsck.c:661 +#: misc/fsck.c:660 #, c-format msgid "Finished with %s (exit status %d)\n" msgstr "Berakhir dengan %s (status keluar %d)\n" -#: misc/fsck.c:721 +#: misc/fsck.c:720 #, c-format msgid "%s: Error %d while executing fsck.%s for %s\n" msgstr "%s: Error %d ketika menjalankan fsck.%s untuk %s\n" -#: misc/fsck.c:742 +#: misc/fsck.c:741 msgid "" "Either all or none of the filesystem types passed to -t must be prefixed\n" "with 'no' or '!'.\n" msgstr "" -"Semua atau tidak sama sekali dari tipe sistem berkas dilewatkan melalui " -"pilihan -t harus diwali\n" +"Semua atau tidak sama sekali dari tipe sistem berkas dilewatkan melalui pilihan -t harus diwali\n" "dengan 'no' atau '!'.\n" -#: misc/fsck.c:761 +#: misc/fsck.c:760 msgid "Couldn't allocate memory for filesystem types\n" msgstr "Tidak dapat mengalokasikan memori untuk tipe sistem berkas\n" -#: misc/fsck.c:884 +#: misc/fsck.c:883 #, c-format -msgid "" -"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass " -"number\n" -msgstr "" -"%s: melewatkan baris buruk di /etc/fstab: bind mount dengan tidak nol fsck " -"tahap nomor\n" +msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n" +msgstr "%s: melewatkan baris buruk di /etc/fstab: bind mount dengan tidak nol fsck tahap nomor\n" -#: misc/fsck.c:911 +#: misc/fsck.c:910 #, c-format msgid "fsck: cannot check %s: fsck.%s not found\n" msgstr "fsck: tidak dapat memeriksa %s: fsck.%s tidak ditemukan\n" -#: misc/fsck.c:967 +#: misc/fsck.c:966 msgid "Checking all file systems.\n" msgstr "Memeriksa semua filesytem.\n" -#: misc/fsck.c:1058 +#: misc/fsck.c:1057 #, c-format msgid "--waiting-- (pass %d)\n" msgstr "--menunggu-- (tahap %d)\n" -#: misc/fsck.c:1078 -msgid "" -"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" -msgstr "" -"Penggunaan: fsck [-AMNPRTV] -C [fd] ] [-t fstype] [fs-pilihan] " -"[filesys ...]\n" +#: misc/fsck.c:1077 +msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" +msgstr "Penggunaan: fsck [-AMNPRTV] -C [fd] ] [-t fstype] [fs-pilihan] [filesys ...]\n" -#: misc/fsck.c:1120 +#: misc/fsck.c:1119 #, c-format msgid "%s: too many devices\n" msgstr "%s: terlalu banyak perangkat\n" -#: misc/fsck.c:1153 misc/fsck.c:1239 +#: misc/fsck.c:1152 misc/fsck.c:1238 #, c-format msgid "%s: too many arguments\n" msgstr "%s: terlalu banyak argumen\n" -#: misc/lsattr.c:74 +#: misc/lsattr.c:73 #, c-format msgid "Usage: %s [-RVadlv] [files...]\n" msgstr "Penggunaan: %s [-RVadlv] [berkas...]\n" -#: misc/lsattr.c:84 +#: misc/lsattr.c:83 #, c-format msgid "While reading flags on %s" msgstr "Ketika membaca flags di %s" -#: misc/lsattr.c:91 +#: misc/lsattr.c:90 #, c-format msgid "While reading version on %s" msgstr "Ketika membaca versi di %s" -#: misc/mke2fs.c:114 -#, fuzzy, c-format +#: misc/mke2fs.c:108 +#, c-format msgid "" -"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n" +"Usage: %s [-c|-l filename] [-b block-size] [-f fragment-size]\n" "\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n" -"\t[-G flex-group-size] [-N number-of-inodes]\n" +"\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n" "\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n" -"\t[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-" -"count]\n" +"\t[-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]\n" msgstr "" "Penggunaan: %s [-c|-l namafile] [-b ukuran-blok] [-f ukuran-fragmen]\n" "\t[-i bytes-per-inode] [-I ukuran-inode] [-J pilihan-jurnal]\n" @@ -4078,37 +3773,35 @@ msgstr "" "\t[-O fasilitas[,...]] [-r revisi-fs] [-E pilihan-tambahan[,...]]\n" "\t[-T type-fs] [-U UUID] [-jnqvFKSV] perangkat [jumlah-blok]\n" -#: misc/mke2fs.c:217 +#: misc/mke2fs.c:210 #, c-format msgid "Running command: %s\n" msgstr "Menjalankan perintah: %s\n" -#: misc/mke2fs.c:221 +#: misc/mke2fs.c:214 #, c-format msgid "while trying to run '%s'" msgstr "ketika mencoba untuk menjalankan '%s'" -#: misc/mke2fs.c:228 +#: misc/mke2fs.c:221 msgid "while processing list of bad blocks from program" msgstr "ketika memproses daftar dari blok buruk dari aplikasi" -#: misc/mke2fs.c:255 +#: misc/mke2fs.c:248 #, c-format msgid "Block %d in primary superblock/group descriptor area bad.\n" msgstr "Blok %d dalam daerah deskripsi superblok/grup utama buruk.\n" -#: misc/mke2fs.c:257 +#: misc/mke2fs.c:250 #, c-format msgid "Blocks %u through %u must be good in order to build a filesystem.\n" -msgstr "" -"Blok %u sampai %u harus dalam keadaan baik untuk membuat sebuah sistem " -"berkas.\n" +msgstr "Blok %u sampai %u harus dalam keadaan baik untuk membuat sebuah sistem berkas.\n" -#: misc/mke2fs.c:260 +#: misc/mke2fs.c:253 msgid "Aborting....\n" msgstr "Membatalkan...\n" -#: misc/mke2fs.c:280 +#: misc/mke2fs.c:273 #, c-format msgid "" "Warning: the backup superblock/group descriptors at block %u contain\n" @@ -4119,214 +3812,192 @@ msgstr "" "\tblok buruk.\n" "\n" -#: misc/mke2fs.c:299 +#: misc/mke2fs.c:292 msgid "while marking bad blocks as used" msgstr "ketika menandai blok buruk sebagai digunakan" -#: misc/mke2fs.c:316 +#: misc/mke2fs.c:350 +msgid "done \n" +msgstr "selesai \n" + +#: misc/mke2fs.c:364 msgid "Writing inode tables: " msgstr "Menulis tabel inode: " -#: misc/mke2fs.c:337 -#, fuzzy, c-format +#: misc/mke2fs.c:387 +#, c-format msgid "" "\n" -"Could not write %d blocks in inode table starting at %llu: %s\n" +"Could not write %d blocks in inode table starting at %u: %s\n" msgstr "" "\n" "Tidak dapat menulis %d blok dalam tabel inode dimulai di %u: %s\n" -#: misc/mke2fs.c:351 misc/mke2fs.c:2175 misc/mke2fs.c:2429 -#, c-format -msgid "done \n" -msgstr "selesai \n" - -#: misc/mke2fs.c:362 +#: misc/mke2fs.c:411 msgid "while creating root dir" msgstr "ketika membuat direktori root" -#: misc/mke2fs.c:369 +#: misc/mke2fs.c:418 msgid "while reading root inode" msgstr "ketika membaca inode root" -#: misc/mke2fs.c:383 +#: misc/mke2fs.c:432 msgid "while setting root inode ownership" msgstr "ketika menset kepemilikan inode root" -#: misc/mke2fs.c:401 +#: misc/mke2fs.c:450 msgid "while creating /lost+found" msgstr "ketika membuat /lost+found" -#: misc/mke2fs.c:408 +#: misc/mke2fs.c:457 msgid "while looking up /lost+found" msgstr "ketika mencari /lost+found" -#: misc/mke2fs.c:421 +#: misc/mke2fs.c:470 msgid "while expanding /lost+found" msgstr "ketika mengekspansi /lost+found" -#: misc/mke2fs.c:436 +#: misc/mke2fs.c:485 msgid "while setting bad block inode" msgstr "ketika menset inode blok buruk" -#: misc/mke2fs.c:463 +#: misc/mke2fs.c:512 #, c-format msgid "Out of memory erasing sectors %d-%d\n" msgstr "Kehabisan memori menghapus sektor %d-%d\n" -#: misc/mke2fs.c:473 +#: misc/mke2fs.c:522 #, c-format msgid "Warning: could not read block 0: %s\n" msgstr "Peringatan: tidak dapat membaca blok 0: %s\n" -#: misc/mke2fs.c:489 +#: misc/mke2fs.c:538 #, c-format msgid "Warning: could not erase sector %d: %s\n" msgstr "Peringatan: tidak dapat menghapus sektor %d: %s\n" -#: misc/mke2fs.c:505 +#: misc/mke2fs.c:554 msgid "while initializing journal superblock" msgstr "ketika menginisialisasi jurnal superblok" -#: misc/mke2fs.c:513 +#: misc/mke2fs.c:560 msgid "Zeroing journal device: " msgstr "Mengosongkan perangkat jurnal: " -#: misc/mke2fs.c:525 -#, fuzzy, c-format -msgid "while zeroing journal device (block %llu, count %d)" +#: misc/mke2fs.c:573 +#, c-format +msgid "while zeroing journal device (block %u, count %d)" msgstr "ketika mengosongkan perangkat jurnal (blok %u, jumlah %d)" -#: misc/mke2fs.c:543 +#: misc/mke2fs.c:589 msgid "while writing journal superblock" msgstr "ketika menulis jurnal superblok" -#: misc/mke2fs.c:558 -#, fuzzy, c-format +#: misc/mke2fs.c:605 +#, c-format msgid "" -"warning: %llu blocks unused.\n" +"warning: %u blocks unused.\n" "\n" msgstr "" "peringatan: %u blok tidak digunakan.\n" "\n" -#: misc/mke2fs.c:563 +#: misc/mke2fs.c:610 #, c-format msgid "Filesystem label=%s\n" msgstr "Sistem berkas label=%s\n" -#: misc/mke2fs.c:566 -#, fuzzy, c-format -msgid "OS type: %s\n" +#: misc/mke2fs.c:611 +msgid "OS type: " msgstr "Tipe OS: " -#: misc/mke2fs.c:568 +#: misc/mke2fs.c:616 #, c-format msgid "Block size=%u (log=%u)\n" msgstr "Ukuran blok=%u (log=%u)\n" -#: misc/mke2fs.c:572 -#, fuzzy, c-format -msgid "Cluster size=%u (log=%u)\n" -msgstr "Ukuran blok=%u (log=%u)\n" - -#: misc/mke2fs.c:576 +#: misc/mke2fs.c:618 #, c-format msgid "Fragment size=%u (log=%u)\n" msgstr "Ukuran pecahan=%u (log=%u)\n" -#: misc/mke2fs.c:578 +#: misc/mke2fs.c:620 #, c-format msgid "Stride=%u blocks, Stripe width=%u blocks\n" msgstr "Stride=%u blok, Lebar stripe=%u blok\n" -#: misc/mke2fs.c:580 -#, fuzzy, c-format -msgid "%u inodes, %llu blocks\n" +#: misc/mke2fs.c:622 +#, c-format +msgid "%u inodes, %u blocks\n" msgstr "%u inodes, %u blok\n" -#: misc/mke2fs.c:582 -#, fuzzy, c-format -msgid "%llu blocks (%2.2f%%) reserved for the super user\n" +#: misc/mke2fs.c:624 +#, c-format +msgid "%u blocks (%2.2f%%) reserved for the super user\n" msgstr "%u blok (%2.2f%%) reserved untuk super user\n" -#: misc/mke2fs.c:585 +#: misc/mke2fs.c:627 #, c-format msgid "First data block=%u\n" msgstr "Data blok pertama=%u\n" -#: misc/mke2fs.c:587 +#: misc/mke2fs.c:629 #, c-format msgid "Maximum filesystem blocks=%lu\n" msgstr "Maksimum blok sistem berkas=%lu\n" -#: misc/mke2fs.c:591 +#: misc/mke2fs.c:633 #, c-format msgid "%u block groups\n" msgstr "%u grup blok\n" -#: misc/mke2fs.c:593 +#: misc/mke2fs.c:635 #, c-format msgid "%u block group\n" msgstr "%u grup blok\n" -#: misc/mke2fs.c:596 -#, fuzzy, c-format -msgid "%u blocks per group, %u clusters per group\n" -msgstr "%u blok per grup, %u potongan per grup\n" - -#: misc/mke2fs.c:599 +#: misc/mke2fs.c:636 #, c-format msgid "%u blocks per group, %u fragments per group\n" msgstr "%u blok per grup, %u potongan per grup\n" -#: misc/mke2fs.c:601 +#: misc/mke2fs.c:638 #, c-format msgid "%u inodes per group\n" msgstr "%u inode per grup\n" -#: misc/mke2fs.c:608 +#: misc/mke2fs.c:645 #, c-format msgid "Superblock backups stored on blocks: " msgstr "Cadangan superblok disimpan di blok: " -#: misc/mke2fs.c:687 misc/tune2fs.c:1165 -#, fuzzy, c-format -msgid "Invalid mmp_update_interval: %s\n" -msgstr "pilihan mount tidak valid diset: %s\n" - -#: misc/mke2fs.c:701 +#: misc/mke2fs.c:724 #, c-format msgid "Invalid stride parameter: %s\n" msgstr "Parameter stride tidak valid: %s\n" -#: misc/mke2fs.c:716 +#: misc/mke2fs.c:739 #, c-format msgid "Invalid stripe-width parameter: %s\n" msgstr "Parameter stripe-width tidak valid: %s\n" -#: misc/mke2fs.c:739 +#: misc/mke2fs.c:761 #, c-format msgid "Invalid resize parameter: %s\n" msgstr "Parameter resize tidak valid: %s\n" -#: misc/mke2fs.c:746 +#: misc/mke2fs.c:768 #, c-format msgid "The resize maximum must be greater than the filesystem size.\n" msgstr "Resize maksimum harus lebih besar daripada ukuran sistem berkas.\n" -#: misc/mke2fs.c:770 +#: misc/mke2fs.c:792 #, c-format msgid "On-line resizing not supported with revision 0 filesystems\n" msgstr "On-line resizing tidak dilayani dengan sistem berkas revisi 0\n" -#: misc/mke2fs.c:808 -#, fuzzy, c-format -msgid "Invalid quotatype parameter: %s\n" -msgstr "Parameter stride tidak valid: %s\n" - -#: misc/mke2fs.c:819 -#, fuzzy, c-format +#: misc/mke2fs.c:814 +#, c-format msgid "" "\n" "Bad option(s) specified: %s\n" @@ -4339,11 +4010,7 @@ msgid "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" -"\tlazy_journal_init=<0 to disable, 1 to enable>\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" msgstr "" "\n" @@ -4360,7 +4027,7 @@ msgstr "" "\ttest_fs\n" "\n" -#: misc/mke2fs.c:839 +#: misc/mke2fs.c:830 #, c-format msgid "" "\n" @@ -4371,7 +4038,7 @@ msgstr "" "Peringatan: RAID stripe-width %u bukan sebuah even multiple dari stride %u.\n" "\n" -#: misc/mke2fs.c:878 +#: misc/mke2fs.c:862 #, c-format msgid "" "Syntax error in mke2fs config file (%s, line #%d)\n" @@ -4380,27 +4047,21 @@ msgstr "" "Syntax error dalam mke2fs berkas konfigurasi (%s, baris #%d)\n" "\t%s\n" -#: misc/mke2fs.c:891 misc/tune2fs.c:393 +#: misc/mke2fs.c:875 misc/tune2fs.c:355 #, c-format msgid "Invalid filesystem option set: %s\n" msgstr "Pilihan sistem berkas tidak valid diset: %s\n" -#: misc/mke2fs.c:903 misc/tune2fs.c:345 +#: misc/mke2fs.c:985 #, c-format -msgid "Invalid mount option set: %s\n" -msgstr "pilihan mount tidak valid diset: %s\n" - -#: misc/mke2fs.c:1043 -#, fuzzy, c-format msgid "" "\n" -"Your mke2fs.conf file does not define the %s filesystem type.\n" +"Warning! Your mke2fs.conf file does not define the %s filesystem type.\n" msgstr "" "\n" -"Peringatan! Berkas mke2fs.conf anda tidak mendefinisikan tipe sistem berkas " -"%s.\n" +"Peringatan! Berkas mke2fs.conf anda tidak mendefinisikan tipe sistem berkas %s.\n" -#: misc/mke2fs.c:1047 +#: misc/mke2fs.c:988 #, c-format msgid "" "You probably need to install an updated mke2fs.conf file.\n" @@ -4409,136 +4070,119 @@ msgstr "" "Anda mungkin butuh untuk memasang sebuah update dari berkas mke2fs.conf.\n" "\n" -#: misc/mke2fs.c:1051 -#, fuzzy, c-format -msgid "Aborting...\n" -msgstr "Membatalkan...\n" - -#: misc/mke2fs.c:1091 -#, c-format -msgid "" -"\n" -"Warning: the fs_type %s is not defined in mke2fs.conf\n" -"\n" -msgstr "" - -#: misc/mke2fs.c:1249 -#, fuzzy, c-format -msgid "Couldn't allocate memory for new PATH.\n" -msgstr "Tidak dapat mengalokasikan memori untuk nama berkas tdb\n" - -#: misc/mke2fs.c:1290 -#, c-format -msgid "Couldn't init profile successfully (error: %ld).\n" -msgstr "" - -#: misc/mke2fs.c:1330 +#: misc/mke2fs.c:1224 #, c-format msgid "invalid block size - %s" msgstr "Ukuran blok tidak valid - %s" -#: misc/mke2fs.c:1334 +#: misc/mke2fs.c:1228 #, c-format msgid "Warning: blocksize %d not usable on most systems.\n" msgstr "Peringatan: ukuranblok %d tidak berguna dalam kebanyakan system.\n" -#: misc/mke2fs.c:1350 -#, fuzzy, c-format -msgid "invalid cluster size - %s" -msgstr "Ukuran blok tidak valid - %s" +#: misc/mke2fs.c:1244 +#, c-format +msgid "invalid fragment size - %s" +msgstr "ukuran potongan/fragmen tidak valid - %s" + +#: misc/mke2fs.c:1250 +#, c-format +msgid "Warning: fragments not supported. Ignoring -f option\n" +msgstr "Peringatan: fragment tidak dilayani. Mengabaikan pilihan -f\n" -#: misc/mke2fs.c:1362 +#: misc/mke2fs.c:1257 msgid "Illegal number for blocks per group" msgstr "Jumlah ilegal untuk blok per grup" -#: misc/mke2fs.c:1367 +#: misc/mke2fs.c:1262 msgid "blocks per group must be multiple of 8" msgstr "blok per grup harus kelipatan dari 8" -#: misc/mke2fs.c:1375 +#: misc/mke2fs.c:1270 msgid "Illegal number for flex_bg size" msgstr "Jumlah ilegal untuk ukuran flex_bg" -#: misc/mke2fs.c:1381 +#: misc/mke2fs.c:1276 msgid "flex_bg size must be a power of 2" msgstr "ukuran flex_bg harus kelipatan dari 2" -#: misc/mke2fs.c:1391 +#: misc/mke2fs.c:1286 #, c-format msgid "invalid inode ratio %s (min %d/max %d)" msgstr "rasio dari inode tidak valid %s (min %d/max %d)" -#: misc/mke2fs.c:1401 -#, c-format -msgid "" -"Warning: -K option is deprecated and should not be used anymore. Use '-E " -"nodiscard' extended option instead!\n" -msgstr "" - -#: misc/mke2fs.c:1415 +#: misc/mke2fs.c:1306 msgid "in malloc for bad_blocks_filename" msgstr "dalam malloc untuk bad_block_filename" -#: misc/mke2fs.c:1425 +#: misc/mke2fs.c:1316 #, c-format msgid "invalid reserved blocks percent - %s" msgstr "persentasi reserved blok tidak valid - %s" -#: misc/mke2fs.c:1443 +#: misc/mke2fs.c:1334 #, c-format msgid "bad revision level - %s" msgstr "level revisi buruk - %s" -#: misc/mke2fs.c:1455 +#: misc/mke2fs.c:1346 #, c-format msgid "invalid inode size - %s" msgstr "ukuran inode tidak valid - %s" -#: misc/mke2fs.c:1475 +#: misc/mke2fs.c:1366 #, c-format msgid "bad num inodes - %s" msgstr "jumlah inode buruk - %s" -#: misc/mke2fs.c:1492 -#, fuzzy -msgid "The -t option may only be used once" -msgstr "-o hanya boleh dispesifikasikan sekali" - -#: misc/mke2fs.c:1500 -#, fuzzy -msgid "The -T option may only be used once" -msgstr "-o hanya boleh dispesifikasikan sekali" - -#: misc/mke2fs.c:1550 misc/mke2fs.c:2508 +#: misc/mke2fs.c:1431 misc/mke2fs.c:2203 #, c-format msgid "while trying to open journal device %s\n" msgstr "ketika mencoba membuka perangkat jurnal %s\n" -#: misc/mke2fs.c:1556 +#: misc/mke2fs.c:1437 #, c-format msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n" -msgstr "" -"Perangkat jurnal ukuranblok (%d) lebih kecil daripada minimum ukuranblok %d\n" +msgstr "Perangkat jurnal ukuranblok (%d) lebih kecil daripada minimum ukuranblok %d\n" -#: misc/mke2fs.c:1562 +#: misc/mke2fs.c:1443 #, c-format msgid "Using journal device's blocksize: %d\n" msgstr "Menggunakan perangkat jurnal ukuranblok: %d\n" -#: misc/mke2fs.c:1573 -#, fuzzy, c-format -msgid "invalid blocks '%s' on device '%s'" +#: misc/mke2fs.c:1452 +#, c-format +msgid "%d-byte blocks too big for system (max %d)" +msgstr "%d-byte bloks terlalu besar untuk system (maksimal %d)" + +#: misc/mke2fs.c:1456 +#, c-format +msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +msgstr "Peringatan: %d-byte blok terlalu besar untuk system (maksimal %d), dipaksa untuk melanjutkan\n" + +#: misc/mke2fs.c:1464 +#, c-format +msgid "invalid blocks count - %s" msgstr "jumlah blok tidak valid - %s" -#: misc/mke2fs.c:1583 +#: misc/mke2fs.c:1474 msgid "filesystem" msgstr "sistem berkas" -#: misc/mke2fs.c:1596 resize/main.c:374 +#: misc/mke2fs.c:1510 +#, c-format +msgid "" +"%s: Size of device %s too big to be expressed in 32 bits\n" +"\tusing a blocksize of %d.\n" +msgstr "" +"%s: Ukuran dari perangkat %s terlalu besar untuk diexpresikan dalam 32 bit\n" +"\tmenggunakan sebuah ukuranblok dari %d.\n" + +#: misc/mke2fs.c:1519 resize/main.c:382 msgid "while trying to determine filesystem size" msgstr "ketika mencoba untuk menentukan ukuran sistem berkas" -#: misc/mke2fs.c:1602 +#: misc/mke2fs.c:1526 msgid "" "Couldn't determine device size; you must specify\n" "the size of the filesystem\n" @@ -4546,63 +4190,47 @@ msgstr "" "Tidak dapat menentukan ukuran perangkat; anda harus menspesifikasikan\n" "ukuran dari sistem berkas\n" -#: misc/mke2fs.c:1609 +#: misc/mke2fs.c:1533 msgid "" "Device size reported to be zero. Invalid partition specified, or\n" "\tpartition table wasn't reread after running fdisk, due to\n" "\ta modified partition being busy and in use. You may need to reboot\n" "\tto re-read your partition table.\n" msgstr "" -"Ukuran perangkat yang dilaporkan nol. Partisi yang dispesifikasikan tidak " -"valid, atau\n" +"Ukuran perangkat yang dilaporkan nol. Partisi yang dispesifikasikan tidak valid, atau\n" "\ttabel partisi tidak dibaca kembali setelah menjalankan fdisk, karena\n" -"\tpartisi yang diubah sedang sibuk dan sedang digunakan. Anda bisa melakukan " -"reboot\n" +"\tpartisi yang diubah sedang sibuk dan sedang digunakan. Anda bisa melakukan reboot\n" "\tuntuk membaca kembali tabel partisi.\n" -#: misc/mke2fs.c:1626 +#: misc/mke2fs.c:1551 msgid "Filesystem larger than apparent device size." msgstr "Sistem berkas lebih besar dari ukuran perangkat yang terlihat." -#: misc/mke2fs.c:1646 +#: misc/mke2fs.c:1557 #, c-format msgid "Failed to parse fs types list\n" msgstr "Gagal untuk memparse daftar type fs\n" -#: misc/mke2fs.c:1700 -#, fuzzy, 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 "" -"%s: Ukuran dari perangkat %s terlalu besar untuk diexpresikan dalam 32 bit\n" -"\tmenggunakan sebuah ukuranblok dari %d.\n" - -#: misc/mke2fs.c:1716 +#: misc/mke2fs.c:1591 msgid "fs_types for mke2fs.conf resolution: " msgstr "fs_types untuk mke2fs.conf resolution: " -#: misc/mke2fs.c:1723 +#: misc/mke2fs.c:1598 #, c-format msgid "Filesystem features not supported with revision 0 filesystems\n" msgstr "Sistem berkas features tidak dilayani dengan sistem berkas revisi 0\n" -#: misc/mke2fs.c:1730 +#: misc/mke2fs.c:1605 #, c-format msgid "Sparse superblocks not supported with revision 0 filesystems\n" msgstr "Sparse superblok tidak dilayani dengan sistem berkas revisi 0\n" -#: misc/mke2fs.c:1742 +#: misc/mke2fs.c:1617 #, c-format msgid "Journals not supported with revision 0 filesystems\n" msgstr "Jurnal tidak dilayani dengan sistem berkas revisi 0\n" -#: misc/mke2fs.c:1756 -#, fuzzy, c-format -msgid "invalid reserved blocks percent - %lf" -msgstr "persentasi reserved blok tidak valid - %s" - -#: misc/mke2fs.c:1772 +#: misc/mke2fs.c:1635 #, c-format msgid "" "The resize_inode and meta_bg features are not compatible.\n" @@ -4611,177 +4239,143 @@ msgstr "" "resize_inode dan meta_bg feature tidak saling kompatibel.\n" "Meraka tidak dapat diaktifkan secara bersamaan.\n" -#: misc/mke2fs.c:1789 +#: misc/mke2fs.c:1652 msgid "while trying to determine hardware sector size" msgstr "ketika mencoba untuk menentukan ukuran sektor perangkat" -#: misc/mke2fs.c:1795 +#: misc/mke2fs.c:1658 msgid "while trying to determine physical sector size" msgstr "ketika mencoba untuk menentukan ukuran fisik sektor" -#: misc/mke2fs.c:1828 +#: misc/mke2fs.c:1687 msgid "while setting blocksize; too small for device\n" -msgstr "" -"ketika sedang melakukan konfigurasi ukuran blok;terlalu kecil untuk " -"perangkat\n" +msgstr "ketika sedang melakukan konfigurasi ukuran blok;terlalu kecil untuk perangkat\n" -#: misc/mke2fs.c:1833 -#, fuzzy, c-format -msgid "" -"Warning: specified blocksize %d is less than device physical sectorsize %d\n" -msgstr "" -"Peringatan: ukuran blok yang dispesifikasikan %d lebih kecil daripada ukuran " -"fisik sektor perangkat %d, tetap dilanjutkan\n" +#: misc/mke2fs.c:1691 +#, c-format +msgid "Warning: specified blocksize %d is less than device physical sectorsize %d, forced to continue\n" +msgstr "Peringatan: ukuran blok yang dispesifikasikan %d lebih kecil daripada ukuran fisik sektor perangkat %d, tetap dilanjutkan\n" -#: misc/mke2fs.c:1864 +#: misc/mke2fs.c:1712 #, c-format msgid "warning: Unable to get device geometry for %s\n" msgstr "Peringatan: Tidak dapat mendapatkan geometri untuk perangkat %s\n" -#: misc/mke2fs.c:1867 +#: misc/mke2fs.c:1715 #, c-format msgid "%s alignment is offset by %lu bytes.\n" msgstr "%s penyesuaian ofset sebesar %lu bytes.\n" -#: misc/mke2fs.c:1869 -#, c-format -msgid "" -"This may result in very poor performance, (re)-partitioning suggested.\n" -msgstr "" -"Ini mungkin akan berujung ke performa yang tidak baik, disarankan untuk " -"melakukan pembagian ulang.\n" - -#: misc/mke2fs.c:1880 -#, c-format -msgid "%d-byte blocks too big for system (max %d)" -msgstr "%d-byte bloks terlalu besar untuk system (maksimal %d)" - -#: misc/mke2fs.c:1884 +#: misc/mke2fs.c:1717 #, c-format -msgid "" -"Warning: %d-byte blocks too big for system (max %d), forced to continue\n" -msgstr "" -"Peringatan: %d-byte blok terlalu besar untuk system (maksimal %d), dipaksa " -"untuk melanjutkan\n" +msgid "This may result in very poor performance, (re)-partitioning suggested.\n" +msgstr "Ini mungkin akan berujung ke performa yang tidak baik, disarankan untuk melakukan pembagian ulang.\n" -#: misc/mke2fs.c:1920 +#: misc/mke2fs.c:1745 msgid "reserved online resize blocks not supported on non-sparse filesystem" msgstr "reserved online resize blok tidak dilayani di non-sparse sistem berkas" -#: misc/mke2fs.c:1929 +#: misc/mke2fs.c:1754 msgid "blocks per group count out of range" msgstr "jumlah blok per grup diluar jangkauan" -#: misc/mke2fs.c:1944 +#: misc/mke2fs.c:1769 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" -msgstr "" -"Flex_bg feature tidak diaktifkan, jadi ukuran flex_bw mungkin tidak dapat " -"dispesifikasikan" +msgstr "Flex_bg feature tidak diaktifkan, jadi ukuran flex_bw mungkin tidak dapat dispesifikasikan" -#: misc/mke2fs.c:1956 +#: misc/mke2fs.c:1781 #, c-format msgid "invalid inode size %d (min %d/max %d)" msgstr "ukuran inode tidak valid %d (min %d/max %d)" -#: misc/mke2fs.c:1974 +#: misc/mke2fs.c:1795 #, c-format msgid "too many inodes (%llu), raise inode ratio?" msgstr "terlalu banyak inode (%llu), naikkan rasio inode?" -#: misc/mke2fs.c:1981 +#: misc/mke2fs.c:1800 #, c-format msgid "too many inodes (%llu), specify < 2^32 inodes" msgstr "terlalu banyak inode (%llu), spesifikasikan < 2³2 inode" -#: misc/mke2fs.c:1995 -#, fuzzy, c-format +#: misc/mke2fs.c:1815 +#, c-format msgid "" "inode_size (%u) * inodes_count (%u) too big for a\n" -"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n" +"\tfilesystem with %lu blocks, specify higher inode_ratio (-i)\n" "\tor lower inode count (-N).\n" msgstr "" "inode_size (%u) * inode_count (%u) terlalu besar untuk sebuah\n" "\tsistem berkas dengan %lu blok, spesifikan lebih tinggi inode_ratio (-i)\n" "\tatau lebih rendah jumlah inode (-N).\n" -#: misc/mke2fs.c:2114 +#: misc/mke2fs.c:1908 misc/tune2fs.c:1494 +msgid "Couldn't allocate memory for tdb filename\n" +msgstr "Tidak dapat mengalokasikan memori untuk nama berkas tdb\n" + +#: misc/mke2fs.c:1921 misc/tune2fs.c:1516 +#, c-format +msgid "while trying to delete %s" +msgstr "ketika mencoba untuk menghapus %s" + +#: misc/mke2fs.c:1931 #, c-format msgid "" "Overwriting existing filesystem; this can be undone using the command:\n" " e2undo %s %s\n" "\n" msgstr "" -"Memaksa menulis sistem berkas yang sudah ada; ini tidak dapat diundo dengan " -"perintah:\n" +"Memaksa menulis sistem berkas yang sudah ada; ini tidak dapat diundo dengan perintah:\n" " e2undo %s %s\n" "\n" -#: misc/mke2fs.c:2128 -#, fuzzy -msgid "while trying to setup undo file\n" -msgstr "" -"\n" -"\tketika mencoba membuat file jurnal" - -#: misc/mke2fs.c:2154 -#, fuzzy -msgid "Discarding device blocks: " -msgstr "Menggunakan perangkat jurnal ukuranblok: %d\n" +#: misc/mke2fs.c:1968 +#, c-format +msgid "Calling BLKDISCARD from %llu to %llu " +msgstr "Memanggil BLKDISCARD dari %llu ke %llu " -#: misc/mke2fs.c:2170 -#, fuzzy -msgid "failed - " +#: misc/mke2fs.c:1972 +#, c-format +msgid "failed.\n" msgstr "gagal.\n" -#: misc/mke2fs.c:2277 +#: misc/mke2fs.c:1974 +#, c-format +msgid "succeeded.\n" +msgstr "berhasil.\n" + +#: misc/mke2fs.c:2023 msgid "while setting up superblock" msgstr "ketika mensetup superblok" -#: misc/mke2fs.c:2286 -#, c-format -msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" -msgstr "" - -#: misc/mke2fs.c:2369 +#: misc/mke2fs.c:2087 #, c-format msgid "unknown os - %s" msgstr "os tidak diketahui - %s" -#: misc/mke2fs.c:2421 -#, fuzzy, c-format -msgid "Allocating group tables: " -msgstr "Menulis tabel inode: " - -#: misc/mke2fs.c:2425 +#: misc/mke2fs.c:2141 msgid "while trying to allocate filesystem tables" msgstr "ketika mencoba mengalokasikan tabel sistem berkas" -#: misc/mke2fs.c:2434 -#, fuzzy -msgid "" -"\n" -"\twhile converting subcluster bitmap" -msgstr "ketika menulis blok bitmap" - -#: misc/mke2fs.c:2477 -#, fuzzy, c-format -msgid "while zeroing block %llu at end of filesystem" +#: misc/mke2fs.c:2172 +#, c-format +msgid "while zeroing block %u at end of filesystem" msgstr "ketika mengkosongkan blok %u di akhir dari sistem berkas" -#: misc/mke2fs.c:2490 +#: misc/mke2fs.c:2185 msgid "while reserving blocks for online resize" msgstr "ketika menreserve blok untuk online resize" -#: misc/mke2fs.c:2501 misc/tune2fs.c:640 +#: misc/mke2fs.c:2196 misc/tune2fs.c:479 msgid "journal" msgstr "jurnal" -#: misc/mke2fs.c:2513 +#: misc/mke2fs.c:2208 #, c-format msgid "Adding journal to device %s: " msgstr "Menambahkan jurnal ke perangkat %s: " -#: misc/mke2fs.c:2520 +#: misc/mke2fs.c:2215 #, c-format msgid "" "\n" @@ -4790,47 +4384,27 @@ msgstr "" "\n" "\tketika mencoba untuk menambahkan jurnal ke perangkat %s" -#: misc/mke2fs.c:2525 misc/mke2fs.c:2557 misc/tune2fs.c:669 misc/tune2fs.c:683 +#: misc/mke2fs.c:2220 misc/mke2fs.c:2252 misc/tune2fs.c:508 misc/tune2fs.c:522 #, c-format msgid "done\n" msgstr "selesai\n" -#: misc/mke2fs.c:2534 +#: misc/mke2fs.c:2229 #, c-format msgid "Skipping journal creation in super-only mode\n" msgstr "Melewatkan pembuatan jurnal dalam mode super-saja\n" -#: misc/mke2fs.c:2545 +#: misc/mke2fs.c:2240 #, c-format msgid "Creating journal (%u blocks): " msgstr "Membuat jurnal (%u blok): " -#: misc/mke2fs.c:2553 -msgid "" -"\n" -"\twhile trying to create journal" -msgstr "" -"\n" -"\tketika mencoba untuk membuat jurnal" - -#: misc/mke2fs.c:2564 misc/tune2fs.c:446 -#, c-format -msgid "" -"\n" -"Error while enabling multiple mount protection feature." -msgstr "" - -#: misc/mke2fs.c:2569 -#, c-format -msgid "Multiple mount protection is enabled with update interval %d seconds.\n" -msgstr "" - -#: misc/mke2fs.c:2582 +#: misc/mke2fs.c:2257 #, c-format msgid "Writing superblocks and filesystem accounting information: " msgstr "Menulis superblok dan informasi akuntasi sistem berkas: " -#: misc/mke2fs.c:2589 +#: misc/mke2fs.c:2262 #, c-format msgid "" "\n" @@ -4839,7 +4413,7 @@ msgstr "" "\n" "Peringatan, memiliki masalah menulis diluar superblok." -#: misc/mke2fs.c:2591 +#: misc/mke2fs.c:2265 #, c-format msgid "" "done\n" @@ -4848,12 +4422,12 @@ msgstr "" "selesai\n" "\n" -#: misc/mklost+found.c:50 +#: misc/mklost+found.c:49 #, c-format msgid "Usage: mklost+found\n" msgstr "Penggunaan: mklost+found\n" -#: misc/partinfo.c:41 +#: misc/partinfo.c:39 #, c-format msgid "" "Usage: %s device...\n" @@ -4868,37 +4442,36 @@ msgstr "" "Contoh: %s /dev/hda\n" "\n" -#: misc/partinfo.c:51 +#: misc/partinfo.c:49 #, c-format msgid "Cannot open %s: %s" msgstr "tidak dapat membuka %s: %s" -#: misc/partinfo.c:57 +#: misc/partinfo.c:55 #, c-format msgid "Cannot get geometry of %s: %s" msgstr "Tidak dapat memperoleh geometry dari %s; %s" -#: misc/partinfo.c:65 +#: misc/partinfo.c:63 #, c-format msgid "Cannot get size of %s: %s" msgstr "Tidak dapat memperoleh ukuran dari %s: %s" -#: misc/partinfo.c:71 +#: misc/partinfo.c:69 #, c-format msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n" msgstr "%s: h=%3d s=%3d c=%4d awal=%8d ukuran=%8lu akhir=%6d\n" -#: misc/tune2fs.c:107 +#: misc/tune2fs.c:96 msgid "Please run e2fsck on the filesystem.\n" msgstr "Tolong jalankan e2fsck untuk sistem berkas.\n" -#: misc/tune2fs.c:116 -#, fuzzy, c-format +#: misc/tune2fs.c:105 +#, c-format msgid "" "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" -"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p " -"mmp_update_interval]\n" +"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n" @@ -4907,66 +4480,63 @@ msgstr "" "Penggunaan: %s [-c jumlah_max_mount] [-e errors_behavior] [-g grup]\n" "\t[-t interval[d|m|w]] [-j] [-J pilihan_jurnal] [-l]\n" "\t[-m persentasi_reserved_blok] [-o [^]pilihan_mount[,...]] \n" -"\t[-r jumlah_reserved_blok] [-u pengguna] [-C jumlah_mount] [-L " -"label_volume]\n" +"\t[-r jumlah_reserved_blok] [-u pengguna] [-C jumlah_mount] [-L label_volume]\n" "\t[-E pilihan-tambahan[,...]] [-T waktu_terakhir_diperiksa] [-U UUID]\n" "\t[-I ukuran_inode_baru] perangkat\n" -#: misc/tune2fs.c:205 +#: misc/tune2fs.c:190 msgid "while trying to open external journal" msgstr "ketika mencoba membuka jurnal external" -#: misc/tune2fs.c:210 +#: misc/tune2fs.c:194 #, c-format msgid "%s is not a journal device.\n" msgstr "%s bukan sebuah perangkat jurnal.\n" -#: misc/tune2fs.c:225 +#: misc/tune2fs.c:209 msgid "Journal superblock not found!\n" msgstr "Jurnal superblok tidak ditemukan!\n" -#: misc/tune2fs.c:236 +#: misc/tune2fs.c:221 msgid "Filesystem's UUID not found on journal device.\n" msgstr "Sistem berkas UUID tidak ditemukan dalam perangkat jurnal.\n" -#: misc/tune2fs.c:257 -msgid "" -"Cannot locate journal device. It was NOT removed\n" -"Use -f option to remove missing journal device.\n" -msgstr "" +#: misc/tune2fs.c:242 +msgid "Journal NOT removed\n" +msgstr "Jurnal TIDAK dihapus\n" -#: misc/tune2fs.c:265 +#: misc/tune2fs.c:248 msgid "Journal removed\n" msgstr "Jurnal dihapus\n" -#: misc/tune2fs.c:309 +#: misc/tune2fs.c:288 msgid "while reading bitmaps" msgstr "ketika membaca bitmap" -#: misc/tune2fs.c:317 +#: misc/tune2fs.c:296 msgid "while clearing journal inode" msgstr "ketika menghapus inode jurnal" -#: misc/tune2fs.c:328 +#: misc/tune2fs.c:307 msgid "while writing journal inode" msgstr "ketika menulis inode jurnal" -#: misc/tune2fs.c:363 +#: misc/tune2fs.c:322 #, c-format -msgid "(and reboot afterwards!)\n" -msgstr "(dan reboot setelah ini!)\n" +msgid "Invalid mount option set: %s\n" +msgstr "pilihan mount tidak valid diset: %s\n" -#: misc/tune2fs.c:396 +#: misc/tune2fs.c:358 #, c-format msgid "Clearing filesystem feature '%s' not supported.\n" msgstr "Menghapus feature sistem berkas '%s' tidak dilayani.\n" -#: misc/tune2fs.c:402 +#: misc/tune2fs.c:364 #, c-format msgid "Setting filesystem feature '%s' not supported.\n" msgstr "Tatanan fitur sistem berkas '%s' tidak dilayani.\n" -#: misc/tune2fs.c:411 +#: misc/tune2fs.c:373 msgid "" "The has_journal feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" @@ -4974,7 +4544,7 @@ msgstr "" "Has_journal feature mungkin hanya bisa dihapus ketika sistem berkas sedang\n" "dimount baca-saja atau tidak dimount.\n" -#: misc/tune2fs.c:419 +#: misc/tune2fs.c:381 msgid "" "The needs_recovery flag is set. Please run e2fsck before clearing\n" "the has_journal flag.\n" @@ -4982,43 +4552,7 @@ msgstr "" "Needs_recovery flag diset. Tolong jalankan e2fsck sebelum menghapus\n" "has_journal flag.\n" -#: misc/tune2fs.c:438 -#, fuzzy -msgid "" -"The multiple mount protection feature can't\n" -"be set if the filesystem is mounted or\n" -"read-only.\n" -msgstr "" -"Huge_file feature hanya boleh dihapus ketika sistem berkas sedang\n" -"dimount baca-saja atau tidak dimount.\n" - -#: misc/tune2fs.c:456 -#, c-format -msgid "Multiple mount protection has been enabled with update interval %ds.\n" -msgstr "" - -#: misc/tune2fs.c:465 -msgid "" -"The multiple mount protection feature cannot\n" -"be disabled if the filesystem is readonly.\n" -msgstr "" - -#: misc/tune2fs.c:473 -#, fuzzy -msgid "Error while reading bitmaps\n" -msgstr "ketika membaca bitmap" - -#: misc/tune2fs.c:482 -#, c-format -msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n" -msgstr "" - -#: misc/tune2fs.c:487 -#, fuzzy -msgid "while reading MMP block." -msgstr "ketika sedang membaca inode blok buruk" - -#: misc/tune2fs.c:519 +#: misc/tune2fs.c:414 msgid "" "Clearing the flex_bg flag would cause the the filesystem to be\n" "inconsistent.\n" @@ -5026,7 +4560,7 @@ msgstr "" "Menghapus flex_bg flag akan mengakibatkan sistem berkas menjadi\n" "tidak konsisten.\n" -#: misc/tune2fs.c:530 +#: misc/tune2fs.c:425 msgid "" "The huge_file feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" @@ -5034,17 +4568,16 @@ msgstr "" "Huge_file feature hanya boleh dihapus ketika sistem berkas sedang\n" "dimount baca-saja atau tidak dimount.\n" -#: misc/tune2fs.c:590 -msgid "" -"\n" -"Warning: '^quota' option overrides '-Q'arguments.\n" -msgstr "" +#: misc/tune2fs.c:453 +#, c-format +msgid "(and reboot afterwards!)\n" +msgstr "(dan reboot setelah ini!)\n" -#: misc/tune2fs.c:635 +#: misc/tune2fs.c:474 msgid "The filesystem already has a journal.\n" msgstr "Sistem berkas telah memiliki sebuah jurnal.\n" -#: misc/tune2fs.c:653 +#: misc/tune2fs.c:492 #, c-format msgid "" "\n" @@ -5053,21 +4586,21 @@ msgstr "" "\n" "\tketika mencoba untuk membuka jurnal di %s\n" -#: misc/tune2fs.c:657 +#: misc/tune2fs.c:496 #, c-format msgid "Creating journal on device %s: " msgstr "Membuat jurnal di perangkat %s: " -#: misc/tune2fs.c:665 +#: misc/tune2fs.c:504 #, c-format msgid "while adding filesystem to journal on %s" msgstr "ketika menambahkan sistem berkas di jurnal di %s" -#: misc/tune2fs.c:671 +#: misc/tune2fs.c:510 msgid "Creating journal inode: " msgstr "Membuat jurnal inode: " -#: misc/tune2fs.c:680 +#: misc/tune2fs.c:519 msgid "" "\n" "\twhile trying to create journal file" @@ -5075,117 +4608,86 @@ msgstr "" "\n" "\tketika mencoba membuat file jurnal" -#: misc/tune2fs.c:763 -#, fuzzy -msgid "Couldn't allocate memory to parse quota options!\n" -msgstr "Tidak dapat mengalokasikan memori untuk memparse pilihan!\n" - -#: misc/tune2fs.c:785 -msgid "" -"\n" -"Bad quota options specified.\n" -"\n" -"Following valid quota options are available (pass by separating with " -"comma):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" -msgstr "" - -#: misc/tune2fs.c:846 +#: misc/tune2fs.c:585 #, c-format msgid "Couldn't parse date/time specifier: %s" msgstr "Tidak dapat memparse date/time specifier: %s" -#: misc/tune2fs.c:870 misc/tune2fs.c:883 +#: misc/tune2fs.c:609 misc/tune2fs.c:622 #, c-format msgid "bad mounts count - %s" msgstr "jumlah mount buruk - %s" -#: misc/tune2fs.c:899 +#: misc/tune2fs.c:638 #, c-format msgid "bad error behavior - %s" msgstr "perilaku error buruk - %s" -#: misc/tune2fs.c:926 +#: misc/tune2fs.c:665 #, c-format msgid "bad gid/group name - %s" msgstr "nama gid/grup buruk - %s" -#: misc/tune2fs.c:959 +#: misc/tune2fs.c:698 #, c-format msgid "bad interval - %s" msgstr "interval buruk - %s" -#: misc/tune2fs.c:988 +#: misc/tune2fs.c:727 #, c-format msgid "bad reserved block ratio - %s" msgstr "rasio reserved blok buruk - %s" -#: misc/tune2fs.c:1003 +#: misc/tune2fs.c:742 msgid "-o may only be specified once" msgstr "-o hanya boleh dispesifikasikan sekali" -#: misc/tune2fs.c:1012 +#: misc/tune2fs.c:752 msgid "-O may only be specified once" msgstr "-O hanya boleh dispesifikasikan sekali" -#: misc/tune2fs.c:1027 +#: misc/tune2fs.c:762 #, c-format msgid "bad reserved blocks count - %s" msgstr "jumlah reserved blok buruk - %s" -#: misc/tune2fs.c:1056 +#: misc/tune2fs.c:791 #, c-format msgid "bad uid/user name - %s" msgstr "nama uid/pengguna buruk - %s" -#: misc/tune2fs.c:1073 +#: misc/tune2fs.c:808 #, c-format msgid "bad inode size - %s" msgstr "ukuran inode buruk - %s" -#: misc/tune2fs.c:1080 +#: misc/tune2fs.c:815 #, c-format msgid "Inode size must be a power of two- %s" msgstr "Ukuran inode harus kelipatan dari dua - %s" -#: misc/tune2fs.c:1174 -#, c-format -msgid "mmp_update_interval too big: %lu\n" -msgstr "" - -#: misc/tune2fs.c:1179 -#, fuzzy, c-format -msgid "Setting multiple mount protection update interval to %lu second\n" -msgid_plural "" -"Setting multiple mount protection update interval to %lu seconds\n" -msgstr[0] "Menset maksimal jumlah mount ke %d\n" -msgstr[1] "Menset maksimal jumlah mount ke %d\n" - -#: misc/tune2fs.c:1202 +#: misc/tune2fs.c:904 #, c-format msgid "Invalid RAID stride: %s\n" msgstr "Invalid RAID stride: %s\n" -#: misc/tune2fs.c:1217 +#: misc/tune2fs.c:919 #, c-format msgid "Invalid RAID stripe-width: %s\n" msgstr "Invalid RAID stripe-width: %s\n" -#: misc/tune2fs.c:1232 +#: misc/tune2fs.c:934 #, c-format msgid "Invalid hash algorithm: %s\n" msgstr "Algoritma hash tidak valid: %s\n" -#: misc/tune2fs.c:1238 +#: misc/tune2fs.c:940 #, c-format msgid "Setting default hash algorithm to %s (%d)\n" msgstr "Menset default algoritma hash ke %s (%d)\n" -#: misc/tune2fs.c:1257 -#, fuzzy, c-format +#: misc/tune2fs.c:948 +#, c-format msgid "" "\n" "Bad options specified.\n" @@ -5194,11 +4696,9 @@ msgid "" "\tis set off by an equals ('=') sign.\n" "\n" "Valid extended options are:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" msgstr "" @@ -5215,34 +4715,23 @@ msgstr "" "\ttest_fs\n" "\t^test_fs\n" -#: misc/tune2fs.c:1723 -#, fuzzy -msgid "Failed to read inode bitmap\n" -msgstr "ketika membaca bitmap" - -#: misc/tune2fs.c:1728 -#, fuzzy -msgid "Failed to read block bitmap\n" -msgstr "membaca inode dan blok bitmap" - -#: misc/tune2fs.c:1745 resize/resize2fs.c:784 +#: misc/tune2fs.c:1421 resize/resize2fs.c:790 msgid "blocks to be moved" msgstr "blok akan dipindahkan" -#: misc/tune2fs.c:1748 +#: misc/tune2fs.c:1424 msgid "Failed to allocate block bitmap when increasing inode size\n" -msgstr "" -"Gagal untuk mengalokasikan bitmap blok ketika meningkatkan ukuran inode\n" +msgstr "Gagal untuk mengalokasikan bitmap blok ketika meningkatkan ukuran inode\n" -#: misc/tune2fs.c:1754 +#: misc/tune2fs.c:1430 msgid "Not enough space to increase inode size \n" msgstr "Tidak cukup ruang untuk meningkatkan ukuran inode \n" -#: misc/tune2fs.c:1759 +#: misc/tune2fs.c:1435 msgid "Failed to relocate blocks during inode resize \n" msgstr "Gagal untuk memindahkan blok ketika pengubahan ukuran inode \n" -#: misc/tune2fs.c:1791 +#: misc/tune2fs.c:1467 msgid "" "Error in resizing the inode size.\n" "Run e2undo to undo the file system changes. \n" @@ -5250,16 +4739,7 @@ msgstr "" "Error dalam mengubah ukuran dari ukuran inode.\n" "Jalankan e2undo untuk undo perubahan sistem berkas.\n" -#: misc/tune2fs.c:1818 -msgid "Couldn't allocate memory for tdb filename\n" -msgstr "Tidak dapat mengalokasikan memori untuk nama berkas tdb\n" - -#: misc/tune2fs.c:1840 -#, c-format -msgid "while trying to delete %s" -msgstr "ketika mencoba untuk menghapus %s" - -#: misc/tune2fs.c:1850 +#: misc/tune2fs.c:1526 #, c-format msgid "" "To undo the tune2fs operation please run the command\n" @@ -5270,69 +4750,57 @@ msgstr "" " e2undo %s %s\n" "\n" -#: misc/tune2fs.c:1919 -#, c-format -msgid "" -"MMP block magic is bad. Try to fix it by running:\n" -"'e2fsck -f %s'\n" -msgstr "" - -#: misc/tune2fs.c:1937 +#: misc/tune2fs.c:1587 #, c-format msgid "The inode size is already %lu\n" msgstr "Ukuran inode telah %lu\n" -#: misc/tune2fs.c:1943 +#: misc/tune2fs.c:1592 #, c-format msgid "Shrinking the inode size is not supported\n" msgstr "Mengecilkan ukuran inode yang tidak dilayani\n" -#: misc/tune2fs.c:1990 +#: misc/tune2fs.c:1635 #, c-format msgid "Setting maximal mount count to %d\n" msgstr "Menset maksimal jumlah mount ke %d\n" -#: misc/tune2fs.c:1996 +#: misc/tune2fs.c:1641 #, c-format msgid "Setting current mount count to %d\n" msgstr "Menset jumlah mount sekarang ke %d\n" -#: misc/tune2fs.c:2001 +#: misc/tune2fs.c:1646 #, c-format msgid "Setting error behavior to %d\n" msgstr "Menset perilaku error ke %d\n" -#: misc/tune2fs.c:2006 +#: misc/tune2fs.c:1651 #, c-format msgid "Setting reserved blocks gid to %lu\n" msgstr "Menset gid reserved blok ke %lu\n" -#: misc/tune2fs.c:2011 -#, fuzzy, c-format -msgid "interval between checks is too big (%lu)" -msgstr "Menset interval diantara check ke %lu detik\n" - -#: misc/tune2fs.c:2018 +#: misc/tune2fs.c:1656 #, c-format msgid "Setting interval between checks to %lu seconds\n" msgstr "Menset interval diantara check ke %lu detik\n" -#: misc/tune2fs.c:2025 -#, fuzzy, c-format -msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n" +#: misc/tune2fs.c:1663 +#, c-format +msgid "Setting reserved blocks percentage to %g%% (%u blocks)\n" msgstr "Menset persentasi reserved blok ke %g%% (%u blok)\n" -#: misc/tune2fs.c:2031 -#, fuzzy, c-format -msgid "reserved blocks count is too big (%llu)" +#: misc/tune2fs.c:1670 +#, c-format +msgid "reserved blocks count is too big (%lu)" msgstr "jumlah reserved blok terlalu besar (%lu)" -#: misc/tune2fs.c:2038 -#, fuzzy, c-format -msgid "Setting reserved blocks count to %llu\n" +#: misc/tune2fs.c:1676 +#, c-format +msgid "Setting reserved blocks count to %lu\n" msgstr "Menset jumlah reserved blok ke %lu\n" -#: misc/tune2fs.c:2044 +#: misc/tune2fs.c:1682 msgid "" "\n" "The filesystem already has sparse superblocks.\n" @@ -5340,7 +4808,7 @@ msgstr "" "\n" "Sistem berkas telah memiliki sparse superblok.\n" -#: misc/tune2fs.c:2051 +#: misc/tune2fs.c:1689 #, c-format msgid "" "\n" @@ -5349,7 +4817,7 @@ msgstr "" "\n" "Sparse superblok flag diset. %s" -#: misc/tune2fs.c:2056 +#: misc/tune2fs.c:1694 msgid "" "\n" "Clearing the sparse superflag not supported.\n" @@ -5357,37 +4825,25 @@ msgstr "" "\n" "Menghapus sparse superflag tidak dilayani.\n" -#: misc/tune2fs.c:2064 +#: misc/tune2fs.c:1701 #, c-format msgid "Setting time filesystem last checked to %s\n" msgstr "Menset waktu sistem berkas terakhir diperiksa ke %s\n" -#: misc/tune2fs.c:2070 +#: misc/tune2fs.c:1707 #, c-format msgid "Setting reserved blocks uid to %lu\n" msgstr "Menset uid reserved blok ke %lu\n" -#: misc/tune2fs.c:2102 -msgid "Error in using clear_mmp. It must be used with -f\n" -msgstr "" - -#: misc/tune2fs.c:2120 -#, fuzzy -msgid "" -"The quota feature may only be changed when the filesystem is unmounted.\n" -msgstr "" -"Ukuran inode mungkin akan berubah ketika sistem berkas tidak dimount.\n" - -#: misc/tune2fs.c:2153 +#: misc/tune2fs.c:1758 msgid "Invalid UUID format\n" msgstr "Invalid format UUID\n" -#: misc/tune2fs.c:2166 +#: misc/tune2fs.c:1770 msgid "The inode size may only be changed when the filesystem is unmounted.\n" -msgstr "" -"Ukuran inode mungkin akan berubah ketika sistem berkas tidak dimount.\n" +msgstr "Ukuran inode mungkin akan berubah ketika sistem berkas tidak dimount.\n" -#: misc/tune2fs.c:2174 +#: misc/tune2fs.c:1777 msgid "" "Changing the inode size not supported for filesystems with the flex_bg\n" "feature enabled.\n" @@ -5395,77 +4851,66 @@ msgstr "" "Pengubahan ukuran inode tidak didukung untuk sistem berkas dengan flex_bg\n" "fitur aktif.\n" -#: misc/tune2fs.c:2187 +#: misc/tune2fs.c:1789 #, c-format msgid "Setting inode size %lu\n" msgstr "Menset ukuran inode %lu\n" -#: misc/tune2fs.c:2190 -#, fuzzy, c-format -msgid "Failed to change inode size\n" -msgstr "Gagal untuk memindahkan blok ketika pengubahan ukuran inode \n" - -#: misc/tune2fs.c:2201 +#: misc/tune2fs.c:1799 #, c-format msgid "Setting stride size to %d\n" msgstr "Menset ukuran stride ke %d\n" -#: misc/tune2fs.c:2206 +#: misc/tune2fs.c:1804 #, c-format msgid "Setting stripe width to %d\n" msgstr "Menset lebar stripe ke %d\n" -#: misc/tune2fs.c:2213 -#, fuzzy, c-format -msgid "Setting extended default mount options to '%s'\n" -msgstr "Menset jumlah mount sekarang ke %d\n" - -#: misc/util.c:74 +#: misc/util.c:72 msgid "Proceed anyway? (y,n) " msgstr "Jalankan saja? (y,n) " -#: misc/util.c:89 +#: misc/util.c:93 #, c-format msgid "Could not stat %s --- %s\n" msgstr "Tidak dapat melakukan statistik %s --- %s\n" -#: misc/util.c:92 +#: misc/util.c:96 msgid "" "\n" "The device apparently does not exist; did you specify it correctly?\n" msgstr "" "\n" -"Perangkat kelihatannya tidak ada; apakah anda menspesifikasikannya dengan " -"benar?\n" +"Perangkat kelihatannya tidak ada; apakah anda menspesifikasikannya dengan benar?\n" -#: misc/util.c:103 +#: misc/util.c:107 #, c-format msgid "%s is not a block special device.\n" msgstr "%s bukan sebuah perangkat blok spesial.\n" -#: misc/util.c:132 +#: misc/util.c:136 #, c-format msgid "%s is entire device, not just one partition!\n" msgstr "%s adalah seluruh perangkatm bukan hanya sebuah partisi!\n" -#: misc/util.c:154 +#: misc/util.c:158 msgid "mke2fs forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "mke2fs dipaksakan saja. Mudah mudahan /etc/mtab tidak benar.\n" -#: misc/util.c:159 +#: misc/util.c:163 #, c-format msgid "will not make a %s here!\n" msgstr "tidak akan membuat sebuah %s disini!\n" -#: misc/util.c:166 +#: misc/util.c:170 msgid "mke2fs forced anyway.\n" msgstr "mke2fs dipaksakan saja.\n" -#: misc/util.c:182 +#: misc/util.c:186 msgid "Couldn't allocate memory to parse journal options!\n" msgstr "Tidak dapat mengalokasikan memori untuk memparse pilihan jurnal!\n" -#: misc/util.c:207 +#: misc/util.c:211 #, c-format msgid "" "\n" @@ -5474,7 +4919,7 @@ msgstr "" "\n" "Tidak dapat menemukan perangkat jurnal yang cocok %s\n" -#: misc/util.c:228 +#: misc/util.c:232 msgid "" "\n" "Bad journal options specified.\n" @@ -5502,7 +4947,7 @@ msgstr "" "Ukuran jurnal harus diantara 1024 dan 10240000 blok sistem berkas.\n" "\n" -#: misc/util.c:258 +#: misc/util.c:262 msgid "" "\n" "Filesystem too small for a journal\n" @@ -5510,7 +4955,7 @@ msgstr "" "\n" "Sistem berkas terlalu kecil untuk sebuah jurnal\n" -#: misc/util.c:265 +#: misc/util.c:269 #, c-format msgid "" "\n" @@ -5521,7 +4966,7 @@ msgstr "" "Ukuran jurnal yang diminta adalah %d blok; ini harus berada\n" "diantara 1024 dan 10240000 blok. Membatalkan.\n" -#: misc/util.c:273 +#: misc/util.c:277 msgid "" "\n" "Journal size too big for filesystem.\n" @@ -5539,210 +4984,83 @@ msgstr "" "%g hari, yang mana yang datang lebih dulu. Gunakan tune2fs -c atau -i\n" "untuk mengubahnya.\n" -#: misc/uuidd.c:48 +#: misc/uuidgen.c:31 #, c-format -msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n" -msgstr "" +msgid "Usage: %s [-r] [-t]\n" +msgstr "Penggunaan: %s [-r] [-t]\n" -#: misc/uuidd.c:50 -#, c-format -msgid " %s [-r|t] [-n num] [-s socketpath]\n" -msgstr "" +#: resize/extent.c:196 +msgid "# Extent dump:\n" +msgstr "# Extent dump:\n" -#: misc/uuidd.c:52 +#: resize/extent.c:197 #, c-format -msgid " %s -k\n" -msgstr "" - -#: misc/uuidd.c:154 -#, fuzzy -msgid "bad arguments" -msgstr "%s: terlalu banyak argumen\n" +msgid "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" +msgstr "#\tNum=%d, Ukuran=%d, Cursor=%d, Sorted=%d\n" -#: misc/uuidd.c:172 -msgid "connect" -msgstr "" +#: resize/extent.c:200 +#, c-format +msgid "#\t\t %u -> %u (%d)\n" +msgstr "#\t\t %u -> %u (%d)\n" -#: misc/uuidd.c:191 -msgid "write" +#: resize/main.c:42 +#, c-format +msgid "" +"Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" +"\n" msgstr "" +"Penggunaan: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] perangkat [ukuran_baru]\n" +"\n" -#: misc/uuidd.c:199 -msgid "read count" -msgstr "" +#: resize/main.c:64 +msgid "Extending the inode table" +msgstr "Memperbesar tabel inode" -#: misc/uuidd.c:205 -#, fuzzy -msgid "bad response length" -msgstr "Panjang stride tidak valid" +#: resize/main.c:67 +msgid "Relocating blocks" +msgstr "Memindahkan blok" -#: misc/uuidd.c:270 -#, c-format -msgid "uuidd daemon already running at pid %s\n" -msgstr "" +#: resize/main.c:70 +msgid "Scanning inode table" +msgstr "Memeriksa tabel inode" -#: misc/uuidd.c:278 -#, fuzzy, c-format -msgid "Couldn't create unix stream socket: %s" -msgstr "Tidak dapat memparse date/time specifier: %s" +#: resize/main.c:73 +msgid "Updating inode references" +msgstr "Memperbarui referensi inode" -#: misc/uuidd.c:307 -#, fuzzy, c-format -msgid "Couldn't bind unix socket %s: %s\n" -msgstr "Tidak dapat menghubungkan %i: %m\n" +#: resize/main.c:76 +msgid "Moving inode table" +msgstr "Memindahkan tabel inode" -#: misc/uuidd.c:315 -#, fuzzy, c-format -msgid "Couldn't listen on unix socket %s: %s\n" -msgstr "Tidak dapat menghubungkan %i: %m\n" +#: resize/main.c:79 +msgid "Unknown pass?!?" +msgstr "Tahap tidak diketahui?!?" -#: misc/uuidd.c:353 -#, fuzzy, c-format -msgid "Error reading from client, len = %d\n" -msgstr "Error membaca @i %i: %m\n" +#: resize/main.c:82 +#, c-format +msgid "Begin pass %d (max = %lu)\n" +msgstr "Awal tahap %d (max = %lu)\n" -#: misc/uuidd.c:361 +#: resize/main.c:265 #, c-format -msgid "operation %d, incoming num = %d\n" -msgstr "" +msgid "while opening %s" +msgstr "ketika membuka %s" -#: misc/uuidd.c:380 +#: resize/main.c:277 #, c-format -msgid "Generated time UUID: %s\n" -msgstr "" +msgid "while getting stat information for %s" +msgstr "ketika memperoleh informasi statistik untuk %s" -#: misc/uuidd.c:390 +#: resize/main.c:338 #, c-format -msgid "Generated random UUID: %s\n" +msgid "" +"%s: The combination of flex_bg and\n" +"\t!resize_inode features is not supported by resize2fs.\n" msgstr "" +"%s: Kombinasi dari flex_bg dan\n" +"\t!resize_inode features tidak dilayani oleh resize2fs.\n" -#: misc/uuidd.c:399 -#, c-format -msgid "Generated time UUID %s and subsequent UUID\n" -msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/uuidd.c:420 -#, c-format -msgid "Generated %d UUID's:\n" -msgstr "" - -#: misc/uuidd.c:432 -#, fuzzy, c-format -msgid "Invalid operation %d\n" -msgstr "Versi EA tidak valid.\n" - -#: misc/uuidd.c:476 misc/uuidd.c:498 -#, c-format -msgid "Bad number: %s\n" -msgstr "" - -#: misc/uuidd.c:533 misc/uuidd.c:562 -#, fuzzy, c-format -msgid "Error calling uuidd daemon (%s): %s\n" -msgstr "Error membuat /@l @d (%s): %m\n" - -#: misc/uuidd.c:543 -#, c-format -msgid "%s and subsequent UUID\n" -msgid_plural "%s and subsequent %d UUIDs\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/uuidd.c:547 -#, c-format -msgid "List of UUID's:\n" -msgstr "" - -#: misc/uuidd.c:568 -#, c-format -msgid "Unexpected reply length from server %d\n" -msgstr "" - -#: misc/uuidd.c:585 -#, c-format -msgid "Couldn't kill uuidd running at pid %d: %s\n" -msgstr "" - -#: misc/uuidd.c:591 -#, c-format -msgid "Killed uuidd running at pid %d\n" -msgstr "" - -#: misc/uuidgen.c:32 -#, c-format -msgid "Usage: %s [-r] [-t]\n" -msgstr "Penggunaan: %s [-r] [-t]\n" - -#: resize/extent.c:202 -msgid "# Extent dump:\n" -msgstr "# Extent dump:\n" - -#: resize/extent.c:203 -#, fuzzy, c-format -msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n" -msgstr "#\tNum=%d, Ukuran=%d, Cursor=%d, Sorted=%d\n" - -#: resize/main.c:43 -#, c-format -msgid "" -"Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" -"\n" -msgstr "" -"Penggunaan: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] perangkat " -"[ukuran_baru]\n" -"\n" - -#: resize/main.c:65 -msgid "Extending the inode table" -msgstr "Memperbesar tabel inode" - -#: resize/main.c:68 -msgid "Relocating blocks" -msgstr "Memindahkan blok" - -#: resize/main.c:71 -msgid "Scanning inode table" -msgstr "Memeriksa tabel inode" - -#: resize/main.c:74 -msgid "Updating inode references" -msgstr "Memperbarui referensi inode" - -#: resize/main.c:77 -msgid "Moving inode table" -msgstr "Memindahkan tabel inode" - -#: resize/main.c:80 -msgid "Unknown pass?!?" -msgstr "Tahap tidak diketahui?!?" - -#: resize/main.c:83 -#, c-format -msgid "Begin pass %d (max = %lu)\n" -msgstr "Awal tahap %d (max = %lu)\n" - -#: resize/main.c:259 -#, c-format -msgid "while opening %s" -msgstr "ketika membuka %s" - -#: resize/main.c:267 -#, c-format -msgid "while getting stat information for %s" -msgstr "ketika memperoleh informasi statistik untuk %s" - -#: resize/main.c:331 -#, c-format -msgid "" -"%s: The combination of flex_bg and\n" -"\t!resize_inode features is not supported by resize2fs.\n" -msgstr "" -"%s: Kombinasi dari flex_bg dan\n" -"\t!resize_inode features tidak dilayani oleh resize2fs.\n" - -#: resize/main.c:344 resize/main.c:452 +#: resize/main.c:352 resize/main.c:452 #, c-format msgid "" "Please run 'e2fsck -f %s' first.\n" @@ -5751,23 +5069,19 @@ msgstr "" "Tolong jalankan 'e2fsck -f %s' terlebih dahulu.\n" "\n" -#: resize/main.c:348 -#, fuzzy, c-format -msgid "Estimated minimum size of the filesystem: %llu\n" +#: resize/main.c:356 +#, c-format +msgid "Estimated minimum size of the filesystem: %u\n" msgstr "Estimasi minimum dari ukuran sistem berkas: %u\n" -#: resize/main.c:384 +#: resize/main.c:392 #, c-format msgid "Invalid new size: %s\n" msgstr "Ukuran inode baru tidak valid: %s\n" -#: resize/main.c:392 -msgid "New size too large to be expressed in 32 bits\n" -msgstr "" - #: resize/main.c:404 -#, fuzzy, c-format -msgid "New size smaller than minimum (%llu)\n" +#, c-format +msgid "New size smaller than minimum (%u)\n" msgstr "Ukuran baru lebih kecil daripada minimum (%u)\n" #: resize/main.c:410 @@ -5775,28 +5089,27 @@ msgid "Invalid stride length" msgstr "Panjang stride tidak valid" #: resize/main.c:434 -#, fuzzy, c-format +#, c-format msgid "" -"The containing partition (or device) is only %llu (%dk) blocks.\n" -"You requested a new size of %llu blocks.\n" +"The containing partition (or device) is only %u (%dk) blocks.\n" +"You requested a new size of %u blocks.\n" "\n" msgstr "" "Partisi (atau perangkat) hanya berisi %u (%dk) blok.\n" "Anda meminta ukuran baru %u blok.\n" #: resize/main.c:441 -#, fuzzy, c-format +#, c-format msgid "" -"The filesystem is already %llu blocks long. Nothing to do!\n" +"The filesystem is already %u blocks long. Nothing to do!\n" "\n" msgstr "" -"Sistem berkas telah memiliki panjang %u blok. Tidak ada yang harus " -"dilakukan !\n" +"Sistem berkas telah memiliki panjang %u blok. Tidak ada yang harus dilakukan !\n" "\n" #: resize/main.c:456 -#, fuzzy, c-format -msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n" +#, c-format +msgid "Resizing the filesystem on %s to %u (%dk) blocks.\n" msgstr "Mengubah sistem berkas di %s ke %u (%dk) blok.\n" #: resize/main.c:465 @@ -5814,9 +5127,9 @@ msgstr "" "setelah pembatalan operasi pengubahan ukuran.\n" #: resize/main.c:474 -#, fuzzy, c-format +#, c-format msgid "" -"The filesystem on %s is now %llu blocks long.\n" +"The filesystem on %s is now %u blocks long.\n" "\n" msgstr "" "Sistem berkas di %s sekarang memiliki panjang %u blok.\n" @@ -5827,868 +5140,74 @@ msgstr "" msgid "while trying to truncate %s" msgstr "ketika mencoba untuk memotong %s" -#: resize/online.c:40 +#: resize/online.c:37 #, c-format msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" msgstr "Sistem berkas di %s dimount di %s; on-line resizing dibutuhkan\n" -#: resize/online.c:44 -#, fuzzy -msgid "On-line shrinking not supported" +#: resize/online.c:41 +#, c-format +msgid "On-line shrinking from %u to %u not supported.\n" msgstr "On-line shrinking dari %u ke %u tidak dilayani.\n" -#: resize/online.c:63 +#: resize/online.c:61 msgid "Filesystem does not support online resizing" msgstr "Sistem berkas tidak melayani online resizing" -#: resize/online.c:70 +#: resize/online.c:68 #, c-format msgid "while trying to open mountpoint %s" msgstr "ketika mencoba membuka mountpoint %s" -#: resize/online.c:92 resize/online.c:116 +#: resize/online.c:76 msgid "Permission denied to resize filesystem" msgstr "Ijin ditolak ketika mengubah ukuran sistem berkas" -#: resize/online.c:95 resize/online.c:122 -msgid "While checking for on-line resizing support" -msgstr "Ketika memeriksa untuk layanan on-line resizing" - -#: resize/online.c:107 -#, fuzzy -msgid "Kernel does not support resizing a file system this large" -msgstr "Kernel tidak melayani online resizing" - -#: resize/online.c:119 +#: resize/online.c:79 msgid "Kernel does not support online resizing" msgstr "Kernel tidak melayani online resizing" -#: resize/online.c:152 -#, fuzzy, c-format -msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n" +#: resize/online.c:82 +msgid "While checking for on-line resizing support" +msgstr "Ketika memeriksa untuk layanan on-line resizing" + +#: resize/online.c:111 +#, c-format +msgid "Performing an on-line resize of %s to %u (%dk) blocks.\n" msgstr "Menjalankan sebuah on-line resize dari %s ke %u (%dk) blok.\n" -#: resize/online.c:162 +#: resize/online.c:121 msgid "While trying to extend the last group" msgstr "Ketika mencoba untuk mengexten grup terakhir" -#: resize/online.c:216 +#: resize/online.c:180 #, c-format msgid "While trying to add group #%d" msgstr "Ketika mencoba untuk menambahkan grup #%d" -#: resize/online.c:227 +#: resize/online.c:191 #, c-format -msgid "" -"Filesystem at %s is mounted on %s, and on-line resizing is not supported on " -"this system.\n" -msgstr "" -"Sistem berkas di %s dimount di %s, dan on-line resizing tidak disupport di " -"system ini.\n" +msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n" +msgstr "Sistem berkas di %s dimount di %s, dan on-line resizing tidak disupport di system ini.\n" -#: resize/resize2fs.c:348 +#: resize/resize2fs.c:350 #, c-format msgid "inodes (%llu) must be less than %u" msgstr "inode (%llu) harus lebih kecil dari %u" -#: resize/resize2fs.c:576 +#: resize/resize2fs.c:582 msgid "reserved blocks" msgstr "reserved blok" -#: resize/resize2fs.c:789 +#: resize/resize2fs.c:795 msgid "meta-data blocks" msgstr "meta-data blok" -#: resize/resize2fs.c:1735 +#: resize/resize2fs.c:1752 #, c-format msgid "Should never happen: resize inode corrupt!\n" msgstr "Seharusnya tidak pernah terjadi: resize inode corrupt!\n" -#: lib/ext2fs/ext2_err.c:11 -msgid "EXT2FS Library version 1.42.4" -msgstr "" - -#: lib/ext2fs/ext2_err.c:12 -msgid "Wrong magic number for ext2_filsys structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:13 -msgid "Wrong magic number for badblocks_list structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:14 -msgid "Wrong magic number for badblocks_iterate structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:15 -msgid "Wrong magic number for inode_scan structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:16 -msgid "Wrong magic number for io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:17 -msgid "Wrong magic number for unix io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:18 -msgid "Wrong magic number for io_manager structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:19 -msgid "Wrong magic number for block_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:20 -msgid "Wrong magic number for inode_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:21 -msgid "Wrong magic number for generic_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:22 -msgid "Wrong magic number for test io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:23 -msgid "Wrong magic number for directory block list structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:24 -msgid "Wrong magic number for icount structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:25 -msgid "Wrong magic number for Powerquest io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:26 -msgid "Wrong magic number for ext2 file structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:27 -msgid "Wrong magic number for Ext2 Image Header" -msgstr "" - -#: lib/ext2fs/ext2_err.c:28 -msgid "Wrong magic number for inode io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:29 -msgid "Wrong magic number for ext4 extent handle" -msgstr "" - -#: lib/ext2fs/ext2_err.c:30 -#, fuzzy -msgid "Bad magic number in super-block" -msgstr "membaca journal superblock\n" - -#: lib/ext2fs/ext2_err.c:31 -msgid "Filesystem revision too high" -msgstr "" - -#: lib/ext2fs/ext2_err.c:32 -msgid "Attempt to write to filesystem opened read-only" -msgstr "" - -#: lib/ext2fs/ext2_err.c:33 -#, fuzzy -msgid "Can't read group descriptors" -msgstr ", Grup deskripsi di " - -#: lib/ext2fs/ext2_err.c:34 -#, fuzzy -msgid "Can't write group descriptors" -msgstr ", Grup deskripsi di " - -#: lib/ext2fs/ext2_err.c:35 -msgid "Corrupt group descriptor: bad block for block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:36 -msgid "Corrupt group descriptor: bad block for inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:37 -msgid "Corrupt group descriptor: bad block for inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:38 -#, fuzzy -msgid "Can't write an inode bitmap" -msgstr "menulis inode bitmap" - -#: lib/ext2fs/ext2_err.c:39 -#, fuzzy -msgid "Can't read an inode bitmap" -msgstr "menulis inode bitmap" - -#: lib/ext2fs/ext2_err.c:40 -#, fuzzy -msgid "Can't write a block bitmap" -msgstr "membaca inode dan blok bitmap" - -#: lib/ext2fs/ext2_err.c:41 -#, fuzzy -msgid "Can't read a block bitmap" -msgstr "membaca inode dan blok bitmap" - -#: lib/ext2fs/ext2_err.c:42 -#, fuzzy -msgid "Can't write an inode table" -msgstr "ketika menulis tabel inode" - -#: lib/ext2fs/ext2_err.c:43 -#, fuzzy -msgid "Can't read an inode table" -msgstr "Memeriksa tabel inode" - -#: lib/ext2fs/ext2_err.c:44 -msgid "Can't read next inode" -msgstr "" - -#: lib/ext2fs/ext2_err.c:45 -#, fuzzy -msgid "Filesystem has unexpected block size" -msgstr "Sistem berkas lebih besar dari ukuran perangkat yang terlihat." - -#: lib/ext2fs/ext2_err.c:46 -msgid "EXT2 directory corrupted" -msgstr "" - -#: lib/ext2fs/ext2_err.c:47 -msgid "Attempt to read block from filesystem resulted in short read" -msgstr "" - -#: lib/ext2fs/ext2_err.c:48 -msgid "Attempt to write block to filesystem resulted in short write" -msgstr "" - -#: lib/ext2fs/ext2_err.c:49 -msgid "No free space in the directory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:50 -#, fuzzy -msgid "Inode bitmap not loaded" -msgstr ", Inode bitmap di " - -#: lib/ext2fs/ext2_err.c:51 -#, fuzzy -msgid "Block bitmap not loaded" -msgstr " Blok bitmap di " - -#: lib/ext2fs/ext2_err.c:52 -#, fuzzy -msgid "Illegal inode number" -msgstr "Nomor dari block tidak legal!\n" - -#: lib/ext2fs/ext2_err.c:53 -#, fuzzy -msgid "Illegal block number" -msgstr "Nomor dari block tidak legal!\n" - -#: lib/ext2fs/ext2_err.c:54 -msgid "Internal error in ext2fs_expand_dir" -msgstr "" - -#: lib/ext2fs/ext2_err.c:55 -#, fuzzy -msgid "Not enough space to build proposed filesystem" -msgstr "Tidak cukup ruang untuk meningkatkan ukuran inode \n" - -#: lib/ext2fs/ext2_err.c:56 -msgid "Illegal block number passed to ext2fs_mark_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:57 -msgid "Illegal block number passed to ext2fs_unmark_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:58 -msgid "Illegal block number passed to ext2fs_test_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:59 -msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:60 -msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:61 -msgid "Illegal inode number passed to ext2fs_test_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:62 -msgid "Attempt to fudge end of block bitmap past the real end" -msgstr "" - -#: lib/ext2fs/ext2_err.c:63 -msgid "Attempt to fudge end of inode bitmap past the real end" -msgstr "" - -#: lib/ext2fs/ext2_err.c:64 -#, fuzzy -msgid "Illegal indirect block found" -msgstr "blok tidak langsung berdua" - -#: lib/ext2fs/ext2_err.c:65 -#, fuzzy -msgid "Illegal doubly indirect block found" -msgstr "blok tidak langsung berdua" - -#: lib/ext2fs/ext2_err.c:66 -#, fuzzy -msgid "Illegal triply indirect block found" -msgstr "blok tidak langsung bertiga" - -#: lib/ext2fs/ext2_err.c:67 -#, fuzzy -msgid "Block bitmaps are not the same" -msgstr " Blok bitmap di " - -#: lib/ext2fs/ext2_err.c:68 -#, fuzzy -msgid "Inode bitmaps are not the same" -msgstr ", Inode bitmap di " - -#: lib/ext2fs/ext2_err.c:69 -msgid "Illegal or malformed device name" -msgstr "" - -#: lib/ext2fs/ext2_err.c:70 -msgid "A block group is missing an inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:71 -msgid "The ext2 superblock is corrupt" -msgstr "" - -#: lib/ext2fs/ext2_err.c:72 -msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:73 -msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:74 -msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:75 -msgid "Too many symbolic links encountered." -msgstr "" - -#: lib/ext2fs/ext2_err.c:76 -msgid "The callback function will not handle this case" -msgstr "" - -#: lib/ext2fs/ext2_err.c:77 -msgid "The inode is from a bad block in the inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:78 -#, fuzzy -msgid "Filesystem has unsupported feature(s)" -msgstr "%s memiliki feature yang tidak disupport:" - -#: lib/ext2fs/ext2_err.c:79 -#, fuzzy -msgid "Filesystem has unsupported read-only feature(s)" -msgstr "%s memiliki feature yang tidak disupport:" - -#: lib/ext2fs/ext2_err.c:80 -msgid "IO Channel failed to seek on read or write" -msgstr "" - -#: lib/ext2fs/ext2_err.c:81 -#, fuzzy -msgid "Memory allocation failed" -msgstr "Aerror mengalokasikan" - -#: lib/ext2fs/ext2_err.c:82 -msgid "Invalid argument passed to ext2 library" -msgstr "" - -#: lib/ext2fs/ext2_err.c:83 -#, fuzzy -msgid "Could not allocate block in ext2 filesystem" -msgstr "Tidak dapat mengalokasikan memori untuk tipe sistem berkas\n" - -#: lib/ext2fs/ext2_err.c:84 -#, fuzzy -msgid "Could not allocate inode in ext2 filesystem" -msgstr "Tidak dapat mengalokasikan memori untuk tipe sistem berkas\n" - -#: lib/ext2fs/ext2_err.c:85 -msgid "Ext2 inode is not a directory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:86 -msgid "Too many references in table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:87 -msgid "File not found by ext2_lookup" -msgstr "" - -#: lib/ext2fs/ext2_err.c:88 -msgid "File open read-only" -msgstr "" - -#: lib/ext2fs/ext2_err.c:89 -#, fuzzy -msgid "Ext2 directory block not found" -msgstr "Direktori block %u (#%d) kosong dalam inode %u\n" - -#: lib/ext2fs/ext2_err.c:90 -msgid "Ext2 directory already exists" -msgstr "" - -#: lib/ext2fs/ext2_err.c:91 -msgid "Unimplemented ext2 library function" -msgstr "" - -#: lib/ext2fs/ext2_err.c:92 -msgid "User cancel requested" -msgstr "" - -#: lib/ext2fs/ext2_err.c:93 -msgid "Ext2 file too big" -msgstr "" - -#: lib/ext2fs/ext2_err.c:94 -#, fuzzy -msgid "Supplied journal device not a block device" -msgstr "Menggunakan perangkat jurnal ukuranblok: %d\n" - -#: lib/ext2fs/ext2_err.c:95 -#, fuzzy -msgid "Journal superblock not found" -msgstr "Jurnal superblok tidak ditemukan!\n" - -#: lib/ext2fs/ext2_err.c:96 -msgid "Journal must be at least 1024 blocks" -msgstr "" - -#: lib/ext2fs/ext2_err.c:97 -msgid "Unsupported journal version" -msgstr "" - -#: lib/ext2fs/ext2_err.c:98 -#, fuzzy -msgid "Error loading external journal" -msgstr "ketika mencoba membuka jurnal external" - -#: lib/ext2fs/ext2_err.c:99 -#, fuzzy -msgid "Journal not found" -msgstr "Jurnal superblok tidak ditemukan!\n" - -#: lib/ext2fs/ext2_err.c:100 -msgid "Directory hash unsupported" -msgstr "" - -#: lib/ext2fs/ext2_err.c:101 -#, fuzzy -msgid "Illegal extended attribute block number" -msgstr "aextended attribute" - -#: lib/ext2fs/ext2_err.c:102 -msgid "Cannot create filesystem with requested number of inodes" -msgstr "" - -#: lib/ext2fs/ext2_err.c:103 -msgid "E2image snapshot not in use" -msgstr "" - -#: lib/ext2fs/ext2_err.c:104 -#, fuzzy -msgid "Too many reserved group descriptor blocks" -msgstr "" - -#: lib/ext2fs/ext2_err.c:105 -msgid "Resize inode is corrupt" -msgstr "" - -#: lib/ext2fs/ext2_err.c:106 -#, fuzzy -msgid "Tried to set block bmap with missing indirect block" -msgstr "" -"Gagal untuk mengalokasikan bitmap blok ketika meningkatkan ukuran inode\n" - -#: lib/ext2fs/ext2_err.c:107 -msgid "TDB: Success" -msgstr "" - -#: lib/ext2fs/ext2_err.c:108 -msgid "TDB: Corrupt database" -msgstr "" - -#: lib/ext2fs/ext2_err.c:109 -msgid "TDB: IO Error" -msgstr "" - -#: lib/ext2fs/ext2_err.c:110 -msgid "TDB: Locking error" -msgstr "" - -#: lib/ext2fs/ext2_err.c:111 -msgid "TDB: Out of memory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:112 -msgid "TDB: Record exists" -msgstr "" - -#: lib/ext2fs/ext2_err.c:113 -msgid "TDB: Lock exists on other keys" -msgstr "" - -#: lib/ext2fs/ext2_err.c:114 -#, fuzzy -msgid "TDB: Invalid parameter" -msgstr "Parameter stride tidak valid: %s\n" - -#: lib/ext2fs/ext2_err.c:115 -msgid "TDB: Record does not exist" -msgstr "" - -#: lib/ext2fs/ext2_err.c:116 -msgid "TDB: Write not permitted" -msgstr "" - -#: lib/ext2fs/ext2_err.c:117 -msgid "Ext2fs directory block list is empty" -msgstr "" - -#: lib/ext2fs/ext2_err.c:118 -msgid "Attempt to modify a block mapping via a read-only block iterator" -msgstr "" - -#: lib/ext2fs/ext2_err.c:119 -msgid "Wrong magic number for ext4 extent saved path" -msgstr "" - -#: lib/ext2fs/ext2_err.c:120 -msgid "Wrong magic number for 64-bit generic bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:121 -msgid "Wrong magic number for 64-bit block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:122 -msgid "Wrong magic number for 64-bit inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:123 -msgid "Wrong magic number --- RESERVED_13" -msgstr "" - -#: lib/ext2fs/ext2_err.c:124 -msgid "Wrong magic number --- RESERVED_14" -msgstr "" - -#: lib/ext2fs/ext2_err.c:125 -msgid "Wrong magic number --- RESERVED_15" -msgstr "" - -#: lib/ext2fs/ext2_err.c:126 -msgid "Wrong magic number --- RESERVED_16" -msgstr "" - -#: lib/ext2fs/ext2_err.c:127 -msgid "Wrong magic number --- RESERVED_17" -msgstr "" - -#: lib/ext2fs/ext2_err.c:128 -msgid "Wrong magic number --- RESERVED_18" -msgstr "" - -#: lib/ext2fs/ext2_err.c:129 -msgid "Wrong magic number --- RESERVED_19" -msgstr "" - -#: lib/ext2fs/ext2_err.c:130 -msgid "Corrupt extent header" -msgstr "" - -#: lib/ext2fs/ext2_err.c:131 -msgid "Corrupt extent index" -msgstr "" - -#: lib/ext2fs/ext2_err.c:132 -msgid "Corrupt extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:133 -msgid "No free space in extent map" -msgstr "" - -#: lib/ext2fs/ext2_err.c:134 -msgid "Inode does not use extents" -msgstr "" - -#: lib/ext2fs/ext2_err.c:135 -#, fuzzy -msgid "No 'next' extent" -msgstr "xextent" - -#: lib/ext2fs/ext2_err.c:136 -msgid "No 'previous' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:137 -msgid "No 'up' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:138 -msgid "No 'down' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:139 -msgid "No current node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:140 -msgid "Ext2fs operation not supported" -msgstr "" - -#: lib/ext2fs/ext2_err.c:141 -msgid "No room to insert extent in node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:142 -msgid "Splitting would result in empty node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:143 -#, fuzzy -msgid "Extent not found" -msgstr "/@l tidak ditemukan. " - -#: lib/ext2fs/ext2_err.c:144 -msgid "Operation not supported for inodes containing extents" -msgstr "" - -#: lib/ext2fs/ext2_err.c:145 -msgid "Extent length is invalid" -msgstr "" - -#: lib/ext2fs/ext2_err.c:146 -msgid "I/O Channel does not support 64-bit block numbers" -msgstr "" - -#: lib/ext2fs/ext2_err.c:147 -msgid "Can't check if filesystem is mounted due to missing mtab file" -msgstr "" - -#: lib/ext2fs/ext2_err.c:148 -msgid "Filesystem too large to use legacy bitmaps" -msgstr "" - -#: lib/ext2fs/ext2_err.c:149 -msgid "MMP: invalid magic number" -msgstr "" - -#: lib/ext2fs/ext2_err.c:150 -msgid "MMP: device currently active" -msgstr "" - -#: lib/ext2fs/ext2_err.c:151 -msgid "MMP: fsck being run" -msgstr "" - -#: lib/ext2fs/ext2_err.c:152 -msgid "MMP: block number beyond filesystem range" -msgstr "" - -#: lib/ext2fs/ext2_err.c:153 -msgid "MMP: undergoing an unknown operation" -msgstr "" - -#: lib/ext2fs/ext2_err.c:154 -msgid "MMP: filesystem still in use" -msgstr "" - -#: lib/ext2fs/ext2_err.c:155 -msgid "MMP: open with O_DIRECT failed" -msgstr "" - -#: e2fsck/prof_err.c:11 -msgid "Profile version 0.0" -msgstr "" - -#: e2fsck/prof_err.c:12 -msgid "Bad magic value in profile_node" -msgstr "" - -#: e2fsck/prof_err.c:13 -#, fuzzy -msgid "Profile section not found" -msgstr "ketika membuat /lost+found" - -#: e2fsck/prof_err.c:14 -#, fuzzy -msgid "Profile relation not found" -msgstr "ketika membuat /lost+found" - -#: e2fsck/prof_err.c:15 -msgid "Attempt to add a relation to node which is not a section" -msgstr "" - -#: e2fsck/prof_err.c:16 -msgid "A profile section header has a non-zero value" -msgstr "" - -#: e2fsck/prof_err.c:17 -msgid "Bad linked list in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:18 -msgid "Bad group level in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:19 -msgid "Bad parent pointer in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:20 -msgid "Bad magic value in profile iterator" -msgstr "" - -#: e2fsck/prof_err.c:21 -msgid "Can't set value on section node" -msgstr "" - -#: e2fsck/prof_err.c:22 -msgid "Invalid argument passed to profile library" -msgstr "" - -#: e2fsck/prof_err.c:23 -msgid "Attempt to modify read-only profile" -msgstr "" - -#: e2fsck/prof_err.c:24 -msgid "Profile section header not at top level" -msgstr "" - -#: e2fsck/prof_err.c:25 -msgid "Syntax error in profile section header" -msgstr "" - -#: e2fsck/prof_err.c:26 -msgid "Syntax error in profile relation" -msgstr "" - -#: e2fsck/prof_err.c:27 -msgid "Extra closing brace in profile" -msgstr "" - -#: e2fsck/prof_err.c:28 -msgid "Missing open brace in profile" -msgstr "" - -#: e2fsck/prof_err.c:29 -msgid "Bad magic value in profile_t" -msgstr "" - -#: e2fsck/prof_err.c:30 -msgid "Bad magic value in profile_section_t" -msgstr "" - -#: e2fsck/prof_err.c:31 -msgid "Iteration through all top level section not supported" -msgstr "" - -#: e2fsck/prof_err.c:32 -#, fuzzy -msgid "Invalid profile_section object" -msgstr "Pilihan sistem berkas tidak valid diset: %s\n" - -#: e2fsck/prof_err.c:33 -msgid "No more sections" -msgstr "" - -#: e2fsck/prof_err.c:34 -msgid "Bad nameset passed to query routine" -msgstr "" - -#: e2fsck/prof_err.c:35 -msgid "No profile file open" -msgstr "" - -#: e2fsck/prof_err.c:36 -msgid "Bad magic value in profile_file_t" -msgstr "" - -#: e2fsck/prof_err.c:37 -#, fuzzy -msgid "Couldn't open profile file" -msgstr "Tidak dapat menyalin file: %m\n" - -#: e2fsck/prof_err.c:38 -msgid "Section already exists" -msgstr "" - -#: e2fsck/prof_err.c:39 -msgid "Invalid boolean value" -msgstr "" - -#: e2fsck/prof_err.c:40 -#, fuzzy -msgid "Invalid integer value" -msgstr "Panjang stride tidak valid" - -#: e2fsck/prof_err.c:41 -msgid "Bad magic value in profile_file_data_t" -msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "@g %g @b @B uninitialized but @i @B in use.\n" -#~ msgstr "@g %g @b @B tidak terinitialisasi tetapi @i @B sedang digunakan.\n" - -#~ msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" -#~ msgstr "@i %i seharusnya EOFBLOCKS_FL tidak aktif (ukuran %Is, lblk %r)\n" - -#~ msgid "%s is mounted. " -#~ msgstr "%s sedang dimount. " - -#~ msgid "Couldn't determine journal size" -#~ msgstr "Tidak dapat menentukan ukuran jurnal" - -#~ msgid "short write (only %d bytes) for writing image header" -#~ msgstr "menulis pendek (hanya %d bytes) untuk menulis header image" - -#~ msgid "invalid fragment size - %s" -#~ msgstr "ukuran potongan/fragmen tidak valid - %s" - -#~ msgid "Warning: fragments not supported. Ignoring -f option\n" -#~ msgstr "Peringatan: fragment tidak dilayani. Mengabaikan pilihan -f\n" - -#~ msgid "Calling BLKDISCARD from %llu to %llu " -#~ msgstr "Memanggil BLKDISCARD dari %llu ke %llu " - -#~ msgid "succeeded.\n" -#~ msgstr "berhasil.\n" - -#~ msgid "Journal NOT removed\n" -#~ msgstr "Jurnal TIDAK dihapus\n" - -#~ msgid "#\t\t %u -> %u (%d)\n" -#~ msgstr "#\t\t %u -> %u (%d)\n" - #~ msgid "Setting sistem berkas feature '%s' not supported.\n" #~ msgstr "Menset sistem berkas feature '%s' tidak dilayani.\n" @@ -6707,6 +5226,9 @@ msgstr "" #~ msgid "while retrying to write block bitmaps for %s" #~ msgstr "ketika sedang mencoba untuk menulis blok bitmap untuk %s" +#~ msgid "writing inode bitmaps" +#~ msgstr "menulis inode bitmap" + #~ msgid "%s failed for %s: %s\n" #~ msgstr "%s gagal untuk %s: %s\n" diff --git a/po/it.gmo b/po/it.gmo index 8b8311cd..47e0da31 100644 Binary files a/po/it.gmo and b/po/it.gmo differ diff --git a/po/it.po b/po/it.po index 48a0b006..144d8d2e 100644 --- a/po/it.po +++ b/po/it.po @@ -66,721 +66,693 @@ msgid "" msgstr "" "Project-Id-Version: e2fsprogs 1.36-b2\n" "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n" -"POT-Creation-Date: 2012-06-12 14:40-0400\n" +"POT-Creation-Date: 2009-01-26 20:41-0500\n" "PO-Revision-Date: 2005-01-18 17:52+0100\n" "Last-Translator: Andrea Spadaccini \n" "Language-Team: Italian \n" -"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: e2fsck/badblocks.c:23 misc/mke2fs.c:176 +#: e2fsck/badblocks.c:22 misc/mke2fs.c:165 #, c-format msgid "Bad block %u out of range; ignored.\n" msgstr "Blocco non valido %u fuori dall'intervallo; ignorato.\n" -#: e2fsck/badblocks.c:46 +#: e2fsck/badblocks.c:45 msgid "while sanity checking the bad blocks inode" msgstr "durante il controllo sull'integrità dell'inode numero 1" -#: e2fsck/badblocks.c:58 +#: e2fsck/badblocks.c:57 msgid "while reading the bad blocks inode" msgstr "durante la lettura dell'inode numero 1" -#: e2fsck/badblocks.c:72 e2fsck/iscan.c:110 e2fsck/scantest.c:107 -#: e2fsck/unix.c:1298 e2fsck/unix.c:1386 misc/badblocks.c:1214 -#: misc/badblocks.c:1222 misc/badblocks.c:1236 misc/badblocks.c:1248 -#: misc/dumpe2fs.c:588 misc/e2image.c:1189 misc/e2image.c:1307 -#: misc/e2image.c:1320 misc/mke2fs.c:192 misc/tune2fs.c:1907 resize/main.c:303 +#: e2fsck/badblocks.c:71 e2fsck/iscan.c:112 e2fsck/scantest.c:109 +#: e2fsck/unix.c:1037 e2fsck/unix.c:1120 misc/badblocks.c:1148 +#: misc/badblocks.c:1156 misc/badblocks.c:1170 misc/badblocks.c:1182 +#: misc/dumpe2fs.c:505 misc/e2image.c:576 misc/e2image.c:672 +#: misc/e2image.c:688 misc/mke2fs.c:181 misc/tune2fs.c:1515 resize/main.c:309 #, c-format msgid "while trying to open %s" msgstr "durante l'apertura di %s" -#: e2fsck/badblocks.c:83 +#: e2fsck/badblocks.c:82 #, c-format msgid "while trying popen '%s'" msgstr "provando ad effettuare il popen di '%s'" -#: e2fsck/badblocks.c:94 misc/mke2fs.c:199 +#: e2fsck/badblocks.c:93 misc/mke2fs.c:188 msgid "while reading in list of bad blocks from file" msgstr "durante la lettura della lista di blocchi non validi da file" -#: e2fsck/badblocks.c:105 +#: e2fsck/badblocks.c:104 msgid "while updating bad block inode" msgstr "aggiornando l'inode di un blocco difettoso" -#: e2fsck/badblocks.c:131 +#: e2fsck/badblocks.c:130 #, fuzzy, c-format msgid "Warning: illegal block %u found in bad block inode. Cleared.\n" msgstr "" "Attenzione blocco illegale %u trovato nell'inode di un blocco difettoso. " "Azzerato.\n" -#: e2fsck/ehandler.c:55 +#: e2fsck/ehandler.c:54 #, c-format msgid "Error reading block %lu (%s) while %s. " msgstr "Errore durante la lettura del blocco %lu (%s) durante %s. " -#: e2fsck/ehandler.c:58 +#: e2fsck/ehandler.c:57 #, c-format msgid "Error reading block %lu (%s). " msgstr "Errore durante la lettura del blocco %lu (%s). " -#: e2fsck/ehandler.c:61 e2fsck/ehandler.c:110 +#: e2fsck/ehandler.c:60 e2fsck/ehandler.c:109 msgid "Ignore error" msgstr "Ignora l'errore" -#: e2fsck/ehandler.c:62 +#: e2fsck/ehandler.c:61 msgid "Force rewrite" msgstr "Forza la riscrittura" -#: e2fsck/ehandler.c:104 +#: e2fsck/ehandler.c:103 #, c-format msgid "Error writing block %lu (%s) while %s. " msgstr "Errore durante la scrittura del blocco %lu (%s) mentre %s." -#: e2fsck/ehandler.c:107 +#: e2fsck/ehandler.c:106 #, c-format msgid "Error writing block %lu (%s). " msgstr "Errore durante la scrittura del blocco %lu (%s). " -#: e2fsck/emptydir.c:57 +#: e2fsck/emptydir.c:56 msgid "empty dirblocks" msgstr "blocchi directory vuoti" -#: e2fsck/emptydir.c:62 +#: e2fsck/emptydir.c:61 msgid "empty dir map" msgstr "mappa directory vuota" -#: e2fsck/emptydir.c:98 +#: e2fsck/emptydir.c:97 #, fuzzy, c-format msgid "Empty directory block %u (#%d) in inode %u\n" msgstr "Blocco directory %d (#%d) vuoto nell'inode %d\n" -#: e2fsck/extend.c:22 +#: e2fsck/extend.c:21 #, c-format msgid "%s: %s filename nblocks blocksize\n" msgstr "%s: %s nomefile nblocchi dim_blocco\n" -#: e2fsck/extend.c:44 +#: e2fsck/extend.c:43 #, c-format msgid "Illegal number of blocks!\n" msgstr "Numero di blocchi non valido!\n" -#: e2fsck/extend.c:50 +#: e2fsck/extend.c:49 #, c-format msgid "Couldn't allocate block buffer (size=%d)\n" msgstr "Impossibile allocare il buffer blocco (dimensione=%d)\n" -#: e2fsck/flushb.c:35 +#: e2fsck/flushb.c:34 #, c-format msgid "Usage: %s disk\n" msgstr "Utilizzo: %s disco\n" -#: e2fsck/flushb.c:64 +#: e2fsck/flushb.c:63 #, c-format msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n" msgstr "Ioctl BLKFLSBUF non supportato! Impossibile svuotare i buffer.\n" -#: e2fsck/iscan.c:44 +#: e2fsck/iscan.c:46 #, c-format msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n" msgstr "Utilizzo: %s [-F] [-I blocchi_buffer_inode] device\n" -#: e2fsck/iscan.c:81 e2fsck/unix.c:930 +#: e2fsck/iscan.c:83 e2fsck/unix.c:818 #, c-format msgid "while opening %s for flushing" msgstr "aprendo %s per lo svuotamento" -#: e2fsck/iscan.c:86 e2fsck/unix.c:936 resize/main.c:276 +#: e2fsck/iscan.c:88 e2fsck/unix.c:824 resize/main.c:285 #, c-format msgid "while trying to flush %s" msgstr "provando a svuotare %s" -#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1084 +#: e2fsck/iscan.c:121 e2fsck/scantest.c:116 misc/e2image.c:482 msgid "while opening inode scan" msgstr "avviando la scansione degli inode" -#: e2fsck/iscan.c:127 misc/e2image.c:1102 +#: e2fsck/iscan.c:129 misc/e2image.c:500 msgid "while getting next inode" msgstr "leggendo l'inode successivo" -#: e2fsck/iscan.c:136 +#: e2fsck/iscan.c:138 #, fuzzy, c-format msgid "%u inodes scanned.\n" msgstr "%d inode analizzati.\n" -#: e2fsck/journal.c:512 +#: e2fsck/journal.c:507 msgid "reading journal superblock\n" msgstr "lettura del superblocco del journal\n" -#: e2fsck/journal.c:569 +#: e2fsck/journal.c:564 #, c-format msgid "%s: no valid journal superblock found\n" msgstr "%s: non è stato trovato un superblocco valido del journal\n" -#: e2fsck/journal.c:578 +#: e2fsck/journal.c:573 #, c-format msgid "%s: journal too short\n" msgstr "%s: journal troppo corto\n" -#: e2fsck/journal.c:870 +#: e2fsck/journal.c:858 #, c-format msgid "%s: recovering journal\n" msgstr "%s: ripristino del journal\n" -#: e2fsck/journal.c:872 +#: e2fsck/journal.c:860 #, c-format msgid "%s: won't do journal recovery while read-only\n" msgstr "%s: impossibile ripritinare il journal in modalità sola lettura\n" -#: e2fsck/journal.c:899 +#: e2fsck/journal.c:881 #, c-format msgid "while trying to re-open %s" msgstr "durante la riapertura di %s" -#: e2fsck/message.c:113 +#: e2fsck/message.c:110 msgid "aextended attribute" msgstr "aattributo esteso" -#: e2fsck/message.c:114 +#: e2fsck/message.c:111 msgid "Aerror allocating" msgstr "Aerrore allocando" -#: e2fsck/message.c:115 +#: e2fsck/message.c:112 msgid "bblock" msgstr "bblocco" -#: e2fsck/message.c:116 +#: e2fsck/message.c:113 msgid "Bbitmap" msgstr "Bmappa dei bit" -#: e2fsck/message.c:117 +#: e2fsck/message.c:114 msgid "ccompress" msgstr "ccomprimi" -#: e2fsck/message.c:118 +#: e2fsck/message.c:115 msgid "Cconflicts with some other fs @b" msgstr "Centra in conflitto con altri @b(i) del fs" -#: e2fsck/message.c:119 +#: e2fsck/message.c:116 msgid "iinode" msgstr "iinode" -#: e2fsck/message.c:120 +#: e2fsck/message.c:117 msgid "Iillegal" msgstr "Iillegale" -#: e2fsck/message.c:121 +#: e2fsck/message.c:118 msgid "jjournal" msgstr "jjournal" -#: e2fsck/message.c:122 +#: e2fsck/message.c:119 msgid "Ddeleted" msgstr "Dcancellato" -#: e2fsck/message.c:123 +#: e2fsck/message.c:120 msgid "ddirectory" msgstr "ddirectory" -#: e2fsck/message.c:124 +#: e2fsck/message.c:121 msgid "eentry" msgstr "eelemento" -#: e2fsck/message.c:125 +#: e2fsck/message.c:122 msgid "E@e '%Dn' in %p (%i)" msgstr "E@e '%Dn' in %p (%i)" -#: e2fsck/message.c:126 +#: e2fsck/message.c:123 msgid "ffilesystem" msgstr "ffilesystem" -#: e2fsck/message.c:127 +#: e2fsck/message.c:124 msgid "Ffor @i %i (%Q) is" msgstr "Fper l'@i %i (%Q) è" -#: e2fsck/message.c:128 +#: e2fsck/message.c:125 msgid "ggroup" msgstr "ggruppo" -#: e2fsck/message.c:129 +#: e2fsck/message.c:126 msgid "hHTREE @d @i" msgstr "h@i della @d HTREE" -#: e2fsck/message.c:130 +#: e2fsck/message.c:127 msgid "llost+found" msgstr "llost+found" -#: e2fsck/message.c:131 +#: e2fsck/message.c:128 msgid "Lis a link" msgstr "Lè un collegamento" -#: e2fsck/message.c:132 +#: e2fsck/message.c:129 #, fuzzy msgid "mmultiply-claimed" msgstr "mappa degli inode richiesta più volte" -#: e2fsck/message.c:133 +#: e2fsck/message.c:130 msgid "ninvalid" msgstr "" -#: e2fsck/message.c:134 +#: e2fsck/message.c:131 msgid "oorphaned" msgstr "oorfano" -#: e2fsck/message.c:135 +#: e2fsck/message.c:132 msgid "pproblem in" msgstr "pproblema in" -#: e2fsck/message.c:136 -msgid "qquota" -msgstr "" - -#: e2fsck/message.c:137 +#: e2fsck/message.c:133 msgid "rroot @i" msgstr "r@i root" -#: e2fsck/message.c:138 +#: e2fsck/message.c:134 msgid "sshould be" msgstr "sdovrebbe essere" -#: e2fsck/message.c:139 +#: e2fsck/message.c:135 msgid "Ssuper@b" msgstr "Ssuper@b" -#: e2fsck/message.c:140 +#: e2fsck/message.c:136 msgid "uunattached" msgstr "" -#: e2fsck/message.c:141 +#: e2fsck/message.c:137 msgid "vdevice" msgstr "vdevice" -#: e2fsck/message.c:142 +#: e2fsck/message.c:138 #, fuzzy msgid "xextent" msgstr "eelemento" -#: e2fsck/message.c:143 +#: e2fsck/message.c:139 msgid "zzero-length" msgstr "zlunghezza-zero" -#: e2fsck/message.c:154 +#: e2fsck/message.c:150 msgid "" msgstr "" -#: e2fsck/message.c:155 +#: e2fsck/message.c:151 msgid "" msgstr "" -#: e2fsck/message.c:157 -#, fuzzy -msgid "" -msgstr "" +#: e2fsck/message.c:153 +msgid "" +msgstr "" -#: e2fsck/message.c:158 -#, fuzzy -msgid "" -msgstr "" +#: e2fsck/message.c:154 +msgid "" +msgstr "" -#: e2fsck/message.c:159 +#: e2fsck/message.c:155 msgid "" msgstr "" -#: e2fsck/message.c:160 +#: e2fsck/message.c:156 msgid "" msgstr "" -#: e2fsck/message.c:161 +#: e2fsck/message.c:157 msgid "" msgstr "" -#: e2fsck/message.c:162 +#: e2fsck/message.c:158 msgid "" msgstr "" -#: e2fsck/message.c:163 +#: e2fsck/message.c:159 msgid "" msgstr "" -#: e2fsck/message.c:164 +#: e2fsck/message.c:160 msgid "" msgstr "" -#: e2fsck/message.c:333 -#, fuzzy +#: e2fsck/message.c:323 +#, fuzzy, c-format msgid "regular file" msgstr "mappa degli inode dei file regolari" -#: e2fsck/message.c:335 -#, fuzzy +#: e2fsck/message.c:325 +#, fuzzy, c-format msgid "directory" msgstr "ddirectory" -#: e2fsck/message.c:337 +#: e2fsck/message.c:327 +#, c-format msgid "character device" msgstr "" -#: e2fsck/message.c:339 -#, fuzzy +#: e2fsck/message.c:329 +#, fuzzy, c-format msgid "block device" msgstr "vdevice" -#: e2fsck/message.c:341 +#: e2fsck/message.c:331 +#, c-format msgid "named pipe" msgstr "" -#: e2fsck/message.c:343 +#: e2fsck/message.c:333 +#, c-format msgid "symbolic link" msgstr "" -#: e2fsck/message.c:345 misc/uuidd.c:161 +#: e2fsck/message.c:335 +#, c-format msgid "socket" msgstr "" -#: e2fsck/message.c:347 +#: e2fsck/message.c:337 #, c-format msgid "unknown file type with mode 0%o" msgstr "" -#: e2fsck/message.c:423 -#, fuzzy -msgid "indirect block" -msgstr "lettura dei blocchi indiretti dell'inode %u" - -#: e2fsck/message.c:425 -#, fuzzy -msgid "double indirect block" -msgstr "lettura dei blocchi indiretti dell'inode %u" - -#: e2fsck/message.c:427 -#, fuzzy -msgid "triple indirect block" -msgstr "lettura dei blocchi indiretti dell'inode %u" - -#: e2fsck/message.c:429 -#, fuzzy -msgid "translator block" -msgstr "Rilocazione dei blocchi" - -#: e2fsck/message.c:431 -#, fuzzy -msgid "block #" -msgstr "bblocco" - -#: e2fsck/pass1b.c:222 +#: e2fsck/pass1b.c:215 msgid "multiply claimed inode map" msgstr "mappa degli inode richiesta più volte" -#: e2fsck/pass1b.c:610 e2fsck/pass1b.c:729 +#: e2fsck/pass1b.c:567 e2fsck/pass1b.c:700 #, fuzzy, c-format -msgid "internal error: can't find dup_blk for %llu\n" +msgid "internal error: can't find dup_blk for %u\n" msgstr "errore interno; impossibile trovare dup_blk per %d\n" -#: e2fsck/pass1b.c:820 +#: e2fsck/pass1b.c:743 msgid "returned from clone_file_block" msgstr "ritornato da clone_file_block" -#: e2fsck/pass1b.c:842 +#: e2fsck/pass1b.c:762 #, fuzzy, c-format -msgid "internal error: couldn't lookup EA block record for %llu" +msgid "internal error: couldn't lookup EA block record for %u" msgstr "Errore interno: impossibile trovare dir_info per %i.\n" -#: e2fsck/pass1b.c:854 +#: e2fsck/pass1b.c:774 #, fuzzy, c-format msgid "internal error: couldn't lookup EA inode record for %u" msgstr "Errore interno: impossibile trovare dir_info per %i.\n" -#: e2fsck/pass1.c:476 e2fsck/pass2.c:782 +#: e2fsck/pass1.c:430 e2fsck/pass2.c:780 #, fuzzy msgid "reading directory block" msgstr "lettura dei blocchi indiretti dell'inode %u" -#: e2fsck/pass1.c:599 +#: e2fsck/pass1.c:552 msgid "in-use inode map" msgstr "mappa degli inode in utilizzo" -#: e2fsck/pass1.c:610 +#: e2fsck/pass1.c:561 msgid "directory inode map" msgstr "mappa degli inode delle directory" -#: e2fsck/pass1.c:620 +#: e2fsck/pass1.c:569 msgid "regular file inode map" msgstr "mappa degli inode dei file regolari" -#: e2fsck/pass1.c:629 +#: e2fsck/pass1.c:576 msgid "in-use block map" msgstr "mappa dei blocchi in utilizzo" -#: e2fsck/pass1.c:696 +#: e2fsck/pass1.c:630 #, fuzzy msgid "opening inode scan" msgstr "scansione degli inode" -#: e2fsck/pass1.c:730 +#: e2fsck/pass1.c:654 #, fuzzy msgid "getting next inode from scan" msgstr "leggendo l'inode successivo" -#: e2fsck/pass1.c:1240 +#: e2fsck/pass1.c:1122 msgid "Pass 1" msgstr "Passo 1" -#: e2fsck/pass1.c:1297 +#: e2fsck/pass1.c:1181 #, c-format msgid "reading indirect blocks of inode %u" msgstr "lettura dei blocchi indiretti dell'inode %u" -#: e2fsck/pass1.c:1347 +#: e2fsck/pass1.c:1225 msgid "bad inode map" msgstr "mappa degli inode non valida" -#: e2fsck/pass1.c:1370 +#: e2fsck/pass1.c:1247 msgid "inode in bad block map" msgstr "inode nella mappa dei blocchi difettosi" -#: e2fsck/pass1.c:1390 +#: e2fsck/pass1.c:1267 msgid "imagic inode map" msgstr "mappa degli inode imagic" -#: e2fsck/pass1.c:1417 +#: e2fsck/pass1.c:1294 msgid "multiply claimed block map" msgstr "mappa dei blocchi richiesta più volte" -#: e2fsck/pass1.c:1518 +#: e2fsck/pass1.c:1393 msgid "ext attr block map" msgstr "" -#: e2fsck/pass1.c:2266 +#: e2fsck/pass1.c:2134 #, c-format msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n" msgstr "" -#: e2fsck/pass1.c:2627 +#: e2fsck/pass1.c:2449 msgid "block bitmap" msgstr "mappa dei bit del blocco" -#: e2fsck/pass1.c:2633 +#: e2fsck/pass1.c:2453 msgid "inode bitmap" msgstr "mappa dei bit dell'inode" -#: e2fsck/pass1.c:2639 +#: e2fsck/pass1.c:2457 msgid "inode table" msgstr "tavola degli inode" -#: e2fsck/pass2.c:283 +#: e2fsck/pass2.c:284 msgid "Pass 2" msgstr "Passo 2" -#: e2fsck/pass2.c:805 +#: e2fsck/pass2.c:803 #, fuzzy msgid "Can not continue." msgstr "" "Impossibile continuare, operazione annullata.\n" "\n" -#: e2fsck/pass3.c:77 +#: e2fsck/pass3.c:79 msgid "inode done bitmap" msgstr "" -#: e2fsck/pass3.c:86 +#: e2fsck/pass3.c:90 msgid "Peak memory" msgstr "Memoria di picco" -#: e2fsck/pass3.c:136 +#: e2fsck/pass3.c:146 msgid "Pass 3" msgstr "Passo 3" -#: e2fsck/pass3.c:322 +#: e2fsck/pass3.c:334 #, fuzzy msgid "inode loop detection bitmap" msgstr "mappa dei bit del ciclo di rilevamento inode" -#: e2fsck/pass4.c:195 +#: e2fsck/pass4.c:196 msgid "Pass 4" msgstr "Passo 4" -#: e2fsck/pass5.c:74 +#: e2fsck/pass5.c:70 msgid "Pass 5" msgstr "Passo 5" -#: e2fsck/problem.c:51 +#: e2fsck/problem.c:50 msgid "(no prompt)" msgstr "(nessun prompt)" -#: e2fsck/problem.c:52 +#: e2fsck/problem.c:51 msgid "Fix" msgstr "Sistema" -#: e2fsck/problem.c:53 +#: e2fsck/problem.c:52 msgid "Clear" msgstr "Azzera" -#: e2fsck/problem.c:54 +#: e2fsck/problem.c:53 msgid "Relocate" msgstr "Riloca" -#: e2fsck/problem.c:55 +#: e2fsck/problem.c:54 msgid "Allocate" msgstr "Alloca" -#: e2fsck/problem.c:56 +#: e2fsck/problem.c:55 msgid "Expand" msgstr "Espandi" -#: e2fsck/problem.c:57 +#: e2fsck/problem.c:56 msgid "Connect to /lost+found" msgstr "Collega a /lost+found" -#: e2fsck/problem.c:58 +#: e2fsck/problem.c:57 msgid "Create" msgstr "Crea" -#: e2fsck/problem.c:59 +#: e2fsck/problem.c:58 msgid "Salvage" msgstr "Salva" -#: e2fsck/problem.c:60 +#: e2fsck/problem.c:59 msgid "Truncate" msgstr "Tronca" -#: e2fsck/problem.c:61 +#: e2fsck/problem.c:60 msgid "Clear inode" msgstr "Azzera inode" -#: e2fsck/problem.c:62 +#: e2fsck/problem.c:61 msgid "Abort" msgstr "Annulla" -#: e2fsck/problem.c:63 +#: e2fsck/problem.c:62 msgid "Split" msgstr "Dividi" -#: e2fsck/problem.c:64 +#: e2fsck/problem.c:63 msgid "Continue" msgstr "Continua" -#: e2fsck/problem.c:65 +#: e2fsck/problem.c:64 #, fuzzy msgid "Clone multiply-claimed blocks" msgstr "mappa dei blocchi richiesta più volte" -#: e2fsck/problem.c:66 +#: e2fsck/problem.c:65 msgid "Delete file" msgstr "Cancella file" -#: e2fsck/problem.c:67 +#: e2fsck/problem.c:66 msgid "Suppress messages" msgstr "Sopprimi messaggi" -#: e2fsck/problem.c:68 +#: e2fsck/problem.c:67 msgid "Unlink" msgstr "Effettua l'unlink -- Scollega FIXME" -#: e2fsck/problem.c:69 +#: e2fsck/problem.c:68 msgid "Clear HTree index" msgstr "Azzera l'indice HTree" -#: e2fsck/problem.c:70 +#: e2fsck/problem.c:69 msgid "Recreate" msgstr "Ricrea" -#: e2fsck/problem.c:79 +#: e2fsck/problem.c:78 msgid "(NONE)" msgstr "(NESSUNO)" -#: e2fsck/problem.c:80 +#: e2fsck/problem.c:79 msgid "FIXED" msgstr "SISTEMATO" -#: e2fsck/problem.c:81 +#: e2fsck/problem.c:80 msgid "CLEARED" msgstr "AZZERATO" -#: e2fsck/problem.c:82 +#: e2fsck/problem.c:81 msgid "RELOCATED" msgstr "RILOCATO" -#: e2fsck/problem.c:83 +#: e2fsck/problem.c:82 msgid "ALLOCATED" msgstr "ALLOCATO" -#: e2fsck/problem.c:84 +#: e2fsck/problem.c:83 msgid "EXPANDED" msgstr "ESPANSO" -#: e2fsck/problem.c:85 +#: e2fsck/problem.c:84 msgid "RECONNECTED" msgstr "RICONNESSO" -#: e2fsck/problem.c:86 +#: e2fsck/problem.c:85 msgid "CREATED" msgstr "CREATO" -#: e2fsck/problem.c:87 +#: e2fsck/problem.c:86 msgid "SALVAGED" msgstr "SALVATO" -#: e2fsck/problem.c:88 +#: e2fsck/problem.c:87 msgid "TRUNCATED" msgstr "TRONCATO" -#: e2fsck/problem.c:89 +#: e2fsck/problem.c:88 msgid "INODE CLEARED" msgstr "INODE AZZERATO" -#: e2fsck/problem.c:90 +#: e2fsck/problem.c:89 msgid "ABORTED" msgstr "INTERROTTO" -#: e2fsck/problem.c:91 +#: e2fsck/problem.c:90 msgid "SPLIT" msgstr "DIVISO" -#: e2fsck/problem.c:92 +#: e2fsck/problem.c:91 msgid "CONTINUING" msgstr "" -#: e2fsck/problem.c:93 +#: e2fsck/problem.c:92 #, fuzzy msgid "MULTIPLY-CLAIMED BLOCKS CLONED" msgstr "CLONATI BLOCCHI DUPLICATI/NON VALIDI" -#: e2fsck/problem.c:94 +#: e2fsck/problem.c:93 msgid "FILE DELETED" msgstr "FILE CANCELLATO" -#: e2fsck/problem.c:95 +#: e2fsck/problem.c:94 msgid "SUPPRESSED" msgstr "SOPPRESSO" -#: e2fsck/problem.c:96 +#: e2fsck/problem.c:95 msgid "UNLINKED" msgstr "SCOLLEGATO" -#: e2fsck/problem.c:97 +#: e2fsck/problem.c:96 msgid "HTREE INDEX CLEARED" msgstr "INDICE HTREE PULITO" -#: e2fsck/problem.c:98 +#: e2fsck/problem.c:97 msgid "WILL RECREATE" msgstr "RICREERA'" #. @-expanded: block bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:107 +#: e2fsck/problem.c:106 msgid "@b @B for @g %g is not in @g. (@b %b)\n" msgstr "@B del @b per il @g %g non è in @g. (@b %b)\n" #. @-expanded: inode bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:111 +#: e2fsck/problem.c:110 msgid "@i @B for @g %g is not in @g. (@b %b)\n" msgstr "@B dell'@i per il @g %g non è in @g. (@b %b)\n" #. @-expanded: inode table for group %g is not in group. (block %b)\n #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n -#: e2fsck/problem.c:116 +#: e2fsck/problem.c:115 msgid "" "@i table for @g %g is not in @g. (@b %b)\n" "WARNING: SEVERE DATA LOSS POSSIBLE.\n" @@ -795,7 +767,7 @@ msgstr "" #. @-expanded: is corrupt, and you might try running e2fsck with an alternate superblock:\n #. @-expanded: e2fsck -b %S \n #. @-expanded: \n -#: e2fsck/problem.c:122 +#: e2fsck/problem.c:121 #, c-format msgid "" "\n" @@ -817,7 +789,7 @@ msgstr "" #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n #. @-expanded: The physical size of the device is %c blocks\n #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n -#: e2fsck/problem.c:131 +#: e2fsck/problem.c:130 msgid "" "The @f size (according to the @S) is %b @bs\n" "The physical size of the @v is %c @bs\n" @@ -830,7 +802,7 @@ msgstr "" #. @-expanded: superblock block_size = %b, fragsize = %c.\n #. @-expanded: This version of e2fsck does not support fragment sizes different\n #. @-expanded: from the block size.\n -#: e2fsck/problem.c:138 +#: e2fsck/problem.c:137 msgid "" "@S @b_size = %b, fragsize = %c.\n" "This version of e2fsck does not support fragment sizes different\n" @@ -841,19 +813,19 @@ msgstr "" "differenti dalla dimensione del @b.\n" #. @-expanded: superblock blocks_per_group = %b, should have been %c\n -#: e2fsck/problem.c:145 +#: e2fsck/problem.c:144 msgid "@S @bs_per_group = %b, should have been %c\n" msgstr "@S @b(i)_per_gruppo = %b, avrebbe dovuto essere %c\n" #. @-expanded: superblock first_data_block = %b, should have been %c\n -#: e2fsck/problem.c:150 +#: e2fsck/problem.c:149 #, fuzzy msgid "@S first_data_@b = %b, should have been %c\n" msgstr "Primo @b contenente dati del @S = %b, avrebbe dovuto essere %c\n" #. @-expanded: filesystem did not have a UUID; generating one.\n #. @-expanded: \n -#: e2fsck/problem.c:155 +#: e2fsck/problem.c:154 msgid "" "@f did not have a UUID; generating one.\n" "\n" @@ -861,7 +833,7 @@ msgstr "" "il @f non aveva un UUID; generazione di un UUID.\n" "\n" -#: e2fsck/problem.c:160 +#: e2fsck/problem.c:159 #, fuzzy, c-format msgid "" "Note: if several inode or block bitmap blocks or part\n" @@ -880,49 +852,49 @@ msgstr "" "\n" #. @-expanded: Corruption found in superblock. (%s = %N).\n -#: e2fsck/problem.c:169 +#: e2fsck/problem.c:168 msgid "Corruption found in @S. (%s = %N).\n" msgstr "Trovata corruzione nel @S. (%s = %N).\n" #. @-expanded: Error determining size of the physical device: %m\n -#: e2fsck/problem.c:174 +#: e2fsck/problem.c:173 #, c-format msgid "Error determining size of the physical @v: %m\n" msgstr "Errore determinando la dimensione del @v fisico: %m\n" #. @-expanded: inode count in superblock is %i, should be %j.\n -#: e2fsck/problem.c:179 +#: e2fsck/problem.c:178 #, fuzzy msgid "@i count in @S is %i, @s %j.\n" msgstr "Il numero di @i in @S è %i, dovrebbe essere %j.\n" -#: e2fsck/problem.c:183 +#: e2fsck/problem.c:182 msgid "The Hurd does not support the filetype feature.\n" msgstr "Il kernel Hurd non supporta la caratteristica filetype.\n" #. @-expanded: superblock has an invalid journal (inode %i).\n -#: e2fsck/problem.c:188 +#: e2fsck/problem.c:187 #, fuzzy, c-format msgid "@S has an @n @j (@i %i).\n" msgstr "Il @S ha un @j ext3 non valido (@i %i).\n" #. @-expanded: External journal has multiple filesystem users (unsupported).\n -#: e2fsck/problem.c:193 +#: e2fsck/problem.c:192 msgid "External @j has multiple @f users (unsupported).\n" msgstr "Il @j esterno ha diversi utenti del @f (non supportato).\n" #. @-expanded: Can't find external journal\n -#: e2fsck/problem.c:198 +#: e2fsck/problem.c:197 msgid "Can't find external @j\n" msgstr "Impossibile trovare il @j esterno\n" #. @-expanded: External journal has bad superblock\n -#: e2fsck/problem.c:203 +#: e2fsck/problem.c:202 msgid "External @j has bad @S\n" msgstr "Il @j esterno ha un @S non valido\n" #. @-expanded: External journal does not support this filesystem\n -#: e2fsck/problem.c:208 +#: e2fsck/problem.c:207 msgid "External @j does not support this @f\n" msgstr "Il @j esterno non supporta questo @f\n" @@ -930,7 +902,7 @@ msgstr "Il @j esterno non supporta questo @f\n" #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal #. @-expanded: format.\n #. @-expanded: It is also possible the journal superblock is corrupt.\n -#: e2fsck/problem.c:213 +#: e2fsck/problem.c:212 #, fuzzy msgid "" "@f @j @S is unknown type %N (unsupported).\n" @@ -944,70 +916,78 @@ msgstr "" "E' anche possibile che il @S del @j sia corrotto.\n" #. @-expanded: journal superblock is corrupt.\n -#: e2fsck/problem.c:221 +#: e2fsck/problem.c:220 #, fuzzy msgid "@j @S is corrupt.\n" msgstr "Il @S del @j ext3 è corrotto.\n" #. @-expanded: superblock has_journal flag is clear, but a journal %s is present.\n -#: e2fsck/problem.c:226 +#: e2fsck/problem.c:225 #, fuzzy, c-format msgid "@S has_@j flag is clear, but a @j %s is present.\n" msgstr "flag del recupero ext3 pulito, ma il @j contiene ancora dati.\n" #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n -#: e2fsck/problem.c:231 +#: e2fsck/problem.c:230 #, fuzzy msgid "@S needs_recovery flag is set, but no @j is present.\n" msgstr "Il @S ha il flag ext3 needs_recovery impostato, ma non ha @j.\n" #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n -#: e2fsck/problem.c:236 +#: e2fsck/problem.c:235 #, fuzzy msgid "@S needs_recovery flag is clear, but @j has data.\n" msgstr "flag del recupero ext3 pulito, ma il @j contiene ancora dati.\n" #. @-expanded: Clear journal -#: e2fsck/problem.c:241 +#: e2fsck/problem.c:240 msgid "Clear @j" msgstr "Azzerare @j" -#. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. -#: e2fsck/problem.c:246 e2fsck/problem.c:695 -msgid "@f has feature flag(s) set, but is a revision 0 @f. " -msgstr "" +#. @-expanded: Run journal anyway +#: e2fsck/problem.c:245 +msgid "Run @j anyway" +msgstr "Eseguire @j comunque" + +#. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n +#: e2fsck/problem.c:250 +msgid "Recovery flag not set in backup @S, so running @j anyway.\n" +msgstr "Flag di recupero non impostato nel @S di backup, eseguo @j comunque.\n" #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n -#: e2fsck/problem.c:251 +#: e2fsck/problem.c:255 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" msgstr "%s @o @i %i (uid=%Iu, gid=%Ig, modalità=%Im, dimensione=%Is)\n" -#. @-expanded: illegal %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:256 -#, fuzzy -msgid "@I %B (%b) found in @o @i %i.\n" +#. @-expanded: illegal block #%B (%b) found in orphaned inode %i.\n +#: e2fsck/problem.c:260 +msgid "@I @b #%B (%b) found in @o @i %i.\n" msgstr "@b @I #%B (%b) trovato in un @i @o %i.\n" -#. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:261 -#, fuzzy -msgid "Already cleared %B (%b) found in @o @i %i.\n" +#. @-expanded: Already cleared block #%B (%b) found in orphaned inode %i.\n +#: e2fsck/problem.c:265 +msgid "Already cleared @b #%B (%b) found in @o @i %i.\n" msgstr "Già azzerato il @b #%B (%b) trovato in un @i @o %i.\n" #. @-expanded: illegal orphaned inode %i in superblock.\n -#: e2fsck/problem.c:266 +#: e2fsck/problem.c:270 #, c-format msgid "@I @o @i %i in @S.\n" msgstr "@i @o @I %i nel @S.\n" #. @-expanded: illegal inode %i in orphaned inode list.\n -#: e2fsck/problem.c:271 +#: e2fsck/problem.c:275 #, c-format msgid "@I @i %i in @o @i list.\n" msgstr "@i @I %i nella lista degli @i @o.\n" +#. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. +#: e2fsck/problem.c:280 e2fsck/problem.c:647 +msgid "@f has feature flag(s) set, but is a revision 0 @f. " +msgstr "" + #. @-expanded: journal superblock has an unknown read-only feature flag set.\n -#: e2fsck/problem.c:276 +#: e2fsck/problem.c:285 #, fuzzy msgid "@j @S has an unknown read-only feature flag set.\n" msgstr "" @@ -1015,7 +995,7 @@ msgstr "" "sconosciuta.\n" #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n -#: e2fsck/problem.c:281 +#: e2fsck/problem.c:290 #, fuzzy msgid "@j @S has an unknown incompatible feature flag set.\n" msgstr "" @@ -1023,13 +1003,13 @@ msgstr "" "compatibile.\n" #. @-expanded: journal version not supported by this e2fsck.\n -#: e2fsck/problem.c:286 +#: e2fsck/problem.c:295 msgid "@j version not supported by this e2fsck.\n" msgstr "Versione del @j non supportata da questo e2fsck.\n" #. @-expanded: Moving journal from /%s to hidden inode.\n #. @-expanded: \n -#: e2fsck/problem.c:291 +#: e2fsck/problem.c:300 #, fuzzy, c-format msgid "" "Moving @j from /%s to hidden @i.\n" @@ -1040,7 +1020,7 @@ msgstr "" #. @-expanded: Error moving journal: %m\n #. @-expanded: \n -#: e2fsck/problem.c:296 +#: e2fsck/problem.c:305 #, c-format msgid "" "Error moving @j: %m\n" @@ -1052,7 +1032,7 @@ msgstr "" #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n #. @-expanded: Clearing fields beyond the V1 journal superblock...\n #. @-expanded: \n -#: e2fsck/problem.c:301 +#: e2fsck/problem.c:310 #, fuzzy msgid "" "Found @n V2 @j @S fields (from V1 @j).\n" @@ -1062,19 +1042,9 @@ msgstr "" "Trovati dei campi V2 del @S del @j non validi (dal journal V1).\n" "Pulitura dei campi al di là del @S del @j V1...\n" -#. @-expanded: Run journal anyway -#: e2fsck/problem.c:307 -msgid "Run @j anyway" -msgstr "Eseguire @j comunque" - -#. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n -#: e2fsck/problem.c:312 -msgid "Recovery flag not set in backup @S, so running @j anyway.\n" -msgstr "Flag di recupero non impostato nel @S di backup, eseguo @j comunque.\n" - #. @-expanded: Backing up journal inode block information.\n #. @-expanded: \n -#: e2fsck/problem.c:317 +#: e2fsck/problem.c:316 msgid "" "Backing up @j @i @b information.\n" "\n" @@ -1084,267 +1054,201 @@ msgstr "" #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n #. @-expanded: is %N; should be zero. -#: e2fsck/problem.c:322 +#: e2fsck/problem.c:321 msgid "" "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n" "is %N; @s zero. " msgstr "" #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero. -#: e2fsck/problem.c:328 +#: e2fsck/problem.c:327 msgid "Resize_@i not enabled, but the resize @i is non-zero. " msgstr "" #. @-expanded: Resize inode not valid. -#: e2fsck/problem.c:333 +#: e2fsck/problem.c:332 #, fuzzy msgid "Resize @i not valid. " msgstr "L'@r non è una @d. " -#. @-expanded: superblock last mount time (%t,\n -#. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:338 -msgid "" -"@S last mount time (%t,\n" -"\tnow = %T) is in the future.\n" +#. @-expanded: superblock last mount time is in the future. +#: e2fsck/problem.c:337 +msgid "@S last mount time is in the future. " msgstr "" -#. @-expanded: superblock last write time (%t,\n -#. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:343 -msgid "" -"@S last write time (%t,\n" -"\tnow = %T) is in the future.\n" +#. @-expanded: superblock last write time is in the future. +#: e2fsck/problem.c:342 +msgid "@S last write time is in the future. " msgstr "" #. @-expanded: superblock hint for external superblock should be %X. -#: e2fsck/problem.c:347 +#: e2fsck/problem.c:346 #, c-format msgid "@S hint for external superblock @s %X. " msgstr "" #. @-expanded: Adding dirhash hint to filesystem.\n #. @-expanded: \n -#: e2fsck/problem.c:352 +#: e2fsck/problem.c:351 msgid "" "Adding dirhash hint to @f.\n" "\n" msgstr "" -#. @-expanded: group descriptor %g checksum is %04x, should be %04y. -#: e2fsck/problem.c:357 -msgid "@g descriptor %g checksum is %04x, should be %04y. " +#. @-expanded: group descriptor %g checksum is invalid. +#: e2fsck/problem.c:356 +#, c-format +msgid "@g descriptor %g checksum is invalid. " msgstr "" #. @-expanded: group descriptor %g marked uninitialized without feature set.\n -#: e2fsck/problem.c:362 +#: e2fsck/problem.c:361 #, c-format msgid "@g descriptor %g marked uninitialized without feature set.\n" msgstr "" +#. @-expanded: group %g block bitmap uninitialized but inode bitmap in use.\n +#: e2fsck/problem.c:366 +#, c-format +msgid "@g %g @b @B uninitialized but @i @B in use.\n" +msgstr "" + #. @-expanded: group descriptor %g has invalid unused inodes count %b. -#: e2fsck/problem.c:367 +#: e2fsck/problem.c:371 msgid "@g descriptor %g has invalid unused inodes count %b. " msgstr "" #. @-expanded: Last group block bitmap uninitialized. -#: e2fsck/problem.c:372 +#: e2fsck/problem.c:376 msgid "Last @g @b @B uninitialized. " msgstr "" -#: e2fsck/problem.c:377 +#: e2fsck/problem.c:381 #, c-format msgid "Journal transaction %i was corrupt, replay was aborted.\n" msgstr "" -#: e2fsck/problem.c:381 +#: e2fsck/problem.c:385 msgid "The test_fs flag is set (and ext4 is available). " msgstr "" -#. @-expanded: superblock last mount time is in the future.\n -#. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly -#. @-expanded: set) -#: e2fsck/problem.c:386 -msgid "" -"@S last mount time is in the future.\n" -"\t(by less than a day, probably due to the hardware clock being incorrectly " -"set) " -msgstr "" - -#. @-expanded: superblock last write time is in the future.\n -#. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly -#. @-expanded: set). -#: e2fsck/problem.c:392 -msgid "" -"@S last write time is in the future.\n" -"\t(by less than a day, probably due to the hardware clock being incorrectly " -"set). " -msgstr "" - -#. @-expanded: One or more block group descriptor checksums are invalid. -#: e2fsck/problem.c:398 -msgid "One or more @b @g descriptor checksums are invalid. " -msgstr "" - -#. @-expanded: Setting free inodes count to %j (was %i)\n -#: e2fsck/problem.c:403 -#, fuzzy -msgid "Setting free @is count to %j (was %i)\n" -msgstr "Impostazione del numero di blocchi riservati a %lu\n" - -#. @-expanded: Setting free blocks count to %c (was %b)\n -#: e2fsck/problem.c:408 -#, fuzzy -msgid "Setting free @bs count to %c (was %b)\n" -msgstr "Impostazione del numero di blocchi riservati a %lu\n" - -#. @-expanded: Making quota inode %i (%Q) hidden.\n -#: e2fsck/problem.c:413 -#, fuzzy -msgid "Making @q @i %i (%Q) hidden.\n" -msgstr "" -"Spostamento di @j da /%s all'inode nascosto.\n" -"\n" - -#. @-expanded: superblock has invalid MMP block. -#: e2fsck/problem.c:418 -#, fuzzy -msgid "@S has invalid MMP block. " -msgstr "dimensione del blocco difettoso - %s" - -#. @-expanded: superblock has invalid MMP magic. -#: e2fsck/problem.c:423 -msgid "@S has invalid MMP magic. " -msgstr "" - -#: e2fsck/problem.c:428 -#, c-format -msgid "ext2fs_open2: %m\n" -msgstr "" - -#: e2fsck/problem.c:433 -#, c-format -msgid "ext2fs_check_desc: %m\n" -msgstr "" - #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n -#: e2fsck/problem.c:440 +#: e2fsck/problem.c:392 msgid "Pass 1: Checking @is, @bs, and sizes\n" msgstr "Passo 1: Controllo di @i, @b(i) e dimensioni\n" #. @-expanded: root inode is not a directory. -#: e2fsck/problem.c:444 +#: e2fsck/problem.c:396 msgid "@r is not a @d. " msgstr "L'@r non è una @d. " #. @-expanded: root inode has dtime set (probably due to old mke2fs). -#: e2fsck/problem.c:449 +#: e2fsck/problem.c:401 msgid "@r has dtime set (probably due to old mke2fs). " msgstr "" "L'@r ha il dtime impostato (probabilmente a causa di un vecchio mke2fs)." #. @-expanded: Reserved inode %i (%Q) has invalid mode. -#: e2fsck/problem.c:454 +#: e2fsck/problem.c:406 #, fuzzy msgid "Reserved @i %i (%Q) has @n mode. " msgstr "L'@i riservato %i %Q ha una modalità errata. " #. @-expanded: deleted inode %i has zero dtime. -#: e2fsck/problem.c:459 +#: e2fsck/problem.c:411 #, c-format msgid "@D @i %i has zero dtime. " msgstr "L'@i @D %i ha dtime zero. " #. @-expanded: inode %i is in use, but has dtime set. -#: e2fsck/problem.c:464 +#: e2fsck/problem.c:416 #, fuzzy, c-format msgid "@i %i is in use, but has dtime set. " msgstr "L'@i %i è in uso, ma ha il dtime impostato. " #. @-expanded: inode %i is a zero-length directory. -#: e2fsck/problem.c:469 +#: e2fsck/problem.c:421 #, c-format msgid "@i %i is a @z @d. " msgstr "L'@i %i è una @d a @z. " #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:474 +#: e2fsck/problem.c:426 msgid "@g %g's @b @B at %b @C.\n" msgstr "La @B dei @b(i) del @g %g a %b @C.\n" #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:479 +#: e2fsck/problem.c:431 msgid "@g %g's @i @B at %b @C.\n" msgstr "La @B degli @i del @g %g a %b @C.\n" #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:484 +#: e2fsck/problem.c:436 msgid "@g %g's @i table at %b @C.\n" msgstr "La tavola degli @i del @g %g a %b @C.\n" #. @-expanded: group %g's block bitmap (%b) is bad. -#: e2fsck/problem.c:489 +#: e2fsck/problem.c:441 msgid "@g %g's @b @B (%b) is bad. " msgstr "La @B dei @b(i) del @g %g (%b) non è valida. " #. @-expanded: group %g's inode bitmap (%b) is bad. -#: e2fsck/problem.c:494 +#: e2fsck/problem.c:446 msgid "@g %g's @i @B (%b) is bad. " msgstr "La @B degli @i del @g %g (%b) non è valida. " #. @-expanded: inode %i, i_size is %Is, should be %N. -#: e2fsck/problem.c:499 +#: e2fsck/problem.c:451 msgid "@i %i, i_size is %Is, @s %N. " msgstr "@i %i, i_size è %Is, @s %N. " #. @-expanded: inode %i, i_blocks is %Ib, should be %N. -#: e2fsck/problem.c:504 +#: e2fsck/problem.c:456 #, fuzzy msgid "@i %i, i_@bs is %Ib, @s %N. " msgstr "@i %i, i_blocks è %Ib, @s %N. " -#. @-expanded: illegal %B (%b) in inode %i. -#: e2fsck/problem.c:509 -#, fuzzy -msgid "@I %B (%b) in @i %i. " +#. @-expanded: illegal block #%B (%b) in inode %i. +#: e2fsck/problem.c:461 +msgid "@I @b #%B (%b) in @i %i. " msgstr "@b @I #%B (%b) nell'@i %i. " -#. @-expanded: %B (%b) overlaps filesystem metadata in inode %i. -#: e2fsck/problem.c:514 -msgid "%B (%b) overlaps @f metadata in @i %i. " +#. @-expanded: block #%B (%b) overlaps filesystem metadata in inode %i. +#: e2fsck/problem.c:466 +msgid "@b #%B (%b) overlaps @f metadata in @i %i. " msgstr "" #. @-expanded: inode %i has illegal block(s). -#: e2fsck/problem.c:519 +#: e2fsck/problem.c:471 #, c-format msgid "@i %i has illegal @b(s). " msgstr "L'@i %i ha @b(i) illegali. " #. @-expanded: Too many illegal blocks in inode %i.\n -#: e2fsck/problem.c:524 +#: e2fsck/problem.c:476 #, c-format msgid "Too many illegal @bs in @i %i.\n" msgstr "Troppi @b(i) illegali in @i %i.\n" -#. @-expanded: illegal %B (%b) in bad block inode. -#: e2fsck/problem.c:529 +#. @-expanded: illegal block #%B (%b) in bad block inode. +#: e2fsck/problem.c:481 #, fuzzy -msgid "@I %B (%b) in bad @b @i. " +msgid "@I @b #%B (%b) in bad @b @i. " msgstr "@b @I #%B (%b) nell'@i del @b non valido. " #. @-expanded: Bad block inode has illegal block(s). -#: e2fsck/problem.c:534 +#: e2fsck/problem.c:486 #, fuzzy msgid "Bad @b @i has illegal @b(s). " msgstr "L'@i del @b non valido ha @b(i) illegali. " #. @-expanded: Duplicate or bad block in use!\n -#: e2fsck/problem.c:539 +#: e2fsck/problem.c:491 msgid "Duplicate or bad @b in use!\n" msgstr "@b duplicato o non valido in uso!\n" #. @-expanded: Bad block %b used as bad block inode indirect block. -#: e2fsck/problem.c:544 +#: e2fsck/problem.c:496 #, fuzzy msgid "Bad @b %b used as bad @b @i indirect @b. " msgstr "Il @b %b usa come @i del @b non valido un @b indiretto. " @@ -1353,7 +1257,7 @@ msgstr "Il @b %b usa come @i del @b non valido un @b indiretto. " #. @-expanded: The bad block inode has probably been corrupted. You probably\n #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n #. @-expanded: in the filesystem.\n -#: e2fsck/problem.c:549 +#: e2fsck/problem.c:501 msgid "" "\n" "The bad @b @i has probably been corrupted. You probably\n" @@ -1367,7 +1271,7 @@ msgstr "" #. @-expanded: \n #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n -#: e2fsck/problem.c:556 +#: e2fsck/problem.c:508 msgid "" "\n" "If the @b is really bad, the @f can not be fixed.\n" @@ -1378,7 +1282,7 @@ msgstr "" #. @-expanded: You can remove this block from the bad block list and hope\n #. @-expanded: that the block is really OK. But there are no guarantees.\n #. @-expanded: \n -#: e2fsck/problem.c:561 +#: e2fsck/problem.c:513 #, fuzzy msgid "" "You can remove this @b from the bad @b list and hope\n" @@ -1391,24 +1295,24 @@ msgstr "" "\n" #. @-expanded: The primary superblock (%b) is on the bad block list.\n -#: e2fsck/problem.c:567 +#: e2fsck/problem.c:519 msgid "The primary @S (%b) is on the bad @b list.\n" msgstr "Il @S primario (%b) è nella listi dei @b(i) non validi.\n" #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n -#: e2fsck/problem.c:572 +#: e2fsck/problem.c:524 msgid "Block %b in the primary @g descriptors is on the bad @b list\n" msgstr "" "Il blocco %b nei descrittori primari del @g è nella lista dei @b(i) non " "validi\n" #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n -#: e2fsck/problem.c:578 +#: e2fsck/problem.c:530 msgid "Warning: Group %g's @S (%b) is bad.\n" msgstr "Attenzione: Il @S (%b) del gruppo %g non è valido.\n" #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n -#: e2fsck/problem.c:583 +#: e2fsck/problem.c:535 #, fuzzy msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n" msgstr "" @@ -1416,107 +1320,107 @@ msgstr "" "valido.\n" #. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n -#: e2fsck/problem.c:589 +#: e2fsck/problem.c:541 msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n" msgstr "" "Errore di programmazione? @b #%b reclamato senza ragione in process_bad_@b.\n" #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n -#: e2fsck/problem.c:595 +#: e2fsck/problem.c:547 #, fuzzy msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n" msgstr "@A %N @b(i) contigui nel @g di @b %g per %s: %m\n" #. @-expanded: error allocating block buffer for relocating %s\n -#: e2fsck/problem.c:600 +#: e2fsck/problem.c:552 #, c-format msgid "@A @b buffer for relocating %s\n" msgstr "@A il buffer @b per la rilocazione di %s\n" #. @-expanded: Relocating group %g's %s from %b to %c...\n -#: e2fsck/problem.c:605 +#: e2fsck/problem.c:557 msgid "Relocating @g %g's %s from %b to %c...\n" msgstr "Rilocazione del %s del @g %g da %b a %c...\n" #. @-expanded: Relocating group %g's %s to %c...\n -#: e2fsck/problem.c:610 +#: e2fsck/problem.c:562 #, fuzzy, c-format msgid "Relocating @g %g's %s to %c...\n" msgstr "Rilocazione del %s del @g %g in %c...\n" #. @-expanded: Warning: could not read block %b of %s: %m\n -#: e2fsck/problem.c:615 +#: e2fsck/problem.c:567 msgid "Warning: could not read @b %b of %s: %m\n" msgstr "Attenzione: impossibile leggere @b %b di %s: %m\n" #. @-expanded: Warning: could not write block %b for %s: %m\n -#: e2fsck/problem.c:620 +#: e2fsck/problem.c:572 msgid "Warning: could not write @b %b for %s: %m\n" msgstr "Attenzione: impossibile scrivere @b %b per %s: %m\n" #. @-expanded: error allocating inode bitmap (%N): %m\n -#: e2fsck/problem.c:625 e2fsck/problem.c:1460 +#: e2fsck/problem.c:577 e2fsck/problem.c:1378 msgid "@A @i @B (%N): %m\n" msgstr "@A la @B dell'@i (%N): %m\n" #. @-expanded: error allocating block bitmap (%N): %m\n -#: e2fsck/problem.c:630 +#: e2fsck/problem.c:582 #, fuzzy msgid "@A @b @B (%N): %m\n" msgstr "@A la @B dell'@i (%N): %m\n" #. @-expanded: error allocating icount link information: %m\n -#: e2fsck/problem.c:635 +#: e2fsck/problem.c:587 #, fuzzy, c-format msgid "@A icount link information: %m\n" msgstr "@A le informazioni del collegamento icount: %m\n" #. @-expanded: error allocating directory block array: %m\n -#: e2fsck/problem.c:640 +#: e2fsck/problem.c:592 #, fuzzy, c-format msgid "@A @d @b array: %m\n" msgstr "@A l'array dei @b di @d: %m\n" #. @-expanded: Error while scanning inodes (%i): %m\n -#: e2fsck/problem.c:645 +#: e2fsck/problem.c:597 #, c-format msgid "Error while scanning @is (%i): %m\n" msgstr "Errore analizzando @is (%i): %m\n" #. @-expanded: Error while iterating over blocks in inode %i: %m\n -#: e2fsck/problem.c:650 +#: e2fsck/problem.c:602 #, c-format msgid "Error while iterating over @bs in @i %i: %m\n" msgstr "Errore scorrendo i @b(i) nell'@i %i: %m\n" #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n -#: e2fsck/problem.c:655 +#: e2fsck/problem.c:607 msgid "Error storing @i count information (@i=%i, count=%N): %m\n" msgstr "" "Errore salvando le informazioni sul numero di @i (@i=%i, numero=%N): %m\n" #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n -#: e2fsck/problem.c:660 +#: e2fsck/problem.c:612 #, fuzzy msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n" msgstr "" "Errore salvando le informazioni sui @b(i) di @d (@i=%i, @b=%b, num=%N): %m\n" #. @-expanded: Error reading inode %i: %m\n -#: e2fsck/problem.c:666 +#: e2fsck/problem.c:618 #, c-format msgid "Error reading @i %i: %m\n" msgstr "Errore durante la lettura dell'@i %i: %m\n" #. @-expanded: inode %i has imagic flag set. -#: e2fsck/problem.c:674 +#: e2fsck/problem.c:626 #, c-format msgid "@i %i has imagic flag set. " msgstr "L'@i %i ha il flag imagic impostato. " #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n #. @-expanded: or append-only flag set. -#: e2fsck/problem.c:679 +#: e2fsck/problem.c:631 #, c-format msgid "" "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n" @@ -1526,13 +1430,13 @@ msgstr "" "immutable o append-only impostato. " #. @-expanded: inode %i has compression flag set on filesystem without compression support. -#: e2fsck/problem.c:685 +#: e2fsck/problem.c:637 #, c-format msgid "@i %i has @cion flag set on @f without @cion support. " msgstr "" #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size. -#: e2fsck/problem.c:690 +#: e2fsck/problem.c:642 #, fuzzy, c-format msgid "Special (@v/socket/fifo) @i %i has non-zero size. " msgstr "" @@ -1540,155 +1444,154 @@ msgstr "" "immutable o append-only impostato. " #. @-expanded: journal inode is not in use, but contains data. -#: e2fsck/problem.c:700 +#: e2fsck/problem.c:652 #, fuzzy msgid "@j @i is not in use, but contains data. " msgstr "L'@i %i è in uso, ma ha il dtime impostato. " #. @-expanded: journal is not regular file. -#: e2fsck/problem.c:705 +#: e2fsck/problem.c:657 msgid "@j is not regular file. " msgstr "Il @j non è un file regolare. " #. @-expanded: inode %i was part of the orphaned inode list. -#: e2fsck/problem.c:710 +#: e2fsck/problem.c:662 #, fuzzy, c-format msgid "@i %i was part of the @o @i list. " msgstr "L'@i %i faceva parte della lista degli @i orfani. " #. @-expanded: inodes that were part of a corrupted orphan linked list found. -#: e2fsck/problem.c:716 +#: e2fsck/problem.c:668 #, fuzzy msgid "@is that were part of a corrupted orphan linked list found. " msgstr "" "trovati @i che facevano parte di una lista di orfani corrotti collegati. " #. @-expanded: error allocating refcount structure (%N): %m\n -#: e2fsck/problem.c:721 +#: e2fsck/problem.c:673 #, fuzzy msgid "@A refcount structure (%N): %m\n" msgstr "@A la struttura icount: %m\n" #. @-expanded: Error reading extended attribute block %b for inode %i. -#: e2fsck/problem.c:726 +#: e2fsck/problem.c:678 #, fuzzy msgid "Error reading @a @b %b for @i %i. " msgstr "Errore leggendo l'@a di @b %b per l'@i %i. " #. @-expanded: inode %i has a bad extended attribute block %b. -#: e2fsck/problem.c:731 +#: e2fsck/problem.c:683 #, fuzzy msgid "@i %i has a bad @a @b %b. " msgstr "L'@i %i ha un @a di @b %b non valido. " #. @-expanded: Error reading extended attribute block %b (%m). -#: e2fsck/problem.c:736 +#: e2fsck/problem.c:688 #, fuzzy msgid "Error reading @a @b %b (%m). " msgstr "Errore leggendo l'@a di @b %b (%m). " -#. @-expanded: extended attribute block %b has reference count %r, should be %N. -#: e2fsck/problem.c:741 +#. @-expanded: extended attribute block %b has reference count %B, should be %N. +#: e2fsck/problem.c:693 #, fuzzy -msgid "@a @b %b has reference count %r, @s %N. " +msgid "@a @b %b has reference count %B, @s %N. " msgstr "L'@a di @b %b è contato come %b, dovrebbe essere %N. " #. @-expanded: Error writing extended attribute block %b (%m). -#: e2fsck/problem.c:746 +#: e2fsck/problem.c:698 #, fuzzy msgid "Error writing @a @b %b (%m). " msgstr "Errore scrivendo l'@a @b %b (%m). " #. @-expanded: extended attribute block %b has h_blocks > 1. -#: e2fsck/problem.c:751 +#: e2fsck/problem.c:703 #, fuzzy msgid "@a @b %b has h_@bs > 1. " msgstr "L'@a @b %b ha il valore h_blocks > 1. " #. @-expanded: error allocating extended attribute block %b. -#: e2fsck/problem.c:756 +#: e2fsck/problem.c:708 #, fuzzy msgid "@A @a @b %b. " msgstr "L'@i %i ha un @a di @b %b non valido. " #. @-expanded: extended attribute block %b is corrupt (allocation collision). -#: e2fsck/problem.c:761 +#: e2fsck/problem.c:713 #, fuzzy msgid "@a @b %b is corrupt (allocation collision). " msgstr "L'@a di @b %b è corrotto (collisione di allocazione). " #. @-expanded: extended attribute block %b is corrupt (invalid name). -#: e2fsck/problem.c:766 +#: e2fsck/problem.c:718 #, fuzzy msgid "@a @b %b is corrupt (@n name). " msgstr "L'@a di @b %b è corrotto (nome non valido). " #. @-expanded: extended attribute block %b is corrupt (invalid value). -#: e2fsck/problem.c:771 +#: e2fsck/problem.c:723 #, fuzzy msgid "@a @b %b is corrupt (@n value). " msgstr "L'@a di @b %b è corrotto (valore non valido). " #. @-expanded: inode %i is too big. -#: e2fsck/problem.c:776 +#: e2fsck/problem.c:728 #, c-format msgid "@i %i is too big. " msgstr "L'@i %i è troppo grande. " -#. @-expanded: %B (%b) causes directory to be too big. -#: e2fsck/problem.c:780 -#, fuzzy -msgid "%B (%b) causes @d to be too big. " +#. @-expanded: block #%B (%b) causes directory to be too big. +#: e2fsck/problem.c:732 +msgid "@b #%B (%b) causes @d to be too big. " msgstr "Il @b #%B (%b) fa diventare il @d troppo grande. " -#: e2fsck/problem.c:785 -#, fuzzy -msgid "%B (%b) causes file to be too big. " +#. @-expanded: block #%B (%b) causes file to be too big. +#: e2fsck/problem.c:737 +msgid "@b #%B (%b) causes file to be too big. " msgstr "Il @b #%B (%b) fa diventare il file troppo grande. " -#: e2fsck/problem.c:790 -#, fuzzy -msgid "%B (%b) causes symlink to be too big. " +#. @-expanded: block #%B (%b) causes symlink to be too big. +#: e2fsck/problem.c:742 +msgid "@b #%B (%b) causes symlink to be too big. " msgstr "Il @b #%B (%b) fa diventare il link simbolico troppo grande. " #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n -#: e2fsck/problem.c:795 +#: e2fsck/problem.c:747 #, c-format msgid "@i %i has INDEX_FL flag set on @f without htree support.\n" msgstr "" "L'@i %i ga il flag INDEX_FL impostato nel @f senza il supporto htree.\n" #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n -#: e2fsck/problem.c:800 +#: e2fsck/problem.c:752 #, c-format msgid "@i %i has INDEX_FL flag set but is not a @d.\n" msgstr "L'@i %i ha il flag INDEX_FL impostato, ma non è un @d.\n" #. @-expanded: HTREE directory inode %i has an invalid root node.\n -#: e2fsck/problem.c:805 +#: e2fsck/problem.c:757 #, fuzzy, c-format msgid "@h %i has an @n root node.\n" msgstr "L'@h %i ha un nodo root non valido.\n" #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n -#: e2fsck/problem.c:810 +#: e2fsck/problem.c:762 msgid "@h %i has an unsupported hash version (%N)\n" msgstr "L'@h %i ha una versione dell'hash non supportata (%N)\n" #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n -#: e2fsck/problem.c:815 +#: e2fsck/problem.c:767 #, c-format msgid "@h %i uses an incompatible htree root node flag.\n" msgstr "L'@h %i usa un flag di nodo htree di root non compatibile.\n" #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n -#: e2fsck/problem.c:820 +#: e2fsck/problem.c:772 msgid "@h %i has a tree depth (%N) which is too big\n" msgstr "L'@h %i ha un livello di profondità (%N) troppo elevato\n" #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n #. @-expanded: filesystem metadata. -#: e2fsck/problem.c:825 +#: e2fsck/problem.c:777 msgid "" "Bad @b @i has an indirect @b (%b) that conflicts with\n" "@f metadata. " @@ -1697,61 +1600,61 @@ msgstr "" "conflitto con il metadata del @f. " #. @-expanded: Resize inode (re)creation failed: %m. -#: e2fsck/problem.c:831 +#: e2fsck/problem.c:783 #, c-format msgid "Resize @i (re)creation failed: %m." msgstr "" #. @-expanded: inode %i has a extra size (%IS) which is invalid\n -#: e2fsck/problem.c:836 +#: e2fsck/problem.c:788 #, fuzzy msgid "@i %i has a extra size (%IS) which is @n\n" msgstr "L'@h %i ha un livello di profondità (%N) troppo elevato\n" #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n -#: e2fsck/problem.c:841 +#: e2fsck/problem.c:793 #, fuzzy msgid "@a in @i %i has a namelen (%N) which is @n\n" msgstr "L'@h %i ha un livello di profondità (%N) troppo elevato\n" -#. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n -#: e2fsck/problem.c:846 +#. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n +#: e2fsck/problem.c:798 #, fuzzy -msgid "@a in @i %i has a value offset (%N) which is @n\n" +msgid "@a in @i %i has a value size (%N) which is @n\n" msgstr "L'@h %i ha un livello di profondità (%N) troppo elevato\n" -#. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n -#: e2fsck/problem.c:851 +#. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n +#: e2fsck/problem.c:803 #, fuzzy -msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" +msgid "@a in @i %i has a value offset (%N) which is @n\n" msgstr "L'@h %i ha un livello di profondità (%N) troppo elevato\n" -#. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n -#: e2fsck/problem.c:856 +#. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n +#: e2fsck/problem.c:808 #, fuzzy -msgid "@a in @i %i has a value size (%N) which is @n\n" +msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" msgstr "L'@h %i ha un livello di profondità (%N) troppo elevato\n" #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n -#: e2fsck/problem.c:861 +#: e2fsck/problem.c:813 #, fuzzy msgid "@a in @i %i has a hash (%N) which is @n\n" msgstr "L'@h %i ha un livello di profondità (%N) troppo elevato\n" #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n -#: e2fsck/problem.c:866 +#: e2fsck/problem.c:818 msgid "@i %i is a %It but it looks like it is really a directory.\n" msgstr "" #. @-expanded: Error while reading over extent tree in inode %i: %m\n -#: e2fsck/problem.c:871 +#: e2fsck/problem.c:823 #, fuzzy, c-format msgid "Error while reading over @x tree in @i %i: %m\n" msgstr "Errore scorrendo i @b(i) nell'@i %i: %m\n" #. @-expanded: Failed to iterate extents in inode %i\n #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n -#: e2fsck/problem.c:876 +#: e2fsck/problem.c:828 msgid "" "Failed to iterate extents in @i %i\n" "\t(op %s, blk %b, lblk %c): %m\n" @@ -1759,7 +1662,7 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n -#: e2fsck/problem.c:882 +#: e2fsck/problem.c:834 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, @n physical @b %b, len %N)\n" @@ -1767,91 +1670,53 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n -#: e2fsck/problem.c:887 +#: e2fsck/problem.c:839 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, physical @b %b, @n len %N)\n" msgstr "" #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n -#: e2fsck/problem.c:892 +#: e2fsck/problem.c:844 #, fuzzy, c-format msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n" msgstr "" "L'@i %i ga il flag INDEX_FL impostato nel @f senza il supporto htree.\n" #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n -#: e2fsck/problem.c:897 +#: e2fsck/problem.c:849 #, c-format msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n" msgstr "" #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n -#: e2fsck/problem.c:902 +#: e2fsck/problem.c:854 #, c-format msgid "@i %i missing EXTENT_FL, but is in extents format\n" msgstr "" -#: e2fsck/problem.c:907 +#: e2fsck/problem.c:859 #, c-format msgid "Fast symlink %i has EXTENT_FL set. " msgstr "" #. @-expanded: inode %i has out of order extents\n #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:912 +#: e2fsck/problem.c:864 msgid "" "@i %i has out of order extents\n" "\t(@n logical @b %c, physical @b %b, len %N)\n" msgstr "" #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n -#: e2fsck/problem.c:916 +#: e2fsck/problem.c:868 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n" msgstr "" -#. @-expanded: Error converting subcluster block bitmap: %m\n -#: e2fsck/problem.c:921 -#, fuzzy, c-format -msgid "Error converting subcluster @b @B: %m\n" -msgstr "Errore scorrendo i @b(i) delle @d: %m\n" - -#. @-expanded: quota inode is not regular file. -#: e2fsck/problem.c:926 -#, fuzzy -msgid "@q @i is not regular file. " -msgstr "Il @j non è un file regolare. " - -#. @-expanded: quota inode is not in use, but contains data. -#: e2fsck/problem.c:931 -#, fuzzy -msgid "@q @i is not in use, but contains data. " -msgstr "L'@i %i è in uso, ma ha il dtime impostato. " - -#. @-expanded: quota inode is visible to the user. -#: e2fsck/problem.c:936 -#, fuzzy -msgid "@q @i is visible to the user. " -msgstr "L'@i %i è in uso, ma ha il dtime impostato. " - -#. @-expanded: The bad block inode looks invalid. -#: e2fsck/problem.c:941 -#, fuzzy -msgid "The bad @b @i looks @n. " -msgstr "" - -#. @-expanded: inode %i has zero length extent\n -#. @-expanded: \t(invalid logical block %c, physical block %b)\n -#: e2fsck/problem.c:946 -msgid "" -"@i %i has zero length extent\n" -"\t(@n logical @b %c, physical @b %b)\n" -msgstr "" - #. @-expanded: \n #. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n #. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n -#: e2fsck/problem.c:953 +#: e2fsck/problem.c:875 msgid "" "\n" "Running additional passes to resolve @bs claimed by more than one @i...\n" @@ -1859,72 +1724,72 @@ msgid "" msgstr "" #. @-expanded: multiply-claimed block(s) in inode %i: -#: e2fsck/problem.c:959 +#: e2fsck/problem.c:881 #, fuzzy, c-format msgid "@m @b(s) in @i %i:" msgstr "@b @I #%B (%b) nell'@i %i. " -#: e2fsck/problem.c:974 +#: e2fsck/problem.c:896 #, c-format msgid "Error while scanning inodes (%i): %m\n" msgstr "Errore analizzando gli inode (%i): %m\n" #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n -#: e2fsck/problem.c:979 +#: e2fsck/problem.c:901 #, fuzzy, c-format msgid "@A @i @B (@i_dup_map): %m\n" msgstr "@A la @B degli @i (inode_dup_map): %m\n" #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n -#: e2fsck/problem.c:984 +#: e2fsck/problem.c:906 #, c-format msgid "Error while iterating over @bs in @i %i (%s): %m\n" msgstr "Errore scorrendo i @b(i) nell'@i %i (%s): %m\n" #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n -#: e2fsck/problem.c:989 e2fsck/problem.c:1304 +#: e2fsck/problem.c:911 e2fsck/problem.c:1227 #, fuzzy msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n" msgstr "" "Errore sistemando il conteggio dei riferimenti per il @b @a %b (@i %i): %m\n" #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n -#: e2fsck/problem.c:994 +#: e2fsck/problem.c:917 #, fuzzy msgid "Pass 1C: Scanning directories for @is with @m @bs\n" msgstr "" "Passo 1C: Analisi delle directory relativa agli @i con @b(i) duplicati.\n" #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n -#: e2fsck/problem.c:1000 +#: e2fsck/problem.c:923 #, fuzzy msgid "Pass 1D: Reconciling @m @bs\n" msgstr "Passo 1D: Riconciliamento del @b(i) duplicati\n" #. @-expanded: File %Q (inode #%i, mod time %IM) \n -#. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n -#: e2fsck/problem.c:1005 +#. @-expanded: has %B multiply-claimed block(s), shared with %N file(s):\n +#: e2fsck/problem.c:928 #, fuzzy msgid "" "File %Q (@i #%i, mod time %IM) \n" -" has %r @m @b(s), shared with %N file(s):\n" +" has %B @m @b(s), shared with %N file(s):\n" msgstr "" "Il file %Q (@i #%i, ultima modifica %IM) \n" " ha %b @b(i) duplicati, condivisi con %N file:\n" #. @-expanded: \t%Q (inode #%i, mod time %IM)\n -#: e2fsck/problem.c:1011 +#: e2fsck/problem.c:934 msgid "\t%Q (@i #%i, mod time %IM)\n" msgstr "\t%Q (@i #%i, ultima modifica %IM)\n" #. @-expanded: \t\n -#: e2fsck/problem.c:1016 +#: e2fsck/problem.c:939 msgid "\t<@f metadata>\n" msgstr "\t\n" #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n #. @-expanded: \n -#: e2fsck/problem.c:1021 +#: e2fsck/problem.c:944 #, fuzzy msgid "" "(There are %N @is containing @m @bs.)\n" @@ -1935,7 +1800,7 @@ msgstr "" #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n #. @-expanded: \n -#: e2fsck/problem.c:1026 +#: e2fsck/problem.c:949 #, fuzzy msgid "" "@m @bs already reassigned or cloned.\n" @@ -1944,344 +1809,341 @@ msgstr "" "@b(i) duplicati già riassegnati o clonati.\n" "\n" -#: e2fsck/problem.c:1039 +#: e2fsck/problem.c:962 #, c-format msgid "Couldn't clone file: %m\n" msgstr "Impossibile clonare il file: %m\n" #. @-expanded: Pass 2: Checking directory structure\n -#: e2fsck/problem.c:1045 +#: e2fsck/problem.c:968 msgid "Pass 2: Checking @d structure\n" msgstr "Passo 2: Analisi della struttura delle @d\n" #. @-expanded: invalid inode number for '.' in directory inode %i.\n -#: e2fsck/problem.c:1050 +#: e2fsck/problem.c:973 #, fuzzy, c-format msgid "@n @i number for '.' in @d @i %i.\n" msgstr "Numero di @i non valido per '.' nell'@i @d %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n -#: e2fsck/problem.c:1055 +#: e2fsck/problem.c:978 #, fuzzy msgid "@E has @n @i #: %Di.\n" msgstr "L'@E ha un @i non valido #: %Di.\n" #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di. -#: e2fsck/problem.c:1060 +#: e2fsck/problem.c:983 #, fuzzy msgid "@E has @D/unused @i %Di. " msgstr "L'@E ha @i non utilizzato/@D %Di. " #. @-expanded: entry '%Dn' in %p (%i) is a link to '.' -#: e2fsck/problem.c:1065 +#: e2fsck/problem.c:988 msgid "@E @L to '.' " msgstr "L'@E @L a '.' " #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n -#: e2fsck/problem.c:1070 +#: e2fsck/problem.c:993 msgid "@E points to @i (%Di) located in a bad @b.\n" msgstr "L'@E punta all'@i (%Di), posizionato in un @b non valido.\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n -#: e2fsck/problem.c:1075 +#: e2fsck/problem.c:998 msgid "@E @L to @d %P (%Di).\n" msgstr "L'@E @L alla @d %P (%Di).\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n -#: e2fsck/problem.c:1080 +#: e2fsck/problem.c:1003 msgid "@E @L to the @r.\n" msgstr "L'@E @L all'@r.\n" #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n -#: e2fsck/problem.c:1085 +#: e2fsck/problem.c:1008 msgid "@E has illegal characters in its name.\n" msgstr "L'@E ha caratteri non validi nel suo nome.\n" #. @-expanded: Missing '.' in directory inode %i.\n -#: e2fsck/problem.c:1090 +#: e2fsck/problem.c:1013 #, c-format msgid "Missing '.' in @d @i %i.\n" msgstr "'.' mancante nell'@i %i della @d.\n" #. @-expanded: Missing '..' in directory inode %i.\n -#: e2fsck/problem.c:1095 +#: e2fsck/problem.c:1018 #, c-format msgid "Missing '..' in @d @i %i.\n" msgstr "'..' mancante nell'@i %i della @d.\n" #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n -#: e2fsck/problem.c:1100 +#: e2fsck/problem.c:1023 #, fuzzy msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n" msgstr "Il primo @e '%Dn' (inode=%Di) nell'@i %i della @d (%p) @s '.'\n" #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n -#: e2fsck/problem.c:1105 +#: e2fsck/problem.c:1028 #, fuzzy msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n" msgstr "Il secondo @e '%Dn' (inode=%Di) nell'@i %i della @d (%p) @s '.'\n" #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n -#: e2fsck/problem.c:1110 +#: e2fsck/problem.c:1033 #, fuzzy msgid "i_faddr @F %IF, @s zero.\n" msgstr "i_faddr @F %IF @s zero.\n" #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n -#: e2fsck/problem.c:1115 +#: e2fsck/problem.c:1038 #, fuzzy msgid "i_file_acl @F %If, @s zero.\n" msgstr "i_file_acl @F %If @s zero.\n" #. @-expanded: i_dir_acl for inode %i (%Q) is %Id, should be zero.\n -#: e2fsck/problem.c:1120 +#: e2fsck/problem.c:1043 #, fuzzy msgid "i_dir_acl @F %Id, @s zero.\n" msgstr "i_dir_acl @F %Id @s zero.\n" #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1125 +#: e2fsck/problem.c:1048 #, fuzzy msgid "i_frag @F %N, @s zero.\n" msgstr "i_frag @F %N @s zero.\n" #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1130 +#: e2fsck/problem.c:1053 #, fuzzy msgid "i_fsize @F %N, @s zero.\n" msgstr "i_fsize @F %N @s zero.\n" #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n -#: e2fsck/problem.c:1135 +#: e2fsck/problem.c:1058 #, fuzzy msgid "@i %i (%Q) has @n mode (%Im).\n" msgstr "L'@o %i (%Q) ha una modalità non valida (%Im).\n" -#. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n -#: e2fsck/problem.c:1140 -#, fuzzy -msgid "@d @i %i, %B, offset %N: @d corrupted\n" +#. @-expanded: directory inode %i, block %B, offset %N: directory corrupted\n +#: e2fsck/problem.c:1063 +msgid "@d @i %i, @b %B, offset %N: @d corrupted\n" msgstr "@i %i della @d, offset %N: @d corrotta\n" -#. @-expanded: directory inode %i, %B, offset %N: filename too long\n -#: e2fsck/problem.c:1145 -#, fuzzy -msgid "@d @i %i, %B, offset %N: filename too long\n" +#. @-expanded: directory inode %i, block %B, offset %N: filename too long\n +#: e2fsck/problem.c:1068 +msgid "@d @i %i, @b %B, offset %N: filename too long\n" msgstr "@i %i della @d, offset %N: nome file troppo lungo\n" -#. @-expanded: directory inode %i has an unallocated %B. -#: e2fsck/problem.c:1150 +#. @-expanded: directory inode %i has an unallocated block #%B. +#: e2fsck/problem.c:1073 #, fuzzy -msgid "@d @i %i has an unallocated %B. " +msgid "@d @i %i has an unallocated @b #%B. " msgstr "L'@i %i della @d ha un @b (#%B) non allocato. " #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1155 +#: e2fsck/problem.c:1078 #, c-format msgid "'.' @d @e in @d @i %i is not NULL terminated\n" msgstr "L'@e della @d '.' nell'@i %i della @d non è terminato da NULL\n" #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1160 +#: e2fsck/problem.c:1083 #, c-format msgid "'..' @d @e in @d @i %i is not NULL terminated\n" msgstr "L'@e della @d '..' nell'@i %i della @d non è terminato da NULL\n" #. @-expanded: inode %i (%Q) is an illegal character device.\n -#: e2fsck/problem.c:1165 +#: e2fsck/problem.c:1088 msgid "@i %i (%Q) is an @I character @v.\n" msgstr "L'@i %i (%Q) è un @v a caratteri @I.\n" #. @-expanded: inode %i (%Q) is an illegal block device.\n -#: e2fsck/problem.c:1170 +#: e2fsck/problem.c:1093 msgid "@i %i (%Q) is an @I @b @v.\n" msgstr "L'@i %i (%Q) è un @v a @b(i) @I.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n -#: e2fsck/problem.c:1175 +#: e2fsck/problem.c:1098 #, fuzzy msgid "@E is duplicate '.' @e.\n" msgstr "L'@E è un duplicato dell'@e '.'.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n -#: e2fsck/problem.c:1180 +#: e2fsck/problem.c:1103 msgid "@E is duplicate '..' @e.\n" msgstr "L'@E è un duplicato dell'@e '..'.\n" -#: e2fsck/problem.c:1185 e2fsck/problem.c:1485 +#: e2fsck/problem.c:1108 e2fsck/problem.c:1403 #, c-format msgid "Internal error: couldn't find dir_info for %i.\n" msgstr "Errore interno: impossibile trovare dir_info per %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n -#: e2fsck/problem.c:1190 +#: e2fsck/problem.c:1113 #, fuzzy msgid "@E has rec_len of %Dr, @s %N.\n" msgstr "L'@E ha rec_len di %Dr, dovrebbe essere %N.\n" #. @-expanded: error allocating icount structure: %m\n -#: e2fsck/problem.c:1195 +#: e2fsck/problem.c:1118 #, c-format msgid "@A icount structure: %m\n" msgstr "@A la struttura icount: %m\n" #. @-expanded: Error iterating over directory blocks: %m\n -#: e2fsck/problem.c:1200 +#: e2fsck/problem.c:1123 #, c-format msgid "Error iterating over @d @bs: %m\n" msgstr "Errore scorrendo i @b(i) delle @d: %m\n" #. @-expanded: Error reading directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1205 +#: e2fsck/problem.c:1128 msgid "Error reading @d @b %b (@i %i): %m\n" msgstr "Errore leggendo il @b della @d %b (@i %i): %m\n" #. @-expanded: Error writing directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1210 +#: e2fsck/problem.c:1133 msgid "Error writing @d @b %b (@i %i): %m\n" msgstr "Errore scrivendo il @b della @d %b (@i %i): %m\n" #. @-expanded: error allocating new directory block for inode %i (%s): %m\n -#: e2fsck/problem.c:1215 +#: e2fsck/problem.c:1138 #, c-format msgid "@A new @d @b for @i %i (%s): %m\n" msgstr "@A un nuovo @b della @d per l'@i %i (%s): %m\n" #. @-expanded: Error deallocating inode %i: %m\n -#: e2fsck/problem.c:1220 +#: e2fsck/problem.c:1143 #, fuzzy, c-format msgid "Error deallocating @i %i: %m\n" msgstr "Errore deallocando l'@i %i: %m\n" #. @-expanded: directory entry for '.' in %p (%i) is big.\n -#: e2fsck/problem.c:1225 +#: e2fsck/problem.c:1148 #, fuzzy, c-format msgid "@d @e for '.' in %p (%i) is big.\n" msgstr "L'@e della @d di '.' è grande. " #. @-expanded: inode %i (%Q) is an illegal FIFO.\n -#: e2fsck/problem.c:1230 +#: e2fsck/problem.c:1153 msgid "@i %i (%Q) is an @I FIFO.\n" msgstr "L'@i %i (%Q) è una FIFO @I.\n" #. @-expanded: inode %i (%Q) is an illegal socket.\n -#: e2fsck/problem.c:1235 +#: e2fsck/problem.c:1158 msgid "@i %i (%Q) is an @I socket.\n" msgstr "L'@i %i (%Q) è un socket @I.\n" #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n -#: e2fsck/problem.c:1240 +#: e2fsck/problem.c:1163 msgid "Setting filetype for @E to %N.\n" msgstr "Impostazione del tipo di file per l'@E a %N.\n" #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n -#: e2fsck/problem.c:1245 +#: e2fsck/problem.c:1168 #, fuzzy msgid "@E has an incorrect filetype (was %Dt, @s %N).\n" msgstr "L'@E non è del giusto tipo di file (era %Dt, dovrebbe essere %N).\n" #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n -#: e2fsck/problem.c:1250 +#: e2fsck/problem.c:1173 msgid "@E has filetype set.\n" msgstr "E' impostato il tipo di file per l'@E.\n" #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n -#: e2fsck/problem.c:1255 +#: e2fsck/problem.c:1178 #, fuzzy msgid "@E has a @z name.\n" msgstr "Il nome dell'@E è di lunghezza nulla.\n" #. @-expanded: Symlink %Q (inode #%i) is invalid.\n -#: e2fsck/problem.c:1260 +#: e2fsck/problem.c:1183 #, fuzzy msgid "Symlink %Q (@i #%i) is @n.\n" msgstr "Il symlink %Q (@i #%i) non è valido.\n" #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n -#: e2fsck/problem.c:1265 +#: e2fsck/problem.c:1188 msgid "@a @b @F @n (%If).\n" msgstr "" #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n -#: e2fsck/problem.c:1270 +#: e2fsck/problem.c:1193 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n" msgstr "" "Il @f contiene files di grandi dimensioni, ma nel @S non è specificato il " "flag LARGE_FILE.\n" -#. @-expanded: problem in HTREE directory inode %d: %B not referenced\n -#: e2fsck/problem.c:1275 +#. @-expanded: problem in HTREE directory inode %d: node (%B) not referenced\n +#: e2fsck/problem.c:1198 #, fuzzy -msgid "@p @h %d: %B not referenced\n" +msgid "@p @h %d: node (%B) not referenced\n" msgstr "@p un @h (%d): nodo (%B) non referenziato\n" -#. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n -#: e2fsck/problem.c:1280 +#. @-expanded: problem in HTREE directory inode %d: node (%B) referenced twice\n +#: e2fsck/problem.c:1203 #, fuzzy -msgid "@p @h %d: %B referenced twice\n" +msgid "@p @h %d: node (%B) referenced twice\n" msgstr "@p un @h (%d): nodo (%b) referenziato due volte\n" -#. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n -#: e2fsck/problem.c:1285 +#. @-expanded: problem in HTREE directory inode %d: node (%B) has bad min hash\n +#: e2fsck/problem.c:1208 #, fuzzy -msgid "@p @h %d: %B has bad min hash\n" +msgid "@p @h %d: node (%B) has bad min hash\n" msgstr "@p un @h (%d): nodo (%B) con hash minimo non valido\n" -#. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n -#: e2fsck/problem.c:1290 +#. @-expanded: problem in HTREE directory inode %d: node (%B) has bad max hash\n +#: e2fsck/problem.c:1213 #, fuzzy -msgid "@p @h %d: %B has bad max hash\n" +msgid "@p @h %d: node (%B) has bad max hash\n" msgstr "@p un @h (%d): nodo (%b) con hash massimo non valido\n" #. @-expanded: invalid HTREE directory inode %d (%q). -#: e2fsck/problem.c:1295 +#: e2fsck/problem.c:1218 #, fuzzy msgid "@n @h %d (%q). " msgstr "@h %d non valido (%q). " #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n -#: e2fsck/problem.c:1299 +#: e2fsck/problem.c:1222 msgid "@p @h %d (%q): bad @b number %b.\n" msgstr "@p un @h %d (%q): @b non valido numero %b.\n" #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n -#: e2fsck/problem.c:1309 +#: e2fsck/problem.c:1232 #, fuzzy, c-format msgid "@p @h %d: root node is @n\n" msgstr "@p un @h (%d): nodo root non valido\n" -#. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n -#: e2fsck/problem.c:1314 +#. @-expanded: problem in HTREE directory inode %d: node (%B) has invalid limit (%N)\n +#: e2fsck/problem.c:1237 #, fuzzy -msgid "@p @h %d: %B has @n limit (%N)\n" +msgid "@p @h %d: node (%B) has @n limit (%N)\n" msgstr "@p un @h (%d): nodo (%B) con limite non valido (%N)\n" -#. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n -#: e2fsck/problem.c:1319 +#. @-expanded: problem in HTREE directory inode %d: node (%B) has invalid count (%N)\n +#: e2fsck/problem.c:1242 #, fuzzy -msgid "@p @h %d: %B has @n count (%N)\n" +msgid "@p @h %d: node (%B) has @n count (%N)\n" msgstr "@p un @h (%d): numero (%N) di nodo (%B) non valido\n" -#. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n -#: e2fsck/problem.c:1324 -#, fuzzy -msgid "@p @h %d: %B has an unordered hash table\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has an unordered hash table\n +#: e2fsck/problem.c:1247 +msgid "@p @h %d: node (%B) has an unordered hash table\n" msgstr "@p un @h (%d): nodo (%B) con tabella hash non ordinata\n" -#. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n -#: e2fsck/problem.c:1329 +#. @-expanded: problem in HTREE directory inode %d: node (%B) has invalid depth (%N)\n +#: e2fsck/problem.c:1252 #, fuzzy -msgid "@p @h %d: %B has @n depth (%N)\n" +msgid "@p @h %d: node (%B) has @n depth (%N)\n" msgstr "@p un @h (%d): nodo (%B) con profondità non valida\n" #. @-expanded: Duplicate entry '%Dn' in %p (%i) found. -#: e2fsck/problem.c:1334 +#: e2fsck/problem.c:1257 msgid "Duplicate @E found. " msgstr "Trovato @E duplicato. " #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n #. @-expanded: Rename to %s -#: e2fsck/problem.c:1339 +#: e2fsck/problem.c:1262 #, no-c-format msgid "" "@E has a non-unique filename.\n" @@ -2293,7 +2155,7 @@ msgstr "" #. @-expanded: Duplicate entry '%Dn' found.\n #. @-expanded: \tMarking %p (%i) to be rebuilt.\n #. @-expanded: \n -#: e2fsck/problem.c:1344 +#: e2fsck/problem.c:1267 #, fuzzy msgid "" "Duplicate @e '%Dn' found.\n" @@ -2305,120 +2167,114 @@ msgstr "" "\n" #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1349 +#: e2fsck/problem.c:1272 #, fuzzy msgid "i_blocks_hi @F %N, @s zero.\n" msgstr "i_fsize @F %N @s zero.\n" #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n -#: e2fsck/problem.c:1354 +#: e2fsck/problem.c:1277 #, fuzzy msgid "Unexpected @b in @h %d (%q).\n" msgstr "@h %d non valido (%q). " #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n -#: e2fsck/problem.c:1358 +#: e2fsck/problem.c:1281 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n -#: e2fsck/problem.c:1363 +#: e2fsck/problem.c:1286 msgid "@E references @i %Di found in @g %g's unused inodes area.\n" msgstr "" -#. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1368 -#, fuzzy -msgid "i_file_acl_hi @F %N, @s zero.\n" -msgstr "i_file_acl @F %If @s zero.\n" - #. @-expanded: Pass 3: Checking directory connectivity\n -#: e2fsck/problem.c:1375 +#: e2fsck/problem.c:1293 msgid "Pass 3: Checking @d connectivity\n" msgstr "Passo 3: Controllo della connettività di @d\n" #. @-expanded: root inode not allocated. -#: e2fsck/problem.c:1380 +#: e2fsck/problem.c:1298 msgid "@r not allocated. " msgstr "@r non allocato." #. @-expanded: No room in lost+found directory. -#: e2fsck/problem.c:1385 +#: e2fsck/problem.c:1303 msgid "No room in @l @d. " msgstr "Non c'è spazio nella @d @l" #. @-expanded: Unconnected directory inode %i (%p)\n -#: e2fsck/problem.c:1390 +#: e2fsck/problem.c:1308 #, c-format msgid "Unconnected @d @i %i (%p)\n" msgstr "" #. @-expanded: /lost+found not found. -#: e2fsck/problem.c:1395 +#: e2fsck/problem.c:1313 msgid "/@l not found. " msgstr "/@l non trovata. " #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n -#: e2fsck/problem.c:1400 +#: e2fsck/problem.c:1318 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n" msgstr "'..' in %Q (%i) è %P (%j), @s %q (%d).\n" #. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n -#: e2fsck/problem.c:1405 +#: e2fsck/problem.c:1323 #, fuzzy msgid "Bad or non-existent /@l. Cannot reconnect.\n" msgstr "/@l non valida o inesistente. Impossibile riconnettere.\n" #. @-expanded: Could not expand /lost+found: %m\n -#: e2fsck/problem.c:1410 +#: e2fsck/problem.c:1328 #, c-format msgid "Could not expand /@l: %m\n" msgstr "Impossibile espandere /@l: %m\n" -#: e2fsck/problem.c:1415 +#: e2fsck/problem.c:1333 #, fuzzy, c-format msgid "Could not reconnect %i: %m\n" msgstr "Impossibile riconnettere %i: %m\n" #. @-expanded: Error while trying to find /lost+found: %m\n -#: e2fsck/problem.c:1420 +#: e2fsck/problem.c:1338 #, c-format msgid "Error while trying to find /@l: %m\n" msgstr "Errore cercando /@l: %m\n" #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1425 +#: e2fsck/problem.c:1343 #, fuzzy, c-format msgid "ext2fs_new_@b: %m while trying to create /@l @d\n" msgstr "ext2fs_new_block: %m cercando di creare la @d /@l\n" #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1430 +#: e2fsck/problem.c:1348 #, c-format msgid "ext2fs_new_@i: %m while trying to create /@l @d\n" msgstr "ext2fs_new_@i: %m cercando di creare la @d /@l\n" #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n -#: e2fsck/problem.c:1435 +#: e2fsck/problem.c:1353 #, fuzzy, c-format msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n" msgstr "ext2f_new_dir_block: %m creando un nuovo @b @d\n" #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n -#: e2fsck/problem.c:1440 +#: e2fsck/problem.c:1358 #, fuzzy, c-format msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n" msgstr "ext2fs_write_dir_block: %m scrivendo il @b @d per /@l\n" #. @-expanded: Error while adjusting inode count on inode %i\n -#: e2fsck/problem.c:1445 +#: e2fsck/problem.c:1363 #, c-format msgid "Error while adjusting @i count on @i %i\n" msgstr "Errore aggiustando il numero @i nell'@i %i\n" #. @-expanded: Couldn't fix parent of inode %i: %m\n #. @-expanded: \n -#: e2fsck/problem.c:1450 +#: e2fsck/problem.c:1368 #, c-format msgid "" "Couldn't fix parent of @i %i: %m\n" @@ -2427,7 +2283,7 @@ msgstr "" #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n #. @-expanded: \n -#: e2fsck/problem.c:1455 +#: e2fsck/problem.c:1373 #, c-format msgid "" "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n" @@ -2435,70 +2291,70 @@ msgid "" msgstr "" #. @-expanded: Error creating root directory (%s): %m\n -#: e2fsck/problem.c:1465 +#: e2fsck/problem.c:1383 #, c-format msgid "Error creating root @d (%s): %m\n" msgstr "Errore creando la @d root (%s): %m\n" #. @-expanded: Error creating /lost+found directory (%s): %m\n -#: e2fsck/problem.c:1470 +#: e2fsck/problem.c:1388 #, c-format msgid "Error creating /@l @d (%s): %m\n" msgstr "Errore creando la @d /@l (%s): %m\n" #. @-expanded: root inode is not a directory; aborting.\n -#: e2fsck/problem.c:1475 +#: e2fsck/problem.c:1393 #, fuzzy msgid "@r is not a @d; aborting.\n" msgstr "L'@r non è una @d; cancellazione.\n" #. @-expanded: Cannot proceed without a root inode.\n -#: e2fsck/problem.c:1480 +#: e2fsck/problem.c:1398 msgid "Cannot proceed without a @r.\n" msgstr "Impossibile procedere senza un @r.\n" #. @-expanded: /lost+found is not a directory (ino=%i)\n -#: e2fsck/problem.c:1490 +#: e2fsck/problem.c:1408 #, c-format msgid "/@l is not a @d (ino=%i)\n" msgstr "/@l non è una @d (ino=%i)\n" -#: e2fsck/problem.c:1497 +#: e2fsck/problem.c:1415 msgid "Pass 3A: Optimizing directories\n" msgstr "Passo 3A: Ottimizzazione delle directory\n" -#: e2fsck/problem.c:1502 +#: e2fsck/problem.c:1420 #, fuzzy, c-format msgid "Failed to create dirs_to_hash iterator: %m\n" msgstr "Impossibile creare un iteratore dirs_to_hash: %m" -#: e2fsck/problem.c:1507 +#: e2fsck/problem.c:1425 #, fuzzy msgid "Failed to optimize directory %q (%d): %m\n" msgstr "Impossibile ottimizzare la directory %q (%d): %m" -#: e2fsck/problem.c:1512 +#: e2fsck/problem.c:1430 msgid "Optimizing directories: " msgstr "Ottimizzazione delle directory: " -#: e2fsck/problem.c:1529 +#: e2fsck/problem.c:1447 msgid "Pass 4: Checking reference counts\n" msgstr "Pass 4: Controllo del numero dei riferimenti\n" #. @-expanded: unattached zero-length inode %i. -#: e2fsck/problem.c:1534 +#: e2fsck/problem.c:1452 #, fuzzy, c-format msgid "@u @z @i %i. " msgstr "@i @o @I %i nel @S.\n" #. @-expanded: unattached inode %i\n -#: e2fsck/problem.c:1539 +#: e2fsck/problem.c:1457 #, c-format msgid "@u @i %i\n" msgstr "" #. @-expanded: inode %i ref count is %Il, should be %N. -#: e2fsck/problem.c:1544 +#: e2fsck/problem.c:1462 #, fuzzy msgid "@i %i ref count is %Il, @s %N. " msgstr "Il contatore riferimenti dell'@i %i è %Il, @s %N. " @@ -2506,7 +2362,7 @@ msgstr "Il contatore riferimenti dell'@i %i #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n -#: e2fsck/problem.c:1548 +#: e2fsck/problem.c:1466 #, fuzzy msgid "" "WARNING: PROGRAMMING BUG IN E2FSCK!\n" @@ -2518,152 +2374,148 @@ msgstr "" "@i_link_info[%i] è %N, @i.i_links_count è %Il. Dovrebbero essere identici!\n" #. @-expanded: Pass 5: Checking group summary information\n -#: e2fsck/problem.c:1558 +#: e2fsck/problem.c:1476 #, fuzzy msgid "Pass 5: Checking @g summary information\n" msgstr "Passo 5: Controllo del riepilogo delle informazioni del @g\n" #. @-expanded: Padding at end of inode bitmap is not set. -#: e2fsck/problem.c:1563 +#: e2fsck/problem.c:1481 #, fuzzy msgid "Padding at end of @i @B is not set. " msgstr "Riempimento alla fine di @i @B non impostato. " #. @-expanded: Padding at end of block bitmap is not set. -#: e2fsck/problem.c:1568 +#: e2fsck/problem.c:1486 #, fuzzy msgid "Padding at end of @b @B is not set. " msgstr "Riempimento alla fine di @b @B non impostato. " #. @-expanded: block bitmap differences: -#: e2fsck/problem.c:1573 +#: e2fsck/problem.c:1491 msgid "@b @B differences: " msgstr "Differenze nella @B dei @b: " #. @-expanded: inode bitmap differences: -#: e2fsck/problem.c:1593 +#: e2fsck/problem.c:1511 msgid "@i @B differences: " msgstr "Differenze nella @B degli @i: " #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1613 +#: e2fsck/problem.c:1531 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n" msgstr "Numero degli @i liberi errato per il @g #%g (%i, contati=%j).\n" #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1618 +#: e2fsck/problem.c:1536 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n" msgstr "Numero delle directory errato per il @g #%g (%i, contati=%j).\n" #. @-expanded: Free inodes count wrong (%i, counted=%j).\n -#: e2fsck/problem.c:1623 +#: e2fsck/problem.c:1541 msgid "Free @is count wrong (%i, counted=%j).\n" msgstr "Numero degli @i liberi errato (%i, contati=%j).\n" #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n -#: e2fsck/problem.c:1628 +#: e2fsck/problem.c:1546 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n" msgstr "Numero dei @b(i) liberi errato per il @g #%g (%b, contati=%c).\n" #. @-expanded: Free blocks count wrong (%b, counted=%c).\n -#: e2fsck/problem.c:1633 +#: e2fsck/problem.c:1551 msgid "Free @bs count wrong (%b, counted=%c).\n" msgstr "Numero dei @b(i) liberi errato (%b, contati=%c).\n" #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap #. @-expanded: endpoints (%i, %j)\n -#: e2fsck/problem.c:1638 +#: e2fsck/problem.c:1556 msgid "" "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B " "endpoints (%i, %j)\n" msgstr "" -#: e2fsck/problem.c:1644 +#: e2fsck/problem.c:1562 #, fuzzy msgid "Internal error: fudging end of bitmap (%N)\n" msgstr "" "Errore interno: impossibile individuare la fine della mappa di bit (%N)\n" #. @-expanded: Error copying in replacement inode bitmap: %m\n -#: e2fsck/problem.c:1649 +#: e2fsck/problem.c:1567 #, fuzzy, c-format msgid "Error copying in replacement @i @B: %m\n" msgstr "Errore durante la lettura dell'@i %i: %m\n" #. @-expanded: Error copying in replacement block bitmap: %m\n -#: e2fsck/problem.c:1654 +#: e2fsck/problem.c:1572 #, c-format msgid "Error copying in replacement @b @B: %m\n" msgstr "" +#. @-expanded: Recreate journal +#: e2fsck/problem.c:1597 +#, fuzzy +msgid "Recreate @j" +msgstr "Ricrea" + #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n -#: e2fsck/problem.c:1679 +#: e2fsck/problem.c:1602 #, c-format msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n" msgstr "" #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n -#: e2fsck/problem.c:1684 +#: e2fsck/problem.c:1607 #, c-format msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n" msgstr "" -#. @-expanded: Recreate journal -#: e2fsck/problem.c:1691 -#, fuzzy -msgid "Recreate @j" -msgstr "Ricrea" - -#: e2fsck/problem.c:1696 -msgid "Update quota info for quota type %N" -msgstr "" - -#: e2fsck/problem.c:1815 +#: e2fsck/problem.c:1725 #, c-format msgid "Unhandled error code (0x%x)!\n" msgstr "Codice errore non gestito (0x%x)!\n" -#: e2fsck/problem.c:1940 e2fsck/problem.c:1944 +#: e2fsck/problem.c:1820 msgid "IGNORED" msgstr "IGNORATO" -#: e2fsck/scantest.c:79 +#: e2fsck/scantest.c:81 #, c-format msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n" msgstr "Memoria usata: %d, tempo rimasto: %6.3f/%6.3f/%6.3f\n" -#: e2fsck/scantest.c:98 +#: e2fsck/scantest.c:100 #, c-format msgid "size of inode=%d\n" msgstr "dimensione di un inode=%d\n" -#: e2fsck/scantest.c:119 +#: e2fsck/scantest.c:121 msgid "while starting inode scan" msgstr "iniziando la scansione degli inode" -#: e2fsck/scantest.c:130 +#: e2fsck/scantest.c:132 msgid "while doing inode scan" msgstr "durante la scansione dell'inode" -#: e2fsck/super.c:188 +#: e2fsck/super.c:187 #, c-format msgid "while calling ext2fs_block_iterate for inode %d" msgstr "chiamando ext2fs_block_iterate per l'inode %d" -#: e2fsck/super.c:211 +#: e2fsck/super.c:209 #, fuzzy, c-format -msgid "while calling ext2fs_adjust_ea_refcount2 for inode %d" +msgid "while calling ext2fs_adjust_ea_refcount for inode %d" msgstr "chiamando ext2fs_adjust_ea_refocunt per l'inode %d" -#: e2fsck/super.c:272 +#: e2fsck/super.c:267 msgid "Truncating" msgstr "" -#: e2fsck/super.c:273 +#: e2fsck/super.c:268 msgid "Clearing" msgstr "" -#: e2fsck/unix.c:74 +#: e2fsck/unix.c:76 #, fuzzy, c-format msgid "" "Usage: %s [-panyrcdfvtDFV] [-b superblock] [-B blocksize]\n" @@ -2676,7 +2528,7 @@ msgstr "" "\t\t[-l|-L file_blocchi_non_validi] [-C fd] [-j ext-journal]\n" "\t\t[-E opzioni-estese] device\n" -#: e2fsck/unix.c:80 +#: e2fsck/unix.c:82 #, c-format msgid "" "\n" @@ -2698,7 +2550,7 @@ msgstr "" " -f Forza il controllo anche se il filesystem è segnato " "come pulito\n" -#: e2fsck/unix.c:86 +#: e2fsck/unix.c:88 #, fuzzy, c-format msgid "" " -v Be verbose\n" @@ -2716,157 +2568,38 @@ msgstr "" " -l file_bad_blocks Aggiungi alla lista dei blocchi non validi\n" " -L file_bad_blocks Imposta la lista dei blocchi non validi\n" -#: e2fsck/unix.c:130 +#: e2fsck/unix.c:132 #, fuzzy, c-format -msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n" +msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n" msgstr "%s: %d/%d files (%0d.%d%% non contigui), %d/%d blocchi\n" -#: e2fsck/unix.c:137 -#, fuzzy, c-format -msgid "" -"\n" -"%8u inode used (%2.2f%%)\n" -msgid_plural "" -"\n" -"%8u inodes used (%2.2f%%)\n" -msgstr[0] "%d inode analizzati.\n" -msgstr[1] "%d inode analizzati.\n" - -#: e2fsck/unix.c:141 -#, c-format -msgid "%8u non-contiguous file (%0d.%d%%)\n" -msgid_plural "%8u non-contiguous files (%0d.%d%%)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:146 -#, c-format -msgid "%8u non-contiguous directory (%0d.%d%%)\n" -msgid_plural "%8u non-contiguous directories (%0d.%d%%)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:151 +#: e2fsck/unix.c:150 #, fuzzy, c-format msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" msgstr " # di inode con blocchi ind/dind/tind: %d/%d/%d\n" -#: e2fsck/unix.c:159 +#: e2fsck/unix.c:157 +#, c-format msgid " Extent depth histogram: " msgstr "" -#: e2fsck/unix.c:168 -#, c-format -msgid "%8llu block used (%2.2f%%)\n" -msgid_plural "%8llu blocks used (%2.2f%%)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:171 -#, fuzzy, c-format -msgid "%8u bad block\n" -msgid_plural "%8u bad blocks\n" -msgstr[0] "%u inode, %u blocchi\n" -msgstr[1] "%u inode, %u blocchi\n" - -#: e2fsck/unix.c:173 -#, fuzzy, c-format -msgid "%8u large file\n" -msgid_plural "%8u large files\n" -msgstr[0] "mappa degli inode dei file regolari" -msgstr[1] "mappa degli inode dei file regolari" - -#: e2fsck/unix.c:175 -#, fuzzy, c-format -msgid "" -"\n" -"%8u regular file\n" -msgid_plural "" -"\n" -"%8u regular files\n" -msgstr[0] "mappa degli inode dei file regolari" -msgstr[1] "mappa degli inode dei file regolari" - -#: e2fsck/unix.c:177 -#, fuzzy, c-format -msgid "%8u directory\n" -msgid_plural "%8u directories\n" -msgstr[0] "ddirectory" -msgstr[1] "ddirectory" - -#: e2fsck/unix.c:179 -#, c-format -msgid "%8u character device file\n" -msgid_plural "%8u character device files\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:182 -#, fuzzy, c-format -msgid "%8u block device file\n" -msgid_plural "%8u block device files\n" -msgstr[0] "vdevice" -msgstr[1] "vdevice" - -#: e2fsck/unix.c:184 -#, c-format -msgid "%8u fifo\n" -msgid_plural "%8u fifos\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:186 -#, c-format -msgid "%8u link\n" -msgid_plural "%8u links\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:189 -#, c-format -msgid "%8u symbolic link" -msgid_plural "%8u symbolic links" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:191 -#, c-format -msgid " (%u fast symbolic link)\n" -msgid_plural " (%u fast symbolic links)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:195 -#, c-format -msgid "%8u socket\n" -msgid_plural "%8u sockets\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:198 -#, c-format -msgid "%8u file\n" -msgid_plural "%8u files\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:212 misc/badblocks.c:983 misc/tune2fs.c:1979 misc/util.c:147 -#: resize/main.c:247 +#: e2fsck/unix.c:207 misc/badblocks.c:916 misc/tune2fs.c:1567 misc/util.c:151 +#: resize/main.c:248 #, c-format msgid "while determining whether %s is mounted." msgstr "determinando se %s è montato." -#: e2fsck/unix.c:230 -#, fuzzy, c-format -msgid "Warning! %s is %s.\n" +#: e2fsck/unix.c:225 +#, c-format +msgid "Warning! %s is mounted.\n" msgstr "Attenzione! %s è montato.\n" -#: e2fsck/unix.c:237 +#: e2fsck/unix.c:229 #, c-format -msgid "%s is %s.\n" -msgstr "" +msgid "%s is mounted. " +msgstr "%s è montato. " -#: e2fsck/unix.c:240 +#: e2fsck/unix.c:231 msgid "" "Cannot continue, aborting.\n" "\n" @@ -2874,13 +2607,13 @@ msgstr "" "Impossibile continuare, operazione annullata.\n" "\n" -#: e2fsck/unix.c:242 -#, fuzzy +#: e2fsck/unix.c:232 +#, c-format msgid "" "\n" "\n" -"WARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" -"cause ***SEVERE*** filesystem damage.\n" +"\a\a\a\aWARNING!!! Running e2fsck on a mounted filesystem may cause\n" +"SEVERE filesystem damage.\a\a\a\n" "\n" msgstr "" "\n" @@ -2889,140 +2622,126 @@ msgstr "" "causare SERI danni al filesystem.\a\a\a\n" "\n" -#: e2fsck/unix.c:247 +#: e2fsck/unix.c:235 msgid "Do you really want to continue" msgstr "Continuare" -#: e2fsck/unix.c:249 +#: e2fsck/unix.c:237 #, c-format msgid "check aborted.\n" msgstr "controllo annullato.\n" -#: e2fsck/unix.c:339 +#: e2fsck/unix.c:310 msgid " contains a file system with errors" msgstr " contiene un filesystem con errori" -#: e2fsck/unix.c:341 +#: e2fsck/unix.c:312 msgid " was not cleanly unmounted" msgstr " non è stato smontato in maniera corretta" -#: e2fsck/unix.c:343 +#: e2fsck/unix.c:314 msgid " primary superblock features different from backup" msgstr "" -#: e2fsck/unix.c:347 +#: e2fsck/unix.c:318 #, c-format msgid " has been mounted %u times without being checked" msgstr " è stato montato %u volte senza essere controllato" -#: e2fsck/unix.c:354 +#: e2fsck/unix.c:324 #, fuzzy msgid " has filesystem last checked time in the future" msgstr "" "Impostazione di data ed ora dell'ultimo controllo del filesystem a %s\n" -#: e2fsck/unix.c:360 +#: e2fsck/unix.c:330 #, c-format msgid " has gone %u days without being checked" msgstr " non è stato controllato negli ultimi %u giorni" -#: e2fsck/unix.c:369 +#: e2fsck/unix.c:339 msgid ", check forced.\n" msgstr ", controllo forzato.\n" -#: e2fsck/unix.c:402 +#: e2fsck/unix.c:342 #, fuzzy, c-format -msgid "%s: clean, %u/%u files, %llu/%llu blocks" +msgid "%s: clean, %u/%u files, %u/%u blocks" msgstr "%s: a posto, %d/%d file, %d/%d blocchi" -#: e2fsck/unix.c:421 +#: e2fsck/unix.c:359 #, fuzzy msgid " (check deferred; on battery)" msgstr " (controllo dopo il prossimo mount)" -#: e2fsck/unix.c:424 +#: e2fsck/unix.c:362 msgid " (check after next mount)" msgstr " (controllo dopo il prossimo mount)" -#: e2fsck/unix.c:426 +#: e2fsck/unix.c:364 #, c-format msgid " (check in %ld mounts)" msgstr " (controllo tra %ld mount)" -#: e2fsck/unix.c:576 +#: e2fsck/unix.c:511 #, c-format msgid "ERROR: Couldn't open /dev/null (%s)\n" msgstr "ERRORE: Impossibile aprire /dev/null (%s)\n" -#: e2fsck/unix.c:645 +#: e2fsck/unix.c:581 #, c-format msgid "Invalid EA version.\n" msgstr "Versione EA non valida.\n" -#: e2fsck/unix.c:672 +#: e2fsck/unix.c:590 #, c-format msgid "Unknown extended option: %s\n" msgstr "" -#: e2fsck/unix.c:697 +#: e2fsck/unix.c:612 #, c-format msgid "" "Syntax error in e2fsck config file (%s, line #%d)\n" "\t%s\n" msgstr "" -#: e2fsck/unix.c:766 +#: e2fsck/unix.c:680 #, c-format msgid "Error validating file descriptor %d: %s\n" msgstr "Errore convalidando il descrittore di file %d: %s\n" -#: e2fsck/unix.c:770 +#: e2fsck/unix.c:684 #, fuzzy msgid "Invalid completion information file descriptor" msgstr "Informazioni di completamento descrittore di file non valide" -#: e2fsck/unix.c:785 +#: e2fsck/unix.c:699 #, fuzzy msgid "Only one of the options -p/-a, -n or -y may be specified." msgstr "Solo una tra le opzioni -p/-a, -n o -y può essere specificata." -#: e2fsck/unix.c:806 +#: e2fsck/unix.c:720 #, c-format msgid "The -t option is not supported on this version of e2fsck.\n" msgstr "L'opzione -t non è supportata da questa versione di e2fsck.\n" -#: e2fsck/unix.c:837 e2fsck/unix.c:909 misc/tune2fs.c:811 misc/tune2fs.c:1100 -#: misc/tune2fs.c:1118 +#: e2fsck/unix.c:801 misc/tune2fs.c:549 misc/tune2fs.c:833 misc/tune2fs.c:850 #, c-format msgid "Unable to resolve '%s'" msgstr "Impossibile risolvere '%s'" -#: e2fsck/unix.c:888 -msgid "The -n and -D options are incompatible." -msgstr "" - -#: e2fsck/unix.c:893 -msgid "The -n and -c options are incompatible." -msgstr "" - -#: e2fsck/unix.c:898 -#, fuzzy -msgid "The -n and -l/-L options are incompatible." -msgstr "Le opzioni -c e -I/-L non possono essere usate contemporaneamente.\n" - -#: e2fsck/unix.c:943 +#: e2fsck/unix.c:831 #, c-format msgid "The -c and the -l/-L options may not be both used at the same time.\n" msgstr "Le opzioni -c e -I/-L non possono essere usate contemporaneamente.\n" -#: e2fsck/unix.c:991 +#: e2fsck/unix.c:879 #, c-format msgid "" "E2FSCK_JBD_DEBUG \"%s\" not an integer\n" "\n" msgstr "" -#: e2fsck/unix.c:1000 +#: e2fsck/unix.c:888 #, c-format msgid "" "\n" @@ -3030,66 +2749,39 @@ msgid "" "\n" msgstr "" -#: e2fsck/unix.c:1089 -#, c-format -msgid "" -"MMP interval is %u seconds and total wait time is %u seconds. Please " -"wait...\n" -msgstr "" - -#: e2fsck/unix.c:1106 e2fsck/unix.c:1111 -#, fuzzy -msgid "while checking MMP block" -msgstr "impostando il superblocco" - -#: e2fsck/unix.c:1113 misc/tune2fs.c:1912 -msgid "" -"If you are sure the filesystem is not in use on any node, run:\n" -"'tune2fs -f -E clear_mmp {device}'\n" -msgstr "" - -#: e2fsck/unix.c:1163 +#: e2fsck/unix.c:929 #, c-format msgid "Error: ext2fs library version out of date!\n" msgstr "Errore: versione obsoleta della libreria ext2fs!\n" -#: e2fsck/unix.c:1171 +#: e2fsck/unix.c:937 msgid "while trying to initialize program" msgstr "tentando di inizializzare il programma" -#: e2fsck/unix.c:1194 +#: e2fsck/unix.c:951 #, c-format msgid "\tUsing %s, %s\n" msgstr "\tUtilizzando %s, %s\n" -#: e2fsck/unix.c:1206 +#: e2fsck/unix.c:963 msgid "need terminal for interactive repairs" msgstr "serve il terminale per il riparo interattivo" -#: e2fsck/unix.c:1256 +#: e2fsck/unix.c:1010 #, fuzzy, c-format msgid "%s: %s trying backup blocks...\n" msgstr "%s cercando tra i blocchi di backup...\n" -#: e2fsck/unix.c:1258 +#: e2fsck/unix.c:1012 msgid "Superblock invalid," msgstr "" -#: e2fsck/unix.c:1259 +#: e2fsck/unix.c:1013 msgid "Group descriptors look bad..." msgstr "I descrittori di gruppo sembrano non validi..." -#: e2fsck/unix.c:1269 -#, fuzzy, c-format -msgid "%s: %s while using the backup blocks" -msgstr "%s cercando tra i blocchi di backup...\n" - -#: e2fsck/unix.c:1273 -#, fuzzy, c-format -msgid "%s: going back to original superblock\n" -msgstr "%s: non è stato trovato un superblocco valido del journal\n" - -#: e2fsck/unix.c:1301 +#: e2fsck/unix.c:1040 +#, c-format msgid "" "The filesystem revision is apparently too high for this version of e2fsck.\n" "(Or the filesystem superblock is corrupt)\n" @@ -3100,29 +2792,28 @@ msgstr "" "(O il superblocco del filesystem è corrotto)\n" "\n" -#: e2fsck/unix.c:1307 +#: e2fsck/unix.c:1046 +#, c-format msgid "Could this be a zero-length partition?\n" msgstr "E' possibile che questa sia una partizione di dimensione zero?\n" -#: e2fsck/unix.c:1310 +#: e2fsck/unix.c:1048 #, c-format msgid "You must have %s access to the filesystem or be root\n" msgstr "Serve accesso di tipo %s al filesystem, o è necessario essere root\n" -#: e2fsck/unix.c:1315 +#: e2fsck/unix.c:1053 +#, c-format msgid "Possibly non-existent or swap device?\n" msgstr "Device non esistente o di swap?\n" -#: e2fsck/unix.c:1318 +#: e2fsck/unix.c:1055 +#, c-format msgid "Filesystem mounted or opened exclusively by another program?\n" msgstr "" -#: e2fsck/unix.c:1321 -#, fuzzy -msgid "Possibly non-existent device?\n" -msgstr "Device non esistente o di swap?\n" - -#: e2fsck/unix.c:1324 +#: e2fsck/unix.c:1059 +#, c-format msgid "" "Disk write-protected; use the -n option to do a read-only\n" "check of the device.\n" @@ -3130,16 +2821,17 @@ msgstr "" "Disco protetto da scrittura: usare l'opzione -n per controllare\n" "in modalità sola lettura.\n" -#: e2fsck/unix.c:1389 +#: e2fsck/unix.c:1123 msgid "Get a newer version of e2fsck!" msgstr "Utilizzare una versione più nuova di e2fsck." -#: e2fsck/unix.c:1437 +#: e2fsck/unix.c:1147 #, c-format msgid "while checking ext3 journal for %s" msgstr "controllando il journal ext3 per %s" -#: e2fsck/unix.c:1448 +#: e2fsck/unix.c:1158 +#, c-format msgid "" "Warning: skipping journal recovery because doing a read-only filesystem " "check.\n" @@ -3148,78 +2840,91 @@ msgstr "" "ripristinato.\n" # fuzzy -#: e2fsck/unix.c:1461 +#: e2fsck/unix.c:1171 #, c-format msgid "unable to set superblock flags on %s\n" msgstr "impossibile impostarei i flag del superblocco a %s\n" -#: e2fsck/unix.c:1467 +#: e2fsck/unix.c:1177 #, c-format msgid "while recovering ext3 journal of %s" msgstr "ripristinando il journal ext3 di %s" -#: e2fsck/unix.c:1492 +#: e2fsck/unix.c:1201 #, fuzzy, c-format msgid "%s has unsupported feature(s):" msgstr "L'@h %i ha una versione dell'hash non supportata (%N)\n" -#: e2fsck/unix.c:1507 -#, fuzzy, c-format -msgid "%s: warning: compression support is experimental.\n" +#: e2fsck/unix.c:1217 +msgid "Warning: compression support is experimental.\n" msgstr "Attenzione: il supporto per la compressione è sperimentale.\n" -#: e2fsck/unix.c:1513 -#, fuzzy, c-format +#: e2fsck/unix.c:1222 +#, c-format msgid "" -"%s: e2fsck not compiled with HTREE support,\n" +"E2fsck not compiled with HTREE support,\n" "\tbut filesystem %s has HTREE directories.\n" msgstr "" "E2fsck non è stato compilato con il supporto HTREE,\n" "\tma il filesystem %s contiene directory HTREE.\n" -#: e2fsck/unix.c:1565 -#, fuzzy, c-format -msgid "%s: %s while reading bad blocks inode\n" +#: e2fsck/unix.c:1276 +msgid "while reading bad blocks inode" msgstr "leggendo l'inode numero 1" -#: e2fsck/unix.c:1568 +#: e2fsck/unix.c:1278 +#, c-format msgid "This doesn't bode well, but we'll try to go on...\n" msgstr "Questo non è un buon segno, ma si tenterà di continuare...\n" -#: e2fsck/unix.c:1609 +#: e2fsck/unix.c:1304 +msgid "Couldn't determine journal size" +msgstr "" + +#: e2fsck/unix.c:1307 #, c-format msgid "Creating journal (%d blocks): " msgstr "Creazione del journal (%d blocchi): " -#: e2fsck/unix.c:1619 -#, fuzzy +#: e2fsck/unix.c:1314 misc/mke2fs.c:2091 +msgid "" +"\n" +"\twhile trying to create journal" +msgstr "" +"\n" +"\tcercando di creare il journal" + +#: e2fsck/unix.c:1317 +#, fuzzy, c-format msgid " Done.\n" msgstr "fatto\n" -#: e2fsck/unix.c:1620 +#: e2fsck/unix.c:1318 +#, c-format msgid "" "\n" "*** journal has been re-created - filesystem is now ext3 again ***\n" msgstr "" -#: e2fsck/unix.c:1643 +#: e2fsck/unix.c:1325 +#, c-format msgid "Restarting e2fsck from the beginning...\n" msgstr "Riavvio di e2fsck dall'inizio...\n" -#: e2fsck/unix.c:1647 +#: e2fsck/unix.c:1329 msgid "while resetting context" msgstr "resettando il contesto" -#: e2fsck/unix.c:1654 +#: e2fsck/unix.c:1336 #, c-format msgid "%s: e2fsck canceled.\n" msgstr "%s: e2fsck cancellato.\n" -#: e2fsck/unix.c:1659 +#: e2fsck/unix.c:1341 msgid "aborted" msgstr "annullato" -#: e2fsck/unix.c:1671 e2fsck/util.c:67 +#: e2fsck/unix.c:1353 #, c-format msgid "" "\n" @@ -3228,12 +2933,12 @@ msgstr "" "\n" "%s: ***** IL FILESYSTEM E' STATO MODIFICATO *****\n" -#: e2fsck/unix.c:1675 +#: e2fsck/unix.c:1356 #, c-format msgid "%s: ***** REBOOT LINUX *****\n" msgstr "%s: ***** RIAVVIARE LINUX *****\n" -#: e2fsck/unix.c:1683 e2fsck/util.c:73 +#: e2fsck/unix.c:1364 #, c-format msgid "" "\n" @@ -3245,44 +2950,44 @@ msgstr "" "************\n" "\n" -#: e2fsck/unix.c:1723 +#: e2fsck/unix.c:1400 #, fuzzy msgid "while setting block group checksum info" msgstr "impostando l'inode del blocco difettoso" -#: e2fsck/util.c:189 misc/util.c:70 +#: e2fsck/util.c:138 misc/util.c:68 msgid "yY" msgstr "sS" -#: e2fsck/util.c:190 +#: e2fsck/util.c:139 msgid "nN" msgstr "nN" -#: e2fsck/util.c:204 +#: e2fsck/util.c:153 msgid "" msgstr "" -#: e2fsck/util.c:206 +#: e2fsck/util.c:155 msgid "" msgstr "" -#: e2fsck/util.c:208 +#: e2fsck/util.c:157 msgid " (y/n)" msgstr " (s/n)" -#: e2fsck/util.c:222 +#: e2fsck/util.c:172 msgid "cancelled!\n" msgstr "cancellato!\n" -#: e2fsck/util.c:237 +#: e2fsck/util.c:187 msgid "yes\n" msgstr "sì\n" -#: e2fsck/util.c:239 +#: e2fsck/util.c:189 msgid "no\n" msgstr "no\n" -#: e2fsck/util.c:249 +#: e2fsck/util.c:199 #, c-format msgid "" "%s? no\n" @@ -3291,7 +2996,7 @@ msgstr "" "%s? no\n" "\n" -#: e2fsck/util.c:253 +#: e2fsck/util.c:203 #, c-format msgid "" "%s? yes\n" @@ -3300,40 +3005,40 @@ msgstr "" "%s? sì\n" "\n" -#: e2fsck/util.c:257 +#: e2fsck/util.c:207 msgid "yes" msgstr "sì" -#: e2fsck/util.c:257 +#: e2fsck/util.c:207 msgid "no" msgstr "no" -#: e2fsck/util.c:272 +#: e2fsck/util.c:221 #, c-format msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s" msgstr "" -#: e2fsck/util.c:277 +#: e2fsck/util.c:226 msgid "reading inode and block bitmaps" msgstr "lettura delle mappe di bit inode e blocco" -#: e2fsck/util.c:285 +#: e2fsck/util.c:231 #, c-format msgid "while retrying to read bitmaps for %s" msgstr "riprovando a leggere le mappe di bit per %s" -#: e2fsck/util.c:297 +#: e2fsck/util.c:243 #, fuzzy msgid "writing block and inode bitmaps" msgstr "scrivendo le mappe di bit di blocco" -#: e2fsck/util.c:302 +#: e2fsck/util.c:248 #, fuzzy, c-format msgid "while rewriting block and inode bitmaps for %s" msgstr "riprovando a scrivere le mappe di bit di inode per %s" # fuzzy -#: e2fsck/util.c:314 +#: e2fsck/util.c:260 #, c-format msgid "" "\n" @@ -3346,52 +3051,46 @@ msgstr "" "%s: INCONSISTENZA INASPETTATA: ESEGUIRE fsck MANUALMENTE.\n" "\t(es., senza le opzioni -a o -p)\n" -#: e2fsck/util.c:395 -#, fuzzy, c-format -msgid "Memory used: %luk/%luk (%luk/%luk), " +#: e2fsck/util.c:336 +#, c-format +msgid "Memory used: %dk/%dk (%dk/%dk), " msgstr "Memoria usata: %dk/%dk (%dk/%dk), " -#: e2fsck/util.c:399 -#, fuzzy, c-format -msgid "Memory used: %lu, " +#: e2fsck/util.c:340 +#, c-format +msgid "Memory used: %d, " msgstr "Memoria usata: %d, " -#: e2fsck/util.c:406 +#: e2fsck/util.c:346 #, c-format msgid "time: %5.2f/%5.2f/%5.2f\n" msgstr "durata: %5.2f/%5.2f/%5.2f\n" -#: e2fsck/util.c:411 +#: e2fsck/util.c:351 #, c-format msgid "elapsed time: %6.3f\n" msgstr "tempo rimanente: %6.3f\n" -#: e2fsck/util.c:446 e2fsck/util.c:460 -#, fuzzy, c-format -msgid "while reading inode %lu in %s" +#: e2fsck/util.c:385 e2fsck/util.c:399 +#, c-format +msgid "while reading inode %ld in %s" msgstr "leggendo l'inode %ld in %s" -#: e2fsck/util.c:474 e2fsck/util.c:487 -#, fuzzy, c-format -msgid "while writing inode %lu in %s" +#: e2fsck/util.c:413 e2fsck/util.c:426 +#, c-format +msgid "while writing inode %ld in %s" msgstr "scrivendo l'inode %ld in %s" -#: e2fsck/util.c:636 +#: e2fsck/util.c:575 msgid "while allocating zeroizing buffer" msgstr "allocando i buffer zeroizing" -#: e2fsck/util.c:788 -msgid "" -"UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is " -"running.\n" -msgstr "" - -#: misc/badblocks.c:69 +#: misc/badblocks.c:66 #, fuzzy -msgid "done \n" +msgid "done \n" msgstr "fatto \n" -#: misc/badblocks.c:93 +#: misc/badblocks.c:89 #, fuzzy, c-format msgid "" "Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnf]\n" @@ -3405,91 +3104,91 @@ msgstr "" "modello_di_prova [...]]]\n" " device [blocco_finale [blocco_iniziale]]\n" -#: misc/badblocks.c:104 +#: misc/badblocks.c:100 #, c-format msgid "" "%s: The -n and -w options are mutually exclusive.\n" "\n" msgstr "" -#: misc/badblocks.c:219 +#: misc/badblocks.c:202 #, c-format -msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)" +msgid "%6.2f%% done, %s elapsed" msgstr "" -#: misc/badblocks.c:322 +#: misc/badblocks.c:289 msgid "Testing with random pattern: " msgstr "Controllo con un modello casuale: " -#: misc/badblocks.c:340 +#: misc/badblocks.c:307 msgid "Testing with pattern 0x" msgstr "Controllo con modello 0x" -#: misc/badblocks.c:372 misc/badblocks.c:445 +#: misc/badblocks.c:335 misc/badblocks.c:404 msgid "during seek" msgstr "durante la ricerca" -#: misc/badblocks.c:383 +#: misc/badblocks.c:346 #, c-format msgid "Weird value (%ld) in do_read\n" msgstr "Valore strano (%ld) nella do_read\n" -#: misc/badblocks.c:469 +#: misc/badblocks.c:424 msgid "during ext2fs_sync_device" msgstr "durante la ext2fs_sync_device" -#: misc/badblocks.c:489 misc/badblocks.c:749 +#: misc/badblocks.c:440 misc/badblocks.c:699 msgid "while beginning bad block list iteration" msgstr "iniziando a scorrere la lista dei blocchi difettosi" -#: misc/badblocks.c:503 misc/badblocks.c:602 misc/badblocks.c:759 +#: misc/badblocks.c:454 misc/badblocks.c:551 misc/badblocks.c:709 msgid "while allocating buffers" msgstr "allocando i buffer" -#: misc/badblocks.c:507 +#: misc/badblocks.c:458 #, c-format msgid "Checking blocks %lu to %lu\n" msgstr "Controllo dei blocchi da %lu a %lu\n" -#: misc/badblocks.c:512 +#: misc/badblocks.c:463 msgid "Checking for bad blocks in read-only mode\n" msgstr "Ricerca dei blocchi non validi in modalità sola lettura\n" -#: misc/badblocks.c:521 +#: misc/badblocks.c:472 msgid "Checking for bad blocks (read-only test): " msgstr "Ricerca dei blocchi non validi (test a sola lettura): " -#: misc/badblocks.c:528 misc/badblocks.c:634 misc/badblocks.c:676 -#: misc/badblocks.c:822 +#: misc/badblocks.c:480 misc/badblocks.c:583 misc/badblocks.c:628 +#: misc/badblocks.c:772 msgid "Too many bad blocks, aborting test\n" msgstr "" -#: misc/badblocks.c:609 +#: misc/badblocks.c:558 msgid "Checking for bad blocks in read-write mode\n" msgstr "Ricerca dei blocchi non validi in modalità lettura-scrittura\n" -#: misc/badblocks.c:611 misc/badblocks.c:772 +#: misc/badblocks.c:560 misc/badblocks.c:722 #, c-format msgid "From block %lu to %lu\n" msgstr "Dal blocco %lu al blocco %lu\n" -#: misc/badblocks.c:666 +#: misc/badblocks.c:618 msgid "Reading and comparing: " msgstr "Lettura e confronto: " -#: misc/badblocks.c:771 +#: misc/badblocks.c:721 msgid "Checking for bad blocks in non-destructive read-write mode\n" msgstr "" "Ricerca dei blocchi non validi in modalità lettura-scrittura non " "distruttiva\n" -#: misc/badblocks.c:777 +#: misc/badblocks.c:727 msgid "Checking for bad blocks (non-destructive read-write test)\n" msgstr "" "Ricerca dei blocchi non validi (test in moalità lettura-scrittura non " "distruttiva)\n" -#: misc/badblocks.c:784 +#: misc/badblocks.c:734 msgid "" "\n" "Interrupt caught, cleaning up\n" @@ -3497,55 +3196,60 @@ msgstr "" "\n" "Rilevato interrupt, pulizia in corso\n" -#: misc/badblocks.c:867 +#: misc/badblocks.c:810 #, c-format msgid "during test data write, block %lu" msgstr "durante la scrittura dei dati del test, blocco %lu" -#: misc/badblocks.c:988 misc/util.c:152 +#: misc/badblocks.c:921 misc/util.c:156 #, c-format msgid "%s is mounted; " msgstr "%s è montato: " -#: misc/badblocks.c:990 +#: misc/badblocks.c:923 #, fuzzy msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "forzato comunque badblocks. Speriamo che /etc/mtab si errato.\n" -#: misc/badblocks.c:995 +#: misc/badblocks.c:928 msgid "it's not safe to run badblocks!\n" msgstr "non è sicuro eseguire badblocks!\n" -#: misc/badblocks.c:1000 misc/util.c:163 +#: misc/badblocks.c:933 misc/util.c:167 #, c-format msgid "%s is apparently in use by the system; " msgstr "" -#: misc/badblocks.c:1003 +#: misc/badblocks.c:936 #, fuzzy msgid "badblocks forced anyway.\n" msgstr "forzato comunque badblocks. Speriamo che /etc/mtab si errato.\n" -#: misc/badblocks.c:1023 +#: misc/badblocks.c:956 #, fuzzy, c-format msgid "invalid %s - %s" msgstr "dimensione del blocco difettoso - %s" -#: misc/badblocks.c:1133 +#: misc/badblocks.c:1015 +#, c-format +msgid "bad block size - %s" +msgstr "dimensione del blocco difettoso - %s" + +#: misc/badblocks.c:1070 #, c-format msgid "can't allocate memory for test_pattern - %s" msgstr "impossibile allocare memoria per il modello di prova - %s" -#: misc/badblocks.c:1163 +#: misc/badblocks.c:1097 msgid "Maximum of one test_pattern may be specified in read-only mode" msgstr "" "E' possibile specificare un solo modello di prova in modalità sola lettura" -#: misc/badblocks.c:1169 +#: misc/badblocks.c:1103 msgid "Random test_pattern is not allowed in read-only mode" msgstr "Modello di prova casuale non consentito in modalità sola lettura" -#: misc/badblocks.c:1183 +#: misc/badblocks.c:1117 msgid "" "Couldn't determine device size; you must specify\n" "the size manually\n" @@ -3553,172 +3257,148 @@ msgstr "" "Impossibile determinare la dimensione del device:\n" "specificarla manualmente\n" -#: misc/badblocks.c:1189 +#: misc/badblocks.c:1123 msgid "while trying to determine device size" msgstr "tentando di determinare la dimensione del device" -#: misc/badblocks.c:1194 +#: misc/badblocks.c:1128 #, fuzzy msgid "last block" msgstr "Rilocazione dei blocchi" -#: misc/badblocks.c:1200 +#: misc/badblocks.c:1134 #, fuzzy msgid "first block" msgstr "Primo blocco dati=%u\n" # fuzzy -#: misc/badblocks.c:1203 +#: misc/badblocks.c:1137 #, fuzzy, c-format msgid "invalid starting block (%lu): must be less than %lu" msgstr "blocco iniziale non valido - %s" -#: misc/badblocks.c:1259 +#: misc/badblocks.c:1193 #, fuzzy msgid "while creating in-memory bad blocks list" msgstr "creando la lista dei blocchi non validi in memoria" -#: misc/badblocks.c:1274 +#: misc/badblocks.c:1208 #, fuzzy msgid "while adding to in-memory bad block list" msgstr "aggiungendo un elemento alla lista dei blocchi difettosi in memoria" -#: misc/badblocks.c:1298 -#, fuzzy, c-format -msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n" +#: misc/badblocks.c:1232 +#, c-format +msgid "Pass completed, %u bad blocks found.\n" msgstr "Passo completato. %u blocchi non validi trovati.\n" -#: misc/chattr.c:86 +#: misc/chattr.c:85 #, fuzzy, c-format -msgid "Usage: %s [-RVf] [-+=AacDdeijsSu] [-v version] files...\n" +msgid "Usage: %s [-RVf] [-+=AacDdijsSu] [-v version] files...\n" msgstr "uso: %s [-RV] [-+=AacDdijsSu] [-v versione] file...\n" -#: misc/chattr.c:154 +#: misc/chattr.c:152 #, c-format msgid "bad version - %s\n" msgstr "versione non valida - %s\n" -#: misc/chattr.c:201 misc/lsattr.c:116 +#: misc/chattr.c:198 misc/lsattr.c:113 #, c-format msgid "while trying to stat %s" msgstr "tentando di fare lo stat di %s" -#: misc/chattr.c:208 -#, c-format -msgid "while reading flags on %s" -msgstr "leggendo i flag di %s" - -#: misc/chattr.c:217 misc/chattr.c:236 -#, c-format -msgid "Clearing extent flag not supported on %s" -msgstr "" - -#: misc/chattr.c:222 misc/chattr.c:241 +#: misc/chattr.c:204 misc/chattr.c:222 #, c-format msgid "Flags of %s set as " msgstr "flag di %s impostati come" -#: misc/chattr.c:250 +#: misc/chattr.c:214 +#, c-format +msgid "while reading flags on %s" +msgstr "leggendo i flag di %s" + +#: misc/chattr.c:231 #, c-format msgid "while setting flags on %s" msgstr "impostando i flag di %s" -#: misc/chattr.c:258 +#: misc/chattr.c:239 #, c-format msgid "Version of %s set as %lu\n" msgstr "Versione di %s impostata a %lu\n" -#: misc/chattr.c:262 +#: misc/chattr.c:243 #, c-format msgid "while setting version on %s" msgstr "impostando la versione a %s" -#: misc/chattr.c:282 +#: misc/chattr.c:263 #, c-format msgid "Couldn't allocate path variable in chattr_dir_proc" msgstr "Impossibile allocare la variabile di percorso nella chattr_dir_proc" -#: misc/chattr.c:322 +#: misc/chattr.c:302 msgid "= is incompatible with - and +\n" msgstr "= è incompatibile con + e -\n" -#: misc/chattr.c:330 +#: misc/chattr.c:310 msgid "Must use '-v', =, - or +\n" msgstr "Si deve usare '-v', =, - o +\n" -#: misc/dumpe2fs.c:55 -#, fuzzy, c-format -msgid "Usage: %s [-bfhixV] [-o superblock=] [-o blocksize=] device\n" +#: misc/dumpe2fs.c:53 +#, c-format +msgid "Usage: %s [-bfhixV] [-ob superblock] [-oB blocksize] device\n" msgstr "Uso: %s [-bfhixV] [-ob superblocco] [-oB dim_blocco] device\n" -#: misc/dumpe2fs.c:159 -#, fuzzy -msgid "blocks" -msgstr "bblocco" - #: misc/dumpe2fs.c:168 -msgid "clusters" -msgstr "" - -#: misc/dumpe2fs.c:196 #, c-format msgid "Group %lu: (Blocks " msgstr "Gruppo %lu: (Blocchi " -#: misc/dumpe2fs.c:204 -#, c-format -msgid " Checksum 0x%04x" -msgstr "" - -#: misc/dumpe2fs.c:206 +#: misc/dumpe2fs.c:173 #, c-format -msgid " (EXPECTED 0x%04x)" +msgid " Checksum 0x%04x, unused inodes %d\n" msgstr "" -#: misc/dumpe2fs.c:207 -#, fuzzy, c-format -msgid ", unused inodes %u\n" -msgstr "dimensione inode non valida - %s" - -#: misc/dumpe2fs.c:212 +#: misc/dumpe2fs.c:178 #, c-format msgid " %s superblock at " msgstr " superblocco %s a " -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Primary" msgstr "Primario" -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Backup" msgstr "Backup" -#: misc/dumpe2fs.c:217 +#: misc/dumpe2fs.c:183 #, c-format msgid ", Group descriptors at " msgstr ", Descrittori di gruppo a " -#: misc/dumpe2fs.c:221 +#: misc/dumpe2fs.c:187 #, fuzzy, c-format msgid "" "\n" " Reserved GDT blocks at " msgstr "blocchi riservati" -#: misc/dumpe2fs.c:228 +#: misc/dumpe2fs.c:194 #, c-format msgid " Group descriptor at " msgstr " Descrittori di gruppo a" -#: misc/dumpe2fs.c:234 +#: misc/dumpe2fs.c:200 msgid " Block bitmap at " msgstr " Mappa dei bit di blocco a " -#: misc/dumpe2fs.c:238 +#: misc/dumpe2fs.c:205 msgid ", Inode bitmap at " msgstr ", mappa dei bit inode a " -#: misc/dumpe2fs.c:242 +#: misc/dumpe2fs.c:210 msgid "" "\n" " Inode table at " @@ -3726,89 +3406,54 @@ msgstr "" "\n" " Tavola degli inode a " -#: misc/dumpe2fs.c:248 +#: misc/dumpe2fs.c:217 #, fuzzy, c-format msgid "" "\n" -" %u free %s, %u free inodes, %u directories%s" +" %u free blocks, %u free inodes, %u directories%s" msgstr "" "\n" " %d blocchi liberi, %d inode liberi, %d directory\n" -#: misc/dumpe2fs.c:255 +#: misc/dumpe2fs.c:224 #, c-format msgid ", %u unused inodes\n" msgstr "" -#: misc/dumpe2fs.c:258 +#: misc/dumpe2fs.c:227 msgid " Free blocks: " msgstr " Blocchi liberi: " -#: misc/dumpe2fs.c:269 +#: misc/dumpe2fs.c:237 msgid " Free inodes: " msgstr " Inode liberi: " -#: misc/dumpe2fs.c:300 +#: misc/dumpe2fs.c:264 msgid "while printing bad block list" msgstr "stampando la lista dei blocchi difettosi" -#: misc/dumpe2fs.c:306 +#: misc/dumpe2fs.c:270 #, fuzzy, c-format msgid "Bad blocks: %u" msgstr "Blocchi non validi: %d" -#: misc/dumpe2fs.c:333 misc/tune2fs.c:302 +#: misc/dumpe2fs.c:292 misc/tune2fs.c:279 msgid "while reading journal inode" msgstr "leggendo l'inode del journal" -#: misc/dumpe2fs.c:339 -#, fuzzy -msgid "while opening journal inode" -msgstr "leggendo l'inode del journal" - -#: misc/dumpe2fs.c:345 -#, fuzzy -msgid "while reading journal super block" -msgstr "leggendo il superblocco del journal" - -#: misc/dumpe2fs.c:355 -#, c-format -msgid "Journal features: " -msgstr "" - -#: misc/dumpe2fs.c:368 +#: misc/dumpe2fs.c:295 msgid "Journal size: " msgstr "" -#: misc/dumpe2fs.c:379 -#, fuzzy, c-format -msgid "" -"Journal length: %u\n" -"Journal sequence: 0x%08x\n" -"Journal start: %u\n" -msgstr "" -"\n" -"Dimensione dei blocchi del journal: %d\n" -"Dimensione del journal: %d\n" -"Primo blocco del journal: %d\n" -"Sequenza del journal: ox%08x\n" -"Inizio del journal: %d\n" -"Numero di utenti del journal: %d\n" - -#: misc/dumpe2fs.c:386 -#, c-format -msgid "Journal errno: %d\n" -msgstr "" - -#: misc/dumpe2fs.c:401 misc/tune2fs.c:218 +#: misc/dumpe2fs.c:319 misc/tune2fs.c:200 msgid "while reading journal superblock" msgstr "leggendo il superblocco del journal" -#: misc/dumpe2fs.c:409 +#: misc/dumpe2fs.c:327 msgid "Couldn't find journal superblock magic numbers" msgstr "Impossibile trovare i magic numbers del superblocco del journal" -#: misc/dumpe2fs.c:413 +#: misc/dumpe2fs.c:331 #, fuzzy, c-format msgid "" "\n" @@ -3827,27 +3472,27 @@ msgstr "" "Inizio del journal: %d\n" "Numero di utenti del journal: %d\n" -#: misc/dumpe2fs.c:426 +#: misc/dumpe2fs.c:344 #, c-format msgid "Journal users: %s\n" msgstr "" -#: misc/dumpe2fs.c:442 misc/mke2fs.c:662 misc/tune2fs.c:1137 +#: misc/dumpe2fs.c:360 misc/mke2fs.c:693 misc/tune2fs.c:868 #, fuzzy, c-format msgid "Couldn't allocate memory to parse options!\n" msgstr "Impossibile allocare memoria per fare il parsing delle opzioni raid!\n" -#: misc/dumpe2fs.c:468 +#: misc/dumpe2fs.c:386 #, fuzzy, c-format msgid "Invalid superblock parameter: %s\n" msgstr "Parametro di stride non valido.\n" -#: misc/dumpe2fs.c:483 +#: misc/dumpe2fs.c:401 #, fuzzy, c-format msgid "Invalid blocksize parameter: %s\n" msgstr "Parametro di stride non valido.\n" -#: misc/dumpe2fs.c:494 +#: misc/dumpe2fs.c:412 #, fuzzy, c-format msgid "" "\n" @@ -3870,18 +3515,18 @@ msgstr "" "\tstride=lunghezza stride in blocchi>\n" "\n" -#: misc/dumpe2fs.c:554 misc/mke2fs.c:1525 +#: misc/dumpe2fs.c:471 misc/mke2fs.c:1355 #, c-format msgid "\tUsing %s\n" msgstr "\tUsando %s\n" -#: misc/dumpe2fs.c:590 misc/e2image.c:1309 misc/tune2fs.c:1923 -#: resize/main.c:305 +#: misc/dumpe2fs.c:507 misc/e2image.c:674 misc/tune2fs.c:1518 +#: resize/main.c:311 #, c-format msgid "Couldn't find valid filesystem superblock.\n" msgstr "Impossibile trovare un valido superblocco per il filesystem.\n" -#: misc/dumpe2fs.c:618 +#: misc/dumpe2fs.c:532 #, c-format msgid "" "\n" @@ -3890,82 +3535,77 @@ msgstr "" "\n" "%s: %s: errore leggendo le mappe di bit: %s\n" -#: misc/e2image.c:87 +#: misc/e2image.c:52 #, fuzzy, c-format -msgid "Usage: %s [-rsIQ] device image_file\n" +msgid "Usage: %s [-rsI] device image_file\n" msgstr "Uso: %s [-r] dispositivo file_immagine\n" -#: misc/e2image.c:135 -#, c-format -msgid "Error: header size is bigger than wrt_size\n" -msgstr "" - -#: misc/e2image.c:141 +#: misc/e2image.c:64 msgid "Couldn't allocate header buffer\n" msgstr "Impossibile allocare il buffer d'intestazione\n" -#: misc/e2image.c:171 +#: misc/e2image.c:83 +#, c-format +msgid "short write (only %d bytes) for writing image header" +msgstr "" + +#: misc/e2image.c:102 msgid "while writing superblock" msgstr "scrivendo il superblocco" -#: misc/e2image.c:179 +#: misc/e2image.c:110 msgid "while writing inode table" msgstr "scrivendo la tavola degli inode" -#: misc/e2image.c:186 +#: misc/e2image.c:117 msgid "while writing block bitmap" msgstr "scrivendo la mappa dei bit del blocco" -#: misc/e2image.c:193 +#: misc/e2image.c:124 msgid "while writing inode bitmap" msgstr "scrivendo la mappa dei bit dell'inode" -#: misc/e2image.c:1341 -#, c-format -msgid "while trying to convert qcow2 image (%s) into raw image (%s)" -msgstr "" - -#: misc/e2label.c:58 +#: misc/e2label.c:57 #, c-format msgid "e2label: cannot open %s\n" msgstr "e2label: impossibile aprire %s\n" -#: misc/e2label.c:63 +#: misc/e2label.c:62 #, c-format msgid "e2label: cannot seek to superblock\n" msgstr "e2label: impossibile raggiungere il superblocco\n" -#: misc/e2label.c:68 +#: misc/e2label.c:67 #, c-format msgid "e2label: error reading superblock\n" msgstr "e2label: errore durante la lettura del superblocco\n" -#: misc/e2label.c:72 +#: misc/e2label.c:71 #, c-format msgid "e2label: not an ext2 filesystem\n" msgstr "e2label: non è un filesystem ext2\n" -#: misc/e2label.c:97 misc/tune2fs.c:2074 +#: misc/e2label.c:96 misc/tune2fs.c:1653 #, c-format msgid "Warning: label too long, truncating.\n" msgstr "Attenzione: troncamento dell'etichetta, troppo lunga.\n" -#: misc/e2label.c:100 +#: misc/e2label.c:99 #, c-format msgid "e2label: cannot seek to superblock again\n" msgstr "e2label: impossibile spostarsi nuovamente sul superblocco\n" -#: misc/e2label.c:105 +#: misc/e2label.c:104 #, c-format msgid "e2label: error writing superblock\n" msgstr "e2label: errore durante la scrittura del superblocco\n" -#: misc/e2label.c:117 misc/tune2fs.c:803 +#: misc/e2label.c:116 misc/tune2fs.c:541 #, c-format msgid "Usage: e2label device [newlabel]\n" msgstr "Uso: e2label device [nuova_etichetta]\n" -#: misc/e2undo.c:36 +#: misc/e2undo.c:35 #, c-format msgid "Usage: %s \n" msgstr "" @@ -3975,7 +3615,7 @@ msgstr "" msgid "Failed to read the file system data \n" msgstr "Impossibile creare un iteratore dirs_to_hash: %m" -#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:206 +#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:204 #, c-format msgid "Failed tdb_fetch %s\n" msgstr "" @@ -3989,49 +3629,48 @@ msgstr "" msgid "The file system UUID didn't match \n" msgstr "" -#: misc/e2undo.c:163 +#: misc/e2undo.c:161 #, fuzzy, c-format msgid "Failed tdb_open %s\n" msgstr "avviando la scansione degli inode" -#: misc/e2undo.c:169 +#: misc/e2undo.c:167 #, fuzzy, c-format msgid "Error while determining whether %s is mounted.\n" msgstr "determinando se %s è montato." -#: misc/e2undo.c:175 +#: misc/e2undo.c:173 msgid "e2undo should only be run on unmounted file system\n" msgstr "" -#: misc/e2undo.c:184 +#: misc/e2undo.c:182 #, fuzzy, c-format msgid "Failed to open %s\n" msgstr "durante l'apertura di %s" -#: misc/e2undo.c:210 +#: misc/e2undo.c:208 #, c-format -msgid "Replayed transaction of size %zd at location %llu\n" +msgid "Replayed transaction of size %zd at location %ld\n" msgstr "" -#: misc/e2undo.c:216 +#: misc/e2undo.c:214 #, c-format msgid "Failed write %s\n" msgstr "" -#: misc/fsck.c:343 +#: misc/fsck.c:347 #, c-format msgid "WARNING: couldn't open %s: %s\n" msgstr "ATTENZIONE: impossibile aprire %s: %s\n" -#: misc/fsck.c:353 +#: misc/fsck.c:357 #, c-format msgid "WARNING: bad format on line %d of %s\n" msgstr "ATTENZIONE: formato non valido alla linea %d di %s\n" -#: misc/fsck.c:370 -#, fuzzy +#: misc/fsck.c:372 msgid "" -"WARNING: Your /etc/fstab does not contain the fsck passno\n" +"\a\a\aWARNING: Your /etc/fstab does not contain the fsck passno\n" "\tfield. I will kludge around things for you, but you\n" "\tshould fix your /etc/fstab file as soon as you can.\n" "\n" @@ -4041,37 +3680,37 @@ msgstr "" "\tessere sistemato al più presto.\n" "\n" -#: misc/fsck.c:478 +#: misc/fsck.c:481 #, c-format msgid "fsck: %s: not found\n" msgstr "fsck: %s: non trovato\n" -#: misc/fsck.c:594 +#: misc/fsck.c:597 #, c-format msgid "%s: wait: No more child process?!?\n" msgstr "%s: aspetta: Non ci sono processi figli?!?\n" -#: misc/fsck.c:616 +#: misc/fsck.c:619 #, c-format msgid "Warning... %s for device %s exited with signal %d.\n" msgstr "Attenzione... %s per il device %s è uscito con il segnale %d.\n" -#: misc/fsck.c:622 +#: misc/fsck.c:625 #, c-format msgid "%s %s: status is %x, should never happen.\n" msgstr "%s %s: lo stato è %x, non dovrebbe avvenire mai.\n" -#: misc/fsck.c:661 +#: misc/fsck.c:664 #, c-format msgid "Finished with %s (exit status %d)\n" msgstr "Terminato con %s (stato di uscita %d)\n" -#: misc/fsck.c:721 +#: misc/fsck.c:724 #, c-format msgid "%s: Error %d while executing fsck.%s for %s\n" msgstr "%s: Errore %d eseguendo fsck. %s per %s\n" -#: misc/fsck.c:742 +#: misc/fsck.c:745 msgid "" "Either all or none of the filesystem types passed to -t must be prefixed\n" "with 'no' or '!'.\n" @@ -4080,73 +3719,72 @@ msgstr "" "preceduti\n" "da 'no' o '!'.\n" -#: misc/fsck.c:761 +#: misc/fsck.c:764 msgid "Couldn't allocate memory for filesystem types\n" msgstr "Impossibile allocare memoria per i tipi di filesystem\n" -#: misc/fsck.c:884 +#: misc/fsck.c:887 #, c-format msgid "" "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass " "number\n" msgstr "" -#: misc/fsck.c:911 +#: misc/fsck.c:914 #, c-format msgid "fsck: cannot check %s: fsck.%s not found\n" msgstr "fsck: impossibile controllare %s: fsck.%s non trovato\n" -#: misc/fsck.c:967 +#: misc/fsck.c:970 msgid "Checking all file systems.\n" msgstr "Controllo di tutti i filesystem.\n" -#: misc/fsck.c:1058 +#: misc/fsck.c:1061 #, c-format msgid "--waiting-- (pass %d)\n" msgstr "--attesa-- (passo %d)\n" -#: misc/fsck.c:1078 +#: misc/fsck.c:1081 #, fuzzy msgid "" "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" msgstr "Uso: fsck [-ACNPRTV] [-t tipofs] [opzioni-fs] [filesys ...]\n" -#: misc/fsck.c:1120 +#: misc/fsck.c:1123 #, c-format msgid "%s: too many devices\n" msgstr "%s: troppi device\n" -#: misc/fsck.c:1153 misc/fsck.c:1239 +#: misc/fsck.c:1156 misc/fsck.c:1242 #, c-format msgid "%s: too many arguments\n" msgstr "%s: troppi parametri\n" -#: misc/lsattr.c:74 +#: misc/lsattr.c:73 #, c-format msgid "Usage: %s [-RVadlv] [files...]\n" msgstr "Uso: %s [RVadlv] [file ...]\n" -#: misc/lsattr.c:84 +#: misc/lsattr.c:83 #, c-format msgid "While reading flags on %s" msgstr "Durante la lettura dei flag di %s" -#: misc/lsattr.c:91 +#: misc/lsattr.c:90 #, c-format msgid "While reading version on %s" msgstr "Durante la lettura della versione di %s" -#: misc/mke2fs.c:114 +#: misc/mke2fs.c:104 #, fuzzy, c-format msgid "" -"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n" +"Usage: %s [-c|-l filename] [-b block-size] [-f fragment-size]\n" "\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n" -"\t[-G flex-group-size] [-N number-of-inodes]\n" +"\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n" "\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n" -"\t[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-" -"count]\n" +"\t[-T fs-type] [-U UUID] [-jnqvFSV] device [blocks-count]\n" msgstr "" "Uso: %s [-c|-t|-l nomefile] [-b dim_blocchi] [-f dim_frammento]\n" "\t[-i byte-per-inode] [-j] [-J opzioni-journal] [-N numero-di-inode]\n" @@ -4155,38 +3793,38 @@ msgstr "" "\t[-L etichetta-volume] [-M ultima-dir-montata] [-O caratteristica[,...]]\n" "\t[-r revisione-fs] [-R opz_raid] [-qvSV] device [numero-blocchi]\n" -#: misc/mke2fs.c:217 +#: misc/mke2fs.c:206 #, c-format msgid "Running command: %s\n" msgstr "Esecuzione del comando: %s\n" -#: misc/mke2fs.c:221 +#: misc/mke2fs.c:210 #, fuzzy, c-format msgid "while trying to run '%s'" msgstr "provando a caricare '%s'" -#: misc/mke2fs.c:228 +#: misc/mke2fs.c:217 msgid "while processing list of bad blocks from program" msgstr "analizzando una lista di blocchi non validi dal programma" -#: misc/mke2fs.c:255 +#: misc/mke2fs.c:244 #, c-format msgid "Block %d in primary superblock/group descriptor area bad.\n" msgstr "" "Blocco %d non valido nel superblocco primario/area del descrittore di " "gruppo.\n" -#: misc/mke2fs.c:257 +#: misc/mke2fs.c:246 #, fuzzy, c-format msgid "Blocks %u through %u must be good in order to build a filesystem.\n" msgstr "" "I blocchi da %d a %d devono essere validi per costruire un filesystem.\n" -#: misc/mke2fs.c:260 +#: misc/mke2fs.c:249 msgid "Aborting....\n" msgstr "Annullamento....\n" -#: misc/mke2fs.c:280 +#: misc/mke2fs.c:269 #, fuzzy, c-format msgid "" "Warning: the backup superblock/group descriptors at block %u contain\n" @@ -4197,215 +3835,188 @@ msgstr "" "\tcontengono blocchi non validi.\n" "\n" -#: misc/mke2fs.c:299 +#: misc/mke2fs.c:288 msgid "while marking bad blocks as used" msgstr "contrassegnando i blocchi non validi come utilizzati" -#: misc/mke2fs.c:316 +#: misc/mke2fs.c:346 +msgid "done \n" +msgstr "fatto \n" + +#: misc/mke2fs.c:360 msgid "Writing inode tables: " msgstr "Scrittura delle tavole degli inode: " -#: misc/mke2fs.c:337 +#: misc/mke2fs.c:383 #, fuzzy, c-format msgid "" "\n" -"Could not write %d blocks in inode table starting at %llu: %s\n" +"Could not write %d blocks in inode table starting at %u: %s\n" msgstr "" "\n" -"Impossibile scrivere %d blocchi nella tavola degli inode iniziando da %d: " -"%s\n" +"Impossibile scrivere %d blocchi nella tavola degli inode iniziando da %d: %" +"s\n" -#: misc/mke2fs.c:351 misc/mke2fs.c:2175 misc/mke2fs.c:2429 -#, c-format -msgid "done \n" -msgstr "fatto \n" - -#: misc/mke2fs.c:362 +#: misc/mke2fs.c:407 msgid "while creating root dir" msgstr "creando la directory root" -#: misc/mke2fs.c:369 +#: misc/mke2fs.c:414 msgid "while reading root inode" msgstr "creando l'inode root" -#: misc/mke2fs.c:383 +#: misc/mke2fs.c:428 msgid "while setting root inode ownership" msgstr "impostando i permessi dell'inode root" -#: misc/mke2fs.c:401 +#: misc/mke2fs.c:446 msgid "while creating /lost+found" msgstr "creando /lost+found" -#: misc/mke2fs.c:408 +#: misc/mke2fs.c:453 msgid "while looking up /lost+found" msgstr "cercando /lost+found" -#: misc/mke2fs.c:421 +#: misc/mke2fs.c:466 msgid "while expanding /lost+found" msgstr "espandendo /lost+found" -#: misc/mke2fs.c:436 +#: misc/mke2fs.c:481 msgid "while setting bad block inode" msgstr "impostando l'inode del blocco difettoso" -#: misc/mke2fs.c:463 +#: misc/mke2fs.c:508 #, c-format msgid "Out of memory erasing sectors %d-%d\n" msgstr "Fine memoria cancellando i settori %d-%d\n" -#: misc/mke2fs.c:473 +#: misc/mke2fs.c:518 #, c-format msgid "Warning: could not read block 0: %s\n" msgstr "Attenzione: impossibile leggere il blocco 0: %s\n" -#: misc/mke2fs.c:489 +#: misc/mke2fs.c:534 #, c-format msgid "Warning: could not erase sector %d: %s\n" msgstr "Attenzione: impossibile cancellare il settore %d: %s\n" -#: misc/mke2fs.c:505 +#: misc/mke2fs.c:550 msgid "while initializing journal superblock" msgstr "inizializzando il superblocco del journal" -#: misc/mke2fs.c:513 +#: misc/mke2fs.c:556 msgid "Zeroing journal device: " msgstr "Azzeramento del device di journaling: " -#: misc/mke2fs.c:525 +#: misc/mke2fs.c:569 #, fuzzy, c-format -msgid "while zeroing journal device (block %llu, count %d)" +msgid "while zeroing journal device (block %u, count %d)" msgstr "azzerando il device di journaling (blocco %u, numero %d)" -#: misc/mke2fs.c:543 +#: misc/mke2fs.c:585 msgid "while writing journal superblock" msgstr "scrivendo il superblocco del journal" -#: misc/mke2fs.c:558 +#: misc/mke2fs.c:601 #, fuzzy, c-format msgid "" -"warning: %llu blocks unused.\n" +"warning: %u blocks unused.\n" "\n" msgstr "" "attenzione: %d blocchi inutilizzati.\n" "\n" -#: misc/mke2fs.c:563 +#: misc/mke2fs.c:606 #, c-format msgid "Filesystem label=%s\n" msgstr "Etichetta del filesystem=%s\n" -#: misc/mke2fs.c:566 -#, fuzzy, c-format -msgid "OS type: %s\n" +#: misc/mke2fs.c:607 +msgid "OS type: " msgstr "Tipo SO: " -#: misc/mke2fs.c:568 +#: misc/mke2fs.c:612 #, c-format msgid "Block size=%u (log=%u)\n" msgstr "Dimensione blocco=%u (log=%u)\n" -#: misc/mke2fs.c:572 -#, fuzzy, c-format -msgid "Cluster size=%u (log=%u)\n" -msgstr "Dimensione blocco=%u (log=%u)\n" - -#: misc/mke2fs.c:576 +#: misc/mke2fs.c:614 #, c-format msgid "Fragment size=%u (log=%u)\n" msgstr "Dimensione frammento=%u (log=%u)\n" -#: misc/mke2fs.c:578 +#: misc/mke2fs.c:616 #, c-format -msgid "Stride=%u blocks, Stripe width=%u blocks\n" -msgstr "" - -#: misc/mke2fs.c:580 -#, fuzzy, c-format -msgid "%u inodes, %llu blocks\n" +msgid "%u inodes, %u blocks\n" msgstr "%u inode, %u blocchi\n" -#: misc/mke2fs.c:582 -#, fuzzy, c-format -msgid "%llu blocks (%2.2f%%) reserved for the super user\n" +#: misc/mke2fs.c:618 +#, c-format +msgid "%u blocks (%2.2f%%) reserved for the super user\n" msgstr "%u blocchi (%2.2f%%) riservati per l'utente root\n" -#: misc/mke2fs.c:585 +#: misc/mke2fs.c:621 #, c-format msgid "First data block=%u\n" msgstr "Primo blocco dati=%u\n" -#: misc/mke2fs.c:587 +#: misc/mke2fs.c:623 #, fuzzy, c-format msgid "Maximum filesystem blocks=%lu\n" msgstr "Etichetta del filesystem=%s\n" -#: misc/mke2fs.c:591 +#: misc/mke2fs.c:627 #, c-format msgid "%u block groups\n" msgstr "%u gruppi di blocchi\n" -#: misc/mke2fs.c:593 +#: misc/mke2fs.c:629 #, fuzzy, c-format msgid "%u block group\n" msgstr "%u gruppo di blocchi\n" -#: misc/mke2fs.c:596 -#, fuzzy, c-format -msgid "%u blocks per group, %u clusters per group\n" -msgstr "%u blocchi per gruppo, %u frammenti per gruppo\n" - -#: misc/mke2fs.c:599 +#: misc/mke2fs.c:630 #, c-format msgid "%u blocks per group, %u fragments per group\n" msgstr "%u blocchi per gruppo, %u frammenti per gruppo\n" -#: misc/mke2fs.c:601 +#: misc/mke2fs.c:632 #, c-format msgid "%u inodes per group\n" msgstr "%u inode per gruppo\n" -#: misc/mke2fs.c:608 +#: misc/mke2fs.c:639 #, c-format msgid "Superblock backups stored on blocks: " msgstr "Backup del superblocco salvati nei blocchi: " -#: misc/mke2fs.c:687 misc/tune2fs.c:1165 -#, fuzzy, c-format -msgid "Invalid mmp_update_interval: %s\n" -msgstr "modello di prova non valido: %s\n" - -#: misc/mke2fs.c:701 +#: misc/mke2fs.c:718 #, fuzzy, c-format msgid "Invalid stride parameter: %s\n" msgstr "Parametro di stride non valido.\n" -#: misc/mke2fs.c:716 +#: misc/mke2fs.c:733 #, fuzzy, c-format msgid "Invalid stripe-width parameter: %s\n" msgstr "Parametro di stride non valido.\n" -#: misc/mke2fs.c:739 +#: misc/mke2fs.c:755 #, fuzzy, c-format msgid "Invalid resize parameter: %s\n" msgstr "Parametro di stride non valido.\n" -#: misc/mke2fs.c:746 +#: misc/mke2fs.c:762 #, c-format msgid "The resize maximum must be greater than the filesystem size.\n" msgstr "" -#: misc/mke2fs.c:770 +#: misc/mke2fs.c:786 #, c-format msgid "On-line resizing not supported with revision 0 filesystems\n" msgstr "" #: misc/mke2fs.c:808 #, fuzzy, c-format -msgid "Invalid quotatype parameter: %s\n" -msgstr "Parametro di stride non valido.\n" - -#: misc/mke2fs.c:819 -#, fuzzy, c-format msgid "" "\n" "Bad option(s) specified: %s\n" @@ -4418,11 +4029,7 @@ msgid "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" -"\tlazy_journal_init=<0 to disable, 1 to enable>\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" msgstr "" "\n" @@ -4435,7 +4042,7 @@ msgstr "" "\tstride=lunghezza stride in blocchi>\n" "\n" -#: misc/mke2fs.c:839 +#: misc/mke2fs.c:824 #, c-format msgid "" "\n" @@ -4443,170 +4050,150 @@ msgid "" "\n" msgstr "" -#: misc/mke2fs.c:878 +#: misc/mke2fs.c:856 #, c-format msgid "" "Syntax error in mke2fs config file (%s, line #%d)\n" "\t%s\n" msgstr "" -#: misc/mke2fs.c:891 misc/tune2fs.c:393 +#: misc/mke2fs.c:869 misc/tune2fs.c:353 #, c-format msgid "Invalid filesystem option set: %s\n" msgstr "Set di opzioni del filesystem non valido: %s\n" -#: misc/mke2fs.c:903 misc/tune2fs.c:345 -#, c-format -msgid "Invalid mount option set: %s\n" -msgstr "Insieme di opzioni di mount non valido: %s\n" - -#: misc/mke2fs.c:1043 +#: misc/mke2fs.c:979 #, c-format msgid "" "\n" -"Your mke2fs.conf file does not define the %s filesystem type.\n" +"Warning! Your mke2fs.conf file does not define the %s filesystem type.\n" msgstr "" -#: misc/mke2fs.c:1047 +#: misc/mke2fs.c:982 #, c-format msgid "" "You probably need to install an updated mke2fs.conf file.\n" "\n" msgstr "" -#: misc/mke2fs.c:1051 -#, fuzzy, c-format -msgid "Aborting...\n" -msgstr "Annullamento....\n" - -#: misc/mke2fs.c:1091 -#, c-format -msgid "" -"\n" -"Warning: the fs_type %s is not defined in mke2fs.conf\n" -"\n" -msgstr "" - -#: misc/mke2fs.c:1249 -#, fuzzy, c-format -msgid "Couldn't allocate memory for new PATH.\n" -msgstr "Impossibile allocare memoria per i tipi di filesystem\n" - -#: misc/mke2fs.c:1290 -#, c-format -msgid "Couldn't init profile successfully (error: %ld).\n" -msgstr "" - -#: misc/mke2fs.c:1330 +#: misc/mke2fs.c:1177 #, fuzzy, c-format msgid "invalid block size - %s" msgstr "dimensione del blocco difettoso - %s" -#: misc/mke2fs.c:1334 +#: misc/mke2fs.c:1181 #, c-format msgid "Warning: blocksize %d not usable on most systems.\n" msgstr "" "Attenzione: la dimensione di blocco %d non è utilizzabile su molti sistemi.\n" -#: misc/mke2fs.c:1350 +#: misc/mke2fs.c:1197 #, fuzzy, c-format -msgid "invalid cluster size - %s" -msgstr "dimensione del blocco difettoso - %s" +msgid "invalid fragment size - %s" +msgstr "dimensione del frammento non valida - %s" + +#: misc/mke2fs.c:1203 +#, c-format +msgid "Warning: fragments not supported. Ignoring -f option\n" +msgstr "Attenzione: frammenti non supportati. Opzione -f ignorata\n" -#: misc/mke2fs.c:1362 +#: misc/mke2fs.c:1210 msgid "Illegal number for blocks per group" msgstr "Numero di blocchi per gruppo non valido" -#: misc/mke2fs.c:1367 +#: misc/mke2fs.c:1215 msgid "blocks per group must be multiple of 8" msgstr "i blocchi per gruppo devono essere multipli di 8" -#: misc/mke2fs.c:1375 +#: misc/mke2fs.c:1223 #, fuzzy msgid "Illegal number for flex_bg size" msgstr "Numero di blocchi non valido!\n" -#: misc/mke2fs.c:1381 +#: misc/mke2fs.c:1229 msgid "flex_bg size must be a power of 2" msgstr "" -#: misc/mke2fs.c:1391 +#: misc/mke2fs.c:1239 #, fuzzy, c-format msgid "invalid inode ratio %s (min %d/max %d)" msgstr "tasso di inode non valido %s (min %d/max %d)" -#: misc/mke2fs.c:1401 -#, c-format -msgid "" -"Warning: -K option is deprecated and should not be used anymore. Use '-E " -"nodiscard' extended option instead!\n" -msgstr "" - -#: misc/mke2fs.c:1415 +#: misc/mke2fs.c:1256 msgid "in malloc for bad_blocks_filename" msgstr "nella malloc per bad_blocks_filename" -#: misc/mke2fs.c:1425 +#: misc/mke2fs.c:1265 #, fuzzy, c-format msgid "invalid reserved blocks percent - %s" msgstr "percentuale di blocchi riservati non valida - %s" -#: misc/mke2fs.c:1443 +#: misc/mke2fs.c:1283 #, fuzzy, c-format msgid "bad revision level - %s" msgstr "versione non valida - %s\n" -#: misc/mke2fs.c:1455 +#: misc/mke2fs.c:1295 #, fuzzy, c-format msgid "invalid inode size - %s" msgstr "dimensione inode non valida - %s" -#: misc/mke2fs.c:1475 +#: misc/mke2fs.c:1315 #, fuzzy, c-format msgid "bad num inodes - %s" msgstr "dimensione inode non valida - %s" -#: misc/mke2fs.c:1492 -#, fuzzy -msgid "The -t option may only be used once" -msgstr "-o può essere specificata solo una volta" - -#: misc/mke2fs.c:1500 -#, fuzzy -msgid "The -T option may only be used once" -msgstr "-o può essere specificata solo una volta" - -#: misc/mke2fs.c:1550 misc/mke2fs.c:2508 +#: misc/mke2fs.c:1380 misc/mke2fs.c:2052 #, c-format msgid "while trying to open journal device %s\n" msgstr "durante l'apertura del dispositivo di journaling %s\n" -#: misc/mke2fs.c:1556 +#: misc/mke2fs.c:1386 #, c-format msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n" msgstr "" "Dimensione dei blocchi del device di journaling (%d) minore della dim minima " "dei blocchi %d\n" -#: misc/mke2fs.c:1562 +#: misc/mke2fs.c:1392 #, fuzzy, c-format msgid "Using journal device's blocksize: %d\n" msgstr "Aggiunta del journal al device %s: " -#: misc/mke2fs.c:1573 +#: misc/mke2fs.c:1401 +#, c-format +msgid "%d-byte blocks too big for system (max %d)" +msgstr "blocchi di %d byte troppo grandi per il sistema (max %d)" + +#: misc/mke2fs.c:1405 +#, c-format +msgid "" +"Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +msgstr "" +"Attenzione: blocchi di %d bytes troppo grandi per il sistema (max %d), " +"continuo comunque\n" + +#: misc/mke2fs.c:1413 #, fuzzy, c-format -msgid "invalid blocks '%s' on device '%s'" +msgid "invalid blocks count - %s" msgstr "numero dei blocchi non validi - %s" -#: misc/mke2fs.c:1583 +#: misc/mke2fs.c:1423 msgid "filesystem" msgstr "filesystem" -#: misc/mke2fs.c:1596 resize/main.c:374 +#: misc/mke2fs.c:1459 +#, c-format +msgid "" +"%s: Size of device %s too big to be expressed in 32 bits\n" +"\tusing a blocksize of %d.\n" +msgstr "" + +#: misc/mke2fs.c:1468 resize/main.c:371 msgid "while trying to determine filesystem size" msgstr "tentando di determinare la dimensione del filesystem" -#: misc/mke2fs.c:1602 +#: misc/mke2fs.c:1475 msgid "" "Couldn't determine device size; you must specify\n" "the size of the filesystem\n" @@ -4614,7 +4201,7 @@ msgstr "" "Impossibile determinare la dimensione del device: bisogna\n" "specificare la dimensione del filesystem\n" -#: misc/mke2fs.c:1609 +#: misc/mke2fs.c:1482 msgid "" "Device size reported to be zero. Invalid partition specified, or\n" "\tpartition table wasn't reread after running fdisk, due to\n" @@ -4627,140 +4214,88 @@ msgstr "" "\tdi fdisk, poiché una partizione modificata era occupata. Potrebbe essere\n" "\tnecessario riavviare per rileggere la tabella delle partizioni.\n" -#: misc/mke2fs.c:1626 +#: misc/mke2fs.c:1500 msgid "Filesystem larger than apparent device size." msgstr "Il filesystem è più grande della dimensione apparente del device." -#: misc/mke2fs.c:1646 +#: misc/mke2fs.c:1506 #, c-format msgid "Failed to parse fs types list\n" msgstr "" -#: misc/mke2fs.c:1700 -#, 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:1716 +#: misc/mke2fs.c:1542 msgid "fs_types for mke2fs.conf resolution: " msgstr "" -#: misc/mke2fs.c:1723 +#: misc/mke2fs.c:1549 #, c-format msgid "Filesystem features not supported with revision 0 filesystems\n" msgstr "" -#: misc/mke2fs.c:1730 +#: misc/mke2fs.c:1556 #, c-format msgid "Sparse superblocks not supported with revision 0 filesystems\n" msgstr "" -#: misc/mke2fs.c:1742 +#: misc/mke2fs.c:1568 #, fuzzy, c-format msgid "Journals not supported with revision 0 filesystems\n" msgstr "" "\n" "Dimensione del journal troppo grande per il filesystem.\n" -#: misc/mke2fs.c:1756 -#, fuzzy, c-format -msgid "invalid reserved blocks percent - %lf" -msgstr "percentuale di blocchi riservati non valida - %s" - -#: misc/mke2fs.c:1772 +#: misc/mke2fs.c:1586 #, c-format msgid "" "The resize_inode and meta_bg features are not compatible.\n" "They can not be both enabled simultaneously.\n" msgstr "" -#: misc/mke2fs.c:1789 +#: misc/mke2fs.c:1603 msgid "while trying to determine hardware sector size" msgstr "provando a determinare la dimensione del settore hardware" -#: misc/mke2fs.c:1795 -#, fuzzy -msgid "while trying to determine physical sector size" -msgstr "provando a determinare la dimensione del settore hardware" - -#: misc/mke2fs.c:1828 -#, fuzzy -msgid "while setting blocksize; too small for device\n" -msgstr "impostando l'inode del blocco difettoso" - -#: misc/mke2fs.c:1833 -#, c-format -msgid "" -"Warning: specified blocksize %d is less than device physical sectorsize %d\n" -msgstr "" - -#: misc/mke2fs.c:1864 -#, c-format -msgid "warning: Unable to get device geometry for %s\n" -msgstr "" - -#: misc/mke2fs.c:1867 -#, c-format -msgid "%s alignment is offset by %lu bytes.\n" -msgstr "" - -#: misc/mke2fs.c:1869 -#, c-format -msgid "" -"This may result in very poor performance, (re)-partitioning suggested.\n" -msgstr "" - -#: misc/mke2fs.c:1880 -#, c-format -msgid "%d-byte blocks too big for system (max %d)" -msgstr "blocchi di %d byte troppo grandi per il sistema (max %d)" - -#: misc/mke2fs.c:1884 -#, c-format -msgid "" -"Warning: %d-byte blocks too big for system (max %d), forced to continue\n" -msgstr "" -"Attenzione: blocchi di %d bytes troppo grandi per il sistema (max %d), " -"continuo comunque\n" - -#: misc/mke2fs.c:1920 +#: misc/mke2fs.c:1661 msgid "reserved online resize blocks not supported on non-sparse filesystem" msgstr "" -#: misc/mke2fs.c:1929 +#: misc/mke2fs.c:1670 msgid "blocks per group count out of range" msgstr "conteggio dei blocchi per gruppo fuori dall'intervallo" -#: misc/mke2fs.c:1944 +#: misc/mke2fs.c:1685 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" msgstr "" -#: misc/mke2fs.c:1956 +#: misc/mke2fs.c:1697 #, fuzzy, c-format msgid "invalid inode size %d (min %d/max %d)" msgstr "dimensione dell'inode non valida: %d (min %d/max %d)" -#: misc/mke2fs.c:1974 +#: misc/mke2fs.c:1711 #, c-format msgid "too many inodes (%llu), raise inode ratio?" msgstr "" -#: misc/mke2fs.c:1981 +#: misc/mke2fs.c:1716 #, c-format msgid "too many inodes (%llu), specify < 2^32 inodes" msgstr "" -#: misc/mke2fs.c:1995 +#: misc/mke2fs.c:1731 #, c-format msgid "" "inode_size (%u) * inodes_count (%u) too big for a\n" -"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n" +"\tfilesystem with %lu blocks, specify higher inode_ratio (-i)\n" "\tor lower inode count (-N).\n" msgstr "" -#: misc/mke2fs.c:2114 +#: misc/mke2fs.c:1828 misc/tune2fs.c:1462 +#, fuzzy, c-format +msgid "while trying to delete %s" +msgstr "provando a ridimensionare %s" + +#: misc/mke2fs.c:1837 #, c-format msgid "" "Overwriting existing filesystem; this can be undone using the command:\n" @@ -4768,73 +4303,40 @@ msgid "" "\n" msgstr "" -#: misc/mke2fs.c:2128 -#, fuzzy -msgid "while trying to setup undo file\n" -msgstr "" -"\n" -"\tcercando di creare il file di journal" - -#: misc/mke2fs.c:2154 -#, fuzzy -msgid "Discarding device blocks: " -msgstr "Aggiunta del journal al device %s: " - -#: misc/mke2fs.c:2170 -msgid "failed - " -msgstr "" - -#: misc/mke2fs.c:2277 +#: misc/mke2fs.c:1885 #, fuzzy msgid "while setting up superblock" msgstr "impostando il superblocco" -#: misc/mke2fs.c:2286 -#, c-format -msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" -msgstr "" - -#: misc/mke2fs.c:2369 +#: misc/mke2fs.c:1936 #, c-format msgid "unknown os - %s" msgstr "so sconosciuto - %s" -#: misc/mke2fs.c:2421 -#, fuzzy, c-format -msgid "Allocating group tables: " -msgstr "Scrittura delle tavole degli inode: " - -#: misc/mke2fs.c:2425 +#: misc/mke2fs.c:1990 msgid "while trying to allocate filesystem tables" msgstr "tentando di allocare le tabelle del filesystem" -#: misc/mke2fs.c:2434 -#, fuzzy -msgid "" -"\n" -"\twhile converting subcluster bitmap" -msgstr "scrivendo la mappa dei bit del blocco" - -#: misc/mke2fs.c:2477 -#, fuzzy, c-format -msgid "while zeroing block %llu at end of filesystem" +#: misc/mke2fs.c:2021 +#, c-format +msgid "while zeroing block %u at end of filesystem" msgstr "azzerando il blocco %u alla fine del filesystem" -#: misc/mke2fs.c:2490 +#: misc/mke2fs.c:2034 #, fuzzy msgid "while reserving blocks for online resize" msgstr "leggendo l'inode dei blocchi non validi" -#: misc/mke2fs.c:2501 misc/tune2fs.c:640 +#: misc/mke2fs.c:2045 misc/tune2fs.c:477 msgid "journal" msgstr "journal" -#: misc/mke2fs.c:2513 +#: misc/mke2fs.c:2057 #, c-format msgid "Adding journal to device %s: " msgstr "Aggiunta del journal al device %s: " -#: misc/mke2fs.c:2520 +#: misc/mke2fs.c:2064 #, c-format msgid "" "\n" @@ -4843,49 +4345,24 @@ msgstr "" "\n" "\tcercando di agigungere il journal al device %s" -#: misc/mke2fs.c:2525 misc/mke2fs.c:2557 misc/tune2fs.c:669 misc/tune2fs.c:683 +#: misc/mke2fs.c:2069 misc/mke2fs.c:2095 misc/tune2fs.c:506 misc/tune2fs.c:520 #, c-format msgid "done\n" msgstr "fatto\n" -#: misc/mke2fs.c:2534 -#, c-format -msgid "Skipping journal creation in super-only mode\n" -msgstr "" - -#: misc/mke2fs.c:2545 +#: misc/mke2fs.c:2083 #, fuzzy, c-format msgid "Creating journal (%u blocks): " msgstr "Creazione del journal (%d blocchi): " -#: misc/mke2fs.c:2553 -msgid "" -"\n" -"\twhile trying to create journal" -msgstr "" -"\n" -"\tcercando di creare il journal" - -#: misc/mke2fs.c:2564 misc/tune2fs.c:446 -#, c-format -msgid "" -"\n" -"Error while enabling multiple mount protection feature." -msgstr "" - -#: misc/mke2fs.c:2569 -#, c-format -msgid "Multiple mount protection is enabled with update interval %d seconds.\n" -msgstr "" - -#: misc/mke2fs.c:2582 +#: misc/mke2fs.c:2100 #, c-format msgid "Writing superblocks and filesystem accounting information: " msgstr "" "Scrittura delle informazioni dei superblocchi e dell'accounting del " "filesystem: " -#: misc/mke2fs.c:2589 +#: misc/mke2fs.c:2105 #, c-format msgid "" "\n" @@ -4894,7 +4371,7 @@ msgstr "" "\n" "Attenzione, problemi durante la scrittura dei superblocchi." -#: misc/mke2fs.c:2591 +#: misc/mke2fs.c:2108 #, c-format msgid "" "done\n" @@ -4903,12 +4380,12 @@ msgstr "" "fatto\n" "\n" -#: misc/mklost+found.c:50 +#: misc/mklost+found.c:49 #, c-format msgid "Usage: mklost+found\n" msgstr "Uso: mklost+found\n" -#: misc/partinfo.c:41 +#: misc/partinfo.c:39 #, fuzzy, c-format msgid "" "Usage: %s device...\n" @@ -4926,37 +4403,36 @@ msgstr "" "\t%s /dev/hda?\n" "\n" -#: misc/partinfo.c:51 +#: misc/partinfo.c:49 #, fuzzy, c-format msgid "Cannot open %s: %s" msgstr "e2label: impossibile aprire %s\n" -#: misc/partinfo.c:57 +#: misc/partinfo.c:55 #, c-format msgid "Cannot get geometry of %s: %s" msgstr "" -#: misc/partinfo.c:65 +#: misc/partinfo.c:63 #, c-format msgid "Cannot get size of %s: %s" msgstr "" -#: misc/partinfo.c:71 +#: misc/partinfo.c:69 #, c-format msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n" msgstr "" -#: misc/tune2fs.c:107 +#: misc/tune2fs.c:96 msgid "Please run e2fsck on the filesystem.\n" msgstr "Eseguire e2fsck sul filesystem.\n" -#: misc/tune2fs.c:116 +#: misc/tune2fs.c:103 #, fuzzy, c-format msgid "" "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" -"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p " -"mmp_update_interval]\n" +"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n" @@ -4970,62 +4446,60 @@ msgstr "" "montata]\n" "\t[-O [^]caratteristica[,...]] [-T ultimo-controllo] [-U UUID] device\n" -#: misc/tune2fs.c:205 +#: misc/tune2fs.c:188 msgid "while trying to open external journal" msgstr "cercando di aprire il journal esterno" -#: misc/tune2fs.c:210 +#: misc/tune2fs.c:192 #, c-format msgid "%s is not a journal device.\n" msgstr "%s non è un dispositivo di journaling.\n" -#: misc/tune2fs.c:225 +#: misc/tune2fs.c:207 msgid "Journal superblock not found!\n" msgstr "Superblocco del journal non trovato!\n" -#: misc/tune2fs.c:236 +#: misc/tune2fs.c:219 msgid "Filesystem's UUID not found on journal device.\n" msgstr "UUID del filesystem non trovato sul dispositivo di journaling.\n" -#: misc/tune2fs.c:257 -msgid "" -"Cannot locate journal device. It was NOT removed\n" -"Use -f option to remove missing journal device.\n" -msgstr "" +#: misc/tune2fs.c:240 +msgid "Journal NOT removed\n" +msgstr "Journal NON rimosso\n" -#: misc/tune2fs.c:265 +#: misc/tune2fs.c:246 msgid "Journal removed\n" msgstr "Journal rimosso\n" -#: misc/tune2fs.c:309 +#: misc/tune2fs.c:286 msgid "while reading bitmaps" msgstr "leggendo le mappe dei bit" -#: misc/tune2fs.c:317 +#: misc/tune2fs.c:294 msgid "while clearing journal inode" msgstr "azzerando l'inode del journal" -#: misc/tune2fs.c:328 +#: misc/tune2fs.c:305 msgid "while writing journal inode" msgstr "scrivendo l'inode del journal" -#: misc/tune2fs.c:363 +#: misc/tune2fs.c:320 #, c-format -msgid "(and reboot afterwards!)\n" -msgstr "" +msgid "Invalid mount option set: %s\n" +msgstr "Insieme di opzioni di mount non valido: %s\n" -#: misc/tune2fs.c:396 +#: misc/tune2fs.c:356 #, c-format msgid "Clearing filesystem feature '%s' not supported.\n" msgstr "" -#: misc/tune2fs.c:402 +#: misc/tune2fs.c:362 #, fuzzy, c-format msgid "Setting filesystem feature '%s' not supported.\n" msgstr "" "Impostazione di data ed ora dell'ultimo controllo del filesystem a %s\n" -#: misc/tune2fs.c:411 +#: misc/tune2fs.c:371 #, fuzzy msgid "" "The has_journal feature may only be cleared when the filesystem is\n" @@ -5034,7 +4508,7 @@ msgstr "" "Il flag has_journal può essere azzerato quando il filesystem non\n" "è montato o è montato solo in lettura.\n" -#: misc/tune2fs.c:419 +#: misc/tune2fs.c:379 msgid "" "The needs_recovery flag is set. Please run e2fsck before clearing\n" "the has_journal flag.\n" @@ -5042,49 +4516,13 @@ msgstr "" "Il flag needs_recovery è impostato. Eseguire e2fsck prima di azzerare\n" "il flag has_journal.\n" -#: misc/tune2fs.c:438 -#, fuzzy -msgid "" -"The multiple mount protection feature can't\n" -"be set if the filesystem is mounted or\n" -"read-only.\n" -msgstr "" -"Il flag has_journal può essere azzerato quando il filesystem non\n" -"è montato o è montato solo in lettura.\n" - -#: misc/tune2fs.c:456 -#, c-format -msgid "Multiple mount protection has been enabled with update interval %ds.\n" -msgstr "" - -#: misc/tune2fs.c:465 -msgid "" -"The multiple mount protection feature cannot\n" -"be disabled if the filesystem is readonly.\n" -msgstr "" - -#: misc/tune2fs.c:473 -#, fuzzy -msgid "Error while reading bitmaps\n" -msgstr "leggendo le mappe dei bit" - -#: misc/tune2fs.c:482 -#, c-format -msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n" -msgstr "" - -#: misc/tune2fs.c:487 -#, fuzzy -msgid "while reading MMP block." -msgstr "leggendo l'inode numero 1" - -#: misc/tune2fs.c:519 +#: misc/tune2fs.c:412 msgid "" "Clearing the flex_bg flag would cause the the filesystem to be\n" "inconsistent.\n" msgstr "" -#: misc/tune2fs.c:530 +#: misc/tune2fs.c:423 #, fuzzy msgid "" "The huge_file feature may only be cleared when the filesystem is\n" @@ -5093,17 +4531,16 @@ msgstr "" "Il flag has_journal può essere azzerato quando il filesystem non\n" "è montato o è montato solo in lettura.\n" -#: misc/tune2fs.c:590 -msgid "" -"\n" -"Warning: '^quota' option overrides '-Q'arguments.\n" +#: misc/tune2fs.c:451 +#, c-format +msgid "(and reboot afterwards!)\n" msgstr "" -#: misc/tune2fs.c:635 +#: misc/tune2fs.c:472 msgid "The filesystem already has a journal.\n" msgstr "Il filesystem ha già un journal.\n" -#: misc/tune2fs.c:653 +#: misc/tune2fs.c:490 #, c-format msgid "" "\n" @@ -5112,21 +4549,21 @@ msgstr "" "\n" "\ttentando di aprire il journal in %s\n" -#: misc/tune2fs.c:657 +#: misc/tune2fs.c:494 #, c-format msgid "Creating journal on device %s: " msgstr "Creando il journal per il device %s: " -#: misc/tune2fs.c:665 +#: misc/tune2fs.c:502 #, c-format msgid "while adding filesystem to journal on %s" msgstr "aggiungendo un filesystem al journal in %s" -#: misc/tune2fs.c:671 +#: misc/tune2fs.c:508 msgid "Creating journal inode: " msgstr "Creazione dell'inode del journal: " -#: misc/tune2fs.c:680 +#: misc/tune2fs.c:517 msgid "" "\n" "\twhile trying to create journal file" @@ -5134,116 +4571,85 @@ msgstr "" "\n" "\tcercando di creare il file di journal" -#: misc/tune2fs.c:763 -#, fuzzy -msgid "Couldn't allocate memory to parse quota options!\n" -msgstr "Impossibile allocare memoria per fare il parsing delle opzioni raid!\n" - -#: misc/tune2fs.c:785 -msgid "" -"\n" -"Bad quota options specified.\n" -"\n" -"Following valid quota options are available (pass by separating with " -"comma):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" -msgstr "" - -#: misc/tune2fs.c:846 +#: misc/tune2fs.c:584 #, c-format msgid "Couldn't parse date/time specifier: %s" msgstr "Impossibile comprendere il formato di data/ora: %s" -#: misc/tune2fs.c:870 misc/tune2fs.c:883 +#: misc/tune2fs.c:608 misc/tune2fs.c:621 #, c-format msgid "bad mounts count - %s" msgstr "numero di mount non validi - %s" -#: misc/tune2fs.c:899 +#: misc/tune2fs.c:637 #, fuzzy, c-format msgid "bad error behavior - %s" msgstr "comportamento relativo ad un errore non valido - %s" -#: misc/tune2fs.c:926 +#: misc/tune2fs.c:664 #, c-format msgid "bad gid/group name - %s" msgstr "gid/nome gruppo non valido - %s" -#: misc/tune2fs.c:959 +#: misc/tune2fs.c:697 #, c-format msgid "bad interval - %s" msgstr "intervallo non valido - %s" -#: misc/tune2fs.c:988 +#: misc/tune2fs.c:725 #, c-format msgid "bad reserved block ratio - %s" msgstr "percentuale di blocchi riservati non valida - %s" -#: misc/tune2fs.c:1003 +#: misc/tune2fs.c:740 msgid "-o may only be specified once" msgstr "-o può essere specificata solo una volta" -#: misc/tune2fs.c:1012 +#: misc/tune2fs.c:750 msgid "-O may only be specified once" msgstr "-O può essere specificata solo una volta" -#: misc/tune2fs.c:1027 +#: misc/tune2fs.c:760 #, c-format msgid "bad reserved blocks count - %s" msgstr "numero di blocchi riservati non valido - %s" -#: misc/tune2fs.c:1056 +#: misc/tune2fs.c:789 #, c-format msgid "bad uid/user name - %s" msgstr "uid/nome utente non valido - %s" -#: misc/tune2fs.c:1073 +#: misc/tune2fs.c:806 #, fuzzy, c-format msgid "bad inode size - %s" msgstr "dimensione inode non valida - %s" -#: misc/tune2fs.c:1080 +#: misc/tune2fs.c:813 #, c-format msgid "Inode size must be a power of two- %s" msgstr "" -#: misc/tune2fs.c:1174 -#, c-format -msgid "mmp_update_interval too big: %lu\n" -msgstr "" - -#: misc/tune2fs.c:1179 -#, fuzzy, c-format -msgid "Setting multiple mount protection update interval to %lu second\n" -msgid_plural "" -"Setting multiple mount protection update interval to %lu seconds\n" -msgstr[0] "Impostazione del numero massimo di mount a %d\n" -msgstr[1] "Impostazione del numero massimo di mount a %d\n" - -#: misc/tune2fs.c:1202 +#: misc/tune2fs.c:900 #, fuzzy, c-format msgid "Invalid RAID stride: %s\n" msgstr "Insieme di opzioni di mount non valido: %s\n" -#: misc/tune2fs.c:1217 +#: misc/tune2fs.c:915 #, fuzzy, c-format msgid "Invalid RAID stripe-width: %s\n" msgstr "Parametro di stride non valido.\n" -#: misc/tune2fs.c:1232 +#: misc/tune2fs.c:930 #, fuzzy, c-format msgid "Invalid hash algorithm: %s\n" msgstr "Parametro di stride non valido.\n" -#: misc/tune2fs.c:1238 +#: misc/tune2fs.c:936 #, c-format msgid "Setting default hash algorithm to %s (%d)\n" msgstr "" -#: misc/tune2fs.c:1257 +#: misc/tune2fs.c:944 #, fuzzy, c-format msgid "" "\n" @@ -5253,11 +4659,9 @@ msgid "" "\tis set off by an equals ('=') sign.\n" "\n" "Valid extended options are:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" msgstr "" @@ -5271,50 +4675,11 @@ msgstr "" "\tstride=lunghezza stride in blocchi>\n" "\n" -#: misc/tune2fs.c:1723 -#, fuzzy -msgid "Failed to read inode bitmap\n" -msgstr "leggendo le mappe dei bit" - -#: misc/tune2fs.c:1728 -#, fuzzy -msgid "Failed to read block bitmap\n" -msgstr "lettura delle mappe di bit inode e blocco" - -#: misc/tune2fs.c:1745 resize/resize2fs.c:784 +#: misc/tune2fs.c:1384 misc/tune2fs.c:1389 resize/resize2fs.c:760 msgid "blocks to be moved" msgstr "blocchi da spostare" -#: misc/tune2fs.c:1748 -msgid "Failed to allocate block bitmap when increasing inode size\n" -msgstr "" - -#: misc/tune2fs.c:1754 -msgid "Not enough space to increase inode size \n" -msgstr "" - -#: misc/tune2fs.c:1759 -#, fuzzy -msgid "Failed to relocate blocks during inode resize \n" -msgstr "leggendo l'inode dei blocchi non validi" - -#: misc/tune2fs.c:1791 -msgid "" -"Error in resizing the inode size.\n" -"Run e2undo to undo the file system changes. \n" -msgstr "" - -#: misc/tune2fs.c:1818 -#, fuzzy -msgid "Couldn't allocate memory for tdb filename\n" -msgstr "Impossibile allocare memoria per i tipi di filesystem\n" - -#: misc/tune2fs.c:1840 -#, fuzzy, c-format -msgid "while trying to delete %s" -msgstr "provando a ridimensionare %s" - -#: misc/tune2fs.c:1850 +#: misc/tune2fs.c:1471 #, c-format msgid "" "To undo the tune2fs operation please run the command\n" @@ -5322,71 +4687,59 @@ msgid "" "\n" msgstr "" -#: misc/tune2fs.c:1919 +#: misc/tune2fs.c:1529 #, c-format -msgid "" -"MMP block magic is bad. Try to fix it by running:\n" -"'e2fsck -f %s'\n" +msgid "The inode size is already %d\n" msgstr "" -#: misc/tune2fs.c:1937 -#, fuzzy, c-format -msgid "The inode size is already %lu\n" -msgstr "Impostazione del gid dei blocchi riservati a %lu\n" - -#: misc/tune2fs.c:1943 +#: misc/tune2fs.c:1534 #, fuzzy, c-format msgid "Shrinking the inode size is not supported\n" msgstr "" "Impostazione di data ed ora dell'ultimo controllo del filesystem a %s\n" -#: misc/tune2fs.c:1990 +#: misc/tune2fs.c:1577 #, c-format msgid "Setting maximal mount count to %d\n" msgstr "Impostazione del numero massimo di mount a %d\n" -#: misc/tune2fs.c:1996 +#: misc/tune2fs.c:1583 #, c-format msgid "Setting current mount count to %d\n" msgstr "Impostazione del numero attuale di mount a %d\n" -#: misc/tune2fs.c:2001 +#: misc/tune2fs.c:1588 #, fuzzy, c-format msgid "Setting error behavior to %d\n" msgstr "Impostazione del comportamento da errore a %d\n" -#: misc/tune2fs.c:2006 +#: misc/tune2fs.c:1593 #, c-format msgid "Setting reserved blocks gid to %lu\n" msgstr "Impostazione del gid dei blocchi riservati a %lu\n" -#: misc/tune2fs.c:2011 -#, fuzzy, c-format -msgid "interval between checks is too big (%lu)" -msgstr "Impostazione dell'intervallo tra i controlli a %lu secondi\n" - -#: misc/tune2fs.c:2018 +#: misc/tune2fs.c:1598 #, fuzzy, c-format msgid "Setting interval between checks to %lu seconds\n" msgstr "Impostazione dell'intervallo tra i controlli a %lu secondi\n" -#: misc/tune2fs.c:2025 +#: misc/tune2fs.c:1605 #, fuzzy, c-format -msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n" +msgid "Setting reserved blocks percentage to %g%% (%u blocks)\n" msgstr "" "Impostazione della percentuale di blocchi riservati a %lu (%u blocchi)\n" -#: misc/tune2fs.c:2031 -#, fuzzy, c-format -msgid "reserved blocks count is too big (%llu)" +#: misc/tune2fs.c:1612 +#, c-format +msgid "reserved blocks count is too big (%lu)" msgstr "il numero di blocchi riservati è troppo alto (%lu)" -#: misc/tune2fs.c:2038 -#, fuzzy, c-format -msgid "Setting reserved blocks count to %llu\n" +#: misc/tune2fs.c:1618 +#, c-format +msgid "Setting reserved blocks count to %lu\n" msgstr "Impostazione del numero di blocchi riservati a %lu\n" -#: misc/tune2fs.c:2044 +#: misc/tune2fs.c:1624 msgid "" "\n" "The filesystem already has sparse superblocks.\n" @@ -5394,94 +4747,78 @@ msgstr "" "\n" "Il filesystem ha già dei superblocchi sparsi.\n" -#: misc/tune2fs.c:2051 +#: misc/tune2fs.c:1631 #, c-format msgid "" "\n" "Sparse superblock flag set. %s" msgstr "" -#: misc/tune2fs.c:2056 +#: misc/tune2fs.c:1636 msgid "" "\n" "Clearing the sparse superflag not supported.\n" msgstr "" -#: misc/tune2fs.c:2064 +#: misc/tune2fs.c:1643 #, c-format msgid "Setting time filesystem last checked to %s\n" msgstr "" "Impostazione di data ed ora dell'ultimo controllo del filesystem a %s\n" -#: misc/tune2fs.c:2070 +#: misc/tune2fs.c:1649 #, c-format msgid "Setting reserved blocks uid to %lu\n" msgstr "Impostazione dell'uid dei blocchi riservati a %lu\n" -#: misc/tune2fs.c:2102 -msgid "Error in using clear_mmp. It must be used with -f\n" -msgstr "" - -#: misc/tune2fs.c:2120 -#, fuzzy -msgid "" -"The quota feature may only be changed when the filesystem is unmounted.\n" -msgstr "" -"Il flag has_journal può essere azzerato quando il filesystem non\n" -"è montato o è montato solo in lettura.\n" - -#: misc/tune2fs.c:2153 +#: misc/tune2fs.c:1700 msgid "Invalid UUID format\n" msgstr "Formato UUID non valido\n" -#: misc/tune2fs.c:2166 +#: misc/tune2fs.c:1712 #, fuzzy msgid "The inode size may only be changed when the filesystem is unmounted.\n" msgstr "" "Il flag has_journal può essere azzerato quando il filesystem non\n" "è montato o è montato solo in lettura.\n" -#: misc/tune2fs.c:2174 +#: misc/tune2fs.c:1719 msgid "" "Changing the inode size not supported for filesystems with the flex_bg\n" "feature enabled.\n" msgstr "" -#: misc/tune2fs.c:2187 -#, fuzzy, c-format -msgid "Setting inode size %lu\n" -msgstr "Impostazione del gid dei blocchi riservati a %lu\n" +#: misc/tune2fs.c:1731 +msgid "" +"Error in resizing the inode size.\n" +"Run e2undo to undo the file system changes. \n" +msgstr "" -#: misc/tune2fs.c:2190 +#: misc/tune2fs.c:1735 #, fuzzy, c-format -msgid "Failed to change inode size\n" -msgstr "durante l'apertura di %s" +msgid "Setting inode size %lu\n" +msgstr "Impostazione del gid dei blocchi riservati a %lu\n" -#: misc/tune2fs.c:2201 +#: misc/tune2fs.c:1745 #, fuzzy, c-format msgid "Setting stride size to %d\n" msgstr "Impostazione del gid dei blocchi riservati a %lu\n" -#: misc/tune2fs.c:2206 +#: misc/tune2fs.c:1750 #, fuzzy, c-format msgid "Setting stripe width to %d\n" msgstr "Impostazione del gid dei blocchi riservati a %lu\n" -#: misc/tune2fs.c:2213 -#, fuzzy, c-format -msgid "Setting extended default mount options to '%s'\n" -msgstr "Impostazione del numero attuale di mount a %d\n" - -#: misc/util.c:74 +#: misc/util.c:72 msgid "Proceed anyway? (y,n) " msgstr "Procedere comunque? (s,n) " -#: misc/util.c:89 +#: misc/util.c:93 #, c-format msgid "Could not stat %s --- %s\n" msgstr "Impossibile fare stat di %s --- %s\n" -#: misc/util.c:92 +#: misc/util.c:96 msgid "" "\n" "The device apparently does not exist; did you specify it correctly?\n" @@ -5489,42 +4826,35 @@ msgstr "" "\n" "Sembra che il dispositivo non esista; è stato specificato correttamente?\n" -#: misc/util.c:103 +#: misc/util.c:107 #, c-format msgid "%s is not a block special device.\n" msgstr "%s non è un device speciale a blocchi.\n" -#: misc/util.c:132 +#: misc/util.c:136 #, c-format msgid "%s is entire device, not just one partition!\n" msgstr "%s è un device intero, non solo una partizione.\n" -#: misc/util.c:154 +#: misc/util.c:158 msgid "mke2fs forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "" "mke2fs è stato forzato comunque. Si spera che /etc/mtab sia sbagliato.\n" -#: misc/util.c:159 +#: misc/util.c:163 #, c-format msgid "will not make a %s here!\n" msgstr "non farò un %s qui!\n" -#: misc/util.c:166 +#: misc/util.c:170 msgid "mke2fs forced anyway.\n" msgstr "" -#: misc/util.c:182 +#: misc/util.c:186 msgid "Couldn't allocate memory to parse journal options!\n" msgstr "" "Impossibile allocare memoria per fare il parsing delle opzioni del journal!\n" -#: misc/util.c:207 -#, fuzzy, c-format -msgid "" -"\n" -"Could not find journal device matching %s\n" -msgstr "Impossibile trovare i magic numbers del superblocco del journal" - #: misc/util.c:228 #, fuzzy msgid "" @@ -5583,7 +4913,7 @@ msgstr "" "\n" "Dimensione del journal troppo grande per il filesystem.\n" -#: misc/util.c:287 +#: misc/util.c:283 #, c-format msgid "" "This filesystem will be automatically checked every %d mounts or\n" @@ -5593,153 +4923,27 @@ msgstr "" "%g giorni, a seconda di quale venga prima. Usare tune2fs -c o -i per " "cambiare.\n" -#: misc/uuidd.c:48 -#, c-format -msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n" -msgstr "" - -#: misc/uuidd.c:50 -#, c-format -msgid " %s [-r|t] [-n num] [-s socketpath]\n" -msgstr "" - -#: misc/uuidd.c:52 -#, c-format -msgid " %s -k\n" -msgstr "" - -#: misc/uuidd.c:154 -#, fuzzy -msgid "bad arguments" -msgstr "%s: troppi parametri\n" - -#: misc/uuidd.c:172 -msgid "connect" -msgstr "" - -#: misc/uuidd.c:191 -msgid "write" -msgstr "" - -#: misc/uuidd.c:199 -msgid "read count" -msgstr "" - -#: misc/uuidd.c:205 -#, fuzzy -msgid "bad response length" -msgstr "Parametro di stride non valido.\n" - -#: misc/uuidd.c:270 -#, c-format -msgid "uuidd daemon already running at pid %s\n" -msgstr "" - -#: misc/uuidd.c:278 -#, fuzzy, c-format -msgid "Couldn't create unix stream socket: %s" -msgstr "Impossibile comprendere il formato di data/ora: %s" - -#: misc/uuidd.c:307 -#, fuzzy, c-format -msgid "Couldn't bind unix socket %s: %s\n" -msgstr "Impossibile trovare il superblocco ext2" - -#: misc/uuidd.c:315 -#, fuzzy, c-format -msgid "Couldn't listen on unix socket %s: %s\n" -msgstr "Impossibile riconnettere %i: %m\n" - -#: misc/uuidd.c:353 -#, fuzzy, c-format -msgid "Error reading from client, len = %d\n" -msgstr "Errore durante la lettura dell'@i %i: %m\n" - -#: misc/uuidd.c:361 -#, c-format -msgid "operation %d, incoming num = %d\n" -msgstr "" - -#: misc/uuidd.c:380 -#, c-format -msgid "Generated time UUID: %s\n" -msgstr "" - -#: misc/uuidd.c:390 -#, c-format -msgid "Generated random UUID: %s\n" -msgstr "" - -#: misc/uuidd.c:399 -#, c-format -msgid "Generated time UUID %s and subsequent UUID\n" -msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/uuidd.c:420 -#, c-format -msgid "Generated %d UUID's:\n" -msgstr "" - -#: misc/uuidd.c:432 -#, fuzzy, c-format -msgid "Invalid operation %d\n" -msgstr "Versione EA non valida.\n" - -#: misc/uuidd.c:476 misc/uuidd.c:498 -#, c-format -msgid "Bad number: %s\n" -msgstr "" - -#: misc/uuidd.c:533 misc/uuidd.c:562 -#, fuzzy, c-format -msgid "Error calling uuidd daemon (%s): %s\n" -msgstr "Errore creando la @d /@l (%s): %m\n" - -#: misc/uuidd.c:543 -#, c-format -msgid "%s and subsequent UUID\n" -msgid_plural "%s and subsequent %d UUIDs\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/uuidd.c:547 -#, c-format -msgid "List of UUID's:\n" -msgstr "" - -#: misc/uuidd.c:568 -#, c-format -msgid "Unexpected reply length from server %d\n" -msgstr "" - -#: misc/uuidd.c:585 -#, c-format -msgid "Couldn't kill uuidd running at pid %d: %s\n" -msgstr "" - -#: misc/uuidd.c:591 -#, c-format -msgid "Killed uuidd running at pid %d\n" -msgstr "" - -#: misc/uuidgen.c:32 +#: misc/uuidgen.c:31 #, c-format msgid "Usage: %s [-r] [-t]\n" msgstr "Uso: %s [-r] [-t]\n" -#: resize/extent.c:202 +#: resize/extent.c:196 #, fuzzy msgid "# Extent dump:\n" msgstr "# Dump esteso:\n" -#: resize/extent.c:203 +#: resize/extent.c:197 #, c-format -msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n" +msgid "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" msgstr "" -#: resize/main.c:43 +#: resize/extent.c:200 +#, c-format +msgid "#\t\t %u -> %u (%d)\n" +msgstr "#\t\t %u -> %u (%d)\n" + +#: resize/main.c:42 #, fuzzy, c-format msgid "" "Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" @@ -5748,1062 +4952,266 @@ msgstr "" "Uso: %s [-d flag_di_debug] [-f] [-F] [-p] device [nuova-dimensione]\n" "\n" -#: resize/main.c:65 +#: resize/main.c:64 msgid "Extending the inode table" msgstr "Estensione della tavola degli inode" -#: resize/main.c:68 +#: resize/main.c:67 msgid "Relocating blocks" msgstr "Rilocazione dei blocchi" -#: resize/main.c:71 +#: resize/main.c:70 msgid "Scanning inode table" msgstr "Scansione della tavola degli inode" -#: resize/main.c:74 +#: resize/main.c:73 msgid "Updating inode references" msgstr "Aggiornamento dei riferimenti degli inode" -#: resize/main.c:77 +#: resize/main.c:76 msgid "Moving inode table" msgstr "Spostamento della tavola degli inode" -#: resize/main.c:80 +#: resize/main.c:79 msgid "Unknown pass?!?" msgstr "Passo sconosciuto?!?" -#: resize/main.c:83 +#: resize/main.c:82 #, c-format msgid "Begin pass %d (max = %lu)\n" msgstr "Inizio del passo %d (max = %lu)\n" -#: resize/main.c:259 +#: resize/main.c:264 #, fuzzy, c-format msgid "while opening %s" msgstr "avviando la scansione degli inode" -#: resize/main.c:267 +#: resize/main.c:276 #, fuzzy, c-format msgid "while getting stat information for %s" msgstr "impostando la versione a %s" -#: resize/main.c:331 +#: resize/main.c:337 #, c-format msgid "" "%s: The combination of flex_bg and\n" "\t!resize_inode features is not supported by resize2fs.\n" msgstr "" -#: resize/main.c:344 resize/main.c:452 -#, c-format -msgid "" -"Please run 'e2fsck -f %s' first.\n" -"\n" -msgstr "" -"Eseguire prima 'e2fsck -f %s'.\n" -"\n" - -#: resize/main.c:348 +#: resize/main.c:345 #, fuzzy, c-format -msgid "Estimated minimum size of the filesystem: %llu\n" +msgid "Estimated minimum size of the filesystem: %u\n" msgstr "" "%s è montato; impossibile ridimensionare un filesystem montato!\n" "\n" -#: resize/main.c:384 +#: resize/main.c:381 #, fuzzy, c-format msgid "Invalid new size: %s\n" msgstr "dimensione inode non valida - %s" -#: resize/main.c:392 -msgid "New size too large to be expressed in 32 bits\n" -msgstr "" - -#: resize/main.c:404 -#, fuzzy, c-format -msgid "New size smaller than minimum (%llu)\n" -msgstr "" -"Dimensione dei blocchi del device di journaling (%d) minore della dim minima " -"dei blocchi %d\n" - -#: resize/main.c:410 +#: resize/main.c:394 #, fuzzy msgid "Invalid stride length" msgstr "Parametro di stride non valido.\n" -#: resize/main.c:434 +#: resize/main.c:418 #, fuzzy, c-format msgid "" -"The containing partition (or device) is only %llu (%dk) blocks.\n" -"You requested a new size of %llu blocks.\n" +"The containing partition (or device) is only %u (%dk) blocks.\n" +"You requested a new size of %u blocks.\n" "\n" msgstr "" "La partizione (o device) contenente è solo di %d (%dk) blocchi.\n" "E' stata richiesta una nuova dimensione di %d blocchi.\n" "\n" -#: resize/main.c:441 +#: resize/main.c:425 #, fuzzy, c-format msgid "" -"The filesystem is already %llu blocks long. Nothing to do!\n" +"The filesystem is already %u blocks long. Nothing to do!\n" "\n" msgstr "" "Il filesystem è già lungo %d blocchi. Nulla da fare!\n" "\n" -#: resize/main.c:456 -#, fuzzy, c-format -msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n" +#: resize/main.c:436 +#, c-format +msgid "" +"Please run 'e2fsck -f %s' first.\n" +"\n" msgstr "" -"Il filesystem su %s è ora lungo %d blocchi.\n" +"Eseguire prima 'e2fsck -f %s'.\n" "\n" -#: resize/main.c:465 +#: resize/main.c:447 #, c-format msgid "while trying to resize %s" msgstr "provando a ridimensionare %s" -#: resize/main.c:468 -#, c-format -msgid "" -"Please run 'e2fsck -fy %s' to fix the filesystem\n" -"after the aborted resize operation.\n" -msgstr "" - -#: resize/main.c:474 +#: resize/main.c:452 #, fuzzy, c-format msgid "" -"The filesystem on %s is now %llu blocks long.\n" +"The filesystem on %s is now %u blocks long.\n" "\n" msgstr "" "Il filesystem su %s è ora lungo %d blocchi.\n" "\n" -#: resize/main.c:489 -#, fuzzy, c-format -msgid "while trying to truncate %s" -msgstr "tentando di fare lo stat di %s" - -#: resize/online.c:40 +#: resize/online.c:37 #, c-format msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" msgstr "" -#: resize/online.c:44 -#, fuzzy -msgid "On-line shrinking not supported" +#: resize/online.c:41 +#, c-format +msgid "On-line shrinking from %u to %u not supported.\n" msgstr "" -"Impostazione di data ed ora dell'ultimo controllo del filesystem a %s\n" -#: resize/online.c:63 +#: resize/online.c:61 msgid "Filesystem does not support online resizing" msgstr "" -#: resize/online.c:70 +#: resize/online.c:68 #, fuzzy, c-format msgid "while trying to open mountpoint %s" msgstr "" "\n" "\ttentando di aprire il journal in %s\n" -#: resize/online.c:92 resize/online.c:116 +#: resize/online.c:76 msgid "Permission denied to resize filesystem" msgstr "" -#: resize/online.c:95 resize/online.c:122 -#, fuzzy -msgid "While checking for on-line resizing support" -msgstr "leggendo l'inode dei blocchi non validi" - -#: resize/online.c:107 +#: resize/online.c:79 #, fuzzy -msgid "Kernel does not support resizing a file system this large" +msgid "Kernel does not support online resizing" msgstr "Il @j esterno non supporta questo @f\n" -#: resize/online.c:119 +#: resize/online.c:82 #, fuzzy -msgid "Kernel does not support online resizing" -msgstr "Il @j esterno non supporta questo @f\n" +msgid "While checking for on-line resizing support" +msgstr "leggendo l'inode dei blocchi non validi" -#: resize/online.c:152 +#: resize/online.c:111 #, c-format -msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n" +msgid "Performing an on-line resize of %s to %u (%dk) blocks.\n" msgstr "" -#: resize/online.c:162 +#: resize/online.c:121 #, fuzzy msgid "While trying to extend the last group" msgstr "cercando di aprire il journal esterno" -#: resize/online.c:216 +#: resize/online.c:180 #, fuzzy, c-format msgid "While trying to add group #%d" msgstr "durante l'apertura di %s" -#: resize/online.c:227 +#: resize/online.c:191 #, c-format msgid "" "Filesystem at %s is mounted on %s, and on-line resizing is not supported on " "this system.\n" msgstr "" -#: resize/resize2fs.c:348 +#: resize/resize2fs.c:322 #, c-format msgid "inodes (%llu) must be less than %u" msgstr "" -#: resize/resize2fs.c:576 +#: resize/resize2fs.c:755 msgid "reserved blocks" msgstr "blocchi riservati" -#: resize/resize2fs.c:789 +#: resize/resize2fs.c:765 msgid "meta-data blocks" msgstr "" -#: resize/resize2fs.c:1735 +#: resize/resize2fs.c:1703 #, c-format msgid "Should never happen: resize inode corrupt!\n" msgstr "" -#: lib/ext2fs/ext2_err.c:11 -msgid "EXT2FS Library version 1.42.4" -msgstr "" - -#: lib/ext2fs/ext2_err.c:12 -msgid "Wrong magic number for ext2_filsys structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:13 -msgid "Wrong magic number for badblocks_list structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:14 -msgid "Wrong magic number for badblocks_iterate structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:15 -msgid "Wrong magic number for inode_scan structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:16 -msgid "Wrong magic number for io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:17 -msgid "Wrong magic number for unix io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:18 -msgid "Wrong magic number for io_manager structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:19 -msgid "Wrong magic number for block_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:20 -msgid "Wrong magic number for inode_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:21 -msgid "Wrong magic number for generic_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:22 -msgid "Wrong magic number for test io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:23 -msgid "Wrong magic number for directory block list structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:24 -msgid "Wrong magic number for icount structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:25 -msgid "Wrong magic number for Powerquest io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:26 -msgid "Wrong magic number for ext2 file structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:27 -msgid "Wrong magic number for Ext2 Image Header" -msgstr "" - -#: lib/ext2fs/ext2_err.c:28 -msgid "Wrong magic number for inode io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:29 -msgid "Wrong magic number for ext4 extent handle" -msgstr "" +#~ msgid "@S doesn't have has_@j flag, but has ext3 @j %s.\n" +#~ msgstr "Il @S non ha il flag has_@j, ma ha il @j ext3 %s.\n" -#: lib/ext2fs/ext2_err.c:30 #, fuzzy -msgid "Bad magic number in super-block" -msgstr "lettura del superblocco del journal\n" +#~ msgid "@a in @i %i has a hash (%N) which is @n (must be 0)\n" +#~ msgstr "L'@h %i ha un livello di profondità (%N) troppo elevato\n" -#: lib/ext2fs/ext2_err.c:31 -msgid "Filesystem revision too high" -msgstr "" +#~ msgid "while calling ext2fs_block_iterate" +#~ msgstr "chiamando ext2fs_block_iterate" -#: lib/ext2fs/ext2_err.c:32 -msgid "Attempt to write to filesystem opened read-only" -msgstr "" +#~ msgid "while calling iterator function" +#~ msgstr "chiamando la funzione iteratrice" -#: lib/ext2fs/ext2_err.c:33 -#, fuzzy -msgid "Can't read group descriptors" -msgstr ", Descrittori di gruppo a " +#~ msgid "while allocating inode buffer" +#~ msgstr "allocando il buffer inode" -#: lib/ext2fs/ext2_err.c:34 -#, fuzzy -msgid "Can't write group descriptors" -msgstr ", Descrittori di gruppo a " +#~ msgid "while reading inode table (group %d)" +#~ msgstr "leggendo la tavola degli inode (gruppo %d)" -#: lib/ext2fs/ext2_err.c:35 -msgid "Corrupt group descriptor: bad block for block bitmap" -msgstr "" +#~ msgid "while writing inode table (group %d)" +#~ msgstr "scrivendo la tavola degli inode (gruppo %d)" -#: lib/ext2fs/ext2_err.c:36 -msgid "Corrupt group descriptor: bad block for inode bitmap" -msgstr "" +#~ msgid "Pass 0: Doing byte-swap of filesystem\n" +#~ msgstr "Pass 0: Esecuzione del byte-swap del filesystem\n" -#: lib/ext2fs/ext2_err.c:37 -msgid "Corrupt group descriptor: bad block for inode table" -msgstr "" +#~ msgid "" +#~ "%s: the filesystem must be freshly checked using fsck\n" +#~ "and not mounted before trying to byte-swap it.\n" +#~ msgstr "" +#~ "%s: il filesystem dev'essere controllato da poco utilizzando fsck\n" +#~ "e dev'essere smontato prima di provare ad eseguirne il byte-swap.\n" -#: lib/ext2fs/ext2_err.c:38 -#, fuzzy -msgid "Can't write an inode bitmap" -msgstr "scrivendo le mappe di bit di inode" +#~ msgid "Byte swap" +#~ msgstr "Byte-swap" -#: lib/ext2fs/ext2_err.c:39 -#, fuzzy -msgid "Can't read an inode bitmap" -msgstr "scrivendo le mappe di bit di inode" +#~ msgid "%s: Filesystem byte order already normalized.\n" +#~ msgstr "%s: Ordine dei byte del filesystem già normalizzato.\n" -#: lib/ext2fs/ext2_err.c:40 -#, fuzzy -msgid "Can't write a block bitmap" -msgstr "lettura delle mappe di bit inode e blocco" +#~ msgid "while retrying to write block bitmaps for %s" +#~ msgstr "riprovando a scrivere le mappe di bit di blocco per %s" -#: lib/ext2fs/ext2_err.c:41 -#, fuzzy -msgid "Can't read a block bitmap" -msgstr "lettura delle mappe di bit inode e blocco" +#~ msgid "writing inode bitmaps" +#~ msgstr "scrivendo le mappe di bit di inode" -#: lib/ext2fs/ext2_err.c:42 -#, fuzzy -msgid "Can't write an inode table" -msgstr "scrivendo la tavola degli inode" +#~ msgid "invalid test_pattern: %s\n" +#~ msgstr "modello di prova non valido: %s\n" -#: lib/ext2fs/ext2_err.c:43 #, fuzzy -msgid "Can't read an inode table" -msgstr "Scansione della tavola degli inode" - -#: lib/ext2fs/ext2_err.c:44 -msgid "Can't read next inode" -msgstr "" +#~ msgid "Note: This is a byte-swapped filesystem\n" +#~ msgstr "Nota: Questo è un filesystem a byte scambiati\n" -#: lib/ext2fs/ext2_err.c:45 #, fuzzy -msgid "Filesystem has unexpected block size" -msgstr "Il filesystem è più grande della dimensione apparente del device." - -#: lib/ext2fs/ext2_err.c:46 -msgid "EXT2 directory corrupted" -msgstr "" - -#: lib/ext2fs/ext2_err.c:47 -msgid "Attempt to read block from filesystem resulted in short read" -msgstr "" - -#: lib/ext2fs/ext2_err.c:48 -msgid "Attempt to write block to filesystem resulted in short write" -msgstr "" - -#: lib/ext2fs/ext2_err.c:49 -msgid "No free space in the directory" -msgstr "" +#~ msgid "Warning: %d-byte inodes not usable on older systems\n" +#~ msgstr "" +#~ "Attenzione: gli inode di %d byte non sono utilizzabili su molti sistemi\n" -#: lib/ext2fs/ext2_err.c:50 -#, fuzzy -msgid "Inode bitmap not loaded" -msgstr ", mappa dei bit inode a " +#~ msgid "bad filesystem size - %s" +#~ msgstr "dimensione filesystem non valida - %s" -#: lib/ext2fs/ext2_err.c:51 -#, fuzzy -msgid "Block bitmap not loaded" -msgstr " Mappa dei bit di blocco a " +#~ msgid "Clone duplicate/bad blocks" +#~ msgstr "Clona i blocchi duplicati/non validi" -#: lib/ext2fs/ext2_err.c:52 #, fuzzy -msgid "Illegal inode number" -msgstr "Numero di blocchi non valido!\n" +#~ msgid "Error allocating @a @b %b. " +#~ msgstr "Errore allocando l'@a di @b %b. " -#: lib/ext2fs/ext2_err.c:53 -#, fuzzy -msgid "Illegal block number" -msgstr "Numero di blocchi non valido!\n" +#~ msgid "" +#~ "Duplicate @bs found... invoking duplicate @b passes.\n" +#~ "Pass 1B: Rescan for duplicate/bad @bs\n" +#~ msgstr "" +#~ "@b(i) duplicati trovati... invocare i passi relativi ai @b(i) duplicati.\n" +#~ "Passo 1B: Nuova analisi relativa ai @b(i) duplicati/non validi\n" -#: lib/ext2fs/ext2_err.c:54 -msgid "Internal error in ext2fs_expand_dir" -msgstr "" +#~ msgid "Duplicate/bad @b(s) in @i %i:" +#~ msgstr "@b duplicato/non valido(i) in @i %i:" -#: lib/ext2fs/ext2_err.c:55 -msgid "Not enough space to build proposed filesystem" -msgstr "" - -#: lib/ext2fs/ext2_err.c:56 -msgid "Illegal block number passed to ext2fs_mark_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:57 -msgid "Illegal block number passed to ext2fs_unmark_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:58 -msgid "Illegal block number passed to ext2fs_test_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:59 -msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:60 -msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:61 -msgid "Illegal inode number passed to ext2fs_test_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:62 -msgid "Attempt to fudge end of block bitmap past the real end" -msgstr "" - -#: lib/ext2fs/ext2_err.c:63 -msgid "Attempt to fudge end of inode bitmap past the real end" -msgstr "" - -#: lib/ext2fs/ext2_err.c:64 -#, fuzzy -msgid "Illegal indirect block found" -msgstr "lettura dei blocchi indiretti dell'inode %u" - -#: lib/ext2fs/ext2_err.c:65 -#, fuzzy -msgid "Illegal doubly indirect block found" -msgstr "lettura dei blocchi indiretti dell'inode %u" - -#: lib/ext2fs/ext2_err.c:66 -#, fuzzy -msgid "Illegal triply indirect block found" -msgstr "lettura dei blocchi indiretti dell'inode %u" - -#: lib/ext2fs/ext2_err.c:67 -#, fuzzy -msgid "Block bitmaps are not the same" -msgstr " Mappa dei bit di blocco a " - -#: lib/ext2fs/ext2_err.c:68 -#, fuzzy -msgid "Inode bitmaps are not the same" -msgstr ", mappa dei bit inode a " - -#: lib/ext2fs/ext2_err.c:69 -msgid "Illegal or malformed device name" -msgstr "" - -#: lib/ext2fs/ext2_err.c:70 -msgid "A block group is missing an inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:71 -msgid "The ext2 superblock is corrupt" -msgstr "" - -#: lib/ext2fs/ext2_err.c:72 -msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:73 -msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:74 -msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:75 -msgid "Too many symbolic links encountered." -msgstr "" - -#: lib/ext2fs/ext2_err.c:76 -msgid "The callback function will not handle this case" -msgstr "" - -#: lib/ext2fs/ext2_err.c:77 -msgid "The inode is from a bad block in the inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:78 -#, fuzzy -msgid "Filesystem has unsupported feature(s)" -msgstr "L'@h %i ha una versione dell'hash non supportata (%N)\n" - -#: lib/ext2fs/ext2_err.c:79 -#, fuzzy -msgid "Filesystem has unsupported read-only feature(s)" -msgstr "L'@h %i ha una versione dell'hash non supportata (%N)\n" - -#: lib/ext2fs/ext2_err.c:80 -msgid "IO Channel failed to seek on read or write" -msgstr "" - -#: lib/ext2fs/ext2_err.c:81 -#, fuzzy -msgid "Memory allocation failed" -msgstr "Aerrore allocando" - -#: lib/ext2fs/ext2_err.c:82 -msgid "Invalid argument passed to ext2 library" -msgstr "" - -#: lib/ext2fs/ext2_err.c:83 -#, fuzzy -msgid "Could not allocate block in ext2 filesystem" -msgstr "Impossibile allocare memoria per i tipi di filesystem\n" - -#: lib/ext2fs/ext2_err.c:84 -#, fuzzy -msgid "Could not allocate inode in ext2 filesystem" -msgstr "Impossibile allocare memoria per i tipi di filesystem\n" - -#: lib/ext2fs/ext2_err.c:85 -msgid "Ext2 inode is not a directory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:86 -msgid "Too many references in table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:87 -msgid "File not found by ext2_lookup" -msgstr "" - -#: lib/ext2fs/ext2_err.c:88 -msgid "File open read-only" -msgstr "" - -#: lib/ext2fs/ext2_err.c:89 -#, fuzzy -msgid "Ext2 directory block not found" -msgstr "Blocco directory %d (#%d) vuoto nell'inode %d\n" - -#: lib/ext2fs/ext2_err.c:90 -msgid "Ext2 directory already exists" -msgstr "" - -#: lib/ext2fs/ext2_err.c:91 -msgid "Unimplemented ext2 library function" -msgstr "" - -#: lib/ext2fs/ext2_err.c:92 -msgid "User cancel requested" -msgstr "" - -#: lib/ext2fs/ext2_err.c:93 -msgid "Ext2 file too big" -msgstr "" - -#: lib/ext2fs/ext2_err.c:94 -#, fuzzy -msgid "Supplied journal device not a block device" -msgstr "Aggiunta del journal al device %s: " - -#: lib/ext2fs/ext2_err.c:95 -#, fuzzy -msgid "Journal superblock not found" -msgstr "Superblocco del journal non trovato!\n" - -#: lib/ext2fs/ext2_err.c:96 -msgid "Journal must be at least 1024 blocks" -msgstr "" - -#: lib/ext2fs/ext2_err.c:97 -msgid "Unsupported journal version" -msgstr "" - -#: lib/ext2fs/ext2_err.c:98 -#, fuzzy -msgid "Error loading external journal" -msgstr "cercando di aprire il journal esterno" - -#: lib/ext2fs/ext2_err.c:99 -#, fuzzy -msgid "Journal not found" -msgstr "Superblocco del journal non trovato!\n" - -#: lib/ext2fs/ext2_err.c:100 -msgid "Directory hash unsupported" -msgstr "" - -#: lib/ext2fs/ext2_err.c:101 -#, fuzzy -msgid "Illegal extended attribute block number" -msgstr "aattributo esteso" - -#: lib/ext2fs/ext2_err.c:102 -msgid "Cannot create filesystem with requested number of inodes" -msgstr "" - -#: lib/ext2fs/ext2_err.c:103 -msgid "E2image snapshot not in use" -msgstr "" - -#: lib/ext2fs/ext2_err.c:104 -#, fuzzy -msgid "Too many reserved group descriptor blocks" -msgstr "" - -#: lib/ext2fs/ext2_err.c:105 -msgid "Resize inode is corrupt" -msgstr "" - -#: lib/ext2fs/ext2_err.c:106 -msgid "Tried to set block bmap with missing indirect block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:107 -msgid "TDB: Success" -msgstr "" - -#: lib/ext2fs/ext2_err.c:108 -msgid "TDB: Corrupt database" -msgstr "" - -#: lib/ext2fs/ext2_err.c:109 -msgid "TDB: IO Error" -msgstr "" - -#: lib/ext2fs/ext2_err.c:110 -msgid "TDB: Locking error" -msgstr "" - -#: lib/ext2fs/ext2_err.c:111 -msgid "TDB: Out of memory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:112 -msgid "TDB: Record exists" -msgstr "" - -#: lib/ext2fs/ext2_err.c:113 -msgid "TDB: Lock exists on other keys" -msgstr "" - -#: lib/ext2fs/ext2_err.c:114 -#, fuzzy -msgid "TDB: Invalid parameter" -msgstr "Parametro di stride non valido.\n" - -#: lib/ext2fs/ext2_err.c:115 -msgid "TDB: Record does not exist" -msgstr "" - -#: lib/ext2fs/ext2_err.c:116 -msgid "TDB: Write not permitted" -msgstr "" - -#: lib/ext2fs/ext2_err.c:117 -msgid "Ext2fs directory block list is empty" -msgstr "" - -#: lib/ext2fs/ext2_err.c:118 -msgid "Attempt to modify a block mapping via a read-only block iterator" -msgstr "" - -#: lib/ext2fs/ext2_err.c:119 -msgid "Wrong magic number for ext4 extent saved path" -msgstr "" - -#: lib/ext2fs/ext2_err.c:120 -msgid "Wrong magic number for 64-bit generic bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:121 -msgid "Wrong magic number for 64-bit block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:122 -msgid "Wrong magic number for 64-bit inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:123 -msgid "Wrong magic number --- RESERVED_13" -msgstr "" - -#: lib/ext2fs/ext2_err.c:124 -msgid "Wrong magic number --- RESERVED_14" -msgstr "" - -#: lib/ext2fs/ext2_err.c:125 -msgid "Wrong magic number --- RESERVED_15" -msgstr "" - -#: lib/ext2fs/ext2_err.c:126 -msgid "Wrong magic number --- RESERVED_16" -msgstr "" - -#: lib/ext2fs/ext2_err.c:127 -msgid "Wrong magic number --- RESERVED_17" -msgstr "" - -#: lib/ext2fs/ext2_err.c:128 -msgid "Wrong magic number --- RESERVED_18" -msgstr "" - -#: lib/ext2fs/ext2_err.c:129 -msgid "Wrong magic number --- RESERVED_19" -msgstr "" - -#: lib/ext2fs/ext2_err.c:130 -msgid "Corrupt extent header" -msgstr "" - -#: lib/ext2fs/ext2_err.c:131 -msgid "Corrupt extent index" -msgstr "" - -#: lib/ext2fs/ext2_err.c:132 -msgid "Corrupt extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:133 -msgid "No free space in extent map" -msgstr "" - -#: lib/ext2fs/ext2_err.c:134 -msgid "Inode does not use extents" -msgstr "" - -#: lib/ext2fs/ext2_err.c:135 -#, fuzzy -msgid "No 'next' extent" -msgstr "eelemento" - -#: lib/ext2fs/ext2_err.c:136 -msgid "No 'previous' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:137 -msgid "No 'up' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:138 -msgid "No 'down' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:139 -msgid "No current node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:140 -msgid "Ext2fs operation not supported" -msgstr "" - -#: lib/ext2fs/ext2_err.c:141 -msgid "No room to insert extent in node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:142 -msgid "Splitting would result in empty node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:143 -#, fuzzy -msgid "Extent not found" -msgstr "/@l non trovata. " - -#: lib/ext2fs/ext2_err.c:144 -msgid "Operation not supported for inodes containing extents" -msgstr "" - -#: lib/ext2fs/ext2_err.c:145 -msgid "Extent length is invalid" -msgstr "" - -#: lib/ext2fs/ext2_err.c:146 -msgid "I/O Channel does not support 64-bit block numbers" -msgstr "" - -#: lib/ext2fs/ext2_err.c:147 -msgid "Can't check if filesystem is mounted due to missing mtab file" -msgstr "" - -#: lib/ext2fs/ext2_err.c:148 -msgid "Filesystem too large to use legacy bitmaps" -msgstr "" - -#: lib/ext2fs/ext2_err.c:149 -msgid "MMP: invalid magic number" -msgstr "" - -#: lib/ext2fs/ext2_err.c:150 -msgid "MMP: device currently active" -msgstr "" - -#: lib/ext2fs/ext2_err.c:151 -msgid "MMP: fsck being run" -msgstr "" - -#: lib/ext2fs/ext2_err.c:152 -msgid "MMP: block number beyond filesystem range" -msgstr "" - -#: lib/ext2fs/ext2_err.c:153 -msgid "MMP: undergoing an unknown operation" -msgstr "" - -#: lib/ext2fs/ext2_err.c:154 -#, fuzzy -msgid "MMP: filesystem still in use" -msgstr "dimensione filesystem non valida - %s" - -#: lib/ext2fs/ext2_err.c:155 -msgid "MMP: open with O_DIRECT failed" -msgstr "" - -#: e2fsck/prof_err.c:11 -msgid "Profile version 0.0" -msgstr "" - -#: e2fsck/prof_err.c:12 -msgid "Bad magic value in profile_node" -msgstr "" - -#: e2fsck/prof_err.c:13 -#, fuzzy -msgid "Profile section not found" -msgstr "creando /lost+found" - -#: e2fsck/prof_err.c:14 -#, fuzzy -msgid "Profile relation not found" -msgstr "creando /lost+found" - -#: e2fsck/prof_err.c:15 -msgid "Attempt to add a relation to node which is not a section" -msgstr "" - -#: e2fsck/prof_err.c:16 -msgid "A profile section header has a non-zero value" -msgstr "" - -#: e2fsck/prof_err.c:17 -msgid "Bad linked list in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:18 -msgid "Bad group level in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:19 -msgid "Bad parent pointer in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:20 -msgid "Bad magic value in profile iterator" -msgstr "" - -#: e2fsck/prof_err.c:21 -msgid "Can't set value on section node" -msgstr "" - -#: e2fsck/prof_err.c:22 -msgid "Invalid argument passed to profile library" -msgstr "" - -#: e2fsck/prof_err.c:23 -msgid "Attempt to modify read-only profile" -msgstr "" - -#: e2fsck/prof_err.c:24 -msgid "Profile section header not at top level" -msgstr "" - -#: e2fsck/prof_err.c:25 -msgid "Syntax error in profile section header" -msgstr "" - -#: e2fsck/prof_err.c:26 -msgid "Syntax error in profile relation" -msgstr "" - -#: e2fsck/prof_err.c:27 -msgid "Extra closing brace in profile" -msgstr "" - -#: e2fsck/prof_err.c:28 -msgid "Missing open brace in profile" -msgstr "" - -#: e2fsck/prof_err.c:29 -msgid "Bad magic value in profile_t" -msgstr "" - -#: e2fsck/prof_err.c:30 -msgid "Bad magic value in profile_section_t" -msgstr "" - -#: e2fsck/prof_err.c:31 -msgid "Iteration through all top level section not supported" -msgstr "" - -#: e2fsck/prof_err.c:32 -#, fuzzy -msgid "Invalid profile_section object" -msgstr "Set di opzioni del filesystem non valido: %s\n" - -#: e2fsck/prof_err.c:33 -msgid "No more sections" -msgstr "" - -#: e2fsck/prof_err.c:34 -msgid "Bad nameset passed to query routine" -msgstr "" - -#: e2fsck/prof_err.c:35 -msgid "No profile file open" -msgstr "" - -#: e2fsck/prof_err.c:36 -msgid "Bad magic value in profile_file_t" -msgstr "" - -#: e2fsck/prof_err.c:37 -#, fuzzy -msgid "Couldn't open profile file" -msgstr "Impossibile clonare il file: %m\n" - -#: e2fsck/prof_err.c:38 -msgid "Section already exists" -msgstr "" - -#: e2fsck/prof_err.c:39 -msgid "Invalid boolean value" -msgstr "" - -#: e2fsck/prof_err.c:40 -#, fuzzy -msgid "Invalid integer value" -msgstr "Parametro di stride non valido.\n" - -#: e2fsck/prof_err.c:41 -msgid "Bad magic value in profile_file_data_t" -msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "%s is mounted. " -#~ msgstr "%s è montato. " - -#~ msgid "bad block size - %s" -#~ msgstr "dimensione del blocco difettoso - %s" - -#, fuzzy -#~ msgid "invalid fragment size - %s" -#~ msgstr "dimensione del frammento non valida - %s" - -#~ msgid "Warning: fragments not supported. Ignoring -f option\n" -#~ msgstr "Attenzione: frammenti non supportati. Opzione -f ignorata\n" - -#~ msgid "Journal NOT removed\n" -#~ msgstr "Journal NON rimosso\n" - -#~ msgid "#\t\t %u -> %u (%d)\n" -#~ msgstr "#\t\t %u -> %u (%d)\n" - -#~ msgid "@S doesn't have has_@j flag, but has ext3 @j %s.\n" -#~ msgstr "Il @S non ha il flag has_@j, ma ha il @j ext3 %s.\n" - -#, fuzzy -#~ msgid "@a in @i %i has a hash (%N) which is @n (must be 0)\n" -#~ msgstr "L'@h %i ha un livello di profondità (%N) troppo elevato\n" - -#~ msgid "while calling ext2fs_block_iterate" -#~ msgstr "chiamando ext2fs_block_iterate" - -#~ msgid "while calling iterator function" -#~ msgstr "chiamando la funzione iteratrice" - -#~ msgid "while allocating inode buffer" -#~ msgstr "allocando il buffer inode" - -#~ msgid "while reading inode table (group %d)" -#~ msgstr "leggendo la tavola degli inode (gruppo %d)" - -#~ msgid "while writing inode table (group %d)" -#~ msgstr "scrivendo la tavola degli inode (gruppo %d)" - -#~ msgid "Pass 0: Doing byte-swap of filesystem\n" -#~ msgstr "Pass 0: Esecuzione del byte-swap del filesystem\n" - -#~ msgid "" -#~ "%s: the filesystem must be freshly checked using fsck\n" -#~ "and not mounted before trying to byte-swap it.\n" -#~ msgstr "" -#~ "%s: il filesystem dev'essere controllato da poco utilizzando fsck\n" -#~ "e dev'essere smontato prima di provare ad eseguirne il byte-swap.\n" - -#~ msgid "Byte swap" -#~ msgstr "Byte-swap" - -#~ msgid "%s: Filesystem byte order already normalized.\n" -#~ msgstr "%s: Ordine dei byte del filesystem già normalizzato.\n" - -#~ msgid "while retrying to write block bitmaps for %s" -#~ msgstr "riprovando a scrivere le mappe di bit di blocco per %s" - -#, fuzzy -#~ msgid "Note: This is a byte-swapped filesystem\n" -#~ msgstr "Nota: Questo è un filesystem a byte scambiati\n" - -#, fuzzy -#~ msgid "Warning: %d-byte inodes not usable on older systems\n" -#~ msgstr "" -#~ "Attenzione: gli inode di %d byte non sono utilizzabili su molti sistemi\n" - -#~ msgid "Clone duplicate/bad blocks" -#~ msgstr "Clona i blocchi duplicati/non validi" - -#, fuzzy -#~ msgid "Error allocating @a @b %b. " -#~ msgstr "Errore allocando l'@a di @b %b. " - -#~ msgid "" -#~ "Duplicate @bs found... invoking duplicate @b passes.\n" -#~ "Pass 1B: Rescan for duplicate/bad @bs\n" -#~ msgstr "" -#~ "@b(i) duplicati trovati... invocare i passi relativi ai @b(i) duplicati.\n" -#~ "Passo 1B: Nuova analisi relativa ai @b(i) duplicati/non validi\n" - -#~ msgid "Duplicate/bad @b(s) in @i %i:" -#~ msgstr "@b duplicato/non valido(i) in @i %i:" - -#~ msgid "Forcibly clearing HTREE flag on @i %d (%q). (Beta test code)\n" -#~ msgstr "" -#~ "Pulizia forzata del flag HTREE nell'@i %d (%q). (Codice in beta testing)\n" +#~ msgid "Forcibly clearing HTREE flag on @i %d (%q). (Beta test code)\n" +#~ msgstr "" +#~ "Pulizia forzata del flag HTREE nell'@i %d (%q). (Codice in beta testing)\n" #~ msgid "" #~ "Extended options are separated by commas, and may take an argument which\n" @@ -6819,6 +5227,9 @@ msgstr "" #~ "\tea_ver=, 2005, 2006, 2007, 2008, 2010. # -# -# Benno Schulenberg , 2005, 2006, 2007, 2008, 2010, 2011, 2012, 2013. #. 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, #. there is an @-expansion, where strings like "@i" are expanded to @@ -68,376 +65,378 @@ #. msgid "" msgstr "" -"Project-Id-Version: e2fsprogs-1.42.8\n" +"Project-Id-Version: e2fsprogs-1.41.12\n" "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n" -"POT-Creation-Date: 2013-06-16 08:17-0400\n" -"PO-Revision-Date: 2013-07-30 12:44+0200\n" +"POT-Creation-Date: 2010-05-17 23:05-0400\n" +"PO-Revision-Date: 2010-05-20 22:51+0200\n" "Last-Translator: Benno Schulenberg \n" "Language-Team: Dutch \n" -"Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: e2fsck/badblocks.c:23 misc/mke2fs.c:180 +#: e2fsck/badblocks.c:22 misc/mke2fs.c:169 #, c-format msgid "Bad block %u out of range; ignored.\n" msgstr "Slecht blok %u ligt buiten bereik; genegeerd.\n" -#: e2fsck/badblocks.c:46 +#: e2fsck/badblocks.c:45 msgid "while sanity checking the bad blocks inode" -msgstr "tijdens controle van de slechteblokken-inode" +msgstr "tijdens controle van de slechte-blokken-inode" -#: e2fsck/badblocks.c:58 +#: e2fsck/badblocks.c:57 msgid "while reading the bad blocks inode" -msgstr "tijdens lezen van de slechteblokken-inode" +msgstr "tijdens lezen van de slechte-blokken-inode" -#: e2fsck/badblocks.c:72 e2fsck/iscan.c:110 e2fsck/scantest.c:107 -#: e2fsck/unix.c:1332 e2fsck/unix.c:1420 misc/badblocks.c:1214 -#: misc/badblocks.c:1222 misc/badblocks.c:1236 misc/badblocks.c:1248 -#: misc/dumpe2fs.c:588 misc/e2image.c:1196 misc/e2image.c:1324 -#: misc/e2image.c:1337 misc/mke2fs.c:196 misc/tune2fs.c:1907 resize/main.c:315 +#: e2fsck/badblocks.c:71 e2fsck/iscan.c:112 e2fsck/scantest.c:109 +#: e2fsck/unix.c:1083 e2fsck/unix.c:1166 misc/badblocks.c:1155 +#: misc/badblocks.c:1163 misc/badblocks.c:1177 misc/badblocks.c:1189 +#: misc/dumpe2fs.c:552 misc/e2image.c:583 misc/e2image.c:679 +#: misc/e2image.c:695 misc/mke2fs.c:185 misc/tune2fs.c:1573 resize/main.c:310 #, c-format msgid "while trying to open %s" msgstr "tijdens openen van %s" -#: e2fsck/badblocks.c:83 +#: e2fsck/badblocks.c:82 #, c-format msgid "while trying popen '%s'" msgstr "tijdens een popen() van %s" -#: e2fsck/badblocks.c:94 misc/mke2fs.c:203 +#: e2fsck/badblocks.c:93 misc/mke2fs.c:192 msgid "while reading in list of bad blocks from file" msgstr "tijdens lezen van lijst van slechte blokken uit bestand" -#: e2fsck/badblocks.c:105 +#: e2fsck/badblocks.c:104 msgid "while updating bad block inode" msgstr "tijdens bijwerken van de inode van een slecht blok" -#: e2fsck/badblocks.c:131 +#: e2fsck/badblocks.c:130 #, c-format msgid "Warning: illegal block %u found in bad block inode. Cleared.\n" msgstr "Waarschuwing: ongeldig blok %u gevonden in inode van slecht blok. Gewist.\n" -#: e2fsck/ehandler.c:55 +#: e2fsck/ehandler.c:54 #, c-format msgid "Error reading block %lu (%s) while %s. " msgstr "Fout tijdens lezen van blok %lu (%s) tijdens %s. " -#: e2fsck/ehandler.c:58 +#: e2fsck/ehandler.c:57 #, c-format msgid "Error reading block %lu (%s). " msgstr "Fout tijdens lezen van blok %lu (%s). " -#: e2fsck/ehandler.c:61 e2fsck/ehandler.c:110 +#: e2fsck/ehandler.c:60 e2fsck/ehandler.c:109 msgid "Ignore error" msgstr "Fout negeren" -#: e2fsck/ehandler.c:62 +#: e2fsck/ehandler.c:61 msgid "Force rewrite" msgstr "Herschrijven afdwingen" -#: e2fsck/ehandler.c:104 +#: e2fsck/ehandler.c:103 #, c-format msgid "Error writing block %lu (%s) while %s. " msgstr "Fout tijdens schrijven van blok %lu (%s) tijdens %s. " -#: e2fsck/ehandler.c:107 +#: e2fsck/ehandler.c:106 #, c-format msgid "Error writing block %lu (%s). " msgstr "Fout tijdens schrijven van blok %lu (%s). " -#: e2fsck/emptydir.c:57 +#: e2fsck/emptydir.c:56 msgid "empty dirblocks" msgstr "lege mapblokken" -#: e2fsck/emptydir.c:62 +#: e2fsck/emptydir.c:61 msgid "empty dir map" msgstr "lege maptabel" -#: e2fsck/emptydir.c:98 +#: e2fsck/emptydir.c:97 #, c-format msgid "Empty directory block %u (#%d) in inode %u\n" msgstr "Leeg mapblok %u (#%d) in inode %u.\n" -#: e2fsck/extend.c:22 +#: e2fsck/extend.c:21 #, c-format msgid "%s: %s filename nblocks blocksize\n" msgstr "Gebruik van %s: %s bestandsnaam blokkenaantal blokgrootte\n" -#: e2fsck/extend.c:44 +#: e2fsck/extend.c:43 #, c-format msgid "Illegal number of blocks!\n" msgstr "Ongeldig aantal blokken!\n" -#: e2fsck/extend.c:50 +#: e2fsck/extend.c:49 #, c-format msgid "Couldn't allocate block buffer (size=%d)\n" msgstr "Kan geen blokbuffer reserveren (grootte=%d).\n" -#: e2fsck/flushb.c:35 +#: e2fsck/flushb.c:34 #, c-format msgid "Usage: %s disk\n" msgstr "Gebruik: %s schijfnaam\n" -#: e2fsck/flushb.c:64 +#: e2fsck/flushb.c:63 #, c-format msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n" msgstr "ioctl(BLKFLSBUF) wordt niet ondersteund! Kan buffers niet leegmaken.\n" -#: e2fsck/iscan.c:44 +#: e2fsck/iscan.c:46 #, c-format msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n" msgstr "Gebruik: %s [-F] [-I inodebufferblokken] apparaat\n" -#: e2fsck/iscan.c:81 e2fsck/unix.c:961 +#: e2fsck/iscan.c:83 e2fsck/unix.c:838 #, c-format msgid "while opening %s for flushing" msgstr "tijdens openen van %s om deze leeg te maken" -#: e2fsck/iscan.c:86 e2fsck/unix.c:967 resize/main.c:288 +#: e2fsck/iscan.c:88 e2fsck/unix.c:844 resize/main.c:286 #, c-format msgid "while trying to flush %s" msgstr "tijdens leegmaken van %s" -#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1091 +#: e2fsck/iscan.c:121 e2fsck/scantest.c:116 misc/e2image.c:489 msgid "while opening inode scan" msgstr "tijdens openen voor inode-scan" -#: e2fsck/iscan.c:127 misc/e2image.c:1109 +#: e2fsck/iscan.c:129 misc/e2image.c:507 msgid "while getting next inode" msgstr "tijdens halen van volgende inode" -#: e2fsck/iscan.c:136 +#: e2fsck/iscan.c:138 #, c-format msgid "%u inodes scanned.\n" msgstr "%u inodes gescand.\n" -#: e2fsck/journal.c:522 +#: e2fsck/journal.c:507 msgid "reading journal superblock\n" msgstr "lezen van journal-superblok...\n" -#: e2fsck/journal.c:579 +#: e2fsck/journal.c:564 #, c-format msgid "%s: no valid journal superblock found\n" msgstr "%s: geen geldig journal-superblok gevonden\n" -#: e2fsck/journal.c:588 +#: e2fsck/journal.c:573 #, c-format msgid "%s: journal too short\n" msgstr "%s: journal is te kort\n" -#: e2fsck/journal.c:880 +#: e2fsck/journal.c:860 #, c-format msgid "%s: recovering journal\n" msgstr "%s: herstellen van journal...\n" -#: e2fsck/journal.c:882 +#: e2fsck/journal.c:862 #, c-format msgid "%s: won't do journal recovery while read-only\n" msgstr "%s: geen herstelling van journal bij alleen-lezen\n" -#: e2fsck/journal.c:909 +#: e2fsck/journal.c:887 #, c-format msgid "while trying to re-open %s" msgstr "tijdens heropenen van %s" # Behalve E en F worden de volgende 30 letterafkortingen niet gebruikt. -#: e2fsck/message.c:113 +#: e2fsck/message.c:111 msgid "aextended attribute" msgstr "a" -#: e2fsck/message.c:114 +#: e2fsck/message.c:112 msgid "Aerror allocating" msgstr "A" -#: e2fsck/message.c:115 +#: e2fsck/message.c:113 msgid "bblock" msgstr "b" -#: e2fsck/message.c:116 +#: e2fsck/message.c:114 msgid "Bbitmap" msgstr "B" -#: e2fsck/message.c:117 +#: e2fsck/message.c:115 msgid "ccompress" msgstr "c" -#: e2fsck/message.c:118 +#: e2fsck/message.c:116 msgid "Cconflicts with some other fs @b" msgstr "C" -#: e2fsck/message.c:119 +#: e2fsck/message.c:117 msgid "iinode" msgstr "i" -#: e2fsck/message.c:120 +#: e2fsck/message.c:118 msgid "Iillegal" msgstr "I" -#: e2fsck/message.c:121 +#: e2fsck/message.c:119 msgid "jjournal" msgstr "j" -#: e2fsck/message.c:122 +#: e2fsck/message.c:120 msgid "Ddeleted" msgstr "D" -#: e2fsck/message.c:123 +#: e2fsck/message.c:121 msgid "ddirectory" msgstr "d" -#: e2fsck/message.c:124 +#: e2fsck/message.c:122 msgid "eentry" msgstr "e" -#: e2fsck/message.c:125 +#: e2fsck/message.c:123 msgid "E@e '%Dn' in %p (%i)" msgstr "EItem '%Dn' in %p (%i)" -#: e2fsck/message.c:126 +#: e2fsck/message.c:124 msgid "ffilesystem" msgstr "f" -#: e2fsck/message.c:127 +#: e2fsck/message.c:125 msgid "Ffor @i %i (%Q) is" msgstr "Fvoor inode %i (%Q)" -#: e2fsck/message.c:128 +#: e2fsck/message.c:126 msgid "ggroup" msgstr "g" -#: e2fsck/message.c:129 +#: e2fsck/message.c:127 msgid "hHTREE @d @i" msgstr "h" -#: e2fsck/message.c:130 +#: e2fsck/message.c:128 msgid "llost+found" msgstr "l" -#: e2fsck/message.c:131 +#: e2fsck/message.c:129 msgid "Lis a link" msgstr "L" -#: e2fsck/message.c:132 +#: e2fsck/message.c:130 msgid "mmultiply-claimed" msgstr "m" -#: e2fsck/message.c:133 +#: e2fsck/message.c:131 msgid "ninvalid" msgstr "n" -#: e2fsck/message.c:134 +#: e2fsck/message.c:132 msgid "oorphaned" msgstr "o" -#: e2fsck/message.c:135 +#: e2fsck/message.c:133 msgid "pproblem in" msgstr "p" -#: e2fsck/message.c:136 -msgid "qquota" -msgstr "q" - -#: e2fsck/message.c:137 +#: e2fsck/message.c:134 msgid "rroot @i" msgstr "r" -#: e2fsck/message.c:138 +#: e2fsck/message.c:135 msgid "sshould be" msgstr "s" -#: e2fsck/message.c:139 +#: e2fsck/message.c:136 msgid "Ssuper@b" msgstr "S" -#: e2fsck/message.c:140 +#: e2fsck/message.c:137 msgid "uunattached" msgstr "u" -#: e2fsck/message.c:141 +#: e2fsck/message.c:138 msgid "vdevice" msgstr "v" -#: e2fsck/message.c:142 +#: e2fsck/message.c:139 msgid "xextent" msgstr "x" -#: e2fsck/message.c:143 +#: e2fsck/message.c:140 msgid "zzero-length" msgstr "z" -#: e2fsck/message.c:154 +#: e2fsck/message.c:151 msgid "" msgstr "" -#: e2fsck/message.c:155 +#: e2fsck/message.c:152 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:157 -msgid "" -msgstr "" +#: e2fsck/message.c:154 +msgid "" +msgstr "" -#: e2fsck/message.c:158 -msgid "" -msgstr "" +#: e2fsck/message.c:155 +msgid "" +msgstr "" -#: e2fsck/message.c:159 +#: e2fsck/message.c:156 msgid "" msgstr "" -#: e2fsck/message.c:160 +#: e2fsck/message.c:157 msgid "" msgstr "" -#: e2fsck/message.c:161 +#: e2fsck/message.c:158 msgid "" msgstr "" -#: e2fsck/message.c:162 +#: e2fsck/message.c:159 msgid "" msgstr "" -#: e2fsck/message.c:163 +#: e2fsck/message.c:160 msgid "" msgstr "" -#: e2fsck/message.c:164 +#: e2fsck/message.c:161 msgid "" msgstr "" -#: e2fsck/message.c:333 +#: e2fsck/message.c:330 +#, c-format msgid "regular file" msgstr "normaal bestand" -#: e2fsck/message.c:335 +#: e2fsck/message.c:332 +#, c-format msgid "directory" msgstr "map" -#: e2fsck/message.c:337 +#: e2fsck/message.c:334 +#, c-format msgid "character device" msgstr "byte-apparaat" -#: e2fsck/message.c:339 +#: e2fsck/message.c:336 +#, c-format msgid "block device" msgstr "blok-apparaat" -#: e2fsck/message.c:341 +#: e2fsck/message.c:338 +#, c-format msgid "named pipe" msgstr "benoemde pijp" -#: e2fsck/message.c:343 +#: e2fsck/message.c:340 +#, c-format msgid "symbolic link" msgstr "symbolische koppeling" -#: e2fsck/message.c:345 misc/uuidd.c:161 +#: e2fsck/message.c:342 +#, c-format msgid "socket" msgstr "socket" -#: e2fsck/message.c:347 +#: e2fsck/message.c:344 #, c-format msgid "unknown file type with mode 0%o" msgstr "onbekend bestandstype met modus 0%o" @@ -462,308 +461,308 @@ msgstr "vertalerblok" msgid "block #" msgstr "bloknummer" -#: e2fsck/pass1b.c:222 +#: e2fsck/pass1b.c:220 msgid "multiply claimed inode map" msgstr "kaart van meervoudig-geclaimde inodes" -#: e2fsck/pass1b.c:610 e2fsck/pass1b.c:730 +#: e2fsck/pass1b.c:581 e2fsck/pass1b.c:714 #, c-format -msgid "internal error: can't find dup_blk for %llu\n" -msgstr "*interne fout*: kan geen 'dup_blk' voor %llu vinden\n" +msgid "internal error: can't find dup_blk for %u\n" +msgstr "*interne fout*: kan geen 'dup_blk' voor %u vinden\n" -#: e2fsck/pass1b.c:821 +#: e2fsck/pass1b.c:757 msgid "returned from clone_file_block" msgstr "### teruggekeerd van clone_file_block()" -#: e2fsck/pass1b.c:843 +#: e2fsck/pass1b.c:776 #, c-format -msgid "internal error: couldn't lookup EA block record for %llu" -msgstr "*interne fout*: kan de record van EA-blokken voor %llu niet opvragen" +msgid "internal error: couldn't lookup EA block record for %u" +msgstr "*interne fout*: kan de record van EA-blokken voor %u niet opvragen" -#: e2fsck/pass1b.c:855 +#: e2fsck/pass1b.c:788 #, c-format msgid "internal error: couldn't lookup EA inode record for %u" msgstr "*interne fout*: kan de record van EA-inodes voor %u niet opvragen" -#: e2fsck/pass1.c:475 e2fsck/pass2.c:782 +#: e2fsck/pass1.c:475 e2fsck/pass2.c:776 msgid "reading directory block" msgstr "tijdens lezen van mapblok" -#: e2fsck/pass1.c:598 +#: e2fsck/pass1.c:597 msgid "in-use inode map" msgstr "bitkaart van gebruikte inodes" -#: e2fsck/pass1.c:609 +#: e2fsck/pass1.c:606 msgid "directory inode map" msgstr "bitkaart van mappen" -#: e2fsck/pass1.c:619 +#: e2fsck/pass1.c:614 msgid "regular file inode map" msgstr "bitkaart van normale bestanden" -#: e2fsck/pass1.c:628 +#: e2fsck/pass1.c:621 msgid "in-use block map" msgstr "bitkaart van gebruikte blokken" -#: e2fsck/pass1.c:695 +#: e2fsck/pass1.c:675 msgid "opening inode scan" msgstr "tijdens starten van inode-scan" -#: e2fsck/pass1.c:729 +#: e2fsck/pass1.c:699 msgid "getting next inode from scan" msgstr "tijdens halen van volgende inode" -#: e2fsck/pass1.c:1239 +#: e2fsck/pass1.c:1173 msgid "Pass 1" msgstr "Stap 1" -#: e2fsck/pass1.c:1296 +#: e2fsck/pass1.c:1230 #, c-format msgid "reading indirect blocks of inode %u" msgstr "lezen van indirecte blokken van inode %u" -#: e2fsck/pass1.c:1346 +#: e2fsck/pass1.c:1274 msgid "bad inode map" msgstr "bitkaart van slechte inodes" -#: e2fsck/pass1.c:1369 +#: e2fsck/pass1.c:1296 msgid "inode in bad block map" msgstr "inode staat in kaart van slechte blokken" -#: e2fsck/pass1.c:1389 +#: e2fsck/pass1.c:1316 msgid "imagic inode map" msgstr "imagic-inodekaart" -#: e2fsck/pass1.c:1416 +#: e2fsck/pass1.c:1343 msgid "multiply claimed block map" msgstr "kaart van meervoudig-geclaimde blokken" -#: e2fsck/pass1.c:1527 +#: e2fsck/pass1.c:1443 msgid "ext attr block map" msgstr "kaart van blokken met uitgebreide kenmerken" -#: e2fsck/pass1.c:2299 +#: e2fsck/pass1.c:2181 #, c-format msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n" msgstr "%6lu(%c): verwachtte %6lu, kreeg fysiek %6lu (blokkenaantal %lld)\n" -#: e2fsck/pass1.c:2660 +#: e2fsck/pass1.c:2533 msgid "block bitmap" msgstr "blok-bitkaart" -#: e2fsck/pass1.c:2666 +#: e2fsck/pass1.c:2537 msgid "inode bitmap" msgstr "inode-bitkaart" -#: e2fsck/pass1.c:2672 +#: e2fsck/pass1.c:2541 msgid "inode table" msgstr "inodetabel" -#: e2fsck/pass2.c:283 +#: e2fsck/pass2.c:277 msgid "Pass 2" msgstr "Stap 2" -#: e2fsck/pass2.c:805 +#: e2fsck/pass2.c:799 msgid "Can not continue." msgstr "Kan niet verdergaan." -#: e2fsck/pass3.c:77 +#: e2fsck/pass3.c:76 msgid "inode done bitmap" msgstr "bitkaart van behandelde inodes" -#: e2fsck/pass3.c:86 +#: e2fsck/pass3.c:84 msgid "Peak memory" msgstr "Piekgeheugengebruik" -#: e2fsck/pass3.c:136 +#: e2fsck/pass3.c:134 msgid "Pass 3" msgstr "Stap 3" -#: e2fsck/pass3.c:322 +#: e2fsck/pass3.c:320 msgid "inode loop detection bitmap" msgstr "bitkaart van inode-lusdetectie" -#: e2fsck/pass4.c:196 +#: e2fsck/pass4.c:191 msgid "Pass 4" msgstr "Stap 4" -#: e2fsck/pass5.c:74 +#: e2fsck/pass5.c:64 msgid "Pass 5" msgstr "Stap 5" -#: e2fsck/problem.c:51 +#: e2fsck/problem.c:50 msgid "(no prompt)" msgstr "(geen prompt)" -#: e2fsck/problem.c:52 +#: e2fsck/problem.c:51 msgid "Fix" msgstr "Repareren" -#: e2fsck/problem.c:53 +#: e2fsck/problem.c:52 msgid "Clear" msgstr "Wissen" -#: e2fsck/problem.c:54 +#: e2fsck/problem.c:53 msgid "Relocate" msgstr "Herplaatsen" -#: e2fsck/problem.c:55 +#: e2fsck/problem.c:54 msgid "Allocate" msgstr "Plaatsen" -#: e2fsck/problem.c:56 +#: e2fsck/problem.c:55 msgid "Expand" msgstr "Uitbreiden" -#: e2fsck/problem.c:57 +#: e2fsck/problem.c:56 msgid "Connect to /lost+found" msgstr "Verbinden met /lost+found" -#: e2fsck/problem.c:58 +#: e2fsck/problem.c:57 msgid "Create" msgstr "Aanmaken" -#: e2fsck/problem.c:59 +#: e2fsck/problem.c:58 msgid "Salvage" msgstr "Bergen" -#: e2fsck/problem.c:60 +#: e2fsck/problem.c:59 msgid "Truncate" msgstr "Afkappen" -#: e2fsck/problem.c:61 +#: e2fsck/problem.c:60 msgid "Clear inode" msgstr "Inode wissen" -#: e2fsck/problem.c:62 +#: e2fsck/problem.c:61 msgid "Abort" msgstr "Afbreken" -#: e2fsck/problem.c:63 +#: e2fsck/problem.c:62 msgid "Split" msgstr "Splitsen" -#: e2fsck/problem.c:64 +#: e2fsck/problem.c:63 msgid "Continue" msgstr "Doorgaan" -#: e2fsck/problem.c:65 +#: e2fsck/problem.c:64 msgid "Clone multiply-claimed blocks" msgstr "Meervoudig-geclaimde blokken klonen" -#: e2fsck/problem.c:66 +#: e2fsck/problem.c:65 msgid "Delete file" msgstr "Bestand verwijderen" -#: e2fsck/problem.c:67 +#: e2fsck/problem.c:66 msgid "Suppress messages" msgstr "Berichten onderdrukken" -#: e2fsck/problem.c:68 +#: e2fsck/problem.c:67 msgid "Unlink" msgstr "Losmaken" -#: e2fsck/problem.c:69 +#: e2fsck/problem.c:68 msgid "Clear HTree index" msgstr "'htree'-index wissen" -#: e2fsck/problem.c:70 +#: e2fsck/problem.c:69 msgid "Recreate" msgstr "Heraanmaken" -#: e2fsck/problem.c:79 +#: e2fsck/problem.c:78 msgid "(NONE)" msgstr "(GEEN)" -#: e2fsck/problem.c:80 +#: e2fsck/problem.c:79 msgid "FIXED" msgstr "GEREPAREERD" -#: e2fsck/problem.c:81 +#: e2fsck/problem.c:80 msgid "CLEARED" msgstr "GEWIST" -#: e2fsck/problem.c:82 +#: e2fsck/problem.c:81 msgid "RELOCATED" msgstr "HERPLAATST" -#: e2fsck/problem.c:83 +#: e2fsck/problem.c:82 msgid "ALLOCATED" msgstr "GEPLAATST" -#: e2fsck/problem.c:84 +#: e2fsck/problem.c:83 msgid "EXPANDED" msgstr "UITGEBREID" -#: e2fsck/problem.c:85 +#: e2fsck/problem.c:84 msgid "RECONNECTED" msgstr "HERVERBONDEN" -#: e2fsck/problem.c:86 +#: e2fsck/problem.c:85 msgid "CREATED" msgstr "AANGEMAAKT" -#: e2fsck/problem.c:87 +#: e2fsck/problem.c:86 msgid "SALVAGED" msgstr "GEBORGEN" -#: e2fsck/problem.c:88 +#: e2fsck/problem.c:87 msgid "TRUNCATED" msgstr "AFGEKAPT" -#: e2fsck/problem.c:89 +#: e2fsck/problem.c:88 msgid "INODE CLEARED" msgstr "INODE GEWIST" -#: e2fsck/problem.c:90 +#: e2fsck/problem.c:89 msgid "ABORTED" msgstr "AFGEBROKEN" -#: e2fsck/problem.c:91 +#: e2fsck/problem.c:90 msgid "SPLIT" msgstr "GESPLITST" -#: e2fsck/problem.c:92 +#: e2fsck/problem.c:91 msgid "CONTINUING" msgstr "VERDERGAAND" -#: e2fsck/problem.c:93 +#: e2fsck/problem.c:92 msgid "MULTIPLY-CLAIMED BLOCKS CLONED" msgstr "MEERVOUDIG-GECLAIMDE BLOKKEN GEKLOOND" -#: e2fsck/problem.c:94 +#: e2fsck/problem.c:93 msgid "FILE DELETED" msgstr "BESTAND VERWIJDERD" -#: e2fsck/problem.c:95 +#: e2fsck/problem.c:94 msgid "SUPPRESSED" msgstr "ONDERDRUKT" -#: e2fsck/problem.c:96 +#: e2fsck/problem.c:95 msgid "UNLINKED" msgstr "LOSGEMAAKT" -#: e2fsck/problem.c:97 +#: e2fsck/problem.c:96 msgid "HTREE INDEX CLEARED" msgstr "'HTREE'-INDEX GEWIST" -#: e2fsck/problem.c:98 +#: e2fsck/problem.c:97 msgid "WILL RECREATE" msgstr "ZAL HERAANMAKEN" #. @-expanded: block bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:107 +#: e2fsck/problem.c:106 msgid "@b @B for @g %g is not in @g. (@b %b)\n" msgstr "blok-bitkaart voor groep %g zit niet in groep (blok %b)\n" #. @-expanded: inode bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:111 +#: e2fsck/problem.c:110 msgid "@i @B for @g %g is not in @g. (@b %b)\n" msgstr "inode-bitkaart voor groep %g zit niet in groep (blok %b)\n" #. @-expanded: inode table for group %g is not in group. (block %b)\n #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n -#: e2fsck/problem.c:116 +#: e2fsck/problem.c:115 msgid "" "@i table for @g %g is not in @g. (@b %b)\n" "WARNING: SEVERE DATA LOSS POSSIBLE.\n" @@ -778,7 +777,7 @@ msgstr "" #. @-expanded: is corrupt, and you might try running e2fsck with an alternate superblock:\n #. @-expanded: e2fsck -b %S \n #. @-expanded: \n -#: e2fsck/problem.c:122 +#: e2fsck/problem.c:121 #, c-format msgid "" "\n" @@ -800,7 +799,7 @@ msgstr "" #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n #. @-expanded: The physical size of the device is %c blocks\n #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n -#: e2fsck/problem.c:131 +#: e2fsck/problem.c:130 msgid "" "The @f size (according to the @S) is %b @bs\n" "The physical size of the @v is %c @bs\n" @@ -813,7 +812,7 @@ msgstr "" #. @-expanded: superblock block_size = %b, fragsize = %c.\n #. @-expanded: This version of e2fsck does not support fragment sizes different\n #. @-expanded: from the block size.\n -#: e2fsck/problem.c:138 +#: e2fsck/problem.c:137 msgid "" "@S @b_size = %b, fragsize = %c.\n" "This version of e2fsck does not support fragment sizes different\n" @@ -824,18 +823,18 @@ msgstr "" "fragmentgrootte die verschilt van de blokgrootte.\n" #. @-expanded: superblock blocks_per_group = %b, should have been %c\n -#: e2fsck/problem.c:145 +#: e2fsck/problem.c:144 msgid "@S @bs_per_group = %b, should have been %c\n" msgstr "Superblok: blokken_per_groep = %b, zou %c moeten zijn.\n" #. @-expanded: superblock first_data_block = %b, should have been %c\n -#: e2fsck/problem.c:150 +#: e2fsck/problem.c:149 msgid "@S first_data_@b = %b, should have been %c\n" msgstr "Superblok: eerste_gegevens_blok = %b, zou %c moeten zijn.\n" #. @-expanded: filesystem did not have a UUID; generating one.\n #. @-expanded: \n -#: e2fsck/problem.c:155 +#: e2fsck/problem.c:154 msgid "" "@f did not have a UUID; generating one.\n" "\n" @@ -843,7 +842,7 @@ msgstr "" "Bestandssysteem heeft geen UUID; er wordt eentje aangemaakt.\n" "\n" -#: e2fsck/problem.c:160 +#: e2fsck/problem.c:159 #, c-format msgid "" "Note: if several inode or block bitmap blocks or part\n" @@ -861,50 +860,50 @@ msgstr "" "\n" #. @-expanded: Corruption found in superblock. (%s = %N).\n -#: e2fsck/problem.c:169 +#: e2fsck/problem.c:168 msgid "Corruption found in @S. (%s = %N).\n" msgstr "Beschadiging gevonden in het superblok: %s = %N.\n" #. @-expanded: Error determining size of the physical device: %m\n -#: e2fsck/problem.c:174 +#: e2fsck/problem.c:173 #, c-format msgid "Error determining size of the physical @v: %m\n" msgstr "Fout tijdens bepalen van de grootte van fysiek apparaat: %m\n" #. @-expanded: inode count in superblock is %i, should be %j.\n -#: e2fsck/problem.c:179 +#: e2fsck/problem.c:178 msgid "@i count in @S is %i, @s %j.\n" msgstr "Inodetal in superblok is %i, zou %j moeten zijn.\n" -#: e2fsck/problem.c:183 +#: e2fsck/problem.c:182 msgid "The Hurd does not support the filetype feature.\n" -msgstr "De Hurd ondersteunt de bestandstypenfunctie niet.\n" +msgstr "De Hurd ondersteunt de bestandstypenfumctie niet.\n" #. @-expanded: superblock has an invalid journal (inode %i).\n -#: e2fsck/problem.c:188 +#: e2fsck/problem.c:187 #, c-format msgid "@S has an @n @j (@i %i).\n" msgstr "Superblok heeft een ongeldig journal (inode %i).\n" #. @-expanded: External journal has multiple filesystem users (unsupported).\n -#: e2fsck/problem.c:193 +#: e2fsck/problem.c:192 msgid "External @j has multiple @f users (unsupported).\n" msgstr "" "Het externe journal heeft meerdere bestandssysteem-gebruikers;\n" "dit wordt niet ondersteund.\n" #. @-expanded: Can't find external journal\n -#: e2fsck/problem.c:198 +#: e2fsck/problem.c:197 msgid "Can't find external @j\n" msgstr "Kan geen extern journal vinden.\n" #. @-expanded: External journal has bad superblock\n -#: e2fsck/problem.c:203 +#: e2fsck/problem.c:202 msgid "External @j has bad @S\n" msgstr "Het externe journal heeft een slecht superblok.\n" #. @-expanded: External journal does not support this filesystem\n -#: e2fsck/problem.c:208 +#: e2fsck/problem.c:207 msgid "External @j does not support this @f\n" msgstr "Het externe journal ondersteunt dit bestandssysteem niet.\n" @@ -912,7 +911,7 @@ msgstr "Het externe journal ondersteunt dit bestandssysteem niet.\n" #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal #. @-expanded: format.\n #. @-expanded: It is also possible the journal superblock is corrupt.\n -#: e2fsck/problem.c:213 +#: e2fsck/problem.c:212 msgid "" "@f @j @S is unknown type %N (unsupported).\n" "It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n" @@ -923,81 +922,81 @@ msgstr "" "niet ondersteunt. Het kan ook zijn dat het journal-superblok beschadigd is.\n" #. @-expanded: journal superblock is corrupt.\n -#: e2fsck/problem.c:221 +#: e2fsck/problem.c:220 msgid "@j @S is corrupt.\n" msgstr "Het superblok van het journal is beschadigd.\n" #. @-expanded: superblock has_journal flag is clear, but a journal %s is present.\n -#: e2fsck/problem.c:226 +#: e2fsck/problem.c:225 #, c-format msgid "@S has_@j flag is clear, but a @j %s is present.\n" msgstr "Journal-vlag in superblok is niet gezet, maar er is wel een journal %s.\n" #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n -#: e2fsck/problem.c:231 +#: e2fsck/problem.c:230 msgid "@S needs_recovery flag is set, but no @j is present.\n" msgstr "Reddingsvlag in superblok is gezet, maar er is geen journal.\n" #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n -#: e2fsck/problem.c:236 +#: e2fsck/problem.c:235 msgid "@S needs_recovery flag is clear, but @j has data.\n" msgstr "Reddingsvlag in superblok is niet gezet, maar het journal bevat gegevens.\n" #. @-expanded: Clear journal -#: e2fsck/problem.c:241 +#: e2fsck/problem.c:240 msgid "Clear @j" msgstr "Journal wissen" #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. -#: e2fsck/problem.c:246 e2fsck/problem.c:695 +#: e2fsck/problem.c:245 e2fsck/problem.c:664 msgid "@f has feature flag(s) set, but is a revision 0 @f. " msgstr "Bestandssysteem is een versie 0, maar heeft functievlag(gen) gezet. " #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n -#: e2fsck/problem.c:251 +#: e2fsck/problem.c:250 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" msgstr "%s van verweesde inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:256 +#: e2fsck/problem.c:255 msgid "@I %B (%b) found in @o @i %i.\n" msgstr "Ongeldig blok %B (%b) gevonden in verweesde inode %i.\n" #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:261 +#: e2fsck/problem.c:260 msgid "Already cleared %B (%b) found in @o @i %i.\n" msgstr "Reeds-gewist blok %B (%b) gevonden in verweesde inode %i.\n" #. @-expanded: illegal orphaned inode %i in superblock.\n -#: e2fsck/problem.c:266 +#: e2fsck/problem.c:265 #, c-format msgid "@I @o @i %i in @S.\n" msgstr "Ongeldige verweesde inode %i in superblok.\n" #. @-expanded: illegal inode %i in orphaned inode list.\n -#: e2fsck/problem.c:271 +#: e2fsck/problem.c:270 #, c-format msgid "@I @i %i in @o @i list.\n" msgstr "Ongeldige inode %i in lijst van verweesde inodes.\n" #. @-expanded: journal superblock has an unknown read-only feature flag set.\n -#: e2fsck/problem.c:276 +#: e2fsck/problem.c:275 msgid "@j @S has an unknown read-only feature flag set.\n" msgstr "Journal-superblok heeft een onbekende alleen-lezen-functievlag gezet.\n" #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n -#: e2fsck/problem.c:281 +#: e2fsck/problem.c:280 msgid "@j @S has an unknown incompatible feature flag set.\n" msgstr "Journal-superblok heeft een onbekende en incompatibele functievlag gezet.\n" #. @-expanded: journal version not supported by this e2fsck.\n -#: e2fsck/problem.c:286 +#: e2fsck/problem.c:285 msgid "@j version not supported by this e2fsck.\n" msgstr "Journal-versie wordt niet ondersteund door deze e2fsck.\n" #. @-expanded: Moving journal from /%s to hidden inode.\n #. @-expanded: \n -#: e2fsck/problem.c:291 +#: e2fsck/problem.c:290 #, c-format msgid "" "Moving @j from /%s to hidden @i.\n" @@ -1008,7 +1007,7 @@ msgstr "" #. @-expanded: Error moving journal: %m\n #. @-expanded: \n -#: e2fsck/problem.c:296 +#: e2fsck/problem.c:295 #, c-format msgid "" "Error moving @j: %m\n" @@ -1020,7 +1019,7 @@ msgstr "" #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n #. @-expanded: Clearing fields beyond the V1 journal superblock...\n #. @-expanded: \n -#: e2fsck/problem.c:301 +#: e2fsck/problem.c:300 msgid "" "Found @n V2 @j @S fields (from V1 @j).\n" "Clearing fields beyond the V1 @j @S...\n" @@ -1031,12 +1030,12 @@ msgstr "" "\n" #. @-expanded: Run journal anyway -#: e2fsck/problem.c:307 +#: e2fsck/problem.c:306 msgid "Run @j anyway" msgstr "Journal toch afspelen" #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n -#: e2fsck/problem.c:312 +#: e2fsck/problem.c:311 msgid "Recovery flag not set in backup @S, so running @j anyway.\n" msgstr "" "Reservekopieën van het superblok kennen geen reddingsvlag;\n" @@ -1044,7 +1043,7 @@ msgstr "" #. @-expanded: Backing up journal inode block information.\n #. @-expanded: \n -#: e2fsck/problem.c:317 +#: e2fsck/problem.c:316 msgid "" "Backing up @j @i @b information.\n" "\n" @@ -1054,7 +1053,7 @@ msgstr "" #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n #. @-expanded: is %N; should be zero. -#: e2fsck/problem.c:322 +#: e2fsck/problem.c:321 msgid "" "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n" "is %N; @s zero. " @@ -1063,18 +1062,18 @@ msgstr "" "maar 's_reserved_gdt_blocks' is %N; zou nul moeten zijn. " #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero. -#: e2fsck/problem.c:328 +#: e2fsck/problem.c:327 msgid "Resize_@i not enabled, but the resize @i is non-zero. " msgstr "Functie 'resize_inode' is uitgeschakeld, maar de 'resize'-inode is niet nul. " #. @-expanded: Resize inode not valid. -#: e2fsck/problem.c:333 +#: e2fsck/problem.c:332 msgid "Resize @i not valid. " msgstr "Ongeldige 'resize'-inode. " #. @-expanded: superblock last mount time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:338 +#: e2fsck/problem.c:337 msgid "" "@S last mount time (%t,\n" "\tnow = %T) is in the future.\n" @@ -1084,7 +1083,7 @@ msgstr "" #. @-expanded: superblock last write time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:343 +#: e2fsck/problem.c:342 msgid "" "@S last write time (%t,\n" "\tnow = %T) is in the future.\n" @@ -1093,14 +1092,14 @@ msgstr "" " in de toekomst (nu = %T).\n" #. @-expanded: superblock hint for external superblock should be %X. -#: e2fsck/problem.c:347 +#: e2fsck/problem.c:346 #, c-format msgid "@S hint for external superblock @s %X. " msgstr "De superblokhint voor een extern superblok dient %X te zijn. " #. @-expanded: Adding dirhash hint to filesystem.\n #. @-expanded: \n -#: e2fsck/problem.c:352 +#: e2fsck/problem.c:351 msgid "" "Adding dirhash hint to @f.\n" "\n" @@ -1108,40 +1107,47 @@ msgstr "" "Toevoegen van 'dirhash'-hint aan bestandssysteem.\n" "\n" -#. @-expanded: group descriptor %g checksum is %04x, should be %04y. -#: e2fsck/problem.c:357 -msgid "@g descriptor %g checksum is %04x, should be %04y. " -msgstr "Van groepsbeschrijver %g is de controlesom %04x, zou %04y moeten zijn. " +#. @-expanded: group descriptor %g checksum is invalid. +#: e2fsck/problem.c:356 +#, c-format +msgid "@g descriptor %g checksum is invalid. " +msgstr "Groepsbeschrijver %g heeft een ongeldige controlesom. " #. @-expanded: group descriptor %g marked uninitialized without feature set.\n -#: e2fsck/problem.c:362 +#: e2fsck/problem.c:361 #, c-format msgid "@g descriptor %g marked uninitialized without feature set.\n" msgstr "Groepsbeschrijver %g is gemarkeerd als ongeïnitialiseerd zonder functies.\n" +#. @-expanded: group %g block bitmap uninitialized but inode bitmap in use.\n +#: e2fsck/problem.c:366 +#, c-format +msgid "@g %g @b @B uninitialized but @i @B in use.\n" +msgstr "Groepsbeschrijver %g heeft een ongeïnitialiseerde blok-bitkaart maar de inode-bitkaart is in gebruik.\n" + #. @-expanded: group descriptor %g has invalid unused inodes count %b. -#: e2fsck/problem.c:367 +#: e2fsck/problem.c:371 msgid "@g descriptor %g has invalid unused inodes count %b. " msgstr "Groepsbeschrijver %g heeft een ongeldig aantal (%b) ongebruikte inodes. " #. @-expanded: Last group block bitmap uninitialized. -#: e2fsck/problem.c:372 +#: e2fsck/problem.c:376 msgid "Last @g @b @B uninitialized. " msgstr "Blok-bitkaart van laatste groepsbeschrijver is ongeïnitialiseerd. " -#: e2fsck/problem.c:377 +#: e2fsck/problem.c:381 #, c-format msgid "Journal transaction %i was corrupt, replay was aborted.\n" msgstr "Journal-transactie %i is beschadigd; het afspelen is afgebroken.\n" -#: e2fsck/problem.c:381 +#: e2fsck/problem.c:385 msgid "The test_fs flag is set (and ext4 is available). " msgstr "De functievlag 'test_fs' is gezet (en ext4 is beschikbaar). " #. @-expanded: superblock last mount time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set) -#: e2fsck/problem.c:386 +#: e2fsck/problem.c:390 msgid "" "@S last mount time is in the future.\n" "\t(by less than a day, probably due to the hardware clock being incorrectly set) " @@ -1152,7 +1158,7 @@ msgstr "" #. @-expanded: superblock last write time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set). -#: e2fsck/problem.c:392 +#: e2fsck/problem.c:396 msgid "" "@S last write time is in the future.\n" "\t(by less than a day, probably due to the hardware clock being incorrectly set). " @@ -1161,165 +1167,130 @@ msgstr "" " (Maar minder dan een dag; vermoedelijk is de hardwareklok onjuist ingesteld.) " #. @-expanded: One or more block group descriptor checksums are invalid. -#: e2fsck/problem.c:398 +#: e2fsck/problem.c:402 msgid "One or more @b @g descriptor checksums are invalid. " msgstr "Een of meer groepsbeschrijvers hebben een ongeldige controlesom. " -#. @-expanded: Setting free inodes count to %j (was %i)\n -#: e2fsck/problem.c:403 -msgid "Setting free @is count to %j (was %i)\n" -msgstr "Het aantal vrije inodes is op %j gezet (was %i)\n" - -#. @-expanded: Setting free blocks count to %c (was %b)\n -#: e2fsck/problem.c:408 -msgid "Setting free @bs count to %c (was %b)\n" -msgstr "Het aantal vrije blokken is op %c gezet (was %b)\n" - -#. @-expanded: Making quota inode %i (%Q) hidden.\n -#: e2fsck/problem.c:413 -msgid "Making @q @i %i (%Q) hidden.\n" -msgstr "De quota-inode %i (%Q) wordt verborgen.\n" - -#. @-expanded: superblock has invalid MMP block. -#: e2fsck/problem.c:418 -msgid "@S has invalid MMP block. " -msgstr "Superblok heeft ongeldig MMP-blok. " - -#. @-expanded: superblock has invalid MMP magic. -#: e2fsck/problem.c:423 -msgid "@S has invalid MMP magic. " -msgstr "Superblok heeft ongeldig magisch getal voor MMP. " - -#: e2fsck/problem.c:428 -#, c-format -msgid "ext2fs_open2: %m\n" -msgstr "ext2fs_open2(): %m\n" - -#: e2fsck/problem.c:433 -#, c-format -msgid "ext2fs_check_desc: %m\n" -msgstr "ext2fs_check_desc(): %m\n" - #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n -#: e2fsck/problem.c:440 +#: e2fsck/problem.c:409 msgid "Pass 1: Checking @is, @bs, and sizes\n" msgstr "Stap 1: Controle van inodes, blokken, en groottes\n" #. @-expanded: root inode is not a directory. -#: e2fsck/problem.c:444 +#: e2fsck/problem.c:413 msgid "@r is not a @d. " msgstr "De hoofd-inode is geen map. " #. @-expanded: root inode has dtime set (probably due to old mke2fs). -#: e2fsck/problem.c:449 +#: e2fsck/problem.c:418 msgid "@r has dtime set (probably due to old mke2fs). " msgstr "De verwijderingstijd van de hoofd-inode is niet nul (waarschijnlijk veroorzaakt door een oude mke2fs). " #. @-expanded: Reserved inode %i (%Q) has invalid mode. -#: e2fsck/problem.c:454 +#: e2fsck/problem.c:423 msgid "Reserved @i %i (%Q) has @n mode. " msgstr "Gereserveerde inode %i %Q heeft een ongeldige modus. " #. @-expanded: deleted inode %i has zero dtime. -#: e2fsck/problem.c:459 +#: e2fsck/problem.c:428 #, c-format msgid "@D @i %i has zero dtime. " msgstr "De verwijderingstijd van verwijderde inode %i is nul. " #. @-expanded: inode %i is in use, but has dtime set. -#: e2fsck/problem.c:464 +#: e2fsck/problem.c:433 #, c-format msgid "@i %i is in use, but has dtime set. " msgstr "Inode %i is in gebruik, maar heeft een ingevulde verwijderingstijd. " #. @-expanded: inode %i is a zero-length directory. -#: e2fsck/problem.c:469 +#: e2fsck/problem.c:438 #, c-format msgid "@i %i is a @z @d. " msgstr "Inode %i is een map met lengte nul. " #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:474 +#: e2fsck/problem.c:443 msgid "@g %g's @b @B at %b @C.\n" msgstr "De blok-bitkaart van groep %g botst bij %b met een bestandssysteemblok.\n" #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:479 +#: e2fsck/problem.c:448 msgid "@g %g's @i @B at %b @C.\n" msgstr "De inode-bitkaart van groep %g botst bij %b met een bestandssysteemblok.\n" #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:484 +#: e2fsck/problem.c:453 msgid "@g %g's @i table at %b @C.\n" msgstr "De inodetabel van groep %g botst bij %b met een bestandssysteemblok.\n" #. @-expanded: group %g's block bitmap (%b) is bad. -#: e2fsck/problem.c:489 +#: e2fsck/problem.c:458 msgid "@g %g's @b @B (%b) is bad. " msgstr "De blok-bitkaart %b van groep %g is ongeldig. " #. @-expanded: group %g's inode bitmap (%b) is bad. -#: e2fsck/problem.c:494 +#: e2fsck/problem.c:463 msgid "@g %g's @i @B (%b) is bad. " msgstr "De inode-bitkaart %b van groep %g is ongeldig. " #. @-expanded: inode %i, i_size is %Is, should be %N. -#: e2fsck/problem.c:499 +#: e2fsck/problem.c:468 msgid "@i %i, i_size is %Is, @s %N. " msgstr "Inode %i, 'i_size' is %Is, zou %N moeten zijn. " #. @-expanded: inode %i, i_blocks is %Ib, should be %N. -#: e2fsck/problem.c:504 +#: e2fsck/problem.c:473 msgid "@i %i, i_@bs is %Ib, @s %N. " msgstr "Inode %i, 'i_blocks' is %Ib, zou %N moeten zijn. " #. @-expanded: illegal %B (%b) in inode %i. -#: e2fsck/problem.c:509 +#: e2fsck/problem.c:478 msgid "@I %B (%b) in @i %i. " msgstr "Ongeldig blok %B (%b) in inode %i. " #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i. -#: e2fsck/problem.c:514 +#: e2fsck/problem.c:483 msgid "%B (%b) overlaps @f metadata in @i %i. " msgstr "Blok %B (%b) overlapt metadata van bestandssysteem in inode %i. " #. @-expanded: inode %i has illegal block(s). -#: e2fsck/problem.c:519 +#: e2fsck/problem.c:488 #, c-format msgid "@i %i has illegal @b(s). " msgstr "Inode %i bevat ongeldig(e) blok(ken). " #. @-expanded: Too many illegal blocks in inode %i.\n -#: e2fsck/problem.c:524 +#: e2fsck/problem.c:493 #, c-format msgid "Too many illegal @bs in @i %i.\n" msgstr "Te veel ongeldige blokken in inode %i.\n" #. @-expanded: illegal %B (%b) in bad block inode. -#: e2fsck/problem.c:529 +#: e2fsck/problem.c:498 msgid "@I %B (%b) in bad @b @i. " -msgstr "Ongeldig blok %B (%b) in slechteblokken-inode. " +msgstr "Ongeldig blok %B (%b) in slechte-blokken-inode. " #. @-expanded: Bad block inode has illegal block(s). -#: e2fsck/problem.c:534 +#: e2fsck/problem.c:503 msgid "Bad @b @i has illegal @b(s). " -msgstr "Slechteblokken-inode bevat ongeldig(e) blok(ken). " +msgstr "Slechte-blokken-inode bevat ongeldig(e) blok(ken). " #. @-expanded: Duplicate or bad block in use!\n -#: e2fsck/problem.c:539 +#: e2fsck/problem.c:508 msgid "Duplicate or bad @b in use!\n" msgstr "Een dubbel of slecht blok is in gebruik!\n" #. @-expanded: Bad block %b used as bad block inode indirect block. -#: e2fsck/problem.c:544 +#: e2fsck/problem.c:513 msgid "Bad @b %b used as bad @b @i indirect @b. " -msgstr "Slecht blok %b is in gebruik als indirect blok voor de slechteblokken-inode. " +msgstr "Slecht blok %b is in gebruik als indirect blok voor de slechte-blokken-inode. " #. @-expanded: \n #. @-expanded: The bad block inode has probably been corrupted. You probably\n #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n #. @-expanded: in the filesystem.\n -#: e2fsck/problem.c:549 +#: e2fsck/problem.c:518 msgid "" "\n" "The bad @b @i has probably been corrupted. You probably\n" @@ -1327,13 +1298,13 @@ msgid "" "in the @f.\n" msgstr "" "\n" -"De slechteblokken-inode is vermoedelijk beschadigd.\n" +"De slechte-blokken-inode is vermoedelijk beschadigd.\n" "U kunt nu beter stoppen en 'e2fsck -c' uitvoeren om\n" "het bestandssysteem te doorzoeken naar slechte blokken.\n" #. @-expanded: \n #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n -#: e2fsck/problem.c:556 +#: e2fsck/problem.c:525 msgid "" "\n" "If the @b is really bad, the @f can not be fixed.\n" @@ -1344,7 +1315,7 @@ msgstr "" #. @-expanded: You can remove this block from the bad block list and hope\n #. @-expanded: that the block is really OK. But there are no guarantees.\n #. @-expanded: \n -#: e2fsck/problem.c:561 +#: e2fsck/problem.c:530 msgid "" "You can remove this @b from the bad @b list and hope\n" "that the @b is really OK. But there are no guarantees.\n" @@ -1355,122 +1326,122 @@ msgstr "" "\n" #. @-expanded: The primary superblock (%b) is on the bad block list.\n -#: e2fsck/problem.c:567 +#: e2fsck/problem.c:536 msgid "The primary @S (%b) is on the bad @b list.\n" msgstr "Het primaire superblok (%b) staat in de lijst van slechte blokken.\n" #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n -#: e2fsck/problem.c:572 +#: e2fsck/problem.c:541 msgid "Block %b in the primary @g descriptors is on the bad @b list\n" msgstr "Een groepsbeschrijversblok (%b) staat in de lijst van slechte blokken.\n" #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n -#: e2fsck/problem.c:578 +#: e2fsck/problem.c:547 msgid "Warning: Group %g's @S (%b) is bad.\n" msgstr "Waarschuwing: groep %g heeft een slecht superblok (%b).\n" #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n -#: e2fsck/problem.c:583 +#: e2fsck/problem.c:552 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n" msgstr "Waarschuwing: groep %g bevat een slecht blok (%b) in de groepsbeschrijvers.\n" #. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n -#: e2fsck/problem.c:589 +#: e2fsck/problem.c:558 msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n" msgstr "Interne fout?: blok %b is zonder reden geclaimd in process_bad_block().\n" #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n -#: e2fsck/problem.c:595 +#: e2fsck/problem.c:564 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n" msgstr "Fout tijdens reserveren van %N aaneengsloten blokken in groep %g voor %s: %m\n" #. @-expanded: error allocating block buffer for relocating %s\n -#: e2fsck/problem.c:600 +#: e2fsck/problem.c:569 #, c-format msgid "@A @b buffer for relocating %s\n" msgstr "Fout tijdens reserveren van buffer voor verplaatsen van %s.\n" # src/delegate.c:368 #. @-expanded: Relocating group %g's %s from %b to %c...\n -#: e2fsck/problem.c:605 +#: e2fsck/problem.c:574 msgid "Relocating @g %g's %s from %b to %c...\n" msgstr "Bezig met verplaatsen van groep %g's %s van %b naar %c...\n" #. @-expanded: Relocating group %g's %s to %c...\n -#: e2fsck/problem.c:610 +#: e2fsck/problem.c:579 #, c-format msgid "Relocating @g %g's %s to %c...\n" msgstr "Bezig met verplaatsen van groep %g's %s naar %c...\n" #. @-expanded: Warning: could not read block %b of %s: %m\n -#: e2fsck/problem.c:615 +#: e2fsck/problem.c:584 msgid "Warning: could not read @b %b of %s: %m\n" msgstr "Waarschuwing: kan blok %b van %s niet lezen: %m\n" #. @-expanded: Warning: could not write block %b for %s: %m\n -#: e2fsck/problem.c:620 +#: e2fsck/problem.c:589 msgid "Warning: could not write @b %b for %s: %m\n" msgstr "Waarschuwing: kan blok %b van %s niet schrijven: %m\n" #. @-expanded: error allocating inode bitmap (%N): %m\n -#: e2fsck/problem.c:625 e2fsck/problem.c:1474 +#: e2fsck/problem.c:594 e2fsck/problem.c:1405 msgid "@A @i @B (%N): %m\n" msgstr "Fout tijdens reserveren van inode-bitkaart (%N): %m\n" #. @-expanded: error allocating block bitmap (%N): %m\n -#: e2fsck/problem.c:630 +#: e2fsck/problem.c:599 msgid "@A @b @B (%N): %m\n" msgstr "Fout tijdens reserveren van blok-bitkaart (%N): %m\n" #. @-expanded: error allocating icount link information: %m\n -#: e2fsck/problem.c:635 +#: e2fsck/problem.c:604 #, c-format msgid "@A icount link information: %m\n" msgstr "Fout tijdens reserveren van 'icount'-link-informatie: %m\n" #. @-expanded: error allocating directory block array: %m\n -#: e2fsck/problem.c:640 +#: e2fsck/problem.c:609 #, c-format msgid "@A @d @b array: %m\n" msgstr "Fout tijdens reserveren van blokreeks voor map: %m\n" #. @-expanded: Error while scanning inodes (%i): %m\n -#: e2fsck/problem.c:645 +#: e2fsck/problem.c:614 #, c-format msgid "Error while scanning @is (%i): %m\n" msgstr "Fout tijdens scannen van inodes (%i): %m\n" #. @-expanded: Error while iterating over blocks in inode %i: %m\n -#: e2fsck/problem.c:650 +#: e2fsck/problem.c:619 #, c-format msgid "Error while iterating over @bs in @i %i: %m\n" msgstr "Fout tijdens langslopen van blokken van inode %i: %m\n" #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n -#: e2fsck/problem.c:655 +#: e2fsck/problem.c:624 msgid "Error storing @i count information (@i=%i, count=%N): %m\n" msgstr "Fout tijdens opslaan van inodetal (inode=%i, aantal=%N): %m\n" #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n -#: e2fsck/problem.c:660 +#: e2fsck/problem.c:629 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n" msgstr "Fout tijdens opslaan van mapblokkeninformatie (inode=%i, blok=%b, aantal=%N): %m\n" #. @-expanded: Error reading inode %i: %m\n -#: e2fsck/problem.c:666 +#: e2fsck/problem.c:635 #, c-format msgid "Error reading @i %i: %m\n" msgstr "Fout tijdens lezen van inode %i: %m\n" #. @-expanded: inode %i has imagic flag set. -#: e2fsck/problem.c:674 +#: e2fsck/problem.c:643 #, c-format msgid "@i %i has imagic flag set. " msgstr "Inode %i heeft de imagic-vlag gezet. " #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n #. @-expanded: or append-only flag set. -#: e2fsck/problem.c:679 +#: e2fsck/problem.c:648 #, c-format msgid "" "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n" @@ -1480,206 +1451,206 @@ msgstr "" "of de alleen-toevoegenvlag gezet (inode %i). " #. @-expanded: inode %i has compression flag set on filesystem without compression support. -#: e2fsck/problem.c:685 +#: e2fsck/problem.c:654 #, c-format msgid "@i %i has @cion flag set on @f without @cion support. " msgstr "Inode %i heeft de compressievlag gezet op een bestandssysteem zonder compressie-ondersteuning. " #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size. -#: e2fsck/problem.c:690 +#: e2fsck/problem.c:659 #, c-format msgid "Special (@v/socket/fifo) @i %i has non-zero size. " msgstr "Speciale inode %i (apparaat/socket/fifo) heeft niet lengte nul. " #. @-expanded: journal inode is not in use, but contains data. -#: e2fsck/problem.c:700 +#: e2fsck/problem.c:669 msgid "@j @i is not in use, but contains data. " msgstr "Journal-inode is niet in gebruik, maar bevat gegevens. " #. @-expanded: journal is not regular file. -#: e2fsck/problem.c:705 +#: e2fsck/problem.c:674 msgid "@j is not regular file. " msgstr "Journal is geen normaal bestand. " #. @-expanded: inode %i was part of the orphaned inode list. -#: e2fsck/problem.c:710 +#: e2fsck/problem.c:679 #, c-format msgid "@i %i was part of the @o @i list. " msgstr "Inode %i was deel van de lijst van verweesde inodes. " #. @-expanded: inodes that were part of a corrupted orphan linked list found. -#: e2fsck/problem.c:716 +#: e2fsck/problem.c:685 msgid "@is that were part of a corrupted orphan linked list found. " msgstr "Inodes gevonden die deel waren van een beschadigde lijst van verweesde inodes. " #. @-expanded: error allocating refcount structure (%N): %m\n -#: e2fsck/problem.c:721 +#: e2fsck/problem.c:690 msgid "@A refcount structure (%N): %m\n" msgstr "Fout tijdens reserveren van 'refcount'-structuur (%N): %m\n" #. @-expanded: Error reading extended attribute block %b for inode %i. -#: e2fsck/problem.c:726 +#: e2fsck/problem.c:695 msgid "Error reading @a @b %b for @i %i. " msgstr "Fout tijdens lezen van blok %b met uitgebreide kenmerken voor inode %i. " #. @-expanded: inode %i has a bad extended attribute block %b. -#: e2fsck/problem.c:731 +#: e2fsck/problem.c:700 msgid "@i %i has a bad @a @b %b. " msgstr "Inode %i bevat een slecht blok %b met uitgebreide kenmerken. " #. @-expanded: Error reading extended attribute block %b (%m). -#: e2fsck/problem.c:736 +#: e2fsck/problem.c:705 msgid "Error reading @a @b %b (%m). " msgstr "Fout tijdens lezen van blok %b met uitgebreide kenmerken: %m " #. @-expanded: extended attribute block %b has reference count %r, should be %N. -#: e2fsck/problem.c:741 +#: e2fsck/problem.c:710 msgid "@a @b %b has reference count %r, @s %N. " msgstr "Blok %b met uitgebreide kenmerken heeft verwijzingstal %r, zou %N moeten zijn. " #. @-expanded: Error writing extended attribute block %b (%m). -#: e2fsck/problem.c:746 +#: e2fsck/problem.c:715 msgid "Error writing @a @b %b (%m). " msgstr "Fout tijdens schrijven van blok %b met uitgebreide kenmerken: %m " #. @-expanded: extended attribute block %b has h_blocks > 1. -#: e2fsck/problem.c:751 +#: e2fsck/problem.c:720 msgid "@a @b %b has h_@bs > 1. " msgstr "Blok %b met uitgebreide kenmerken heeft h_blocks > 1. " #. @-expanded: error allocating extended attribute block %b. -#: e2fsck/problem.c:756 +#: e2fsck/problem.c:725 msgid "@A @a @b %b. " msgstr "Fout tijdens reserveren van blok %b met uitgebreide kenmerken. " #. @-expanded: extended attribute block %b is corrupt (allocation collision). -#: e2fsck/problem.c:761 +#: e2fsck/problem.c:730 msgid "@a @b %b is corrupt (allocation collision). " msgstr "Blok %b met uitgebreide kenmerken is beschadigd (reserveringsoverlap). " #. @-expanded: extended attribute block %b is corrupt (invalid name). -#: e2fsck/problem.c:766 +#: e2fsck/problem.c:735 msgid "@a @b %b is corrupt (@n name). " msgstr "Blok %b met uitgebreide kenmerken is beschadigd (ongeldige naam). " #. @-expanded: extended attribute block %b is corrupt (invalid value). -#: e2fsck/problem.c:771 +#: e2fsck/problem.c:740 msgid "@a @b %b is corrupt (@n value). " msgstr "Blok %b met uitgebreide kenmerken is beschadigd (ongeldige waarde). " #. @-expanded: inode %i is too big. -#: e2fsck/problem.c:776 +#: e2fsck/problem.c:745 #, c-format msgid "@i %i is too big. " msgstr "Inode %i is te groot. " #. @-expanded: %B (%b) causes directory to be too big. -#: e2fsck/problem.c:780 +#: e2fsck/problem.c:749 msgid "%B (%b) causes @d to be too big. " msgstr "Blok %B (%b) maakt map te groot. " -#: e2fsck/problem.c:785 +#: e2fsck/problem.c:754 msgid "%B (%b) causes file to be too big. " msgstr "Blok %B (%b) maakt bestand te groot. " -#: e2fsck/problem.c:790 +#: e2fsck/problem.c:759 msgid "%B (%b) causes symlink to be too big. " msgstr "Blok %B (%b) maakt symbolische koppeling te groot. " #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n -#: e2fsck/problem.c:795 +#: e2fsck/problem.c:764 #, c-format msgid "@i %i has INDEX_FL flag set on @f without htree support.\n" msgstr "Inode %i heeft de 'INDEX_FL'-vlag gezet op een bestandssysteem zonder 'htree'-ondersteuning.\n" #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n -#: e2fsck/problem.c:800 +#: e2fsck/problem.c:769 #, c-format msgid "@i %i has INDEX_FL flag set but is not a @d.\n" msgstr "Inode %i heeft de 'INDEX_FL'-vlag gezet maar het is geen map.\n" #. @-expanded: HTREE directory inode %i has an invalid root node.\n -#: e2fsck/problem.c:805 +#: e2fsck/problem.c:774 #, c-format msgid "@h %i has an @n root node.\n" msgstr "Inode %i van 'htree'-map heeft een ongeldige wortelknoop.\n" #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n -#: e2fsck/problem.c:810 +#: e2fsck/problem.c:779 msgid "@h %i has an unsupported hash version (%N)\n" msgstr "Inode %i van 'htree'-map gebruikt een niet-ondersteunde hash-versie (%N).\n" #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n -#: e2fsck/problem.c:815 +#: e2fsck/problem.c:784 #, c-format msgid "@h %i uses an incompatible htree root node flag.\n" msgstr "Inode %i van 'htree'-map gebruikt een incompatibele wortelknoopvlag.\n" #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n -#: e2fsck/problem.c:820 +#: e2fsck/problem.c:789 msgid "@h %i has a tree depth (%N) which is too big\n" msgstr "Inode %i van 'htree'-map heeft een te grote boomdiepte (%N).\n" #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n #. @-expanded: filesystem metadata. -#: e2fsck/problem.c:825 +#: e2fsck/problem.c:794 msgid "" "Bad @b @i has an indirect @b (%b) that conflicts with\n" "@f metadata. " msgstr "" -"Slechteblokken-inode bevat een indirect blok (%b) dat strijdig\n" +"Slechte-blokken-inode bevat een indirect blok (%b) dat strijdig\n" "is met de metagegevens van het bestandssysteem. " #. @-expanded: Resize inode (re)creation failed: %m. -#: e2fsck/problem.c:831 +#: e2fsck/problem.c:800 #, c-format msgid "Resize @i (re)creation failed: %m." msgstr "Aanmaken van 'resize'-inode is mislukt: %m" #. @-expanded: inode %i has a extra size (%IS) which is invalid\n -#: e2fsck/problem.c:836 +#: e2fsck/problem.c:805 msgid "@i %i has a extra size (%IS) which is @n\n" msgstr "Inode %i heeft een ongeldige extra grootte (%IS).\n" #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n -#: e2fsck/problem.c:841 +#: e2fsck/problem.c:810 msgid "@a in @i %i has a namelen (%N) which is @n\n" msgstr "Een uitgebreid kenmerk in inode %i heeft een ongeldige naamlengte (%N).\n" #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n -#: e2fsck/problem.c:846 +#: e2fsck/problem.c:815 msgid "@a in @i %i has a value offset (%N) which is @n\n" msgstr "Een uitgebreid kenmerk in inode %i heeft een ongeldige waardeoffset (%N).\n" #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n -#: e2fsck/problem.c:851 +#: e2fsck/problem.c:820 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" msgstr "Een uitgebreid kenmerk in inode %i heeft een ongeldig waardeblok (%N, moet 0 zijn).\n" #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n -#: e2fsck/problem.c:856 +#: e2fsck/problem.c:825 msgid "@a in @i %i has a value size (%N) which is @n\n" msgstr "Een uitgebreid kenmerk in inode %i heeft een ongeldige waardegrootte (%N).\n" #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n -#: e2fsck/problem.c:861 +#: e2fsck/problem.c:830 msgid "@a in @i %i has a hash (%N) which is @n\n" msgstr "Een uitgebreid kenmerk in inode %i heeft een ongeldige hash-waarde (%N).\n" #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n -#: e2fsck/problem.c:866 +#: e2fsck/problem.c:835 msgid "@i %i is a %It but it looks like it is really a directory.\n" msgstr "Inode %i is gemarkeerd als een %It, maar lijkt feitelijk een map te zijn.\n" #. @-expanded: Error while reading over extent tree in inode %i: %m\n -#: e2fsck/problem.c:871 +#: e2fsck/problem.c:840 #, c-format msgid "Error while reading over @x tree in @i %i: %m\n" -msgstr "Fout tijdens doorlezen van 'extents'-boom in inode %i: %m\n" +msgstr "Fout tijdens doorlezen van extents-boom in inode %i: %m\n" #. @-expanded: Failed to iterate extents in inode %i\n #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n -#: e2fsck/problem.c:876 +#: e2fsck/problem.c:845 msgid "" "Failed to iterate extents in @i %i\n" "\t(op %s, blk %b, lblk %c): %m\n" @@ -1689,122 +1660,71 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n -#: e2fsck/problem.c:882 +#: e2fsck/problem.c:851 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, @n physical @b %b, len %N)\n" msgstr "" -"Inode %i heeft een ongeldige 'extent'\n" +"Inode %i heeft een ongeldige extent\n" " (logisch blok %c, ongeldig fysiek blok %b, lengte %N)\n" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n -#: e2fsck/problem.c:887 +#: e2fsck/problem.c:856 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, physical @b %b, @n len %N)\n" msgstr "" -"Inode %i heeft een ongeldige 'extent'\n" +"Inode %i heeft een ongeldige extent\n" " (logisch blok %c, fysiek blok %b, ongeldige lengte %N)\n" #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n -#: e2fsck/problem.c:892 +#: e2fsck/problem.c:861 #, c-format msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n" msgstr "Inode %i heeft de 'EXTENTS_FL'-vlag gezet op een bestandssysteem zonder 'htree'-ondersteuning.\n" #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n -#: e2fsck/problem.c:897 +#: e2fsck/problem.c:866 #, c-format msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n" msgstr "Inode %i heeft extent-opmaak, maar superblok heeft EXTENTS-functievlag niet gezet.\n" #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n -#: e2fsck/problem.c:902 +#: e2fsck/problem.c:871 #, c-format msgid "@i %i missing EXTENT_FL, but is in extents format\n" -msgstr "Inode %i heeft 'extent'-opmaak, maar heeft 'EXTENT_FL'-vlag niet gezet.\n" +msgstr "Inode %i heeft extent-opmaak, maar heeft 'EXTENT_FL'-vlag niet gezet.\n" -#: e2fsck/problem.c:907 +#: e2fsck/problem.c:876 #, c-format msgid "Fast symlink %i has EXTENT_FL set. " msgstr "Snelle symbolische koppeling %i heeft 'EXTENT_FL'-vlag gezet. " #. @-expanded: inode %i has out of order extents\n #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:912 +#: e2fsck/problem.c:881 msgid "" "@i %i has out of order extents\n" "\t(@n logical @b %c, physical @b %b, len %N)\n" msgstr "" -"Inode %i heeft 'extents' die niet op volgorde liggen\n" +"Inode %i heeft extents die niet op volgorde liggen\n" " (ongeldig logisch blok %c, fysiek blok %b, lengte %N)\n" #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n -#: e2fsck/problem.c:916 +#: e2fsck/problem.c:885 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n" msgstr "Inode %i heeft een ongeldige 'extent'-knoop (blk %b, lblk %c)\n" -#. @-expanded: Error converting subcluster block bitmap: %m\n -#: e2fsck/problem.c:921 -#, c-format -msgid "Error converting subcluster @b @B: %m\n" -msgstr "Fout tijdens converteren van subclusterblokken-bitkaart: %m\n" - -#. @-expanded: quota inode is not regular file. -#: e2fsck/problem.c:926 -msgid "@q @i is not regular file. " -msgstr "Quota-inode is geen normaal bestand. " - -#. @-expanded: quota inode is not in use, but contains data. -#: e2fsck/problem.c:931 -msgid "@q @i is not in use, but contains data. " -msgstr "Quota-inode is niet in gebruik, maar bevat gegevens. " - -#. @-expanded: quota inode is visible to the user. -#: e2fsck/problem.c:936 -msgid "@q @i is visible to the user. " -msgstr "Quota-inode is zichtbaar voor de gebruiker. " - -#. @-expanded: The bad block inode looks invalid. -#: e2fsck/problem.c:941 -msgid "The bad @b @i looks @n. " -msgstr "De slechteblokken-inode lijkt ongeldig. " - -#. @-expanded: inode %i has zero length extent\n -#. @-expanded: \t(invalid logical block %c, physical block %b)\n -#: e2fsck/problem.c:946 -msgid "" -"@i %i has zero length extent\n" -"\t(@n logical @b %c, physical @b %b)\n" -msgstr "" -"Inode %i heeft een 'extent' met lengte nul\n" -" (ongeldig logisch blok %c, fysiek blok %b)\n" - -#. @-expanded: Interior extent node level %N of inode %i:\n -#. @-expanded: Logical start %b does not match logical start %c at next level. -#: e2fsck/problem.c:953 -msgid "" -"Interior @x node level %N of @i %i:\n" -"Logical start %b does not match logical start %c at next level. " -msgstr "" -"Inwendig 'extent'-knoopniveau %N van inode %i:\n" -"Logisch begin %b komt niet overeen met logisch begin %c op volgende niveau. " - -#. @-expanded: inode %i, end of extent exceeds allowed value\n -#. @-expanded: \t(logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:959 -msgid "" -"@i %i, end of extent exceeds allowed value\n" -"\t(logical @b %c, physical @b %b, len %N)\n" -msgstr "" -"Inode %i: einde van 'extent' overschrijdt toegestane waarde\n" -" (logisch blok %c, fysiek blok %b, lengte %N)\n" +#. @-expanded: inode %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n +#: e2fsck/problem.c:889 +msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" +msgstr "Inode %i zou niet de 'EOFBLOCKS_FL'-vlag gezet moeten hebben (grootte %Is, lblk %r)\n" #. @-expanded: \n #. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n #. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n -#: e2fsck/problem.c:967 +#: e2fsck/problem.c:897 msgid "" "\n" "Running additional passes to resolve @bs claimed by more than one @i...\n" @@ -1816,46 +1736,46 @@ msgstr "" "Stap 1B: Opnieuw zoeken naar meervoudig-geclaimde blokken\n" #. @-expanded: multiply-claimed block(s) in inode %i: -#: e2fsck/problem.c:973 +#: e2fsck/problem.c:903 #, c-format msgid "@m @b(s) in @i %i:" msgstr "Meervoudig-geclaimd blok (of blokken) in inode %i:" -#: e2fsck/problem.c:988 +#: e2fsck/problem.c:918 #, c-format msgid "Error while scanning inodes (%i): %m\n" msgstr "Fout tijdens scannen van inodes (%i): %m\n" #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n -#: e2fsck/problem.c:993 +#: e2fsck/problem.c:923 #, c-format msgid "@A @i @B (@i_dup_map): %m\n" msgstr "Fout tijdens reserveren van vervangende inode-bitkaart: %m\n" #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n -#: e2fsck/problem.c:998 +#: e2fsck/problem.c:928 #, c-format msgid "Error while iterating over @bs in @i %i (%s): %m\n" msgstr "Fout tijdens langslopen van blokken van inode %i (%s): %m\n" #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n -#: e2fsck/problem.c:1003 e2fsck/problem.c:1318 +#: e2fsck/problem.c:933 e2fsck/problem.c:1249 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n" msgstr "Fout tijdens bijstellen van verwijzingstal van blok %b met uitgebreide kenmerken (inode %i): %m\n" #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n -#: e2fsck/problem.c:1008 +#: e2fsck/problem.c:939 msgid "Pass 1C: Scanning directories for @is with @m @bs\n" msgstr "Stap 1C: Doorzoeken van mappen naar inodes met meervoudig-geclaimde blokken\n" #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n -#: e2fsck/problem.c:1014 +#: e2fsck/problem.c:945 msgid "Pass 1D: Reconciling @m @bs\n" msgstr "Stap 1D: Verzoenen van meervoudig-geclaimde blokken\n" #. @-expanded: File %Q (inode #%i, mod time %IM) \n #. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n -#: e2fsck/problem.c:1019 +#: e2fsck/problem.c:950 msgid "" "File %Q (@i #%i, mod time %IM) \n" " has %r @m @b(s), shared with %N file(s):\n" @@ -1864,18 +1784,18 @@ msgstr "" " bevat %r meervoudig-geclaimd(e) blok(ken), gedeeld met %N bestand(en):\n" #. @-expanded: \t%Q (inode #%i, mod time %IM)\n -#: e2fsck/problem.c:1025 +#: e2fsck/problem.c:956 msgid "\t%Q (@i #%i, mod time %IM)\n" msgstr "\t%Q (inode %i, wijzigingstijd %IM)\n" #. @-expanded: \t\n -#: e2fsck/problem.c:1030 +#: e2fsck/problem.c:961 msgid "\t<@f metadata>\n" msgstr "\t\n" #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n #. @-expanded: \n -#: e2fsck/problem.c:1035 +#: e2fsck/problem.c:966 msgid "" "(There are %N @is containing @m @bs.)\n" "\n" @@ -1885,7 +1805,7 @@ msgstr "" #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n #. @-expanded: \n -#: e2fsck/problem.c:1040 +#: e2fsck/problem.c:971 msgid "" "@m @bs already reassigned or cloned.\n" "\n" @@ -1893,315 +1813,315 @@ msgstr "" "Meervoudig-geclaimde blokken zijn al gekloond of opnieuw toegekend.\n" "\n" -#: e2fsck/problem.c:1053 +#: e2fsck/problem.c:984 #, c-format msgid "Couldn't clone file: %m\n" msgstr "Kan bestand niet klonen: %m\n" #. @-expanded: Pass 2: Checking directory structure\n -#: e2fsck/problem.c:1059 +#: e2fsck/problem.c:990 msgid "Pass 2: Checking @d structure\n" msgstr "Stap 2: Controle van mappenstructuur\n" #. @-expanded: invalid inode number for '.' in directory inode %i.\n -#: e2fsck/problem.c:1064 +#: e2fsck/problem.c:995 #, c-format msgid "@n @i number for '.' in @d @i %i.\n" msgstr "Ongeldig inodenummer voor '.' in map-inode %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n -#: e2fsck/problem.c:1069 +#: e2fsck/problem.c:1000 msgid "@E has @n @i #: %Di.\n" msgstr "@E heeft een ongeldig inodenummer: %Di.\n" #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di. -#: e2fsck/problem.c:1074 +#: e2fsck/problem.c:1005 msgid "@E has @D/unused @i %Di. " msgstr "@E bevat een verwijderde of ongebruikte inode %Di. " #. @-expanded: entry '%Dn' in %p (%i) is a link to '.' -#: e2fsck/problem.c:1079 +#: e2fsck/problem.c:1010 msgid "@E @L to '.' " msgstr "@E is een koppeling naar '.' " #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n -#: e2fsck/problem.c:1084 +#: e2fsck/problem.c:1015 msgid "@E points to @i (%Di) located in a bad @b.\n" msgstr "@E verwijst naar een inode (%Di) in een slecht blok.\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n -#: e2fsck/problem.c:1089 +#: e2fsck/problem.c:1020 msgid "@E @L to @d %P (%Di).\n" msgstr "@E is een koppeling naar map %P (%Di).\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n -#: e2fsck/problem.c:1094 +#: e2fsck/problem.c:1025 msgid "@E @L to the @r.\n" msgstr "@E is een koppeling naar de hoofd-inode.\n" #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n -#: e2fsck/problem.c:1099 +#: e2fsck/problem.c:1030 msgid "@E has illegal characters in its name.\n" msgstr "@E bevat ongeldige tekens in de naam.\n" #. @-expanded: Missing '.' in directory inode %i.\n -#: e2fsck/problem.c:1104 +#: e2fsck/problem.c:1035 #, c-format msgid "Missing '.' in @d @i %i.\n" msgstr "Ontbrekende '.' in map-inode %i.\n" #. @-expanded: Missing '..' in directory inode %i.\n -#: e2fsck/problem.c:1109 +#: e2fsck/problem.c:1040 #, c-format msgid "Missing '..' in @d @i %i.\n" msgstr "Ontbrekende '..' in map-inode %i.\n" #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n -#: e2fsck/problem.c:1114 +#: e2fsck/problem.c:1045 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n" msgstr "Eerste item '%Dn' (inode=%Di) in map-inode %i (%p) moet '.' zijn.\n" #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n -#: e2fsck/problem.c:1119 +#: e2fsck/problem.c:1050 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n" msgstr "Tweede item '%Dn' (inode=%Di) in map-inode %i moet '..' zijn.\n" #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n -#: e2fsck/problem.c:1124 +#: e2fsck/problem.c:1055 msgid "i_faddr @F %IF, @s zero.\n" msgstr "'i_faddr' @F is %IF, moet nul zijn.\n" #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n -#: e2fsck/problem.c:1129 +#: e2fsck/problem.c:1060 msgid "i_file_acl @F %If, @s zero.\n" msgstr "'i_file_acl' @F is %If, moet nul zijn.\n" #. @-expanded: i_dir_acl for inode %i (%Q) is %Id, should be zero.\n -#: e2fsck/problem.c:1134 +#: e2fsck/problem.c:1065 msgid "i_dir_acl @F %Id, @s zero.\n" msgstr "'i_dir_acl' @F is %Id, moet nul zijn.\n" #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1139 +#: e2fsck/problem.c:1070 msgid "i_frag @F %N, @s zero.\n" msgstr "'i_frag' @F is %N, moet nul zijn.\n" #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1144 +#: e2fsck/problem.c:1075 msgid "i_fsize @F %N, @s zero.\n" msgstr "'i_fsize' @F is %N, moet nul zijn.\n" #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n -#: e2fsck/problem.c:1149 +#: e2fsck/problem.c:1080 msgid "@i %i (%Q) has @n mode (%Im).\n" msgstr "Inode %i (%Q) heeft een ongeldige modus (%Im).\n" #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n -#: e2fsck/problem.c:1154 +#: e2fsck/problem.c:1085 msgid "@d @i %i, %B, offset %N: @d corrupted\n" msgstr "Map-inode %i, blok %B, positie %N: map is beschadigd\n" #. @-expanded: directory inode %i, %B, offset %N: filename too long\n -#: e2fsck/problem.c:1159 +#: e2fsck/problem.c:1090 msgid "@d @i %i, %B, offset %N: filename too long\n" msgstr "Map-inode %i, blok %B, positie %N: bestandsnaam is te lang\n" #. @-expanded: directory inode %i has an unallocated %B. -#: e2fsck/problem.c:1164 +#: e2fsck/problem.c:1095 msgid "@d @i %i has an unallocated %B. " msgstr "Map-inode %i bevat een ongereserveerd blok %B. " #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1169 +#: e2fsck/problem.c:1100 #, c-format msgid "'.' @d @e in @d @i %i is not NULL terminated\n" msgstr "Item '.' in map-inode %i eindigt niet op NULL.\n" #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1174 +#: e2fsck/problem.c:1105 #, c-format msgid "'..' @d @e in @d @i %i is not NULL terminated\n" msgstr "Item '..' in map-inode %i eindigt niet op NULL.\n" #. @-expanded: inode %i (%Q) is an illegal character device.\n -#: e2fsck/problem.c:1179 +#: e2fsck/problem.c:1110 msgid "@i %i (%Q) is an @I character @v.\n" msgstr "Inode %i (%Q) is een ongeldig byte-apparaat.\n" #. @-expanded: inode %i (%Q) is an illegal block device.\n -#: e2fsck/problem.c:1184 +#: e2fsck/problem.c:1115 msgid "@i %i (%Q) is an @I @b @v.\n" msgstr "Inode %i (%Q) is een ongeldig blok-apparaat.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n -#: e2fsck/problem.c:1189 +#: e2fsck/problem.c:1120 msgid "@E is duplicate '.' @e.\n" msgstr "@E is een duplicaat-'.'-item.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n -#: e2fsck/problem.c:1194 +#: e2fsck/problem.c:1125 msgid "@E is duplicate '..' @e.\n" msgstr "@E is een duplicaat-'..'-item.\n" -#: e2fsck/problem.c:1199 e2fsck/problem.c:1499 +#: e2fsck/problem.c:1130 e2fsck/problem.c:1430 #, c-format msgid "Internal error: couldn't find dir_info for %i.\n" msgstr "*Interne fout*: kan 'dir_info' voor %i niet vinden.\n" #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n -#: e2fsck/problem.c:1204 +#: e2fsck/problem.c:1135 msgid "@E has rec_len of %Dr, @s %N.\n" msgstr "@E heeft een 'rec_len' van %Dr, zou %N moeten zijn.\n" #. @-expanded: error allocating icount structure: %m\n -#: e2fsck/problem.c:1209 +#: e2fsck/problem.c:1140 #, c-format msgid "@A icount structure: %m\n" msgstr "Fout tijdens reserveren van 'icount'-structuur: %m\n" #. @-expanded: Error iterating over directory blocks: %m\n -#: e2fsck/problem.c:1214 +#: e2fsck/problem.c:1145 #, c-format msgid "Error iterating over @d @bs: %m\n" msgstr "Fout tijdens langslopen van mapblokken: %m\n" #. @-expanded: Error reading directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1219 +#: e2fsck/problem.c:1150 msgid "Error reading @d @b %b (@i %i): %m\n" msgstr "Fout tijdens lezen van mapblok %b (inode %i): %m\n" #. @-expanded: Error writing directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1224 +#: e2fsck/problem.c:1155 msgid "Error writing @d @b %b (@i %i): %m\n" msgstr "Fout tijdens schrijven van mapblok %b (inode %i): %m\n" #. @-expanded: error allocating new directory block for inode %i (%s): %m\n -#: e2fsck/problem.c:1229 +#: e2fsck/problem.c:1160 #, c-format msgid "@A new @d @b for @i %i (%s): %m\n" msgstr "Fout tijdens reserveren van nieuw mapblok voor inode %i (%s): %m\n" #. @-expanded: Error deallocating inode %i: %m\n -#: e2fsck/problem.c:1234 +#: e2fsck/problem.c:1165 #, c-format msgid "Error deallocating @i %i: %m\n" msgstr "Fout tijdens vrijgeven van inode %i: %m\n" #. @-expanded: directory entry for '.' in %p (%i) is big.\n -#: e2fsck/problem.c:1239 +#: e2fsck/problem.c:1170 #, c-format msgid "@d @e for '.' in %p (%i) is big.\n" msgstr "Mapitem voor '.' in %p (%i) is groot.\n" #. @-expanded: inode %i (%Q) is an illegal FIFO.\n -#: e2fsck/problem.c:1244 +#: e2fsck/problem.c:1175 msgid "@i %i (%Q) is an @I FIFO.\n" msgstr "Inode %i (%Q) is een ongeldige FIFO.\n" #. @-expanded: inode %i (%Q) is an illegal socket.\n -#: e2fsck/problem.c:1249 +#: e2fsck/problem.c:1180 msgid "@i %i (%Q) is an @I socket.\n" msgstr "Inode %i (%Q) is een ongeldige socket.\n" #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n -#: e2fsck/problem.c:1254 +#: e2fsck/problem.c:1185 msgid "Setting filetype for @E to %N.\n" msgstr "Bestandstype van @E wordt op %N gezet.\n" #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n -#: e2fsck/problem.c:1259 +#: e2fsck/problem.c:1190 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n" msgstr "@E heeft een ongeldig bestandstype (%Dt, zou %N moeten zijn).\n" #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n -#: e2fsck/problem.c:1264 +#: e2fsck/problem.c:1195 msgid "@E has filetype set.\n" msgstr "@E heeft een ingevuld bestandstype.\n" #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n -#: e2fsck/problem.c:1269 +#: e2fsck/problem.c:1200 msgid "@E has a @z name.\n" msgstr "@E heeft een naam met lengte nul.\n" #. @-expanded: Symlink %Q (inode #%i) is invalid.\n -#: e2fsck/problem.c:1274 +#: e2fsck/problem.c:1205 msgid "Symlink %Q (@i #%i) is @n.\n" msgstr "Symbolische koppeling %Q (inode %i) is ongeldig.\n" #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n -#: e2fsck/problem.c:1279 +#: e2fsck/problem.c:1210 msgid "@a @b @F @n (%If).\n" msgstr "Blok van uitgebreide kenmerken @F is ongeldig (%If).\n" #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n -#: e2fsck/problem.c:1284 +#: e2fsck/problem.c:1215 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n" msgstr "Bestandssysteem bevat grote bestanden, maar heeft in het superblok niet de 'large-file'-vlag gezet.\n" #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n -#: e2fsck/problem.c:1289 +#: e2fsck/problem.c:1220 msgid "@p @h %d: %B not referenced\n" msgstr "Probleem in 'htree'-map-inode %d: naar %B wordt niet verwezen.\n" #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n -#: e2fsck/problem.c:1294 +#: e2fsck/problem.c:1225 msgid "@p @h %d: %B referenced twice\n" msgstr "Probleem in 'htree'-map-inode %d: naar %B wordt twee keer verwezen.\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n -#: e2fsck/problem.c:1299 +#: e2fsck/problem.c:1230 msgid "@p @h %d: %B has bad min hash\n" msgstr "Probleem in 'htree'-map-inode %d: %B heeft een ongeldige minimum hash.\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n -#: e2fsck/problem.c:1304 +#: e2fsck/problem.c:1235 msgid "@p @h %d: %B has bad max hash\n" msgstr "Probleem in 'htree'-map-inode %d: %B heeft een ongeldige maximum hash.\n" #. @-expanded: invalid HTREE directory inode %d (%q). -#: e2fsck/problem.c:1309 +#: e2fsck/problem.c:1240 msgid "@n @h %d (%q). " msgstr "Ongeldige 'htree'-map-inode %d (%q). " #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n -#: e2fsck/problem.c:1313 +#: e2fsck/problem.c:1244 msgid "@p @h %d (%q): bad @b number %b.\n" msgstr "Probleem in 'htree'-map-inode %d (%q): ongeldig bloknummer %b.\n" #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n -#: e2fsck/problem.c:1323 +#: e2fsck/problem.c:1254 #, c-format msgid "@p @h %d: root node is @n\n" msgstr "Probleem in 'htree'-map-inode %d: de wortelknoop is ongeldig.\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n -#: e2fsck/problem.c:1328 +#: e2fsck/problem.c:1259 msgid "@p @h %d: %B has @n limit (%N)\n" msgstr "Probleem in 'htree'-map-inode %d: %B heeft een ongeldige limiet (%N).\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n -#: e2fsck/problem.c:1333 +#: e2fsck/problem.c:1264 msgid "@p @h %d: %B has @n count (%N)\n" msgstr "Probleem in 'htree'-map-inode %d: %B heeft een ongeldig aantal (%N).\n" #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n -#: e2fsck/problem.c:1338 +#: e2fsck/problem.c:1269 msgid "@p @h %d: %B has an unordered hash table\n" msgstr "Probleem in 'htree'-map-inode %d: %B heeft een ongeordende hash-tabel.\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n -#: e2fsck/problem.c:1343 +#: e2fsck/problem.c:1274 msgid "@p @h %d: %B has @n depth (%N)\n" msgstr "Probleem in 'htree'-map-inode %d: %B heeft een ongeldige diepte (%N).\n" #. @-expanded: Duplicate entry '%Dn' in %p (%i) found. -#: e2fsck/problem.c:1348 +#: e2fsck/problem.c:1279 msgid "Duplicate @E found. " msgstr "Dubbel item '%Dn' in %p (%i) gevonden. " #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n #. @-expanded: Rename to %s -#: e2fsck/problem.c:1353 +#: e2fsck/problem.c:1284 #, no-c-format msgid "" "@E has a non-unique filename.\n" @@ -2213,7 +2133,7 @@ msgstr "" #. @-expanded: Duplicate entry '%Dn' found.\n #. @-expanded: \tMarking %p (%i) to be rebuilt.\n #. @-expanded: \n -#: e2fsck/problem.c:1358 +#: e2fsck/problem.c:1289 msgid "" "Duplicate @e '%Dn' found.\n" "\tMarking %p (%i) to be rebuilt.\n" @@ -2224,116 +2144,116 @@ msgstr "" "\n" #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1363 +#: e2fsck/problem.c:1294 msgid "i_blocks_hi @F %N, @s zero.\n" msgstr "'i_blocks_hi' @F is %N, moet nul zijn.\n" #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n -#: e2fsck/problem.c:1368 +#: e2fsck/problem.c:1299 msgid "Unexpected @b in @h %d (%q).\n" msgstr "Onverwacht blok in 'htree'-map-inode %d (%q)\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n -#: e2fsck/problem.c:1372 +#: e2fsck/problem.c:1303 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n" msgstr "@E verwijst naar inode %Di in groep %g die gemarkeerd is als _INODE_UNINIT.\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n -#: e2fsck/problem.c:1377 +#: e2fsck/problem.c:1308 msgid "@E references @i %Di found in @g %g's unused inodes area.\n" msgstr "@E verwijst naar inode %Di in het gebied met ongebruikte inodes van groep %g.\n" #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1382 +#: e2fsck/problem.c:1313 msgid "i_file_acl_hi @F %N, @s zero.\n" msgstr "'i_file_acl' @F is %N, moet nul zijn.\n" #. @-expanded: Pass 3: Checking directory connectivity\n -#: e2fsck/problem.c:1389 +#: e2fsck/problem.c:1320 msgid "Pass 3: Checking @d connectivity\n" msgstr "Stap 3: Controle van verbindingen tussen mappen\n" #. @-expanded: root inode not allocated. -#: e2fsck/problem.c:1394 +#: e2fsck/problem.c:1325 msgid "@r not allocated. " msgstr "Hoofd-inode is niet gereserveerd. " #. @-expanded: No room in lost+found directory. -#: e2fsck/problem.c:1399 +#: e2fsck/problem.c:1330 msgid "No room in @l @d. " msgstr "Geen ruimte meer in /lost+found. " #. @-expanded: Unconnected directory inode %i (%p)\n -#: e2fsck/problem.c:1404 +#: e2fsck/problem.c:1335 #, c-format msgid "Unconnected @d @i %i (%p)\n" msgstr "Onverbonden map-inode %i (%p)\n" #. @-expanded: /lost+found not found. -#: e2fsck/problem.c:1409 +#: e2fsck/problem.c:1340 msgid "/@l not found. " msgstr "/lost+found niet gevonden. " #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n -#: e2fsck/problem.c:1414 +#: e2fsck/problem.c:1345 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n" msgstr "'..' in %Q (%i) is %P (%j), moet %q (%d) zijn.\n" #. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n -#: e2fsck/problem.c:1419 +#: e2fsck/problem.c:1350 msgid "Bad or non-existent /@l. Cannot reconnect.\n" msgstr "Beschadigde of niet-bestaande /lost+found. Kan inode niet herverbinden.\n" #. @-expanded: Could not expand /lost+found: %m\n -#: e2fsck/problem.c:1424 +#: e2fsck/problem.c:1355 #, c-format msgid "Could not expand /@l: %m\n" msgstr "Kan /lost+found niet uitbreiden: %m\n" -#: e2fsck/problem.c:1429 +#: e2fsck/problem.c:1360 #, c-format msgid "Could not reconnect %i: %m\n" msgstr "Kan inode %i niet herverbinden: %m\n" #. @-expanded: Error while trying to find /lost+found: %m\n -#: e2fsck/problem.c:1434 +#: e2fsck/problem.c:1365 #, c-format msgid "Error while trying to find /@l: %m\n" msgstr "Fout tijdens zoeken van /lost+found: %m\n" #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1439 +#: e2fsck/problem.c:1370 #, c-format msgid "ext2fs_new_@b: %m while trying to create /@l @d\n" msgstr "ext2fs_new_block(): %m tijdens maken van /lost+found\n" #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1444 +#: e2fsck/problem.c:1375 #, c-format msgid "ext2fs_new_@i: %m while trying to create /@l @d\n" msgstr "ext2fs_new_inode(): %m tijdens maken van /lost+found\n" #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n -#: e2fsck/problem.c:1449 +#: e2fsck/problem.c:1380 #, c-format msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n" msgstr "ext2fs_new_dir_block(): %m tijdens maken van nieuw mapblok\n" #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n -#: e2fsck/problem.c:1454 +#: e2fsck/problem.c:1385 #, c-format msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n" msgstr "ext2fs_write_dir_block(): %m tijdens maken van mapblok voor /lost+found\n" #. @-expanded: Error while adjusting inode count on inode %i\n -#: e2fsck/problem.c:1459 +#: e2fsck/problem.c:1390 #, c-format msgid "Error while adjusting @i count on @i %i\n" msgstr "Fout tijdens bijwerken van inodetal van inode %i.\n" #. @-expanded: Couldn't fix parent of inode %i: %m\n #. @-expanded: \n -#: e2fsck/problem.c:1464 +#: e2fsck/problem.c:1395 #, c-format msgid "" "Couldn't fix parent of @i %i: %m\n" @@ -2344,7 +2264,7 @@ msgstr "" #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n #. @-expanded: \n -#: e2fsck/problem.c:1469 +#: e2fsck/problem.c:1400 #, c-format msgid "" "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n" @@ -2354,75 +2274,75 @@ msgstr "" "\n" #. @-expanded: Error creating root directory (%s): %m\n -#: e2fsck/problem.c:1479 +#: e2fsck/problem.c:1410 #, c-format msgid "Error creating root @d (%s): %m\n" msgstr "Fout tijdens maken van hoofdmap (%s): %m\n" #. @-expanded: Error creating /lost+found directory (%s): %m\n -#: e2fsck/problem.c:1484 +#: e2fsck/problem.c:1415 #, c-format msgid "Error creating /@l @d (%s): %m\n" msgstr "Fout tijdens maken van /lost+found-map (%s): %m\n" #. @-expanded: root inode is not a directory; aborting.\n -#: e2fsck/problem.c:1489 +#: e2fsck/problem.c:1420 msgid "@r is not a @d; aborting.\n" msgstr "De hoofd-inode is geen map. Gestopt.\n" #. @-expanded: Cannot proceed without a root inode.\n -#: e2fsck/problem.c:1494 +#: e2fsck/problem.c:1425 msgid "Cannot proceed without a @r.\n" msgstr "Kan niet verder zonder een hoofd-inode.\n" #. @-expanded: /lost+found is not a directory (ino=%i)\n -#: e2fsck/problem.c:1504 +#: e2fsck/problem.c:1435 #, c-format msgid "/@l is not a @d (ino=%i)\n" msgstr "/lost+found (inode %i) is geen map\n" -#: e2fsck/problem.c:1511 +#: e2fsck/problem.c:1442 msgid "Pass 3A: Optimizing directories\n" msgstr "Stap 3A: Optimalisatie van mappen\n" -#: e2fsck/problem.c:1516 +#: e2fsck/problem.c:1447 #, c-format msgid "Failed to create dirs_to_hash iterator: %m\n" msgstr "Maken van 'dirs_to_hash-iterator' is mislukt: %m\n" -#: e2fsck/problem.c:1521 +#: e2fsck/problem.c:1452 msgid "Failed to optimize directory %q (%d): %m\n" msgstr "Optimaliseren van map %q (%d) is mislukt: %m\n" -#: e2fsck/problem.c:1526 +#: e2fsck/problem.c:1457 msgid "Optimizing directories: " msgstr "Optimaliseren van mappen: " -#: e2fsck/problem.c:1543 +#: e2fsck/problem.c:1474 msgid "Pass 4: Checking reference counts\n" msgstr "Stap 4: Controle van verwijzingsaantallen\n" #. @-expanded: unattached zero-length inode %i. -#: e2fsck/problem.c:1548 +#: e2fsck/problem.c:1479 #, c-format msgid "@u @z @i %i. " msgstr "Onverbonden inode %i met lengte nul. " #. @-expanded: unattached inode %i\n -#: e2fsck/problem.c:1553 +#: e2fsck/problem.c:1484 #, c-format msgid "@u @i %i\n" msgstr "Onverbonden inode %i.\n" #. @-expanded: inode %i ref count is %Il, should be %N. -#: e2fsck/problem.c:1558 +#: e2fsck/problem.c:1489 msgid "@i %i ref count is %Il, @s %N. " msgstr "Verwijzingsaantal van inode %i is %Il, zou %N moeten zijn. " #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n -#: e2fsck/problem.c:1562 +#: e2fsck/problem.c:1493 msgid "" "WARNING: PROGRAMMING BUG IN E2FSCK!\n" "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n" @@ -2435,144 +2355,140 @@ msgstr "" "Deze horen hetzelfde te zijn!\n" #. @-expanded: Pass 5: Checking group summary information\n -#: e2fsck/problem.c:1572 +#: e2fsck/problem.c:1503 msgid "Pass 5: Checking @g summary information\n" msgstr "Stap 5: Controle van groepssamenvattingen\n" #. @-expanded: Padding at end of inode bitmap is not set. -#: e2fsck/problem.c:1577 +#: e2fsck/problem.c:1508 msgid "Padding at end of @i @B is not set. " msgstr "Opvulling aan het eind van inode-bitkaart is niet gezet. " #. @-expanded: Padding at end of block bitmap is not set. -#: e2fsck/problem.c:1582 +#: e2fsck/problem.c:1513 msgid "Padding at end of @b @B is not set. " msgstr "Opvulling aan het eind van blok-bitkaart is niet gezet. " #. @-expanded: block bitmap differences: -#: e2fsck/problem.c:1587 +#: e2fsck/problem.c:1518 msgid "@b @B differences: " msgstr "Blok-bitkaart-verschillen: " #. @-expanded: inode bitmap differences: -#: e2fsck/problem.c:1607 +#: e2fsck/problem.c:1538 msgid "@i @B differences: " msgstr "Inode-bitkaart-verschillen: " #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1627 +#: e2fsck/problem.c:1558 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n" msgstr "Verkeerd aantal vrije inodes voor groep #%g (%i, geteld=%j).\n" #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1632 +#: e2fsck/problem.c:1563 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n" msgstr "Verkeerd aantal mappen voor groep #%g (%i, geteld=%j).\n" #. @-expanded: Free inodes count wrong (%i, counted=%j).\n -#: e2fsck/problem.c:1637 +#: e2fsck/problem.c:1568 msgid "Free @is count wrong (%i, counted=%j).\n" msgstr "Verkeerd aantal inodes (%i, geteld=%j).\n" #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n -#: e2fsck/problem.c:1642 +#: e2fsck/problem.c:1573 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n" msgstr "Verkeerd aantal blokken voor groep #%g (%b, geteld=%c).\n" #. @-expanded: Free blocks count wrong (%b, counted=%c).\n -#: e2fsck/problem.c:1647 +#: e2fsck/problem.c:1578 msgid "Free @bs count wrong (%b, counted=%c).\n" msgstr "Verkeerd aantal blokken (%b, geteld=%c).\n" #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap #. @-expanded: endpoints (%i, %j)\n -#: e2fsck/problem.c:1652 +#: e2fsck/problem.c:1583 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n" msgstr "PROGRAMMAFOUT in e2fsck: in bestandssysteem %N komen de bitkaart-eindpunten (%b, %c) niet overeen met de berekende eindpunten (%i, %j)\n" -#: e2fsck/problem.c:1658 +#: e2fsck/problem.c:1589 msgid "Internal error: fudging end of bitmap (%N)\n" msgstr "*Interne fout*: einde van bitmap is gefoezeld (%N)\n" #. @-expanded: Error copying in replacement inode bitmap: %m\n -#: e2fsck/problem.c:1663 +#: e2fsck/problem.c:1594 #, c-format msgid "Error copying in replacement @i @B: %m\n" msgstr "Fout tijdens kopiëren naar vervangende inode-bitkaart: %m\n" #. @-expanded: Error copying in replacement block bitmap: %m\n -#: e2fsck/problem.c:1668 +#: e2fsck/problem.c:1599 #, c-format msgid "Error copying in replacement @b @B: %m\n" msgstr "Fout tijdens kopiëren naar vervangende blok-bitkaart: %m\n" #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n -#: e2fsck/problem.c:1693 +#: e2fsck/problem.c:1624 #, c-format msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n" msgstr "Blok(ken) van groep %g in gebruik, maar groep is gemarkeerd als BLOCK_UNINIT\n" #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n -#: e2fsck/problem.c:1698 +#: e2fsck/problem.c:1629 #, c-format msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n" msgstr "Inode(s) van groep %g in gebruik, maar groep is gemarkeerd als INODE_UNINIT\n" #. @-expanded: Recreate journal -#: e2fsck/problem.c:1705 +#: e2fsck/problem.c:1636 msgid "Recreate @j" msgstr "Journal heraanmaken" -#: e2fsck/problem.c:1710 -msgid "Update quota info for quota type %N" -msgstr "Quota-informatie bijwerken voor quotatype %N" - -#: e2fsck/problem.c:1829 +#: e2fsck/problem.c:1755 #, c-format msgid "Unhandled error code (0x%x)!\n" msgstr "Onbekende foutcode (0x%x)!\n" -#: e2fsck/problem.c:1954 e2fsck/problem.c:1958 +#: e2fsck/problem.c:1850 msgid "IGNORED" msgstr "GENEGEERD" -#: e2fsck/scantest.c:79 +#: e2fsck/scantest.c:81 #, c-format msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n" msgstr "Gebruikt geheugen: %d, verlopen tijd: %6.3f/%6.3f/%6.3f\n" -#: e2fsck/scantest.c:98 +#: e2fsck/scantest.c:100 #, c-format msgid "size of inode=%d\n" msgstr "grootte van inode is %d\n" -#: e2fsck/scantest.c:119 +#: e2fsck/scantest.c:121 msgid "while starting inode scan" msgstr "tijdens start van inode-scan" -#: e2fsck/scantest.c:130 +#: e2fsck/scantest.c:132 msgid "while doing inode scan" msgstr "tijdens uitvoering van inode-scan" -#: e2fsck/super.c:188 +#: e2fsck/super.c:187 #, c-format msgid "while calling ext2fs_block_iterate for inode %d" msgstr "tijdens aanroep van ext2fs_block_iterate() voor inode %d" -#: e2fsck/super.c:211 +#: e2fsck/super.c:209 #, c-format -msgid "while calling ext2fs_adjust_ea_refcount2 for inode %d" -msgstr "tijdens aanroep van ext2fs_adjust_ea_refcount2() voor inode %d" +msgid "while calling ext2fs_adjust_ea_refcount for inode %d" +msgstr "tijdens aanroep van ext2fs_adjust_ea_refcount() voor inode %d" -#: e2fsck/super.c:272 +#: e2fsck/super.c:267 msgid "Truncating" msgstr "Afkappen" -#: e2fsck/super.c:273 +#: e2fsck/super.c:268 msgid "Clearing" msgstr "Wissen" -#: e2fsck/unix.c:74 +#: e2fsck/unix.c:76 #, c-format msgid "" "Usage: %s [-panyrcdfvtDFV] [-b superblock] [-B blocksize]\n" @@ -2586,7 +2502,7 @@ msgstr "" " [-l|-L slechte_blokkenbestand] [-P procesinode-grootte]\n" " apparaat\n" -#: e2fsck/unix.c:80 +#: e2fsck/unix.c:82 #, c-format msgid "" "\n" @@ -2605,7 +2521,7 @@ msgstr "" " -c Op slechte blokken controleren en deze aan lijst toevoegen.\n" " -f Een controle afdwingen, ook als het bestandssysteem schoon is.\n" -#: e2fsck/unix.c:86 +#: e2fsck/unix.c:88 #, c-format msgid "" " -v Be verbose\n" @@ -2622,165 +2538,38 @@ msgstr "" " -l slechte_blokkenbestand Deze lijst aan de slechte_blokkenlijst toevoegen.\n" " -L slechte_blokkenbestand Deze slechte_blokkenlijst gebruiken.\n" -#: e2fsck/unix.c:131 -#, c-format -msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n" -msgstr "%s: %u/%u bestanden (%0d.%d%% niet-aaneengesloten), %llu/%llu blokken\n" - -#: e2fsck/unix.c:157 -#, c-format -msgid "" -"\n" -"%12u inode used (%2.2f%%, out of %u)\n" -msgid_plural "" -"\n" -"%12u inodes used (%2.2f%%, out of %u)\n" -msgstr[0] "" -"\n" -"%12u inode gebruikt (%2.2f%% van %u)\n" -msgstr[1] "" -"\n" -"%12u inodes gebruikt (%2.2f%% van %u)\n" - -#: e2fsck/unix.c:161 -#, c-format -msgid "%12u non-contiguous file (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous files (%0d.%d%%)\n" -msgstr[0] "%12u niet-aaneengesloten bestand (%0d.%d%%)\n" -msgstr[1] "%12u niet-aaneengesloten bestanden (%0d.%d%%)\n" - -#: e2fsck/unix.c:166 -#, c-format -msgid "%12u non-contiguous directory (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n" -msgstr[0] "%12u niet-aaneengesloten map (%0d.%d%%)\n" -msgstr[1] "%12u niet-aaneengesloten mappen (%0d.%d%%)\n" - -#: e2fsck/unix.c:171 -#, c-format -msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" -msgstr " aantal inodes met indirecte blokken: %u enkel, %u dubbel, %u triple\n" - -#: e2fsck/unix.c:179 -msgid " Extent depth histogram: " -msgstr " Extents-dieptehistogram: " - -#: e2fsck/unix.c:188 -#, c-format -msgid "%12llu block used (%2.2f%%, out of %llu)\n" -msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n" -msgstr[0] "%12llu blok gebruikt (%2.2f%% van %llu)\n" -msgstr[1] "%12llu blokken gebruikt (%2.2f%% van %llu)\n" - -#: e2fsck/unix.c:192 -#, c-format -msgid "%12u bad block\n" -msgid_plural "%12u bad blocks\n" -msgstr[0] "%12u slecht blok\n" -msgstr[1] "%12u slechte blokken\n" - -#: e2fsck/unix.c:194 -#, c-format -msgid "%12u large file\n" -msgid_plural "%12u large files\n" -msgstr[0] "%12u groot bestand\n" -msgstr[1] "%12u grote bestanden\n" - -#: e2fsck/unix.c:196 -#, c-format -msgid "" -"\n" -"%12u regular file\n" -msgid_plural "" -"\n" -"%12u regular files\n" -msgstr[0] "" -"\n" -"%12u normaal bestand\n" -msgstr[1] "" -"\n" -"%12u normale bestanden\n" - -#: e2fsck/unix.c:198 -#, c-format -msgid "%12u directory\n" -msgid_plural "%12u directories\n" -msgstr[0] "%12u map\n" -msgstr[1] "%12u mappen\n" - -#: e2fsck/unix.c:200 -#, c-format -msgid "%12u character device file\n" -msgid_plural "%12u character device files\n" -msgstr[0] "%12u byte-apparaat\n" -msgstr[1] "%12u byte-apparaten\n" - -#: e2fsck/unix.c:203 -#, c-format -msgid "%12u block device file\n" -msgid_plural "%12u block device files\n" -msgstr[0] "%12u blok-apparaat\n" -msgstr[1] "%12u blok-apparaten\n" - -#: e2fsck/unix.c:205 -#, c-format -msgid "%12u fifo\n" -msgid_plural "%12u fifos\n" -msgstr[0] "%12u fifo\n" -msgstr[1] "%12u fifo's\n" - -#: e2fsck/unix.c:207 -#, c-format -msgid "%12u link\n" -msgid_plural "%12u links\n" -msgstr[0] "%12u koppeling\n" -msgstr[1] "%12u koppelingen\n" - -#: e2fsck/unix.c:209 +#: e2fsck/unix.c:132 #, c-format -msgid "%12u symbolic link" -msgid_plural "%12u symbolic links" -msgstr[0] "%12u symbolische koppeling" -msgstr[1] "%12u symbolische koppelingen" +msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n" +msgstr "%s: %u/%u bestanden (%0d.%d%% niet-aaneengesloten), %u/%u blokken\n" -#: e2fsck/unix.c:211 +#: e2fsck/unix.c:150 #, c-format -msgid " (%u fast symbolic link)\n" -msgid_plural " (%u fast symbolic links)\n" -msgstr[0] " (%u snelle koppeling)\n" -msgstr[1] " (%u snelle koppelingen)\n" +msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" +msgstr " aantal inodes met ind/dind/tind-blokken: %u/%u/%u\n" -#: e2fsck/unix.c:215 -#, c-format -msgid "%12u socket\n" -msgid_plural "%12u sockets\n" -msgstr[0] "%12u socket\n" -msgstr[1] "%12u sockets\n" - -#: e2fsck/unix.c:219 +#: e2fsck/unix.c:157 #, c-format -msgid "%12u file\n" -msgid_plural "%12u files\n" -msgstr[0] "%12u bestand\n" -msgstr[1] "%12u bestanden\n" +msgid " Extent depth histogram: " +msgstr " Extents-dieptehistogram: " -#: e2fsck/unix.c:232 misc/badblocks.c:983 misc/tune2fs.c:1985 misc/util.c:147 -#: resize/main.c:259 +#: e2fsck/unix.c:207 misc/badblocks.c:928 misc/tune2fs.c:1625 misc/util.c:151 +#: resize/main.c:249 #, c-format msgid "while determining whether %s is mounted." msgstr "tijdens bepalen of %s aangekoppeld is." -#: e2fsck/unix.c:252 +#: e2fsck/unix.c:225 #, c-format -msgid "Warning! %s is %s.\n" -msgstr "Waarschuwing! %s is %s.\n" +msgid "Warning! %s is mounted.\n" +msgstr "WAARSCHUWING: %s is aangekoppeld!\n" -#: e2fsck/unix.c:259 +#: e2fsck/unix.c:229 #, c-format -msgid "%s is %s.\n" -msgstr "%s is %s.\n" +msgid "%s is mounted. " +msgstr "Partitie %s is aangekoppeld. " -#: e2fsck/unix.c:262 +#: e2fsck/unix.c:231 msgid "" "Cannot continue, aborting.\n" "\n" @@ -2788,93 +2577,94 @@ msgstr "" "Kan niet doorgaan. Gestopt.\n" "\n" -#: e2fsck/unix.c:264 +#: e2fsck/unix.c:232 +#, c-format msgid "" "\n" "\n" -"WARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" -"cause ***SEVERE*** filesystem damage.\n" +"\a\a\a\aWARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" +"cause ***SEVERE*** filesystem damage.\a\a\a\n" "\n" msgstr "" "\n" "\n" -"**WAARSCHUWING**!!! Het bestandssysteem is aangekoppeld!\n" -" Als u doorgaat **ZAL** dit tot **ZWARE** beschadigingen leiden.\n" +"\a\a\a\a**WAARSCHUWING**!!! Het bestandssysteem is aangekoppeld!\n" +" Als u doorgaat **ZAL** dit tot **ZWARE** beschadigingen leiden.\a\a\a\n" "\n" -#: e2fsck/unix.c:269 +#: e2fsck/unix.c:235 msgid "Do you really want to continue" msgstr "Wilt u echt doorgaan" -#: e2fsck/unix.c:271 +#: e2fsck/unix.c:237 #, c-format msgid "check aborted.\n" msgstr "De controle is afgebroken.\n" -#: e2fsck/unix.c:361 +#: e2fsck/unix.c:315 msgid " contains a file system with errors" msgstr " bevat een bestandssysteem met fouten" -#: e2fsck/unix.c:363 +#: e2fsck/unix.c:317 msgid " was not cleanly unmounted" msgstr " is niet goed ontkoppeld" -#: e2fsck/unix.c:365 +#: e2fsck/unix.c:319 msgid " primary superblock features different from backup" msgstr " het primaire superblok heeft andere functievlaggen gezet dan de reserveblokken" -#: e2fsck/unix.c:369 +#: e2fsck/unix.c:323 #, c-format msgid " has been mounted %u times without being checked" msgstr " is %u keer aangekoppeld geweest zonder controle" -#: e2fsck/unix.c:376 +#: e2fsck/unix.c:330 msgid " has filesystem last checked time in the future" msgstr " is schijnbaar het laatst gecontroleerd in de toekomst" -#: e2fsck/unix.c:382 +#: e2fsck/unix.c:336 #, c-format msgid " has gone %u days without being checked" msgstr " is gedurende %u dagen niet gecontroleerd" -#: e2fsck/unix.c:391 +#: e2fsck/unix.c:345 msgid ", check forced.\n" msgstr ", gedwongen controle.\n" -#: e2fsck/unix.c:424 +#: e2fsck/unix.c:348 #, c-format -msgid "%s: clean, %u/%u files, %llu/%llu blocks" -msgstr "%s: schoon, %u/%u bestanden, %llu/%llu blokken" +msgid "%s: clean, %u/%u files, %u/%u blocks" +msgstr "%s: schoon, %u/%u bestanden, %u/%u blokken" -#: e2fsck/unix.c:443 +#: e2fsck/unix.c:365 msgid " (check deferred; on battery)" msgstr " (controle is uitgesteld; computer loopt op accu)" -#: e2fsck/unix.c:446 +#: e2fsck/unix.c:368 msgid " (check after next mount)" msgstr " (controle bij volgende aankoppeling)" -#: e2fsck/unix.c:448 +#: e2fsck/unix.c:370 #, c-format msgid " (check in %ld mounts)" msgstr " (controle na %ld aankoppelingen)" -#: e2fsck/unix.c:598 +#: e2fsck/unix.c:517 #, c-format msgid "ERROR: Couldn't open /dev/null (%s)\n" msgstr "FOUT: kan /dev/null niet openen (%s)\n" -#: e2fsck/unix.c:667 +#: e2fsck/unix.c:587 #, c-format msgid "Invalid EA version.\n" msgstr "Ongeldige versie van uitgebreide kenmerken.\n" -#: e2fsck/unix.c:694 +#: e2fsck/unix.c:596 #, c-format msgid "Unknown extended option: %s\n" msgstr "Onbekende uitgebreide optie: %s\n" -#: e2fsck/unix.c:719 +#: e2fsck/unix.c:618 #, c-format msgid "" "Syntax error in e2fsck config file (%s, line #%d)\n" @@ -2883,48 +2673,47 @@ msgstr "" "Syntaxfout in 'e2fsck'-configuratiebestand (%s, regel #%d)\n" " %s\n" -#: e2fsck/unix.c:788 +#: e2fsck/unix.c:686 #, c-format msgid "Error validating file descriptor %d: %s\n" msgstr "Fout tijdens valideren van bestandsdesriptor %d: %s\n" -#: e2fsck/unix.c:792 +#: e2fsck/unix.c:690 msgid "Invalid completion information file descriptor" msgstr "Ongeldige completeringsinformatie voor bestandsdescriptor." -#: e2fsck/unix.c:807 +#: e2fsck/unix.c:705 msgid "Only one of the options -p/-a, -n or -y may be specified." msgstr "Slechts één van de opties -a, -p, -n of -y mag worden opgegeven." -#: e2fsck/unix.c:828 +#: e2fsck/unix.c:726 #, c-format msgid "The -t option is not supported on this version of e2fsck.\n" msgstr "De optie '-t' wordt niet ondersteund door deze versie van e2fsck.\n" -#: e2fsck/unix.c:859 e2fsck/unix.c:931 misc/tune2fs.c:811 misc/tune2fs.c:1100 -#: misc/tune2fs.c:1118 -#, c-format -msgid "Unable to resolve '%s'" -msgstr "Kan apparaat '%s' niet vinden." - -#: e2fsck/unix.c:910 +#: e2fsck/unix.c:801 msgid "The -n and -D options are incompatible." msgstr "De opties '-n' en '-D' gaan niet samen." -#: e2fsck/unix.c:915 +#: e2fsck/unix.c:806 msgid "The -n and -c options are incompatible." msgstr "De opties '-n' en '-c' gaan niet samen." -#: e2fsck/unix.c:920 +#: e2fsck/unix.c:811 msgid "The -n and -l/-L options are incompatible." msgstr "De opties '-n' en '-l' of '-L' gaan niet samen." -#: e2fsck/unix.c:974 +#: e2fsck/unix.c:822 misc/tune2fs.c:550 misc/tune2fs.c:835 misc/tune2fs.c:853 +#, c-format +msgid "Unable to resolve '%s'" +msgstr "Kan apparaat '%s' niet vinden." + +#: e2fsck/unix.c:851 #, c-format msgid "The -c and the -l/-L options may not be both used at the same time.\n" msgstr "De opties '-c' en '-l' of '-L' kunnen niet samen gebruikt worden.\n" -#: e2fsck/unix.c:1022 +#: e2fsck/unix.c:899 #, c-format msgid "" "E2FSCK_JBD_DEBUG \"%s\" not an integer\n" @@ -2933,7 +2722,7 @@ msgstr "" "E2FSCK_JBD_DEBUG -- \"%s\" is geen geheel getal\n" "\n" -#: e2fsck/unix.c:1031 +#: e2fsck/unix.c:908 #, c-format msgid "" "\n" @@ -2944,67 +2733,46 @@ msgstr "" "Ongeldig niet-numeriek argument van '-%c': \"%s\"\n" "\n" -#: e2fsck/unix.c:1120 -#, c-format -msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n" -msgstr "Het MMP-interval is %u seconden, en de totale wachttijd is %u seconden. Even geduld...\n" - -#: e2fsck/unix.c:1137 e2fsck/unix.c:1142 -msgid "while checking MMP block" -msgstr "tijdens controleren van MMP-blok" - -#: e2fsck/unix.c:1144 misc/tune2fs.c:1912 -msgid "" -"If you are sure the filesystem is not in use on any node, run:\n" -"'tune2fs -f -E clear_mmp {device}'\n" -msgstr "" -"Als u zeker weet dat het bestandssysteem nergens gebruikt wordt,\n" -"geef dan deze opdracht: 'tune2fs -f -E clear_mmp {apparaat}'\n" - -#: e2fsck/unix.c:1194 +#: e2fsck/unix.c:982 #, c-format msgid "Error: ext2fs library version out of date!\n" msgstr "Fout: de ext2fs-bibliotheek is te oud!\n" -#: e2fsck/unix.c:1202 +#: e2fsck/unix.c:990 msgid "while trying to initialize program" msgstr "tijdens programma-initialisatie" -#: e2fsck/unix.c:1225 +#: e2fsck/unix.c:1001 #, c-format msgid "\tUsing %s, %s\n" msgstr " gebruik makend van %s, %s\n" -#: e2fsck/unix.c:1237 +#: e2fsck/unix.c:1013 msgid "need terminal for interactive repairs" msgstr "voor interactieve reparaties is een terminal vereist" -#: e2fsck/unix.c:1290 +#: e2fsck/unix.c:1046 #, c-format msgid "%s: %s trying backup blocks...\n" msgstr "%s: %s reservekopieblokken worden bekeken...\n" # Gebruik van '--' in deze en volgende string is opzettelijk; # één van deze strings wordt ingevuld voor de tweede %s hierboven. -#: e2fsck/unix.c:1292 +#: e2fsck/unix.c:1048 msgid "Superblock invalid," msgstr "Superblok is ongeldig --" -#: e2fsck/unix.c:1293 +#: e2fsck/unix.c:1049 msgid "Group descriptors look bad..." msgstr "Groepsbeschrijvers zien er slecht uit --" -#: e2fsck/unix.c:1303 -#, c-format -msgid "%s: %s while using the backup blocks" -msgstr "%s: %s tijdens gebruik van de reservekopieblokken" - -#: e2fsck/unix.c:1307 +#: e2fsck/unix.c:1059 #, c-format msgid "%s: going back to original superblock\n" msgstr "%s: er wordt teruggevallen op het eerste superblok\n" -#: e2fsck/unix.c:1335 +#: e2fsck/unix.c:1086 +#, c-format msgid "" "The filesystem revision is apparently too high for this version of e2fsck.\n" "(Or the filesystem superblock is corrupt)\n" @@ -3014,28 +2782,28 @@ msgstr "" "(Of het superblok is beschadigd.)\n" "\n" -#: e2fsck/unix.c:1341 +#: e2fsck/unix.c:1092 +#, c-format msgid "Could this be a zero-length partition?\n" msgstr "Is dit misschien een partitie met lengte nul?\n" -#: e2fsck/unix.c:1344 +#: e2fsck/unix.c:1094 #, c-format msgid "You must have %s access to the filesystem or be root\n" msgstr "U dient %s-toegang tot het bestandssyteem te hebben, of root te zijn.\n" -#: e2fsck/unix.c:1349 +#: e2fsck/unix.c:1099 +#, c-format msgid "Possibly non-existent or swap device?\n" msgstr "Mogelijk een niet-bestaand apparaat of een swap-apparaat?\n" -#: e2fsck/unix.c:1352 +#: e2fsck/unix.c:1101 +#, c-format msgid "Filesystem mounted or opened exclusively by another program?\n" msgstr "Is bestandssysteem exclusief aangekoppeld of geopend door een ander programma?\n" -#: e2fsck/unix.c:1355 -msgid "Possibly non-existent device?\n" -msgstr "Mogelijk een niet-bestaand apparaat?\n" - -#: e2fsck/unix.c:1358 +#: e2fsck/unix.c:1105 +#, c-format msgid "" "Disk write-protected; use the -n option to do a read-only\n" "check of the device.\n" @@ -3043,69 +2811,83 @@ msgstr "" "De schijf is schrijfbeveiligd. Gebruik de optie '-n' om een\n" "alleen-lezencontrole van het apparaat uit te voeren.\n" -#: e2fsck/unix.c:1423 +#: e2fsck/unix.c:1169 msgid "Get a newer version of e2fsck!" msgstr "Installeer een nieuwere versie van e2fsck!" -#: e2fsck/unix.c:1467 +#: e2fsck/unix.c:1199 #, c-format msgid "while checking ext3 journal for %s" msgstr "tijdens controle van het ext3-journal van %s" -#: e2fsck/unix.c:1478 +#: e2fsck/unix.c:1210 +#, c-format msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n" msgstr "" "Waarschuwing: afspelen van journal wordt overgeslagen\n" "omdat een alleen-lezencontrole uitgevoerd wordt.\n" -#: e2fsck/unix.c:1491 +#: e2fsck/unix.c:1223 #, c-format msgid "unable to set superblock flags on %s\n" msgstr "Kan superblokvlaggen van %s niet zetten.\n" -#: e2fsck/unix.c:1497 +#: e2fsck/unix.c:1229 #, c-format msgid "while recovering ext3 journal of %s" msgstr "tijdens afspelen van het ext3-journal van %s" -#: e2fsck/unix.c:1521 +#: e2fsck/unix.c:1254 #, c-format msgid "%s has unsupported feature(s):" msgstr "Bestandssysteem %s heeft functies ingeschakeld die niet ondersteund worden:" -#: e2fsck/unix.c:1536 -#, c-format -msgid "%s: warning: compression support is experimental.\n" -msgstr "%s: Waarschuwing: compressie-ondersteuning is nog experimenteel.\n" +#: e2fsck/unix.c:1270 +msgid "Warning: compression support is experimental.\n" +msgstr "Waarschuwing: compressie-ondersteuning is nog experimenteel.\n" -#: e2fsck/unix.c:1542 +#: e2fsck/unix.c:1275 #, c-format msgid "" -"%s: e2fsck not compiled with HTREE support,\n" +"E2fsck not compiled with HTREE support,\n" "\tbut filesystem %s has HTREE directories.\n" msgstr "" -"%s: Deze 'e2fsck' is niet gecompileerd met 'htree'-ondersteuning,\n" -" maar het bestandssysteem %s bevat 'htree'-mappen.\n" +"Deze 'e2fsck' is niet gecompileerd met 'htree'-ondersteuning,\n" +"maar het bestandssysteem %s bevat 'htree'-mappen.\n" -#: e2fsck/unix.c:1594 -#, c-format -msgid "%s: %s while reading bad blocks inode\n" -msgstr "%s: %s tijdens lezen van slechteblokken-inode\n" +#: e2fsck/unix.c:1328 +msgid "while reading bad blocks inode" +msgstr "tijdens lezen van slechte-blokken-inode" -#: e2fsck/unix.c:1597 +#: e2fsck/unix.c:1330 +#, c-format msgid "This doesn't bode well, but we'll try to go on...\n" msgstr "Dit ziet er niet goed uit, maar we zullen doorgaan...\n" -#: e2fsck/unix.c:1638 +#: e2fsck/unix.c:1356 +msgid "Couldn't determine journal size" +msgstr "Kan journal-grootte niet bepalen" + +#: e2fsck/unix.c:1359 #, c-format msgid "Creating journal (%d blocks): " msgstr "Aanmaken van journal (%d blokken): " -#: e2fsck/unix.c:1648 +#: e2fsck/unix.c:1366 misc/mke2fs.c:2248 +msgid "" +"\n" +"\twhile trying to create journal" +msgstr "" +"\n" +" tijdens aanmaken van journal" + +#: e2fsck/unix.c:1369 +#, c-format msgid " Done.\n" msgstr " voltooid.\n" -#: e2fsck/unix.c:1649 +#: e2fsck/unix.c:1370 +#, c-format msgid "" "\n" "*** journal has been re-created - filesystem is now ext3 again ***\n" @@ -3113,24 +2895,25 @@ msgstr "" "\n" "*** journal is opnieuw aangemaakt -- het bestandssysteem is nu weer ext3 ***\n" -#: e2fsck/unix.c:1672 +#: e2fsck/unix.c:1377 +#, c-format msgid "Restarting e2fsck from the beginning...\n" msgstr "E2fsck wordt opnieuw gestart vanaf het begin...\n" -#: e2fsck/unix.c:1676 +#: e2fsck/unix.c:1381 msgid "while resetting context" msgstr "tijdens wissen van de context" -#: e2fsck/unix.c:1683 +#: e2fsck/unix.c:1388 #, c-format msgid "%s: e2fsck canceled.\n" msgstr "%s: 'e2fsck' is geannuleerd.\n" -#: e2fsck/unix.c:1688 +#: e2fsck/unix.c:1393 msgid "aborted" msgstr "afgebroken" -#: e2fsck/unix.c:1700 e2fsck/util.c:67 +#: e2fsck/unix.c:1405 #, c-format msgid "" "\n" @@ -3139,12 +2922,12 @@ msgstr "" "\n" "%s: ***** BESTANDSSYSTEEM IS VERANDERD *****\n" -#: e2fsck/unix.c:1704 +#: e2fsck/unix.c:1408 #, c-format msgid "%s: ***** REBOOT LINUX *****\n" msgstr "%s: ***** HERSTART UW SYSTEEM *****\n" -#: e2fsck/unix.c:1712 e2fsck/util.c:73 +#: e2fsck/unix.c:1416 #, c-format msgid "" "\n" @@ -3155,47 +2938,47 @@ msgstr "" "%s: ********** WAARSCHUWING: bestandssysteem bevat nog fouten **********\n" "\n" -#: e2fsck/unix.c:1752 +#: e2fsck/unix.c:1454 msgid "while setting block group checksum info" msgstr "tijdens zetten van controlesom van blokgroep" -#: e2fsck/util.c:190 misc/util.c:70 +#: e2fsck/util.c:138 misc/util.c:68 msgid "yY" msgstr "jJyY" -#: e2fsck/util.c:191 +#: e2fsck/util.c:139 msgid "nN" msgstr "nN" -#: e2fsck/util.c:205 +#: e2fsck/util.c:153 msgid "" msgstr "" -#: e2fsck/util.c:207 +#: e2fsck/util.c:155 msgid "" msgstr "" -#: e2fsck/util.c:209 +#: e2fsck/util.c:157 msgid " (y/n)" msgstr " (j/n)" -#: e2fsck/util.c:223 +#: e2fsck/util.c:172 msgid "cancelled!\n" msgstr "geannuleerd!\n" # src/main.c:417 src/main.c:418 src/main.c:483 src/main.c:484 src/main.c:489 # src/main.c:490 src/main.c:574 -#: e2fsck/util.c:238 +#: e2fsck/util.c:187 msgid "yes\n" msgstr "ja\n" # src/main.c:417 src/main.c:418 src/main.c:432 src/main.c:483 src/main.c:484 # src/main.c:489 src/main.c:490 src/main.c:574 -#: e2fsck/util.c:240 +#: e2fsck/util.c:189 msgid "no\n" msgstr "nee\n" -#: e2fsck/util.c:250 +#: e2fsck/util.c:199 #, c-format msgid "" "%s? no\n" @@ -3204,7 +2987,7 @@ msgstr "" "%s? nee\n" "\n" -#: e2fsck/util.c:254 +#: e2fsck/util.c:203 #, c-format msgid "" "%s? yes\n" @@ -3213,38 +2996,38 @@ msgstr "" "%s? ja\n" "\n" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "yes" msgstr "ja" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "no" msgstr "nee" -#: e2fsck/util.c:273 +#: e2fsck/util.c:221 #, c-format msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s" msgstr "e2fsck_read_bitmaps(): ongeldige bitkaartblokken voor %s" -#: e2fsck/util.c:278 +#: e2fsck/util.c:226 msgid "reading inode and block bitmaps" msgstr "lezen van inode- en blok-bitkaarten" -#: e2fsck/util.c:286 +#: e2fsck/util.c:231 #, c-format msgid "while retrying to read bitmaps for %s" msgstr "tijdens herlezen van bitkaarten voor %s" -#: e2fsck/util.c:298 +#: e2fsck/util.c:243 msgid "writing block and inode bitmaps" msgstr "schrijven van blok- en inode-bitkaarten" -#: e2fsck/util.c:303 +#: e2fsck/util.c:248 #, c-format msgid "while rewriting block and inode bitmaps for %s" msgstr "tijdens herschrijven van blok- en inode-bitkaarten voor %s" -#: e2fsck/util.c:315 +#: e2fsck/util.c:260 #, c-format msgid "" "\n" @@ -3257,49 +3040,45 @@ msgstr "" "%s: ONVERWACHTE INCONSISTENTIE; voer 'fsck' met de hand uit\n" " (dat wil zeggen: zonder de opties '-a' of '-p').\n" -#: e2fsck/util.c:396 +#: e2fsck/util.c:341 #, c-format msgid "Memory used: %luk/%luk (%luk/%luk), " msgstr "Gebruikt geheugen: %luk/%luk (%luk/%luk), " -#: e2fsck/util.c:400 +#: e2fsck/util.c:345 #, c-format msgid "Memory used: %lu, " msgstr "Gebruikt geheugen: %lu, " -#: e2fsck/util.c:407 +#: e2fsck/util.c:352 #, c-format msgid "time: %5.2f/%5.2f/%5.2f\n" msgstr "tijd: %5.2f/%5.2f/%5.2f\n" -#: e2fsck/util.c:412 +#: e2fsck/util.c:357 #, c-format msgid "elapsed time: %6.3f\n" msgstr "verlopen tijd: %6.3f\n" -#: e2fsck/util.c:447 e2fsck/util.c:461 +#: e2fsck/util.c:391 e2fsck/util.c:405 #, c-format msgid "while reading inode %lu in %s" msgstr "tijdens lezen van inode %lu in %s" -#: e2fsck/util.c:475 e2fsck/util.c:488 +#: e2fsck/util.c:419 e2fsck/util.c:432 #, c-format msgid "while writing inode %lu in %s" msgstr "tijdens schrijven van inode %lu in %s" -#: e2fsck/util.c:637 +#: e2fsck/util.c:581 msgid "while allocating zeroizing buffer" msgstr "tijdens reserveren van nulmakingsbuffer" -#: e2fsck/util.c:785 -msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n" -msgstr "ONVERWACHTE INCONSISTENTIE: het bestandssysteem wordt gewijzigd terwijl 'fsck' uitgevoerd wordt.\n" +#: misc/badblocks.c:66 +msgid "done \n" +msgstr "voltooid \n" -#: misc/badblocks.c:69 -msgid "done \n" -msgstr "voltooid \n" - -#: misc/badblocks.c:92 +#: misc/badblocks.c:89 #, c-format msgid "" "Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnf]\n" @@ -3313,7 +3092,7 @@ msgstr "" " [-t testpatroon [-t testpatroon [...]]] [-fnsvw]\n" " apparaat [eindblok [beginblok]]\n" -#: misc/badblocks.c:103 +#: misc/badblocks.c:100 #, c-format msgid "" "%s: The -n and -w options are mutually exclusive.\n" @@ -3322,80 +3101,80 @@ msgstr "" "%s: De opties '-n' en '-w' gaan niet samen.\n" "\n" -#: misc/badblocks.c:218 +#: misc/badblocks.c:202 #, c-format -msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)" -msgstr "%6.2f%% gedaan, %s verlopen (%d/%d/%d fouten)" +msgid "%6.2f%% done, %s elapsed" +msgstr "%6.2f%% gedaan, %s verlopen" -#: misc/badblocks.c:322 +#: misc/badblocks.c:293 msgid "Testing with random pattern: " msgstr "Test wordt uitgevoerd met dit willekeurige patroon: " -#: misc/badblocks.c:340 +#: misc/badblocks.c:311 msgid "Testing with pattern 0x" msgstr "Test wordt uitgevoerd met patroon 0x" -#: misc/badblocks.c:372 misc/badblocks.c:445 +#: misc/badblocks.c:339 misc/badblocks.c:408 msgid "during seek" msgstr "tijdens 'seek'" -#: misc/badblocks.c:383 +#: misc/badblocks.c:350 #, c-format msgid "Weird value (%ld) in do_read\n" msgstr "Vreemde waarde (%ld) bij leespoging\n" -#: misc/badblocks.c:469 +#: misc/badblocks.c:428 msgid "during ext2fs_sync_device" msgstr "tijdens leegmaken van de buffers" -#: misc/badblocks.c:489 misc/badblocks.c:749 +#: misc/badblocks.c:447 misc/badblocks.c:711 msgid "while beginning bad block list iteration" msgstr "tijdens voorbereiding van het langslopen van de lijst met slechte blokken" -#: misc/badblocks.c:503 misc/badblocks.c:602 misc/badblocks.c:759 +#: misc/badblocks.c:461 misc/badblocks.c:563 misc/badblocks.c:721 msgid "while allocating buffers" msgstr "tijdens reserveren van buffers" -#: misc/badblocks.c:507 +#: misc/badblocks.c:465 #, c-format msgid "Checking blocks %lu to %lu\n" msgstr "Controleren van blokken %lu tot %lu\n" -#: misc/badblocks.c:512 +#: misc/badblocks.c:470 msgid "Checking for bad blocks in read-only mode\n" msgstr "Zoeken naar slechte blokken in alleen-lezen-modus\n" -#: misc/badblocks.c:521 +#: misc/badblocks.c:479 msgid "Checking for bad blocks (read-only test): " msgstr "Zoeken naar slechte blokken (alleen-lezen-test): " -#: misc/badblocks.c:528 misc/badblocks.c:634 misc/badblocks.c:676 -#: misc/badblocks.c:822 +#: misc/badblocks.c:487 misc/badblocks.c:595 misc/badblocks.c:640 +#: misc/badblocks.c:784 msgid "Too many bad blocks, aborting test\n" msgstr "Te veel slechte blokken -- controle is afgebroken\n" -#: misc/badblocks.c:609 +#: misc/badblocks.c:570 msgid "Checking for bad blocks in read-write mode\n" msgstr "Zoeken naar slechte blokken in lezen-en-schrijven-modus\n" -#: misc/badblocks.c:611 misc/badblocks.c:772 +#: misc/badblocks.c:572 misc/badblocks.c:734 #, c-format msgid "From block %lu to %lu\n" msgstr "Van blok %lu tot %lu\n" -#: misc/badblocks.c:666 +#: misc/badblocks.c:630 msgid "Reading and comparing: " msgstr "Lezen en vergelijken: " -#: misc/badblocks.c:771 +#: misc/badblocks.c:733 msgid "Checking for bad blocks in non-destructive read-write mode\n" msgstr "Zoeken naar slechte blokken in niet-destructieve lezen-en-schrijven-modus\n" -#: misc/badblocks.c:777 +#: misc/badblocks.c:739 msgid "Checking for bad blocks (non-destructive read-write test)\n" msgstr "Zoeken naar slechte blokken (niet-destructieve lezen-en-schrijven-test)\n" -#: misc/badblocks.c:784 +#: misc/badblocks.c:746 msgid "" "\n" "Interrupt caught, cleaning up\n" @@ -3403,194 +3182,181 @@ msgstr "" "\n" "Interrupt ontvangen, bezig met opschonen...\n" -#: misc/badblocks.c:867 +#: misc/badblocks.c:822 #, c-format msgid "during test data write, block %lu" msgstr "tijdens schrijven van testpatroon, blok %lu" -#: misc/badblocks.c:988 misc/util.c:152 +#: misc/badblocks.c:933 misc/util.c:156 #, c-format msgid "%s is mounted; " msgstr "%s is aangekoppeld; " -#: misc/badblocks.c:990 +#: misc/badblocks.c:935 msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "" "maar 'badblocks' wordt gedwongen uitgevoerd.\n" "Hoop dat /etc/mtab onjuist is.\n" -#: misc/badblocks.c:995 +#: misc/badblocks.c:940 msgid "it's not safe to run badblocks!\n" msgstr "het is niet veilig om 'badblocks' uit te voeren!\n" -#: misc/badblocks.c:1000 misc/util.c:163 +#: misc/badblocks.c:945 misc/util.c:167 #, c-format msgid "%s is apparently in use by the system; " msgstr "%s wordt blijkbaar gebruikt door het systeem; " -#: misc/badblocks.c:1003 +#: misc/badblocks.c:948 msgid "badblocks forced anyway.\n" msgstr "maar 'badblocks' wordt gedwongen uitgevoerd.\n" -#: misc/badblocks.c:1023 +#: misc/badblocks.c:968 #, c-format msgid "invalid %s - %s" msgstr "ongeldige %s: %s" -#: misc/badblocks.c:1133 +#: misc/badblocks.c:1077 #, c-format msgid "can't allocate memory for test_pattern - %s" msgstr "kan geen geheugen reserveren voor testpatroon -- %s" -#: misc/badblocks.c:1163 +#: misc/badblocks.c:1104 msgid "Maximum of one test_pattern may be specified in read-only mode" msgstr "In alleen-lezen-modus mag slechts één testpatroon gegeven worden" -#: misc/badblocks.c:1169 +#: misc/badblocks.c:1110 msgid "Random test_pattern is not allowed in read-only mode" msgstr "In alleen-lezen-modus is een willekeurig testpatroon niet toegestaan" -#: misc/badblocks.c:1183 +#: misc/badblocks.c:1124 msgid "" "Couldn't determine device size; you must specify\n" "the size manually\n" msgstr "Kan de apparaatgrootte niet bepalen; geef de grootte handmatig op.\n" -#: misc/badblocks.c:1189 +#: misc/badblocks.c:1130 msgid "while trying to determine device size" msgstr "tijdens bepalen van apparaatgrootte" -#: misc/badblocks.c:1194 +#: misc/badblocks.c:1135 msgid "last block" msgstr "laatste blok" -#: misc/badblocks.c:1200 +#: misc/badblocks.c:1141 msgid "first block" msgstr "eerste blok" -#: misc/badblocks.c:1203 +#: misc/badblocks.c:1144 #, c-format msgid "invalid starting block (%lu): must be less than %lu" msgstr "ongeldig beginblok: %lu -- moet kleiner dan %lu zijn" -#: misc/badblocks.c:1259 +#: misc/badblocks.c:1200 msgid "while creating in-memory bad blocks list" msgstr "tijdens opstellen van lijst van slechte blokken in geheugen" -#: misc/badblocks.c:1274 +#: misc/badblocks.c:1215 msgid "while adding to in-memory bad block list" msgstr "tijdens toevoegen aan lijst van slechte blokken in geheugen" -#: misc/badblocks.c:1298 +#: misc/badblocks.c:1239 #, c-format -msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n" -msgstr "Controle is voltooid; %u slechte blokken gevonden (%d/%d/%d fouten).\n" +msgid "Pass completed, %u bad blocks found.\n" +msgstr "Controle voltooid; %u slechte blokken gevonden.\n" -#: misc/chattr.c:86 +#: misc/chattr.c:85 #, c-format -msgid "Usage: %s [-RVf] [-+=AaCcDdeijsSu] [-v version] files...\n" -msgstr "Gebruik: %s [-RVf] [-+=AaCcDdeijsSu] [-v VERSIE] BESTAND...\n" +msgid "Usage: %s [-RVf] [-+=AacDdeijsSu] [-v version] files...\n" +msgstr "Gebruik: %s [-RVf] [-+=AacDdeijsSu] [-v versie] bestanden...\n" -#: misc/chattr.c:155 +#: misc/chattr.c:153 #, c-format msgid "bad version - %s\n" msgstr "ongeldige versie: %s\n" -#: misc/chattr.c:201 misc/lsattr.c:116 +#: misc/chattr.c:200 misc/lsattr.c:115 #, c-format msgid "while trying to stat %s" msgstr "tijdens opvragen van de status van %s" -#: misc/chattr.c:208 +#: misc/chattr.c:207 #, c-format msgid "while reading flags on %s" msgstr "tijdens lezen van vlaggen op %s" -#: misc/chattr.c:213 misc/chattr.c:225 +#: misc/chattr.c:216 misc/chattr.c:235 +#, c-format +msgid "Clearing extent flag not supported on %s" +msgstr "Het uitzetten van de 'extent'-functievlag wordt niet ondersteund op %s" + +#: misc/chattr.c:221 misc/chattr.c:240 #, c-format msgid "Flags of %s set as " msgstr "Vlaggen van %s gezet als " -#: misc/chattr.c:234 +#: misc/chattr.c:249 #, c-format msgid "while setting flags on %s" msgstr "tijdens zetten van vlaggen op %s" -#: misc/chattr.c:242 +#: misc/chattr.c:257 #, c-format msgid "Version of %s set as %lu\n" msgstr "Versie van %s gezet als %lu\n" -#: misc/chattr.c:246 +#: misc/chattr.c:261 #, c-format msgid "while setting version on %s" msgstr "tijdens zetten van versie op %s" -#: misc/chattr.c:266 +#: misc/chattr.c:281 #, c-format msgid "Couldn't allocate path variable in chattr_dir_proc" msgstr "Kan geen padvariabele reserveren in chattr_dir_proc()" -#: misc/chattr.c:306 +#: misc/chattr.c:320 msgid "= is incompatible with - and +\n" msgstr "'=' gaat niet samen met '-' en '+'\n" -#: misc/chattr.c:314 +#: misc/chattr.c:328 msgid "Must use '-v', =, - or +\n" msgstr "Gebruik '-v', '=', '-' of '+'.\n" -#: misc/dumpe2fs.c:55 +#: misc/dumpe2fs.c:53 #, c-format msgid "Usage: %s [-bfhixV] [-o superblock=] [-o blocksize=] device\n" msgstr "Gebruik: %s [-bfhixV] [-o superblock=] [-o blocksize=] apparaat\n" -#: misc/dumpe2fs.c:159 -msgid "blocks" -msgstr "blokken" - #: misc/dumpe2fs.c:168 -msgid "clusters" -msgstr "clusters" - -#: misc/dumpe2fs.c:196 #, c-format msgid "Group %lu: (Blocks " msgstr "Groep %lu: (Blokken " -#: misc/dumpe2fs.c:204 -#, c-format -msgid " Checksum 0x%04x" -msgstr " Controlesom is 0x%04x" - -#: misc/dumpe2fs.c:206 -#, c-format -msgid " (EXPECTED 0x%04x)" -msgstr " (0x%04x WERD VERWACHT)" - -#: misc/dumpe2fs.c:207 +#: misc/dumpe2fs.c:173 #, c-format -msgid ", unused inodes %u\n" -msgstr ", %u ongebruikte inodes\n" +msgid " Checksum 0x%04x, unused inodes %d\n" +msgstr " Controlesom 0x%04x, ongebruikte inodes %d\n" -#: misc/dumpe2fs.c:212 +#: misc/dumpe2fs.c:178 #, c-format msgid " %s superblock at " msgstr " %s superblok op " -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Primary" msgstr "Primair" -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Backup" msgstr "Reservekopie" -#: misc/dumpe2fs.c:217 +#: misc/dumpe2fs.c:183 #, c-format msgid ", Group descriptors at " msgstr ", Groepsbeschrijvers op " -#: misc/dumpe2fs.c:221 +#: misc/dumpe2fs.c:187 #, c-format msgid "" "\n" @@ -3599,20 +3365,20 @@ msgstr "" "\n" " Blokken voor groepsbeschrijverstabel gereserveerd op " -#: misc/dumpe2fs.c:228 +#: misc/dumpe2fs.c:194 #, c-format msgid " Group descriptor at " msgstr " Groepsbeschrijver op " -#: misc/dumpe2fs.c:234 +#: misc/dumpe2fs.c:200 msgid " Block bitmap at " msgstr " Blok-bitkaart op " -#: misc/dumpe2fs.c:238 +#: misc/dumpe2fs.c:205 msgid ", Inode bitmap at " msgstr ", Inode-bitkaart op " -#: misc/dumpe2fs.c:242 +#: misc/dumpe2fs.c:210 msgid "" "\n" " Inode table at " @@ -3620,59 +3386,59 @@ msgstr "" "\n" " Inodetabel op " -#: misc/dumpe2fs.c:248 +#: misc/dumpe2fs.c:217 #, c-format msgid "" "\n" -" %u free %s, %u free inodes, %u directories%s" +" %u free blocks, %u free inodes, %u directories%s" msgstr "" "\n" -" %u vrije %s, %u vrije inodes, %u mappen%s" +" %u vrije blokken, %u vrije inodes, %u mappen%s" -#: misc/dumpe2fs.c:255 +#: misc/dumpe2fs.c:224 #, c-format msgid ", %u unused inodes\n" msgstr ", %u ongebruikte inodes\n" -#: misc/dumpe2fs.c:258 +#: misc/dumpe2fs.c:227 msgid " Free blocks: " msgstr " Vrije blokken: " -#: misc/dumpe2fs.c:269 +#: misc/dumpe2fs.c:237 msgid " Free inodes: " msgstr " Vrije inodes: " -#: misc/dumpe2fs.c:300 +#: misc/dumpe2fs.c:268 msgid "while printing bad block list" msgstr "tijdens printen van lijst van slechte blokken" -#: misc/dumpe2fs.c:306 +#: misc/dumpe2fs.c:274 #, c-format msgid "Bad blocks: %u" msgstr "Slechte blokken: %u" -#: misc/dumpe2fs.c:333 misc/tune2fs.c:306 +#: misc/dumpe2fs.c:301 misc/tune2fs.c:281 msgid "while reading journal inode" msgstr "tijdens lezen van journal-inode" -#: misc/dumpe2fs.c:339 +#: misc/dumpe2fs.c:307 msgid "while opening journal inode" msgstr "tijdens openen van journal-inode" -#: misc/dumpe2fs.c:345 +#: misc/dumpe2fs.c:313 msgid "while reading journal super block" msgstr "tijdens lezen van journal-superblok" -#: misc/dumpe2fs.c:355 +#: misc/dumpe2fs.c:323 #, c-format msgid "Journal features: " msgstr "Journal-functies: " -#: misc/dumpe2fs.c:368 +#: misc/dumpe2fs.c:336 msgid "Journal size: " msgstr "Grootte van journal: " -#: misc/dumpe2fs.c:379 +#: misc/dumpe2fs.c:347 #, c-format msgid "" "Journal length: %u\n" @@ -3683,20 +3449,15 @@ msgstr "" "Journal-sequentie: 0x%08x\n" "Begin van journal: %u\n" -#: misc/dumpe2fs.c:386 -#, c-format -msgid "Journal errno: %d\n" -msgstr "Journal-foutmnummer: %d\n" - -#: misc/dumpe2fs.c:401 misc/tune2fs.c:222 +#: misc/dumpe2fs.c:366 misc/tune2fs.c:202 msgid "while reading journal superblock" msgstr "tijdens lezen van journal-superblok" -#: misc/dumpe2fs.c:409 +#: misc/dumpe2fs.c:374 msgid "Couldn't find journal superblock magic numbers" msgstr "Kan magische getallen van journal-superblok niet vinden" -#: misc/dumpe2fs.c:413 +#: misc/dumpe2fs.c:378 #, c-format msgid "" "\n" @@ -3715,27 +3476,27 @@ msgstr "" "Begin van journal: %u\n" "Aantal journal-gebruikers: %u\n" -#: misc/dumpe2fs.c:426 +#: misc/dumpe2fs.c:391 #, c-format msgid "Journal users: %s\n" msgstr "Journal-gebruikers: %s\n" -#: misc/dumpe2fs.c:442 misc/mke2fs.c:666 misc/tune2fs.c:1137 +#: misc/dumpe2fs.c:407 misc/mke2fs.c:699 misc/tune2fs.c:872 #, c-format msgid "Couldn't allocate memory to parse options!\n" msgstr "Kan geen geheugen reserveren om opties te ontleden!\n" -#: misc/dumpe2fs.c:468 +#: misc/dumpe2fs.c:433 #, c-format msgid "Invalid superblock parameter: %s\n" msgstr "Ongeldig superblok opgegeven: %s\n" -#: misc/dumpe2fs.c:483 +#: misc/dumpe2fs.c:448 #, c-format msgid "Invalid blocksize parameter: %s\n" msgstr "Ongeldige blokgrootte opgegeven: %s\n" -#: misc/dumpe2fs.c:494 +#: misc/dumpe2fs.c:459 #, c-format msgid "" "\n" @@ -3751,25 +3512,25 @@ msgstr "" "\n" "Ongeldige optie opgegeven: %s\n" "\n" -"Uitgebreide opties worden gescheiden door komma's;\n" +"Uitgebreide opties worden gescheiden door komma's,\n" "hun argument wordt voorafgegaan door een '='-teken.\n" "\n" "Geldige uitgebreide opties zijn:\n" " superblock=\n" " blocksize=\n" -#: misc/dumpe2fs.c:554 misc/mke2fs.c:1555 +#: misc/dumpe2fs.c:518 misc/mke2fs.c:1406 #, c-format msgid "\tUsing %s\n" msgstr "\tgebruik makend van %s\n" -#: misc/dumpe2fs.c:590 misc/e2image.c:1326 misc/tune2fs.c:1923 -#: resize/main.c:317 +#: misc/dumpe2fs.c:554 misc/e2image.c:681 misc/tune2fs.c:1576 +#: resize/main.c:312 #, c-format msgid "Couldn't find valid filesystem superblock.\n" msgstr "Kan geen geldig bestandssysteem-superblok vinden.\n" -#: misc/dumpe2fs.c:618 +#: misc/dumpe2fs.c:579 #, c-format msgid "" "\n" @@ -3778,82 +3539,77 @@ msgstr "" "\n" "%s: %s: fout tijdens lezen van bitkaarten: %s\n" -#: misc/e2image.c:90 -#, c-format -msgid "Usage: %s [-rsIQa] device image_file\n" -msgstr "Gebruik: %s [-rsIQa] apparaat imagebestand\n" - -#: misc/e2image.c:138 +#: misc/e2image.c:52 #, c-format -msgid "Error: header size is bigger than wrt_size\n" -msgstr "Fout: header-grootte is groter dan wrt_size\n" +msgid "Usage: %s [-rsI] device image_file\n" +msgstr "Gebruik: %s [-rsI] apparaat imagebestand\n" -#: misc/e2image.c:144 +#: misc/e2image.c:64 msgid "Couldn't allocate header buffer\n" -msgstr "Kan geen header-buffer reserveren.\n" +msgstr "Kan geen headerbuffer reserveren.\n" -#: misc/e2image.c:174 +#: misc/e2image.c:83 +#, c-format +msgid "short write (only %d bytes) for writing image header" +msgstr "onvolledig blok (slechts %d bytes) tijdens schrijven van image-kop" + +#: misc/e2image.c:102 msgid "while writing superblock" msgstr "tijdens schrijven van superblok" -#: misc/e2image.c:182 +#: misc/e2image.c:110 msgid "while writing inode table" msgstr "tijdens aanmaken van inodetabel" -#: misc/e2image.c:189 +#: misc/e2image.c:117 msgid "while writing block bitmap" msgstr "tijdens schrijven van blok-bitkaart" -#: misc/e2image.c:196 +#: misc/e2image.c:124 msgid "while writing inode bitmap" msgstr "tijdens schrijven van inode-bitkaart" -#: misc/e2image.c:1365 -#, c-format -msgid "while trying to convert qcow2 image (%s) into raw image (%s)" -msgstr "tijdens converteren van een qcow2-image (%s) naar een raw-imagebestand (%s)" - -#: misc/e2label.c:58 +#: misc/e2label.c:57 #, c-format msgid "e2label: cannot open %s\n" msgstr "e2label: kan %s niet openen\n" -#: misc/e2label.c:63 +#: misc/e2label.c:62 #, c-format msgid "e2label: cannot seek to superblock\n" msgstr "e2label: kan geen 'seek' doen naar superblok\n" -#: misc/e2label.c:68 +#: misc/e2label.c:67 #, c-format msgid "e2label: error reading superblock\n" msgstr "e2label: fout tijdens lezen van superblok\n" -#: misc/e2label.c:72 +#: misc/e2label.c:71 #, c-format msgid "e2label: not an ext2 filesystem\n" msgstr "e2label: dit is geen ext2-bestandssysteem\n" -#: misc/e2label.c:97 misc/tune2fs.c:2080 +#: misc/e2label.c:96 misc/tune2fs.c:1711 #, c-format msgid "Warning: label too long, truncating.\n" msgstr "Waarschuwing: label is te lang, wordt afgekapt.\n" -#: misc/e2label.c:100 +#: misc/e2label.c:99 #, c-format msgid "e2label: cannot seek to superblock again\n" msgstr "e2label: kan niet opnieuw 'seek' doen naar superblok\n" -#: misc/e2label.c:105 +#: misc/e2label.c:104 #, c-format msgid "e2label: error writing superblock\n" msgstr "e2label: fout tijdens schrijven van superblok\n" -#: misc/e2label.c:117 misc/tune2fs.c:803 +#: misc/e2label.c:116 misc/tune2fs.c:542 #, c-format msgid "Usage: e2label device [newlabel]\n" msgstr "Gebruik: e2label apparaat [nieuw_label]\n" -#: misc/e2undo.c:36 +#: misc/e2undo.c:35 #, c-format msgid "Usage: %s \n" msgstr "Gebruik: %s \n" @@ -3862,7 +3618,7 @@ msgstr "Gebruik: %s \n" msgid "Failed to read the file system data \n" msgstr "Lezen van bestandssysteemgegevens is mislukt \n" -#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:206 +#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:205 #, c-format msgid "Failed tdb_fetch %s\n" msgstr "Lezen van transactiegegevens is mislukt: %s\n" @@ -3876,31 +3632,31 @@ msgstr "aankoppelingstijd van bestandssysteem komt niet overeen met %u uit trans msgid "The file system UUID didn't match \n" msgstr "UUID's van bestandssysteem en uit transactiebestand komen niet overeen\n" -#: misc/e2undo.c:163 +#: misc/e2undo.c:162 #, c-format msgid "Failed tdb_open %s\n" msgstr "Openen van transactiebestand %s is mislukt\n" -#: misc/e2undo.c:169 +#: misc/e2undo.c:168 #, c-format msgid "Error while determining whether %s is mounted.\n" msgstr "Fout tijdens bepalen of %s aangekoppeld is.\n" -#: misc/e2undo.c:175 +#: misc/e2undo.c:174 msgid "e2undo should only be run on unmounted file system\n" msgstr "Voer 'e2undo' alleen uit op een niet-aangekoppeld bestandssysteem.\n" -#: misc/e2undo.c:184 +#: misc/e2undo.c:183 #, c-format msgid "Failed to open %s\n" msgstr "Openen van %s is mislukt\n" -#: misc/e2undo.c:210 +#: misc/e2undo.c:209 #, c-format -msgid "Replayed transaction of size %zd at location %llu\n" -msgstr "Een transactie met grootte %zd is afgespeeld op locatie %llu.\n" +msgid "Replayed transaction of size %zd at location %ld\n" +msgstr "Een transactie met grootte %zd is afgespeeld op locatie %ld.\n" -#: misc/e2undo.c:216 +#: misc/e2undo.c:215 #, c-format msgid "Failed write %s\n" msgstr "Schrijven is mislukt: %s\n" @@ -3915,49 +3671,49 @@ msgstr "WAARSCHUWING: kan %s niet openen: %s\n" msgid "WARNING: bad format on line %d of %s\n" msgstr "WAARSCHUWING: foute indeling op regel %d van %s\n" -#: misc/fsck.c:370 +#: misc/fsck.c:368 msgid "" -"WARNING: Your /etc/fstab does not contain the fsck passno\n" +"\a\a\aWARNING: Your /etc/fstab does not contain the fsck passno\n" "\tfield. I will kludge around things for you, but you\n" "\tshould fix your /etc/fstab file as soon as you can.\n" "\n" msgstr "" -"WAARSCHUWING: /etc/fstab bevat geen zesde veld (een fsck-volgnummer).\n" +"\a\a\aWAARSCHUWING: /etc/fstab bevat geen zesde veld (een fsck-volgnummer).\n" " Er wordt nu omheengewerkt, maar u zou dit veld bij\n" " de eerstvolgende gelegenheid toe dienen te voegen.\n" "\n" -#: misc/fsck.c:478 +#: misc/fsck.c:477 #, c-format msgid "fsck: %s: not found\n" msgstr "fsck: %s: niet gevonden\n" -#: misc/fsck.c:594 +#: misc/fsck.c:593 #, c-format msgid "%s: wait: No more child process?!?\n" msgstr "%s: wait: geen dochterprocessen meer?!?\n" -#: misc/fsck.c:616 +#: misc/fsck.c:615 #, c-format msgid "Warning... %s for device %s exited with signal %d.\n" msgstr "Waarschuwing: %s voor apparaat %s werd beëindigd met signaal %d.\n" -#: misc/fsck.c:622 +#: misc/fsck.c:621 #, c-format msgid "%s %s: status is %x, should never happen.\n" msgstr "%s %s: de status is %x, dit zou nooit voor mogen komen.\n" -#: misc/fsck.c:661 +#: misc/fsck.c:660 #, c-format msgid "Finished with %s (exit status %d)\n" msgstr "Afgesloten met %s (afsluitwaarde %d).\n" -#: misc/fsck.c:721 +#: misc/fsck.c:720 #, c-format msgid "%s: Error %d while executing fsck.%s for %s\n" msgstr "%s: Fout %d tijdens uitvoering van fsck.%s voor %s\n" -#: misc/fsck.c:742 +#: misc/fsck.c:741 msgid "" "Either all or none of the filesystem types passed to -t must be prefixed\n" "with 'no' or '!'.\n" @@ -3965,112 +3721,112 @@ msgstr "" "Óf geen óf alle bestandsssysteemsoorten bij optie -t\n" "dienen voorafgegaan te worden door 'no' of '!'.\n" -#: misc/fsck.c:761 +#: misc/fsck.c:760 msgid "Couldn't allocate memory for filesystem types\n" msgstr "Kan geen geheugen reserveren voor bestandssysteemsoorten.\n" -#: misc/fsck.c:884 +#: misc/fsck.c:883 #, c-format msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n" msgstr "" "%s: ongeldige regel in /etc/fstab wordt overgeslagen:\n" "zesde veld van 'bind'-aankoppeling is niet nul (fsck-volgnummer)\n" -#: misc/fsck.c:911 +#: misc/fsck.c:910 #, c-format msgid "fsck: cannot check %s: fsck.%s not found\n" msgstr "fsck: kan %s niet controleren: fsck.%s niet gevonden\n" -#: misc/fsck.c:967 +#: misc/fsck.c:966 msgid "Checking all file systems.\n" msgstr "Alle bestandssystemen worden gecontroleerd.\n" -#: misc/fsck.c:1058 +#: misc/fsck.c:1057 #, c-format msgid "--waiting-- (pass %d)\n" msgstr "--wachten-- (volgnummer %d)\n" -#: misc/fsck.c:1078 +#: misc/fsck.c:1077 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" msgstr "" "Gebruik: fsck [-AMNPRTV] [-C [descriptor]] [-t bestandssysteemsoort]\n" " [bestandssysteemopties] [bestandssysteem...]\n" -#: misc/fsck.c:1120 +#: misc/fsck.c:1119 #, c-format msgid "%s: too many devices\n" msgstr "%s: te veel apparaten\n" -#: misc/fsck.c:1153 misc/fsck.c:1239 +#: misc/fsck.c:1152 misc/fsck.c:1238 #, c-format msgid "%s: too many arguments\n" msgstr "%s: te veel argumenten\n" -#: misc/lsattr.c:74 +#: misc/lsattr.c:73 #, c-format msgid "Usage: %s [-RVadlv] [files...]\n" msgstr "Gebruik: %s [-RVadlv] [bestand...]\n" -#: misc/lsattr.c:84 +#: misc/lsattr.c:83 #, c-format msgid "While reading flags on %s" msgstr "Tijdens lezen van vlaggen op %s" -#: misc/lsattr.c:91 +#: misc/lsattr.c:90 #, c-format msgid "While reading version on %s" msgstr "Tijdens lezen van versie op %s" -#: misc/mke2fs.c:116 +#: misc/mke2fs.c:108 #, c-format msgid "" -"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n" +"Usage: %s [-c|-l filename] [-b block-size] [-f fragment-size]\n" "\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n" -"\t[-G flex-group-size] [-N number-of-inodes]\n" +"\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n" "\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n" -"\t[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-count]\n" +"\t[-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]\n" msgstr "" -"Gebruik: %s [-b blokgrootte] [-c|-l bestandsnaam] [-C clustergrootte]\n" -" [-g blokken_per_groep] [-G flexgroepgrootte] [-i bytes_per_inode]\n" +"Gebruik: %s [-b blokgrootte] [-c|-l bestandsnaam] [-f fragmentgrootte]\n" +" [-g blokken_per_groep] [-G metagroepgrootte] [-i bytes_per_inode]\n" " [-I inode-grootte] [-J journal-opties] [-L label] [-N aantal_inodes]\n" " [-m percentage_gereserveerde_blokken] [-M laatste_aankoppelingspunt]\n" -" [-o naam_van_aanmakende_besturingssyteem] [-O functie[,...]] [-U UUID]\n" -" [-r bestandssysteemversie] [-t bestandssysteemsoort] [-T gebruikstype]\n" -" [-E uitgebreide_optie[,...]] [-jnqvDFKSV] apparaat [aantal_blokken]\n" +" [-o naam_van_aanmakende_besturingssyteem] [-O functie[,...]]\n" +" [-r bestandssysteemversie] [-T bestandssysteemtype] [-U UUID]\n" +" [-E uitgebreide_optie[,...]] [-jnqvFKSV] apparaat [aantal_blokken]\n" -#: misc/mke2fs.c:221 +#: misc/mke2fs.c:210 #, c-format msgid "Running command: %s\n" msgstr "Uitgevoerde opdracht is: %s\n" -#: misc/mke2fs.c:225 +#: misc/mke2fs.c:214 #, c-format msgid "while trying to run '%s'" msgstr "tijdens uitvoering van '%s'" -#: misc/mke2fs.c:232 +#: misc/mke2fs.c:221 msgid "while processing list of bad blocks from program" msgstr "tijdens verwerken van de gemaakte lijst van slechte blokken" -#: misc/mke2fs.c:259 +#: misc/mke2fs.c:248 #, c-format msgid "Block %d in primary superblock/group descriptor area bad.\n" msgstr "Blok %d in het primaire superblok of de groepsbeschrijvers is slecht.\n" -#: misc/mke2fs.c:261 +#: misc/mke2fs.c:250 #, c-format msgid "Blocks %u through %u must be good in order to build a filesystem.\n" msgstr "" "Blokken %u tot en met %u moeten goed zijn\n" "om een bestandssysteem aan te kunnen maken.\n" -#: misc/mke2fs.c:264 +#: misc/mke2fs.c:253 msgid "Aborting....\n" msgstr "Gestopt...\n" -#: misc/mke2fs.c:284 +#: misc/mke2fs.c:273 #, c-format msgid "" "Warning: the backup superblock/group descriptors at block %u contain\n" @@ -4081,224 +3837,192 @@ msgstr "" "beginnend bij blok %u, bevat slechte blokken.\n" "\n" -#: misc/mke2fs.c:303 +#: misc/mke2fs.c:292 msgid "while marking bad blocks as used" msgstr "tijdens het markeren van slechte blokken (als zijnde in gebruik)" -#: misc/mke2fs.c:320 +#: misc/mke2fs.c:350 +msgid "done \n" +msgstr "voltooid \n" + +#: misc/mke2fs.c:364 msgid "Writing inode tables: " msgstr "Schrijven van inodetabellen: " -#: misc/mke2fs.c:341 +#: misc/mke2fs.c:387 #, c-format msgid "" "\n" -"Could not write %d blocks in inode table starting at %llu: %s\n" +"Could not write %d blocks in inode table starting at %u: %s\n" msgstr "" "\n" -"Kan %d blokken in inodetabel niet schrijven, beginnend bij %llu: %s\n" - -#: misc/mke2fs.c:355 misc/mke2fs.c:2257 misc/mke2fs.c:2512 -#, c-format -msgid "done \n" -msgstr "voltooid \n" +"Kan %d blokken in inodetabel niet schrijven, beginnend bij %u: %s\n" -#: misc/mke2fs.c:366 +#: misc/mke2fs.c:411 msgid "while creating root dir" msgstr "tijdens aanmaken van hoofdmap" -#: misc/mke2fs.c:373 +#: misc/mke2fs.c:418 msgid "while reading root inode" msgstr "tijdens lezen van hoofd-inode" -#: misc/mke2fs.c:385 +#: misc/mke2fs.c:432 msgid "while setting root inode ownership" msgstr "tijdens zetten van eigenaar van hoofd-inode" -#: misc/mke2fs.c:403 +#: misc/mke2fs.c:450 msgid "while creating /lost+found" msgstr "tijdens aanmaken van /lost+found" -#: misc/mke2fs.c:410 +#: misc/mke2fs.c:457 msgid "while looking up /lost+found" msgstr "tijdens zoeken van /lost+found" -#: misc/mke2fs.c:423 +#: misc/mke2fs.c:470 msgid "while expanding /lost+found" msgstr "tijdens uitbreiden van /lost+found" -#: misc/mke2fs.c:438 +#: misc/mke2fs.c:485 msgid "while setting bad block inode" -msgstr "tijdens zetten van slechteblokken-inode" +msgstr "tijdens zetten van slechte-blokken-inode" -#: misc/mke2fs.c:465 +#: misc/mke2fs.c:512 #, c-format msgid "Out of memory erasing sectors %d-%d\n" msgstr "Onvoldoende geheugen tijdens wissen van sectoren %d-%d.\n" -#: misc/mke2fs.c:475 +#: misc/mke2fs.c:522 #, c-format msgid "Warning: could not read block 0: %s\n" msgstr "Waarschuwing: kan blok 0 niet lezen: %s\n" -#: misc/mke2fs.c:491 +#: misc/mke2fs.c:538 #, c-format msgid "Warning: could not erase sector %d: %s\n" msgstr "Waarschuwing: kan sector %d niet wissen: %s\n" -#: misc/mke2fs.c:507 +#: misc/mke2fs.c:554 msgid "while initializing journal superblock" msgstr "tijdens initialiseren van het journal-superblok" -#: misc/mke2fs.c:515 +#: misc/mke2fs.c:560 msgid "Zeroing journal device: " msgstr "Nulmaken van journal-apparaat: " -#: misc/mke2fs.c:527 +#: misc/mke2fs.c:573 #, c-format -msgid "while zeroing journal device (block %llu, count %d)" -msgstr "tijdens nulmaken van journal-apparaat (blok %llu, nummer %d)" +msgid "while zeroing journal device (block %u, count %d)" +msgstr "tijdens nulmaken van journal-apparaat (blok %u, nummer %d)" -#: misc/mke2fs.c:545 +#: misc/mke2fs.c:589 msgid "while writing journal superblock" msgstr "tijdens schrijven van journal-superblok" -#: misc/mke2fs.c:560 +#: misc/mke2fs.c:605 #, c-format msgid "" -"warning: %llu blocks unused.\n" +"warning: %u blocks unused.\n" "\n" msgstr "" -"Waarschuwing: %llu ongebruikte blokken.\n" +"Waarschuwing: %u ongebruikte blokken.\n" "\n" -#: misc/mke2fs.c:565 +#: misc/mke2fs.c:610 #, c-format msgid "Filesystem label=%s\n" msgstr "Bestandssysteemlabel=%s\n" -#: misc/mke2fs.c:568 -#, c-format -msgid "OS type: %s\n" -msgstr "Soort besturingssysteem: %s\n" +#: misc/mke2fs.c:611 +msgid "OS type: " +msgstr "Soort besturingssysteem: " -#: misc/mke2fs.c:570 +#: misc/mke2fs.c:616 #, c-format msgid "Block size=%u (log=%u)\n" msgstr "Blokgrootte=%u (log=%u)\n" -#: misc/mke2fs.c:574 -#, c-format -msgid "Cluster size=%u (log=%u)\n" -msgstr "Clustergrootte=%u (log=%u)\n" - -#: misc/mke2fs.c:578 +#: misc/mke2fs.c:618 #, c-format msgid "Fragment size=%u (log=%u)\n" msgstr "Fragmentgrootte=%u (log=%u)\n" -#: misc/mke2fs.c:580 +#: misc/mke2fs.c:620 #, c-format msgid "Stride=%u blocks, Stripe width=%u blocks\n" msgstr "'stride'=%u blokken, 'stripe'-breedte=%u blokken\n" -#: misc/mke2fs.c:582 +#: misc/mke2fs.c:622 #, c-format -msgid "%u inodes, %llu blocks\n" -msgstr "%u inodes, %llu blokken\n" +msgid "%u inodes, %u blocks\n" +msgstr "%u inodes, %u blokken\n" -#: misc/mke2fs.c:584 +#: misc/mke2fs.c:624 #, c-format -msgid "%llu blocks (%2.2f%%) reserved for the super user\n" -msgstr "%llu blokken (%2.2f%%) gereserveerd voor systeembeheer\n" +msgid "%u blocks (%2.2f%%) reserved for the super user\n" +msgstr "%u blokken (%2.2f%%) gereserveerd voor systeembeheer\n" -#: misc/mke2fs.c:587 +#: misc/mke2fs.c:627 #, c-format msgid "First data block=%u\n" msgstr "Eerste gegevensblok=%u\n" -#: misc/mke2fs.c:589 -#, c-format -msgid "Root directory owner=%u:%u\n" -msgstr "Hoofdmap-eigenaar=%u:%u\n" - -#: misc/mke2fs.c:591 +#: misc/mke2fs.c:629 #, c-format msgid "Maximum filesystem blocks=%lu\n" msgstr "Maximum aantal bestandssysteemblokken=%lu\n" -#: misc/mke2fs.c:595 +#: misc/mke2fs.c:633 #, c-format msgid "%u block groups\n" msgstr "%u blokgroepen\n" -#: misc/mke2fs.c:597 +#: misc/mke2fs.c:635 #, c-format msgid "%u block group\n" msgstr "%u blokgroep\n" -#: misc/mke2fs.c:600 -#, c-format -msgid "%u blocks per group, %u clusters per group\n" -msgstr "%u blokken per groep, %u clusters per groep\n" - -#: misc/mke2fs.c:603 +#: misc/mke2fs.c:636 #, c-format msgid "%u blocks per group, %u fragments per group\n" msgstr "%u blokken per groep, %u fragmenten per groep\n" # src/main.c:425 -#: misc/mke2fs.c:605 +#: misc/mke2fs.c:638 #, c-format msgid "%u inodes per group\n" msgstr "%u inodes per groep\n" -#: misc/mke2fs.c:612 +#: misc/mke2fs.c:645 #, c-format msgid "Superblock backups stored on blocks: " msgstr "Superblokreservekopieën opgeslagen in blokken: " -#: misc/mke2fs.c:691 misc/tune2fs.c:1165 -#, c-format -msgid "Invalid mmp_update_interval: %s\n" -msgstr "Ongeldig mmp_update_interval: %s\n" - -#: misc/mke2fs.c:705 +#: misc/mke2fs.c:724 #, c-format msgid "Invalid stride parameter: %s\n" msgstr "Ongeldig argument van 'stride': %s\n" -#: misc/mke2fs.c:720 +#: misc/mke2fs.c:739 #, c-format msgid "Invalid stripe-width parameter: %s\n" msgstr "Ongeldig argument van 'stripe_width': %s\n" -#: misc/mke2fs.c:743 +#: misc/mke2fs.c:761 #, c-format msgid "Invalid resize parameter: %s\n" msgstr "Ongeldig argument van 'resize': %s\n" -#: misc/mke2fs.c:750 +#: misc/mke2fs.c:768 #, c-format msgid "The resize maximum must be greater than the filesystem size.\n" msgstr "De maximum grootte moet groter zijn dan de huidige bestandssysteemgrootte.\n" -#: misc/mke2fs.c:774 +#: misc/mke2fs.c:792 #, c-format msgid "On-line resizing not supported with revision 0 filesystems\n" msgstr "Live vergroten of verkleinen is niet mogelijk op een bestandssysteem van versie 0.\n" -#: misc/mke2fs.c:801 misc/mke2fs.c:810 -#, c-format -msgid "Invalid root_owner: '%s'\n" -msgstr "Ongeldige hoofdmap-eigenaar: '%s'\n" - -#: misc/mke2fs.c:835 -#, c-format -msgid "Invalid quotatype parameter: %s\n" -msgstr "Ongeldig argument van 'quotatype': %s\n" - -#: misc/mke2fs.c:846 +#: misc/mke2fs.c:814 #, c-format msgid "" "\n" @@ -4312,19 +4036,13 @@ msgid "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" -"\tlazy_journal_init=<0 to disable, 1 to enable>\n" -"\troot_uid=\n" -"\troot_gid=\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" msgstr "" "\n" "Ongeldige optie opgegeven: %s\n" "\n" -"Uitgebreide opties worden gescheiden door komma's;\n" +"Uitgebreide opties worden gescheiden door komma's,\n" "hun argument wordt voorafgegaan door een '='-teken.\n" "\n" "Geldige uitgebreide opties zijn:\n" @@ -4332,15 +4050,9 @@ msgstr "" " stripe_width= (meestal stride × aantal schijven)\n" " resize=\n" " lazy_itable_init=<0 voor uitschakelen, 1 voor inschakelen>\n" -" lazy_journal_init=<0 voor uitschakelen, 1 voor inschakelen>\n" -" root_uid=\n" -" root_gid=\n" " test_fs\n" -" discard\n" -" nodiscard\n" -" quotatype=\n" -#: misc/mke2fs.c:868 +#: misc/mke2fs.c:830 #, c-format msgid "" "\n" @@ -4351,7 +4063,7 @@ msgstr "" "Waarschuwing: 'stripe'-breedte %u is geen even veelvoud van 'stride' %u.\n" "\n" -#: misc/mke2fs.c:907 +#: misc/mke2fs.c:862 #, c-format msgid "" "Syntax error in mke2fs config file (%s, line #%d)\n" @@ -4361,26 +4073,21 @@ msgstr "" " %s\n" # Dit gaat over het argument van optie -O. -#: misc/mke2fs.c:920 misc/tune2fs.c:398 +#: misc/mke2fs.c:875 misc/tune2fs.c:355 #, c-format msgid "Invalid filesystem option set: %s\n" msgstr "Ongeldige bestandssysteemfunctie: %s\n" -#: misc/mke2fs.c:932 misc/tune2fs.c:349 -#, c-format -msgid "Invalid mount option set: %s\n" -msgstr "Ongeldige aankoppelingsoptie: %s\n" - -#: misc/mke2fs.c:1072 +#: misc/mke2fs.c:985 #, c-format msgid "" "\n" -"Your mke2fs.conf file does not define the %s filesystem type.\n" +"Warning! Your mke2fs.conf file does not define the %s filesystem type.\n" msgstr "" "\n" -"Uw mke2fs.conf definieert geen bestandssysteemtype %s.\n" +"Waarschuwing! Uw mke2fs.conf definieert geen bestandssysteemtype %s.\n" -#: misc/mke2fs.c:1076 +#: misc/mke2fs.c:988 #, c-format msgid "" "You probably need to install an updated mke2fs.conf file.\n" @@ -4389,142 +4096,123 @@ msgstr "" "U dient waarschijnlijk een nieuwer mke2fs.conf-bestand te installeren.\n" "\n" -#: misc/mke2fs.c:1080 -#, c-format -msgid "Aborting...\n" -msgstr "Gestopt...\n" - -#: misc/mke2fs.c:1120 -#, c-format -msgid "" -"\n" -"Warning: the fs_type %s is not defined in mke2fs.conf\n" -"\n" -msgstr "" -"\n" -"Waarschuwing: bestandssysteemtype %s is niet gedefinieerd in mke2fs.conf\n" -"\n" - -#: misc/mke2fs.c:1276 -#, c-format -msgid "Couldn't allocate memory for new PATH.\n" -msgstr "Kan geen geheugen reserveren voor nieuwe PATH.\n" - -#: misc/mke2fs.c:1317 -#, c-format -msgid "Couldn't init profile successfully (error: %ld).\n" -msgstr "Initialiseren van profile is mislukt (fout: %ld).\n" - -#: misc/mke2fs.c:1357 +#: misc/mke2fs.c:1224 #, c-format msgid "invalid block size - %s" msgstr "ongeldige blokgrootte: %s" -#: misc/mke2fs.c:1361 +#: misc/mke2fs.c:1228 #, c-format msgid "Warning: blocksize %d not usable on most systems.\n" msgstr "Waarschuwing: blokgrootte %d is op de meeste systemen niet bruikbaar.\n" -#: misc/mke2fs.c:1377 +#: misc/mke2fs.c:1244 #, c-format -msgid "invalid cluster size - %s" -msgstr "ongeldige clustergrootte: %s" +msgid "invalid fragment size - %s" +msgstr "ongeldige fragmentgrootte: %s" -#: misc/mke2fs.c:1387 -msgid "'-R' is deprecated, use '-E' instead" -msgstr "'optie '-R' is verouderd; gebruik '-E'" +#: misc/mke2fs.c:1250 +#, c-format +msgid "Warning: fragments not supported. Ignoring -f option\n" +msgstr "Waarschuwing: fragmenten worden niet ondersteund; optie '-f' wordt genegeerd\n" -#: misc/mke2fs.c:1399 +#: misc/mke2fs.c:1257 msgid "Illegal number for blocks per group" msgstr "Ongeldig aantal blokken per groep" -#: misc/mke2fs.c:1404 +#: misc/mke2fs.c:1262 msgid "blocks per group must be multiple of 8" msgstr "argument van -g (blokken per groep) is geen veelvoud van 8" -#: misc/mke2fs.c:1412 +#: misc/mke2fs.c:1270 msgid "Illegal number for flex_bg size" msgstr "Ongeldig getal voor metagroepgrootte" -#: misc/mke2fs.c:1418 +#: misc/mke2fs.c:1276 msgid "flex_bg size must be a power of 2" msgstr "Metagroepgrootte moet een macht van 2 zijn" -#: misc/mke2fs.c:1428 +#: misc/mke2fs.c:1286 #, c-format msgid "invalid inode ratio %s (min %d/max %d)" msgstr "ongeldige inodeverhouding %s (min %d / max %d)" -#: misc/mke2fs.c:1438 -#, c-format -msgid "invalid inode size - %s" -msgstr "ongeldige grootte van inode: %s" - -#: misc/mke2fs.c:1450 -#, c-format -msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n" -msgstr "" -"Waarschuwing: optie '-K' is verouderd en zou u niet meer moeten gebruiken;\n" -"gebruik in plaats daarvan de uitgebreide optie '-E nodiscard'.\n" - -#: misc/mke2fs.c:1460 +#: misc/mke2fs.c:1306 msgid "in malloc for bad_blocks_filename" msgstr "onvoldoende geheugen in bad_blocks_filename()" -#: misc/mke2fs.c:1473 +#: misc/mke2fs.c:1316 #, c-format msgid "invalid reserved blocks percent - %s" msgstr "ongeldig percentage gereserveerde blokken: %s" # lib/prange.c:299 lib/prange.c:316 -#: misc/mke2fs.c:1488 -#, c-format -msgid "bad num inodes - %s" -msgstr "ongeldig aantal inodes: %s" - -# lib/prange.c:299 lib/prange.c:316 -#: misc/mke2fs.c:1505 +#: misc/mke2fs.c:1334 #, c-format msgid "bad revision level - %s" msgstr "ongeldig versienummer: %s" -#: misc/mke2fs.c:1519 -msgid "The -t option may only be used once" -msgstr "Optie '-t' mag slechts één keer gegeven worden" +#: misc/mke2fs.c:1346 +#, c-format +msgid "invalid inode size - %s" +msgstr "ongeldige grootte van inode: %s" -#: misc/mke2fs.c:1527 -msgid "The -T option may only be used once" -msgstr "Optie '-T' mag slechts één keer gegeven worden" +# lib/prange.c:299 lib/prange.c:316 +#: misc/mke2fs.c:1366 +#, c-format +msgid "bad num inodes - %s" +msgstr "ongeldig aantal inodes: %s" -#: misc/mke2fs.c:1580 misc/mke2fs.c:2591 +#: misc/mke2fs.c:1431 misc/mke2fs.c:2203 #, c-format msgid "while trying to open journal device %s\n" msgstr "tijdens openen van journal-apparaat %s\n" -#: misc/mke2fs.c:1586 +#: misc/mke2fs.c:1437 #, c-format msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n" msgstr "Blokgrootte %d van journal-apparaat is kleiner dan minimum blokgrootte %d.\n" -#: misc/mke2fs.c:1592 +#: misc/mke2fs.c:1443 #, c-format msgid "Using journal device's blocksize: %d\n" msgstr "Blokgrootte van het journal-apparaat wordt gebruikt: %d\n" -#: misc/mke2fs.c:1603 +#: misc/mke2fs.c:1452 +#, c-format +msgid "%d-byte blocks too big for system (max %d)" +msgstr "Blokken van %d bytes zijn te groot voor dit systeem (max %d)." + +#: misc/mke2fs.c:1456 +#, c-format +msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +msgstr "" +"Waarschuwing: blokken van %d bytes zijn te groot voor dit systeem,\n" +"het maximum is %d -- maar 'mke2fs' wordt gedwongen uitgevoerd.\n" + +#: misc/mke2fs.c:1464 #, c-format -msgid "invalid blocks '%s' on device '%s'" -msgstr "ongeldige blokken '%s' op apparaat '%s'" +msgid "invalid blocks count - %s" +msgstr "ongeldig blokkenaantal: %s" -#: misc/mke2fs.c:1613 +#: misc/mke2fs.c:1474 msgid "filesystem" msgstr "bestandssysteem" -#: misc/mke2fs.c:1626 resize/main.c:367 +#: misc/mke2fs.c:1510 +#, c-format +msgid "" +"%s: Size of device %s too big to be expressed in 32 bits\n" +"\tusing a blocksize of %d.\n" +msgstr "" +"%s: Grootte van apparaat %s kan niet uitgedrukt worden in 32 bits;\n" +" een blokgrootte van %d wordt gebruikt.\n" + +#: misc/mke2fs.c:1519 resize/main.c:382 msgid "while trying to determine filesystem size" msgstr "tijdens bepalen van grootte van bestandssysteem" -#: misc/mke2fs.c:1632 +#: misc/mke2fs.c:1526 msgid "" "Couldn't determine device size; you must specify\n" "the size of the filesystem\n" @@ -4532,7 +4220,7 @@ msgstr "" "Kan de grootte van het apparaat niet bepalen;\n" "u dient zelf de grootte van het bestandssysteem aan te geven.\n" -#: misc/mke2fs.c:1639 +#: misc/mke2fs.c:1533 msgid "" "Device size reported to be zero. Invalid partition specified, or\n" "\tpartition table wasn't reread after running fdisk, due to\n" @@ -4545,49 +4233,35 @@ msgstr "" " in-gebruik-zijn van een gewijzigde partitie. Mogelijk dient u uw\n" " computer te herstarten om de juiste partitietabel te verkrijgen.\n" -#: misc/mke2fs.c:1656 +#: misc/mke2fs.c:1551 msgid "Filesystem larger than apparent device size." msgstr "Bestandssysteem is groter dan de schijnbare apparaatgrootte." -#: misc/mke2fs.c:1676 +#: misc/mke2fs.c:1557 #, c-format msgid "Failed to parse fs types list\n" msgstr "Verwerken van lijst met bestandssysteemsoorten is mislukt\n" -#: misc/mke2fs.c:1730 -#, 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 "" -"%s: De grootte (0x%llx blokken) van apparaat %s kan niet uitgedrukt\n" -" worden in 32 bits bij een blokgrootte van %d.\n" - -#: misc/mke2fs.c:1746 +#: misc/mke2fs.c:1591 msgid "fs_types for mke2fs.conf resolution: " msgstr "Lijst met bestandssysteemsoorten voor mke2fs.conf: " -#: misc/mke2fs.c:1753 +#: misc/mke2fs.c:1598 #, c-format msgid "Filesystem features not supported with revision 0 filesystems\n" msgstr "Extra functies worden niet ondersteund op een bestandssysteem van versie 0.\n" -#: misc/mke2fs.c:1760 +#: misc/mke2fs.c:1605 #, c-format msgid "Sparse superblocks not supported with revision 0 filesystems\n" msgstr "Schaarse superblokken zijn niet mogelijk op een bestandssysteem van versie 0.\n" -#: misc/mke2fs.c:1772 +#: misc/mke2fs.c:1617 #, c-format msgid "Journals not supported with revision 0 filesystems\n" msgstr "Een journal is niet mogelijk op een bestandssysteem van versie 0.\n" -#: misc/mke2fs.c:1786 -#, c-format -msgid "invalid reserved blocks percent - %lf" -msgstr "ongeldig percentage gereserveerde blokken: %lf" - -#: misc/mke2fs.c:1802 +#: misc/mke2fs.c:1635 #, c-format msgid "" "The resize_inode and meta_bg features are not compatible.\n" @@ -4596,131 +4270,90 @@ msgstr "" "De functies 'resize_inode' en 'meta_bg' gaan niet samen.\n" "Ze kunnen niet beide ingeschakeld worden.\n" -#: misc/mke2fs.c:1819 +#: misc/mke2fs.c:1652 msgid "while trying to determine hardware sector size" msgstr "tijdens bepalen van de hardware-sectorgrootte" -#: misc/mke2fs.c:1825 +#: misc/mke2fs.c:1658 msgid "while trying to determine physical sector size" msgstr "tijdens bepalen van de fysieke sectorgrootte" -#: misc/mke2fs.c:1858 +#: misc/mke2fs.c:1687 msgid "while setting blocksize; too small for device\n" msgstr "tijdens instellen van de blokgrootte; te klein voor apparaat\n" -#: misc/mke2fs.c:1863 +#: misc/mke2fs.c:1691 #, c-format -msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n" -msgstr "Waarschuwing: de gegeven blokgrootte %d is kleiner dan de fysieke sectorgrootte %d van het apparaat\n" - -#: misc/mke2fs.c:1881 -msgid "The cluster size may not be smaller than the block size.\n" -msgstr "De clustergrootte mag niet kleiner zijn dan de blokgrootte.\n" +msgid "Warning: specified blocksize %d is less than device physical sectorsize %d, forced to continue\n" +msgstr "Waarschuwing: de gegeven blokgrootte %d is kleiner dan de fysieke sectorgrootte %d van het apparaat -- maar 'mke2fs' wordt gedwongen uitgevoerd.\n" -#: misc/mke2fs.c:1887 -msgid "specifying a cluster size requires the bigalloc feature" -msgstr "het opgeven van een clustergrootte vereist de 'bigalloc'-functie" - -#: misc/mke2fs.c:1906 +#: misc/mke2fs.c:1712 #, c-format msgid "warning: Unable to get device geometry for %s\n" msgstr "Waarschuwing: kan logische schijfopbouw van %s niet verkrijgen.\n" -#: misc/mke2fs.c:1909 +#: misc/mke2fs.c:1715 #, c-format msgid "%s alignment is offset by %lu bytes.\n" msgstr "Uitlijning van %s is %lu bytes verschoven.\n" -#: misc/mke2fs.c:1911 +#: misc/mke2fs.c:1717 #, c-format msgid "This may result in very poor performance, (re)-partitioning suggested.\n" msgstr "" "Dit kan zeer slechte prestaties tot gevolg hebben;\n" "(her)partitionering wordt aanbevolen.\n" -#: misc/mke2fs.c:1930 -#, c-format -msgid "%d-byte blocks too big for system (max %d)" -msgstr "Blokken van %d bytes zijn te groot voor dit systeem (max %d)." - -#: misc/mke2fs.c:1934 -#, c-format -msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" -msgstr "" -"Waarschuwing: blokken van %d bytes zijn te groot voor dit systeem,\n" -"het maximum is %d -- maar 'mke2fs' wordt gedwongen uitgevoerd.\n" - -#: misc/mke2fs.c:1968 -msgid "Can't support bigalloc feature without extents feature" -msgstr "Kan 'bigalloc'-functie niet ondersteunen zonder 'extents'-functie" - -#: misc/mke2fs.c:1975 -#, c-format -msgid "" -"\n" -"Warning: the bigalloc feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n" -"\n" -msgstr "" -"\n" -"Waarschuwing: de 'bigalloc'-functie is nog in ontwikkeling.\n" -"Zie https://ext4.wiki.kernel.org/index.php/Bigalloc voor meer informatie.\n" -"\n" - -#: misc/mke2fs.c:1982 misc/tune2fs.c:740 -#, c-format -msgid "" -"\n" -"Warning: the quota feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Quota for more information\n" -"\n" -msgstr "" -"\n" -"Waarschuwing: de 'quota'-functie is nog in ontwikkeling.\n" -"Zie https://ext4.wiki.kernel.org/index.php/Quota voor meer informatie.\n" -"\n" - -#: misc/mke2fs.c:1993 +#: misc/mke2fs.c:1745 msgid "reserved online resize blocks not supported on non-sparse filesystem" msgstr "het reserveren van blokken voor bestandssysteemvergroting wordt niet ondersteund op een niet-schaars bestandssysteem" -#: misc/mke2fs.c:2002 +#: misc/mke2fs.c:1754 msgid "blocks per group count out of range" msgstr "teller van blokken-per-groep ligt buiten het toegestane bereik" -#: misc/mke2fs.c:2026 +#: misc/mke2fs.c:1769 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" msgstr "De functie 'flex_bg' is niet ingeschakeld, dus de metagroepgrootte mag niet opgegeven worden" -#: misc/mke2fs.c:2038 +#: misc/mke2fs.c:1781 #, c-format msgid "invalid inode size %d (min %d/max %d)" msgstr "ongeldige inode-grootte %d (min %d / max %d)" -#: misc/mke2fs.c:2056 +#: misc/mke2fs.c:1795 #, c-format msgid "too many inodes (%llu), raise inode ratio?" msgstr "te veel inodes (%llu) -- inodeverhouding verhogen?" -#: misc/mke2fs.c:2063 +#: misc/mke2fs.c:1800 #, c-format msgid "too many inodes (%llu), specify < 2^32 inodes" msgstr "te veel inodes (%llu) -- geef minder dan 2^32 op" -#: misc/mke2fs.c:2077 +#: misc/mke2fs.c:1815 #, c-format msgid "" "inode_size (%u) * inodes_count (%u) too big for a\n" -"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n" +"\tfilesystem with %lu blocks, specify higher inode_ratio (-i)\n" "\tor lower inode count (-N).\n" msgstr "" "De inode-ruimte (inode-grootte %u * aantal_inodes %u)\n" -"is te groot voor een bestandssysteem met %llu blokken --\n" +"is te groot voor een bestandssysteem met %lu blokken --\n" " geef een hogere bytes-per-inodeverhouding op (-i),\n" " of verklein het aantal inodes (-N).\n" -#: misc/mke2fs.c:2196 -#, c-format +#: misc/mke2fs.c:1908 misc/tune2fs.c:1494 +msgid "Couldn't allocate memory for tdb filename\n" +msgstr "Kan geen geheugen reserveren voor 'tdb'-bestandsnaam\n" + +#: misc/mke2fs.c:1921 misc/tune2fs.c:1516 +#, c-format +msgid "while trying to delete %s" +msgstr "tijdens verwijderen van %s" + +#: misc/mke2fs.c:1931 +#, c-format msgid "" "Overwriting existing filesystem; this can be undone using the command:\n" " e2undo %s %s\n" @@ -4731,68 +4364,53 @@ msgstr "" " e2undo %s %s\n" "\n" -#: misc/mke2fs.c:2210 -msgid "while trying to setup undo file\n" -msgstr "tijdens aanmaken van 'undo'-bestand\n" +#: misc/mke2fs.c:1968 +#, c-format +msgid "Calling BLKDISCARD from %llu to %llu " +msgstr "Aanroepen van BLKDISCARD van %llu tot %llu " -#: misc/mke2fs.c:2236 -msgid "Discarding device blocks: " -msgstr "Verwerpen van blokken: " +#: misc/mke2fs.c:1972 +#, c-format +msgid "failed.\n" +msgstr "is mislukt.\n" -#: misc/mke2fs.c:2252 -msgid "failed - " -msgstr "is mislukt - " +#: misc/mke2fs.c:1974 +#, c-format +msgid "succeeded.\n" +msgstr "is geslaagd.\n" -#: misc/mke2fs.c:2360 +#: misc/mke2fs.c:2023 msgid "while setting up superblock" msgstr "tijdens aanmaken van superblok" -#: misc/mke2fs.c:2369 -#, c-format -msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" -msgstr "Verwerping is gelukt en zal nullen retourneren -- wissen van inode-tabel wordt overgeslagen\n" - -#: misc/mke2fs.c:2452 +#: misc/mke2fs.c:2087 #, c-format msgid "unknown os - %s" msgstr "onbekend besturingssysteem: %s" -#: misc/mke2fs.c:2504 -#, c-format -msgid "Allocating group tables: " -msgstr "Reserveren van groepstabellen: " - -#: misc/mke2fs.c:2508 +#: misc/mke2fs.c:2141 msgid "while trying to allocate filesystem tables" msgstr "tijdens reserveren van bestandssysteemtabellen" -#: misc/mke2fs.c:2517 -msgid "" -"\n" -"\twhile converting subcluster bitmap" -msgstr "" -"\n" -" tijdens converteren van subcluster-bitkaart" - -#: misc/mke2fs.c:2560 +#: misc/mke2fs.c:2172 #, c-format -msgid "while zeroing block %llu at end of filesystem" -msgstr "tijdens nulmaken van blok %llu aan het eind van het bestandssysteem" +msgid "while zeroing block %u at end of filesystem" +msgstr "tijdens nulmaken van blok %u aan het eind van het bestandssysteem" -#: misc/mke2fs.c:2573 +#: misc/mke2fs.c:2185 msgid "while reserving blocks for online resize" msgstr "tijdens reserveren van uitbreidingsblokken" -#: misc/mke2fs.c:2584 misc/tune2fs.c:645 +#: misc/mke2fs.c:2196 misc/tune2fs.c:479 msgid "journal" msgstr "journal" -#: misc/mke2fs.c:2596 +#: misc/mke2fs.c:2208 #, c-format msgid "Adding journal to device %s: " msgstr "Toevoegen van journal aan apparaat %s: " -#: misc/mke2fs.c:2603 +#: misc/mke2fs.c:2215 #, c-format msgid "" "\n" @@ -4801,51 +4419,27 @@ msgstr "" "\n" " tijdens toevoegen van journal aan apparaat %s" -#: misc/mke2fs.c:2608 misc/mke2fs.c:2640 misc/tune2fs.c:674 misc/tune2fs.c:688 +#: misc/mke2fs.c:2220 misc/mke2fs.c:2252 misc/tune2fs.c:508 misc/tune2fs.c:522 #, c-format msgid "done\n" msgstr "voltooid\n" -#: misc/mke2fs.c:2617 +#: misc/mke2fs.c:2229 #, c-format msgid "Skipping journal creation in super-only mode\n" msgstr "Aanmaken van journal wordt overgeslagen wegens optie '-S'.\n" -#: misc/mke2fs.c:2628 +#: misc/mke2fs.c:2240 #, c-format msgid "Creating journal (%u blocks): " msgstr "Aanmaken van journal (%u blokken): " -#: misc/mke2fs.c:2636 -msgid "" -"\n" -"\twhile trying to create journal" -msgstr "" -"\n" -" tijdens aanmaken van journal" - -#: misc/mke2fs.c:2647 misc/tune2fs.c:451 -#, c-format -msgid "" -"\n" -"Error while enabling multiple mount protection feature." -msgstr "" -"\n" -"Fout tijdens inschakelen van MMP (bescherming tegen meervoudige aankoppelingen)." - -#: misc/mke2fs.c:2652 -#, c-format -msgid "Multiple mount protection is enabled with update interval %d seconds.\n" -msgstr "" -"Bescherming tegen meervoudige aankoppelingen is ingeschakeld\n" -"met een bijwerkingsinterval van %d seconden.\n" - -#: misc/mke2fs.c:2665 +#: misc/mke2fs.c:2257 #, c-format msgid "Writing superblocks and filesystem accounting information: " msgstr "Schrijven van superblokken en bestandssysteem-metagegevens: " -#: misc/mke2fs.c:2672 +#: misc/mke2fs.c:2262 #, c-format msgid "" "\n" @@ -4854,7 +4448,7 @@ msgstr "" "\n" "Waarschuwing: problemen tijdens schrijven van superblokken." -#: misc/mke2fs.c:2674 +#: misc/mke2fs.c:2265 #, c-format msgid "" "done\n" @@ -4863,12 +4457,12 @@ msgstr "" "voltooid\n" "\n" -#: misc/mklost+found.c:50 +#: misc/mklost+found.c:49 #, c-format msgid "Usage: mklost+found\n" msgstr "Gebruik: mklost+found\n" -#: misc/partinfo.c:41 +#: misc/partinfo.c:39 #, c-format msgid "" "Usage: %s device...\n" @@ -4884,36 +4478,36 @@ msgstr "" "Voorbeeld: %s /dev/hda\n" "\n" -#: misc/partinfo.c:51 +#: misc/partinfo.c:49 #, c-format msgid "Cannot open %s: %s" msgstr "Kan %s niet openen: %s" -#: misc/partinfo.c:57 +#: misc/partinfo.c:55 #, c-format msgid "Cannot get geometry of %s: %s" msgstr "Kan geometrie van %s niet bepalen: %s" -#: misc/partinfo.c:65 +#: misc/partinfo.c:63 #, c-format msgid "Cannot get size of %s: %s" msgstr "Kan grootte van %s niet bepalen: %s" -#: misc/partinfo.c:71 +#: misc/partinfo.c:69 #, c-format msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n" msgstr "%s: kop=%3d sec=%3d cil=%4d begin=%8d grootte=%8lu einde=%8d\n" -#: misc/tune2fs.c:107 +#: misc/tune2fs.c:96 msgid "Please run e2fsck on the filesystem.\n" msgstr "Controleer het bestandssysteem met 'e2fsck'.\n" -#: misc/tune2fs.c:116 +#: misc/tune2fs.c:105 #, c-format msgid "" "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" -"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p mmp_update_interval]\n" +"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n" @@ -4924,67 +4518,62 @@ msgstr "" " [-i interval[d|w|m]] [-j] [-J journal-opties] [-l] [-L label]\n" " [-m percentage_gereserveerde_blokken] [-M laatste_aankoppelingspunt]\n" " [-o [^]aankoppelingsopties[,...]] [-O [^]functie[,...]]\n" -" [-p MMP-bijwerkingsinterval] [-r aantal_gereserveerde_blokken]\n" -" [-T tijdstip_van_laatste_controle] [-u gebruiker] [-U UUID]\n" -" [-I nieuwe_inode-grootte] apparaat\n" +" [-r aantal_gereserveerde_blokken] [-T tijdstip_van_laatste_controle]\n" +" [-u gebruiker] [-U UUID] [-I nieuwe_inode-grootte] apparaat\n" -#: misc/tune2fs.c:209 +#: misc/tune2fs.c:190 msgid "while trying to open external journal" msgstr "tijdens openen van extern journal" -#: misc/tune2fs.c:214 +#: misc/tune2fs.c:194 #, c-format msgid "%s is not a journal device.\n" msgstr "%s: is geen journal-apparaat.\n" -#: misc/tune2fs.c:229 +#: misc/tune2fs.c:209 msgid "Journal superblock not found!\n" msgstr "Geen journal-superblok gevonden!\n" -#: misc/tune2fs.c:240 +#: misc/tune2fs.c:221 msgid "Filesystem's UUID not found on journal device.\n" msgstr "UUID van bestandssysteem niet gevonden op journal-apparaat.\n" -#: misc/tune2fs.c:261 -msgid "" -"Cannot locate journal device. It was NOT removed\n" -"Use -f option to remove missing journal device.\n" -msgstr "" -"Kan journal-apparaat niet lokaliseren. Het is NIET verwijderd.\n" -"Gebruik optie '-f' om het ontbrekende journal-apparaat te verwijderen.\n" +#: misc/tune2fs.c:242 +msgid "Journal NOT removed\n" +msgstr "Journal is NIET verwijderd.\n" -#: misc/tune2fs.c:269 +#: misc/tune2fs.c:248 msgid "Journal removed\n" msgstr "Journal is verwijderd.\n" -#: misc/tune2fs.c:313 +#: misc/tune2fs.c:288 msgid "while reading bitmaps" msgstr "tijdens lezen van bitkaarten" -#: misc/tune2fs.c:321 +#: misc/tune2fs.c:296 msgid "while clearing journal inode" msgstr "tijdens wissen van journal-inode" -#: misc/tune2fs.c:332 +#: misc/tune2fs.c:307 msgid "while writing journal inode" msgstr "tijdens schrijven van journal-inode" -#: misc/tune2fs.c:367 +#: misc/tune2fs.c:322 #, c-format -msgid "(and reboot afterwards!)\n" -msgstr "(En herstart daarna uw computer!)\n" +msgid "Invalid mount option set: %s\n" +msgstr "Ongeldige aankoppelingsoptie: %s\n" -#: misc/tune2fs.c:401 +#: misc/tune2fs.c:358 #, c-format msgid "Clearing filesystem feature '%s' not supported.\n" msgstr "Het uitschakelen van bestandssysteemfunctie '%s' is niet mogelijk.\n" -#: misc/tune2fs.c:407 +#: misc/tune2fs.c:364 #, c-format msgid "Setting filesystem feature '%s' not supported.\n" msgstr "Het inschakelen van bestandssysteemfunctie '%s' is niet mogelijk.\n" -#: misc/tune2fs.c:416 +#: misc/tune2fs.c:373 msgid "" "The has_journal feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" @@ -4992,7 +4581,7 @@ msgstr "" "De journal-vlag mag alleen gewist worden wanneer het bestandssysteem\n" "ontkoppeld is of aangekoppeld als alleen-lezen.\n" -#: misc/tune2fs.c:424 +#: misc/tune2fs.c:381 msgid "" "The needs_recovery flag is set. Please run e2fsck before clearing\n" "the has_journal flag.\n" @@ -5000,46 +4589,7 @@ msgstr "" "De reddingsvlag van het journal is gezet.\n" "Voer eerst 'e2fsck' uit, voordat u de journal-vlag wist.\n" -#: misc/tune2fs.c:443 -msgid "" -"The multiple mount protection feature can't\n" -"be set if the filesystem is mounted or\n" -"read-only.\n" -msgstr "" -"Bescherming tegen meervoudige aankoppelingen kan\n" -"niet ingeschakeld worden als het bestandssysteem\n" -"aangekoppeld of alleen-lezen is.\n" - -#: misc/tune2fs.c:461 -#, c-format -msgid "Multiple mount protection has been enabled with update interval %ds.\n" -msgstr "" -"Bescherming tegen meervoudige aankoppelingen is ingeschakeld\n" -"met een bijwerkingsinterval van %d seconden.\n" - -#: misc/tune2fs.c:470 -msgid "" -"The multiple mount protection feature cannot\n" -"be disabled if the filesystem is readonly.\n" -msgstr "" -"Bescherming tegen meervoudige aankoppelingen kan\n" -"niet uitgeschakeld worden als het bestandssysteem\n" -"alleen-lezen is.\n" - -#: misc/tune2fs.c:478 -msgid "Error while reading bitmaps\n" -msgstr "Fout tijdens lezen van bitkaarten\n" - -#: misc/tune2fs.c:487 -#, c-format -msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n" -msgstr "Magisch getal in MMP-blok klopt niet -- verwacht: %x, gevonden: %x\n" - -#: misc/tune2fs.c:492 -msgid "while reading MMP block." -msgstr "tijdens lezen van MMP-blok" - -#: misc/tune2fs.c:524 +#: misc/tune2fs.c:414 msgid "" "Clearing the flex_bg flag would cause the the filesystem to be\n" "inconsistent.\n" @@ -5047,7 +4597,7 @@ msgstr "" "Het uitschakelen van bestandssysteemfunctie 'flex_bg' zou het\n" "bestandssysteem inconsistent maken.\n" -#: misc/tune2fs.c:535 +#: misc/tune2fs.c:425 msgid "" "The huge_file feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" @@ -5055,19 +4605,16 @@ msgstr "" "De 'huge_file'-functievlag mag alleen gewist worden wanneer het\n" "bestandssysteem ontkoppeld is of aangekoppeld als alleen-lezen.\n" -#: misc/tune2fs.c:595 -msgid "" -"\n" -"Warning: '^quota' option overrides '-Q'arguments.\n" -msgstr "" -"\n" -"Waarschuwing: '^quota'-optie overstijgt '-Q'-argumenten.\n" +#: misc/tune2fs.c:453 +#, c-format +msgid "(and reboot afterwards!)\n" +msgstr "(En herstart daarna uw computer!)\n" -#: misc/tune2fs.c:640 +#: misc/tune2fs.c:474 msgid "The filesystem already has a journal.\n" msgstr "Het bestandssysteem heeft al een journal.\n" -#: misc/tune2fs.c:658 +#: misc/tune2fs.c:492 #, c-format msgid "" "\n" @@ -5076,21 +4623,21 @@ msgstr "" "\n" " tijdens openen van journal op %s\n" -#: misc/tune2fs.c:662 +#: misc/tune2fs.c:496 #, c-format msgid "Creating journal on device %s: " msgstr "Aanmaken van journal op apparaat %s: " -#: misc/tune2fs.c:670 +#: misc/tune2fs.c:504 #, c-format msgid "while adding filesystem to journal on %s" msgstr "tijdens toevoegen van bestandssysteem aan journal op %s" -#: misc/tune2fs.c:676 +#: misc/tune2fs.c:510 msgid "Creating journal inode: " msgstr "Aanmaken van journal-inode: " -#: misc/tune2fs.c:685 +#: misc/tune2fs.c:519 msgid "" "\n" "\twhile trying to create journal file" @@ -5098,122 +4645,86 @@ msgstr "" "\n" " tijdens aanmaken van journal-inode" -#: misc/tune2fs.c:763 -msgid "Couldn't allocate memory to parse quota options!\n" -msgstr "Kan geen geheugen reserveren om quota-opties te ontleden!\n" - -#: misc/tune2fs.c:785 -msgid "" -"\n" -"Bad quota options specified.\n" -"\n" -"Following valid quota options are available (pass by separating with comma):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" -msgstr "" -"\n" -"Ongeldige quota-optie opgegeven.\n" -"\n" -"Geldige quota-opties zijn (te scheiden met een komma):\n" -" [^]usrquota\n" -" [^]grpquota\n" -"\n" -"\n" - -#: misc/tune2fs.c:846 +#: misc/tune2fs.c:585 #, c-format msgid "Couldn't parse date/time specifier: %s" msgstr "Kan datum/tijd-specificatie niet ontleden: %s" -#: misc/tune2fs.c:870 misc/tune2fs.c:883 +#: misc/tune2fs.c:609 misc/tune2fs.c:622 #, c-format msgid "bad mounts count - %s" msgstr "onjuist aankoppelingenaantal: %s" -#: misc/tune2fs.c:899 +#: misc/tune2fs.c:638 #, c-format msgid "bad error behavior - %s" msgstr "onjuist argument van -e (gedrag bij een fout): %s" -#: misc/tune2fs.c:926 +#: misc/tune2fs.c:665 #, c-format msgid "bad gid/group name - %s" msgstr "onjuiste GID of groepsnaam: %s" # lib/prange.c:299 lib/prange.c:316 -#: misc/tune2fs.c:959 +#: misc/tune2fs.c:698 #, c-format msgid "bad interval - %s" msgstr "onjuist interval: %s" -#: misc/tune2fs.c:988 +#: misc/tune2fs.c:727 #, c-format msgid "bad reserved block ratio - %s" msgstr "onjuiste verhouding (%s) voor gereserveerde blokken" -#: misc/tune2fs.c:1003 +#: misc/tune2fs.c:742 msgid "-o may only be specified once" -msgstr "Optie '-o' mag slechts één keer gegeven worden" +msgstr "-o mag slechts één keer gegeven worden" -#: misc/tune2fs.c:1012 +#: misc/tune2fs.c:752 msgid "-O may only be specified once" -msgstr "Optie '-o' mag slechts één keer gegeven worden" +msgstr "-O mag slechts één keer gegeven worden" -#: misc/tune2fs.c:1027 +#: misc/tune2fs.c:762 #, c-format msgid "bad reserved blocks count - %s" msgstr "onjuist aantal gereserveerde blokken: %s" -#: misc/tune2fs.c:1056 +#: misc/tune2fs.c:791 #, c-format msgid "bad uid/user name - %s" msgstr "onjuiste UID of gebruikersnaam: %s" -#: misc/tune2fs.c:1073 +#: misc/tune2fs.c:808 #, c-format msgid "bad inode size - %s" msgstr "ongeldige grootte van inode: %s" -#: misc/tune2fs.c:1080 +#: misc/tune2fs.c:815 #, c-format msgid "Inode size must be a power of two- %s" msgstr "Inode-grootte moet een macht van 2 zijn -- niet %s" -#: misc/tune2fs.c:1174 -#, c-format -msgid "mmp_update_interval too big: %lu\n" -msgstr "MMP-bijwerkingsinterval is te groot: %lu\n" - -#: misc/tune2fs.c:1179 -#, c-format -msgid "Setting multiple mount protection update interval to %lu second\n" -msgid_plural "Setting multiple mount protection update interval to %lu seconds\n" -msgstr[0] "Het MMP-bijwerkingsinterval is op %lu seconde gezet\n" -msgstr[1] "Het MMP-bijwerkingsinterval is op %lu seconden gezet\n" - -#: misc/tune2fs.c:1202 +#: misc/tune2fs.c:904 #, c-format msgid "Invalid RAID stride: %s\n" msgstr "Ongeldig argument van 'stride': %s\n" -#: misc/tune2fs.c:1217 +#: misc/tune2fs.c:919 #, c-format msgid "Invalid RAID stripe-width: %s\n" msgstr "Ongeldig argument van 'stripe_width': %s\n" -#: misc/tune2fs.c:1232 +#: misc/tune2fs.c:934 #, c-format msgid "Invalid hash algorithm: %s\n" msgstr "Ongeldig hash-algoritme: %s\n" -#: misc/tune2fs.c:1238 +#: misc/tune2fs.c:940 #, c-format msgid "Setting default hash algorithm to %s (%d)\n" msgstr "Het standaard-hash-algoritme is op %s (%d) gezet\n" -#: misc/tune2fs.c:1257 +#: misc/tune2fs.c:948 #, c-format msgid "" "\n" @@ -5223,54 +4734,42 @@ msgid "" "\tis set off by an equals ('=') sign.\n" "\n" "Valid extended options are:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" msgstr "" "\n" "Ongeldige optie opgegeven.\n" "\n" -"Uitgebreide opties worden gescheiden door komma's;\n" +"Uitgebreide opties worden gescheiden door komma's,\n" "hun argument wordt voorafgegaan door een '='-teken.\n" "\n" "Geldige uitgebreide opties zijn:\n" -" clear_mmp\n" -" hash_alg=\n" -" mount_opts=\n" " stride=\n" " stripe_width= (meestal stride × aantal schijven)\n" +" hash_alg=\n" " test_fs\n" " ^test_fs\n" -#: misc/tune2fs.c:1723 -msgid "Failed to read inode bitmap\n" -msgstr "Lezen van inode-bitkaart is mislukt\n" - -#: misc/tune2fs.c:1728 -msgid "Failed to read block bitmap\n" -msgstr "Lezen van blok-bitkaart is mislukt\n" - -#: misc/tune2fs.c:1745 resize/resize2fs.c:870 +#: misc/tune2fs.c:1421 resize/resize2fs.c:790 msgid "blocks to be moved" msgstr "te verplaatsen blokken" -#: misc/tune2fs.c:1748 +#: misc/tune2fs.c:1424 msgid "Failed to allocate block bitmap when increasing inode size\n" msgstr "Reserveren van blok-bitkaart tijdens inode-grootteverandering is mislukt.\n" -#: misc/tune2fs.c:1754 +#: misc/tune2fs.c:1430 msgid "Not enough space to increase inode size \n" msgstr "Er is onvoldoende ruimte om de inode-grootte te vergroten. \n" -#: misc/tune2fs.c:1759 +#: misc/tune2fs.c:1435 msgid "Failed to relocate blocks during inode resize \n" msgstr "Herplaatsen van blokken tijdens inode-grootteverandering is mislukt. \n" -#: misc/tune2fs.c:1791 +#: misc/tune2fs.c:1467 msgid "" "Error in resizing the inode size.\n" "Run e2undo to undo the file system changes. \n" @@ -5278,16 +4777,7 @@ msgstr "" "Fout tijdens veranderen van de inode-grootte.\n" "Voer 'e2undo' uit om de bestandssysteemwijzigingen ongedaan te maken. \n" -#: misc/tune2fs.c:1818 -msgid "Couldn't allocate memory for tdb filename\n" -msgstr "Kan geen geheugen reserveren voor 'tdb'-bestandsnaam\n" - -#: misc/tune2fs.c:1840 -#, c-format -msgid "while trying to delete %s" -msgstr "tijdens verwijderen van %s" - -#: misc/tune2fs.c:1850 +#: misc/tune2fs.c:1526 #, c-format msgid "" "To undo the tune2fs operation please run the command\n" @@ -5299,77 +4789,57 @@ msgstr "" " e2undo %s %s\n" "\n" -#: misc/tune2fs.c:1919 -#, c-format -msgid "" -"MMP block magic is bad. Try to fix it by running:\n" -"'e2fsck -f %s'\n" -msgstr "" -"Ongeldig magisch getal in MMP-blok.\n" -"Probeer het te repareren met:\n" -" e2fsck -f %s\n" - -#: misc/tune2fs.c:1937 +#: misc/tune2fs.c:1587 #, c-format msgid "The inode size is already %lu\n" msgstr "De inode-grootte is al %lu\n" -#: misc/tune2fs.c:1943 +#: misc/tune2fs.c:1592 #, c-format msgid "Shrinking the inode size is not supported\n" msgstr "Het verkleinen van de inode-grootte is niet mogelijk.\n" -#: misc/tune2fs.c:1949 -#, c-format -msgid "Invalid inode size %lu (max %d)\n" -msgstr "ongeldige inode-grootte %lu (max %d)\n" - -#: misc/tune2fs.c:1996 +#: misc/tune2fs.c:1635 #, c-format msgid "Setting maximal mount count to %d\n" msgstr "Het maximum aantal aankoppelingen is op %d gezet\n" -#: misc/tune2fs.c:2002 +#: misc/tune2fs.c:1641 #, c-format msgid "Setting current mount count to %d\n" msgstr "Het huidige aantal aankoppelingen is op %d gezet\n" -#: misc/tune2fs.c:2007 +#: misc/tune2fs.c:1646 #, c-format msgid "Setting error behavior to %d\n" msgstr "Gedrag bij fouten is op %d gezet\n" -#: misc/tune2fs.c:2012 +#: misc/tune2fs.c:1651 #, c-format msgid "Setting reserved blocks gid to %lu\n" msgstr "GID van gereserveerde blokken is op %lu gezet\n" -#: misc/tune2fs.c:2017 -#, c-format -msgid "interval between checks is too big (%lu)" -msgstr "interval tussen controles is te groot (%lu)" - -#: misc/tune2fs.c:2024 +#: misc/tune2fs.c:1656 #, c-format msgid "Setting interval between checks to %lu seconds\n" msgstr "Interval tussen controles is op %lu seconden gezet\n" -#: misc/tune2fs.c:2031 +#: misc/tune2fs.c:1663 #, c-format -msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n" -msgstr "Percentage gereserveerde blokken is op %g%% gezet (%llu blokken)\n" +msgid "Setting reserved blocks percentage to %g%% (%u blocks)\n" +msgstr "Percentage gereserveerde blokken is op %g%% gezet (%u blokken)\n" -#: misc/tune2fs.c:2037 +#: misc/tune2fs.c:1670 #, c-format -msgid "reserved blocks count is too big (%llu)" -msgstr "aantal gereserveerde blokken is te groot (%llu)" +msgid "reserved blocks count is too big (%lu)" +msgstr "Het aantal gereserveerde blokken is te groot (%lu)." -#: misc/tune2fs.c:2044 +#: misc/tune2fs.c:1676 #, c-format -msgid "Setting reserved blocks count to %llu\n" -msgstr "Het aantal gereserveerde blokken is op %llu gezet\n" +msgid "Setting reserved blocks count to %lu\n" +msgstr "Het aantal gereserveerde blokken is op %lu gezet\n" -#: misc/tune2fs.c:2050 +#: misc/tune2fs.c:1682 msgid "" "\n" "The filesystem already has sparse superblocks.\n" @@ -5377,7 +4847,7 @@ msgstr "" "\n" "Het bestandssysteem is al zuinig met superblokken.\n" -#: misc/tune2fs.c:2057 +#: misc/tune2fs.c:1689 #, c-format msgid "" "\n" @@ -5386,7 +4856,7 @@ msgstr "" "\n" "De zuinig-met-superblokkenvlag is aangezet. %s" -#: misc/tune2fs.c:2062 +#: misc/tune2fs.c:1694 msgid "" "\n" "Clearing the sparse superflag not supported.\n" @@ -5394,37 +4864,27 @@ msgstr "" "\n" "Het uitzetten van de zuinig-met-superblokkenvlag is niet mogelijk.\n" -#: misc/tune2fs.c:2070 +#: misc/tune2fs.c:1701 #, c-format msgid "Setting time filesystem last checked to %s\n" msgstr "Tijd van laatste controle is op %s gezet\n" -#: misc/tune2fs.c:2076 +#: misc/tune2fs.c:1707 #, c-format msgid "Setting reserved blocks uid to %lu\n" msgstr "UID van gereserveerde blokken is op %lu gezet\n" -#: misc/tune2fs.c:2108 -msgid "Error in using clear_mmp. It must be used with -f\n" -msgstr "Fout in gebruik van 'clear_mmp'. Het moet samengaan met '-f'.\n" - -#: misc/tune2fs.c:2126 -msgid "The quota feature may only be changed when the filesystem is unmounted.\n" -msgstr "" -"De quota-functie mag alleen gewijzigd worden wanneer het bestandssysteem\n" -"ontkoppeld is.\n" - -#: misc/tune2fs.c:2159 +#: misc/tune2fs.c:1758 msgid "Invalid UUID format\n" msgstr "Onjuiste UUID-indeling\n" -#: misc/tune2fs.c:2172 +#: misc/tune2fs.c:1770 msgid "The inode size may only be changed when the filesystem is unmounted.\n" msgstr "" "De inode-grootte mag alleen gewijzigd worden wanneer het bestandssysteem\n" "ontkoppeld is.\n" -#: misc/tune2fs.c:2180 +#: misc/tune2fs.c:1777 msgid "" "Changing the inode size not supported for filesystems with the flex_bg\n" "feature enabled.\n" @@ -5432,41 +4892,31 @@ msgstr "" "Het veranderen van de inode-grootte is niet mogelijk voor\n" "bestandssystemen met ingeschakelde 'flex_bg'-functievlag.\n" -#: misc/tune2fs.c:2193 +#: misc/tune2fs.c:1789 #, c-format msgid "Setting inode size %lu\n" msgstr "De inode-groote is op %lu gezet\n" -#: misc/tune2fs.c:2196 -#, c-format -msgid "Failed to change inode size\n" -msgstr "Het veranderen van de inode-grootte is mislukt. \n" - -#: misc/tune2fs.c:2207 +#: misc/tune2fs.c:1799 #, c-format msgid "Setting stride size to %d\n" msgstr "De 'stride'-lengte is op %d gezet\n" -#: misc/tune2fs.c:2212 +#: misc/tune2fs.c:1804 #, c-format msgid "Setting stripe width to %d\n" msgstr "De 'stripe'-breedte is op %d gezet\n" -#: misc/tune2fs.c:2219 -#, c-format -msgid "Setting extended default mount options to '%s'\n" -msgstr "De uitgebreide standaard aankoppelingsopties zijn op '%s' gezet\n" - -#: misc/util.c:74 +#: misc/util.c:72 msgid "Proceed anyway? (y,n) " msgstr "Toch doorgaan? (j,n) " -#: misc/util.c:89 +#: misc/util.c:93 #, c-format msgid "Could not stat %s --- %s\n" msgstr "Kan de status van %s niet opvragen -- %s\n" -#: misc/util.c:92 +#: misc/util.c:96 msgid "" "\n" "The device apparently does not exist; did you specify it correctly?\n" @@ -5474,34 +4924,34 @@ msgstr "" "\n" "Het apparaat bestaat blijkbaar niet; heeft u het juist opgegeven?\n" -#: misc/util.c:103 +#: misc/util.c:107 #, c-format msgid "%s is not a block special device.\n" msgstr "%s is geen blok-apparaat.\n" -#: misc/util.c:132 +#: misc/util.c:136 #, c-format msgid "%s is entire device, not just one partition!\n" msgstr "%s is het hele apparaat, niet slechts een partitie!\n" -#: misc/util.c:154 +#: misc/util.c:158 msgid "mke2fs forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "'mke2fs' wordt gedwongen uitgevoerd. Hoop dat /etc/mtab onjuist is.\n" -#: misc/util.c:159 +#: misc/util.c:163 #, c-format msgid "will not make a %s here!\n" msgstr "zal hier geen %s maken!\n" -#: misc/util.c:166 +#: misc/util.c:170 msgid "mke2fs forced anyway.\n" msgstr "'mke2fs' wordt gedwongen uitgevoerd.\n" -#: misc/util.c:182 +#: misc/util.c:186 msgid "Couldn't allocate memory to parse journal options!\n" msgstr "Kan geen geheugen reserveren om journal-opties te ontleden!\n" -#: misc/util.c:207 +#: misc/util.c:211 #, c-format msgid "" "\n" @@ -5510,7 +4960,7 @@ msgstr "" "\n" "Kan geen journal-apparaat vinden dat overeenkomt met %s\n" -#: misc/util.c:228 +#: misc/util.c:232 msgid "" "\n" "Bad journal options specified.\n" @@ -5538,7 +4988,7 @@ msgstr "" "De grootte van het journal is minimaal 1024 en maximaal 10240000 blokken.\n" "\n" -#: misc/util.c:258 +#: misc/util.c:262 msgid "" "\n" "Filesystem too small for a journal\n" @@ -5546,7 +4996,7 @@ msgstr "" "\n" "Bestandssysteem is te klein voor een journal.\n" -#: misc/util.c:265 +#: misc/util.c:269 #, c-format msgid "" "\n" @@ -5557,7 +5007,7 @@ msgstr "" "De gevraagde journal-afmeting is %d blokken; maar deze dient\n" "tussen de 1024 en de 10.240.000 blokken te liggen. Gestopt.\n" -#: misc/util.c:273 +#: misc/util.c:277 msgid "" "\n" "Journal size too big for filesystem.\n" @@ -5575,150 +5025,26 @@ msgstr "" "%d aankoppelingen of na %g dagen, afhankelijk van wat het eerst voorkomt.\n" "U kunt 'tune2fs' met '-c' of '-i' gebruiken om dit bij te stellen.\n" -#: misc/uuidd.c:48 -#, c-format -msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n" -msgstr "Gebruik: %s [-d] [-p PID-bestand] [-s socket-pad] [-T tijdslimiet]\n" - -#: misc/uuidd.c:50 -#, c-format -msgid " %s [-r|t] [-n num] [-s socketpath]\n" -msgstr " %s [-r|t] [-n nummer] [-s socket-pad]\n" - -#: misc/uuidd.c:52 -#, c-format -msgid " %s -k\n" -msgstr " %s -k\n" - -#: misc/uuidd.c:154 -msgid "bad arguments" -msgstr "ongeldige argumenten" - -#: misc/uuidd.c:172 -msgid "connect" -msgstr "verbinden" - -#: misc/uuidd.c:191 -msgid "write" -msgstr "schrijven" - -#: misc/uuidd.c:199 -msgid "read count" -msgstr "gelezen aantal" - -#: misc/uuidd.c:205 -msgid "bad response length" -msgstr "ongeldige antwoordlengte" - -#: misc/uuidd.c:270 -#, c-format -msgid "uuidd daemon already running at pid %s\n" -msgstr "uuidd-dienst draait al onder PID %s\n" - -#: misc/uuidd.c:278 -#, c-format -msgid "Couldn't create unix stream socket: %s" -msgstr "Kan geen UNIX-stream-socket aanmaken: %s" - -#: misc/uuidd.c:307 -#, c-format -msgid "Couldn't bind unix socket %s: %s\n" -msgstr "Kan UNIX-stream-socket %s niet binden: %s\n" - -#: misc/uuidd.c:315 -#, c-format -msgid "Couldn't listen on unix socket %s: %s\n" -msgstr "Kan niet luisteren op UNIX-stream-socket %s: %s\n" - -#: misc/uuidd.c:353 -#, c-format -msgid "Error reading from client, len = %d\n" -msgstr "Fout tijdens lezen van cliënt; lengte = %d\n" - -#: misc/uuidd.c:361 -#, c-format -msgid "operation %d, incoming num = %d\n" -msgstr "bewerking %d, gegeven getal = %d\n" - -#: misc/uuidd.c:380 -#, c-format -msgid "Generated time UUID: %s\n" -msgstr "Gegenereerde tijds-UUID: %s\n" - -#: misc/uuidd.c:390 -#, c-format -msgid "Generated random UUID: %s\n" -msgstr "Gegenereerde willekeurige UUID: %s\n" - -#: misc/uuidd.c:399 -#, c-format -msgid "Generated time UUID %s and subsequent UUID\n" -msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n" -msgstr[0] "Tijds-UUID %s werd gegenereerd, en één opvolgende\n" -msgstr[1] "Tijds-UUID %s werd gegenereerd, en %d opvolgende\n" - -#: misc/uuidd.c:420 -#, c-format -msgid "Generated %d UUID's:\n" -msgstr "Er zijn %d UUID's gegenereerd:\n" - -#: misc/uuidd.c:432 -#, c-format -msgid "Invalid operation %d\n" -msgstr "Ongeldige bewerking %d\n" - -#: misc/uuidd.c:476 misc/uuidd.c:498 -#, c-format -msgid "Bad number: %s\n" -msgstr "Ongeldig getal: %s\n" - -#: misc/uuidd.c:533 misc/uuidd.c:562 -#, c-format -msgid "Error calling uuidd daemon (%s): %s\n" -msgstr "Fout bij aanroepen van uuidd-dienst (%s): %s\n" - -#: misc/uuidd.c:543 -#, c-format -msgid "%s and subsequent UUID\n" -msgid_plural "%s and subsequent %d UUIDs\n" -msgstr[0] "%s en één opvolgende UUID\n" -msgstr[1] "%s en %d opvolgende UUID's\n" - -#: misc/uuidd.c:547 -#, c-format -msgid "List of UUID's:\n" -msgstr "Lijst van UUID's:\n" - -#: misc/uuidd.c:568 -#, c-format -msgid "Unexpected reply length from server %d\n" -msgstr "Onverwachte antwoordlengte (%d) van server\n" - -#: misc/uuidd.c:585 -#, c-format -msgid "Couldn't kill uuidd running at pid %d: %s\n" -msgstr "Kan uuidd met PID %d niet elimineren: %s\n" - -#: misc/uuidd.c:591 -#, c-format -msgid "Killed uuidd running at pid %d\n" -msgstr "uuidd met PID %d is geëlimineerd\n" - -#: misc/uuidgen.c:32 +#: misc/uuidgen.c:31 #, c-format msgid "Usage: %s [-r] [-t]\n" msgstr "Gebruik: %s [-r] [-t]\n" -#: resize/extent.c:202 +#: resize/extent.c:196 msgid "# Extent dump:\n" msgstr "# (debug) Extent dump:\n" -#: resize/extent.c:203 +#: resize/extent.c:197 +#, c-format +msgid "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" +msgstr "# (debug)\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" + +#: resize/extent.c:200 #, c-format -msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n" -msgstr "# (debug)\tNum=%llu Size=%llu, Cursor=%llu, Sorted=%llu\n" +msgid "#\t\t %u -> %u (%d)\n" +msgstr "# (debug)\t %u -> %u (%d)\n" -#: resize/main.c:43 +#: resize/main.c:42 #, c-format msgid "" "Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" @@ -5727,60 +5053,55 @@ msgstr "" "Gebruik: %s [-d debugvlaggen] [-fFMpP] apparaat [nieuwe_grootte]\n" "\n" -#: resize/main.c:65 +#: resize/main.c:64 msgid "Extending the inode table" msgstr "Uitbreiden van inodetabel" -#: resize/main.c:68 +#: resize/main.c:67 msgid "Relocating blocks" msgstr "Verplaatsen van blokken" -#: resize/main.c:71 +#: resize/main.c:70 msgid "Scanning inode table" msgstr "Scannen van inodetabel" -#: resize/main.c:74 +#: resize/main.c:73 msgid "Updating inode references" msgstr "Bijwerken van inode-verwijzingen" -#: resize/main.c:77 +#: resize/main.c:76 msgid "Moving inode table" msgstr "Verplaatsen van inodetabel" -#: resize/main.c:80 +#: resize/main.c:79 msgid "Unknown pass?!?" msgstr "Onbekende stap?!?" -#: resize/main.c:83 +#: resize/main.c:82 #, c-format msgid "Begin pass %d (max = %lu)\n" msgstr "Begin van stap %d (max = %lu)\n" -#: resize/main.c:154 -#, c-format -msgid "" -"\n" -"Resizing bigalloc file systems has not been fully tested. Proceed\n" -"at your own risk! Use the force option if you want to go ahead anyway.\n" -"\n" -msgstr "" -"\n" -"Het van grootte veranderen van een 'bigalloc'-bestandssysteem is nog\n" -"onvoldoende getest. Doorgaan is geheel voor eigen risico! Gebruik\n" -"de dwangoptie als u toch door wilt gaan.\n" -"\n" - -#: resize/main.c:271 +#: resize/main.c:265 #, c-format msgid "while opening %s" msgstr "tijdens openen van %s" -#: resize/main.c:279 +#: resize/main.c:277 #, c-format msgid "while getting stat information for %s" msgstr "tijdens opvragen van status van %s" -#: resize/main.c:337 resize/main.c:450 +#: resize/main.c:338 +#, c-format +msgid "" +"%s: The combination of flex_bg and\n" +"\t!resize_inode features is not supported by resize2fs.\n" +msgstr "" +"%s: De functie 'flex_bg' zonder de functie 'resize_inode'\n" +" wordt door 'resize2fs' niet ondersteund.\n" + +#: resize/main.c:352 resize/main.c:452 #, c-format msgid "" "Please run 'e2fsck -f %s' first.\n" @@ -5789,60 +5110,56 @@ msgstr "" "Voer eerst 'e2fsck -f %s' uit.\n" "\n" -#: resize/main.c:341 +#: resize/main.c:356 #, c-format -msgid "Estimated minimum size of the filesystem: %llu\n" -msgstr "Geschatte minimum grootte van het bestandssysteem: %llu\n" +msgid "Estimated minimum size of the filesystem: %u\n" +msgstr "Geschatte minimum grootte van het bestandssysteem: %u\n" -#: resize/main.c:377 +#: resize/main.c:392 #, c-format msgid "Invalid new size: %s\n" msgstr "Ongeldige nieuwe grootte: %s\n" -#: resize/main.c:393 -msgid "New size too large to be expressed in 32 bits\n" -msgstr "Nieuwe grootte is te groot om uitgedrukt te kunnen worden in 32 bits.\n" - -#: resize/main.c:401 +#: resize/main.c:404 #, c-format -msgid "New size smaller than minimum (%llu)\n" -msgstr "Nieuwe grootte is kleiner dan minimum (%llu).\n" +msgid "New size smaller than minimum (%u)\n" +msgstr "Nieuwe grootte is kleiner dan minimum (%u).\n" -#: resize/main.c:407 +#: resize/main.c:410 msgid "Invalid stride length" msgstr "Ongeldige lengte voor 'stride'" -#: resize/main.c:431 +#: resize/main.c:434 #, c-format msgid "" -"The containing partition (or device) is only %llu (%dk) blocks.\n" -"You requested a new size of %llu blocks.\n" +"The containing partition (or device) is only %u (%dk) blocks.\n" +"You requested a new size of %u blocks.\n" "\n" msgstr "" -"De partitie (of het apparaat) is slechts %llu blokken (van %dK).\n" -"U vroeg om een nieuwe grootte van %llu blokken.\n" +"De partitie (of het apparaat) is slechts %u blokken (van %dK).\n" +"U vroeg om een nieuwe grootte van %u blokken.\n" "\n" -#: resize/main.c:438 +#: resize/main.c:441 #, c-format msgid "" -"The filesystem is already %llu blocks long. Nothing to do!\n" +"The filesystem is already %u blocks long. Nothing to do!\n" "\n" msgstr "" -"Het bestandssysteem is al %llu blokken groot. Er is niets te doen!\n" +"Het bestandssysteem is al %u blokken groot. Er is niets te doen!\n" "\n" -#: resize/main.c:455 +#: resize/main.c:456 #, c-format -msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n" -msgstr "Van grootte veranderen van bestandssysteem op %s naar %llu blokken (van %dK).\n" +msgid "Resizing the filesystem on %s to %u (%dk) blocks.\n" +msgstr "Van grootte veranderen van bestandssysteem op %s naar %u (%dK) blokken.\n" -#: resize/main.c:464 +#: resize/main.c:465 #, c-format msgid "while trying to resize %s" msgstr "tijdens veranderen van de grootte van %s" -#: resize/main.c:467 +#: resize/main.c:468 #, c-format msgid "" "Please run 'e2fsck -fy %s' to fix the filesystem\n" @@ -5851,907 +5168,92 @@ msgstr "" "Voer 'e2fsck -fy %s' uit om het bestandssysteem\n" "te repareren na de afgebroken grootteverandering.\n" -#: resize/main.c:473 +#: resize/main.c:474 #, c-format msgid "" -"The filesystem on %s is now %llu blocks long.\n" +"The filesystem on %s is now %u blocks long.\n" "\n" msgstr "" -"Het bestandssysteem op %s is nu %llu blokken groot.\n" +"Het bestandssysteem op %s is nu %u blokken groot.\n" "\n" -#: resize/main.c:488 +#: resize/main.c:489 #, c-format msgid "while trying to truncate %s" msgstr "tijdens inkorten van %s" -#: resize/online.c:79 +#: resize/online.c:37 #, c-format msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" msgstr "" "Bestandssysteem op %s is aangekoppeld op %s;\n" "het vergroten/verkleinen zal live gedaan moeten worden.\n" -#: resize/online.c:83 -msgid "On-line shrinking not supported" -msgstr "Het live krimpen wordt niet ondersteund" +#: resize/online.c:41 +#, c-format +msgid "On-line shrinking from %u to %u not supported.\n" +msgstr "Het live krimpen van %u naar %u wordt niet ondersteund.\n" -#: resize/online.c:108 +#: resize/online.c:61 msgid "Filesystem does not support online resizing" msgstr "Bestandssysteem ondersteunt live vergroten/verkleinen niet" -#: resize/online.c:117 -msgid "Not enough reserved gdt blocks for resizing" -msgstr "Niet genoeg gereserveerde GDT-blokken om grootte te kunnen veranderen" - -#: resize/online.c:124 -msgid "Kernel does not support resizing a file system this large" -msgstr "" -"De kernel ondersteunt het vergroten/verkleinen van\n" -"een bestandssysteem met deze afmetingen niet" - -#: resize/online.c:132 +#: resize/online.c:68 #, c-format msgid "while trying to open mountpoint %s" msgstr "tijdens openen van aankoppelingspunt %s" -#: resize/online.c:137 -#, c-format -msgid "Old resize interface requested.\n" -msgstr "Oude interface voor grootteverandering is gevraagd.\n" - -#: resize/online.c:156 resize/online.c:173 +#: resize/online.c:76 msgid "Permission denied to resize filesystem" msgstr "Toegang geweigerd voor het vergroten/verkleinen van bestandssysteem" -#: resize/online.c:159 resize/online.c:179 -msgid "While checking for on-line resizing support" -msgstr "Tijdens controle op ondersteuning voor live vergroten/verkleinen" - -#: resize/online.c:176 +#: resize/online.c:79 msgid "Kernel does not support online resizing" msgstr "De kernel ondersteunt het live vergroten/verkleinen niet" -#: resize/online.c:209 +#: resize/online.c:82 +msgid "While checking for on-line resizing support" +msgstr "Tijdens controle op ondersteuning voor live vergroten/verkleinen" + +#: resize/online.c:111 #, c-format -msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n" -msgstr "Uitvoeren van live verandering van %s naar %llu blokken (van %dK).\n" +msgid "Performing an on-line resize of %s to %u (%dk) blocks.\n" +msgstr "Uitvoeren van live verandering van %s naar %u (%dK) blokken.\n" -#: resize/online.c:219 +#: resize/online.c:121 msgid "While trying to extend the last group" msgstr "Tijdens uitbreiden van de laatste groep" -#: resize/online.c:273 +#: resize/online.c:180 #, c-format msgid "While trying to add group #%d" msgstr "Tijdens toevoegen van groep #%d" -#: resize/online.c:284 +#: resize/online.c:191 #, c-format msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n" msgstr "" "Bestandssysteem op %s is aangekoppled op %s;\n" "op dit systeem is live vergroten/verkleinen niet mogelijk.\n" -#: resize/resize2fs.c:369 +#: resize/resize2fs.c:350 #, c-format msgid "inodes (%llu) must be less than %u" msgstr "aantal inodes (%llu) moet kleiner zijn dan %u" -#: resize/resize2fs.c:631 +#: resize/resize2fs.c:582 msgid "reserved blocks" msgstr "gereserveerde blokken" -#: resize/resize2fs.c:875 +#: resize/resize2fs.c:795 msgid "meta-data blocks" msgstr "blokken voor metagegevens" -#: resize/resize2fs.c:1837 +#: resize/resize2fs.c:1752 #, c-format msgid "Should never happen: resize inode corrupt!\n" msgstr "Zou nooit mogen gebeuren: de 'resize'-inode is beschadigd!\n" -#: lib/ext2fs/ext2_err.c:11 -msgid "EXT2FS Library version 1.42.8" -msgstr "EXT2FS-bibliotheek versie 1.42.8" - -#: lib/ext2fs/ext2_err.c:12 -msgid "Wrong magic number for ext2_filsys structure" -msgstr "Ongeldig magisch getal voor 'ext2_filsys'-structuur" - -#: lib/ext2fs/ext2_err.c:13 -msgid "Wrong magic number for badblocks_list structure" -msgstr "Ongeldig magisch getal voor 'badblocks_list'-structuur" - -#: lib/ext2fs/ext2_err.c:14 -msgid "Wrong magic number for badblocks_iterate structure" -msgstr "Ongeldig magisch getal voor 'badblocks_iterate'-structuur" - -#: lib/ext2fs/ext2_err.c:15 -msgid "Wrong magic number for inode_scan structure" -msgstr "Ongeldig magisch getal voor 'inode_scan'-structuur" - -#: lib/ext2fs/ext2_err.c:16 -msgid "Wrong magic number for io_channel structure" -msgstr "Ongeldig magisch getal voor 'io_channel'-structuur" - -#: lib/ext2fs/ext2_err.c:17 -msgid "Wrong magic number for unix io_channel structure" -msgstr "Ongeldig magisch getal voor Unix-'io_channel'-structuur" - -#: lib/ext2fs/ext2_err.c:18 -msgid "Wrong magic number for io_manager structure" -msgstr "Ongeldig magisch getal voor 'io_manager'-structuur" - -#: lib/ext2fs/ext2_err.c:19 -msgid "Wrong magic number for block_bitmap structure" -msgstr "Ongeldig magisch getal voor 'block_bitmap'-structuur" - -#: lib/ext2fs/ext2_err.c:20 -msgid "Wrong magic number for inode_bitmap structure" -msgstr "Ongeldig magisch getal voor 'inode_bitmap'-structuur" - -#: lib/ext2fs/ext2_err.c:21 -msgid "Wrong magic number for generic_bitmap structure" -msgstr "Ongeldig magisch getal voor 'generic_bitmap'-structuur" - -#: lib/ext2fs/ext2_err.c:22 -msgid "Wrong magic number for test io_channel structure" -msgstr "Ongeldig magisch getal voor test-'io_channel'-structuur" - -#: lib/ext2fs/ext2_err.c:23 -msgid "Wrong magic number for directory block list structure" -msgstr "Ongeldig magisch getal voor mappenbloklijst-structuur" - -#: lib/ext2fs/ext2_err.c:24 -msgid "Wrong magic number for icount structure" -msgstr "Ongeldig magisch getal voor 'icount'-structuur" - -#: lib/ext2fs/ext2_err.c:25 -msgid "Wrong magic number for Powerquest io_channel structure" -msgstr "Ongeldig magisch getal voor Powerquest-'io_channel'-structuur" - -#: lib/ext2fs/ext2_err.c:26 -msgid "Wrong magic number for ext2 file structure" -msgstr "Ongeldig magisch getal voor ext2-bestands-structuur" - -#: lib/ext2fs/ext2_err.c:27 -msgid "Wrong magic number for Ext2 Image Header" -msgstr "Ongeldig magisch getal voor Ext2-imageheader" - -#: lib/ext2fs/ext2_err.c:28 -msgid "Wrong magic number for inode io_channel structure" -msgstr "Ongeldig magisch getal voor inode-'io_channel'-structuur" - -#: lib/ext2fs/ext2_err.c:29 -msgid "Wrong magic number for ext4 extent handle" -msgstr "Ongeldig magisch getal voor Ext4-extent-handle" - -#: lib/ext2fs/ext2_err.c:30 -msgid "Bad magic number in super-block" -msgstr "Ongeldig magisch getal in superblok" - -#: lib/ext2fs/ext2_err.c:31 -msgid "Filesystem revision too high" -msgstr "Bestandssysteemrevisie is te hoog" - -#: lib/ext2fs/ext2_err.c:32 -msgid "Attempt to write to filesystem opened read-only" -msgstr "Poging tot schrijven naar bestandssysteem dat geopend is voor alleen-lezen" - -#: lib/ext2fs/ext2_err.c:33 -msgid "Can't read group descriptors" -msgstr "Kan groepsbeschrijvers niet lezen" - -#: lib/ext2fs/ext2_err.c:34 -msgid "Can't write group descriptors" -msgstr "Kan groepsbeschrijvers niet schrijven" - -#: lib/ext2fs/ext2_err.c:35 -msgid "Corrupt group descriptor: bad block for block bitmap" -msgstr "Beschadigde groepsbeschrijver: ongeldig blok voor blok-bitkaart" - -#: lib/ext2fs/ext2_err.c:36 -msgid "Corrupt group descriptor: bad block for inode bitmap" -msgstr "Beschadigde groepsbeschrijver: ongeldig blok voor inode-bitkaart" - -#: lib/ext2fs/ext2_err.c:37 -msgid "Corrupt group descriptor: bad block for inode table" -msgstr "Beschadigde groepsbeschrijver: ongeldig blok voor inodetabel" - -#: lib/ext2fs/ext2_err.c:38 -msgid "Can't write an inode bitmap" -msgstr "Kan een inode-bitkaart niet schrijven" - -#: lib/ext2fs/ext2_err.c:39 -msgid "Can't read an inode bitmap" -msgstr "Kan een inode-bitkaart niet lezen" - -#: lib/ext2fs/ext2_err.c:40 -msgid "Can't write an block bitmap" -msgstr "Kan een blok-bitkaart niet schrijven" - -#: lib/ext2fs/ext2_err.c:41 -msgid "Can't read an block bitmap" -msgstr "Kan een blok-bitkaart niet lezen" - -#: lib/ext2fs/ext2_err.c:42 -msgid "Can't write an inode table" -msgstr "Kan een inodetabel niet schrijven" - -#: lib/ext2fs/ext2_err.c:43 -msgid "Can't read an inode table" -msgstr "Kan een inodetabel niet lezen" - -#: lib/ext2fs/ext2_err.c:44 -msgid "Can't read next inode" -msgstr "Kan volgende inode niet lezen" - -#: lib/ext2fs/ext2_err.c:45 -msgid "Filesystem has unexpected block size" -msgstr "Bestandssysteem heeft een onverwachte blokgrootte" - -#: lib/ext2fs/ext2_err.c:46 -msgid "EXT2 directory corrupted" -msgstr "EXT2-map is beschadigd" - -#: lib/ext2fs/ext2_err.c:47 -msgid "Attempt to read block from filesystem resulted in short read" -msgstr "Poging tot lezen van blok uit bestandssysteem las te weinig" - -#: lib/ext2fs/ext2_err.c:48 -msgid "Attempt to write block to filesystem resulted in short write" -msgstr "Poging tot schrijven van blok naar bestandssysteem schreef te weinig" - -#: lib/ext2fs/ext2_err.c:49 -msgid "No free space in the directory" -msgstr "Geen vrije ruimte meer in de map" - -#: lib/ext2fs/ext2_err.c:50 -msgid "Inode bitmap not loaded" -msgstr "Inode-bitkaart is niet geladen" - -#: lib/ext2fs/ext2_err.c:51 -msgid "Block bitmap not loaded" -msgstr "Blok-bitkaart is niet geladen" - -#: lib/ext2fs/ext2_err.c:52 -msgid "Illegal inode number" -msgstr "Ongeldig inodenummer" - -#: lib/ext2fs/ext2_err.c:53 -msgid "Illegal block number" -msgstr "Ongeldig bloknummer" - -#: lib/ext2fs/ext2_err.c:54 -msgid "Internal error in ext2fs_expand_dir" -msgstr "**Interne programmafout** in ext2fs_expand_dir()" - -#: lib/ext2fs/ext2_err.c:55 -msgid "Not enough space to build proposed filesystem" -msgstr "Er is onvoldoende ruimte om het voorgestelde bestandssysteem te creëren" - -#: lib/ext2fs/ext2_err.c:56 -msgid "Illegal block number passed to ext2fs_mark_block_bitmap" -msgstr "Ongeldig bloknummer gegeven aan ext2fs_mark_block_bitmap()" - -#: lib/ext2fs/ext2_err.c:57 -msgid "Illegal block number passed to ext2fs_unmark_block_bitmap" -msgstr "Ongeldig bloknummer gegeven aan ext2fs_unmark_block_bitmap()" - -#: lib/ext2fs/ext2_err.c:58 -msgid "Illegal block number passed to ext2fs_test_block_bitmap" -msgstr "Ongeldig bloknummer gegeven aan ext2fs_test_block_bitmap()" - -#: lib/ext2fs/ext2_err.c:59 -msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap" -msgstr "Ongeldig bloknummer gegeven aan ext2fs_mark_inode_bitmap()" - -#: lib/ext2fs/ext2_err.c:60 -msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap" -msgstr "Ongeldig bloknummer gegeven aan ext2fs_unmark_inode_bitmap()" - -#: lib/ext2fs/ext2_err.c:61 -msgid "Illegal inode number passed to ext2fs_test_inode_bitmap" -msgstr "Ongeldig bloknummer gegeven aan ext2fs_test_inode_bitmap()" - -#: lib/ext2fs/ext2_err.c:62 -msgid "Attempt to fudge end of block bitmap past the real end" -msgstr "Poging om het eind van blok-bitkaart voorbij het echte eind te smurfen" - -#: lib/ext2fs/ext2_err.c:63 -msgid "Attempt to fudge end of inode bitmap past the real end" -msgstr "Poging om het eind van inode-bitkaart voorbij het echte eind te smurfen" - -#: lib/ext2fs/ext2_err.c:64 -msgid "Illegal indirect block found" -msgstr "Ongeldig indirect blok gevonden" - -#: lib/ext2fs/ext2_err.c:65 -msgid "Illegal doubly indirect block found" -msgstr "Ongeldig dubbel-indirect blok gevonden" - -#: lib/ext2fs/ext2_err.c:66 -msgid "Illegal triply indirect block found" -msgstr "Ongeldig drievoudig-indirect blok gevonden" - -#: lib/ext2fs/ext2_err.c:67 -msgid "Block bitmaps are not the same" -msgstr "Blok-bitkaarten zijn niet hetzelfde" - -#: lib/ext2fs/ext2_err.c:68 -msgid "Inode bitmaps are not the same" -msgstr "Inode-bitkaarten zijn niet hetzelfde" - -#: lib/ext2fs/ext2_err.c:69 -msgid "Illegal or malformed device name" -msgstr "Ongeldige of misvormde apparaatnaam" - -#: lib/ext2fs/ext2_err.c:70 -msgid "A block group is missing an inode table" -msgstr "Er ontbreekt een blokgroep in de inodetabel" - -#: lib/ext2fs/ext2_err.c:71 -msgid "The ext2 superblock is corrupt" -msgstr "Het Ext2-superblok is beschadigd" - -#: lib/ext2fs/ext2_err.c:72 -msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap" -msgstr "Ongeldig generiek bitnummer gegeven aan ext2fs_mark_generic_bitmap()" - -#: lib/ext2fs/ext2_err.c:73 -msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap" -msgstr "Ongeldig generiek bitnummer gegeven aan ext2fs_unmark_generic_bitmap()" - -#: lib/ext2fs/ext2_err.c:74 -msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap" -msgstr "Ongeldig generiek bitnummer gegeven aan ext2fs_test_generic_bitmap()" - -#: lib/ext2fs/ext2_err.c:75 -msgid "Too many symbolic links encountered." -msgstr "Te veel symbolische koppelingen" - -#: lib/ext2fs/ext2_err.c:76 -msgid "The callback function will not handle this case" -msgstr "De callback-functie kan dit geval niet aan" - -#: lib/ext2fs/ext2_err.c:77 -msgid "The inode is from a bad block in the inode table" -msgstr "De inode komt uit een slecht blok in de inodetabel" - -#: lib/ext2fs/ext2_err.c:78 -msgid "Filesystem has unsupported feature(s)" -msgstr "Bestandssysteem heeft niet-ondersteunde functies" - -#: lib/ext2fs/ext2_err.c:79 -msgid "Filesystem has unsupported read-only feature(s)" -msgstr "Bestandssysteem heeft niet-ondersteunde alleen-lezen functies" - -#: lib/ext2fs/ext2_err.c:80 -msgid "IO Channel failed to seek on read or write" -msgstr "In-/uitvoerkanaal kon geen 'seek' doen bij lezen of schrijven" - -#: lib/ext2fs/ext2_err.c:81 -msgid "Memory allocation failed" -msgstr "Onvoldoende geheugen beschikbaar" - -#: lib/ext2fs/ext2_err.c:82 -msgid "Invalid argument passed to ext2 library" -msgstr "Ongeldig argument gegeven aan Ext2-bibliotheek" - -#: lib/ext2fs/ext2_err.c:83 -msgid "Could not allocate block in ext2 filesystem" -msgstr "Kan geen blok reserveren in Ext2-bestandssysteem" - -#: lib/ext2fs/ext2_err.c:84 -msgid "Could not allocate inode in ext2 filesystem" -msgstr "Kan geen inode reserveren in Ext2-bestandssysteem" - -#: lib/ext2fs/ext2_err.c:85 -msgid "Ext2 inode is not a directory" -msgstr "Ext2-inode is geen map" - -#: lib/ext2fs/ext2_err.c:86 -msgid "Too many references in table" -msgstr "Te veel verwijzingen in tabel" - -#: lib/ext2fs/ext2_err.c:87 -msgid "File not found by ext2_lookup" -msgstr "Bestand is niet gevonden door 'ext2_lookup()'" - -#: lib/ext2fs/ext2_err.c:88 -msgid "File open read-only" -msgstr "Bestand is geopend voor alleen-lezen" - -#: lib/ext2fs/ext2_err.c:89 -msgid "Ext2 directory block not found" -msgstr "Ext2-mapblok niet gevonden" - -#: lib/ext2fs/ext2_err.c:90 -msgid "Ext2 directory already exists" -msgstr "Ext2-map bestaat al" - -#: lib/ext2fs/ext2_err.c:91 -msgid "Unimplemented ext2 library function" -msgstr "Ongeïmplementeerde Ext2-bibliotheekfunctie" - -#: lib/ext2fs/ext2_err.c:92 -msgid "User cancel requested" -msgstr "Annulering is verzocht door gebruiker" - -#: lib/ext2fs/ext2_err.c:93 -msgid "Ext2 file too big" -msgstr "Ext2-bestand is te groot" - -#: lib/ext2fs/ext2_err.c:94 -msgid "Supplied journal device not a block device" -msgstr "Aangegeven journal-apparaat is geen blok-apparaat" - -#: lib/ext2fs/ext2_err.c:95 -msgid "Journal superblock not found" -msgstr "Geen journal-superblok gevonden" - -#: lib/ext2fs/ext2_err.c:96 -msgid "Journal must be at least 1024 blocks" -msgstr "Journal moet minstens 1024 blokken zijn" - -#: lib/ext2fs/ext2_err.c:97 -msgid "Unsupported journal version" -msgstr "Niet-ondersteunde journal-versie" - -#: lib/ext2fs/ext2_err.c:98 -msgid "Error loading external journal" -msgstr "Fout tijdens laden van extern journal" - -#: lib/ext2fs/ext2_err.c:99 -msgid "Journal not found" -msgstr "Geen journal gevonden" - -#: lib/ext2fs/ext2_err.c:100 -msgid "Directory hash unsupported" -msgstr "Map-hash wordt niet ondersteund" - -# Behalve E en F worden de volgende 30 letterafkortingen niet gebruikt. -#: lib/ext2fs/ext2_err.c:101 -msgid "Illegal extended attribute block number" -msgstr "Ongeldig bloknummer voor uitgebreid kenmerk" - -#: lib/ext2fs/ext2_err.c:102 -msgid "Cannot create filesystem with requested number of inodes" -msgstr "Kan geen bestandssysteem aanmaken met het gevraagde aantal inodes" - -#: lib/ext2fs/ext2_err.c:103 -msgid "E2image snapshot not in use" -msgstr "E2image-snapshot wordt niet gebruikt" - -#: lib/ext2fs/ext2_err.c:104 -msgid "Too many reserved group descriptor blocks" -msgstr "Te veel gereserveerde groepsbeschrijverblokken" - -#: lib/ext2fs/ext2_err.c:105 -msgid "Resize inode is corrupt" -msgstr "De resize-inode is beschadigd" - -#: lib/ext2fs/ext2_err.c:106 -msgid "Tried to set block bmap with missing indirect block" -msgstr "Poging tot zetten van blok-bitkaart met ontbrekend indirect blok" - -#: lib/ext2fs/ext2_err.c:107 -msgid "TDB: Success" -msgstr "TDB: gelukt" - -#: lib/ext2fs/ext2_err.c:108 -msgid "TDB: Corrupt database" -msgstr "TDB: databank is beschadigd" - -#: lib/ext2fs/ext2_err.c:109 -msgid "TDB: IO Error" -msgstr "TDB: in-/uitvoerfout" - -#: lib/ext2fs/ext2_err.c:110 -msgid "TDB: Locking error" -msgstr "TDB: vergrendelingsfout" - -#: lib/ext2fs/ext2_err.c:111 -msgid "TDB: Out of memory" -msgstr "TDB: onvoldoende geheugen beschikbaar" - -#: lib/ext2fs/ext2_err.c:112 -msgid "TDB: Record exists" -msgstr "TDB: record bestaat al" - -#: lib/ext2fs/ext2_err.c:113 -msgid "TDB: Lock exists on other keys" -msgstr "TDB: andere sleutels zijn vergrendeld" - -#: lib/ext2fs/ext2_err.c:114 -msgid "TDB: Invalid parameter" -msgstr "TDB: ongeldige parameter" - -#: lib/ext2fs/ext2_err.c:115 -msgid "TDB: Record does not exist" -msgstr "TDB: record bestaat niet" - -#: lib/ext2fs/ext2_err.c:116 -msgid "TDB: Write not permitted" -msgstr "TDB: schrijven is niet toegestaan" - -#: lib/ext2fs/ext2_err.c:117 -msgid "Ext2fs directory block list is empty" -msgstr "Ext2fs-mapblokkenlijst is leeg" - -#: lib/ext2fs/ext2_err.c:118 -msgid "Attempt to modify a block mapping via a read-only block iterator" -msgstr "Poging tot wijzigen van bloktoewijzing via een alleen-lezen iterator" - -#: lib/ext2fs/ext2_err.c:119 -msgid "Wrong magic number for ext4 extent saved path" -msgstr "Ongeldig magisch getal voor opgeslagen pad van Ext4-extent" - -#: lib/ext2fs/ext2_err.c:120 -msgid "Wrong magic number for 64-bit generic bitmap" -msgstr "Ongeldig magisch getal voor 64-bit generieke bitkaart" - -#: lib/ext2fs/ext2_err.c:121 -msgid "Wrong magic number for 64-bit block bitmap" -msgstr "Ongeldig magisch getal voor 64-bit blok-bitkaart" - -#: lib/ext2fs/ext2_err.c:122 -msgid "Wrong magic number for 64-bit inode bitmap" -msgstr "Ongeldig magisch getal voor 64-bit inode-bitkaart" - -#: lib/ext2fs/ext2_err.c:123 -msgid "Wrong magic number --- RESERVED_13" -msgstr "Ongeldig magisch getal -- RESERVED_13" - -#: lib/ext2fs/ext2_err.c:124 -msgid "Wrong magic number --- RESERVED_14" -msgstr "Ongeldig magisch getal -- RESERVED_14" - -#: lib/ext2fs/ext2_err.c:125 -msgid "Wrong magic number --- RESERVED_15" -msgstr "Ongeldig magisch getal -- RESERVED_15" - -#: lib/ext2fs/ext2_err.c:126 -msgid "Wrong magic number --- RESERVED_16" -msgstr "Ongeldig magisch getal -- RESERVED_16" - -#: lib/ext2fs/ext2_err.c:127 -msgid "Wrong magic number --- RESERVED_17" -msgstr "Ongeldig magisch getal -- RESERVED_17" - -#: lib/ext2fs/ext2_err.c:128 -msgid "Wrong magic number --- RESERVED_18" -msgstr "Ongeldig magisch getal -- RESERVED_18" - -#: lib/ext2fs/ext2_err.c:129 -msgid "Wrong magic number --- RESERVED_19" -msgstr "Ongeldig magisch getal -- RESERVED_19" - -#: lib/ext2fs/ext2_err.c:130 -msgid "Corrupt extent header" -msgstr "Extent-header is beschadigd" - -#: lib/ext2fs/ext2_err.c:131 -msgid "Corrupt extent index" -msgstr "Extent-index is beschadigd" - -#: lib/ext2fs/ext2_err.c:132 -msgid "Corrupt extent" -msgstr "Extent is beschadigd" - -#: lib/ext2fs/ext2_err.c:133 -msgid "No free space in extent map" -msgstr "Geen vrije ruimte meer in extent-kaart" - -#: lib/ext2fs/ext2_err.c:134 -msgid "Inode does not use extents" -msgstr "Inode gebruikt geen extents" - -#: lib/ext2fs/ext2_err.c:135 -msgid "No 'next' extent" -msgstr "Er is geen 'next' extent" - -#: lib/ext2fs/ext2_err.c:136 -msgid "No 'previous' extent" -msgstr "Er is geen 'previous' extent" - -#: lib/ext2fs/ext2_err.c:137 -msgid "No 'up' extent" -msgstr "Er is geen 'up' extent" - -#: lib/ext2fs/ext2_err.c:138 -msgid "No 'down' extent" -msgstr "Er is geen 'down' extent" - -#: lib/ext2fs/ext2_err.c:139 -msgid "No current node" -msgstr "Er is geen huidige knoop" - -#: lib/ext2fs/ext2_err.c:140 -msgid "Ext2fs operation not supported" -msgstr "Ext2fs-bewerking wordt niet ondersteund" - -#: lib/ext2fs/ext2_err.c:141 -msgid "No room to insert extent in node" -msgstr "Er is geen ruimte om een extent in de knoop in te voegen" - -#: lib/ext2fs/ext2_err.c:142 -msgid "Splitting would result in empty node" -msgstr "Splitsen zou resulteren in een lege knoop" - -#: lib/ext2fs/ext2_err.c:143 -msgid "Extent not found" -msgstr "Extent niet gevonden" - -#: lib/ext2fs/ext2_err.c:144 -msgid "Operation not supported for inodes containing extents" -msgstr "Bewerking wordt niet ondersteund voor inodes die extents bevatten" - -#: lib/ext2fs/ext2_err.c:145 -msgid "Extent length is invalid" -msgstr "Extent-lengte is ongeldig" - -#: lib/ext2fs/ext2_err.c:146 -msgid "I/O Channel does not support 64-bit block numbers" -msgstr "In-/uitvoerkanaal ondersteunt geen 64-bit bloknummers" - -#: lib/ext2fs/ext2_err.c:147 -msgid "Can't check if filesystem is mounted due to missing mtab file" -msgstr "" -"Kan geen controle uitvoeren als het bestandssysteem aangekoppeld is\n" -"wegens een ontbrekend 'mtab'-bestand" - -#: lib/ext2fs/ext2_err.c:148 -msgid "Filesystem too large to use legacy bitmaps" -msgstr "Bestandssysteem is te groot om oude bitkaarten te kunnen gebruiken" - -#: lib/ext2fs/ext2_err.c:149 -msgid "MMP: invalid magic number" -msgstr "MMP: ongeldig magisch getal" - -#: lib/ext2fs/ext2_err.c:150 -msgid "MMP: device currently active" -msgstr "MMP: apparaat is momenteel actief" - -#: lib/ext2fs/ext2_err.c:151 -msgid "MMP: fsck being run" -msgstr "MMP: 'fsck' wordt uitgevoerd" - -#: lib/ext2fs/ext2_err.c:152 -msgid "MMP: block number beyond filesystem range" -msgstr "MMP: bloknummer valt buiten bereik van bestandssysteem" - -#: lib/ext2fs/ext2_err.c:153 -msgid "MMP: undergoing an unknown operation" -msgstr "MMP: ondergaat een onbekende bewerking" - -#: lib/ext2fs/ext2_err.c:154 -msgid "MMP: filesystem still in use" -msgstr "MMP: bestandssysteem is nog in gebruik" - -#: lib/ext2fs/ext2_err.c:155 -msgid "MMP: open with O_DIRECT failed" -msgstr "MMP: openen met 'O_DIRECT' is mislukt" - -#: lib/ext2fs/ext2_err.c:156 -msgid "Block group descriptor size incorrect" -msgstr "Grootte van blokgroepsbeschrijver is onjuist" - -#: lib/ext2fs/ext2_err.c:157 -msgid "Inode checksum does not match inode" -msgstr "Controlesom van inode komt niet overeen met inode" - -#: lib/ext2fs/ext2_err.c:158 -msgid "Inode bitmap checksum does not match bitmap" -msgstr "Controlesom van inode-bitkaart komt niet overeen met bitkaart" - -#: lib/ext2fs/ext2_err.c:159 -msgid "Extent block checksum does not match extent block" -msgstr "Controlesom van extent-blok komt niet overeen met extent-blok" - -#: lib/ext2fs/ext2_err.c:160 -msgid "Directory block does not have space for checksum" -msgstr "Map-blok heeft geen ruimte voor een controlesom" - -#: lib/ext2fs/ext2_err.c:161 -msgid "Directory block checksum does not match directory block" -msgstr "Controlesom van map-blok komt niet overeen met map-blok" - -#: lib/ext2fs/ext2_err.c:162 -msgid "Extended attribute block checksum does not match block" -msgstr "Controlesom van uitgebreidekenmerken-blok komt niet overeen met blok" - -#: lib/ext2fs/ext2_err.c:163 -msgid "Superblock checksum does not match superblock" -msgstr "Controlesom van superblok komt niet overeen met superblok" - -#: lib/ext2fs/ext2_err.c:164 -msgid "Unknown checksum algorithm" -msgstr "Ongeldig controlesom-algoritme" - -#: lib/ext2fs/ext2_err.c:165 -msgid "MMP block checksum does not match MMP block" -msgstr "Controlesom van MMP-blok komt niet overeen met MMP-blok" - -#: lib/ext2fs/ext2_err.c:166 -msgid "Ext2 file already exists" -msgstr "Ext2-bestand bestaat al" - -#: e2fsck/prof_err.c:11 -msgid "Profile version 0.0" -msgstr "Profile versie 0.0" - -#: e2fsck/prof_err.c:12 -msgid "Bad magic value in profile_node" -msgstr "Ongeldig magisch getal in 'profile_node'" - -#: e2fsck/prof_err.c:13 -msgid "Profile section not found" -msgstr "Profile-sectie niet gevonden" - -#: e2fsck/prof_err.c:14 -msgid "Profile relation not found" -msgstr "Profile-relatie niet gevonden" - -#: e2fsck/prof_err.c:15 -msgid "Attempt to add a relation to node which is not a section" -msgstr "Poging tot het toevoegen van een relatie aan een knoop die geen sectie is" - -#: e2fsck/prof_err.c:16 -msgid "A profile section header has a non-zero value" -msgstr "Een profile-sectiekop heeft een waarde die niet nul is" - -#: e2fsck/prof_err.c:17 -msgid "Bad linked list in profile structures" -msgstr "Ongeldige gekoppelde lijst in profile-structuren" - -#: e2fsck/prof_err.c:18 -msgid "Bad group level in profile structures" -msgstr "Ongeldig groepsniveau in profile-structuren" - -#: e2fsck/prof_err.c:19 -msgid "Bad parent pointer in profile structures" -msgstr "Ongeldige pointer naar ouder in profile-structuren" - -#: e2fsck/prof_err.c:20 -msgid "Bad magic value in profile iterator" -msgstr "Ongeldig magisch getal in profile-iterator" - -#: e2fsck/prof_err.c:21 -msgid "Can't set value on section node" -msgstr "Kan waarde niet instellen in sectieknoop" - -#: e2fsck/prof_err.c:22 -msgid "Invalid argument passed to profile library" -msgstr "Ongeldig argument gegeven aan Profile-bibliotheek" - -#: e2fsck/prof_err.c:23 -msgid "Attempt to modify read-only profile" -msgstr "Poging tot wijzigen van een alleen-lezen profile" - -#: e2fsck/prof_err.c:24 -msgid "Profile section header not at top level" -msgstr "Profile-sectiekop is niet op topniveau" - -#: e2fsck/prof_err.c:25 -msgid "Syntax error in profile section header" -msgstr "Syntaxfout in profile-sectiekop" - -#: e2fsck/prof_err.c:26 -msgid "Syntax error in profile relation" -msgstr "Syntaxfout in profile-relatie" - -#: e2fsck/prof_err.c:27 -msgid "Extra closing brace in profile" -msgstr "Overtollige sluitaccolade in profile" - -#: e2fsck/prof_err.c:28 -msgid "Missing open brace in profile" -msgstr "Ontbrekende openingsaccolade in profile" - -#: e2fsck/prof_err.c:29 -msgid "Bad magic value in profile_t" -msgstr "Ongeldig magisch getal in 'profile_t'" - -#: e2fsck/prof_err.c:30 -msgid "Bad magic value in profile_section_t" -msgstr "Ongeldig magisch getal in 'profile_section_t'" - -#: e2fsck/prof_err.c:31 -msgid "Iteration through all top level section not supported" -msgstr "Doorlopen van alle topniveau-secties wordt niet ondersteund" - -# Dit gaat over het argument van optie -O. -#: e2fsck/prof_err.c:32 -msgid "Invalid profile_section object" -msgstr "Ongeldig 'profile_section'-object" - -#: e2fsck/prof_err.c:33 -msgid "No more sections" -msgstr "Er zijn geen verdere secties" - -#: e2fsck/prof_err.c:34 -msgid "Bad nameset passed to query routine" -msgstr "Ongeldige naamset gegeven aan bevragingsroutine" - -#: e2fsck/prof_err.c:35 -msgid "No profile file open" -msgstr "Er is geen open profile-bestand" - -#: e2fsck/prof_err.c:36 -msgid "Bad magic value in profile_file_t" -msgstr "Ongeldig magisch getal in 'profile_file_t'" - -#: e2fsck/prof_err.c:37 -msgid "Couldn't open profile file" -msgstr "Kan profile-bestand niet openen" - -#: e2fsck/prof_err.c:38 -msgid "Section already exists" -msgstr "Sectie bestaat al" - -#: e2fsck/prof_err.c:39 -msgid "Invalid boolean value" -msgstr "Ongeldige booleaanse waarde" - -#: e2fsck/prof_err.c:40 -msgid "Invalid integer value" -msgstr "Ongeldig geheel getal" - -#: e2fsck/prof_err.c:41 -msgid "Bad magic value in profile_file_data_t" -msgstr "Ongeldig magisch getal in 'profile_file_data_t'" - -#~ msgid "Clearing extent flag not supported on %s" -#~ msgstr "Het uitzetten van de 'extent'-functievlag wordt niet ondersteund op %s" - -#~ msgid "" -#~ "%s: The combination of flex_bg and\n" -#~ "\t!resize_inode features is not supported by resize2fs.\n" -#~ msgstr "" -#~ "%s: De functie 'flex_bg' zonder de functie 'resize_inode'\n" -#~ " wordt door 'resize2fs' niet ondersteund.\n" - -#~ msgid "%s is mounted. " -#~ msgstr "Partitie %s is aangekoppeld. " - -#~ msgid "@g %g @b @B uninitialized but @i @B in use.\n" -#~ msgstr "Groepsbeschrijver %g heeft een ongeïnitialiseerde blok-bitkaart maar de inode-bitkaart is in gebruik.\n" - -#~ msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" -#~ msgstr "Inode %i zou niet de 'EOFBLOCKS_FL'-vlag gezet moeten hebben (grootte %Is, lblk %r)\n" - -#~ msgid "Couldn't determine journal size" -#~ msgstr "Kan journal-grootte niet bepalen" - -#~ msgid "Missing indirect block not present" -#~ msgstr "Ontbrekend indirect blok is afwezig" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "short write (only %d bytes) for writing image header" -#~ msgstr "onvolledig blok (slechts %d bytes) tijdens schrijven van image-kop" - -#~ msgid "invalid fragment size - %s" -#~ msgstr "ongeldige fragmentgrootte: %s" - -#~ msgid "Warning: fragments not supported. Ignoring -f option\n" -#~ msgstr "Waarschuwing: fragmenten worden niet ondersteund; optie '-f' wordt genegeerd\n" - -#~ msgid "Calling BLKDISCARD from %llu to %llu " -#~ msgstr "Aanroepen van BLKDISCARD van %llu tot %llu " - -#~ msgid "succeeded.\n" -#~ msgstr "is geslaagd.\n" - -#~ msgid "Journal NOT removed\n" -#~ msgstr "Journal is NIET verwijderd.\n" - #~ msgid "@S doesn't have has_@j flag, but has ext3 @j %s.\n" #~ msgstr "Superblok heeft journal-vlag niet gezet, maar heeft wel een ext3-journal %s.\n" @@ -6767,15 +5269,24 @@ msgstr "Ongeldig magisch getal in 'profile_file_data_t'" #~ msgid "while retrying to write block bitmaps for %s" #~ msgstr "tijdens herschrijven van blok-bitkaarten voor %s" +#~ msgid "writing inode bitmaps" +#~ msgstr "schrijven van inode-bitkaarten" + #~ msgid "%s failed for %s: %s\n" #~ msgstr "%s is mislukt voor %s: %s\n" +#~ msgid "open" +#~ msgstr "Openen" + #~ msgid "HDIO_GETGEO ioctl" #~ msgstr "Opvragen van geometrie" #~ msgid "BLKGETSIZE ioctl" #~ msgstr "Opvragen van grootte" +#~ msgid "Filesystem %s has unsupported features enabled.\n" +#~ msgstr "Bestandssysteem %s heeft functies ingeschakeld die niet ondersteund worden.\n" + #~ msgid "@a in @i %i has a hash (%N) which is @n (must be 0)\n" #~ msgstr "Een uitgebreid kenmerk in inode %i heeft een ongeldige hashwaarde (%N, moet 0 zijn).\n" @@ -6816,6 +5327,9 @@ msgstr "Ongeldig magisch getal in 'profile_file_data_t'" #~ msgid "%s: Filesystem byte order already normalized.\n" #~ msgstr "%s: bytevolgorde van bestandssysteem is al genormaliseerd.\n" +#~ msgid "invalid test_pattern: %s\n" +#~ msgstr "ongeldig testpatroon: %s\n" + #~ msgid "invalid starting block - %s" #~ msgstr "ongeldig beginblok: %s" @@ -6842,3 +5356,6 @@ msgstr "Ongeldig magisch getal in 'profile_file_data_t'" #~ msgid "Warning: %d-byte inodes not usable on older systems\n" #~ msgstr "Waarschuwing: inodes van %d bytes zijn onbruikbaar op oudere systemen\n" + +#~ msgid "bad filesystem size - %s" +#~ msgstr "onjuiste grootte van bestandssysteem: %s" diff --git a/po/pl.gmo b/po/pl.gmo index 6bee3eb3..47c044a6 100644 Binary files a/po/pl.gmo and b/po/pl.gmo differ diff --git a/po/pl.po b/po/pl.po index 8a7db2cb..8e2932f1 100644 --- a/po/pl.po +++ b/po/pl.po @@ -1,7 +1,7 @@ # Polish translation for e2fsprogs. -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Theodore Tso (msgids) +# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Theodore Tso (msgids) # This file is distributed under the same license as the e2fsprogs package. -# Jakub Bogusz , 2002-2013. +# Jakub Bogusz , 2002-2010. # #. 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, @@ -63,706 +63,708 @@ #. msgid "" msgstr "" -"Project-Id-Version: e2fsprogs 1.42.8\n" +"Project-Id-Version: e2fsprogs 1.41.12\n" "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n" -"POT-Creation-Date: 2013-06-16 08:17-0400\n" -"PO-Revision-Date: 2013-08-04 20:41+0200\n" +"POT-Creation-Date: 2010-05-17 23:05-0400\n" +"PO-Revision-Date: 2010-05-20 08:14+0200\n" "Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \n" -"Language: pl\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: e2fsck/badblocks.c:23 misc/mke2fs.c:180 +#: e2fsck/badblocks.c:22 misc/mke2fs.c:169 #, c-format msgid "Bad block %u out of range; ignored.\n" msgstr "Wadliwy blok %u poza zakresem - zignorowany.\n" -#: e2fsck/badblocks.c:46 +#: e2fsck/badblocks.c:45 msgid "while sanity checking the bad blocks inode" -msgstr "podczas sprawdzania poprawnoÅ›ci i-wÄ™zÅ‚a wadliwych bloków" +msgstr "podczas sprawdzania poprawno¶ci i-wêz³a wadliwych bloków" -#: e2fsck/badblocks.c:58 +#: e2fsck/badblocks.c:57 msgid "while reading the bad blocks inode" -msgstr "podczas odczytu i-wÄ™zÅ‚a wadliwych bloków" +msgstr "podczas odczytu i-wêz³a wadliwych bloków" -#: e2fsck/badblocks.c:72 e2fsck/iscan.c:110 e2fsck/scantest.c:107 -#: e2fsck/unix.c:1332 e2fsck/unix.c:1420 misc/badblocks.c:1214 -#: misc/badblocks.c:1222 misc/badblocks.c:1236 misc/badblocks.c:1248 -#: misc/dumpe2fs.c:588 misc/e2image.c:1196 misc/e2image.c:1324 -#: misc/e2image.c:1337 misc/mke2fs.c:196 misc/tune2fs.c:1907 resize/main.c:315 +#: e2fsck/badblocks.c:71 e2fsck/iscan.c:112 e2fsck/scantest.c:109 +#: e2fsck/unix.c:1083 e2fsck/unix.c:1166 misc/badblocks.c:1155 +#: misc/badblocks.c:1163 misc/badblocks.c:1177 misc/badblocks.c:1189 +#: misc/dumpe2fs.c:552 misc/e2image.c:583 misc/e2image.c:679 +#: misc/e2image.c:695 misc/mke2fs.c:185 misc/tune2fs.c:1573 resize/main.c:310 #, c-format msgid "while trying to open %s" -msgstr "podczas próby otworzenia %s" +msgstr "podczas próby otworzenia %s" -#: e2fsck/badblocks.c:83 +#: e2fsck/badblocks.c:82 #, c-format msgid "while trying popen '%s'" -msgstr "podczas próby popen '%s'" +msgstr "podczas próby popen '%s'" -#: e2fsck/badblocks.c:94 misc/mke2fs.c:203 +#: e2fsck/badblocks.c:93 misc/mke2fs.c:192 msgid "while reading in list of bad blocks from file" -msgstr "podczas wczytywania z pliku listy wadliwych bloków" +msgstr "podczas wczytywania z pliku listy wadliwych bloków" -#: e2fsck/badblocks.c:105 +#: e2fsck/badblocks.c:104 msgid "while updating bad block inode" -msgstr "podczas uaktualniania i-wÄ™zÅ‚a wadliwego bloku" +msgstr "podczas uaktualniania i-wêz³a wadliwego bloku" -#: e2fsck/badblocks.c:131 +#: e2fsck/badblocks.c:130 #, c-format msgid "Warning: illegal block %u found in bad block inode. Cleared.\n" -msgstr "Uwaga: znaleziono niedopuszczalny blok %u w i-węźle wadliwego bloku. Wyczyszczono.\n" +msgstr "Uwaga: znaleziono niedopuszczalny blok %u w i-wê¼le wadliwego bloku. Wyczyszczono.\n" -#: e2fsck/ehandler.c:55 +#: e2fsck/ehandler.c:54 #, c-format msgid "Error reading block %lu (%s) while %s. " -msgstr "BÅ‚Ä…d przy odczycie bloku %lu (%s) podczas %s. " +msgstr "B³±d przy odczycie bloku %lu (%s) podczas %s. " -#: e2fsck/ehandler.c:58 +#: e2fsck/ehandler.c:57 #, c-format msgid "Error reading block %lu (%s). " -msgstr "BÅ‚Ä…d przy odczycie bloku %lu (%s). " +msgstr "B³±d przy odczycie bloku %lu (%s). " -#: e2fsck/ehandler.c:61 e2fsck/ehandler.c:110 +#: e2fsck/ehandler.c:60 e2fsck/ehandler.c:109 msgid "Ignore error" -msgstr "Zignorować bÅ‚Ä…d" +msgstr "Zignorowaæ b³±d" -#: e2fsck/ehandler.c:62 +#: e2fsck/ehandler.c:61 msgid "Force rewrite" -msgstr "Wymusić ponowny zapis" +msgstr "Wymusiæ ponowny zapis" -#: e2fsck/ehandler.c:104 +#: e2fsck/ehandler.c:103 #, c-format msgid "Error writing block %lu (%s) while %s. " -msgstr "BÅ‚Ä…d przy zapisie bloku %lu (%s) podczas %s. " +msgstr "B³±d przy zapisie bloku %lu (%s) podczas %s. " -#: e2fsck/ehandler.c:107 +#: e2fsck/ehandler.c:106 #, c-format msgid "Error writing block %lu (%s). " -msgstr "BÅ‚Ä…d przy zapisie bloku %lu (%s). " +msgstr "B³±d przy zapisie bloku %lu (%s). " -#: e2fsck/emptydir.c:57 +#: e2fsck/emptydir.c:56 msgid "empty dirblocks" msgstr "puste bloki katalogu" -#: e2fsck/emptydir.c:62 +#: e2fsck/emptydir.c:61 msgid "empty dir map" msgstr "pusta mapa katalogu" -#: e2fsck/emptydir.c:98 +#: e2fsck/emptydir.c:97 #, c-format msgid "Empty directory block %u (#%d) in inode %u\n" -msgstr "Pusty blok katalogu %u (#%d) w i-węźle %u\n" +msgstr "Pusty blok katalogu %u (#%d) w i-wê¼le %u\n" -#: e2fsck/extend.c:22 +#: e2fsck/extend.c:21 #, c-format msgid "%s: %s filename nblocks blocksize\n" -msgstr "%s: %s nazwa_pliku liczba_bloków rozmiar_bloku\n" +msgstr "%s: %s nazwa_pliku liczba_bloków rozmiar_bloku\n" -#: e2fsck/extend.c:44 +#: e2fsck/extend.c:43 #, c-format msgid "Illegal number of blocks!\n" -msgstr "Niedopuszczalna liczba bloków!\n" +msgstr "Niedopuszczalna liczba bloków!\n" -#: e2fsck/extend.c:50 +#: e2fsck/extend.c:49 #, c-format msgid "Couldn't allocate block buffer (size=%d)\n" -msgstr "Nie można przydzielić bufora bloku (rozmiar=%d)\n" +msgstr "Nie mo¿na przydzieliæ bufora bloku (rozmiar=%d)\n" -#: e2fsck/flushb.c:35 +#: e2fsck/flushb.c:34 #, c-format msgid "Usage: %s disk\n" -msgstr "SkÅ‚adnia: %s dysk\n" +msgstr "Sk³adnia: %s dysk\n" -#: e2fsck/flushb.c:64 +#: e2fsck/flushb.c:63 #, c-format msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n" -msgstr "ioctl BLKFLSBUF nie obsÅ‚ugiwany! Nie można opróżnić buforów.\n" +msgstr "ioctl BLKFLSBUF nie obs³ugiwany! Nie mo¿na opró¿niæ buforów.\n" -#: e2fsck/iscan.c:44 +#: e2fsck/iscan.c:46 #, c-format msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n" -msgstr "SkÅ‚adnia: %s [-F] [-I bloki_bufora_i-wÄ™złów] urzÄ…dzenie\n" +msgstr "Sk³adnia: %s [-F] [-I bloki_bufora_i-wêz³ów] urz±dzenie\n" -#: e2fsck/iscan.c:81 e2fsck/unix.c:961 +#: e2fsck/iscan.c:83 e2fsck/unix.c:838 #, c-format msgid "while opening %s for flushing" -msgstr "podczas otwierania %s w celu opróżnienia" +msgstr "podczas otwierania %s w celu opró¿nienia" -#: e2fsck/iscan.c:86 e2fsck/unix.c:967 resize/main.c:288 +#: e2fsck/iscan.c:88 e2fsck/unix.c:844 resize/main.c:286 #, c-format msgid "while trying to flush %s" -msgstr "podczas próby opróżnienia %s" +msgstr "podczas próby opró¿nienia %s" -#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1091 +#: e2fsck/iscan.c:121 e2fsck/scantest.c:116 misc/e2image.c:489 msgid "while opening inode scan" -msgstr "podczas otwierania obrazu i-wÄ™złów" +msgstr "podczas otwierania obrazu i-wêz³ów" -#: e2fsck/iscan.c:127 misc/e2image.c:1109 +#: e2fsck/iscan.c:129 misc/e2image.c:507 msgid "while getting next inode" -msgstr "podczas pobierania nastÄ™pnego i-wÄ™zÅ‚a" +msgstr "podczas pobierania nastêpnego i-wêz³a" -#: e2fsck/iscan.c:136 +#: e2fsck/iscan.c:138 #, c-format msgid "%u inodes scanned.\n" -msgstr "Przeszukano i-wÄ™złów: %u.\n" +msgstr "Przeszukano i-wêz³ów: %u.\n" -#: e2fsck/journal.c:522 +#: e2fsck/journal.c:507 msgid "reading journal superblock\n" msgstr "odczyt superbloku kroniki\n" -#: e2fsck/journal.c:579 +#: e2fsck/journal.c:564 #, c-format msgid "%s: no valid journal superblock found\n" msgstr "%s: nie znaleziono poprawnego superbloku kroniki\n" -#: e2fsck/journal.c:588 +#: e2fsck/journal.c:573 #, c-format msgid "%s: journal too short\n" -msgstr "%s: kronika za krótka\n" +msgstr "%s: kronika za krótka\n" -#: e2fsck/journal.c:880 +#: e2fsck/journal.c:860 #, c-format msgid "%s: recovering journal\n" msgstr "%s: odtwarzanie z kroniki\n" -#: e2fsck/journal.c:882 +#: e2fsck/journal.c:862 #, c-format msgid "%s: won't do journal recovery while read-only\n" msgstr "%s: odtworzenie z kroniki nie zostanie wykonane w trybie tylko do odczytu\n" -#: e2fsck/journal.c:909 +#: e2fsck/journal.c:887 #, c-format msgid "while trying to re-open %s" -msgstr "podczas próby ponownego otwarcia %s" +msgstr "podczas próby ponownego otwarcia %s" -#: e2fsck/message.c:113 +#: e2fsck/message.c:111 msgid "aextended attribute" msgstr "arozszerzony atrybut" -#: e2fsck/message.c:114 +#: e2fsck/message.c:112 msgid "Aerror allocating" -msgstr "AbÅ‚Ä…d podczas przydzielania" +msgstr "Ab³±d podczas przydzielania" -#: e2fsck/message.c:115 +#: e2fsck/message.c:113 msgid "bblock" msgstr "bblok" -#: e2fsck/message.c:116 +#: e2fsck/message.c:114 msgid "Bbitmap" msgstr "Bbitmapa" -#: e2fsck/message.c:117 +#: e2fsck/message.c:115 msgid "ccompress" msgstr "ckompresja" -#: e2fsck/message.c:118 +#: e2fsck/message.c:116 msgid "Cconflicts with some other fs @b" -msgstr "Ckonflikt z innym @biem systemu plików" +msgstr "Ckonflikt z innym @biem systemu plików" -#: e2fsck/message.c:119 +#: e2fsck/message.c:117 msgid "iinode" -msgstr "ii-wÄ™zeÅ‚" +msgstr "ii-wêze³" -#: e2fsck/message.c:120 +#: e2fsck/message.c:118 msgid "Iillegal" msgstr "Iniedopuszczalny" -#: e2fsck/message.c:121 +#: e2fsck/message.c:119 msgid "jjournal" msgstr "jkronika" -#: e2fsck/message.c:122 +#: e2fsck/message.c:120 msgid "Ddeleted" -msgstr "DusuniÄ™ty" +msgstr "Dusuniêty" -#: e2fsck/message.c:123 +#: e2fsck/message.c:121 msgid "ddirectory" msgstr "dkatalog" -#: e2fsck/message.c:124 +#: e2fsck/message.c:122 msgid "eentry" msgstr "ewpis" -#: e2fsck/message.c:125 +#: e2fsck/message.c:123 msgid "E@e '%Dn' in %p (%i)" msgstr "E@e '%Dn' w %p (%i)" -#: e2fsck/message.c:126 +#: e2fsck/message.c:124 msgid "ffilesystem" -msgstr "fsystem plików" +msgstr "fsystem plików" -#: e2fsck/message.c:127 +#: e2fsck/message.c:125 msgid "Ffor @i %i (%Q) is" -msgstr "Fdla i-wÄ™zÅ‚a %i (%Q) wynosi" +msgstr "Fdla i-wêz³a %i (%Q) wynosi" -#: e2fsck/message.c:128 +#: e2fsck/message.c:126 msgid "ggroup" msgstr "ggrupa" -#: e2fsck/message.c:129 +#: e2fsck/message.c:127 msgid "hHTREE @d @i" msgstr "h@i @du HTREE" -#: e2fsck/message.c:130 +#: e2fsck/message.c:128 msgid "llost+found" msgstr "llost+found" -#: e2fsck/message.c:131 +#: e2fsck/message.c:129 msgid "Lis a link" -msgstr "Ljest dowiÄ…zaniem" +msgstr "Ljest dowi±zaniem" -#: e2fsck/message.c:132 +#: e2fsck/message.c:130 msgid "mmultiply-claimed" msgstr "mwielokrotnie zadeklarowany" -#: e2fsck/message.c:133 +#: e2fsck/message.c:131 msgid "ninvalid" -msgstr "nbÅ‚Ä™dny" +msgstr "nb³êdny" -#: e2fsck/message.c:134 +#: e2fsck/message.c:132 msgid "oorphaned" msgstr "oosierocony" -#: e2fsck/message.c:135 +#: e2fsck/message.c:133 msgid "pproblem in" msgstr "pproblem w" -#: e2fsck/message.c:136 -msgid "qquota" -msgstr "qlimit" - -#: e2fsck/message.c:137 +#: e2fsck/message.c:134 msgid "rroot @i" -msgstr "rgłówny @i" +msgstr "rg³ówny @i" -#: e2fsck/message.c:138 +#: e2fsck/message.c:135 msgid "sshould be" -msgstr "spowinno być" +msgstr "spowinno byæ" -#: e2fsck/message.c:139 +#: e2fsck/message.c:136 msgid "Ssuper@b" msgstr "Ssuper@b" -#: e2fsck/message.c:140 +#: e2fsck/message.c:137 msgid "uunattached" -msgstr "uniedoÅ‚Ä…czony" +msgstr "uniedo³±czony" -#: e2fsck/message.c:141 +#: e2fsck/message.c:138 msgid "vdevice" -msgstr "vurzÄ…dzenie" +msgstr "vurz±dzenie" -#: e2fsck/message.c:142 +#: e2fsck/message.c:139 msgid "xextent" msgstr "xekstent" -#: e2fsck/message.c:143 +#: e2fsck/message.c:140 msgid "zzero-length" -msgstr "zzerowej dÅ‚ugoÅ›ci" +msgstr "zzerowej d³ugo¶ci" -#: e2fsck/message.c:154 +#: e2fsck/message.c:151 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:155 +#: e2fsck/message.c:152 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:157 -msgid "" -msgstr "" +#: e2fsck/message.c:154 +msgid "" +msgstr "" -#: e2fsck/message.c:158 -msgid "" -msgstr "" +#: e2fsck/message.c:155 +msgid "" +msgstr "" -msgstr "" +msgstr "" -#: e2fsck/message.c:160 +#: e2fsck/message.c:157 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:161 +#: e2fsck/message.c:158 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:162 +#: e2fsck/message.c:159 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:163 +#: e2fsck/message.c:160 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:164 +#: e2fsck/message.c:161 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:333 +#: e2fsck/message.c:330 +#, c-format msgid "regular file" -msgstr "plik zwykÅ‚y" +msgstr "plik zwyk³y" -#: e2fsck/message.c:335 +#: e2fsck/message.c:332 +#, c-format msgid "directory" msgstr "katalog" -#: e2fsck/message.c:337 +#: e2fsck/message.c:334 +#, c-format msgid "character device" -msgstr "urzÄ…dzenie znakowe" +msgstr "urz±dzenie znakowe" -#: e2fsck/message.c:339 +#: e2fsck/message.c:336 +#, c-format msgid "block device" -msgstr "urzÄ…dzenie blokowe" +msgstr "urz±dzenie blokowe" -#: e2fsck/message.c:341 +#: e2fsck/message.c:338 +#, c-format msgid "named pipe" msgstr "nazwany potok" -#: e2fsck/message.c:343 +#: e2fsck/message.c:340 +#, c-format msgid "symbolic link" -msgstr "dowiÄ…zanie symboliczne" +msgstr "dowi±zanie symboliczne" -#: e2fsck/message.c:345 misc/uuidd.c:161 +#: e2fsck/message.c:342 +#, c-format msgid "socket" msgstr "gniazdo" -#: e2fsck/message.c:347 +#: e2fsck/message.c:344 #, c-format msgid "unknown file type with mode 0%o" msgstr "nieznany rodzaj pliku typu 0%o" #: e2fsck/message.c:422 msgid "indirect block" -msgstr "blok poÅ›redni" +msgstr "blok po¶redni" #: e2fsck/message.c:424 msgid "double indirect block" -msgstr "blok podwójnie poÅ›redni" +msgstr "blok podwójnie po¶redni" #: e2fsck/message.c:426 msgid "triple indirect block" -msgstr "blok potrójnie poÅ›redni" +msgstr "blok potrójnie po¶redni" #: e2fsck/message.c:428 msgid "translator block" -msgstr "blok tÅ‚umaczÄ…cy" +msgstr "blok t³umacz±cy" #: e2fsck/message.c:430 msgid "block #" msgstr "blok #" -#: e2fsck/pass1b.c:222 +#: e2fsck/pass1b.c:220 msgid "multiply claimed inode map" -msgstr "wielokrotnie zadeklarowana mapa i-wÄ™złów" +msgstr "wielokrotnie zadeklarowana mapa i-wêz³ów" -#: e2fsck/pass1b.c:610 e2fsck/pass1b.c:730 +#: e2fsck/pass1b.c:581 e2fsck/pass1b.c:714 #, c-format -msgid "internal error: can't find dup_blk for %llu\n" -msgstr "bÅ‚Ä…d wewnÄ™trzny; nie można znaleźć dup_blk dla %llu\n" +msgid "internal error: can't find dup_blk for %u\n" +msgstr "b³±d wewnêtrzny; nie mo¿na znale¼æ dup_blk dla %u\n" -#: e2fsck/pass1b.c:821 +#: e2fsck/pass1b.c:757 msgid "returned from clone_file_block" -msgstr "powrót z clone_file_block" +msgstr "powrót z clone_file_block" -#: e2fsck/pass1b.c:843 +#: e2fsck/pass1b.c:776 #, c-format -msgid "internal error: couldn't lookup EA block record for %llu" -msgstr "bÅ‚Ä…d wewnÄ™trzny: nie można znaleźć rekordu bloku EA dla %llu" +msgid "internal error: couldn't lookup EA block record for %u" +msgstr "b³±d wewnêtrzny: nie mo¿na znale¼æ rekordu bloku EA dla %u" -#: e2fsck/pass1b.c:855 +#: e2fsck/pass1b.c:788 #, c-format msgid "internal error: couldn't lookup EA inode record for %u" -msgstr "BÅ‚Ä…d wewnÄ™trzny: nie można znaleźć rekordu i-wÄ™zÅ‚a EA dla %u" +msgstr "B³±d wewnêtrzny: nie mo¿na znale¼æ rekordu i-wêz³a EA dla %u" -#: e2fsck/pass1.c:475 e2fsck/pass2.c:782 +#: e2fsck/pass1.c:475 e2fsck/pass2.c:776 msgid "reading directory block" msgstr "odczytu bloku katalogu" -#: e2fsck/pass1.c:598 +#: e2fsck/pass1.c:597 msgid "in-use inode map" -msgstr "mapa używanych i-wÄ™złów" +msgstr "mapa u¿ywanych i-wêz³ów" -#: e2fsck/pass1.c:609 +#: e2fsck/pass1.c:606 msgid "directory inode map" -msgstr "mapa i-wÄ™złów katalogów" +msgstr "mapa i-wêz³ów katalogów" -#: e2fsck/pass1.c:619 +#: e2fsck/pass1.c:614 msgid "regular file inode map" -msgstr "mapa i-wÄ™złów zwykÅ‚ych plików" +msgstr "mapa i-wêz³ów zwyk³ych plików" -#: e2fsck/pass1.c:628 +#: e2fsck/pass1.c:621 msgid "in-use block map" -msgstr "mapa używanych bloków" +msgstr "mapa u¿ywanych bloków" -#: e2fsck/pass1.c:695 +#: e2fsck/pass1.c:675 msgid "opening inode scan" -msgstr "rozpoczynania przeszukiwania i-wÄ™złów" +msgstr "rozpoczynania przeszukiwania i-wêz³ów" -#: e2fsck/pass1.c:729 +#: e2fsck/pass1.c:699 msgid "getting next inode from scan" -msgstr "pobierania nastÄ™pnego i-wÄ™zÅ‚a" +msgstr "pobierania nastêpnego i-wêz³a" -#: e2fsck/pass1.c:1239 +#: e2fsck/pass1.c:1173 msgid "Pass 1" msgstr "Przebieg 1" -#: e2fsck/pass1.c:1296 +#: e2fsck/pass1.c:1230 #, c-format msgid "reading indirect blocks of inode %u" -msgstr "odczytu niebezpoÅ›rednich bloków i-wÄ™zÅ‚a %u" +msgstr "odczytu niebezpo¶rednich bloków i-wêz³a %u" -#: e2fsck/pass1.c:1346 +#: e2fsck/pass1.c:1274 msgid "bad inode map" -msgstr "bÅ‚Ä™dna mapa i-wÄ™złów" +msgstr "b³êdna mapa i-wêz³ów" -#: e2fsck/pass1.c:1369 +#: e2fsck/pass1.c:1296 msgid "inode in bad block map" -msgstr "i-wÄ™zeÅ‚ w mapie wadliwych bloków" +msgstr "i-wêze³ w mapie wadliwych bloków" -#: e2fsck/pass1.c:1389 +#: e2fsck/pass1.c:1316 msgid "imagic inode map" -msgstr "mapa i-wÄ™złów imagic" +msgstr "mapa i-wêz³ów imagic" -#: e2fsck/pass1.c:1416 +#: e2fsck/pass1.c:1343 msgid "multiply claimed block map" -msgstr "wielokrotnie zadeklarowana mapa bloków" +msgstr "wielokrotnie zadeklarowana mapa bloków" -#: e2fsck/pass1.c:1527 +#: e2fsck/pass1.c:1443 msgid "ext attr block map" -msgstr "mapa bloków rozszerzonych atrybutów" +msgstr "mapa bloków rozszerzonych atrybutów" -#: e2fsck/pass1.c:2299 +#: e2fsck/pass1.c:2181 #, c-format msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n" msgstr "%6lu(%c): oczekiwano %6lu, otrzymano phys %6lu (blkcnt %lld)\n" -#: e2fsck/pass1.c:2660 +#: e2fsck/pass1.c:2533 msgid "block bitmap" -msgstr "bitmapa bloków" +msgstr "bitmapa bloków" -#: e2fsck/pass1.c:2666 +#: e2fsck/pass1.c:2537 msgid "inode bitmap" -msgstr "bitmapa i-wÄ™złów" +msgstr "bitmapa i-wêz³ów" -#: e2fsck/pass1.c:2672 +#: e2fsck/pass1.c:2541 msgid "inode table" -msgstr "tablica i-wÄ™złów" +msgstr "tablica i-wêz³ów" -#: e2fsck/pass2.c:283 +#: e2fsck/pass2.c:277 msgid "Pass 2" msgstr "Przebieg 2" -#: e2fsck/pass2.c:805 +#: e2fsck/pass2.c:799 msgid "Can not continue." -msgstr "Nie można kontynuować." +msgstr "Nie mo¿na kontynuowaæ." -#: e2fsck/pass3.c:77 +#: e2fsck/pass3.c:76 msgid "inode done bitmap" -msgstr "bitmapa wykonanych i-wÄ™złów" +msgstr "bitmapa wykonanych i-wêz³ów" -#: e2fsck/pass3.c:86 +#: e2fsck/pass3.c:84 msgid "Peak memory" -msgstr "NajwiÄ™ksze użycie pamiÄ™ci" +msgstr "Najwiêksze u¿ycie pamiêci" -#: e2fsck/pass3.c:136 +#: e2fsck/pass3.c:134 msgid "Pass 3" msgstr "Przebieg 3" -#: e2fsck/pass3.c:322 +#: e2fsck/pass3.c:320 msgid "inode loop detection bitmap" -msgstr "bitmapa wykrywania pÄ™tli i-wÄ™złów" +msgstr "bitmapa wykrywania pêtli i-wêz³ów" -#: e2fsck/pass4.c:196 +#: e2fsck/pass4.c:191 msgid "Pass 4" msgstr "Przebieg 4" -#: e2fsck/pass5.c:74 +#: e2fsck/pass5.c:64 msgid "Pass 5" msgstr "Przebieg 5" -#: e2fsck/problem.c:51 +#: e2fsck/problem.c:50 msgid "(no prompt)" msgstr "(bez pytania)" -#: e2fsck/problem.c:52 +#: e2fsck/problem.c:51 msgid "Fix" -msgstr "Poprawić" +msgstr "Poprawiæ" -#: e2fsck/problem.c:53 +#: e2fsck/problem.c:52 msgid "Clear" -msgstr "WyczyÅ›cić" +msgstr "Wyczy¶ciæ" -#: e2fsck/problem.c:54 +#: e2fsck/problem.c:53 msgid "Relocate" -msgstr "Przenieść" +msgstr "Przenie¶æ" -#: e2fsck/problem.c:55 +#: e2fsck/problem.c:54 msgid "Allocate" -msgstr "Przydzielić" +msgstr "Przydzieliæ" -#: e2fsck/problem.c:56 +#: e2fsck/problem.c:55 msgid "Expand" -msgstr "Rozszerzyć" +msgstr "Rozszerzyæ" -#: e2fsck/problem.c:57 +#: e2fsck/problem.c:56 msgid "Connect to /lost+found" -msgstr "DoÅ‚Ä…czyć do /lost+found" +msgstr "Do³±czyæ do /lost+found" -#: e2fsck/problem.c:58 +#: e2fsck/problem.c:57 msgid "Create" -msgstr "WyczyÅ›cić" +msgstr "Wyczy¶ciæ" -#: e2fsck/problem.c:59 +#: e2fsck/problem.c:58 msgid "Salvage" -msgstr "Uratować" +msgstr "Uratowaæ" -#: e2fsck/problem.c:60 +#: e2fsck/problem.c:59 msgid "Truncate" -msgstr "Uciąć" +msgstr "Uci±æ" -#: e2fsck/problem.c:61 +#: e2fsck/problem.c:60 msgid "Clear inode" -msgstr "WyczyÅ›cić i-wÄ™zeÅ‚" +msgstr "Wyczy¶ciæ i-wêze³" -#: e2fsck/problem.c:62 +#: e2fsck/problem.c:61 msgid "Abort" -msgstr "Przerwać" +msgstr "Przerwaæ" -#: e2fsck/problem.c:63 +#: e2fsck/problem.c:62 msgid "Split" -msgstr "Podzielić" +msgstr "Podzieliæ" -#: e2fsck/problem.c:64 +#: e2fsck/problem.c:63 msgid "Continue" -msgstr "Kontynuować" +msgstr "Kontynuowaæ" -#: e2fsck/problem.c:65 +#: e2fsck/problem.c:64 msgid "Clone multiply-claimed blocks" -msgstr "Sklonować wielokrotnie zadeklarowane bloki" +msgstr "Sklonowaæ wielokrotnie zadeklarowane bloki" -#: e2fsck/problem.c:66 +#: e2fsck/problem.c:65 msgid "Delete file" -msgstr "Usunąć plik" +msgstr "Usun±æ plik" -#: e2fsck/problem.c:67 +#: e2fsck/problem.c:66 msgid "Suppress messages" -msgstr "Pominąć komunikaty" +msgstr "Pomin±æ komunikaty" -#: e2fsck/problem.c:68 +#: e2fsck/problem.c:67 msgid "Unlink" -msgstr "OdÅ‚Ä…czyć" +msgstr "Od³±czyæ" -#: e2fsck/problem.c:69 +#: e2fsck/problem.c:68 msgid "Clear HTree index" -msgstr "WyczyÅ›cić indeks HTree" +msgstr "Wyczy¶ciæ indeks HTree" -#: e2fsck/problem.c:70 +#: e2fsck/problem.c:69 msgid "Recreate" -msgstr "Odtworzyć" +msgstr "Odtworzyæ" -#: e2fsck/problem.c:79 +#: e2fsck/problem.c:78 msgid "(NONE)" msgstr "(NIC)" -#: e2fsck/problem.c:80 +#: e2fsck/problem.c:79 msgid "FIXED" msgstr "POPRAWIONO" -#: e2fsck/problem.c:81 +#: e2fsck/problem.c:80 msgid "CLEARED" msgstr "WYCZYSZCZONO" -#: e2fsck/problem.c:82 +#: e2fsck/problem.c:81 msgid "RELOCATED" msgstr "PRZENIESIONO" -#: e2fsck/problem.c:83 +#: e2fsck/problem.c:82 msgid "ALLOCATED" msgstr "PRZYDZIELONO" -#: e2fsck/problem.c:84 +#: e2fsck/problem.c:83 msgid "EXPANDED" msgstr "ROZSZERZONO" -#: e2fsck/problem.c:85 +#: e2fsck/problem.c:84 msgid "RECONNECTED" -msgstr "PODÅÄ„CZONO" +msgstr "POD£¡CZONO" -#: e2fsck/problem.c:86 +#: e2fsck/problem.c:85 msgid "CREATED" msgstr "UTWORZONO" -#: e2fsck/problem.c:87 +#: e2fsck/problem.c:86 msgid "SALVAGED" msgstr "URATOWANO" -#: e2fsck/problem.c:88 +#: e2fsck/problem.c:87 msgid "TRUNCATED" -msgstr "SKRÓCONO" +msgstr "SKRÓCONO" -#: e2fsck/problem.c:89 +#: e2fsck/problem.c:88 msgid "INODE CLEARED" -msgstr "I-WĘZEÅ WYCZYSZCZONY" +msgstr "I-WÊZE£ WYCZYSZCZONY" -#: e2fsck/problem.c:90 +#: e2fsck/problem.c:89 msgid "ABORTED" msgstr "PRZERWANO" -#: e2fsck/problem.c:91 +#: e2fsck/problem.c:90 msgid "SPLIT" msgstr "PODZIELONO" -#: e2fsck/problem.c:92 +#: e2fsck/problem.c:91 msgid "CONTINUING" msgstr "KONTYNUACJA" -#: e2fsck/problem.c:93 +#: e2fsck/problem.c:92 msgid "MULTIPLY-CLAIMED BLOCKS CLONED" msgstr "SKLONOWANO WIELOKROTNIE ZADEKLAROWANE BLOKI" -#: e2fsck/problem.c:94 +#: e2fsck/problem.c:93 msgid "FILE DELETED" -msgstr "PLIK USUNIĘTY" +msgstr "PLIK USUNIÊTY" -#: e2fsck/problem.c:95 +#: e2fsck/problem.c:94 msgid "SUPPRESSED" -msgstr "POMINIĘTO" +msgstr "POMINIÊTO" -#: e2fsck/problem.c:96 +#: e2fsck/problem.c:95 msgid "UNLINKED" -msgstr "ODÅÄ„CZONO" +msgstr "OD£¡CZONO" -#: e2fsck/problem.c:97 +#: e2fsck/problem.c:96 msgid "HTREE INDEX CLEARED" msgstr "INDEKS HTREE WYCZYSZCZONY" -#: e2fsck/problem.c:98 +#: e2fsck/problem.c:97 msgid "WILL RECREATE" msgstr "ZOSTANIE ODTWORZONY" #. @-expanded: block bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:107 +#: e2fsck/problem.c:106 msgid "@b @B for @g %g is not in @g. (@b %b)\n" -msgstr "@B @bów dla grupy %g nie jest w grupie. (@b %b)\n" +msgstr "@B @bów dla grupy %g nie jest w grupie. (@b %b)\n" #. @-expanded: inode bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:111 +#: e2fsck/problem.c:110 msgid "@i @B for @g %g is not in @g. (@b %b)\n" -msgstr "@B i-wÄ™złów dla grupy %g nie jest w grupie. (@b %b)\n" +msgstr "@B i-wêz³ów dla grupy %g nie jest w grupie. (@b %b)\n" #. @-expanded: inode table for group %g is not in group. (block %b)\n #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n -#: e2fsck/problem.c:116 +#: e2fsck/problem.c:115 msgid "" "@i table for @g %g is not in @g. (@b %b)\n" "WARNING: SEVERE DATA LOSS POSSIBLE.\n" msgstr "" -"tablica i-wÄ™złów dla grupy %g nie jest w grupie. (@b %b)\n" -"UWAGA: MOÅ»LIWA POWAÅ»NA UTRATA DANYCH.\n" +"tablica i-wêz³ów dla grupy %g nie jest w grupie. (@b %b)\n" +"UWAGA: MO¯LIWA POWA¯NA UTRATA DANYCH.\n" #. @-expanded: \n #. @-expanded: The superblock could not be read or does not describe a correct ext2\n @@ -771,7 +773,7 @@ msgstr "" #. @-expanded: is corrupt, and you might try running e2fsck with an alternate superblock:\n #. @-expanded: e2fsck -b %S \n #. @-expanded: \n -#: e2fsck/problem.c:122 +#: e2fsck/problem.c:121 #, c-format msgid "" "\n" @@ -783,10 +785,10 @@ msgid "" "\n" msgstr "" "\n" -"@S nie mógÅ‚ być odczytany lub nie opisuje prawidÅ‚owego systemu\n" -"plików ext2. Jeżeli @v jest prawidÅ‚owe i naprawdÄ™ zawiera\n" +"@S nie móg³ byæ odczytany lub nie opisuje prawid³owego systemu\n" +"plików ext2. Je¿eli @v jest prawid³owe i naprawdê zawiera\n" "@f ext2 (nie jest swapem, ufs-em ani niczym innym),\n" -"to @S jest uszkodzony - można próbować uruchomić e2fsck z innym\n" +"to @S jest uszkodzony - mo¿na próbowaæ uruchomiæ e2fsck z innym\n" "@Siem:\n" " e2fsck -b %S <@v>\n" "\n" @@ -794,50 +796,50 @@ msgstr "" #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n #. @-expanded: The physical size of the device is %c blocks\n #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n -#: e2fsck/problem.c:131 +#: e2fsck/problem.c:130 msgid "" "The @f size (according to the @S) is %b @bs\n" "The physical size of the @v is %c @bs\n" "Either the @S or the partition table is likely to be corrupt!\n" msgstr "" -"Rozmiar systemu plików (wedÅ‚ug @Su) wynosi %b @bów\n" -"Fizyczny rozmiar urzÄ…dzenia wynosi %c @bów\n" -"Możliwe, że @S albo tablica partycji jest uszkodzona!\n" +"Rozmiar systemu plików (wed³ug @Su) wynosi %b @bów\n" +"Fizyczny rozmiar urz±dzenia wynosi %c @bów\n" +"Mo¿liwe, ¿e @S albo tablica partycji jest uszkodzona!\n" #. @-expanded: superblock block_size = %b, fragsize = %c.\n #. @-expanded: This version of e2fsck does not support fragment sizes different\n #. @-expanded: from the block size.\n -#: e2fsck/problem.c:138 +#: e2fsck/problem.c:137 msgid "" "@S @b_size = %b, fragsize = %c.\n" "This version of e2fsck does not support fragment sizes different\n" "from the @b size.\n" msgstr "" "W @Su block_size (rozm. bloku) = %b, fragsize (rozm. fragmentu) = %c.\n" -"Ta wersja e2fsck nie obsÅ‚uguje rozmiarów fragmentu różnych od rozmiaru\n" +"Ta wersja e2fsck nie obs³uguje rozmiarów fragmentu ró¿nych od rozmiaru\n" "@bu.\n" #. @-expanded: superblock blocks_per_group = %b, should have been %c\n -#: e2fsck/problem.c:145 +#: e2fsck/problem.c:144 msgid "@S @bs_per_group = %b, should have been %c\n" -msgstr "W @Su blocks_per_group (bloków w grupie) = %b, powinno być %c\n" +msgstr "W @Su blocks_per_group (bloków w grupie) = %b, powinno byæ %c\n" #. @-expanded: superblock first_data_block = %b, should have been %c\n -#: e2fsck/problem.c:150 +#: e2fsck/problem.c:149 msgid "@S first_data_@b = %b, should have been %c\n" -msgstr "W @Su first_data_block (1. @b danych) = %b, powinien być %c\n" +msgstr "W @Su first_data_block (1. @b danych) = %b, powinien byæ %c\n" #. @-expanded: filesystem did not have a UUID; generating one.\n #. @-expanded: \n -#: e2fsck/problem.c:155 +#: e2fsck/problem.c:154 msgid "" "@f did not have a UUID; generating one.\n" "\n" msgstr "" -"@f nie miaÅ‚ UUID-a; wygenerowano.\n" +"@f nie mia³ UUID-a; wygenerowano.\n" "\n" -#: e2fsck/problem.c:160 +#: e2fsck/problem.c:159 #, c-format msgid "" "Note: if several inode or block bitmap blocks or part\n" @@ -847,469 +849,441 @@ msgid "" "the backup block group descriptors may be OK.\n" "\n" msgstr "" -"Uwaga: jeÅ›li jakieÅ› bloki bitmap i-wÄ™złów lub bloków albo część\n" -"tabeli i-wÄ™złów wymaga relokacji, można uruchomić najpierw e2fsck\n" -"z opcjÄ… '-b %S'. Problem może tkwić tylko w deskryptorach głównej\n" -"grupy bloków, a zapasowe deskryptory grupy bloków mogÄ… być poprawne.\n" +"Uwaga: je¶li jakie¶ bloki bitmap i-wêz³ów lub bloków albo czê¶æ\n" +"tabeli i-wêz³ów wymaga relokacji, mo¿na uruchomiæ najpierw e2fsck\n" +"z opcj± '-b %S'. Problem mo¿e tkwiæ tylko w deskryptorach g³ównej\n" +"grupy bloków, a zapasowe deskryptory grupy bloków mog± byæ poprawne.\n" "\n" #. @-expanded: Corruption found in superblock. (%s = %N).\n -#: e2fsck/problem.c:169 +#: e2fsck/problem.c:168 msgid "Corruption found in @S. (%s = %N).\n" msgstr "Znaleziono uszkodzenia w @Su. (%s = %N).\n" #. @-expanded: Error determining size of the physical device: %m\n -#: e2fsck/problem.c:174 +#: e2fsck/problem.c:173 #, c-format msgid "Error determining size of the physical @v: %m\n" -msgstr "BÅ‚Ä…d podczas okreÅ›lania rozmiaru fizycznego urzÄ…dzenia: %m\n" +msgstr "B³±d podczas okre¶lania rozmiaru fizycznego urz±dzenia: %m\n" #. @-expanded: inode count in superblock is %i, should be %j.\n -#: e2fsck/problem.c:179 +#: e2fsck/problem.c:178 msgid "@i count in @S is %i, @s %j.\n" -msgstr "licznik i-wÄ™złów w @Su wynosi %i, powinien być %j.\n" +msgstr "licznik i-wêz³ów w @Su wynosi %i, powinien byæ %j.\n" -#: e2fsck/problem.c:183 +#: e2fsck/problem.c:182 msgid "The Hurd does not support the filetype feature.\n" -msgstr "Hurd nie obsÅ‚uguje wÅ‚asnoÅ›ci filetype.\n" +msgstr "Hurd nie obs³uguje w³asno¶ci filetype.\n" #. @-expanded: superblock has an invalid journal (inode %i).\n -#: e2fsck/problem.c:188 +#: e2fsck/problem.c:187 #, c-format msgid "@S has an @n @j (@i %i).\n" -msgstr "@S ma bÅ‚Ä™dnÄ… kronikÄ™ (@i %i).\n" +msgstr "@S ma b³êdn± kronikê (@i %i).\n" #. @-expanded: External journal has multiple filesystem users (unsupported).\n -#: e2fsck/problem.c:193 +#: e2fsck/problem.c:192 msgid "External @j has multiple @f users (unsupported).\n" -msgstr "ZewnÄ™trzna @j ma wielu użytkowników systemu plików (nie obsÅ‚ugiwane).\n" +msgstr "Zewnêtrzna @j ma wielu u¿ytkowników systemu plików (nie obs³ugiwane).\n" #. @-expanded: Can't find external journal\n -#: e2fsck/problem.c:198 +#: e2fsck/problem.c:197 msgid "Can't find external @j\n" -msgstr "Nie można znaleźć zewnÄ™trznej kroniki\n" +msgstr "Nie mo¿na znale¼æ zewnêtrznej kroniki\n" #. @-expanded: External journal has bad superblock\n -#: e2fsck/problem.c:203 +#: e2fsck/problem.c:202 msgid "External @j has bad @S\n" -msgstr "ZewnÄ™trzna @j ma bÅ‚Ä™dny @S\n" +msgstr "Zewnêtrzna @j ma b³êdny @S\n" #. @-expanded: External journal does not support this filesystem\n -#: e2fsck/problem.c:208 +#: e2fsck/problem.c:207 msgid "External @j does not support this @f\n" -msgstr "ZewnÄ™trzna @j nie obsÅ‚uguje tego systemu plików\n" +msgstr "Zewnêtrzna @j nie obs³uguje tego systemu plików\n" #. @-expanded: filesystem journal superblock is unknown type %N (unsupported).\n #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal #. @-expanded: format.\n #. @-expanded: It is also possible the journal superblock is corrupt.\n -#: e2fsck/problem.c:213 +#: e2fsck/problem.c:212 msgid "" "@f @j @S is unknown type %N (unsupported).\n" "It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n" "It is also possible the @j @S is corrupt.\n" msgstr "" -"@S kroniki systemu plików ma nieznany typ %N (nie obsÅ‚ugiwany).\n" -"Możliwe, że ta kopia e2fsck jest stara i/lub nie obsÅ‚uguje tego formatu\n" +"@S kroniki systemu plików ma nieznany typ %N (nie obs³ugiwany).\n" +"Mo¿liwe, ¿e ta kopia e2fsck jest stara i/lub nie obs³uguje tego formatu\n" "kroniki.\n" -"Możliwe też, że @S kroniki jest uszkodzony.\n" +"Mo¿liwe te¿, ¿e @S kroniki jest uszkodzony.\n" #. @-expanded: journal superblock is corrupt.\n -#: e2fsck/problem.c:221 +#: e2fsck/problem.c:220 msgid "@j @S is corrupt.\n" msgstr "@S kroniki jest uszkodzony.\n" #. @-expanded: superblock has_journal flag is clear, but a journal %s is present.\n -#: e2fsck/problem.c:226 +#: e2fsck/problem.c:225 #, c-format msgid "@S has_@j flag is clear, but a @j %s is present.\n" msgstr "flaga has_journal @Su jest wyzerowana, ale @j %s istnieje.\n" #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n -#: e2fsck/problem.c:231 +#: e2fsck/problem.c:230 msgid "@S needs_recovery flag is set, but no @j is present.\n" -msgstr "@S ma ustawionÄ… flagÄ™ needs_recovery, ale nie ma kroniki.\n" +msgstr "@S ma ustawion± flagê needs_recovery, ale nie ma kroniki.\n" #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n -#: e2fsck/problem.c:236 +#: e2fsck/problem.c:235 msgid "@S needs_recovery flag is clear, but @j has data.\n" msgstr "flaga needs_recovery @Su jest wyzerowana, ale @j zawiera dane.\n" #. @-expanded: Clear journal -#: e2fsck/problem.c:241 +#: e2fsck/problem.c:240 msgid "Clear @j" -msgstr "WyczyÅ›cić kronikÄ™" +msgstr "Wyczy¶ciæ kronikê" #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. -#: e2fsck/problem.c:246 e2fsck/problem.c:695 +#: e2fsck/problem.c:245 e2fsck/problem.c:664 msgid "@f has feature flag(s) set, but is a revision 0 @f. " -msgstr "@f ma ustawione flagi cech, ale ma wersjÄ™ 0 systemu plików. " +msgstr "@f ma ustawione flagi cech, ale ma wersjê 0 systemu plików. " #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n -#: e2fsck/problem.c:251 +#: e2fsck/problem.c:250 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" msgstr "%s @o @i %i (uid=%Iu, gid=%Ig, uprawnienia=%Im, rozmiar=%Is)\n" #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:256 +#: e2fsck/problem.c:255 msgid "@I %B (%b) found in @o @i %i.\n" -msgstr "znaleziono @I %B (%b) w @om i-węźle %i.\n" +msgstr "znaleziono @I %B (%b) w @om i-wê¼le %i.\n" #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:261 +#: e2fsck/problem.c:260 msgid "Already cleared %B (%b) found in @o @i %i.\n" -msgstr "Już wyczyszczono %B (%b) znaleziony w @om i-węźle %i.\n" +msgstr "Ju¿ wyczyszczono %B (%b) znaleziony w @om i-wê¼le %i.\n" #. @-expanded: illegal orphaned inode %i in superblock.\n -#: e2fsck/problem.c:266 +#: e2fsck/problem.c:265 #, c-format msgid "@I @o @i %i in @S.\n" msgstr "@I @o @i %i w @Su.\n" #. @-expanded: illegal inode %i in orphaned inode list.\n -#: e2fsck/problem.c:271 +#: e2fsck/problem.c:270 #, c-format msgid "@I @i %i in @o @i list.\n" -msgstr "@I @i %i w liÅ›cie @och i-wÄ™złów.\n" +msgstr "@I @i %i w li¶cie @och i-wêz³ów.\n" #. @-expanded: journal superblock has an unknown read-only feature flag set.\n -#: e2fsck/problem.c:276 +#: e2fsck/problem.c:275 msgid "@j @S has an unknown read-only feature flag set.\n" -msgstr "@S kroniki ma ustawionÄ… nieznanÄ… flagÄ™ tylko do odczytu.\n" +msgstr "@S kroniki ma ustawion± nieznan± flagê tylko do odczytu.\n" #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n -#: e2fsck/problem.c:281 +#: e2fsck/problem.c:280 msgid "@j @S has an unknown incompatible feature flag set.\n" -msgstr "@S kroniki ma ustawionÄ… flagÄ™ nieznanej cechy.\n" +msgstr "@S kroniki ma ustawion± flagê nieznanej cechy.\n" #. @-expanded: journal version not supported by this e2fsck.\n -#: e2fsck/problem.c:286 +#: e2fsck/problem.c:285 msgid "@j version not supported by this e2fsck.\n" -msgstr "Wersja kroniki nie obsÅ‚ugiwana przez ten e2fsck.\n" +msgstr "Wersja kroniki nie obs³ugiwana przez ten e2fsck.\n" #. @-expanded: Moving journal from /%s to hidden inode.\n #. @-expanded: \n -#: e2fsck/problem.c:291 +#: e2fsck/problem.c:290 #, c-format msgid "" "Moving @j from /%s to hidden @i.\n" "\n" msgstr "" -"Przenoszenie kroniki z /%s do ukrytego i-wÄ™zÅ‚a.\n" +"Przenoszenie kroniki z /%s do ukrytego i-wêz³a.\n" "\n" #. @-expanded: Error moving journal: %m\n #. @-expanded: \n -#: e2fsck/problem.c:296 +#: e2fsck/problem.c:295 #, c-format msgid "" "Error moving @j: %m\n" "\n" msgstr "" -"BÅ‚Ä…d podczas przenoszenia kroniki: %m\n" +"B³±d podczas przenoszenia kroniki: %m\n" "\n" #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n #. @-expanded: Clearing fields beyond the V1 journal superblock...\n #. @-expanded: \n -#: e2fsck/problem.c:301 +#: e2fsck/problem.c:300 msgid "" "Found @n V2 @j @S fields (from V1 @j).\n" "Clearing fields beyond the V1 @j @S...\n" "\n" msgstr "" -"Znaleziono bÅ‚Ä™dne pola @Su kroniki V2 (z kroniki V1).\n" -"Czyszczenie pól spoza @Su kroniki V1...\n" +"Znaleziono b³êdne pola @Su kroniki V2 (z kroniki V1).\n" +"Czyszczenie pól spoza @Su kroniki V1...\n" "\n" #. @-expanded: Run journal anyway -#: e2fsck/problem.c:307 +#: e2fsck/problem.c:306 msgid "Run @j anyway" -msgstr "Wykonać zapisy z kroniki" +msgstr "Wykonaæ zapisy z kroniki" #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n -#: e2fsck/problem.c:312 +#: e2fsck/problem.c:311 msgid "Recovery flag not set in backup @S, so running @j anyway.\n" msgstr "" "Flaga odtworzenia nie ustawiona w zapasowym @Su,\n" -"wiÄ™c wykonujÄ™ zapisy z kroniki mimo to.\n" +"wiêc wykonujê zapisy z kroniki mimo to.\n" #. @-expanded: Backing up journal inode block information.\n #. @-expanded: \n -#: e2fsck/problem.c:317 +#: e2fsck/problem.c:316 msgid "" "Backing up @j @i @b information.\n" "\n" -msgstr "Tworzenie kopii zapasowej informacji z @bu i-wÄ™zÅ‚a kroniki.\n" +msgstr "Tworzenie kopii zapasowej informacji z @bu i-wêz³a kroniki.\n" #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n #. @-expanded: is %N; should be zero. -#: e2fsck/problem.c:322 +#: e2fsck/problem.c:321 msgid "" "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n" "is %N; @s zero. " msgstr "" -"@f nie ma wÅ‚Ä…czonego resize_inode, ale s_reserved_gdt_blocks\n" +"@f nie ma w³±czonego resize_inode, ale s_reserved_gdt_blocks\n" "wynosi %N; @s zero. " #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero. -#: e2fsck/problem.c:328 +#: e2fsck/problem.c:327 msgid "Resize_@i not enabled, but the resize @i is non-zero. " -msgstr "Resize_inode nie wÅ‚Ä…czone, ale i-wÄ™zeÅ‚ zmiany rozmiaru jest niezerowy. " +msgstr "Resize_inode nie w³±czone, ale i-wêze³ zmiany rozmiaru jest niezerowy. " #. @-expanded: Resize inode not valid. -#: e2fsck/problem.c:333 +#: e2fsck/problem.c:332 msgid "Resize @i not valid. " -msgstr "i-wÄ™zeÅ‚ zmiany rozmiaru (resize) nieprawidÅ‚owy. " +msgstr "i-wêze³ zmiany rozmiaru (resize) nieprawid³owy. " #. @-expanded: superblock last mount time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:338 +#: e2fsck/problem.c:337 msgid "" "@S last mount time (%t,\n" "\tnow = %T) is in the future.\n" msgstr "" "Czas ostatniego montowania @Su (%t,\n" -"\tteraz = %T) jest w przyszÅ‚oÅ›ci.\n" +"\tteraz = %T) jest w przysz³o¶ci.\n" #. @-expanded: superblock last write time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:343 +#: e2fsck/problem.c:342 msgid "" "@S last write time (%t,\n" "\tnow = %T) is in the future.\n" msgstr "" "Czas ostatniego zapisu @Su (%t,\n" -"\tteraz = %T) jest w przyszÅ‚oÅ›ci.\n" +"\tteraz = %T) jest w przysz³o¶ci.\n" #. @-expanded: superblock hint for external superblock should be %X. -#: e2fsck/problem.c:347 +#: e2fsck/problem.c:346 #, c-format msgid "@S hint for external superblock @s %X. " -msgstr "Podpowiedź @Su dla zewnÄ™trznego superbloku powinna być %X. " +msgstr "Podpowied¼ @Su dla zewnêtrznego superbloku powinna byæ %X. " #. @-expanded: Adding dirhash hint to filesystem.\n #. @-expanded: \n -#: e2fsck/problem.c:352 +#: e2fsck/problem.c:351 msgid "" "Adding dirhash hint to @f.\n" "\n" msgstr "" -"Dodawanie podpowiedzi dirhash do systemu plików.\n" +"Dodawanie podpowiedzi dirhash do systemu plików.\n" "\n" -#. @-expanded: group descriptor %g checksum is %04x, should be %04y. -#: e2fsck/problem.c:357 -msgid "@g descriptor %g checksum is %04x, should be %04y. " -msgstr "Suma kontrolna deskryptora grupy %g to %04x, powinna wynosić %04y. " +#. @-expanded: group descriptor %g checksum is invalid. +#: e2fsck/problem.c:356 +#, c-format +msgid "@g descriptor %g checksum is invalid. " +msgstr "Suma kontrolna deskryptora grupy %g jest b³êdna. " #. @-expanded: group descriptor %g marked uninitialized without feature set.\n -#: e2fsck/problem.c:362 +#: e2fsck/problem.c:361 #, c-format msgid "@g descriptor %g marked uninitialized without feature set.\n" msgstr "Deskryptor grupy %g oznaczony jako nie zainicjowany bez zbioru cech.\n" +#. @-expanded: group %g block bitmap uninitialized but inode bitmap in use.\n +#: e2fsck/problem.c:366 +#, c-format +msgid "@g %g @b @B uninitialized but @i @B in use.\n" +msgstr "Bitmapa bloku grupy %g nie zainicjowana, ale @i @By jest u¿ywany.\n" + #. @-expanded: group descriptor %g has invalid unused inodes count %b. -#: e2fsck/problem.c:367 +#: e2fsck/problem.c:371 msgid "@g descriptor %g has invalid unused inodes count %b. " -msgstr "Deskryptor grupy %g ma bÅ‚Ä™dnÄ… liczbÄ™ nie używanych i-wÄ™złów %b. " +msgstr "Deskryptor grupy %g ma b³êdn± liczbê nie u¿ywanych i-wêz³ów %b. " #. @-expanded: Last group block bitmap uninitialized. -#: e2fsck/problem.c:372 +#: e2fsck/problem.c:376 msgid "Last @g @b @B uninitialized. " msgstr "@B @bu ostatniej grupy niezainicjowana. " -#: e2fsck/problem.c:377 +#: e2fsck/problem.c:381 #, c-format msgid "Journal transaction %i was corrupt, replay was aborted.\n" -msgstr "Transakcja %i kroniki byÅ‚a uszkodzona, odtwarzanie przerwano.\n" +msgstr "Transakcja %i kroniki by³a uszkodzona, odtwarzanie przerwano.\n" -#: e2fsck/problem.c:381 +#: e2fsck/problem.c:385 msgid "The test_fs flag is set (and ext4 is available). " -msgstr "Flags test_fs jest ustawiona (i ext4 jest dostÄ™pny). " +msgstr "Flags test_fs jest ustawiona (i ext4 jest dostêpny). " #. @-expanded: superblock last mount time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set) -#: e2fsck/problem.c:386 +#: e2fsck/problem.c:390 msgid "" "@S last mount time is in the future.\n" "\t(by less than a day, probably due to the hardware clock being incorrectly set) " msgstr "" -"Czas ostatniego montowania @Su jest w przyszÅ‚oÅ›ci\n" -"\t(o mniej niż dzieÅ„, zapewne z powodu zÅ‚ego ustawienia zegara sprzÄ™towego) " +"Czas ostatniego montowania @Su jest w przysz³o¶ci\n" +"\t(o mniej ni¿ dzieñ, zapewne z powodu z³ego ustawienia zegara sprzêtowego) " #. @-expanded: superblock last write time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set). -#: e2fsck/problem.c:392 +#: e2fsck/problem.c:396 msgid "" "@S last write time is in the future.\n" "\t(by less than a day, probably due to the hardware clock being incorrectly set). " msgstr "" -"Czas ostatniego zapisu @Su jest w przyszÅ‚oÅ›ci\n" -"\t(o mniej niż dzieÅ„, zapewne z powodu zÅ‚ego ustawienia zegara sprzÄ™towego) " +"Czas ostatniego zapisu @Su jest w przysz³o¶ci\n" +"\t(o mniej ni¿ dzieñ, zapewne z powodu z³ego ustawienia zegara sprzêtowego) " #. @-expanded: One or more block group descriptor checksums are invalid. -#: e2fsck/problem.c:398 +#: e2fsck/problem.c:402 msgid "One or more @b @g descriptor checksums are invalid. " -msgstr "Jeden lub wiÄ™cej deskryptorów grup bloków jest bÅ‚Ä™dnych. " - -#. @-expanded: Setting free inodes count to %j (was %i)\n -#: e2fsck/problem.c:403 -msgid "Setting free @is count to %j (was %i)\n" -msgstr "Ustawianie liczby wolnych i-wÄ™złów na %j (byÅ‚o %i)\n" - -#. @-expanded: Setting free blocks count to %c (was %b)\n -#: e2fsck/problem.c:408 -msgid "Setting free @bs count to %c (was %b)\n" -msgstr "Ustawianie liczby wolnych @bów na %c (byÅ‚o %b)\n" - -#. @-expanded: Making quota inode %i (%Q) hidden.\n -#: e2fsck/problem.c:413 -msgid "Making @q @i %i (%Q) hidden.\n" -msgstr "Zmiana i-wÄ™zÅ‚a @qów na ukryty.\n" - -#. @-expanded: superblock has invalid MMP block. -#: e2fsck/problem.c:418 -msgid "@S has invalid MMP block. " -msgstr "@S ma bÅ‚Ä™dny blok MMP. " - -#. @-expanded: superblock has invalid MMP magic. -#: e2fsck/problem.c:423 -msgid "@S has invalid MMP magic. " -msgstr "@S ma bÅ‚Ä™dnÄ… liczbÄ™ magicznÄ… MMP. " - -#: e2fsck/problem.c:428 -#, c-format -msgid "ext2fs_open2: %m\n" -msgstr "ext2fs_open2: %m\n" - -#: e2fsck/problem.c:433 -#, c-format -msgid "ext2fs_check_desc: %m\n" -msgstr "ext2fs_check_desc: %m\n" +msgstr "Jeden lub wiêcej deskryptorów grup bloków jest b³êdnych. " #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n -#: e2fsck/problem.c:440 +#: e2fsck/problem.c:409 msgid "Pass 1: Checking @is, @bs, and sizes\n" -msgstr "Przebieg 1: Sprawdzanie i-wÄ™złów, @bów i rozmiarów\n" +msgstr "Przebieg 1: Sprawdzanie i-wêz³ów, @bów i rozmiarów\n" #. @-expanded: root inode is not a directory. -#: e2fsck/problem.c:444 +#: e2fsck/problem.c:413 msgid "@r is not a @d. " msgstr "@r nie jest @diem. " #. @-expanded: root inode has dtime set (probably due to old mke2fs). -#: e2fsck/problem.c:449 +#: e2fsck/problem.c:418 msgid "@r has dtime set (probably due to old mke2fs). " msgstr "@r ma ustawiony dtime (zapewne przez stary mke2fs). " #. @-expanded: Reserved inode %i (%Q) has invalid mode. -#: e2fsck/problem.c:454 +#: e2fsck/problem.c:423 msgid "Reserved @i %i (%Q) has @n mode. " -msgstr "Zarezerwowany @i %i (%Q) ma bÅ‚Ä™dne uprawnienia. " +msgstr "Zarezerwowany @i %i (%Q) ma b³êdne uprawnienia. " #. @-expanded: deleted inode %i has zero dtime. -#: e2fsck/problem.c:459 +#: e2fsck/problem.c:428 #, c-format msgid "@D @i %i has zero dtime. " msgstr "@D @i %i ma zerowy dtime. " #. @-expanded: inode %i is in use, but has dtime set. -#: e2fsck/problem.c:464 +#: e2fsck/problem.c:433 #, c-format msgid "@i %i is in use, but has dtime set. " -msgstr "@i %i jest używany, ale ma ustawiony dtime. " +msgstr "@i %i jest u¿ywany, ale ma ustawiony dtime. " #. @-expanded: inode %i is a zero-length directory. -#: e2fsck/problem.c:469 +#: e2fsck/problem.c:438 #, c-format msgid "@i %i is a @z @d. " msgstr "@i %i jest @diem @z. " #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:474 +#: e2fsck/problem.c:443 msgid "@g %g's @b @B at %b @C.\n" -msgstr "@B @bów grupy %g w %b jest w konflikcie z innym @biem.\n" +msgstr "@B @bów grupy %g w %b jest w konflikcie z innym @biem.\n" #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:479 +#: e2fsck/problem.c:448 msgid "@g %g's @i @B at %b @C.\n" -msgstr "@B i-wÄ™złów grupy %g w %b jest w konflikcie z innym @biem.\n" +msgstr "@B i-wêz³ów grupy %g w %b jest w konflikcie z innym @biem.\n" #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:484 +#: e2fsck/problem.c:453 msgid "@g %g's @i table at %b @C.\n" -msgstr "tablica i-wÄ™złów grupy %g w %b jest w konflikcie z innym @biem.\n" +msgstr "tablica i-wêz³ów grupy %g w %b jest w konflikcie z innym @biem.\n" #. @-expanded: group %g's block bitmap (%b) is bad. -#: e2fsck/problem.c:489 +#: e2fsck/problem.c:458 msgid "@g %g's @b @B (%b) is bad. " -msgstr "@B @bów grupy %g (%b) jest bÅ‚Ä™dna. " +msgstr "@B @bów grupy %g (%b) jest b³êdna. " #. @-expanded: group %g's inode bitmap (%b) is bad. -#: e2fsck/problem.c:494 +#: e2fsck/problem.c:463 msgid "@g %g's @i @B (%b) is bad. " -msgstr "@B i-wÄ™złów grupy %g (%b) jest bÅ‚Ä™dna. " +msgstr "@B i-wêz³ów grupy %g (%b) jest b³êdna. " #. @-expanded: inode %i, i_size is %Is, should be %N. -#: e2fsck/problem.c:499 +#: e2fsck/problem.c:468 msgid "@i %i, i_size is %Is, @s %N. " msgstr "@i %i, i_size wynosi %Is, @s %N. " #. @-expanded: inode %i, i_blocks is %Ib, should be %N. -#: e2fsck/problem.c:504 +#: e2fsck/problem.c:473 msgid "@i %i, i_@bs is %Ib, @s %N. " msgstr "@i %i, i_blocks wynosi %Ib, @s %N. " #. @-expanded: illegal %B (%b) in inode %i. -#: e2fsck/problem.c:509 +#: e2fsck/problem.c:478 msgid "@I %B (%b) in @i %i. " -msgstr "@I %B (%b) w i-węźle %i. " +msgstr "@I %B (%b) w i-wê¼le %i. " #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i. -#: e2fsck/problem.c:514 +#: e2fsck/problem.c:483 msgid "%B (%b) overlaps @f metadata in @i %i. " -msgstr "%B (%b) nakÅ‚ada siÄ™ na metadane systemu plików w i-węźle %i. " +msgstr "%B (%b) nak³ada siê na metadane systemu plików w i-wê¼le %i. " #. @-expanded: inode %i has illegal block(s). -#: e2fsck/problem.c:519 +#: e2fsck/problem.c:488 #, c-format msgid "@i %i has illegal @b(s). " msgstr "@i %i ma niedopuszczalne @bi. " #. @-expanded: Too many illegal blocks in inode %i.\n -#: e2fsck/problem.c:524 +#: e2fsck/problem.c:493 #, c-format msgid "Too many illegal @bs in @i %i.\n" -msgstr "Za dużo niedopuszczalnych @bów w i-węźle %i.\n" +msgstr "Za du¿o niedopuszczalnych @bów w i-wê¼le %i.\n" #. @-expanded: illegal %B (%b) in bad block inode. -#: e2fsck/problem.c:529 +#: e2fsck/problem.c:498 msgid "@I %B (%b) in bad @b @i. " -msgstr "@I %B (%b) w i-węźle wadliwych @bów. " +msgstr "@I %B (%b) w i-wê¼le wadliwych @bów. " #. @-expanded: Bad block inode has illegal block(s). -#: e2fsck/problem.c:534 +#: e2fsck/problem.c:503 msgid "Bad @b @i has illegal @b(s). " -msgstr "I-wÄ™zeÅ‚ wadliwych @bów ma niedopuszczalne @bi. " +msgstr "I-wêze³ wadliwych @bów ma niedopuszczalne @bi. " #. @-expanded: Duplicate or bad block in use!\n -#: e2fsck/problem.c:539 +#: e2fsck/problem.c:508 msgid "Duplicate or bad @b in use!\n" -msgstr "Podwójny lub wadliwy @b jest używany!\n" +msgstr "Podwójny lub wadliwy @b jest u¿ywany!\n" #. @-expanded: Bad block %b used as bad block inode indirect block. -#: e2fsck/problem.c:544 +#: e2fsck/problem.c:513 msgid "Bad @b %b used as bad @b @i indirect @b. " -msgstr "Wadliwy @b %b jest używany jako niebiezpoÅ›redni @b i-węźła z wadliwym @biem. " +msgstr "Wadliwy @b %b jest u¿ywany jako niebiezpo¶redni @b i-wê¼³a z wadliwym @biem. " #. @-expanded: \n #. @-expanded: The bad block inode has probably been corrupted. You probably\n #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n #. @-expanded: in the filesystem.\n -#: e2fsck/problem.c:549 +#: e2fsck/problem.c:518 msgid "" "\n" "The bad @b @i has probably been corrupted. You probably\n" @@ -1317,1251 +1291,1196 @@ msgid "" "in the @f.\n" msgstr "" "\n" -"I-wÄ™zeÅ‚ z wadliwym @biem zostaÅ‚ prawdopodobnie uszkodzony.\n" -"Prawdopodobnie należaÅ‚oby teraz zatrzymać i uruchomić e2fsck -c\n" -"aby przeszukać @f pod kÄ…tem wadliwych bloków.\n" +"I-wêze³ z wadliwym @biem zosta³ prawdopodobnie uszkodzony.\n" +"Prawdopodobnie nale¿a³oby teraz zatrzymaæ i uruchomiæ e2fsck -c\n" +"aby przeszukaæ @f pod k±tem wadliwych bloków.\n" #. @-expanded: \n #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n -#: e2fsck/problem.c:556 +#: e2fsck/problem.c:525 msgid "" "\n" "If the @b is really bad, the @f can not be fixed.\n" msgstr "" "\n" -"Jeżeli @b jest naprawdÄ™ wadliwy, @f nie może być naprawiony.\n" +"Je¿eli @b jest naprawdê wadliwy, @f nie mo¿e byæ naprawiony.\n" #. @-expanded: You can remove this block from the bad block list and hope\n #. @-expanded: that the block is really OK. But there are no guarantees.\n #. @-expanded: \n -#: e2fsck/problem.c:561 +#: e2fsck/problem.c:530 msgid "" "You can remove this @b from the bad @b list and hope\n" "that the @b is really OK. But there are no guarantees.\n" "\n" msgstr "" -"Można wyczyÅ›cić ten @b z listy wadliwych @bów i mieć nadziejÄ™,\n" -"że @b jest naprawdÄ™ dobry. Ale nie ma takiej gwarancji.\n" +"Mo¿na wyczy¶ciæ ten @b z listy wadliwych @bów i mieæ nadziejê,\n" +"¿e @b jest naprawdê dobry. Ale nie ma takiej gwarancji.\n" "\n" #. @-expanded: The primary superblock (%b) is on the bad block list.\n -#: e2fsck/problem.c:567 +#: e2fsck/problem.c:536 msgid "The primary @S (%b) is on the bad @b list.\n" -msgstr "Główny @S (%b) jest na liÅ›cie wadliwych @bów.\n" +msgstr "G³ówny @S (%b) jest na li¶cie wadliwych @bów.\n" #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n -#: e2fsck/problem.c:572 +#: e2fsck/problem.c:541 msgid "Block %b in the primary @g descriptors is on the bad @b list\n" -msgstr "Blok %b z deskryptorów głównej grupy jest na liÅ›cie wadliwych @bów\n" +msgstr "Blok %b z deskryptorów g³ównej grupy jest na li¶cie wadliwych @bów\n" #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n -#: e2fsck/problem.c:578 +#: e2fsck/problem.c:547 msgid "Warning: Group %g's @S (%b) is bad.\n" msgstr "Uwaga: w grupie %g @S (%b) jest wadliwy.\n" #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n -#: e2fsck/problem.c:583 +#: e2fsck/problem.c:552 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n" -msgstr "Uwaga: kopia deskryptorów grupy %g ma bÅ‚Ä™dny @b (%b).\n" +msgstr "Uwaga: kopia deskryptorów grupy %g ma b³êdny @b (%b).\n" #. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n -#: e2fsck/problem.c:589 +#: e2fsck/problem.c:558 msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n" -msgstr "BÅ‚Ä…d programu? @b #%b uznany bez powodu w process_bad_block.\n" +msgstr "B³±d programu? @b #%b uznany bez powodu w process_bad_block.\n" #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n -#: e2fsck/problem.c:595 +#: e2fsck/problem.c:564 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n" -msgstr "@A %N ciÄ…gÅ‚ych @bów w grupie @bów %g dla %s: %m\n" +msgstr "@A %N ci±g³ych @bów w grupie @bów %g dla %s: %m\n" #. @-expanded: error allocating block buffer for relocating %s\n -#: e2fsck/problem.c:600 +#: e2fsck/problem.c:569 #, c-format msgid "@A @b buffer for relocating %s\n" -msgstr "@A bufora @bów do przenoszenia %s\n" +msgstr "@A bufora @bów do przenoszenia %s\n" #. @-expanded: Relocating group %g's %s from %b to %c...\n -#: e2fsck/problem.c:605 +#: e2fsck/problem.c:574 msgid "Relocating @g %g's %s from %b to %c...\n" msgstr "Przenoszenie w grupie %g %s z %b do %c...\n" #. @-expanded: Relocating group %g's %s to %c...\n -#: e2fsck/problem.c:610 +#: e2fsck/problem.c:579 #, c-format msgid "Relocating @g %g's %s to %c...\n" msgstr "Przenoszenie w grupie %g %s do %c...\n" #. @-expanded: Warning: could not read block %b of %s: %m\n -#: e2fsck/problem.c:615 +#: e2fsck/problem.c:584 msgid "Warning: could not read @b %b of %s: %m\n" -msgstr "Uwaga: nie można odczytać @bu %b z %s: %m\n" +msgstr "Uwaga: nie mo¿na odczytaæ @bu %b z %s: %m\n" #. @-expanded: Warning: could not write block %b for %s: %m\n -#: e2fsck/problem.c:620 +#: e2fsck/problem.c:589 msgid "Warning: could not write @b %b for %s: %m\n" -msgstr "Uwaga: nie można zapisać @bu %b do %s: %m\n" +msgstr "Uwaga: nie mo¿na zapisaæ @bu %b do %s: %m\n" #. @-expanded: error allocating inode bitmap (%N): %m\n -#: e2fsck/problem.c:625 e2fsck/problem.c:1474 +#: e2fsck/problem.c:594 e2fsck/problem.c:1405 msgid "@A @i @B (%N): %m\n" -msgstr "@A bitmapy i-wÄ™złów (%N): %m\n" +msgstr "@A bitmapy i-wêz³ów (%N): %m\n" #. @-expanded: error allocating block bitmap (%N): %m\n -#: e2fsck/problem.c:630 +#: e2fsck/problem.c:599 msgid "@A @b @B (%N): %m\n" -msgstr "@A bitmapy i-wÄ™złów (%N): %m\n" +msgstr "@A bitmapy i-wêz³ów (%N): %m\n" #. @-expanded: error allocating icount link information: %m\n -#: e2fsck/problem.c:635 +#: e2fsck/problem.c:604 #, c-format msgid "@A icount link information: %m\n" -msgstr "@A informacji o liczniku dowiÄ…zaÅ„ (icount): %m\n" +msgstr "@A informacji o liczniku dowi±zañ (icount): %m\n" #. @-expanded: error allocating directory block array: %m\n -#: e2fsck/problem.c:640 +#: e2fsck/problem.c:609 #, c-format msgid "@A @d @b array: %m\n" -msgstr "@A tablicy @dch @bów: %m\n" +msgstr "@A tablicy @dch @bów: %m\n" #. @-expanded: Error while scanning inodes (%i): %m\n -#: e2fsck/problem.c:645 +#: e2fsck/problem.c:614 #, c-format msgid "Error while scanning @is (%i): %m\n" -msgstr "BÅ‚Ä…d podczas przeszukiwania i-wÄ™złów (%i): %m\n" +msgstr "B³±d podczas przeszukiwania i-wêz³ów (%i): %m\n" #. @-expanded: Error while iterating over blocks in inode %i: %m\n -#: e2fsck/problem.c:650 +#: e2fsck/problem.c:619 #, c-format msgid "Error while iterating over @bs in @i %i: %m\n" -msgstr "BÅ‚Ä…d podczas iteracji po @bach w i-węźle %i: %m\n" +msgstr "B³±d podczas iteracji po @bach w i-wê¼le %i: %m\n" #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n -#: e2fsck/problem.c:655 +#: e2fsck/problem.c:624 msgid "Error storing @i count information (@i=%i, count=%N): %m\n" -msgstr "BÅ‚Ä…d podczas zapisu informacji o liczbie i-wÄ™złów (@i=%i, liczba=%N): %m\n" +msgstr "B³±d podczas zapisu informacji o liczbie i-wêz³ów (@i=%i, liczba=%N): %m\n" #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n -#: e2fsck/problem.c:660 +#: e2fsck/problem.c:629 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n" -msgstr "BÅ‚Ä…d podczas zapisu informacji o @dch @bach (@i=%i, @b=%b, liczba=%N): %m\n" +msgstr "B³±d podczas zapisu informacji o @dch @bach (@i=%i, @b=%b, liczba=%N): %m\n" #. @-expanded: Error reading inode %i: %m\n -#: e2fsck/problem.c:666 +#: e2fsck/problem.c:635 #, c-format msgid "Error reading @i %i: %m\n" -msgstr "BÅ‚Ä…d podczas odczytu i-wÄ™zÅ‚a %i: %m\n" +msgstr "B³±d podczas odczytu i-wêz³a %i: %m\n" #. @-expanded: inode %i has imagic flag set. -#: e2fsck/problem.c:674 +#: e2fsck/problem.c:643 #, c-format msgid "@i %i has imagic flag set. " -msgstr "@i %i ma ustawionÄ… flagÄ™ imagic. " +msgstr "@i %i ma ustawion± flagê imagic. " #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n #. @-expanded: or append-only flag set. -#: e2fsck/problem.c:679 +#: e2fsck/problem.c:648 #, c-format msgid "" "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n" "or append-only flag set. " msgstr "" -"Specjalny plik (@v/gniazdo/potok/dowiÄ…zanie) (@i %i) ma ustawionÄ…\n" -"flagÄ™ nienaruszalnoÅ›ci (immutable) lub dopisywania (append-only). " +"Specjalny plik (@v/gniazdo/potok/dowi±zanie) (@i %i) ma ustawion±\n" +"flagê nienaruszalno¶ci (immutable) lub dopisywania (append-only). " #. @-expanded: inode %i has compression flag set on filesystem without compression support. -#: e2fsck/problem.c:685 +#: e2fsck/problem.c:654 #, c-format msgid "@i %i has @cion flag set on @f without @cion support. " msgstr "" -"@i %i ma ustawionÄ… flagÄ™ kompresji na systemie plików bez obsÅ‚ugi\n" +"@i %i ma ustawion± flagê kompresji na systemie plików bez obs³ugi\n" "kompresji. " #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size. -#: e2fsck/problem.c:690 +#: e2fsck/problem.c:659 #, c-format msgid "Special (@v/socket/fifo) @i %i has non-zero size. " -msgstr "Specjalny (@v/gniazdo/potok/dowiÄ…zanie) @i %i ma niezerowy rozmiar. " +msgstr "Specjalny (@v/gniazdo/potok/dowi±zanie) @i %i ma niezerowy rozmiar. " #. @-expanded: journal inode is not in use, but contains data. -#: e2fsck/problem.c:700 +#: e2fsck/problem.c:669 msgid "@j @i is not in use, but contains data. " -msgstr "@i kroniki nie jest używany, ale zawiera dane. " +msgstr "@i kroniki nie jest u¿ywany, ale zawiera dane. " #. @-expanded: journal is not regular file. -#: e2fsck/problem.c:705 +#: e2fsck/problem.c:674 msgid "@j is not regular file. " -msgstr "@j nie jest zwykÅ‚ym plikiem. " +msgstr "@j nie jest zwyk³ym plikiem. " #. @-expanded: inode %i was part of the orphaned inode list. -#: e2fsck/problem.c:710 +#: e2fsck/problem.c:679 #, c-format msgid "@i %i was part of the @o @i list. " -msgstr "@i %i byÅ‚ częściÄ… listy osieroconych i-wÄ™złów. " +msgstr "@i %i by³ czê¶ci± listy osieroconych i-wêz³ów. " #. @-expanded: inodes that were part of a corrupted orphan linked list found. -#: e2fsck/problem.c:716 +#: e2fsck/problem.c:685 msgid "@is that were part of a corrupted orphan linked list found. " -msgstr "Znaleziono i-wÄ™zÅ‚y, które byÅ‚y częściÄ… uszkodzonej listy sierot. " +msgstr "Znaleziono i-wêz³y, które by³y czê¶ci± uszkodzonej listy sierot. " #. @-expanded: error allocating refcount structure (%N): %m\n -#: e2fsck/problem.c:721 +#: e2fsck/problem.c:690 msgid "@A refcount structure (%N): %m\n" msgstr "@A struktury refcount (%N): %m\n" #. @-expanded: Error reading extended attribute block %b for inode %i. -#: e2fsck/problem.c:726 +#: e2fsck/problem.c:695 msgid "Error reading @a @b %b for @i %i. " -msgstr "BÅ‚Ä…d podczas odczytu @bu rozszerzonych atrybutów %b dla i-wÄ™zÅ‚a %i. " +msgstr "B³±d podczas odczytu @bu rozszerzonych atrybutów %b dla i-wêz³a %i. " #. @-expanded: inode %i has a bad extended attribute block %b. -#: e2fsck/problem.c:731 +#: e2fsck/problem.c:700 msgid "@i %i has a bad @a @b %b. " -msgstr "@i %i ma bÅ‚Ä™dny @b rozszerzonych atrybutów %b. " +msgstr "@i %i ma b³êdny @b rozszerzonych atrybutów %b. " #. @-expanded: Error reading extended attribute block %b (%m). -#: e2fsck/problem.c:736 +#: e2fsck/problem.c:705 msgid "Error reading @a @b %b (%m). " -msgstr "BÅ‚Ä…d podczas odczytu @bu rozszerzonych atrybutów %b (%m). " +msgstr "B³±d podczas odczytu @bu rozszerzonych atrybutów %b (%m). " #. @-expanded: extended attribute block %b has reference count %r, should be %N. -#: e2fsck/problem.c:741 +#: e2fsck/problem.c:710 msgid "@a @b %b has reference count %r, @s %N. " -msgstr "@b rozszerzonych atrybutów %b ma liczbÄ™ odniesieÅ„ %r, powinno być %N. " +msgstr "@b rozszerzonych atrybutów %b ma liczbê odniesieñ %r, powinno byæ %N. " #. @-expanded: Error writing extended attribute block %b (%m). -#: e2fsck/problem.c:746 +#: e2fsck/problem.c:715 msgid "Error writing @a @b %b (%m). " -msgstr "BÅ‚Ä…d podczas zapisu @bu rozszerzonych atrybutów %b (%m). " +msgstr "B³±d podczas zapisu @bu rozszerzonych atrybutów %b (%m). " #. @-expanded: extended attribute block %b has h_blocks > 1. -#: e2fsck/problem.c:751 +#: e2fsck/problem.c:720 msgid "@a @b %b has h_@bs > 1. " -msgstr "@b rozszerzonych atrybutów %b ma h_blocks > 1. " +msgstr "@b rozszerzonych atrybutów %b ma h_blocks > 1. " #. @-expanded: error allocating extended attribute block %b. -#: e2fsck/problem.c:756 +#: e2fsck/problem.c:725 msgid "@A @a @b %b. " -msgstr "@A @bu rozszerzonych atrybutów %b. " +msgstr "@A @bu rozszerzonych atrybutów %b. " #. @-expanded: extended attribute block %b is corrupt (allocation collision). -#: e2fsck/problem.c:761 +#: e2fsck/problem.c:730 msgid "@a @b %b is corrupt (allocation collision). " -msgstr "@b rozszerzonych atrybutów %b jest uszkodzony (kolizja przydzielania). " +msgstr "@b rozszerzonych atrybutów %b jest uszkodzony (kolizja przydzielania). " #. @-expanded: extended attribute block %b is corrupt (invalid name). -#: e2fsck/problem.c:766 +#: e2fsck/problem.c:735 msgid "@a @b %b is corrupt (@n name). " -msgstr "@b rozszerzonych atrybutów %b jest uszkodzony (bÅ‚Ä™dna nazwa). " +msgstr "@b rozszerzonych atrybutów %b jest uszkodzony (b³êdna nazwa). " #. @-expanded: extended attribute block %b is corrupt (invalid value). -#: e2fsck/problem.c:771 +#: e2fsck/problem.c:740 msgid "@a @b %b is corrupt (@n value). " -msgstr "@b rozszerzonych atrybutów %b jest uszkodzony (bÅ‚Ä™dna wartość). " +msgstr "@b rozszerzonych atrybutów %b jest uszkodzony (b³êdna warto¶æ). " #. @-expanded: inode %i is too big. -#: e2fsck/problem.c:776 +#: e2fsck/problem.c:745 #, c-format msgid "@i %i is too big. " -msgstr "@i %i jest zbyt duży. " +msgstr "@i %i jest zbyt du¿y. " #. @-expanded: %B (%b) causes directory to be too big. -#: e2fsck/problem.c:780 +#: e2fsck/problem.c:749 msgid "%B (%b) causes @d to be too big. " -msgstr "%B (%b) powoduje, że @d jest zbyt duży. " +msgstr "%B (%b) powoduje, ¿e @d jest zbyt du¿y. " -#: e2fsck/problem.c:785 +#: e2fsck/problem.c:754 msgid "%B (%b) causes file to be too big. " -msgstr "%B (%b) powoduje, że plik jest zbyt duży. " +msgstr "%B (%b) powoduje, ¿e plik jest zbyt du¿y. " -#: e2fsck/problem.c:790 +#: e2fsck/problem.c:759 msgid "%B (%b) causes symlink to be too big. " -msgstr "%B (%b) powoduje, że dowiÄ…zanie jest zbyt duże. " +msgstr "%B (%b) powoduje, ¿e dowi±zanie jest zbyt du¿e. " #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n -#: e2fsck/problem.c:795 +#: e2fsck/problem.c:764 #, c-format msgid "@i %i has INDEX_FL flag set on @f without htree support.\n" -msgstr "@i %i ma ustawionÄ… flagÄ™ INDEX_FL na systemie plików bez obsÅ‚ugi htree.\n" +msgstr "@i %i ma ustawion± flagê INDEX_FL na systemie plików bez obs³ugi htree.\n" #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n -#: e2fsck/problem.c:800 +#: e2fsck/problem.c:769 #, c-format msgid "@i %i has INDEX_FL flag set but is not a @d.\n" -msgstr "@i %i ma ustawionÄ… flagÄ™ INDEX_FL, ale nie jest @diem.\n" +msgstr "@i %i ma ustawion± flagê INDEX_FL, ale nie jest @diem.\n" #. @-expanded: HTREE directory inode %i has an invalid root node.\n -#: e2fsck/problem.c:805 +#: e2fsck/problem.c:774 #, c-format msgid "@h %i has an @n root node.\n" -msgstr "@h %i ma bÅ‚Ä™dny główny wÄ™zeÅ‚.\n" +msgstr "@h %i ma b³êdny g³ówny wêze³.\n" #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n -#: e2fsck/problem.c:810 +#: e2fsck/problem.c:779 msgid "@h %i has an unsupported hash version (%N)\n" -msgstr "@h %i ma nie obsÅ‚ugiwanÄ… wersjÄ™ hasza (%N)\n" +msgstr "@h %i ma nie obs³ugiwan± wersjê hasza (%N)\n" #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n -#: e2fsck/problem.c:815 +#: e2fsck/problem.c:784 #, c-format msgid "@h %i uses an incompatible htree root node flag.\n" -msgstr "@h %i używa niekompatybilnej flagi głównego wÄ™zÅ‚a htree.\n" +msgstr "@h %i u¿ywa niekompatybilnej flagi g³ównego wêz³a htree.\n" #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n -#: e2fsck/problem.c:820 +#: e2fsck/problem.c:789 msgid "@h %i has a tree depth (%N) which is too big\n" -msgstr "@h %i ma zbyt dużą gÅ‚Ä™bokość drzewa (%N)\n" +msgstr "@h %i ma zbyt du¿± g³êboko¶æ drzewa (%N)\n" #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n #. @-expanded: filesystem metadata. -#: e2fsck/problem.c:825 +#: e2fsck/problem.c:794 msgid "" "Bad @b @i has an indirect @b (%b) that conflicts with\n" "@f metadata. " msgstr "" -"I-wÄ™zeÅ‚ z wadliwym @biem ma niebezpoÅ›redni @b (%b) bÄ™dÄ…cy\n" -"w konflikcie z metadanymi systemu plików. " +"I-wêze³ z wadliwym @biem ma niebezpo¶redni @b (%b) bêd±cy\n" +"w konflikcie z metadanymi systemu plików. " #. @-expanded: Resize inode (re)creation failed: %m. -#: e2fsck/problem.c:831 +#: e2fsck/problem.c:800 #, c-format msgid "Resize @i (re)creation failed: %m." -msgstr "Tworzenie/odtwarzanie i-wÄ™zÅ‚a zmiany rozmiaru nie powiodÅ‚o siÄ™: %m." +msgstr "Tworzenie/odtwarzanie i-wêz³a zmiany rozmiaru nie powiod³o siê: %m." #. @-expanded: inode %i has a extra size (%IS) which is invalid\n -#: e2fsck/problem.c:836 +#: e2fsck/problem.c:805 msgid "@i %i has a extra size (%IS) which is @n\n" -msgstr "@i %i ma dodatkowy rozmiar (%IS), co jest bÅ‚Ä™dne\n" +msgstr "@i %i ma dodatkowy rozmiar (%IS), co jest b³êdne\n" #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n -#: e2fsck/problem.c:841 +#: e2fsck/problem.c:810 msgid "@a in @i %i has a namelen (%N) which is @n\n" -msgstr "@a w i-węźle %i ma namelen (%N), co jest bÅ‚Ä™dne\n" +msgstr "@a w i-wê¼le %i ma namelen (%N), co jest b³êdne\n" #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n -#: e2fsck/problem.c:846 +#: e2fsck/problem.c:815 msgid "@a in @i %i has a value offset (%N) which is @n\n" -msgstr "@a w i-węźle %i ma przesuniÄ™cie wartoÅ›ci (%N), co jest bÅ‚Ä™dne\n" +msgstr "@a w i-wê¼le %i ma przesuniêcie warto¶ci (%N), co jest b³êdne\n" #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n -#: e2fsck/problem.c:851 +#: e2fsck/problem.c:820 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" -msgstr "@a w i-węźle %i ma @b wartoÅ›ci (%N), co jest bÅ‚Ä™dne (musi być 0)\n" +msgstr "@a w i-wê¼le %i ma @b warto¶ci (%N), co jest b³êdne (musi byæ 0)\n" #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n -#: e2fsck/problem.c:856 +#: e2fsck/problem.c:825 msgid "@a in @i %i has a value size (%N) which is @n\n" -msgstr "@a w i-węźle %i ma rozmiar wartoÅ›ci (%N), co jest bÅ‚Ä™dne\n" +msgstr "@a w i-wê¼le %i ma rozmiar warto¶ci (%N), co jest b³êdne\n" #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n -#: e2fsck/problem.c:861 +#: e2fsck/problem.c:830 msgid "@a in @i %i has a hash (%N) which is @n\n" -msgstr "@a w i-węźle %i ma hash (%N), co jest bÅ‚Ä™dne\n" +msgstr "@a w i-wê¼le %i ma hash (%N), co jest b³êdne\n" #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n -#: e2fsck/problem.c:866 +#: e2fsck/problem.c:835 msgid "@i %i is a %It but it looks like it is really a directory.\n" -msgstr "@i %i to %It, ale wyglÄ…da jakby w rzeczywistoÅ›ci byÅ‚ katalogiem.\n" +msgstr "@i %i to %It, ale wygl±da jakby w rzeczywisto¶ci by³ katalogiem.\n" #. @-expanded: Error while reading over extent tree in inode %i: %m\n -#: e2fsck/problem.c:871 +#: e2fsck/problem.c:840 #, c-format msgid "Error while reading over @x tree in @i %i: %m\n" -msgstr "BÅ‚Ä…d podczas czytania po @xach w i-węźle %i: %m\n" +msgstr "B³±d podczas czytania po @xach w i-wê¼le %i: %m\n" #. @-expanded: Failed to iterate extents in inode %i\n #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n -#: e2fsck/problem.c:876 +#: e2fsck/problem.c:845 msgid "" "Failed to iterate extents in @i %i\n" "\t(op %s, blk %b, lblk %c): %m\n" msgstr "" -"Nie udaÅ‚o siÄ™ przejść ekstentów w i-węźle %i\n" +"Nie uda³o siê przej¶æ ekstentów w i-wê¼le %i\n" "\t(op %s, blk %b, lblk %c): %m\n" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n -#: e2fsck/problem.c:882 +#: e2fsck/problem.c:851 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, @n physical @b %b, len %N)\n" msgstr "" "@i %i ma @n ekstent\n" -"\t(@b logiczny %c, @n @b fizyczny %b, dÅ‚ugość %N)\n" +"\t(@b logiczny %c, @n @b fizyczny %b, d³ugo¶æ %N)\n" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n -#: e2fsck/problem.c:887 +#: e2fsck/problem.c:856 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, physical @b %b, @n len %N)\n" msgstr "" -"@i %i ma bÅ‚Ä™dny ekstent\n" -"\t(@b logiczny %c, @b fizyczny %b, bÅ‚Ä™dna dÅ‚ugość %N)\n" +"@i %i ma b³êdny ekstent\n" +"\t(@b logiczny %c, @b fizyczny %b, b³êdna d³ugo¶æ %N)\n" #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n -#: e2fsck/problem.c:892 +#: e2fsck/problem.c:861 #, c-format msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n" -msgstr "@i %i ma ustawionÄ… flagÄ™ EXTENTS_FL na systemie plików bez obsÅ‚ugi ekstentów.\n" +msgstr "@i %i ma ustawion± flagê EXTENTS_FL na systemie plików bez obs³ugi ekstentów.\n" #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n -#: e2fsck/problem.c:897 +#: e2fsck/problem.c:866 #, c-format msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n" -msgstr "@i %i ma format z ekstentami, ale w superbloku brakuje wÅ‚aÅ›ciwoÅ›ci EXTENTS\n" +msgstr "@i %i ma format z ekstentami, ale w superbloku brakuje w³a¶ciwo¶ci EXTENTS\n" #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n -#: e2fsck/problem.c:902 +#: e2fsck/problem.c:871 #, c-format msgid "@i %i missing EXTENT_FL, but is in extents format\n" msgstr "@i %i nie ma flagi EXTENT_FL, ale jest w formacie z ekstentami\n" -#: e2fsck/problem.c:907 +#: e2fsck/problem.c:876 #, c-format msgid "Fast symlink %i has EXTENT_FL set. " -msgstr "Szybkie dowiÄ…zanie symboliczne %i ma ustawionÄ… flagÄ™ EXTENT_FL. " +msgstr "Szybkie dowi±zanie symboliczne %i ma ustawion± flagê EXTENT_FL. " #. @-expanded: inode %i has out of order extents\n #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:912 +#: e2fsck/problem.c:881 msgid "" "@i %i has out of order extents\n" "\t(@n logical @b %c, physical @b %b, len %N)\n" msgstr "" -"@i %i ma ekstenty spoza kolejnoÅ›ci\n" -"\t(@b @b logiczny %c, @b fizyczny %b, dÅ‚ugość %N)\n" +"@i %i ma ekstenty spoza kolejno¶ci\n" +"\t(@b @b logiczny %c, @b fizyczny %b, d³ugo¶æ %N)\n" #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n -#: e2fsck/problem.c:916 +#: e2fsck/problem.c:885 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n" -msgstr "@i %i ma bÅ‚Ä™dny wÄ™zeÅ‚ ekstentu (blk %b, lblk %c)\n" - -#. @-expanded: Error converting subcluster block bitmap: %m\n -#: e2fsck/problem.c:921 -#, c-format -msgid "Error converting subcluster @b @B: %m\n" -msgstr "BÅ‚Ä…d podczas przeksztaÅ‚cania bitmapy @bów podklastra: %m\n" - -#. @-expanded: quota inode is not regular file. -#: e2fsck/problem.c:926 -msgid "@q @i is not regular file. " -msgstr "@i @qów nie jest zwykÅ‚ym plikiem. " - -#. @-expanded: quota inode is not in use, but contains data. -#: e2fsck/problem.c:931 -msgid "@q @i is not in use, but contains data. " -msgstr "@i @qów nie jest używany, ale zawiera dane. " - -#. @-expanded: quota inode is visible to the user. -#: e2fsck/problem.c:936 -msgid "@q @i is visible to the user. " -msgstr "@i @qów jest widoczny dla użytkownika. " - -#. @-expanded: The bad block inode looks invalid. -#: e2fsck/problem.c:941 -msgid "The bad @b @i looks @n. " -msgstr "I-wÄ™zeÅ‚ wadliwych @bów wyglÄ…da na bÅ‚Ä™dny. " - -#. @-expanded: inode %i has zero length extent\n -#. @-expanded: \t(invalid logical block %c, physical block %b)\n -#: e2fsck/problem.c:946 -msgid "" -"@i %i has zero length extent\n" -"\t(@n logical @b %c, physical @b %b)\n" -msgstr "" -"@i %i ma ekstent zerowej dÅ‚ugoÅ›ci\n" -"\t(@n @b logiczny %c, @b fizyczny %b, dÅ‚ugość %N)\n" +msgstr "@i %i ma b³êdny wêze³ ekstentu (blk %b, lblk %c)\n" -#. @-expanded: Interior extent node level %N of inode %i:\n -#. @-expanded: Logical start %b does not match logical start %c at next level. -#: e2fsck/problem.c:953 -msgid "" -"Interior @x node level %N of @i %i:\n" -"Logical start %b does not match logical start %c at next level. " -msgstr "" -"Poziom wewnÄ™trznego wÄ™zÅ‚a ekstentu %N i-wÄ™zÅ‚a %i:\n" -"PoczÄ…tek logiczny %b nie zgadza siÄ™ z poczÄ…tkiem logicznym %c kolejnego poziomu. " - -#. @-expanded: inode %i, end of extent exceeds allowed value\n -#. @-expanded: \t(logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:959 -msgid "" -"@i %i, end of extent exceeds allowed value\n" -"\t(logical @b %c, physical @b %b, len %N)\n" -msgstr "" -"@i %i, koniec ekstentu przekracza dozwolonÄ… wartość\n" -"\t(@b logiczny %c, @b fizyczny %b, dÅ‚ugość %N)\n" +#. @-expanded: inode %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n +#: e2fsck/problem.c:889 +msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" +msgstr "@i %i nie powinien mieæ ustawionej flagi EOFBLOCKS_FL (rozmiar %Is, lblk %r)\n" #. @-expanded: \n #. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n #. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n -#: e2fsck/problem.c:967 +#: e2fsck/problem.c:897 msgid "" "\n" "Running additional passes to resolve @bs claimed by more than one @i...\n" "Pass 1B: Rescanning for @m @bs\n" msgstr "" "\n" -"Uruchamianie dodatkowych przebiegów do rozwiÄ…zania bloków zadeklarowanych\n" -"przez wiÄ™cej niż jeden @i...\n" -"Przebieg 1B: Ponowne przeszukiwanie @mch @bów\n" +"Uruchamianie dodatkowych przebiegów do rozwi±zania bloków zadeklarowanych\n" +"przez wiêcej ni¿ jeden @i...\n" +"Przebieg 1B: Ponowne przeszukiwanie @mch @bów\n" #. @-expanded: multiply-claimed block(s) in inode %i: -#: e2fsck/problem.c:973 +#: e2fsck/problem.c:903 #, c-format msgid "@m @b(s) in @i %i:" -msgstr "@m @b(i) w i-węźle %i:" +msgstr "@m @b(i) w i-wê¼le %i:" -#: e2fsck/problem.c:988 +#: e2fsck/problem.c:918 #, c-format msgid "Error while scanning inodes (%i): %m\n" -msgstr "BÅ‚Ä…d podczas szukania i-wÄ™zÅ‚a (%i): %m\n" +msgstr "B³±d podczas szukania i-wêz³a (%i): %m\n" #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n -#: e2fsck/problem.c:993 +#: e2fsck/problem.c:923 #, c-format msgid "@A @i @B (@i_dup_map): %m\n" -msgstr "@A bitmapy i-wÄ™złów (inode_dup_map): %m\n" +msgstr "@A bitmapy i-wêz³ów (inode_dup_map): %m\n" #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n -#: e2fsck/problem.c:998 +#: e2fsck/problem.c:928 #, c-format msgid "Error while iterating over @bs in @i %i (%s): %m\n" -msgstr "BÅ‚Ä…d podczas iteracji po @bach w i-węźle %i (%s): %m\n" +msgstr "B³±d podczas iteracji po @bach w i-wê¼le %i (%s): %m\n" #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n -#: e2fsck/problem.c:1003 e2fsck/problem.c:1318 +#: e2fsck/problem.c:933 e2fsck/problem.c:1249 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n" -msgstr "BÅ‚Ä…d podczas poprawiania refcount dla @bu rozszerzonych atrybutów %b (@i %i): %m\n" +msgstr "B³±d podczas poprawiania refcount dla @bu rozszerzonych atrybutów %b (@i %i): %m\n" #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n -#: e2fsck/problem.c:1008 +#: e2fsck/problem.c:939 msgid "Pass 1C: Scanning directories for @is with @m @bs\n" -msgstr "Przebieg 1C: Przeszukiwanie katalogów pod kÄ…tem i-wÄ™złów z @mmi @bami\n" +msgstr "Przebieg 1C: Przeszukiwanie katalogów pod k±tem i-wêz³ów z @mmi @bami\n" #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n -#: e2fsck/problem.c:1014 +#: e2fsck/problem.c:945 msgid "Pass 1D: Reconciling @m @bs\n" -msgstr "Przebieg 1D: Uzgadnianie @mch @bów\n" +msgstr "Przebieg 1D: Uzgadnianie @mch @bów\n" #. @-expanded: File %Q (inode #%i, mod time %IM) \n #. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n -#: e2fsck/problem.c:1019 +#: e2fsck/problem.c:950 msgid "" "File %Q (@i #%i, mod time %IM) \n" " has %r @m @b(s), shared with %N file(s):\n" msgstr "" "Plik %Q (@i #%i, czas modyfikacji %IM) \n" -" ma %r @mch @bów, dzielonych z %N plikami:\n" +" ma %r @mch @bów, dzielonych z %N plikami:\n" #. @-expanded: \t%Q (inode #%i, mod time %IM)\n -#: e2fsck/problem.c:1025 +#: e2fsck/problem.c:956 msgid "\t%Q (@i #%i, mod time %IM)\n" msgstr "\t%Q (@i #%i, czas modyfikacji %IM)\n" #. @-expanded: \t\n -#: e2fsck/problem.c:1030 +#: e2fsck/problem.c:961 msgid "\t<@f metadata>\n" -msgstr "\t\n" +msgstr "\t\n" #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n #. @-expanded: \n -#: e2fsck/problem.c:1035 +#: e2fsck/problem.c:966 msgid "" "(There are %N @is containing @m @bs.)\n" "\n" msgstr "" -"(Jest %N i-wÄ™złów zawierajÄ…cych podwójnie zadeklarowane @bi.)\n" +"(Jest %N i-wêz³ów zawieraj±cych podwójnie zadeklarowane @bi.)\n" "\n" #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n #. @-expanded: \n -#: e2fsck/problem.c:1040 +#: e2fsck/problem.c:971 msgid "" "@m @bs already reassigned or cloned.\n" "\n" msgstr "" -"Podwójnie zadeklarowane @bi już przepisane lub sklonowane.\n" +"Podwójnie zadeklarowane @bi ju¿ przepisane lub sklonowane.\n" "\n" -#: e2fsck/problem.c:1053 +#: e2fsck/problem.c:984 #, c-format msgid "Couldn't clone file: %m\n" -msgstr "Nie można sklonować pliku: %m\n" +msgstr "Nie mo¿na sklonowaæ pliku: %m\n" #. @-expanded: Pass 2: Checking directory structure\n -#: e2fsck/problem.c:1059 +#: e2fsck/problem.c:990 msgid "Pass 2: Checking @d structure\n" -msgstr "Przebieg 2: Sprawdzanie struktury @dów\n" +msgstr "Przebieg 2: Sprawdzanie struktury @dów\n" #. @-expanded: invalid inode number for '.' in directory inode %i.\n -#: e2fsck/problem.c:1064 +#: e2fsck/problem.c:995 #, c-format msgid "@n @i number for '.' in @d @i %i.\n" -msgstr "BÅ‚Ä™dny numer i-wÄ™zÅ‚a dla '.' w i-węźle @du %i.\n" +msgstr "B³êdny numer i-wêz³a dla '.' w i-wê¼le @du %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n -#: e2fsck/problem.c:1069 +#: e2fsck/problem.c:1000 msgid "@E has @n @i #: %Di.\n" -msgstr "@E ma bÅ‚Ä™dny numer i-wÄ™zÅ‚a: %Di.\n" +msgstr "@E ma b³êdny numer i-wêz³a: %Di.\n" #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di. -#: e2fsck/problem.c:1074 +#: e2fsck/problem.c:1005 msgid "@E has @D/unused @i %Di. " -msgstr "@E ma @D/nie używany @i %Di. " +msgstr "@E ma @D/nie u¿ywany @i %Di. " #. @-expanded: entry '%Dn' in %p (%i) is a link to '.' -#: e2fsck/problem.c:1079 +#: e2fsck/problem.c:1010 msgid "@E @L to '.' " msgstr "@E @L do '.' " #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n -#: e2fsck/problem.c:1084 +#: e2fsck/problem.c:1015 msgid "@E points to @i (%Di) located in a bad @b.\n" -msgstr "@E wskazuje na @i (%Di) poÅ‚ożony w wadliwym @b.\n" +msgstr "@E wskazuje na @i (%Di) po³o¿ony w wadliwym @b.\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n -#: e2fsck/problem.c:1089 +#: e2fsck/problem.c:1020 msgid "@E @L to @d %P (%Di).\n" msgstr "@E @L do @du %P (%Di).\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n -#: e2fsck/problem.c:1094 +#: e2fsck/problem.c:1025 msgid "@E @L to the @r.\n" -msgstr "@E @L do głównego katalogu.\n" +msgstr "@E @L do g³ównego katalogu.\n" #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n -#: e2fsck/problem.c:1099 +#: e2fsck/problem.c:1030 msgid "@E has illegal characters in its name.\n" msgstr "@E ma niedopuszczalne znaki w nazwie.\n" #. @-expanded: Missing '.' in directory inode %i.\n -#: e2fsck/problem.c:1104 +#: e2fsck/problem.c:1035 #, c-format msgid "Missing '.' in @d @i %i.\n" -msgstr "Brakuje '.' w i-węźle @du %i.\n" +msgstr "Brakuje '.' w i-wê¼le @du %i.\n" #. @-expanded: Missing '..' in directory inode %i.\n -#: e2fsck/problem.c:1109 +#: e2fsck/problem.c:1040 #, c-format msgid "Missing '..' in @d @i %i.\n" -msgstr "Brakuje '..' w i-węźle @du %i.\n" +msgstr "Brakuje '..' w i-wê¼le @du %i.\n" #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n -#: e2fsck/problem.c:1114 +#: e2fsck/problem.c:1045 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n" -msgstr "Pierwszym @eem '%Dn' (@i=%Di) w i-węźle @du %i (%p) @s '.'\n" +msgstr "Pierwszym @eem '%Dn' (@i=%Di) w i-wê¼le @du %i (%p) @s '.'\n" #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n -#: e2fsck/problem.c:1119 +#: e2fsck/problem.c:1050 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n" -msgstr "Drugim @eem '%Dn' (@i=%Di) w i-węźle @du %i @s '..'\n" +msgstr "Drugim @eem '%Dn' (@i=%Di) w i-wê¼le @du %i @s '..'\n" #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n -#: e2fsck/problem.c:1124 +#: e2fsck/problem.c:1055 msgid "i_faddr @F %IF, @s zero.\n" msgstr "i_faddr @F %IF, @s zero.\n" #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n -#: e2fsck/problem.c:1129 +#: e2fsck/problem.c:1060 msgid "i_file_acl @F %If, @s zero.\n" msgstr "i_file_acl @F %If, @s zero.\n" #. @-expanded: i_dir_acl for inode %i (%Q) is %Id, should be zero.\n -#: e2fsck/problem.c:1134 +#: e2fsck/problem.c:1065 msgid "i_dir_acl @F %Id, @s zero.\n" msgstr "i_dir_acl @F %Id, @s zero.\n" #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1139 +#: e2fsck/problem.c:1070 msgid "i_frag @F %N, @s zero.\n" msgstr "i_frag @F %N, @s zero.\n" #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1144 +#: e2fsck/problem.c:1075 msgid "i_fsize @F %N, @s zero.\n" msgstr "i_fsize @F %N, @s zero.\n" #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n -#: e2fsck/problem.c:1149 +#: e2fsck/problem.c:1080 msgid "@i %i (%Q) has @n mode (%Im).\n" -msgstr "@i %i (%Q) ma bÅ‚Ä™dne uprawnienia (%Im).\n" +msgstr "@i %i (%Q) ma b³êdne uprawnienia (%Im).\n" #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n -#: e2fsck/problem.c:1154 +#: e2fsck/problem.c:1085 msgid "@d @i %i, %B, offset %N: @d corrupted\n" msgstr "@i @du %i, %B, offset %N: @d uszkodzony\n" #. @-expanded: directory inode %i, %B, offset %N: filename too long\n -#: e2fsck/problem.c:1159 +#: e2fsck/problem.c:1090 msgid "@d @i %i, %B, offset %N: filename too long\n" -msgstr "@i @du %i, %B, offset %N: nazwa pliku zbyt dÅ‚uga\n" +msgstr "@i @du %i, %B, offset %N: nazwa pliku zbyt d³uga\n" #. @-expanded: directory inode %i has an unallocated %B. -#: e2fsck/problem.c:1164 +#: e2fsck/problem.c:1095 msgid "@d @i %i has an unallocated %B. " msgstr "@i @du %i ma nie przydzielony %B. " #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1169 +#: e2fsck/problem.c:1100 #, c-format msgid "'.' @d @e in @d @i %i is not NULL terminated\n" -msgstr "@e @du '.' w i-węźle @du %i nie jest zakoÅ„czony przez NULL\n" +msgstr "@e @du '.' w i-wê¼le @du %i nie jest zakoñczony przez NULL\n" #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1174 +#: e2fsck/problem.c:1105 #, c-format msgid "'..' @d @e in @d @i %i is not NULL terminated\n" -msgstr "@e @du '..' w i-węźle @du %i nie jest zakoÅ„czony przez NULL\n" +msgstr "@e @du '..' w i-wê¼le @du %i nie jest zakoñczony przez NULL\n" #. @-expanded: inode %i (%Q) is an illegal character device.\n -#: e2fsck/problem.c:1179 +#: e2fsck/problem.c:1110 msgid "@i %i (%Q) is an @I character @v.\n" msgstr "@i %i (%Q) jest @Im @vm znakowym.\n" #. @-expanded: inode %i (%Q) is an illegal block device.\n -#: e2fsck/problem.c:1184 +#: e2fsck/problem.c:1115 msgid "@i %i (%Q) is an @I @b @v.\n" msgstr "@i %i (%Q) jest @Im @vm @bowym.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n -#: e2fsck/problem.c:1189 +#: e2fsck/problem.c:1120 msgid "@E is duplicate '.' @e.\n" msgstr "@E jest powielonym @eem '.'.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n -#: e2fsck/problem.c:1194 +#: e2fsck/problem.c:1125 msgid "@E is duplicate '..' @e.\n" msgstr "@E jest powielonym @eem '..'.\n" -#: e2fsck/problem.c:1199 e2fsck/problem.c:1499 +#: e2fsck/problem.c:1130 e2fsck/problem.c:1430 #, c-format msgid "Internal error: couldn't find dir_info for %i.\n" -msgstr "BÅ‚Ä…d wewnÄ™trzny: nie można znaleźć dir_info dla %i.\n" +msgstr "B³±d wewnêtrzny: nie mo¿na znale¼æ dir_info dla %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n -#: e2fsck/problem.c:1204 +#: e2fsck/problem.c:1135 msgid "@E has rec_len of %Dr, @s %N.\n" msgstr "@E ma rec_len %Dr, @s %N.\n" #. @-expanded: error allocating icount structure: %m\n -#: e2fsck/problem.c:1209 +#: e2fsck/problem.c:1140 #, c-format msgid "@A icount structure: %m\n" msgstr "@A struktury icount: %m\n" #. @-expanded: Error iterating over directory blocks: %m\n -#: e2fsck/problem.c:1214 +#: e2fsck/problem.c:1145 #, c-format msgid "Error iterating over @d @bs: %m\n" -msgstr "BÅ‚Ä…d podczas iteracji po @bach @du: %m\n" +msgstr "B³±d podczas iteracji po @bach @du: %m\n" #. @-expanded: Error reading directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1219 +#: e2fsck/problem.c:1150 msgid "Error reading @d @b %b (@i %i): %m\n" -msgstr "BÅ‚Ä…d podczas odczytu @b %b @du (@i %i): %m\n" +msgstr "B³±d podczas odczytu @b %b @du (@i %i): %m\n" #. @-expanded: Error writing directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1224 +#: e2fsck/problem.c:1155 msgid "Error writing @d @b %b (@i %i): %m\n" -msgstr "BÅ‚Ä…d podczas zapisu @b %b @du (@i %i): %m\n" +msgstr "B³±d podczas zapisu @b %b @du (@i %i): %m\n" #. @-expanded: error allocating new directory block for inode %i (%s): %m\n -#: e2fsck/problem.c:1229 +#: e2fsck/problem.c:1160 #, c-format msgid "@A new @d @b for @i %i (%s): %m\n" -msgstr "@A nowego @bu @du dla i-wÄ™zÅ‚a %i (%s): %m\n" +msgstr "@A nowego @bu @du dla i-wêz³a %i (%s): %m\n" #. @-expanded: Error deallocating inode %i: %m\n -#: e2fsck/problem.c:1234 +#: e2fsck/problem.c:1165 #, c-format msgid "Error deallocating @i %i: %m\n" -msgstr "BÅ‚Ä…d podczas zwalniania i-wÄ™zÅ‚a %i: %m\n" +msgstr "B³±d podczas zwalniania i-wêz³a %i: %m\n" #. @-expanded: directory entry for '.' in %p (%i) is big.\n -#: e2fsck/problem.c:1239 +#: e2fsck/problem.c:1170 #, c-format msgid "@d @e for '.' in %p (%i) is big.\n" -msgstr "@e @du dla '.' w %p (%i) jest duży.\n" +msgstr "@e @du dla '.' w %p (%i) jest du¿y.\n" #. @-expanded: inode %i (%Q) is an illegal FIFO.\n -#: e2fsck/problem.c:1244 +#: e2fsck/problem.c:1175 msgid "@i %i (%Q) is an @I FIFO.\n" msgstr "@i %i (%Q) jest @Im FIFO.\n" #. @-expanded: inode %i (%Q) is an illegal socket.\n -#: e2fsck/problem.c:1249 +#: e2fsck/problem.c:1180 msgid "@i %i (%Q) is an @I socket.\n" msgstr "@i %i (%Q) jest @Im gniazdem.\n" #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n -#: e2fsck/problem.c:1254 +#: e2fsck/problem.c:1185 msgid "Setting filetype for @E to %N.\n" msgstr "Ustawiono filetype dla @eu '%Dn' w %p (%i) na %N.\n" #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n -#: e2fsck/problem.c:1259 +#: e2fsck/problem.c:1190 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n" -msgstr "@E ma bÅ‚Ä™dny filetype (byÅ‚ %Dt, powinien być %N).\n" +msgstr "@E ma b³êdny filetype (by³ %Dt, powinien byæ %N).\n" #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n -#: e2fsck/problem.c:1264 +#: e2fsck/problem.c:1195 msgid "@E has filetype set.\n" msgstr "@E ma ustawione filetype.\n" #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n -#: e2fsck/problem.c:1269 +#: e2fsck/problem.c:1200 msgid "@E has a @z name.\n" -msgstr "@E ma nazwÄ™ zerowej dÅ‚ugoÅ›ci.\n" +msgstr "@E ma nazwê zerowej d³ugo¶ci.\n" #. @-expanded: Symlink %Q (inode #%i) is invalid.\n -#: e2fsck/problem.c:1274 +#: e2fsck/problem.c:1205 msgid "Symlink %Q (@i #%i) is @n.\n" -msgstr "DowiÄ…zanie symboliczne %Q (@i #%i) jest bÅ‚Ä™dne.\n" +msgstr "Dowi±zanie symboliczne %Q (@i #%i) jest b³êdne.\n" #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n -#: e2fsck/problem.c:1279 +#: e2fsck/problem.c:1210 msgid "@a @b @F @n (%If).\n" -msgstr "@b rozszerzonych atrybutów dla i-wÄ™zÅ‚a %i (%Q) jest bÅ‚Ä™dny (%If).\n" +msgstr "@b rozszerzonych atrybutów dla i-wêz³a %i (%Q) jest b³êdny (%If).\n" #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n -#: e2fsck/problem.c:1284 +#: e2fsck/problem.c:1215 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n" -msgstr "@f zawiera duże pliki, ale brak flagi LARGE_FILE w @Su.\n" +msgstr "@f zawiera du¿e pliki, ale brak flagi LARGE_FILE w @Su.\n" #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n -#: e2fsck/problem.c:1289 +#: e2fsck/problem.c:1220 msgid "@p @h %d: %B not referenced\n" -msgstr "@p i-węźle @du HTREE %d: %B nie ma odwoÅ‚aÅ„\n" +msgstr "@p i-wê¼le @du HTREE %d: %B nie ma odwo³añ\n" #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n -#: e2fsck/problem.c:1294 +#: e2fsck/problem.c:1225 msgid "@p @h %d: %B referenced twice\n" -msgstr "@p i-węźle @du HTREE %d: %B ma podwójne odwoÅ‚anie\n" +msgstr "@p i-wê¼le @du HTREE %d: %B ma podwójne odwo³anie\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n -#: e2fsck/problem.c:1299 +#: e2fsck/problem.c:1230 msgid "@p @h %d: %B has bad min hash\n" -msgstr "@p i-węźle @du HTREE %d: %B ma bÅ‚Ä™dny minimalny hasz\n" +msgstr "@p i-wê¼le @du HTREE %d: %B ma b³êdny minimalny hasz\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n -#: e2fsck/problem.c:1304 +#: e2fsck/problem.c:1235 msgid "@p @h %d: %B has bad max hash\n" -msgstr "@p i-węźle @du HTREE %d: %B ma bÅ‚Ä™dny maksymalny hasz\n" +msgstr "@p i-wê¼le @du HTREE %d: %B ma b³êdny maksymalny hasz\n" #. @-expanded: invalid HTREE directory inode %d (%q). -#: e2fsck/problem.c:1309 +#: e2fsck/problem.c:1240 msgid "@n @h %d (%q). " -msgstr "BÅ‚Ä™dne @h %d (%q). " +msgstr "B³êdne @h %d (%q). " #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n -#: e2fsck/problem.c:1313 +#: e2fsck/problem.c:1244 msgid "@p @h %d (%q): bad @b number %b.\n" -msgstr "@p i-węźle @du HTREE %d (%q): bÅ‚Ä™dny numer @bu %b.\n" +msgstr "@p i-wê¼le @du HTREE %d (%q): b³êdny numer @bu %b.\n" #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n -#: e2fsck/problem.c:1323 +#: e2fsck/problem.c:1254 #, c-format msgid "@p @h %d: root node is @n\n" -msgstr "@p i-węźle @du HTREE %d: główny wÄ™zeÅ‚ jest bÅ‚Ä™dny\n" +msgstr "@p i-wê¼le @du HTREE %d: g³ówny wêze³ jest b³êdny\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n -#: e2fsck/problem.c:1328 +#: e2fsck/problem.c:1259 msgid "@p @h %d: %B has @n limit (%N)\n" -msgstr "@p i-węźle @du HTREE %d: %B ma bÅ‚Ä™dny limit (%N)\n" +msgstr "@p i-wê¼le @du HTREE %d: %B ma b³êdny limit (%N)\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n -#: e2fsck/problem.c:1333 +#: e2fsck/problem.c:1264 msgid "@p @h %d: %B has @n count (%N)\n" -msgstr "@p i-węźle @du HTREE %d: %B ma bÅ‚Ä™dny licznik (%N)\n" +msgstr "@p i-wê¼le @du HTREE %d: %B ma b³êdny licznik (%N)\n" #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n -#: e2fsck/problem.c:1338 +#: e2fsck/problem.c:1269 msgid "@p @h %d: %B has an unordered hash table\n" -msgstr "@p i-węźle @du HTREE %d: %B ma nie uporzÄ…dkowanÄ… tablicÄ™ haszujÄ…cÄ…\n" +msgstr "@p i-wê¼le @du HTREE %d: %B ma nie uporz±dkowan± tablicê haszuj±c±\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n -#: e2fsck/problem.c:1343 +#: e2fsck/problem.c:1274 msgid "@p @h %d: %B has @n depth (%N)\n" -msgstr "@p i-węźle @du HTREE %d: %B ma bÅ‚Ä™dnÄ… gÅ‚Ä™bokość (%N)\n" +msgstr "@p i-wê¼le @du HTREE %d: %B ma b³êdn± g³êboko¶æ (%N)\n" #. @-expanded: Duplicate entry '%Dn' in %p (%i) found. -#: e2fsck/problem.c:1348 +#: e2fsck/problem.c:1279 msgid "Duplicate @E found. " -msgstr "Znaleziono podwójny @E. " +msgstr "Znaleziono podwójny @E. " #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n #. @-expanded: Rename to %s -#: e2fsck/problem.c:1353 +#: e2fsck/problem.c:1284 #, no-c-format msgid "" "@E has a non-unique filename.\n" "Rename to %s" msgstr "" -"@E ma nieunikalnÄ… nazwÄ™ pliku.\n" -"Zmienić na %s" +"@E ma nieunikaln± nazwê pliku.\n" +"Zmieniæ na %s" #. @-expanded: Duplicate entry '%Dn' found.\n #. @-expanded: \tMarking %p (%i) to be rebuilt.\n #. @-expanded: \n -#: e2fsck/problem.c:1358 +#: e2fsck/problem.c:1289 msgid "" "Duplicate @e '%Dn' found.\n" "\tMarking %p (%i) to be rebuilt.\n" "\n" msgstr "" -"Znaleziono podwójny @e '%Dn'.\n" +"Znaleziono podwójny @e '%Dn'.\n" "\tZaznaczono %p (%i) do przebudowania.\n" "\n" #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1363 +#: e2fsck/problem.c:1294 msgid "i_blocks_hi @F %N, @s zero.\n" msgstr "i_blocks_hi @F %N, @s zero.\n" #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n -#: e2fsck/problem.c:1368 +#: e2fsck/problem.c:1299 msgid "Unexpected @b in @h %d (%q).\n" -msgstr "Nieoczekiwany @b w i-węźle @du HTREE %d (%q)\n" +msgstr "Nieoczekiwany @b w i-wê¼le @du HTREE %d (%q)\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n -#: e2fsck/problem.c:1372 +#: e2fsck/problem.c:1303 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n" -msgstr "@i %Di znaleziony w grupie %g, która ma ustawionÄ… flagÄ™ _INONE_UNINIT.\n" +msgstr "@i %Di znaleziony w grupie %g, która ma ustawion± flagê _INONE_UNINIT.\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n -#: e2fsck/problem.c:1377 +#: e2fsck/problem.c:1308 msgid "@E references @i %Di found in @g %g's unused inodes area.\n" -msgstr "@i %Di znaleziony w grupie %g obszaru nie używanych i-wÄ™złów.\n" +msgstr "@i %Di znaleziony w grupie %g obszaru nie u¿ywanych i-wêz³ów.\n" #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1382 +#: e2fsck/problem.c:1313 msgid "i_file_acl_hi @F %N, @s zero.\n" msgstr "i_file_acl_hi @F %N, @s zero.\n" #. @-expanded: Pass 3: Checking directory connectivity\n -#: e2fsck/problem.c:1389 +#: e2fsck/problem.c:1320 msgid "Pass 3: Checking @d connectivity\n" -msgstr "Przebieg 3: Sprawdzanie Å‚Ä…cznoÅ›ci @dów\n" +msgstr "Przebieg 3: Sprawdzanie ³±czno¶ci @dów\n" #. @-expanded: root inode not allocated. -#: e2fsck/problem.c:1394 +#: e2fsck/problem.c:1325 msgid "@r not allocated. " msgstr "@r jest nie przydzielony. " #. @-expanded: No room in lost+found directory. -#: e2fsck/problem.c:1399 +#: e2fsck/problem.c:1330 msgid "No room in @l @d. " msgstr "Brak miejsca w @du @l. " #. @-expanded: Unconnected directory inode %i (%p)\n -#: e2fsck/problem.c:1404 +#: e2fsck/problem.c:1335 #, c-format msgid "Unconnected @d @i %i (%p)\n" -msgstr "Nie podÅ‚Ä…czony @i @du %i (%p)\n" +msgstr "Nie pod³±czony @i @du %i (%p)\n" #. @-expanded: /lost+found not found. -#: e2fsck/problem.c:1409 +#: e2fsck/problem.c:1340 msgid "/@l not found. " msgstr "Nie znaleziono /@l. " #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n -#: e2fsck/problem.c:1414 +#: e2fsck/problem.c:1345 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n" msgstr "'..' w %Q (%i) jest %P (%j), @s %q (%d).\n" #. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n -#: e2fsck/problem.c:1419 +#: e2fsck/problem.c:1350 msgid "Bad or non-existent /@l. Cannot reconnect.\n" -msgstr "BÅ‚Ä™dny lub nie istniejÄ…cy /@l. Nie można podÅ‚Ä…czyć.\n" +msgstr "B³êdny lub nie istniej±cy /@l. Nie mo¿na pod³±czyæ.\n" #. @-expanded: Could not expand /lost+found: %m\n -#: e2fsck/problem.c:1424 +#: e2fsck/problem.c:1355 #, c-format msgid "Could not expand /@l: %m\n" -msgstr "Nie można rozszerzyć /@l: %m\n" +msgstr "Nie mo¿na rozszerzyæ /@l: %m\n" -#: e2fsck/problem.c:1429 +#: e2fsck/problem.c:1360 #, c-format msgid "Could not reconnect %i: %m\n" -msgstr "Nie można podÅ‚Ä…czyć %i: %m\n" +msgstr "Nie mo¿na pod³±czyæ %i: %m\n" #. @-expanded: Error while trying to find /lost+found: %m\n -#: e2fsck/problem.c:1434 +#: e2fsck/problem.c:1365 #, c-format msgid "Error while trying to find /@l: %m\n" -msgstr "BÅ‚Ä…d podczas szukania /@l: %m\n" +msgstr "B³±d podczas szukania /@l: %m\n" #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1439 +#: e2fsck/problem.c:1370 #, c-format msgid "ext2fs_new_@b: %m while trying to create /@l @d\n" -msgstr "ext2fs_new_block: %m podczas próby utworzenia @du /@l\n" +msgstr "ext2fs_new_block: %m podczas próby utworzenia @du /@l\n" #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1444 +#: e2fsck/problem.c:1375 #, c-format msgid "ext2fs_new_@i: %m while trying to create /@l @d\n" -msgstr "ext2fs_new_inode: %m podczas próby utworzenia @du /@l\n" +msgstr "ext2fs_new_inode: %m podczas próby utworzenia @du /@l\n" #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n -#: e2fsck/problem.c:1449 +#: e2fsck/problem.c:1380 #, c-format msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n" msgstr "ext2fs_new_dir_block: %m podczas tworzenia nowego @bu @du\n" #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n -#: e2fsck/problem.c:1454 +#: e2fsck/problem.c:1385 #, c-format msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n" msgstr "ext2fs_write_dir_block: %m podczas zapisu @bu @du dla /@l\n" #. @-expanded: Error while adjusting inode count on inode %i\n -#: e2fsck/problem.c:1459 +#: e2fsck/problem.c:1390 #, c-format msgid "Error while adjusting @i count on @i %i\n" -msgstr "BÅ‚Ä…d podczas poprawiania liczby i-wÄ™złów w i-węźle %i\n" +msgstr "B³±d podczas poprawiania liczby i-wêz³ów w i-wê¼le %i\n" #. @-expanded: Couldn't fix parent of inode %i: %m\n #. @-expanded: \n -#: e2fsck/problem.c:1464 +#: e2fsck/problem.c:1395 #, c-format msgid "" "Couldn't fix parent of @i %i: %m\n" "\n" msgstr "" -"Nie można poprawić rodzica i-wÄ™zÅ‚a %i: %m\n" +"Nie mo¿na poprawiæ rodzica i-wêz³a %i: %m\n" "\n" #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n #. @-expanded: \n -#: e2fsck/problem.c:1469 +#: e2fsck/problem.c:1400 #, c-format msgid "" "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n" "\n" msgstr "" -"Nie można poprawić rodzica i-wÄ™zÅ‚a %i: nie znaleziono wpisu @du rodzica\n" +"Nie mo¿na poprawiæ rodzica i-wêz³a %i: nie znaleziono wpisu @du rodzica\n" "\n" #. @-expanded: Error creating root directory (%s): %m\n -#: e2fsck/problem.c:1479 +#: e2fsck/problem.c:1410 #, c-format msgid "Error creating root @d (%s): %m\n" -msgstr "BÅ‚Ä…d podczas tworzenia głównego @du (%s): %m\n" +msgstr "B³±d podczas tworzenia g³ównego @du (%s): %m\n" #. @-expanded: Error creating /lost+found directory (%s): %m\n -#: e2fsck/problem.c:1484 +#: e2fsck/problem.c:1415 #, c-format msgid "Error creating /@l @d (%s): %m\n" -msgstr "BÅ‚Ä…d podczas tworzenia @du /@l (%s): %m\n" +msgstr "B³±d podczas tworzenia @du /@l (%s): %m\n" #. @-expanded: root inode is not a directory; aborting.\n -#: e2fsck/problem.c:1489 +#: e2fsck/problem.c:1420 msgid "@r is not a @d; aborting.\n" msgstr "@r nie jest @diem; przerwanie.\n" #. @-expanded: Cannot proceed without a root inode.\n -#: e2fsck/problem.c:1494 +#: e2fsck/problem.c:1425 msgid "Cannot proceed without a @r.\n" -msgstr "Nie można kontynuować bez głównego katalogu.\n" +msgstr "Nie mo¿na kontynuowaæ bez g³ównego katalogu.\n" #. @-expanded: /lost+found is not a directory (ino=%i)\n -#: e2fsck/problem.c:1504 +#: e2fsck/problem.c:1435 #, c-format msgid "/@l is not a @d (ino=%i)\n" msgstr "/@l nie jest @diem (@i=%i)\n" -#: e2fsck/problem.c:1511 +#: e2fsck/problem.c:1442 msgid "Pass 3A: Optimizing directories\n" -msgstr "Przebieg 3A: Optymalizacja katalogów\n" +msgstr "Przebieg 3A: Optymalizacja katalogów\n" -#: e2fsck/problem.c:1516 +#: e2fsck/problem.c:1447 #, c-format msgid "Failed to create dirs_to_hash iterator: %m\n" -msgstr "Tworzenie iteratora dirs_to_hash nie powiodÅ‚o siÄ™: %m\n" +msgstr "Tworzenie iteratora dirs_to_hash nie powiod³o siê: %m\n" -#: e2fsck/problem.c:1521 +#: e2fsck/problem.c:1452 msgid "Failed to optimize directory %q (%d): %m\n" -msgstr "Optymalizacja katalogu %q (%d) nie powiodÅ‚a siÄ™: %m\n" +msgstr "Optymalizacja katalogu %q (%d) nie powiod³a siê: %m\n" -#: e2fsck/problem.c:1526 +#: e2fsck/problem.c:1457 msgid "Optimizing directories: " -msgstr "Optymalizacja katalogów: " +msgstr "Optymalizacja katalogów: " -#: e2fsck/problem.c:1543 +#: e2fsck/problem.c:1474 msgid "Pass 4: Checking reference counts\n" -msgstr "Przebieg 4: Sprawdzanie liczników odwoÅ‚aÅ„\n" +msgstr "Przebieg 4: Sprawdzanie liczników odwo³añ\n" #. @-expanded: unattached zero-length inode %i. -#: e2fsck/problem.c:1548 +#: e2fsck/problem.c:1479 #, c-format msgid "@u @z @i %i. " msgstr "@u @i @z %i. " #. @-expanded: unattached inode %i\n -#: e2fsck/problem.c:1553 +#: e2fsck/problem.c:1484 #, c-format msgid "@u @i %i\n" msgstr "@u @i %i\n" #. @-expanded: inode %i ref count is %Il, should be %N. -#: e2fsck/problem.c:1558 +#: e2fsck/problem.c:1489 msgid "@i %i ref count is %Il, @s %N. " -msgstr "licznik odwoÅ‚aÅ„ i-wÄ™zÅ‚a %i wynosi %Il, @s %N. " +msgstr "licznik odwo³añ i-wêz³a %i wynosi %Il, @s %N. " #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n -#: e2fsck/problem.c:1562 +#: e2fsck/problem.c:1493 msgid "" "WARNING: PROGRAMMING BUG IN E2FSCK!\n" "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n" "@i_link_info[%i] is %N, @i.i_links_count is %Il. They @s the same!\n" msgstr "" -"UWAGA: BÅÄ„D PROGRAMU W E2FSCK!\n" -"\tLUB KTOÅš BEZMÓZGI (TY) SPRAWDZA PODMONTOWANY (Å»YWY) SYSTEM PLIKÓW.\n" -"inode_link_info[%i]=%N, inode.i_links_count=%Il. Powinny być takie same!\n" +"UWAGA: B£¡D PROGRAMU W E2FSCK!\n" +"\tLUB KTO¦ BEZMÓZGI (TY) SPRAWDZA PODMONTOWANY (¯YWY) SYSTEM PLIKÓW.\n" +"inode_link_info[%i]=%N, inode.i_links_count=%Il. Powinny byæ takie same!\n" #. @-expanded: Pass 5: Checking group summary information\n -#: e2fsck/problem.c:1572 +#: e2fsck/problem.c:1503 msgid "Pass 5: Checking @g summary information\n" msgstr "Przebieg 5: Sprawdzanie sumarycznych informacji o @gch\n" #. @-expanded: Padding at end of inode bitmap is not set. -#: e2fsck/problem.c:1577 +#: e2fsck/problem.c:1508 msgid "Padding at end of @i @B is not set. " -msgstr "WypeÅ‚nienie na koÅ„cu bitmapy i-wÄ™złów nie jest ustawione. " +msgstr "Wype³nienie na koñcu bitmapy i-wêz³ów nie jest ustawione. " #. @-expanded: Padding at end of block bitmap is not set. -#: e2fsck/problem.c:1582 +#: e2fsck/problem.c:1513 msgid "Padding at end of @b @B is not set. " -msgstr "WypeÅ‚nienie na koÅ„cu bitmapy @bów nie jest ustawione. " +msgstr "Wype³nienie na koñcu bitmapy @bów nie jest ustawione. " #. @-expanded: block bitmap differences: -#: e2fsck/problem.c:1587 +#: e2fsck/problem.c:1518 msgid "@b @B differences: " -msgstr "Różnice bitmapy @bów: " +msgstr "Ró¿nice bitmapy @bów: " #. @-expanded: inode bitmap differences: -#: e2fsck/problem.c:1607 +#: e2fsck/problem.c:1538 msgid "@i @B differences: " -msgstr "Różnice bitmapy i-wÄ™złów: " +msgstr "Ró¿nice bitmapy i-wêz³ów: " #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1627 +#: e2fsck/problem.c:1558 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n" -msgstr "BÅ‚Ä™dna liczba wolnych i-wÄ™złów dla grupy #%g (%i, naliczono %j).\n" +msgstr "B³êdna liczba wolnych i-wêz³ów dla grupy #%g (%i, naliczono %j).\n" #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1632 +#: e2fsck/problem.c:1563 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n" -msgstr "BÅ‚Ä™dna liczba katalogów dla grupy #%g (%i, naliczono %j).\n" +msgstr "B³êdna liczba katalogów dla grupy #%g (%i, naliczono %j).\n" #. @-expanded: Free inodes count wrong (%i, counted=%j).\n -#: e2fsck/problem.c:1637 +#: e2fsck/problem.c:1568 msgid "Free @is count wrong (%i, counted=%j).\n" -msgstr "BÅ‚Ä™dna liczba wolnych i-wÄ™złów (%i, naliczono %j).\n" +msgstr "B³êdna liczba wolnych i-wêz³ów (%i, naliczono %j).\n" #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n -#: e2fsck/problem.c:1642 +#: e2fsck/problem.c:1573 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n" -msgstr "BÅ‚Ä™dna liczba wolnych @bów dla grupy #%g (%b, naliczono %c).\n" +msgstr "B³êdna liczba wolnych @bów dla grupy #%g (%b, naliczono %c).\n" #. @-expanded: Free blocks count wrong (%b, counted=%c).\n -#: e2fsck/problem.c:1647 +#: e2fsck/problem.c:1578 msgid "Free @bs count wrong (%b, counted=%c).\n" -msgstr "BÅ‚Ä™dna liczba wolnych @bów (%b, naliczono %c).\n" +msgstr "B³êdna liczba wolnych @bów (%b, naliczono %c).\n" #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap #. @-expanded: endpoints (%i, %j)\n -#: e2fsck/problem.c:1652 +#: e2fsck/problem.c:1583 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n" -msgstr "BÅÄ„D PROGRAMU: koÅ„ce bitmap systemu plików (#%N) (%b, %c) nie zgadzajÄ… siÄ™ z policzonymi koÅ„cami bitmap (%i, %j)\n" +msgstr "B£¡D PROGRAMU: koñce bitmap systemu plików (#%N) (%b, %c) nie zgadzaj± siê z policzonymi koñcami bitmap (%i, %j)\n" -#: e2fsck/problem.c:1658 +#: e2fsck/problem.c:1589 msgid "Internal error: fudging end of bitmap (%N)\n" -msgstr "BÅ‚Ä…d wewnÄ™trzny: faÅ‚szywy koniec bitmapy (%N)\n" +msgstr "B³±d wewnêtrzny: fa³szywy koniec bitmapy (%N)\n" #. @-expanded: Error copying in replacement inode bitmap: %m\n -#: e2fsck/problem.c:1663 +#: e2fsck/problem.c:1594 #, c-format msgid "Error copying in replacement @i @B: %m\n" -msgstr "BÅ‚Ä…d podczas kopiowania w zastÄ™pczej bitmapie i-wÄ™złów: %m\n" +msgstr "B³±d podczas kopiowania w zastêpczej bitmapie i-wêz³ów: %m\n" #. @-expanded: Error copying in replacement block bitmap: %m\n -#: e2fsck/problem.c:1668 +#: e2fsck/problem.c:1599 #, c-format msgid "Error copying in replacement @b @B: %m\n" -msgstr "BÅ‚Ä…d podczas kopiowania w zastÄ™pczej bitmapie @bów: %m\n" +msgstr "B³±d podczas kopiowania w zastêpczej bitmapie @bów: %m\n" #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n -#: e2fsck/problem.c:1693 +#: e2fsck/problem.c:1624 #, c-format msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n" -msgstr "@b(i) grupy %g sÄ… używane, ale @g ma flagÄ™ BLOCK_UNINIT\n" +msgstr "@b(i) grupy %g s± u¿ywane, ale @g ma flagê BLOCK_UNINIT\n" #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n -#: e2fsck/problem.c:1698 +#: e2fsck/problem.c:1629 #, c-format msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n" -msgstr "i-wÄ™zÅ‚y grupy %g sÄ… używane, ale @g ma flagÄ™ INODE_UNINIT\n" +msgstr "i-wêz³y grupy %g s± u¿ywane, ale @g ma flagê INODE_UNINIT\n" #. @-expanded: Recreate journal -#: e2fsck/problem.c:1705 +#: e2fsck/problem.c:1636 msgid "Recreate @j" -msgstr "Odtworzyć kronikÄ™" +msgstr "Odtworzyæ kronikê" -#: e2fsck/problem.c:1710 -msgid "Update quota info for quota type %N" -msgstr "Uaktualnić informacje o limitach typu %N" - -#: e2fsck/problem.c:1829 +#: e2fsck/problem.c:1755 #, c-format msgid "Unhandled error code (0x%x)!\n" -msgstr "Nie obsÅ‚użony kod bÅ‚Ä™du (0x%x)!\n" +msgstr "Nie obs³u¿ony kod b³êdu (0x%x)!\n" -#: e2fsck/problem.c:1954 e2fsck/problem.c:1958 +#: e2fsck/problem.c:1850 msgid "IGNORED" msgstr "ZIGNOROWANO" -#: e2fsck/scantest.c:79 +#: e2fsck/scantest.c:81 #, c-format msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n" -msgstr "Użyta pamięć: %d, upÅ‚ynÄ…Å‚ czas: %6.3f/%6.3f/%6.3f\n" +msgstr "U¿yta pamiêæ: %d, up³yn±³ czas: %6.3f/%6.3f/%6.3f\n" -#: e2fsck/scantest.c:98 +#: e2fsck/scantest.c:100 #, c-format msgid "size of inode=%d\n" -msgstr "rozmiar i-wÄ™zÅ‚a=%d\n" +msgstr "rozmiar i-wêz³a=%d\n" -#: e2fsck/scantest.c:119 +#: e2fsck/scantest.c:121 msgid "while starting inode scan" -msgstr "podczas rozpoczynania przeszukiwania i-wÄ™złów" +msgstr "podczas rozpoczynania przeszukiwania i-wêz³ów" -#: e2fsck/scantest.c:130 +#: e2fsck/scantest.c:132 msgid "while doing inode scan" -msgstr "podczas przeszukiwania i-wÄ™złów" +msgstr "podczas przeszukiwania i-wêz³ów" -#: e2fsck/super.c:188 +#: e2fsck/super.c:187 #, c-format msgid "while calling ext2fs_block_iterate for inode %d" -msgstr "podczas wywoÅ‚ania ext2fs_block_iterate dla i-wÄ™zÅ‚a %d" +msgstr "podczas wywo³ania ext2fs_block_iterate dla i-wêz³a %d" -#: e2fsck/super.c:211 +#: e2fsck/super.c:209 #, c-format -msgid "while calling ext2fs_adjust_ea_refcount2 for inode %d" -msgstr "podczas wywoÅ‚ania ext2fs_adjust_ea_refcount2 dla i-wÄ™zÅ‚a %d" +msgid "while calling ext2fs_adjust_ea_refcount for inode %d" +msgstr "podczas wywo³ania ext2fs_adjust_ea_refcount dla i-wêz³a %d" -#: e2fsck/super.c:272 +#: e2fsck/super.c:267 msgid "Truncating" msgstr "Skracanie" -#: e2fsck/super.c:273 +#: e2fsck/super.c:268 msgid "Clearing" msgstr "Czyszczenie" -#: e2fsck/unix.c:74 +#: e2fsck/unix.c:76 #, c-format msgid "" "Usage: %s [-panyrcdfvtDFV] [-b superblock] [-B blocksize]\n" @@ -2569,12 +2488,12 @@ msgid "" "\t\t[-l|-L bad_blocks_file] [-C fd] [-j external_journal]\n" "\t\t[-E extended-options] device\n" msgstr "" -"SkÅ‚adnia: %s [-panyrcdfvtDFV] [-b superblok] [-B rozm_bloku]\n" -"\t\t[-I bloków_bufora_i-wÄ™złów] [-P rozmiar_i-wÄ™zÅ‚a]\n" -"\t\t[-l|-L plik_wadliwych_bloków] [-C fd] [-j zewn-kronika]\n" -"\t\t[-E rozszerzone-opcje] urzÄ…dzenie\n" +"Sk³adnia: %s [-panyrcdfvtDFV] [-b superblok] [-B rozm_bloku]\n" +"\t\t[-I bloków_bufora_i-wêz³ów] [-P rozmiar_i-wêz³a]\n" +"\t\t[-l|-L plik_wadliwych_bloków] [-C fd] [-j zewn-kronika]\n" +"\t\t[-E rozszerzone-opcje] urz±dzenie\n" -#: e2fsck/unix.c:80 +#: e2fsck/unix.c:82 #, c-format msgid "" "\n" @@ -2587,13 +2506,13 @@ msgid "" msgstr "" "\n" "Awaryjna pomoc:\n" -" -p Automatyczne naprawianie (bez pytaÅ„)\n" -" -n Nie wykonywanie zmian w systemie plików\n" -" -y PrzyjÄ™cie odpowiedzi \"tak\" na wszystkie pytania\n" -" -c Szukanie wadliwych bloków i dodanie ich do listy\n" -" -f Wymuszenie sprawdzenia nawet \"czystego\" systemu plików\n" +" -p Automatyczne naprawianie (bez pytañ)\n" +" -n Nie wykonywanie zmian w systemie plików\n" +" -y Przyjêcie odpowiedzi \"tak\" na wszystkie pytania\n" +" -c Szukanie wadliwych bloków i dodanie ich do listy\n" +" -f Wymuszenie sprawdzenia nawet \"czystego\" systemu plików\n" -#: e2fsck/unix.c:86 +#: e2fsck/unix.c:88 #, c-format msgid "" " -v Be verbose\n" @@ -2603,345 +2522,198 @@ msgid "" " -l bad_blocks_file Add to badblocks list\n" " -L bad_blocks_file Set badblocks list\n" msgstr "" -" -v Pokazywanie wiÄ™kszej iloÅ›ci informacji\n" -" -b superblok Użycie innego superbloku\n" +" -v Pokazywanie wiêkszej ilo¶ci informacji\n" +" -b superblok U¿ycie innego superbloku\n" " -B rozm.bloku Wymuszenie rozmiaru bloku przy poszukiwaniu superbloku\n" -" -j zewn-kronika Ustawienie poÅ‚ożenia zewnÄ™trznej kroniki\n" -" -l plik_zÅ‚ych_bloków Dodanie do listy wadliwych bloków\n" -" -L plik_zÅ‚ych_bloków Ustawienie listy wadliwych bloków\n" - -#: e2fsck/unix.c:131 -#, c-format -msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n" -msgstr "%s: %u/%u plików (%0d.%d%% nieciÄ…gÅ‚ych), %llu/%llu bloków\n" - -#: e2fsck/unix.c:157 -#, c-format -msgid "" -"\n" -"%12u inode used (%2.2f%%, out of %u)\n" -msgid_plural "" -"\n" -"%12u inodes used (%2.2f%%, out of %u)\n" -msgstr[0] "" -"\n" -"%12u użyty i-wÄ™zeÅ‚ (%2.2f%% z %u)\n" -msgstr[1] "" -"\n" -"%12u użyte i-wÄ™zÅ‚y (%2.2f%% z %u)\n" -msgstr[2] "" -"\n" -"%12u użytych i-wÄ™złów (%2.2f%% z %u)\n" - -#: e2fsck/unix.c:161 -#, c-format -msgid "%12u non-contiguous file (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous files (%0d.%d%%)\n" -msgstr[0] "%12u plik nieciÄ…gÅ‚y (%0d.%d%%)\n" -msgstr[1] "%12u pliki nieciÄ…gÅ‚e (%0d.%d%%)\n" -msgstr[2] "%12u plików nieciÄ…gÅ‚ych (%0d.%d%%)\n" - -#: e2fsck/unix.c:166 -#, c-format -msgid "%12u non-contiguous directory (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n" -msgstr[0] "%12u katalog nieciÄ…gÅ‚y (%0d.%d%%)\n" -msgstr[1] "%12u katalogi nieciÄ…gÅ‚e (%0d.%d%%)\n" -msgstr[2] "%12u katalogów nieciÄ…gÅ‚ych (%0d.%d%%)\n" - -#: e2fsck/unix.c:171 -#, c-format -msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" -msgstr " liczba i-wÄ™złów z blokami ind/dind/tind: %u/%u/%u\n" - -#: e2fsck/unix.c:179 -msgid " Extent depth histogram: " -msgstr " Histogram gÅ‚Ä™bokoÅ›ci ekstentów: " - -#: e2fsck/unix.c:188 -#, c-format -msgid "%12llu block used (%2.2f%%, out of %llu)\n" -msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n" -msgstr[0] "%12llu użyty blok (%2.2f%% z %llu)\n" -msgstr[1] "%12llu użyte bloki (%2.2f%% z %llu)\n" -msgstr[2] "%12llu użytych bloków (%2.2f%% z %llu)\n" - -#: e2fsck/unix.c:192 -#, c-format -msgid "%12u bad block\n" -msgid_plural "%12u bad blocks\n" -msgstr[0] "%12u wadliwy blok\n" -msgstr[1] "%12u wadliwe bloki\n" -msgstr[2] "%12u wadliwych bloków\n" - -#: e2fsck/unix.c:194 -#, c-format -msgid "%12u large file\n" -msgid_plural "%12u large files\n" -msgstr[0] "%12u duży plik\n" -msgstr[1] "%12u duże pliki\n" -msgstr[2] "%12u dużych plików\n" - -#: e2fsck/unix.c:196 -#, c-format -msgid "" -"\n" -"%12u regular file\n" -msgid_plural "" -"\n" -"%12u regular files\n" -msgstr[0] "" -"\n" -"%12u zwykÅ‚y plik\n" -msgstr[1] "" -"\n" -"%12u zwykÅ‚e pliki\n" -msgstr[2] "" -"\n" -"%12u zwykÅ‚ych plików\n" - -#: e2fsck/unix.c:198 -#, c-format -msgid "%12u directory\n" -msgid_plural "%12u directories\n" -msgstr[0] "%12u katalog\n" -msgstr[1] "%12u katalogi\n" -msgstr[2] "%12u katalogów\n" - -#: e2fsck/unix.c:200 -#, c-format -msgid "%12u character device file\n" -msgid_plural "%12u character device files\n" -msgstr[0] "%12u plik urzÄ…dzenia znakowego\n" -msgstr[1] "%12u pliki urzÄ…dzeÅ„ znakowych\n" -msgstr[2] "%12u plików urzÄ…dzeÅ„ znakowych\n" - -#: e2fsck/unix.c:203 -#, c-format -msgid "%12u block device file\n" -msgid_plural "%12u block device files\n" -msgstr[0] "%12u plik urzÄ…dzenia blokowego\n" -msgstr[1] "%12u pliki urzÄ…dzeÅ„ blokowych\n" -msgstr[2] "%12u plików urzÄ…dzeÅ„ blokowych\n" - -#: e2fsck/unix.c:205 -#, c-format -msgid "%12u fifo\n" -msgid_plural "%12u fifos\n" -msgstr[0] "%12u potok\n" -msgstr[1] "%12u potoki\n" -msgstr[2] "%12u potoków\n" - -#: e2fsck/unix.c:207 -#, c-format -msgid "%12u link\n" -msgid_plural "%12u links\n" -msgstr[0] "%12u dowiÄ…zanie\n" -msgstr[1] "%12u dowiÄ…zania\n" -msgstr[2] "%12u dowiÄ…zaÅ„\n" - -#: e2fsck/unix.c:209 -#, c-format -msgid "%12u symbolic link" -msgid_plural "%12u symbolic links" -msgstr[0] "%12u dowiÄ…zanie symboliczne" -msgstr[1] "%12u dowiÄ…zania symboliczne" -msgstr[2] "%12u dowiÄ…zaÅ„ symbolicznych" +" -j zewn-kronika Ustawienie po³o¿enia zewnêtrznej kroniki\n" +" -l plik_z³ych_bloków Dodanie do listy wadliwych bloków\n" +" -L plik_z³ych_bloków Ustawienie listy wadliwych bloków\n" -#: e2fsck/unix.c:211 +#: e2fsck/unix.c:132 #, c-format -msgid " (%u fast symbolic link)\n" -msgid_plural " (%u fast symbolic links)\n" -msgstr[0] " (%u szybkie dowiÄ…zanie symboliczne)\n" -msgstr[1] " (%u szybkie dowiÄ…zania symboliczne)\n" -msgstr[2] " (%u szybkich dowiÄ…zaÅ„ symbolicznych)\n" +msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n" +msgstr "%s: %u/%u plików (%0d.%d%% nieci±g³ych), %u/%u bloków\n" -#: e2fsck/unix.c:215 +#: e2fsck/unix.c:150 #, c-format -msgid "%12u socket\n" -msgid_plural "%12u sockets\n" -msgstr[0] "%12u gniazdo\n" -msgstr[1] "%12u gniazda\n" -msgstr[2] "%12u gniazd\n" +msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" +msgstr " liczba i-wêz³ów z blokami ind/dind/tind: %u/%u/%u\n" -#: e2fsck/unix.c:219 +#: e2fsck/unix.c:157 #, c-format -msgid "%12u file\n" -msgid_plural "%12u files\n" -msgstr[0] "%12u plik\n" -msgstr[1] "%12u pliki\n" -msgstr[2] "%12u plików\n" +msgid " Extent depth histogram: " +msgstr " Histogram g³êboko¶ci ekstentów: " -#: e2fsck/unix.c:232 misc/badblocks.c:983 misc/tune2fs.c:1985 misc/util.c:147 -#: resize/main.c:259 +#: e2fsck/unix.c:207 misc/badblocks.c:928 misc/tune2fs.c:1625 misc/util.c:151 +#: resize/main.c:249 #, c-format msgid "while determining whether %s is mounted." msgstr "podczas sprawdzania, czy %s jest zamontowany." -#: e2fsck/unix.c:252 +#: e2fsck/unix.c:225 #, c-format -msgid "Warning! %s is %s.\n" -msgstr "Uwaga! %s jest %s.\n" +msgid "Warning! %s is mounted.\n" +msgstr "Uwaga! %s jest zamontowany.\n" -#: e2fsck/unix.c:259 +#: e2fsck/unix.c:229 #, c-format -msgid "%s is %s.\n" -msgstr "%s jest %s.\n" +msgid "%s is mounted. " +msgstr "%s jest zamontowany. " -#: e2fsck/unix.c:262 +#: e2fsck/unix.c:231 msgid "" "Cannot continue, aborting.\n" "\n" msgstr "" -"Nie można kontynuować, przerwano.\n" +"Nie mo¿na kontynuowaæ, przerwano.\n" "\n" -#: e2fsck/unix.c:264 +#: e2fsck/unix.c:232 +#, c-format msgid "" "\n" "\n" -"WARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" -"cause ***SEVERE*** filesystem damage.\n" +"\a\a\a\aWARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" +"cause ***SEVERE*** filesystem damage.\a\a\a\n" "\n" msgstr "" "\n" "\n" -"UWAGA!!! System plików jest zamontowany. Kontynuacja ***SPOWODUJE***\n" -"***POWAÅ»NE*** uszkodzenie systemu plików.\n" +"\a\a\a\aUWAGA!!! System plików jest zamontowany. Kontynuacja ***SPOWODUJE***\n" +"***POWA¯NE*** uszkodzenie systemu plików.\a\a\a\n" "\n" -#: e2fsck/unix.c:269 +#: e2fsck/unix.c:235 msgid "Do you really want to continue" -msgstr "NaprawdÄ™ kontynuować?" +msgstr "Naprawdê kontynuowaæ?" -#: e2fsck/unix.c:271 +#: e2fsck/unix.c:237 #, c-format msgid "check aborted.\n" msgstr "sprawdzanie przerwane.\n" -#: e2fsck/unix.c:361 +#: e2fsck/unix.c:315 msgid " contains a file system with errors" -msgstr " zawiera system plików z bÅ‚Ä™dami" +msgstr " zawiera system plików z b³êdami" -#: e2fsck/unix.c:363 +#: e2fsck/unix.c:317 msgid " was not cleanly unmounted" -msgstr " nie byÅ‚ czysto odmontowany" +msgstr " nie by³ czysto odmontowany" -#: e2fsck/unix.c:365 +#: e2fsck/unix.c:319 msgid " primary superblock features different from backup" -msgstr " cechy głównego superbloku różniÄ… siÄ™ od kopii zapasowej" +msgstr " cechy g³ównego superbloku ró¿ni± siê od kopii zapasowej" -#: e2fsck/unix.c:369 +#: e2fsck/unix.c:323 #, c-format msgid " has been mounted %u times without being checked" -msgstr " byÅ‚ montowany %u razy bez sprawdzania" +msgstr " by³ montowany %u razy bez sprawdzania" -#: e2fsck/unix.c:376 +#: e2fsck/unix.c:330 msgid " has filesystem last checked time in the future" -msgstr " ma czas ostatniego sprawdzenia systemu plików w przyszÅ‚oÅ›ci" +msgstr " ma czas ostatniego sprawdzenia systemu plików w przysz³o¶ci" -#: e2fsck/unix.c:382 +#: e2fsck/unix.c:336 #, c-format msgid " has gone %u days without being checked" -msgstr " przetrwaÅ‚ %u dni bez sprawdzania" +msgstr " przetrwa³ %u dni bez sprawdzania" -#: e2fsck/unix.c:391 +#: e2fsck/unix.c:345 msgid ", check forced.\n" msgstr ", wymuszono sprawdzenie.\n" -#: e2fsck/unix.c:424 +#: e2fsck/unix.c:348 #, c-format -msgid "%s: clean, %u/%u files, %llu/%llu blocks" -msgstr "%s: czysty, %u/%u plików, %llu/%llu bloków" +msgid "%s: clean, %u/%u files, %u/%u blocks" +msgstr "%s: czysty, %u/%u plików, %u/%u bloków" -#: e2fsck/unix.c:443 +#: e2fsck/unix.c:365 msgid " (check deferred; on battery)" msgstr " (sprawdzenie wstrzymane; zasilanie z baterii)" -#: e2fsck/unix.c:446 +#: e2fsck/unix.c:368 msgid " (check after next mount)" -msgstr " (sprawdzenie po nastÄ™pnym montowaniu)" +msgstr " (sprawdzenie po nastêpnym montowaniu)" -#: e2fsck/unix.c:448 +#: e2fsck/unix.c:370 #, c-format msgid " (check in %ld mounts)" -msgstr "(sprawdzenie za %ld montowaÅ„)" +msgstr "(sprawdzenie za %ld montowañ)" -#: e2fsck/unix.c:598 +#: e2fsck/unix.c:517 #, c-format msgid "ERROR: Couldn't open /dev/null (%s)\n" -msgstr "BÅÄ„D: Nie można otworzyć /dev/null (%s)\n" +msgstr "B£¡D: Nie mo¿na otworzyæ /dev/null (%s)\n" -#: e2fsck/unix.c:667 +#: e2fsck/unix.c:587 #, c-format msgid "Invalid EA version.\n" -msgstr "BÅ‚Ä™dna wersja EA.\n" +msgstr "B³êdna wersja EA.\n" -#: e2fsck/unix.c:694 +#: e2fsck/unix.c:596 #, c-format msgid "Unknown extended option: %s\n" msgstr "Nieznana opcja rozszerzona: %s\n" -#: e2fsck/unix.c:719 +#: e2fsck/unix.c:618 #, c-format msgid "" "Syntax error in e2fsck config file (%s, line #%d)\n" "\t%s\n" msgstr "" -"BÅ‚Ä…d skÅ‚adni w pliku konfiguracyjnym e2fsck (%s, linia %d)\n" +"B³±d sk³adni w pliku konfiguracyjnym e2fsck (%s, linia %d)\n" "\t%s\n" -#: e2fsck/unix.c:788 +#: e2fsck/unix.c:686 #, c-format msgid "Error validating file descriptor %d: %s\n" -msgstr "BÅ‚Ä…d podczas kontroli deskryptora pliku %d: %s\n" +msgstr "B³±d podczas kontroli deskryptora pliku %d: %s\n" -#: e2fsck/unix.c:792 +#: e2fsck/unix.c:690 msgid "Invalid completion information file descriptor" -msgstr "BÅ‚Ä™dne informacje dopeÅ‚niajÄ…ce deskryptora plików" +msgstr "B³êdne informacje dope³niaj±ce deskryptora plików" -#: e2fsck/unix.c:807 +#: e2fsck/unix.c:705 msgid "Only one of the options -p/-a, -n or -y may be specified." -msgstr "Można podać tylko jednÄ… z opcji -p/-a, -n lub -y." +msgstr "Mo¿na podaæ tylko jedn± z opcji -p/-a, -n lub -y." -#: e2fsck/unix.c:828 +#: e2fsck/unix.c:726 #, c-format msgid "The -t option is not supported on this version of e2fsck.\n" -msgstr "Opcja -t nie jest obsÅ‚ugiwana przez tÄ™ wersjÄ™ e2fsck.\n" - -#: e2fsck/unix.c:859 e2fsck/unix.c:931 misc/tune2fs.c:811 misc/tune2fs.c:1100 -#: misc/tune2fs.c:1118 -#, c-format -msgid "Unable to resolve '%s'" -msgstr "Nie udaÅ‚o siÄ™ rozwiÄ…zać '%s'" +msgstr "Opcja -t nie jest obs³ugiwana przez tê wersjê e2fsck.\n" -#: e2fsck/unix.c:910 +#: e2fsck/unix.c:801 msgid "The -n and -D options are incompatible." -msgstr "Opcje -n i -D sÄ… niekompatybilne." +msgstr "Opcje -n i -D s± niekompatybilne." -#: e2fsck/unix.c:915 +#: e2fsck/unix.c:806 msgid "The -n and -c options are incompatible." -msgstr "Opcje -n i -c sÄ… niekompatybilne." +msgstr "Opcje -n i -c s± niekompatybilne." -#: e2fsck/unix.c:920 +#: e2fsck/unix.c:811 msgid "The -n and -l/-L options are incompatible." -msgstr "Opcje -n i -l/-L sÄ… niekompatybilne." +msgstr "Opcje -n i -l/-L s± niekompatybilne." + +#: e2fsck/unix.c:822 misc/tune2fs.c:550 misc/tune2fs.c:835 misc/tune2fs.c:853 +#, c-format +msgid "Unable to resolve '%s'" +msgstr "Nie uda³o siê rozwi±zaæ '%s'" -#: e2fsck/unix.c:974 +#: e2fsck/unix.c:851 #, c-format msgid "The -c and the -l/-L options may not be both used at the same time.\n" -msgstr "Opcje -c oraz -l/-L nie mogÄ… być podane jednoczeÅ›nie.\n" +msgstr "Opcje -c oraz -l/-L nie mog± byæ podane jednocze¶nie.\n" -#: e2fsck/unix.c:1022 +#: e2fsck/unix.c:899 #, c-format msgid "" "E2FSCK_JBD_DEBUG \"%s\" not an integer\n" "\n" msgstr "" -"E2FSCK_JBD_DEBUG \"%s\" nie jest liczbÄ… caÅ‚kowitÄ…\n" +"E2FSCK_JBD_DEBUG \"%s\" nie jest liczb± ca³kowit±\n" "\n" -#: e2fsck/unix.c:1031 +#: e2fsck/unix.c:908 #, c-format msgid "" "\n" @@ -2949,208 +2721,202 @@ msgid "" "\n" msgstr "" "\n" -"BÅ‚Ä™dny argument nieliczbowy dla -%c (\"%s\")\n" +"B³êdny argument nieliczbowy dla -%c (\"%s\")\n" "\n" -#: e2fsck/unix.c:1120 -#, c-format -msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n" -msgstr "PrzedziaÅ‚ MMP to %u sek, a caÅ‚kowity czas oczekiwania %u sek. ProszÄ™ czekać...\n" - -#: e2fsck/unix.c:1137 e2fsck/unix.c:1142 -msgid "while checking MMP block" -msgstr "podczas sprawdzania bloku MMP" - -#: e2fsck/unix.c:1144 misc/tune2fs.c:1912 -msgid "" -"If you are sure the filesystem is not in use on any node, run:\n" -"'tune2fs -f -E clear_mmp {device}'\n" -msgstr "" -"JeÅ›li system plików nie jest na pewno używany przez żaden system, można uruchomić:\n" -"'tune2fs -f -E clear_mmp {urzÄ…dzenie}'\n" - -#: e2fsck/unix.c:1194 +#: e2fsck/unix.c:982 #, c-format msgid "Error: ext2fs library version out of date!\n" -msgstr "BÅ‚Ä…d: wersja biblioteki ext2fs jest za stara!\n" +msgstr "B³±d: wersja biblioteki ext2fs jest za stara!\n" -#: e2fsck/unix.c:1202 +#: e2fsck/unix.c:990 msgid "while trying to initialize program" -msgstr "podczas próby inicjalizacji programu" +msgstr "podczas próby inicjalizacji programu" -#: e2fsck/unix.c:1225 +#: e2fsck/unix.c:1001 #, c-format msgid "\tUsing %s, %s\n" -msgstr "\tUżywane %s, %s\n" +msgstr "\tU¿ywane %s, %s\n" -#: e2fsck/unix.c:1237 +#: e2fsck/unix.c:1013 msgid "need terminal for interactive repairs" msgstr "interaktywna naprawa wymaga terminala" -#: e2fsck/unix.c:1290 +#: e2fsck/unix.c:1046 #, c-format msgid "%s: %s trying backup blocks...\n" -msgstr "%s: %s próba użycia zapasowych bloków...\n" +msgstr "%s: %s próba u¿ycia zapasowych bloków...\n" -#: e2fsck/unix.c:1292 +#: e2fsck/unix.c:1048 msgid "Superblock invalid," -msgstr "Superblok bÅ‚Ä™dny," +msgstr "Superblok b³êdny," -#: e2fsck/unix.c:1293 +#: e2fsck/unix.c:1049 msgid "Group descriptors look bad..." -msgstr "Deskryptory grup wyglÄ…dajÄ… źle..." - -#: e2fsck/unix.c:1303 -#, c-format -msgid "%s: %s while using the backup blocks" -msgstr "%s: %s podczas próby użycia zapasowych bloków" +msgstr "Deskryptory grup wygl±daj± ¼le..." -#: e2fsck/unix.c:1307 +#: e2fsck/unix.c:1059 #, c-format msgid "%s: going back to original superblock\n" msgstr "%s: powracanie do oryginalnego superbloku\n" -#: e2fsck/unix.c:1335 +#: e2fsck/unix.c:1086 +#, c-format msgid "" "The filesystem revision is apparently too high for this version of e2fsck.\n" "(Or the filesystem superblock is corrupt)\n" "\n" msgstr "" -"Wersja systemu plików jest zbyt duża dla tej wersji e2fsck.\n" -"(lub superblok systemu plików jest uszkodzony)\n" +"Wersja systemu plików jest zbyt du¿a dla tej wersji e2fsck.\n" +"(lub superblok systemu plików jest uszkodzony)\n" "\n" -#: e2fsck/unix.c:1341 +#: e2fsck/unix.c:1092 +#, c-format msgid "Could this be a zero-length partition?\n" -msgstr "Czy to może jest partycja zerowej dÅ‚ugoÅ›ci?\n" +msgstr "Czy to mo¿e jest partycja zerowej d³ugo¶ci?\n" -#: e2fsck/unix.c:1344 +#: e2fsck/unix.c:1094 #, c-format msgid "You must have %s access to the filesystem or be root\n" -msgstr "Trzeba mieć dostÄ™p %s do systemu plików lub być rootem\n" +msgstr "Trzeba mieæ dostêp %s do systemu plików lub byæ rootem\n" -#: e2fsck/unix.c:1349 +#: e2fsck/unix.c:1099 +#, c-format msgid "Possibly non-existent or swap device?\n" -msgstr "Zapewne nie istniejÄ…ce urzÄ…dzenie lub swap?\n" +msgstr "Zapewne nie istniej±ce urz±dzenie lub swap?\n" -#: e2fsck/unix.c:1352 +#: e2fsck/unix.c:1101 +#, c-format msgid "Filesystem mounted or opened exclusively by another program?\n" -msgstr "System plików zamontowany lub otwarty na wyÅ‚Ä…czność przez inny program?\n" - -#: e2fsck/unix.c:1355 -msgid "Possibly non-existent device?\n" -msgstr "Zapewne nie istniejÄ…ce urzÄ…dzenie?\n" +msgstr "System plików zamontowany lub otwarty na wy³±czno¶æ przez inny program?\n" -#: e2fsck/unix.c:1358 +#: e2fsck/unix.c:1105 +#, c-format msgid "" "Disk write-protected; use the -n option to do a read-only\n" "check of the device.\n" msgstr "" -"Dysk zabezpieczony przed zapisem; można użyć opcji -n aby sprawdzić\n" -"urzÄ…dzenie w trybie tylko do odczytu.\n" +"Dysk zabezpieczony przed zapisem; mo¿na u¿yæ opcji -n aby sprawdziæ\n" +"urz±dzenie w trybie tylko do odczytu.\n" -#: e2fsck/unix.c:1423 +#: e2fsck/unix.c:1169 msgid "Get a newer version of e2fsck!" msgstr "Potrzeba nowszej wersji e2fsck!" -#: e2fsck/unix.c:1467 +#: e2fsck/unix.c:1199 #, c-format msgid "while checking ext3 journal for %s" msgstr "podczas sprawdzania kroniki ext3 dla %s" -#: e2fsck/unix.c:1478 +#: e2fsck/unix.c:1210 +#, c-format msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n" msgstr "" -"Uwaga: pominiÄ™to odtwarzanie z kroniki z powodu sprawdzania w trybie tylko\n" +"Uwaga: pominiêto odtwarzanie z kroniki z powodu sprawdzania w trybie tylko\n" "do odczytu.\n" -#: e2fsck/unix.c:1491 +#: e2fsck/unix.c:1223 #, c-format msgid "unable to set superblock flags on %s\n" -msgstr "nie można ustawić flag superbloku na %s\n" +msgstr "nie mo¿na ustawiæ flag superbloku na %s\n" -#: e2fsck/unix.c:1497 +#: e2fsck/unix.c:1229 #, c-format msgid "while recovering ext3 journal of %s" msgstr "podczas odtwarzania z kroniki ext3 dla %s" -#: e2fsck/unix.c:1521 +#: e2fsck/unix.c:1254 #, c-format msgid "%s has unsupported feature(s):" -msgstr "%s ma wÅ‚Ä…czone nie obsÅ‚ugiwane cechy:" +msgstr "%s ma w³±czone nie obs³ugiwane cechy:" -#: e2fsck/unix.c:1536 -#, c-format -msgid "%s: warning: compression support is experimental.\n" -msgstr "%s: uwaga: obsÅ‚uga kompresji jest eksperymentalna.\n" +#: e2fsck/unix.c:1270 +msgid "Warning: compression support is experimental.\n" +msgstr "Uwaga: obs³uga kompresji jest eksperymentalna.\n" -#: e2fsck/unix.c:1542 +#: e2fsck/unix.c:1275 #, c-format msgid "" -"%s: e2fsck not compiled with HTREE support,\n" +"E2fsck not compiled with HTREE support,\n" "\tbut filesystem %s has HTREE directories.\n" msgstr "" -"%s: e2fsck skompilowany bez obsÅ‚ugi HTREE,\n" -"\tale system plików %s ma katalogi HTREE.\n" +"E2fsck skompilowany bez obs³ugi HTREE,\n" +"\tale system plików %s ma katalogi HTREE.\n" -#: e2fsck/unix.c:1594 -#, c-format -msgid "%s: %s while reading bad blocks inode\n" -msgstr "%s: %s podczas odczytu i-wÄ™zÅ‚a wadliwych bloków\n" +#: e2fsck/unix.c:1328 +msgid "while reading bad blocks inode" +msgstr "podczas odczytu i-wêz³a wadliwych bloków" -#: e2fsck/unix.c:1597 +#: e2fsck/unix.c:1330 +#, c-format msgid "This doesn't bode well, but we'll try to go on...\n" -msgstr "Nie wróży to dobrze, ale spróbujÄ™ kontynuować...\n" +msgstr "Nie wró¿y to dobrze, ale spróbujê kontynuowaæ...\n" + +#: e2fsck/unix.c:1356 +msgid "Couldn't determine journal size" +msgstr "Nie uda³o siê okre¶liæ rozmiaru kroniki" -#: e2fsck/unix.c:1638 +#: e2fsck/unix.c:1359 #, c-format msgid "Creating journal (%d blocks): " -msgstr "Tworzenie kroniki (%d bloków): " +msgstr "Tworzenie kroniki (%d bloków): " -#: e2fsck/unix.c:1648 +#: e2fsck/unix.c:1366 misc/mke2fs.c:2248 +msgid "" +"\n" +"\twhile trying to create journal" +msgstr "" +"\n" +"\tpodczas próby utworzenia kroniki" + +#: e2fsck/unix.c:1369 +#, c-format msgid " Done.\n" msgstr " Wykonano.\n" -#: e2fsck/unix.c:1649 +#: e2fsck/unix.c:1370 +#, c-format msgid "" "\n" "*** journal has been re-created - filesystem is now ext3 again ***\n" msgstr "" "\n" -"*** kronika zostaÅ‚a ponownie utworzona - system plików to znowu ext3 ***\n" +"*** kronika zosta³a ponownie utworzona - system plików to znowu ext3 ***\n" -#: e2fsck/unix.c:1672 +#: e2fsck/unix.c:1377 +#, c-format msgid "Restarting e2fsck from the beginning...\n" -msgstr "Restart e2fsck od poczÄ…tku...\n" +msgstr "Restart e2fsck od pocz±tku...\n" -#: e2fsck/unix.c:1676 +#: e2fsck/unix.c:1381 msgid "while resetting context" msgstr "podczas resetowania kontekstu" -#: e2fsck/unix.c:1683 +#: e2fsck/unix.c:1388 #, c-format msgid "%s: e2fsck canceled.\n" msgstr "%s: e2fsck przerwany.\n" -#: e2fsck/unix.c:1688 +#: e2fsck/unix.c:1393 msgid "aborted" msgstr "przerwano" -#: e2fsck/unix.c:1700 e2fsck/util.c:67 +#: e2fsck/unix.c:1405 #, c-format msgid "" "\n" "%s: ***** FILE SYSTEM WAS MODIFIED *****\n" msgstr "" "\n" -"%s: ***** SYSTEM PLIKÓW ZMODYFIKOWANY *****\n" +"%s: ***** SYSTEM PLIKÓW ZMODYFIKOWANY *****\n" -#: e2fsck/unix.c:1704 +#: e2fsck/unix.c:1408 #, c-format msgid "%s: ***** REBOOT LINUX *****\n" msgstr "%s: ***** WYMAGANY RESTART LINUKSA *****\n" -#: e2fsck/unix.c:1712 e2fsck/util.c:73 +#: e2fsck/unix.c:1416 #, c-format msgid "" "\n" @@ -3158,46 +2924,46 @@ msgid "" "\n" msgstr "" "\n" -"%s: ********** UWAGA: System plików nadal ma bÅ‚Ä™dy **********\n" +"%s: ********** UWAGA: System plików nadal ma b³êdy **********\n" "\n" -#: e2fsck/unix.c:1752 +#: e2fsck/unix.c:1454 msgid "while setting block group checksum info" -msgstr "podczas ustawiania informacji o sumie kontrolnej grupy bloków" +msgstr "podczas ustawiania informacji o sumie kontrolnej grupy bloków" -#: e2fsck/util.c:190 misc/util.c:70 +#: e2fsck/util.c:138 misc/util.c:68 msgid "yY" msgstr "tTyY" -#: e2fsck/util.c:191 +#: e2fsck/util.c:139 msgid "nN" msgstr "nN" -#: e2fsck/util.c:205 +#: e2fsck/util.c:153 msgid "" msgstr "" -#: e2fsck/util.c:207 +#: e2fsck/util.c:155 msgid "" msgstr "" -#: e2fsck/util.c:209 +#: e2fsck/util.c:157 msgid " (y/n)" msgstr " (t/n)" -#: e2fsck/util.c:223 +#: e2fsck/util.c:172 msgid "cancelled!\n" msgstr "anulowano!\n" -#: e2fsck/util.c:238 +#: e2fsck/util.c:187 msgid "yes\n" msgstr "tak\n" -#: e2fsck/util.c:240 +#: e2fsck/util.c:189 msgid "no\n" msgstr "nie\n" -#: e2fsck/util.c:250 +#: e2fsck/util.c:199 #, c-format msgid "" "%s? no\n" @@ -3206,7 +2972,7 @@ msgstr "" "%s? nie\n" "\n" -#: e2fsck/util.c:254 +#: e2fsck/util.c:203 #, c-format msgid "" "%s? yes\n" @@ -3215,38 +2981,38 @@ msgstr "" "%s? tak\n" "\n" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "yes" msgstr "tak" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "no" msgstr "nie" -#: e2fsck/util.c:273 +#: e2fsck/util.c:221 #, c-format msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s" msgstr "e2fsck_read_bitmaps: niedopuszczalne bloki bitmapy dla %s" -#: e2fsck/util.c:278 +#: e2fsck/util.c:226 msgid "reading inode and block bitmaps" -msgstr "odczytu bitmap i-wÄ™złów i bloków" +msgstr "odczytu bitmap i-wêz³ów i bloków" -#: e2fsck/util.c:286 +#: e2fsck/util.c:231 #, c-format msgid "while retrying to read bitmaps for %s" -msgstr "podczas ponawiania próby odczytu bitmap dla %s" +msgstr "podczas ponawiania próby odczytu bitmap dla %s" -#: e2fsck/util.c:298 +#: e2fsck/util.c:243 msgid "writing block and inode bitmaps" -msgstr "zapisu bitmap bloków i i-wÄ™złów" +msgstr "zapisu bitmap bloków i i-wêz³ów" -#: e2fsck/util.c:303 +#: e2fsck/util.c:248 #, c-format msgid "while rewriting block and inode bitmaps for %s" -msgstr "podczas ponownego zapisu bitmap blików i i-wÄ™złów dla %s" +msgstr "podczas ponownego zapisu bitmap blików i i-wêz³ów dla %s" -#: e2fsck/util.c:315 +#: e2fsck/util.c:260 #, c-format msgid "" "\n" @@ -3256,52 +3022,48 @@ msgid "" msgstr "" "\n" "\n" -"%s: NIEOCZEKIWANA NIESPÓJNOŚĆ; TRZEBA URUCHOMIĆ fsck RĘCZNIE.\n" +"%s: NIEOCZEKIWANA NIESPÓJNO¦Æ; TRZEBA URUCHOMIÆ fsck RÊCZNIE.\n" "\t(tzn. bez opcji -a ani -p)\n" -#: e2fsck/util.c:396 +#: e2fsck/util.c:341 #, c-format msgid "Memory used: %luk/%luk (%luk/%luk), " -msgstr "Użyta pamięć: %luk/%luk (%luk/%luk), " +msgstr "U¿yta pamiêæ: %luk/%luk (%luk/%luk), " -#: e2fsck/util.c:400 +#: e2fsck/util.c:345 #, c-format msgid "Memory used: %lu, " -msgstr "Użyta pamięć: %lu, " +msgstr "U¿yta pamiêæ: %lu, " -#: e2fsck/util.c:407 +#: e2fsck/util.c:352 #, c-format msgid "time: %5.2f/%5.2f/%5.2f\n" msgstr "czas: %5.2f/%5.2f/%5.2f\n" -#: e2fsck/util.c:412 +#: e2fsck/util.c:357 #, c-format msgid "elapsed time: %6.3f\n" -msgstr "upÅ‚ynÄ…Å‚ czas: %6.f\n" +msgstr "up³yn±³ czas: %6.f\n" -#: e2fsck/util.c:447 e2fsck/util.c:461 +#: e2fsck/util.c:391 e2fsck/util.c:405 #, c-format msgid "while reading inode %lu in %s" -msgstr "podczas odczytu i-wÄ™zÅ‚a %lu w %s" +msgstr "podczas odczytu i-wêz³a %lu w %s" -#: e2fsck/util.c:475 e2fsck/util.c:488 +#: e2fsck/util.c:419 e2fsck/util.c:432 #, c-format msgid "while writing inode %lu in %s" -msgstr "podczas zapisu i-wÄ™zÅ‚a %lu w %s" +msgstr "podczas zapisu i-wêz³a %lu w %s" -#: e2fsck/util.c:637 +#: e2fsck/util.c:581 msgid "while allocating zeroizing buffer" -msgstr "podczas przydzielania bufora zerujÄ…cego" +msgstr "podczas przydzielania bufora zeruj±cego" -#: e2fsck/util.c:785 -msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n" -msgstr "NIEOCZEKIWANA NIESPÓJNOŚĆ: system plików zostaÅ‚ zmodyfikowany podczas dziaÅ‚ania fsck.\n" +#: misc/badblocks.c:66 +msgid "done \n" +msgstr "zakoñczono \n" -#: misc/badblocks.c:69 -msgid "done \n" -msgstr "zakoÅ„czono \n" - -#: misc/badblocks.c:92 +#: misc/badblocks.c:89 #, c-format msgid "" "Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnf]\n" @@ -3309,291 +3071,278 @@ msgid "" " [-p num_passes] [-t test_pattern [-t test_pattern [...]]]\n" " device [last_block [first_block]]\n" msgstr "" -"SkÅ‚adnia: %s [-b rozm_bloku] [-i plik_wej] [-o plik_wyj] [-svwnf]\n" -" [-c bloków_naraz] [-d wsp_opóźn_miÄ™dzy_odczytami]\n" -" [-e maks_wadliwych_bloków] [-p przebiegów]\n" -" [-t wzór_testowy [-t wzór_testowy [...]]]\n" -" urzÄ…dzenie [ostatni_blok [pierwszy_blok]]\n" +"Sk³adnia: %s [-b rozm_bloku] [-i plik_wej] [-o plik_wyj] [-svwnf]\n" +" [-c bloków_naraz] [-d wsp_opó¼n_miêdzy_odczytami]\n" +" [-e maks_b³êdnych_bloków] [-p przebiegów]\n" +" [-t wzór_testowy [-t wzór_testowy [...]]]\n" +" urz±dzenie [ostatni_blok [pierwszy_blok]]\n" -#: misc/badblocks.c:103 +#: misc/badblocks.c:100 #, c-format msgid "" "%s: The -n and -w options are mutually exclusive.\n" "\n" msgstr "" -"%s: Opcje -n i -w wykluczajÄ… siÄ™ wzajemnie.\n" +"%s: Opcje -n i -w wykluczaj± siê wzajemnie.\n" "\n" -#: misc/badblocks.c:218 +#: misc/badblocks.c:202 #, c-format -msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)" -msgstr "Gotowe w %6.2f%%, minęło %s (bÅ‚Ä™dów: %d/%d/%d)" +msgid "%6.2f%% done, %s elapsed" +msgstr "Gotowe w %6.2f%%, minê³o %s" -#: misc/badblocks.c:322 +#: misc/badblocks.c:293 msgid "Testing with random pattern: " msgstr "Testowanie wzorcem losowym: " -#: misc/badblocks.c:340 +#: misc/badblocks.c:311 msgid "Testing with pattern 0x" msgstr "Testowanie wzorcem 0x" -#: misc/badblocks.c:372 misc/badblocks.c:445 +#: misc/badblocks.c:339 misc/badblocks.c:408 msgid "during seek" msgstr "podczas przeskakiwania" -#: misc/badblocks.c:383 +#: misc/badblocks.c:350 #, c-format msgid "Weird value (%ld) in do_read\n" -msgstr "Dziwna wartość (%ld) w do_read\n" +msgstr "Dziwna warto¶æ (%ld) w do_read\n" -#: misc/badblocks.c:469 +#: misc/badblocks.c:428 msgid "during ext2fs_sync_device" msgstr "podczas ext2fs_sync_device" -#: misc/badblocks.c:489 misc/badblocks.c:749 +#: misc/badblocks.c:447 misc/badblocks.c:711 msgid "while beginning bad block list iteration" -msgstr "podczas rozpoczynania iteracji po liÅ›cie wadliwych bloków" +msgstr "podczas rozpoczynania iteracji po li¶cie wadliwych bloków" -#: misc/badblocks.c:503 misc/badblocks.c:602 misc/badblocks.c:759 +#: misc/badblocks.c:461 misc/badblocks.c:563 misc/badblocks.c:721 msgid "while allocating buffers" -msgstr "podczas przydzielania buforów" +msgstr "podczas przydzielania buforów" -#: misc/badblocks.c:507 +#: misc/badblocks.c:465 #, c-format msgid "Checking blocks %lu to %lu\n" -msgstr "Sprawdzanie bloków od %lu do %lu\n" +msgstr "Sprawdzanie bloków od %lu do %lu\n" -#: misc/badblocks.c:512 +#: misc/badblocks.c:470 msgid "Checking for bad blocks in read-only mode\n" -msgstr "Poszukiwanie wadliwych bloków w trybie tylko do odczytu\n" +msgstr "Poszukiwanie wadliwych bloków w trybie tylko do odczytu\n" -#: misc/badblocks.c:521 +#: misc/badblocks.c:479 msgid "Checking for bad blocks (read-only test): " -msgstr "Poszukiwanie wadliwych bloków (tylko odczyt): " +msgstr "Poszukiwanie wadliwych bloków (tylko odczyt): " -#: misc/badblocks.c:528 misc/badblocks.c:634 misc/badblocks.c:676 -#: misc/badblocks.c:822 +#: misc/badblocks.c:487 misc/badblocks.c:595 misc/badblocks.c:640 +#: misc/badblocks.c:784 msgid "Too many bad blocks, aborting test\n" -msgstr "Zbyt dużo wadliwych bloków, przerwanie testu\n" +msgstr "Zbyt du¿o wadliwych bloków, przerwanie testu\n" -#: misc/badblocks.c:609 +#: misc/badblocks.c:570 msgid "Checking for bad blocks in read-write mode\n" -msgstr "Poszukiwanie wadliwych bloków w trybie odczytu i zapisu\n" +msgstr "Poszukiwanie wadliwych bloków w trybie odczytu i zapisu\n" -#: misc/badblocks.c:611 misc/badblocks.c:772 +#: misc/badblocks.c:572 misc/badblocks.c:734 #, c-format msgid "From block %lu to %lu\n" msgstr "Od bloku %lu do %lu\n" -#: misc/badblocks.c:666 +#: misc/badblocks.c:630 msgid "Reading and comparing: " -msgstr "Odczyt i porównywanie: " +msgstr "Odczyt i porównywanie: " -#: misc/badblocks.c:771 +#: misc/badblocks.c:733 msgid "Checking for bad blocks in non-destructive read-write mode\n" -msgstr "Poszukiwanie wadliwych bloków w trybie z niedestruktywnym zapisem\n" +msgstr "Poszukiwanie wadliwych bloków w trybie z niedestruktywnym zapisem\n" -#: misc/badblocks.c:777 +#: misc/badblocks.c:739 msgid "Checking for bad blocks (non-destructive read-write test)\n" -msgstr "Poszukiwanie wadliwych bloków (odczyt i niedestruktywny zapis)\n" +msgstr "Poszukiwanie wadliwych bloków (odczyt i niedestruktywny zapis)\n" -#: misc/badblocks.c:784 +#: misc/badblocks.c:746 msgid "" "\n" "Interrupt caught, cleaning up\n" msgstr "" "\n" -"Otrzymano przerwanie, sprzÄ…tam\n" +"Otrzymano przerwanie, sprz±tam\n" "\n" -#: misc/badblocks.c:867 +#: misc/badblocks.c:822 #, c-format msgid "during test data write, block %lu" msgstr "podczas zapisu testowych danych, blok %lu" -#: misc/badblocks.c:988 misc/util.c:152 +#: misc/badblocks.c:933 misc/util.c:156 #, c-format msgid "%s is mounted; " msgstr "%s jest zamontowany; " -#: misc/badblocks.c:990 +#: misc/badblocks.c:935 msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n" -msgstr "badblocks wymuszone mimo to. Mam nadziejÄ™, że /etc/mtab siÄ™ myli.\n" +msgstr "badblocks wymuszone mimo to. Mam nadziejê, ¿e /etc/mtab siê myli.\n" -#: misc/badblocks.c:995 +#: misc/badblocks.c:940 msgid "it's not safe to run badblocks!\n" -msgstr "nie jest bezpiecznie uruchamiać badblocks!\n" +msgstr "nie jest bezpiecznie uruchamiaæ badblocks!\n" -#: misc/badblocks.c:1000 misc/util.c:163 +#: misc/badblocks.c:945 misc/util.c:167 #, c-format msgid "%s is apparently in use by the system; " -msgstr "%s jest najwyraźniej używany przez system; " +msgstr "%s jest najwyra¼niej u¿ywany przez system; " -#: misc/badblocks.c:1003 +#: misc/badblocks.c:948 msgid "badblocks forced anyway.\n" msgstr "badblocks wymuszone mimo to.\n" -#: misc/badblocks.c:1023 +#: misc/badblocks.c:968 #, c-format msgid "invalid %s - %s" -msgstr "bÅ‚Ä™dny %s - %s" +msgstr "b³êdny %s - %s" -#: misc/badblocks.c:1133 +#: misc/badblocks.c:1077 #, c-format msgid "can't allocate memory for test_pattern - %s" -msgstr "nie można przydzielić pamiÄ™ci na wzorzec_testowy - %s" +msgstr "nie mo¿na przydzieliæ pamiêci na wzorzec_testowy - %s" -#: misc/badblocks.c:1163 +#: misc/badblocks.c:1104 msgid "Maximum of one test_pattern may be specified in read-only mode" -msgstr "W trybie odczytu-zapisu można podać najwyżej jeden wzorzec testowy" +msgstr "W trybie odczytu-zapisu mo¿na podaæ najwy¿ej jeden wzorzec testowy" -#: misc/badblocks.c:1169 +#: misc/badblocks.c:1110 msgid "Random test_pattern is not allowed in read-only mode" -msgstr "W trybie samego odczytu nie można podać wzorca_testowego" +msgstr "W trybie samego odczytu nie mo¿na podaæ wzorca_testowego" -#: misc/badblocks.c:1183 +#: misc/badblocks.c:1124 msgid "" "Couldn't determine device size; you must specify\n" "the size manually\n" msgstr "" -"Nie można okreÅ›lić rozmiaru urzÄ…dzenia; trzeba podać\n" -"rozmiar rÄ™cznie\n" +"Nie mo¿na okre¶liæ rozmiaru urz±dzenia; trzeba podaæ\n" +"rozmiar rêcznie\n" -#: misc/badblocks.c:1189 +#: misc/badblocks.c:1130 msgid "while trying to determine device size" -msgstr "podczas próby okreÅ›lenia rozmiaru urzÄ…dzenia" +msgstr "podczas próby okre¶lenia rozmiaru urz±dzenia" -#: misc/badblocks.c:1194 +#: misc/badblocks.c:1135 msgid "last block" msgstr "ostatni blok" -#: misc/badblocks.c:1200 +#: misc/badblocks.c:1141 msgid "first block" msgstr "pierwszy blok" -#: misc/badblocks.c:1203 +#: misc/badblocks.c:1144 #, c-format msgid "invalid starting block (%lu): must be less than %lu" -msgstr "bÅ‚Ä™dny poczÄ…tkowy blok (%lu): musi być mniejszy niż %lu" +msgstr "b³êdny pocz±tkowy blok (%lu): musi byæ mniejszy ni¿ %lu" -#: misc/badblocks.c:1259 +#: misc/badblocks.c:1200 msgid "while creating in-memory bad blocks list" -msgstr "podczas tworzenia listy wadliwych bloków w pamiÄ™ci" +msgstr "podczas tworzenia listy wadliwych bloków w pamiêci" -#: misc/badblocks.c:1274 +#: misc/badblocks.c:1215 msgid "while adding to in-memory bad block list" -msgstr "podczas dodawania do listy wadliwych bloków w pamiÄ™ci" +msgstr "podczas dodawania do listy wadliwych bloków w pamiêci" -#: misc/badblocks.c:1298 +#: misc/badblocks.c:1239 #, c-format -msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n" -msgstr "Przebieg zakoÅ„czony, znaleziono %u wadliwych bloków (bÅ‚Ä™dów: %d/%d/%d).\n" +msgid "Pass completed, %u bad blocks found.\n" +msgstr "Przebieg zakoñczony, znaleziono %u wadliwych bloków.\n" -#: misc/chattr.c:86 +#: misc/chattr.c:85 #, c-format -msgid "Usage: %s [-RVf] [-+=AaCcDdeijsSu] [-v version] files...\n" -msgstr "SkÅ‚adnia: %s [-RVf] [-+=AaCcDdeijsSu] [-v wersja] pliki...\n" +msgid "Usage: %s [-RVf] [-+=AacDdeijsSu] [-v version] files...\n" +msgstr "Sk³adnia: %s [-RVf] [-+=AacDdeijsSu] [-v wersja] pliki...\n" -#: misc/chattr.c:155 +#: misc/chattr.c:153 #, c-format msgid "bad version - %s\n" -msgstr "bÅ‚Ä™dna wersja - %s\n" +msgstr "b³êdna wersja - %s\n" -#: misc/chattr.c:201 misc/lsattr.c:116 +#: misc/chattr.c:200 misc/lsattr.c:115 #, c-format msgid "while trying to stat %s" -msgstr "podczas próby stat %s" +msgstr "podczas próby stat %s" -#: misc/chattr.c:208 +#: misc/chattr.c:207 #, c-format msgid "while reading flags on %s" msgstr "podczas odczytu flag %s" -#: misc/chattr.c:213 misc/chattr.c:225 +#: misc/chattr.c:216 misc/chattr.c:235 +#, c-format +msgid "Clearing extent flag not supported on %s" +msgstr "Usuwanie flagi ekstentów nie jest obs³ugiwane na %s" + +#: misc/chattr.c:221 misc/chattr.c:240 #, c-format msgid "Flags of %s set as " msgstr "Flagi %s ustawiono jako " -#: misc/chattr.c:234 +#: misc/chattr.c:249 #, c-format msgid "while setting flags on %s" msgstr "podczas ustawiania flag %s" -#: misc/chattr.c:242 +#: misc/chattr.c:257 #, c-format msgid "Version of %s set as %lu\n" msgstr "Wersja %s ustawiona jako %lu\n" -#: misc/chattr.c:246 +#: misc/chattr.c:261 #, c-format msgid "while setting version on %s" msgstr "podczas ustawiania wersji %s" -#: misc/chattr.c:266 +#: misc/chattr.c:281 #, c-format msgid "Couldn't allocate path variable in chattr_dir_proc" -msgstr "Nie można przydzielić zmiennej path w chattr_dir_proc" +msgstr "Nie mo¿na przydzieliæ zmiennej path w chattr_dir_proc" -#: misc/chattr.c:306 +#: misc/chattr.c:320 msgid "= is incompatible with - and +\n" msgstr "= jest niekompatybilne z - i +\n" -#: misc/chattr.c:314 +#: misc/chattr.c:328 msgid "Must use '-v', =, - or +\n" -msgstr "Trzeba użyć '-v', =, - lub +\n" +msgstr "Trzeba u¿yæ '-v', =, - lub +\n" -#: misc/dumpe2fs.c:55 +#: misc/dumpe2fs.c:53 #, c-format msgid "Usage: %s [-bfhixV] [-o superblock=] [-o blocksize=] device\n" -msgstr "SkÅ‚adnia: %s [-bfhixV] [-o superblok=] [-o blocksize=] urzÄ…dzenie\n" - -#: misc/dumpe2fs.c:159 -msgid "blocks" -msgstr "bloków" +msgstr "Sk³adnia: %s [-bfhixV] [-o superblok=] [-o blocksize=] urz±dzenie\n" #: misc/dumpe2fs.c:168 -msgid "clusters" -msgstr "klastrów" - -#: misc/dumpe2fs.c:196 #, c-format msgid "Group %lu: (Blocks " msgstr "Grupa %lu: (Bloki " -#: misc/dumpe2fs.c:204 -#, c-format -msgid " Checksum 0x%04x" -msgstr " Suma kontrolna 0x%04x" - -#: misc/dumpe2fs.c:206 -#, c-format -msgid " (EXPECTED 0x%04x)" -msgstr " (OCZEKIWANA 0x%04x)" - -#: misc/dumpe2fs.c:207 +#: misc/dumpe2fs.c:173 #, c-format -msgid ", unused inodes %u\n" -msgstr ", nie używanych i-wÄ™złów: %u\n" +msgid " Checksum 0x%04x, unused inodes %d\n" +msgstr " Suma kontrolna 0x%04x, %d nie u¿ywanych i-wêz³ów\n" -#: misc/dumpe2fs.c:212 +#: misc/dumpe2fs.c:178 #, c-format msgid " %s superblock at " msgstr " %s superblok pod " -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Primary" -msgstr "Główny" +msgstr "G³ówny" -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Backup" msgstr "Zapasowy" -#: misc/dumpe2fs.c:217 +#: misc/dumpe2fs.c:183 #, c-format msgid ", Group descriptors at " msgstr ", Deskryptory grup pod " -#: misc/dumpe2fs.c:221 +#: misc/dumpe2fs.c:187 #, c-format msgid "" "\n" @@ -3602,104 +3351,99 @@ msgstr "" "\n" " Zarezerwowane bloki GDT pod " -#: misc/dumpe2fs.c:228 +#: misc/dumpe2fs.c:194 #, c-format msgid " Group descriptor at " msgstr ", Deskryptory grup pod " -#: misc/dumpe2fs.c:234 +#: misc/dumpe2fs.c:200 msgid " Block bitmap at " -msgstr " Bitmapa bloków pod " +msgstr " Bitmapa bloków pod " -#: misc/dumpe2fs.c:238 +#: misc/dumpe2fs.c:205 msgid ", Inode bitmap at " -msgstr ", bitmapa i-wÄ™złów pod " +msgstr ", bitmapa i-wêz³ów pod " -#: misc/dumpe2fs.c:242 +#: misc/dumpe2fs.c:210 msgid "" "\n" " Inode table at " msgstr "" "\n" -" Tablica i-wÄ™złów pod " +" Tablica i-wêz³ów pod " -#: misc/dumpe2fs.c:248 +#: misc/dumpe2fs.c:217 #, c-format msgid "" "\n" -" %u free %s, %u free inodes, %u directories%s" +" %u free blocks, %u free inodes, %u directories%s" msgstr "" "\n" -" wolnych %2$s: %1$u, wolnych i-wÄ™złów: %3$u, katalogów: %4$u%5$s" +" %u wolnych bloków, %u wolnych i-wêz³ów, %u katalogów%s" -#: misc/dumpe2fs.c:255 +#: misc/dumpe2fs.c:224 #, c-format msgid ", %u unused inodes\n" -msgstr ", nie używanych i-wÄ™złów: %u\n" +msgstr ", %u nie u¿ywanych i-wêz³ów\n" -#: misc/dumpe2fs.c:258 +#: misc/dumpe2fs.c:227 msgid " Free blocks: " msgstr " Wolne bloki: " -#: misc/dumpe2fs.c:269 +#: misc/dumpe2fs.c:237 msgid " Free inodes: " -msgstr " Wolne i-wÄ™zÅ‚y: " +msgstr " Wolne i-wêz³y: " -#: misc/dumpe2fs.c:300 +#: misc/dumpe2fs.c:268 msgid "while printing bad block list" -msgstr "podczas wypisywania listy wadliwych bloków" +msgstr "podczas wypisywania listy wadliwych bloków" -#: misc/dumpe2fs.c:306 +#: misc/dumpe2fs.c:274 #, c-format msgid "Bad blocks: %u" msgstr "Wadliwe bloki: %u" -#: misc/dumpe2fs.c:333 misc/tune2fs.c:306 +#: misc/dumpe2fs.c:301 misc/tune2fs.c:281 msgid "while reading journal inode" -msgstr "podczas odczytu i-wÄ™zÅ‚a kroniki" +msgstr "podczas odczytu i-wêz³a kroniki" -#: misc/dumpe2fs.c:339 +#: misc/dumpe2fs.c:307 msgid "while opening journal inode" -msgstr "podczas otwierania i-wÄ™zÅ‚a kroniki" +msgstr "podczas otwierania i-wêz³a kroniki" -#: misc/dumpe2fs.c:345 +#: misc/dumpe2fs.c:313 msgid "while reading journal super block" msgstr "podczas odczytu superbloku kroniki" -#: misc/dumpe2fs.c:355 +#: misc/dumpe2fs.c:323 #, c-format msgid "Journal features: " msgstr "Cechy kroniki: " -#: misc/dumpe2fs.c:368 +#: misc/dumpe2fs.c:336 msgid "Journal size: " msgstr "Rozmiar kroniki: " -#: misc/dumpe2fs.c:379 +#: misc/dumpe2fs.c:347 #, c-format msgid "" "Journal length: %u\n" "Journal sequence: 0x%08x\n" "Journal start: %u\n" msgstr "" -"DÅ‚ugość kroniki: %u\n" +"D³ugo¶æ kroniki: %u\n" "Sekwencja kroniki: 0x%08x\n" -"PoczÄ…tek kroniki: %u\n" - -#: misc/dumpe2fs.c:386 -#, c-format -msgid "Journal errno: %d\n" -msgstr "BÅ‚Ä…d kroniki: %d\n" +"Pocz±tek kroniki: %u\n" -#: misc/dumpe2fs.c:401 misc/tune2fs.c:222 +#: misc/dumpe2fs.c:366 misc/tune2fs.c:202 msgid "while reading journal superblock" msgstr "podczas odczytu superbloku kroniki" -#: misc/dumpe2fs.c:409 +#: misc/dumpe2fs.c:374 msgid "Couldn't find journal superblock magic numbers" -msgstr "Nie można znaleźć magicznych liczb superbloku kroniki" +msgstr "Nie mo¿na znale¼æ magicznych liczb superbloku kroniki" -#: misc/dumpe2fs.c:413 +#: misc/dumpe2fs.c:378 #, c-format msgid "" "\n" @@ -3712,33 +3456,33 @@ msgid "" msgstr "" "\n" "Rozmiar bloku kroniki: %u\n" -"DÅ‚ugość kroniki: %u\n" +"D³ugo¶æ kroniki: %u\n" "Pierwszy blok kroniki: %u\n" "Sekwencja kroniki: 0x%08x\n" -"PoczÄ…tek kroniki: %u\n" -"Liczba użytkowników kroniki: %u\n" +"Pocz±tek kroniki: %u\n" +"Liczba u¿ytkowników kroniki: %u\n" -#: misc/dumpe2fs.c:426 +#: misc/dumpe2fs.c:391 #, c-format msgid "Journal users: %s\n" -msgstr "Użytkownicy kroniki: %s\n" +msgstr "U¿ytkownicy kroniki: %s\n" -#: misc/dumpe2fs.c:442 misc/mke2fs.c:666 misc/tune2fs.c:1137 +#: misc/dumpe2fs.c:407 misc/mke2fs.c:699 misc/tune2fs.c:872 #, c-format msgid "Couldn't allocate memory to parse options!\n" -msgstr "Nie można przydzielić pamiÄ™ci do analizy opcji!\n" +msgstr "Nie mo¿na przydzieliæ pamiêci do analizy opcji!\n" -#: misc/dumpe2fs.c:468 +#: misc/dumpe2fs.c:433 #, c-format msgid "Invalid superblock parameter: %s\n" -msgstr "BÅ‚Ä™dny parametr superblock: %s\n" +msgstr "B³êdny parametr superblock: %s\n" -#: misc/dumpe2fs.c:483 +#: misc/dumpe2fs.c:448 #, c-format msgid "Invalid blocksize parameter: %s\n" -msgstr "BÅ‚Ä™dny parametr blocksize: %s\n" +msgstr "B³êdny parametr blocksize: %s\n" -#: misc/dumpe2fs.c:494 +#: misc/dumpe2fs.c:459 #, c-format msgid "" "\n" @@ -3752,548 +3496,511 @@ msgid "" "\tblocksize=\n" msgstr "" "\n" -"Podano bÅ‚Ä™dne opcje rozszerzone: %s.\n" +"Podano b³êdne opcje rozszerzone: %s.\n" "\n" -"Opcje rozszerzone sÄ… oddzielane przecinkami i mogÄ… przyjmować parametr,\n" -"\tktóry jest ustawiany znakiem '='.\n" +"Opcje rozszerzone s± oddzielane przecinkami i mog± przyjmowaæ parametr,\n" +"\tktóry jest ustawiany znakiem '='.\n" "\n" "Poprawne opcje rozszerzone to:\n" "\tsuperblock=\n" "\tblocksize=\n" -#: misc/dumpe2fs.c:554 misc/mke2fs.c:1555 +#: misc/dumpe2fs.c:518 misc/mke2fs.c:1406 #, c-format msgid "\tUsing %s\n" -msgstr "\tUżywane %s\n" +msgstr "\tU¿ywane %s\n" -#: misc/dumpe2fs.c:590 misc/e2image.c:1326 misc/tune2fs.c:1923 -#: resize/main.c:317 +#: misc/dumpe2fs.c:554 misc/e2image.c:681 misc/tune2fs.c:1576 +#: resize/main.c:312 #, c-format msgid "Couldn't find valid filesystem superblock.\n" -msgstr "Nie można znaleźć poprawnego superbloku systemu plików.\n" +msgstr "Nie mo¿na znale¼æ poprawnego superbloku systemu plików.\n" -#: misc/dumpe2fs.c:618 +#: misc/dumpe2fs.c:579 #, c-format msgid "" "\n" "%s: %s: error reading bitmaps: %s\n" msgstr "" "\n" -"%s: %s: bÅ‚Ä…d podczas czytania bitmap: %s\n" - -#: misc/e2image.c:90 -#, c-format -msgid "Usage: %s [-rsIQa] device image_file\n" -msgstr "SkÅ‚adnia: %s [-rsIQa] urzÄ…dzenie plik_obrazu\n" +"%s: %s: b³±d podczas czytania bitmap: %s\n" -#: misc/e2image.c:138 +#: misc/e2image.c:52 #, c-format -msgid "Error: header size is bigger than wrt_size\n" -msgstr "BÅ‚Ä…d: rozmiar nagłówka jest wiÄ™kszy niż wrt_size\n" +msgid "Usage: %s [-rsI] device image_file\n" +msgstr "Sk³adnia: %s [-rsI] urz±dzenie plik_obrazu\n" -#: misc/e2image.c:144 +#: misc/e2image.c:64 msgid "Couldn't allocate header buffer\n" -msgstr "Nie można przydzielić bufora nagłówka\n" +msgstr "Nie mo¿na przydzieliæ bufora nag³ówka\n" + +#: misc/e2image.c:83 +#, c-format +msgid "short write (only %d bytes) for writing image header" +msgstr "skrócony zapis (tylko %d bajtów) podczas zapisu nag³ówka obrazu" -#: misc/e2image.c:174 +#: misc/e2image.c:102 msgid "while writing superblock" msgstr "podczas zapisu superbloku" -#: misc/e2image.c:182 +#: misc/e2image.c:110 msgid "while writing inode table" -msgstr "podczas zapisu tabeli i-wÄ™złów" +msgstr "podczas zapisu tabeli i-wêz³ów" -#: misc/e2image.c:189 +#: misc/e2image.c:117 msgid "while writing block bitmap" -msgstr "podczas zapisu bitmapy bloków" +msgstr "podczas zapisu bitmapy bloków" -#: misc/e2image.c:196 +#: misc/e2image.c:124 msgid "while writing inode bitmap" -msgstr "podczas zapisu bitmapy i-wÄ™złów" - -#: misc/e2image.c:1365 -#, c-format -msgid "while trying to convert qcow2 image (%s) into raw image (%s)" -msgstr "podczas próby przeksztaÅ‚cenia obrazu qcow2 (%s) na obraz surowy (%s)" +msgstr "podczas zapisu bitmapy i-wêz³ów" -#: misc/e2label.c:58 +#: misc/e2label.c:57 #, c-format msgid "e2label: cannot open %s\n" -msgstr "e2label: nie można otworzyć %s\n" +msgstr "e2label: nie mo¿na otworzyæ %s\n" -#: misc/e2label.c:63 +#: misc/e2label.c:62 #, c-format msgid "e2label: cannot seek to superblock\n" -msgstr "e2label: nie można przejść do superbloku\n" +msgstr "e2label: nie mo¿na przej¶æ do superbloku\n" -#: misc/e2label.c:68 +#: misc/e2label.c:67 #, c-format msgid "e2label: error reading superblock\n" -msgstr "e2label: bÅ‚Ä…d podczas odczytu superbloku\n" +msgstr "e2label: b³±d podczas odczytu superbloku\n" -#: misc/e2label.c:72 +#: misc/e2label.c:71 #, c-format msgid "e2label: not an ext2 filesystem\n" -msgstr "e2label: to nie jest system plików ext2\n" +msgstr "e2label: to nie jest system plików ext2\n" -#: misc/e2label.c:97 misc/tune2fs.c:2080 +#: misc/e2label.c:96 misc/tune2fs.c:1711 #, c-format msgid "Warning: label too long, truncating.\n" -msgstr "Uwaga: etykieta za dÅ‚uga, skrócono.\n" +msgstr "Uwaga: etykieta za d³uga, skrócono.\n" -#: misc/e2label.c:100 +#: misc/e2label.c:99 #, c-format msgid "e2label: cannot seek to superblock again\n" -msgstr "e2label: nie można przejść ponownie do superbloku\n" +msgstr "e2label: nie mo¿na przej¶æ ponownie do superbloku\n" -#: misc/e2label.c:105 +#: misc/e2label.c:104 #, c-format msgid "e2label: error writing superblock\n" -msgstr "e2label: bÅ‚Ä…d podczas zapisu superbloku\n" +msgstr "e2label: b³±d podczas zapisu superbloku\n" -#: misc/e2label.c:117 misc/tune2fs.c:803 +#: misc/e2label.c:116 misc/tune2fs.c:542 #, c-format msgid "Usage: e2label device [newlabel]\n" -msgstr "SkÅ‚adnia: e2label urzÄ…dzenie [nowa-etykieta]\n" +msgstr "Sk³adnia: e2label urz±dzenie [nowa-etykieta]\n" -#: misc/e2undo.c:36 +#: misc/e2undo.c:35 #, c-format msgid "Usage: %s \n" -msgstr "SkÅ‚adnia: %s \n" +msgstr "Sk³adnia: %s \n" #: misc/e2undo.c:52 msgid "Failed to read the file system data \n" -msgstr "Nie udaÅ‚o siÄ™ odczytać danych systemu plików\n" +msgstr "Nie uda³o siê odczytaæ danych systemu plików\n" -#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:206 +#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:205 #, c-format msgid "Failed tdb_fetch %s\n" -msgstr "tdb_fetch %s nie powiodÅ‚o siÄ™\n" +msgstr "tdb_fetch %s nie powiod³o siê\n" #: misc/e2undo.c:70 #, c-format msgid "The file system Mount time didn't match %u\n" -msgstr "Czas montowania systemu plików nie odpowiada %u\n" +msgstr "Czas montowania systemu plików nie odpowiada %u\n" #: misc/e2undo.c:89 msgid "The file system UUID didn't match \n" -msgstr "UUID systemu plików nie pasuje\n" +msgstr "UUID systemu plików nie pasuje\n" -#: misc/e2undo.c:163 +#: misc/e2undo.c:162 #, c-format msgid "Failed tdb_open %s\n" -msgstr "tdb_open %s nie powiodÅ‚o siÄ™\n" +msgstr "tdb_open %s nie powiod³o siê\n" -#: misc/e2undo.c:169 +#: misc/e2undo.c:168 #, c-format msgid "Error while determining whether %s is mounted.\n" -msgstr "BÅ‚Ä…d podczas sprawdzania, czy %s jest zamontowany.\n" +msgstr "B³±d podczas sprawdzania, czy %s jest zamontowany.\n" -#: misc/e2undo.c:175 +#: misc/e2undo.c:174 msgid "e2undo should only be run on unmounted file system\n" -msgstr "e2undo powinno być uruchamiane tylko na odmontowanym systemie plików\n" +msgstr "e2undo powinno byæ uruchamiane tylko na odmontowanym systemie plików\n" -#: misc/e2undo.c:184 +#: misc/e2undo.c:183 #, c-format msgid "Failed to open %s\n" -msgstr "Nie udaÅ‚o siÄ™ otworzyć %s\n" +msgstr "Nie uda³o siê otworzyæ %s\n" -#: misc/e2undo.c:210 +#: misc/e2undo.c:209 #, c-format -msgid "Replayed transaction of size %zd at location %llu\n" -msgstr "Odtworzono transakcjÄ™ rozmiaru %zd w poÅ‚ożeniu %llu\n" +msgid "Replayed transaction of size %zd at location %ld\n" +msgstr "Odtworzono transakcjê rozmiaru %zd w po³o¿eniu %ld\n" -#: misc/e2undo.c:216 +#: misc/e2undo.c:215 #, c-format msgid "Failed write %s\n" -msgstr "Nie udaÅ‚o siÄ™ zapisać %s\n" +msgstr "Nie uda³o siê zapisaæ %s\n" #: misc/fsck.c:343 #, c-format msgid "WARNING: couldn't open %s: %s\n" -msgstr "UWAGA: nie można otworzyć %s: %s\n" +msgstr "UWAGA: nie mo¿na otworzyæ %s: %s\n" #: misc/fsck.c:353 #, c-format msgid "WARNING: bad format on line %d of %s\n" -msgstr "UWAGA: zÅ‚y format w linii %d pliku %s\n" +msgstr "UWAGA: z³y format w linii %d pliku %s\n" -#: misc/fsck.c:370 +#: misc/fsck.c:368 msgid "" -"WARNING: Your /etc/fstab does not contain the fsck passno\n" +"\a\a\aWARNING: Your /etc/fstab does not contain the fsck passno\n" "\tfield. I will kludge around things for you, but you\n" "\tshould fix your /etc/fstab file as soon as you can.\n" "\n" msgstr "" -"UWAGA: /etc/fstab nie zawiera pola passno dla fsck.\n" -"PominÄ™ ten bÅ‚Ä…d, ale /etc/fstab należy jak najszybciej poprawić.\n" +"\a\a\aUWAGA: /etc/fstab nie zawiera pola passno dla fsck.\n" +"Pominê ten b³±d, ale /etc/fstab nale¿y jak najszybciej poprawiæ.\n" "\n" -#: misc/fsck.c:478 +#: misc/fsck.c:477 #, c-format msgid "fsck: %s: not found\n" msgstr "fsck: %s: nie znaleziono\n" -#: misc/fsck.c:594 +#: misc/fsck.c:593 #, c-format msgid "%s: wait: No more child process?!?\n" -msgstr "%s: wait: Nie ma wiÄ™cej procesów potomnych?!?\n" +msgstr "%s: wait: Nie ma wiêcej procesów potomnych?!?\n" -#: misc/fsck.c:616 +#: misc/fsck.c:615 #, c-format msgid "Warning... %s for device %s exited with signal %d.\n" -msgstr "Uwaga... %s dla urzÄ…dzenia %s zakoÅ„czyÅ‚ siÄ™ sygnaÅ‚em %d.\n" +msgstr "Uwaga... %s dla urz±dzenia %s zakoñczy³ siê sygna³em %d.\n" -#: misc/fsck.c:622 +#: misc/fsck.c:621 #, c-format msgid "%s %s: status is %x, should never happen.\n" -msgstr "%s %s: status wynosi %x, to siÄ™ nie powinno nigdy zdarzyć.\n" +msgstr "%s %s: status wynosi %x, to siê nie powinno nigdy zdarzyæ.\n" -#: misc/fsck.c:661 +#: misc/fsck.c:660 #, c-format msgid "Finished with %s (exit status %d)\n" -msgstr "SkoÅ„czono z %s (status wyjÅ›cia %d)\n" +msgstr "Skoñczono z %s (status wyj¶cia %d)\n" -#: misc/fsck.c:721 +#: misc/fsck.c:720 #, c-format msgid "%s: Error %d while executing fsck.%s for %s\n" -msgstr "%s: BÅ‚Ä…d %d podczas wykonywania fsck.%s dla %s\n" +msgstr "%s: B³±d %d podczas wykonywania fsck.%s dla %s\n" -#: misc/fsck.c:742 +#: misc/fsck.c:741 msgid "" "Either all or none of the filesystem types passed to -t must be prefixed\n" "with 'no' or '!'.\n" msgstr "" -"Albo wszystkie, albo żaden rodzaj systemu plików z podanych po -t musi być\n" +"Albo wszystkie, albo ¿aden rodzaj systemu plików z podanych po -t musi byæ\n" "poprzedzony 'no' lub '!'.\n" -#: misc/fsck.c:761 +#: misc/fsck.c:760 msgid "Couldn't allocate memory for filesystem types\n" -msgstr "Nie można przydzielić pamiÄ™ci na rodzaje systemów plików\n" +msgstr "Nie mo¿na przydzieliæ pamiêci na rodzaje systemów plików\n" -#: misc/fsck.c:884 +#: misc/fsck.c:883 #, c-format msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n" -msgstr "%s: pominiÄ™to bÅ‚Ä™dnÄ… liniÄ™ w /etc/fstab: montowanie bind z niezerowym numerem przebiegu fsck\n" +msgstr "%s: pominiêto b³êdn± liniê w /etc/fstab: montowanie bind z niezerowym numerem przebiegu fsck\n" -#: misc/fsck.c:911 +#: misc/fsck.c:910 #, c-format msgid "fsck: cannot check %s: fsck.%s not found\n" -msgstr "fsck: nie można sprawdzić %s: fsck.%s nie znaleziony\n" +msgstr "fsck: nie mo¿na sprawdziæ %s: fsck.%s nie znaleziony\n" -#: misc/fsck.c:967 +#: misc/fsck.c:966 msgid "Checking all file systems.\n" -msgstr "Sprawdzanie wszystkich systemów plików.\n" +msgstr "Sprawdzanie wszystkich systemów plików.\n" -#: misc/fsck.c:1058 +#: misc/fsck.c:1057 #, c-format msgid "--waiting-- (pass %d)\n" msgstr "--oczekiwanie-- (przebieg %d)\n" -#: misc/fsck.c:1078 +#: misc/fsck.c:1077 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" -msgstr "SkÅ‚adnia: fsck [-AMNPRTV] [ -C [ deskryptor ] ] [-t rodzaj-fs] [opcje-fs] [system-plików ...]\n" +msgstr "Sk³adnia: fsck [-AMNPRTV] [ -C [ deskryptor ] ] [-t rodzaj-fs] [opcje-fs] [system-plików ...]\n" -#: misc/fsck.c:1120 +#: misc/fsck.c:1119 #, c-format msgid "%s: too many devices\n" -msgstr "%s: za dużo urzÄ…dzeÅ„\n" +msgstr "%s: za du¿o urz±dzeñ\n" -#: misc/fsck.c:1153 misc/fsck.c:1239 +#: misc/fsck.c:1152 misc/fsck.c:1238 #, c-format msgid "%s: too many arguments\n" -msgstr "%s: za dużo parametrów\n" +msgstr "%s: za du¿o parametrów\n" -#: misc/lsattr.c:74 +#: misc/lsattr.c:73 #, c-format msgid "Usage: %s [-RVadlv] [files...]\n" -msgstr "SkÅ‚adnia: %s [-RVadlv] [pliki...]\n" +msgstr "Sk³adnia: %s [-RVadlv] [pliki...]\n" -#: misc/lsattr.c:84 +#: misc/lsattr.c:83 #, c-format msgid "While reading flags on %s" msgstr "Podczas odczytu flag %s" -#: misc/lsattr.c:91 +#: misc/lsattr.c:90 #, c-format msgid "While reading version on %s" msgstr "Podczas odczytu wersji %s" -#: misc/mke2fs.c:116 +#: misc/mke2fs.c:108 #, c-format msgid "" -"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n" +"Usage: %s [-c|-l filename] [-b block-size] [-f fragment-size]\n" "\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n" -"\t[-G flex-group-size] [-N number-of-inodes]\n" +"\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n" "\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n" -"\t[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-count]\n" +"\t[-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]\n" msgstr "" -"SkÅ‚adnia: %s [-c|-l nazwa-pliku] [-b rozm.bloku] [-C rozm.klastra]\n" -"\t[-i bajtów-na-i-wÄ™zeÅ‚] [-I rozm-i-wÄ™zÅ‚a] [-J opcje-kroniki]\n" -"\t[-G rozmiar-grupy-flex] [-N liczba-i-wÄ™złów]\n" -"\t[-m procent-rezerw.-bloków] [-o os-twórcy]\n" -"\t[-g bloków-w-grupie] [-L etykieta-wolumenu] [-M ost.-mont.-katalog]\n" +"Sk³adnia: %s [-c|-l nazwa-pliku] [-b rozm.bloku] [-f rozm.fragm.]\n" +"\t[-i bajtów-na-i-wêze³] [-I rozm-i-wêz³a] [-J opcje-kroniki]\n" +"\t[-G rozmiar metagrupy] [-N liczba-i-wêz³ów]\n" +"\t[-m procent-rezerw.-bloków] [-o os-twórcy]\n" +"\t[-g bloków-w-grupie] [-L etykieta-wolumenu] [-M ost.-mont.-katalog]\n" "\t[-O cecha[,...]] [-r wersja-fs] [-E opcja-rozszerzona[,...]]\n" -"\t[-t typ-fs] [-T typ-użycia] [-U UUID] [-jnqvDFKSV] urzÄ…dzenie [liczba-bloków]\n" +"\t[-T rodzaj-fs] [-U UUID] [-jnqvFKSV] urz±dzenie [liczba-bloków]\n" -#: misc/mke2fs.c:221 +#: misc/mke2fs.c:210 #, c-format msgid "Running command: %s\n" msgstr "Uruchamianie polecenia: %s\n" -#: misc/mke2fs.c:225 +#: misc/mke2fs.c:214 #, c-format msgid "while trying to run '%s'" -msgstr "podczas próby uruchomienia '%s'" +msgstr "podczas próby uruchomienia '%s'" -#: misc/mke2fs.c:232 +#: misc/mke2fs.c:221 msgid "while processing list of bad blocks from program" -msgstr "podczas przetwarzania listy wadliwych bloków z programu" +msgstr "podczas przetwarzania listy wadliwych bloków z programu" -#: misc/mke2fs.c:259 +#: misc/mke2fs.c:248 #, c-format msgid "Block %d in primary superblock/group descriptor area bad.\n" -msgstr "Wadliwy blok %d w głównym superbloku/obszarze deskryptora grup.\n" +msgstr "Wadliwy blok %d w g³ównym superbloku/obszarze deskryptora grup.\n" -#: misc/mke2fs.c:261 +#: misc/mke2fs.c:250 #, c-format msgid "Blocks %u through %u must be good in order to build a filesystem.\n" -msgstr "Bloki od %u do %u muszÄ… być dobre, aby stworzyć system plików.\n" +msgstr "Bloki od %u do %u musz± byæ dobre, aby stworzyæ system plików.\n" -#: misc/mke2fs.c:264 +#: misc/mke2fs.c:253 msgid "Aborting....\n" msgstr "Przerwano...\n" -#: misc/mke2fs.c:284 +#: misc/mke2fs.c:273 #, c-format msgid "" "Warning: the backup superblock/group descriptors at block %u contain\n" "\tbad blocks.\n" "\n" msgstr "" -"Uwaga: zapasowy superblok/deskryptory grup w bloku %u zawierajÄ…\n" +"Uwaga: zapasowy superblok/deskryptory grup w bloku %u zawieraj±\n" "\twadliwe bloki.\n" "\n" -#: misc/mke2fs.c:303 +#: misc/mke2fs.c:292 msgid "while marking bad blocks as used" -msgstr "podczas zaznaczania wadliwych bloków jako używane" +msgstr "podczas zaznaczania wadliwych bloków jako u¿ywane" + +#: misc/mke2fs.c:350 +msgid "done \n" +msgstr "zakoñczono \n" -#: misc/mke2fs.c:320 +#: misc/mke2fs.c:364 msgid "Writing inode tables: " -msgstr "Zapis tablicy i-wÄ™złów: " +msgstr "Zapis tablicy i-wêz³ów: " -#: misc/mke2fs.c:341 +#: misc/mke2fs.c:387 #, c-format msgid "" "\n" -"Could not write %d blocks in inode table starting at %llu: %s\n" +"Could not write %d blocks in inode table starting at %u: %s\n" msgstr "" "\n" -"Nie udaÅ‚o siÄ™ zapisać %d bloków w tablicy i-wÄ™złów poczÄ…wszy od %llu: %s\n" - -#: misc/mke2fs.c:355 misc/mke2fs.c:2257 misc/mke2fs.c:2512 -#, c-format -msgid "done \n" -msgstr "zakoÅ„czono \n" +"Nie mo¿na zapisaæ %d bloków w tablicy i-wêz³ów pocz±wszy od %u: %s\n" -#: misc/mke2fs.c:366 +#: misc/mke2fs.c:411 msgid "while creating root dir" -msgstr "podczas tworzenia głównego katalogu" +msgstr "podczas tworzenia g³ównego katalogu" -#: misc/mke2fs.c:373 +#: misc/mke2fs.c:418 msgid "while reading root inode" -msgstr "podczas odczytu głównego i-wÄ™zÅ‚a" +msgstr "podczas odczytu g³ównego i-wêz³a" -#: misc/mke2fs.c:385 +#: misc/mke2fs.c:432 msgid "while setting root inode ownership" -msgstr "podczas ustawiania wÅ‚aÅ›ciciela głównego i-wÄ™zÅ‚a" +msgstr "podczas ustawiania w³a¶ciciela g³ównego i-wêz³a" -#: misc/mke2fs.c:403 +#: misc/mke2fs.c:450 msgid "while creating /lost+found" msgstr "podczas tworzenia /lost+found" -#: misc/mke2fs.c:410 +#: misc/mke2fs.c:457 msgid "while looking up /lost+found" msgstr "podczas szukania /lost+found" -#: misc/mke2fs.c:423 +#: misc/mke2fs.c:470 msgid "while expanding /lost+found" msgstr "podczas rozszerzania /lost+found" -#: misc/mke2fs.c:438 +#: misc/mke2fs.c:485 msgid "while setting bad block inode" -msgstr "podczas ustawiania i-wÄ™zÅ‚a wadliwych bloków" +msgstr "podczas ustawiania i-wêz³a wadliwych bloków" -#: misc/mke2fs.c:465 +#: misc/mke2fs.c:512 #, c-format msgid "Out of memory erasing sectors %d-%d\n" -msgstr "Brak pamiÄ™ci podczas czyszczenia sektorów %d-%d\n" +msgstr "Brak pamiêci podczas czyszczenia sektorów %d-%d\n" -#: misc/mke2fs.c:475 +#: misc/mke2fs.c:522 #, c-format msgid "Warning: could not read block 0: %s\n" -msgstr "Uwaga: nie można odczytać bloku 0: %s\n" +msgstr "Uwaga: nie mo¿na odczytaæ bloku 0: %s\n" -#: misc/mke2fs.c:491 +#: misc/mke2fs.c:538 #, c-format msgid "Warning: could not erase sector %d: %s\n" -msgstr "Uwaga: nie można wyczyÅ›cić sektora %d: %s\n" +msgstr "Uwaga: nie mo¿na wyczy¶ciæ sektora %d: %s\n" -#: misc/mke2fs.c:507 +#: misc/mke2fs.c:554 msgid "while initializing journal superblock" msgstr "podczas inicjalizacji superbloku kroniki" -#: misc/mke2fs.c:515 +#: misc/mke2fs.c:560 msgid "Zeroing journal device: " -msgstr "Zerowanie urzÄ…dzenia kroniki: " +msgstr "Zerowanie urz±dzenia kroniki: " -#: misc/mke2fs.c:527 +#: misc/mke2fs.c:573 #, c-format -msgid "while zeroing journal device (block %llu, count %d)" -msgstr "podczas zerowania urzÄ…dzenia kroniki (blok %llu, liczba %d)" +msgid "while zeroing journal device (block %u, count %d)" +msgstr "podczas zerowania urz±dzenia kroniki (blok %u, liczba %d)" -#: misc/mke2fs.c:545 +#: misc/mke2fs.c:589 msgid "while writing journal superblock" msgstr "podczas zapisu superbloku kroniki" -#: misc/mke2fs.c:560 +#: misc/mke2fs.c:605 #, c-format msgid "" -"warning: %llu blocks unused.\n" +"warning: %u blocks unused.\n" "\n" msgstr "" -"uwaga: %llu bloków nie używanych.\n" +"uwaga: %u bloków nie u¿ywanych.\n" "\n" -#: misc/mke2fs.c:565 +#: misc/mke2fs.c:610 #, c-format msgid "Filesystem label=%s\n" -msgstr "Etykieta systemu plików=%s\n" +msgstr "Etykieta systemu plików=%s\n" -#: misc/mke2fs.c:568 -#, c-format -msgid "OS type: %s\n" -msgstr "Typ OS: %s\n" +#: misc/mke2fs.c:611 +msgid "OS type: " +msgstr "Typ OS: " -#: misc/mke2fs.c:570 +#: misc/mke2fs.c:616 #, c-format msgid "Block size=%u (log=%u)\n" msgstr "Rozmiar bloku=%u (log=%u)\n" -#: misc/mke2fs.c:574 -#, c-format -msgid "Cluster size=%u (log=%u)\n" -msgstr "Rozmiar klastra=%u (log=%u)\n" - -#: misc/mke2fs.c:578 +#: misc/mke2fs.c:618 #, c-format msgid "Fragment size=%u (log=%u)\n" msgstr "Rozmiar fragmentu=%u (log=%u)\n" -#: misc/mke2fs.c:580 +#: misc/mke2fs.c:620 #, c-format msgid "Stride=%u blocks, Stripe width=%u blocks\n" -msgstr "Stride=%u bloków, szerokość Stripe=%u bloków\n" +msgstr "Stride=%u bloków, szeroko¶æ Stripe=%u bloków\n" -#: misc/mke2fs.c:582 +#: misc/mke2fs.c:622 #, c-format -msgid "%u inodes, %llu blocks\n" -msgstr "%u i-wÄ™złów, %llu bloków\n" +msgid "%u inodes, %u blocks\n" +msgstr "%u i-wêz³ów, %u bloków\n" -#: misc/mke2fs.c:584 +#: misc/mke2fs.c:624 #, c-format -msgid "%llu blocks (%2.2f%%) reserved for the super user\n" -msgstr "%llu bloków (%2.2f%%) zarezerwowanych dla superużytkownika\n" +msgid "%u blocks (%2.2f%%) reserved for the super user\n" +msgstr "%u bloków (%2.2f%%) zarezerwowanych dla superu¿ytkownika\n" -#: misc/mke2fs.c:587 +#: misc/mke2fs.c:627 #, c-format msgid "First data block=%u\n" msgstr "Pierwszy blok danych=%u\n" -#: misc/mke2fs.c:589 -#, c-format -msgid "Root directory owner=%u:%u\n" -msgstr "WÅ‚aÅ›ciciel głównego katalogu=%u:%u\n" - -#: misc/mke2fs.c:591 +#: misc/mke2fs.c:629 #, c-format msgid "Maximum filesystem blocks=%lu\n" -msgstr "Maksymalna liczba bloków systemu plików=%lu\n" +msgstr "Maksymalna liczba bloków systemu plików=%lu\n" -#: misc/mke2fs.c:595 +#: misc/mke2fs.c:633 #, c-format msgid "%u block groups\n" -msgstr "%u grup bloków\n" +msgstr "%u grup bloków\n" -#: misc/mke2fs.c:597 +#: misc/mke2fs.c:635 #, c-format msgid "%u block group\n" -msgstr "%u grupa bloków\n" - -#: misc/mke2fs.c:600 -#, c-format -msgid "%u blocks per group, %u clusters per group\n" -msgstr "%u bloków w grupie, %u klastrów w grupie\n" +msgstr "%u grupa bloków\n" -#: misc/mke2fs.c:603 +#: misc/mke2fs.c:636 #, c-format msgid "%u blocks per group, %u fragments per group\n" -msgstr "%u bloków w grupie, %u fragmentów w grupie\n" +msgstr "%u bloków w grupie, %u fragmentów w grupie\n" -#: misc/mke2fs.c:605 +#: misc/mke2fs.c:638 #, c-format msgid "%u inodes per group\n" -msgstr "%u i-wÄ™złów w grupie\n" +msgstr "%u i-wêz³ów w grupie\n" -#: misc/mke2fs.c:612 +#: misc/mke2fs.c:645 #, c-format msgid "Superblock backups stored on blocks: " msgstr "Kopie zapasowe superbloku zapisane w blokach: " -#: misc/mke2fs.c:691 misc/tune2fs.c:1165 -#, c-format -msgid "Invalid mmp_update_interval: %s\n" -msgstr "BÅ‚Ä™dny okres uaktualniania mmp: %s\n" - -#: misc/mke2fs.c:705 +#: misc/mke2fs.c:724 #, c-format msgid "Invalid stride parameter: %s\n" -msgstr "BÅ‚Ä™dny parametr stride: %s\n" +msgstr "B³êdny parametr stride: %s\n" -#: misc/mke2fs.c:720 +#: misc/mke2fs.c:739 #, c-format msgid "Invalid stripe-width parameter: %s\n" -msgstr "BÅ‚Ä™dny parametr stripe-width: %s\n" +msgstr "B³êdny parametr stripe-width: %s\n" -#: misc/mke2fs.c:743 +#: misc/mke2fs.c:761 #, c-format msgid "Invalid resize parameter: %s\n" -msgstr "BÅ‚Ä™dny parametr resize: %s\n" +msgstr "B³êdny parametr resize: %s\n" -#: misc/mke2fs.c:750 +#: misc/mke2fs.c:768 #, c-format msgid "The resize maximum must be greater than the filesystem size.\n" -msgstr "Maksymalny rozmiar (resize) musi być wiÄ™kszy od rozmiaru systemu plików.\n" +msgstr "Maksymalny rozmiar (resize) musi byæ wiêkszy od rozmiaru systemu plików.\n" -#: misc/mke2fs.c:774 +#: misc/mke2fs.c:792 #, c-format msgid "On-line resizing not supported with revision 0 filesystems\n" -msgstr "Zmiana rozmiaru w locie nie jest obsÅ‚ugiwana przez systemy plików w wersji 0\n" - -#: misc/mke2fs.c:801 misc/mke2fs.c:810 -#, c-format -msgid "Invalid root_owner: '%s'\n" -msgstr "BÅ‚Ä™dny root_owner: '%s'\n" - -#: misc/mke2fs.c:835 -#, c-format -msgid "Invalid quotatype parameter: %s\n" -msgstr "BÅ‚Ä™dny parametr quotatype: %s\n" +msgstr "Zmiana rozmiaru w locie nie jest obs³ugiwana przez systemy plików w wersji 0\n" -#: misc/mke2fs.c:846 +#: misc/mke2fs.c:814 #, c-format msgid "" "\n" @@ -4307,36 +4014,23 @@ msgid "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" -"\tlazy_journal_init=<0 to disable, 1 to enable>\n" -"\troot_uid=\n" -"\troot_gid=\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" msgstr "" "\n" -"Podano bÅ‚Ä™dne opcje: %s\n" +"Podano b³êdne opcje: %s\n" "\n" -"Opcje rozszerzone sÄ… oddzielane przecinkami i mogÄ… przyjmować parametr,\n" -"\tktóry jest ustawiany znakiem '='.\n" +"Opcje rozszerzone s± oddzielane przecinkami i mog± przyjmowaæ parametr,\n" +"\tktóry jest ustawiany znakiem '='.\n" "\n" "Poprawne opcje rozszerzone to:\n" "\tstride=\n" -"\tstripe-width=\n" -"\tresize=\n" -"\tlazy_itable_init=<0 aby wyÅ‚Ä…czyć, 1 aby wÅ‚Ä…czyć>\n" -"\tlazy_journal_init=<0 aby wyÅ‚Ä…czyć, 1 aby wÅ‚Ä…czyć>\n" -"\troot_uid=\n" -"\troot_gid=\n" +"\tstripe-width=\n" +"\tresize=\n" +"\tlazy_itable_init=<0 aby wy³±czyæ, 1 aby w³±czyæ>\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" -"\n" -#: misc/mke2fs.c:868 +#: misc/mke2fs.c:830 #, c-format msgid "" "\n" @@ -4344,499 +4038,385 @@ msgid "" "\n" msgstr "" "\n" -"Uwaga: RAID stripe-width %u nie jest parzystÄ… wielokrotnoÅ›ciÄ… stride %u.\n" +"Uwaga: RAID stripe-width %u nie jest parzyst± wielokrotno¶ci± stride %u.\n" "\n" -#: misc/mke2fs.c:907 +#: misc/mke2fs.c:862 #, c-format msgid "" "Syntax error in mke2fs config file (%s, line #%d)\n" "\t%s\n" msgstr "" -"BÅ‚Ä…d skÅ‚adni w pliku konfiguracyjnym mke2fs (%s, linia %d)\n" +"B³±d sk³adni w pliku konfiguracyjnym mke2fs (%s, linia %d)\n" "\t%s\n" -#: misc/mke2fs.c:920 misc/tune2fs.c:398 +#: misc/mke2fs.c:875 misc/tune2fs.c:355 #, c-format msgid "Invalid filesystem option set: %s\n" -msgstr "Ustawiona bÅ‚Ä™dna opcja systemu plików: %s\n" +msgstr "Ustawiona b³êdna opcja systemu plików: %s\n" -#: misc/mke2fs.c:932 misc/tune2fs.c:349 -#, c-format -msgid "Invalid mount option set: %s\n" -msgstr "Ustawiona bÅ‚Ä™dna opcja montowania: %s\n" - -#: misc/mke2fs.c:1072 +#: misc/mke2fs.c:985 #, c-format msgid "" "\n" -"Your mke2fs.conf file does not define the %s filesystem type.\n" +"Warning! Your mke2fs.conf file does not define the %s filesystem type.\n" msgstr "" "\n" -"Uwaga! Plik mke2fs.conf nie okreÅ›la typu systemu plików %s.\n" +"Uwaga! Plik mke2fs.conf nie okre¶la typu systemu plików %s.\n" -#: misc/mke2fs.c:1076 +#: misc/mke2fs.c:988 #, c-format msgid "" "You probably need to install an updated mke2fs.conf file.\n" "\n" msgstr "" -"Prawdopodobnie trzeba zainstalować uaktualniony plik mke2fs.conf.\n" -"\n" - -#: misc/mke2fs.c:1080 -#, c-format -msgid "Aborting...\n" -msgstr "Przerwano...\n" - -#: misc/mke2fs.c:1120 -#, c-format -msgid "" -"\n" -"Warning: the fs_type %s is not defined in mke2fs.conf\n" -"\n" -msgstr "" -"\n" -"Uwaga: typ systemu plików %s nie jest zdefiniowany w mke2fs.conf\n" +"Prawdopodobnie trzeba zainstalowaæ uaktualniony plik mke2fs.conf.\n" "\n" -#: misc/mke2fs.c:1276 -#, c-format -msgid "Couldn't allocate memory for new PATH.\n" -msgstr "Nie udaÅ‚o siÄ™ przydzielić pamiÄ™ci na nowÄ… PATH\n" - -#: misc/mke2fs.c:1317 -#, c-format -msgid "Couldn't init profile successfully (error: %ld).\n" -msgstr "Nie udaÅ‚o siÄ™ poprawnie zainicjować profilu (bÅ‚Ä…d: %ld).\n" - -#: misc/mke2fs.c:1357 +#: misc/mke2fs.c:1224 #, c-format msgid "invalid block size - %s" -msgstr "bÅ‚Ä™dny rozmiar bloku - %s" +msgstr "b³êdny rozmiar bloku - %s" -#: misc/mke2fs.c:1361 +#: misc/mke2fs.c:1228 #, c-format msgid "Warning: blocksize %d not usable on most systems.\n" -msgstr "Uwaga: rozmiar bloku %d nie używalny na wiÄ™kszoÅ›ci systemów.\n" +msgstr "Uwaga: rozmiar bloku %d nie u¿ywalny na wiêkszo¶ci systemów.\n" -#: misc/mke2fs.c:1377 +#: misc/mke2fs.c:1244 #, c-format -msgid "invalid cluster size - %s" -msgstr "bÅ‚Ä™dny rozmiar klastra - %s" +msgid "invalid fragment size - %s" +msgstr "z³y rozmiar fragmentu - %s" -#: misc/mke2fs.c:1387 -msgid "'-R' is deprecated, use '-E' instead" -msgstr "'-%' jest przestarzaÅ‚e, zamiast niego należy używać '-E'" +#: misc/mke2fs.c:1250 +#, c-format +msgid "Warning: fragments not supported. Ignoring -f option\n" +msgstr "Uwaga: fragmenty nie obs³ugiwane. Opcja -f zignorowana\n" -#: misc/mke2fs.c:1399 +#: misc/mke2fs.c:1257 msgid "Illegal number for blocks per group" -msgstr "BÅ‚Ä™dna liczba bloków w grupie" +msgstr "B³êdna liczba bloków w grupie" -#: misc/mke2fs.c:1404 +#: misc/mke2fs.c:1262 msgid "blocks per group must be multiple of 8" -msgstr "liczba bloków w grupie musi być wielokrotnoÅ›ciÄ… 8" +msgstr "liczba bloków w grupie musi byæ wielokrotno¶ci± 8" -#: misc/mke2fs.c:1412 +#: misc/mke2fs.c:1270 msgid "Illegal number for flex_bg size" msgstr "Niedopuszczalny rozmiar flex_bg" -#: misc/mke2fs.c:1418 +#: misc/mke2fs.c:1276 msgid "flex_bg size must be a power of 2" -msgstr "rozmiar flex_bg musi być potÄ™gÄ… 2" +msgstr "rozmiar flex_bg musi byæ potêg± 2" -#: misc/mke2fs.c:1428 +#: misc/mke2fs.c:1286 #, c-format msgid "invalid inode ratio %s (min %d/max %d)" -msgstr "bÅ‚Ä™dny stosunek i-wÄ™złów %s (min %d/max %d)" - -#: misc/mke2fs.c:1438 -#, c-format -msgid "invalid inode size - %s" -msgstr "bÅ‚Ä™dny rozmiar i-wÄ™zÅ‚a - %s" +msgstr "b³êdny stosunek i-wêz³ów %s (min %d/max %d)" -#: misc/mke2fs.c:1450 -#, c-format -msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n" -msgstr "Uwaga: opcja -K jest przestarzaÅ‚a i nie powinna już być używana. Zamiast niej należy użyć opcji rozszerzonej '-E nodiscard'.\n" - -#: misc/mke2fs.c:1460 +#: misc/mke2fs.c:1306 msgid "in malloc for bad_blocks_filename" msgstr "w malloc dla bad_blocks_filename" -#: misc/mke2fs.c:1473 +#: misc/mke2fs.c:1316 #, c-format msgid "invalid reserved blocks percent - %s" -msgstr "bÅ‚Ä™dny procent zarezerwowanych bloków - %s" - -#: misc/mke2fs.c:1488 -#, c-format -msgid "bad num inodes - %s" -msgstr "bÅ‚Ä™dna liczba i-wÄ™złów - %s" +msgstr "b³êdny procent zarezerwowanych bloków - %s" -#: misc/mke2fs.c:1505 +#: misc/mke2fs.c:1334 #, c-format msgid "bad revision level - %s" -msgstr "bÅ‚Ä™dny poziom wersji - %s" +msgstr "b³êdny poziom wersji - %s" -#: misc/mke2fs.c:1519 -msgid "The -t option may only be used once" -msgstr "Opcja -t może być użyta tylko raz" +#: misc/mke2fs.c:1346 +#, c-format +msgid "invalid inode size - %s" +msgstr "b³êdny rozmiar i-wêz³a - %s" -#: misc/mke2fs.c:1527 -msgid "The -T option may only be used once" -msgstr "Opcja -T może być użyta tylko raz" +#: misc/mke2fs.c:1366 +#, c-format +msgid "bad num inodes - %s" +msgstr "b³êdna liczba i-wêz³ów - %s" -#: misc/mke2fs.c:1580 misc/mke2fs.c:2591 +#: misc/mke2fs.c:1431 misc/mke2fs.c:2203 #, c-format msgid "while trying to open journal device %s\n" -msgstr "podczas próby otwarcia urzÄ…dzenia kroniki %s\n" +msgstr "podczas próby otwarcia urz±dzenia kroniki %s\n" -#: misc/mke2fs.c:1586 +#: misc/mke2fs.c:1437 #, c-format msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n" -msgstr "Rozmiar bloku urzÄ…dzenia z kronikÄ… (%d) mniejszy od minimalnego %d\n" +msgstr "Rozmiar bloku urz±dzenia z kronik± (%d) mniejszy od minimalnego %d\n" -#: misc/mke2fs.c:1592 +#: misc/mke2fs.c:1443 #, c-format msgid "Using journal device's blocksize: %d\n" -msgstr "Użycie rozmiaru bloku urzÄ…dzenia kroniki: %d\n" +msgstr "U¿ycie rozmiaru bloku urz±dzenia kroniki: %d\n" + +#: misc/mke2fs.c:1452 +#, c-format +msgid "%d-byte blocks too big for system (max %d)" +msgstr "%d-bajtowe bloki s± zbyt du¿e dla systemu (max %d)" -#: misc/mke2fs.c:1603 +#: misc/mke2fs.c:1456 #, c-format -msgid "invalid blocks '%s' on device '%s'" -msgstr "bÅ‚Ä™dna liczba bloków '%s' na urzÄ…dzeniu '%s'" +msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +msgstr "Uwaga: %d-bajtowe bloki s± zbyt du¿e dla systemu (max %d), wymuszono kontynuacjê\n" + +#: misc/mke2fs.c:1464 +#, c-format +msgid "invalid blocks count - %s" +msgstr "b³êdna liczba bloków - %s" -#: misc/mke2fs.c:1613 +#: misc/mke2fs.c:1474 msgid "filesystem" -msgstr "system plików" +msgstr "system plików" + +#: misc/mke2fs.c:1510 +#, c-format +msgid "" +"%s: Size of device %s too big to be expressed in 32 bits\n" +"\tusing a blocksize of %d.\n" +msgstr "" +"%s: Rozmiar urz±dzenia %s jest zbyt du¿y, aby wyraziæ go w 32 bitach\n" +"\tprzy u¿yciu rozmiaru bloku %d.\n" -#: misc/mke2fs.c:1626 resize/main.c:367 +#: misc/mke2fs.c:1519 resize/main.c:382 msgid "while trying to determine filesystem size" -msgstr "podczas próby okreÅ›lenia rozmiaru systemu plików" +msgstr "podczas próby okre¶lenia rozmiaru systemu plików" -#: misc/mke2fs.c:1632 +#: misc/mke2fs.c:1526 msgid "" "Couldn't determine device size; you must specify\n" "the size of the filesystem\n" msgstr "" -"Nie można okreÅ›lić rozmiaru urzÄ…dzenia; rozmiar systemu\n" -"plików musi być podany\n" +"Nie mo¿na okre¶liæ rozmiaru urz±dzenia; rozmiar systemu\n" +"plików musi byæ podany\n" -#: misc/mke2fs.c:1639 +#: misc/mke2fs.c:1533 msgid "" "Device size reported to be zero. Invalid partition specified, or\n" "\tpartition table wasn't reread after running fdisk, due to\n" "\ta modified partition being busy and in use. You may need to reboot\n" "\tto re-read your partition table.\n" msgstr "" -"Odczytany rozmiar urzÄ…dzenia wynosi zero. Podano bÅ‚Ä™dnÄ… partycjÄ™\n" -"\tlub tablica partycji nie byÅ‚a odczytana ponownie po uruchomieniu\n" -"\tfdiska z powodu zajÄ™tej modyfikowanej partycji. Ponowny odczyt\n" -"\ttablicy partycji może wymagać rebootu.\n" +"Odczytany rozmiar urz±dzenia wynosi zero. Podano b³êdn± partycjê\n" +"\tlub tablica partycji nie by³a odczytana ponownie po uruchomieniu\n" +"\tfdiska z powodu zajêtej modyfikowanej partycji. Ponowny odczyt\n" +"\ttablicy partycji mo¿e wymagaæ rebootu.\n" -#: misc/mke2fs.c:1656 +#: misc/mke2fs.c:1551 msgid "Filesystem larger than apparent device size." -msgstr "System plików wiÄ™kszy od widocznego rozmiaru urzÄ…dzenia." +msgstr "System plików wiêkszy od widocznego rozmiaru urz±dzenia." -#: misc/mke2fs.c:1676 +#: misc/mke2fs.c:1557 #, c-format msgid "Failed to parse fs types list\n" -msgstr "Nie udaÅ‚o siÄ™ przeanalizować listy typów systemów plików\n" - -#: misc/mke2fs.c:1730 -#, 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 "" -"%s: Rozmiar urzÄ…dzenia (0x%llx bloków) %s jest zbyt duży, aby wyrazić go\n" -"\tw 32 bitach przy użyciu rozmiaru bloku %d.\n" +msgstr "Nie uda³o siê przeanalizowaæ listy typów systemów plików\n" -#: misc/mke2fs.c:1746 +#: misc/mke2fs.c:1591 msgid "fs_types for mke2fs.conf resolution: " -msgstr "RozwiniÄ™cie fs_types dla mke2fs.conf: " +msgstr "Rozwiniêcie fs_types dla mke2fs.conf: " -#: misc/mke2fs.c:1753 +#: misc/mke2fs.c:1598 #, c-format msgid "Filesystem features not supported with revision 0 filesystems\n" -msgstr "Cechy systemu plików nie obsÅ‚ugiwane przez systemy plików w wersji 0\n" +msgstr "Cechy systemu plików nie obs³ugiwane przez systemy plików w wersji 0\n" -#: misc/mke2fs.c:1760 +#: misc/mke2fs.c:1605 #, c-format msgid "Sparse superblocks not supported with revision 0 filesystems\n" -msgstr "Rzadkie superbloki nie sÄ… obsÅ‚ugiwane przez systemy plików w wersji 0\n" +msgstr "Rzadkie superbloki nie s± obs³ugiwane przez systemy plików w wersji 0\n" -#: misc/mke2fs.c:1772 +#: misc/mke2fs.c:1617 #, c-format msgid "Journals not supported with revision 0 filesystems\n" -msgstr "Kroniki nie sÄ… obsÅ‚ugiwane przez systemy plików w wersji 0\n" - -#: misc/mke2fs.c:1786 -#, c-format -msgid "invalid reserved blocks percent - %lf" -msgstr "bÅ‚Ä™dny procent zarezerwowanych bloków - %lf" +msgstr "Kroniki nie s± obs³ugiwane przez systemy plików w wersji 0\n" -#: misc/mke2fs.c:1802 +#: misc/mke2fs.c:1635 #, c-format msgid "" "The resize_inode and meta_bg features are not compatible.\n" "They can not be both enabled simultaneously.\n" msgstr "" -"Cechy resize_inode i meta_bg nie sÄ… kompatybilne.\n" -"Nie można ich wÅ‚Ä…czyć jednoczeÅ›nie.\n" +"Cechy resize_inode i meta_bg nie s± kompatybilne.\n" +"Nie mo¿na ich w³±czyæ jednocze¶nie.\n" -#: misc/mke2fs.c:1819 +#: misc/mke2fs.c:1652 msgid "while trying to determine hardware sector size" -msgstr "podczas próby okreÅ›lenia rozmiaru sprzÄ™towego sektora" +msgstr "podczas próby okre¶lenia rozmiaru sprzêtowego sektora" -#: misc/mke2fs.c:1825 +#: misc/mke2fs.c:1658 msgid "while trying to determine physical sector size" -msgstr "podczas próby okreÅ›lenia rozmiaru sektora fizycznego" +msgstr "podczas próby okre¶lenia rozmiaru sektora fizycznego" -#: misc/mke2fs.c:1858 +#: misc/mke2fs.c:1687 msgid "while setting blocksize; too small for device\n" -msgstr "podczas ustawiania rozmiaru bloku; zbyt maÅ‚y dla urzÄ…dzenia\n" +msgstr "podczas ustawiania rozmiaru bloku; zbyt ma³y dla urz±dzenia\n" -#: misc/mke2fs.c:1863 +#: misc/mke2fs.c:1691 #, c-format -msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n" -msgstr "Uwaga: podany rozmiar bloku %d jest mniejszy niż rozmiar sektora fizycznego %d\n" - -#: misc/mke2fs.c:1881 -msgid "The cluster size may not be smaller than the block size.\n" -msgstr "Rozmiar klastra nie może być mniejszy niż rozmiar bloku.\n" +msgid "Warning: specified blocksize %d is less than device physical sectorsize %d, forced to continue\n" +msgstr "Uwaga: podany rozmiar bloku %d jest mniejszy ni¿ rozmiar sektora fizycznego %d; wymuszono kontynuacjê\n" -#: misc/mke2fs.c:1887 -msgid "specifying a cluster size requires the bigalloc feature" -msgstr "okreÅ›lenie rozmiaru klastra wymaga wÅ‚asnoÅ›ci bigalloc" - -#: misc/mke2fs.c:1906 +#: misc/mke2fs.c:1712 #, c-format msgid "warning: Unable to get device geometry for %s\n" -msgstr "uwaga: nie udaÅ‚o siÄ™ odczytać geometrii urzÄ…dzenia dla %s\n" +msgstr "uwaga: nie uda³o siê odczytaæ geometrii urz±dzenia dla %s\n" -#: misc/mke2fs.c:1909 +#: misc/mke2fs.c:1715 #, c-format msgid "%s alignment is offset by %lu bytes.\n" -msgstr "Wyrównanie %s jest przesuniÄ™te o %lu bajtów.\n" +msgstr "Wyrównanie %s jest przesuniête o %lu bajtów.\n" -#: misc/mke2fs.c:1911 +#: misc/mke2fs.c:1717 #, c-format msgid "This may result in very poor performance, (re)-partitioning suggested.\n" -msgstr "Może to powodować bardzo niskÄ… wydajność, zalecane jest (prze)partycjonowanie.\n" - -#: misc/mke2fs.c:1930 -#, c-format -msgid "%d-byte blocks too big for system (max %d)" -msgstr "%d-bajtowe bloki sÄ… zbyt duże dla systemu (max %d)" - -#: misc/mke2fs.c:1934 -#, c-format -msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" -msgstr "Uwaga: %d-bajtowe bloki sÄ… zbyt duże dla systemu (max %d), wymuszono kontynuacjÄ™\n" - -#: misc/mke2fs.c:1968 -msgid "Can't support bigalloc feature without extents feature" -msgstr "ObsÅ‚uga wÅ‚asnoÅ›ci bigalloc jest niemożliwa bez wÅ‚asnoÅ›ci extents" - -#: misc/mke2fs.c:1975 -#, c-format -msgid "" -"\n" -"Warning: the bigalloc feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n" -"\n" -msgstr "" -"\n" -"Uwaga: wÅ‚asność bigalloc jest nadal w trakcie rozwoju.\n" -"WiÄ™cej informacji pod https://ext4.wiki.kernel.org/index.php/Bigalloc\n" -"\n" - -#: misc/mke2fs.c:1982 misc/tune2fs.c:740 -#, c-format -msgid "" -"\n" -"Warning: the quota feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Quota for more information\n" -"\n" -msgstr "" -"\n" -"Uwaga: wÅ‚asność quota jest nadal w trakcie rozwoju\n" -"WiÄ™cej informacji pod https://ext4.wiki.kernel.org/index.php/Quota\n" -"\n" +msgstr "Mo¿e to powodowaæ bardzo nisk± wydajno¶æ, zalecane jest (prze)partycjonowanie.\n" -#: misc/mke2fs.c:1993 +#: misc/mke2fs.c:1745 msgid "reserved online resize blocks not supported on non-sparse filesystem" -msgstr "zarezerwowane bloki do zmiany rozmiaru w locie nie obsÅ‚ugiwane na nieciÄ…gÅ‚ym systemie plików" +msgstr "zarezerwowane bloki do zmiany rozmiaru w locie nie obs³ugiwane na nieci±g³ym systemie plików" -#: misc/mke2fs.c:2002 +#: misc/mke2fs.c:1754 msgid "blocks per group count out of range" -msgstr "liczba bloków w grupie spoza zakresu" +msgstr "liczba bloków w grupie spoza zakresu" -#: misc/mke2fs.c:2026 +#: misc/mke2fs.c:1769 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" -msgstr "Cecha flex_bg nie jest wÅ‚Ä…czona, wiÄ™c nie można okreÅ›lić rozmiaru flex_bg" +msgstr "Cecha flex_bg nie jest w³±czona, wiêc nie mo¿na okre¶liæ rozmiaru flex_bg" -#: misc/mke2fs.c:2038 +#: misc/mke2fs.c:1781 #, c-format msgid "invalid inode size %d (min %d/max %d)" -msgstr "bÅ‚Ä™dny rozmiar i-wÄ™zÅ‚a %d (min %d/max %d)" +msgstr "b³êdny rozmiar i-wêz³a %d (min %d/max %d)" -#: misc/mke2fs.c:2056 +#: misc/mke2fs.c:1795 #, c-format msgid "too many inodes (%llu), raise inode ratio?" -msgstr "zbyt dużo i-wÄ™złów (%llu), zwiÄ™kszyć współczynnik i-wÄ™złów?" +msgstr "zbyt ma³o i-wêz³ów (%llu), zwiêkszyæ wspó³czynnik i-wêz³ów?" -#: misc/mke2fs.c:2063 +#: misc/mke2fs.c:1800 #, c-format msgid "too many inodes (%llu), specify < 2^32 inodes" -msgstr "zbyt dużo i-wÄ™złów (%llu), należy podać < 2^32" +msgstr "zbyt du¿o i-wêz³ów (%llu), nale¿y podaæ < 2^32" -#: misc/mke2fs.c:2077 +#: misc/mke2fs.c:1815 #, c-format msgid "" "inode_size (%u) * inodes_count (%u) too big for a\n" -"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n" +"\tfilesystem with %lu blocks, specify higher inode_ratio (-i)\n" "\tor lower inode count (-N).\n" msgstr "" -"rozm_iwÄ™zÅ‚a (%u) * liczba_iwÄ™złów (%u) zbyt duże dla systemu\n" -"\tplików o liczbie bloków %llu, należy podać wiÄ™kszy współczynnik (-i)\n" -"\tlub mniejszÄ… liczbÄ™ i-wÄ™złów (-N).\n" +"rozm_iwêz³a (%u) * liczba_iwêz³ów (%u) zbyt du¿e dla systemu\n" +"\tplików o liczbie bloków %lu, nale¿y podaæ wiêkszy wspó³czynnik (-i)\n" +"\tlub mniejsz± liczbê i-wêz³ów (-N).\n" + +#: misc/mke2fs.c:1908 misc/tune2fs.c:1494 +msgid "Couldn't allocate memory for tdb filename\n" +msgstr "Nie mo¿na przydzieliæ pamiêci na nazwê plików tdb\n" + +#: misc/mke2fs.c:1921 misc/tune2fs.c:1516 +#, c-format +msgid "while trying to delete %s" +msgstr "podczas próby usuniêcia %s" -#: misc/mke2fs.c:2196 +#: misc/mke2fs.c:1931 #, c-format msgid "" "Overwriting existing filesystem; this can be undone using the command:\n" " e2undo %s %s\n" "\n" msgstr "" -"Nadpisywanie istniejÄ…cego systemu plików; można to wycofać poleceniem:\n" +"Nadpisywanie istniej±cego systemu plików; mo¿na to wycofaæ poleceniem:\n" " e2undo %s %s\n" "\n" -#: misc/mke2fs.c:2210 -msgid "while trying to setup undo file\n" -msgstr "podczas próby utworzenia pliku cofniÄ™cia (undo)\n" +#: misc/mke2fs.c:1968 +#, c-format +msgid "Calling BLKDISCARD from %llu to %llu " +msgstr "Wywo³anie BLKDISCARD z %llu na %llu " -#: misc/mke2fs.c:2236 -msgid "Discarding device blocks: " -msgstr "Porzucanie bloków urzÄ…dzenia: " +#: misc/mke2fs.c:1972 +#, c-format +msgid "failed.\n" +msgstr "nie powiod³o siê.\n" -#: misc/mke2fs.c:2252 -msgid "failed - " -msgstr "nie powiodÅ‚o siÄ™ - " +#: misc/mke2fs.c:1974 +#, c-format +msgid "succeeded.\n" +msgstr "powiod³o siê.\n" -#: misc/mke2fs.c:2360 +#: misc/mke2fs.c:2023 msgid "while setting up superblock" msgstr "podczas ustawiania superbloku" -#: misc/mke2fs.c:2369 -#, c-format -msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" -msgstr "Czyszczenie siÄ™ powiodÅ‚o i bÄ™dzie zwracać zera - pominiÄ™to czyszczenie tablicy i-wÄ™złów\n" - -#: misc/mke2fs.c:2452 +#: misc/mke2fs.c:2087 #, c-format msgid "unknown os - %s" msgstr "nieznany os - %s" -#: misc/mke2fs.c:2504 -#, c-format -msgid "Allocating group tables: " -msgstr "Przydzielanie tablicy grup: " - -#: misc/mke2fs.c:2508 +#: misc/mke2fs.c:2141 msgid "while trying to allocate filesystem tables" -msgstr "podczas próby przydzielenia tablic systemu plików" +msgstr "podczas próby przydzielenia tablic systemu plików" -#: misc/mke2fs.c:2517 -msgid "" -"\n" -"\twhile converting subcluster bitmap" -msgstr "" -"\n" -"\tpodczas próby przeksztaÅ‚cenia bitmapy podklastrów" - -#: misc/mke2fs.c:2560 +#: misc/mke2fs.c:2172 #, c-format -msgid "while zeroing block %llu at end of filesystem" -msgstr "podczas zerowania bloku %llu na koÅ„cu systemu plików" +msgid "while zeroing block %u at end of filesystem" +msgstr "podczas zerowania bloku %u na koñcu systemu plików" -#: misc/mke2fs.c:2573 +#: misc/mke2fs.c:2185 msgid "while reserving blocks for online resize" -msgstr "podczas rezerwowania bloków na zmianÄ™ rozmiaru w locie" +msgstr "podczas rezerwowania bloków na zmianê rozmiaru w locie" -#: misc/mke2fs.c:2584 misc/tune2fs.c:645 +#: misc/mke2fs.c:2196 misc/tune2fs.c:479 msgid "journal" msgstr "kronika" -#: misc/mke2fs.c:2596 +#: misc/mke2fs.c:2208 #, c-format msgid "Adding journal to device %s: " -msgstr "Dodano kronikÄ™ do urzÄ…dzenia %s: " +msgstr "Dodano kronikê do urz±dzenia %s: " -#: misc/mke2fs.c:2603 +#: misc/mke2fs.c:2215 #, c-format msgid "" "\n" "\twhile trying to add journal to device %s" msgstr "" "\n" -"\tpodczas próby dodania kroniki do urzÄ…dzenia %s" +"\tpodczas próby dodania kroniki do urz±dzenia %s" -#: misc/mke2fs.c:2608 misc/mke2fs.c:2640 misc/tune2fs.c:674 misc/tune2fs.c:688 +#: misc/mke2fs.c:2220 misc/mke2fs.c:2252 misc/tune2fs.c:508 misc/tune2fs.c:522 #, c-format msgid "done\n" msgstr "wykonano\n" -#: misc/mke2fs.c:2617 +#: misc/mke2fs.c:2229 #, c-format msgid "Skipping journal creation in super-only mode\n" -msgstr "PominiÄ™to tworzenie kroniki w trybie super-only\n" +msgstr "Pominiêto tworzenie kroniki w trybie super-only\n" -#: misc/mke2fs.c:2628 +#: misc/mke2fs.c:2240 #, c-format msgid "Creating journal (%u blocks): " -msgstr "Tworzenie kroniki (%u bloków): " +msgstr "Tworzenie kroniki (%u bloków): " -#: misc/mke2fs.c:2636 -msgid "" -"\n" -"\twhile trying to create journal" -msgstr "" -"\n" -"\tpodczas próby utworzenia kroniki" - -#: misc/mke2fs.c:2647 misc/tune2fs.c:451 -#, c-format -msgid "" -"\n" -"Error while enabling multiple mount protection feature." -msgstr "" -"\n" -"BÅ‚Ä…d podczas wÅ‚Ä…czania funkcji zabezpieczenia przed wielokrotnym montowaniem." - -#: misc/mke2fs.c:2652 -#, c-format -msgid "Multiple mount protection is enabled with update interval %d seconds.\n" -msgstr "Zabezpieczenie przed wielokrotnym montowaniem jest wÅ‚Ä…czone z okresem uaktualniania %d sekund.\n" - -#: misc/mke2fs.c:2665 +#: misc/mke2fs.c:2257 #, c-format msgid "Writing superblocks and filesystem accounting information: " -msgstr "Zapis superbloków i podsumowania systemu plików: " +msgstr "Zapis superbloków i podsumowania systemu plików: " -#: misc/mke2fs.c:2672 +#: misc/mke2fs.c:2262 #, c-format msgid "" "\n" "Warning, had trouble writing out superblocks." msgstr "" "\n" -"Uwaga, problemy z zapisem superbloków." +"Uwaga, problemy z zapisem superbloków." -#: misc/mke2fs.c:2674 +#: misc/mke2fs.c:2265 #, c-format msgid "" "done\n" @@ -4845,12 +4425,12 @@ msgstr "" "wykonano\n" "\n" -#: misc/mklost+found.c:50 +#: misc/mklost+found.c:49 #, c-format msgid "Usage: mklost+found\n" -msgstr "SkÅ‚adnia: mklost+found\n" +msgstr "Sk³adnia: mklost+found\n" -#: misc/partinfo.c:41 +#: misc/partinfo.c:39 #, c-format msgid "" "Usage: %s device...\n" @@ -4859,335 +4439,256 @@ msgid "" "For example: %s /dev/hda\n" "\n" msgstr "" -"SkÅ‚adnia: %s urzÄ…dzenie...\n" +"Sk³adnia: %s urz±dzenie...\n" "\n" -"Wypisanie informacji o partycjach na każdym podanym urzÄ…dzeniu.\n" -"PrzykÅ‚ad: %s /dev/hda\n" +"Wypisanie informacji o partycjach na ka¿dym podanym urz±dzeniu.\n" +"Przyk³ad: %s /dev/hda\n" "\n" -#: misc/partinfo.c:51 +#: misc/partinfo.c:49 #, c-format msgid "Cannot open %s: %s" -msgstr "Nie można otworzyć %s: %s" +msgstr "Nie mo¿na otworzyæ %s: %s" -#: misc/partinfo.c:57 +#: misc/partinfo.c:55 #, c-format msgid "Cannot get geometry of %s: %s" -msgstr "Nie można pobrać geometrii %s: %s" +msgstr "Nie mo¿na pobraæ geometrii %s: %s" -#: misc/partinfo.c:65 +#: misc/partinfo.c:63 #, c-format msgid "Cannot get size of %s: %s" -msgstr "Nie można pobrać rozmiaru %s: %s" +msgstr "Nie mo¿na pobraæ rozmiaru %s: %s" -#: misc/partinfo.c:71 +#: misc/partinfo.c:69 #, c-format msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n" -msgstr "%s: h=%3d s=%3d c=%4d poczÄ…tek=%8d rozmiar=%8lu koniec=%8d\n" +msgstr "%s: h=%3d s=%3d c=%4d pocz±tek=%8d rozmiar=%8lu koniec=%8d\n" -#: misc/tune2fs.c:107 +#: misc/tune2fs.c:96 msgid "Please run e2fsck on the filesystem.\n" -msgstr "ProszÄ™ uruchomić e2fsck na systemie plików.\n" +msgstr "Proszê uruchomiæ e2fsck na systemie plików.\n" -#: misc/tune2fs.c:116 +#: misc/tune2fs.c:105 #, c-format msgid "" "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" -"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p mmp_update_interval]\n" +"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n" "\t[ -I new_inode_size ] device\n" msgstr "" -"SkÅ‚adnia: %s [-c max_licznik_montowaÅ„] [-e trakt._bÅ‚Ä™dów] [-g grupa]\n" -"\t[-i odstÄ™p[d|m|w]] [-j] [-J opcje_kroniki] [-l]\n" -"\t[-m procent_rezerw._bloków] [-o [^]opcje_montowania[,...]] [-p okres_uakt._mmp]\n" -"\t[-r liczba_zarez._bloków] [-u użytkownik] [-C licznik_montowaÅ„]\n" +"Sk³adnia: %s [-c max_licznik_montowañ] [-e trakt._b³êdów] [-g grupa]\n" +"\t[-i odstêp[d|m|w]] [-j] [-J opcje_kroniki] [-l]\n" +"\t[-m procent_rezerw._bloków] [-o [^]opcje_montowania[,...]]\n" +"\t[-r liczba_zarez._bloków] [-u u¿ytkownik] [-C licznik_montowañ]\n" "\t[-L etykieta_wolumenu] [-M ostatnio_mont._katalog] [-O [^]cecha[,...]]\n" "\t[-E opcja_rozszerzona[,...]] [-T czas_ost._sprawdz.] [-U UUID]\n" -"\t[-I nowy_rozmiar_i-wÄ™zÅ‚a] urzÄ…dzenie\n" +"\t[-I nowy_rozmiar_i-wêz³a] urz±dzenie\n" -#: misc/tune2fs.c:209 +#: misc/tune2fs.c:190 msgid "while trying to open external journal" -msgstr "podczas próby otworzenia zewnÄ™trznej kroniki" +msgstr "podczas próby otworzenia zewnêtrznej kroniki" -#: misc/tune2fs.c:214 +#: misc/tune2fs.c:194 #, c-format msgid "%s is not a journal device.\n" -msgstr "%s nie jest urzÄ…dzeniem kroniki.\n" +msgstr "%s nie jest urz±dzeniem kroniki.\n" -#: misc/tune2fs.c:229 +#: misc/tune2fs.c:209 msgid "Journal superblock not found!\n" msgstr "Nie znaleziono superbloku kroniki!\n" -#: misc/tune2fs.c:240 +#: misc/tune2fs.c:221 msgid "Filesystem's UUID not found on journal device.\n" -msgstr "UUID systemu plików nie znaleziony na urzÄ…dzeniu kroniki.\n" +msgstr "UUID systemu plików nie znaleziony na urz±dzeniu kroniki.\n" -#: misc/tune2fs.c:261 -msgid "" -"Cannot locate journal device. It was NOT removed\n" -"Use -f option to remove missing journal device.\n" -msgstr "" -"Nie można zlokalizować urzÄ…dzenia kroniki. NIE zostaÅ‚o usuniÄ™te.\n" -"Można użyć opcji -f, aby usunąć nieistniejÄ…ce urzÄ…dzenie kroniki.\n" +#: misc/tune2fs.c:242 +msgid "Journal NOT removed\n" +msgstr "Kronika NIE usuniêta\n" -#: misc/tune2fs.c:269 +#: misc/tune2fs.c:248 msgid "Journal removed\n" -msgstr "Kronika usuniÄ™ta\n" +msgstr "Kronika usuniêta\n" -#: misc/tune2fs.c:313 +#: misc/tune2fs.c:288 msgid "while reading bitmaps" msgstr "podczas odczytu bitmap" -#: misc/tune2fs.c:321 +#: misc/tune2fs.c:296 msgid "while clearing journal inode" -msgstr "podczas czyszczenia i-wÄ™zÅ‚a kroniki" +msgstr "podczas czyszczenia i-wêz³a kroniki" -#: misc/tune2fs.c:332 +#: misc/tune2fs.c:307 msgid "while writing journal inode" -msgstr "podczas zapisu i-wÄ™zÅ‚a kroniki" +msgstr "podczas zapisu i-wêz³a kroniki" -#: misc/tune2fs.c:367 +#: misc/tune2fs.c:322 #, c-format -msgid "(and reboot afterwards!)\n" -msgstr "(proszÄ™ zrestartować potem system!)\n" +msgid "Invalid mount option set: %s\n" +msgstr "Ustawiona b³êdna opcja montowania: %s\n" -#: misc/tune2fs.c:401 +#: misc/tune2fs.c:358 #, c-format msgid "Clearing filesystem feature '%s' not supported.\n" -msgstr "Usuwanie cechy systemu plików '%s' nie jest obsÅ‚ugiwane.\n" +msgstr "Usuwanie cechy systemu plików '%s' nie jest obs³ugiwane.\n" -#: misc/tune2fs.c:407 +#: misc/tune2fs.c:364 #, c-format msgid "Setting filesystem feature '%s' not supported.\n" -msgstr "Ustawianie cechy systemu plików '%s' nie jest obsÅ‚ugiwane.\n" +msgstr "Ustawianie cechy systemu plików '%s' nie jest obs³ugiwane.\n" -#: misc/tune2fs.c:416 +#: misc/tune2fs.c:373 msgid "" "The has_journal feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" msgstr "" -"Flaga has_journal może być wyczyszczona tylko kiedy system plików\n" +"Flaga has_journal mo¿e byæ wyczyszczona tylko kiedy system plików\n" "jest odmontowany lub zamontowany tylko do odczytu.\n" -#: misc/tune2fs.c:424 +#: misc/tune2fs.c:381 msgid "" "The needs_recovery flag is set. Please run e2fsck before clearing\n" "the has_journal flag.\n" msgstr "" -"Flaga needs_recovery jest ustawiona. ProszÄ™ uruchomić e2fsck przed\n" +"Flaga needs_recovery jest ustawiona. Proszê uruchomiæ e2fsck przed\n" "czyszczeniem flagi has_journal.\n" -#: misc/tune2fs.c:443 -msgid "" -"The multiple mount protection feature can't\n" -"be set if the filesystem is mounted or\n" -"read-only.\n" -msgstr "" -"Funkcja ochrony przed wielokrotnym montowaniem nie może zostać\n" -"wÅ‚Ä…czona, jeÅ›li system plików jest zamontowany lub tylko do odczytu.\n" - -#: misc/tune2fs.c:461 -#, c-format -msgid "Multiple mount protection has been enabled with update interval %ds.\n" -msgstr "Zavezpieczenie przed wielokrotnym montowaniem zostaÅ‚a wÅ‚Ä…czona z czasem uaktualniania %ds.\n" - -#: misc/tune2fs.c:470 -msgid "" -"The multiple mount protection feature cannot\n" -"be disabled if the filesystem is readonly.\n" -msgstr "" -"Funkcja zabezpieczenia przed wielokrotnym montowaniem nie może zostać\n" -"wyÅ‚Ä…czona, jeÅ›li system plików jest tylko do odczytu.\n" - -#: misc/tune2fs.c:478 -msgid "Error while reading bitmaps\n" -msgstr "BÅ‚Ä…d podczas odczytu bitmap\n" - -#: misc/tune2fs.c:487 -#, c-format -msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n" -msgstr "Liczba magiczna w bloku MMP siÄ™ nie zgadza; oczekiwano %x, jest %x\n" - -#: misc/tune2fs.c:492 -msgid "while reading MMP block." -msgstr "podczas odczytu bloku MMP." - -#: misc/tune2fs.c:524 +#: misc/tune2fs.c:414 msgid "" "Clearing the flex_bg flag would cause the the filesystem to be\n" "inconsistent.\n" -msgstr "WyÅ‚Ä…czenie flagi flex_bg spowoduje niespójność systemu plików.\n" +msgstr "Wy³±czenie flagi flex_bg spowoduje niespójno¶æ systemu plików.\n" -#: misc/tune2fs.c:535 +#: misc/tune2fs.c:425 msgid "" "The huge_file feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" msgstr "" -"Flaga huge_file może być wyczyszczona tylko kiedy system plików\n" +"Flaga huge_file mo¿e byæ wyczyszczona tylko kiedy system plików\n" "jest odmontowany lub zamontowany tylko do odczytu.\n" -#: misc/tune2fs.c:595 -msgid "" -"\n" -"Warning: '^quota' option overrides '-Q'arguments.\n" -msgstr "" -"\n" -"Uwaga: opcja '^quota' nadpisuje argumenty '-Q'.\n" +#: misc/tune2fs.c:453 +#, c-format +msgid "(and reboot afterwards!)\n" +msgstr "(proszê zrestartowaæ potem system!)\n" -#: misc/tune2fs.c:640 +#: misc/tune2fs.c:474 msgid "The filesystem already has a journal.\n" -msgstr "System plików już ma kronikÄ™.\n" +msgstr "System plików ju¿ ma kronikê.\n" -#: misc/tune2fs.c:658 +#: misc/tune2fs.c:492 #, c-format msgid "" "\n" "\twhile trying to open journal on %s\n" msgstr "" "\n" -"\tpodczas próby otworzenia kroniki na %s\n" +"\tpodczas próby otworzenia kroniki na %s\n" -#: misc/tune2fs.c:662 +#: misc/tune2fs.c:496 #, c-format msgid "Creating journal on device %s: " -msgstr "Tworzenie kroniki na urzÄ…dzeniu %s: " +msgstr "Tworzenie kroniki na urz±dzeniu %s: " -#: misc/tune2fs.c:670 +#: misc/tune2fs.c:504 #, c-format msgid "while adding filesystem to journal on %s" -msgstr "podczas dodawania systemu plików do kroniki na %s" +msgstr "podczas dodawania systemu plików do kroniki na %s" -#: misc/tune2fs.c:676 +#: misc/tune2fs.c:510 msgid "Creating journal inode: " -msgstr "Tworzenie i-wÄ™zÅ‚a kroniki: " +msgstr "Tworzenie i-wêz³a kroniki: " -#: misc/tune2fs.c:685 +#: misc/tune2fs.c:519 msgid "" "\n" "\twhile trying to create journal file" msgstr "" "\n" -"\tpodczas próby utworzenia pliku kroniki" - -#: misc/tune2fs.c:763 -msgid "Couldn't allocate memory to parse quota options!\n" -msgstr "Nie można przydzielić pamiÄ™ci do analizy opcji limitów!\n" - -#: misc/tune2fs.c:785 -msgid "" -"\n" -"Bad quota options specified.\n" -"\n" -"Following valid quota options are available (pass by separating with comma):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" -msgstr "" -"\n" -"Podano bÅ‚Ä™dne opcje limitów.\n" -"\n" -"DostÄ™pne sÄ… nastÄ™pujÄ…ce opcje limitów (można je przekazywać oddzielone przecinkiem):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" +"\tpodczas próby utworzenia pliku kroniki" -#: misc/tune2fs.c:846 +#: misc/tune2fs.c:585 #, c-format msgid "Couldn't parse date/time specifier: %s" -msgstr "Nie można przeanalizować podanej daty/czasu: %s" +msgstr "Nie mo¿na przeanalizowaæ podanej daty/czasu: %s" -#: misc/tune2fs.c:870 misc/tune2fs.c:883 +#: misc/tune2fs.c:609 misc/tune2fs.c:622 #, c-format msgid "bad mounts count - %s" -msgstr "bÅ‚Ä™dna liczba montowaÅ„ - %s" +msgstr "b³êdna liczba montowañ - %s" -#: misc/tune2fs.c:899 +#: misc/tune2fs.c:638 #, c-format msgid "bad error behavior - %s" -msgstr "bÅ‚Ä™dne traktowanie bÅ‚Ä™dów - %s" +msgstr "b³êdne traktowanie b³êdów - %s" -#: misc/tune2fs.c:926 +#: misc/tune2fs.c:665 #, c-format msgid "bad gid/group name - %s" -msgstr "bÅ‚Ä™dny gid/nazwa grupy - %s" +msgstr "b³êdny gid/nazwa grupy - %s" -#: misc/tune2fs.c:959 +#: misc/tune2fs.c:698 #, c-format msgid "bad interval - %s" -msgstr "bÅ‚Ä™dny odstÄ™p - %s" +msgstr "b³êdny odstêp - %s" -#: misc/tune2fs.c:988 +#: misc/tune2fs.c:727 #, c-format msgid "bad reserved block ratio - %s" -msgstr "bÅ‚Ä™dny procent zarezerwowanych bloków - %s" +msgstr "b³êdny procent zarezerwowanych bloków - %s" -#: misc/tune2fs.c:1003 +#: misc/tune2fs.c:742 msgid "-o may only be specified once" -msgstr "-o może być podane tylko raz" +msgstr "-o mo¿e byæ podane tylko raz" -#: misc/tune2fs.c:1012 +#: misc/tune2fs.c:752 msgid "-O may only be specified once" -msgstr "-O może być podane tylko raz" +msgstr "-O mo¿e byæ podane tylko raz" -#: misc/tune2fs.c:1027 +#: misc/tune2fs.c:762 #, c-format msgid "bad reserved blocks count - %s" -msgstr "bÅ‚Ä™dna liczba zarezerwowanych bloków - %s" +msgstr "b³êdna liczba zarezerwowanych bloków - %s" -#: misc/tune2fs.c:1056 +#: misc/tune2fs.c:791 #, c-format msgid "bad uid/user name - %s" -msgstr "bÅ‚Ä™dny uid/nazwa użytkownika - %s" +msgstr "b³êdny uid/nazwa u¿ytkownika - %s" -#: misc/tune2fs.c:1073 +#: misc/tune2fs.c:808 #, c-format msgid "bad inode size - %s" -msgstr "bÅ‚Ä™dny rozmiar i-wÄ™zÅ‚a - %s" +msgstr "b³êdny rozmiar i-wêz³a - %s" -#: misc/tune2fs.c:1080 +#: misc/tune2fs.c:815 #, c-format msgid "Inode size must be a power of two- %s" -msgstr "Rozmiar i-wÄ™zÅ‚a musi być potÄ™gÄ… dwójki - %s" +msgstr "Rozmiar i-wêz³a musi byæ potêg± dwójki - %s" -#: misc/tune2fs.c:1174 -#, c-format -msgid "mmp_update_interval too big: %lu\n" -msgstr "Okres uaktualniania mmp zbyt duży: %lu\n" - -#: misc/tune2fs.c:1179 -#, c-format -msgid "Setting multiple mount protection update interval to %lu second\n" -msgid_plural "Setting multiple mount protection update interval to %lu seconds\n" -msgstr[0] "Ustawianie okresu uaktualniania zabezpieczenia przed wielokrotnym montowaniem na %lu sekundÄ™\n" -msgstr[1] "Ustawianie okresu uaktualniania zabezpieczenia przed wielokrotnym montowaniem na %lu sekundy\n" -msgstr[2] "Ustawianie okresu uaktualniania zabezpieczenia przed wielokrotnym montowaniem na %lu sekund\n" - -#: misc/tune2fs.c:1202 +#: misc/tune2fs.c:904 #, c-format msgid "Invalid RAID stride: %s\n" -msgstr "BÅ‚Ä™dny parametr RAID stride: %s\n" +msgstr "B³êdny parametr RAID stride: %s\n" -#: misc/tune2fs.c:1217 +#: misc/tune2fs.c:919 #, c-format msgid "Invalid RAID stripe-width: %s\n" -msgstr "BÅ‚Ä™dny parametr RAID stripe-width: %s\n" +msgstr "B³êdny parametr RAID stripe-width: %s\n" -#: misc/tune2fs.c:1232 +#: misc/tune2fs.c:934 #, c-format msgid "Invalid hash algorithm: %s\n" -msgstr "BÅ‚Ä™dny algorytm haszowania: %s\n" +msgstr "B³êdny algorytm haszowania: %s\n" -#: misc/tune2fs.c:1238 +#: misc/tune2fs.c:940 #, c-format msgid "Setting default hash algorithm to %s (%d)\n" -msgstr "Ustawianie domyÅ›lnego algorytmu haszowania na %s (%d)\n" +msgstr "Ustawianie domy¶lnego algorytmu haszowania na %s (%d)\n" -#: misc/tune2fs.c:1257 +#: misc/tune2fs.c:948 #, c-format msgid "" "\n" @@ -5197,288 +4698,230 @@ msgid "" "\tis set off by an equals ('=') sign.\n" "\n" "Valid extended options are:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" msgstr "" "\n" -"Podano bÅ‚Ä™dne opcje.\n" +"Podano b³êdne opcje.\n" "\n" -"Opcje rozszerzone sÄ… oddzielane przecinkami i mogÄ… przyjmować parametr,\n" -"\tktóry jest ustawiany znakiem '='.\n" +"Opcje rozszerzone s± oddzielane przecinkami i mog± przyjmowaæ parametr,\n" +"\tktóry jest ustawiany znakiem '='.\n" "\n" "Poprawne opcje to:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" -"\tstripe_width=\n" +"\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" -#: misc/tune2fs.c:1723 -msgid "Failed to read inode bitmap\n" -msgstr "Nie udaÅ‚o siÄ™ odczytać bitmapy i-wÄ™złów\n" - -#: misc/tune2fs.c:1728 -msgid "Failed to read block bitmap\n" -msgstr "Nie udaÅ‚o siÄ™ odczytać bitmapy bloków\n" - -#: misc/tune2fs.c:1745 resize/resize2fs.c:870 +#: misc/tune2fs.c:1421 resize/resize2fs.c:790 msgid "blocks to be moved" msgstr "bloki do przeniesienia" -#: misc/tune2fs.c:1748 +#: misc/tune2fs.c:1424 msgid "Failed to allocate block bitmap when increasing inode size\n" -msgstr "Nie udaÅ‚o siÄ™ przydzielić bitmapy bloków podczas zwiÄ™kszania rozmiaru i-wÄ™zÅ‚a\n" +msgstr "Nie uda³o siê przydzieliæ bitmapy bloków podczas zwiêkszania rozmiaru i-wêz³a\n" -#: misc/tune2fs.c:1754 +#: misc/tune2fs.c:1430 msgid "Not enough space to increase inode size \n" -msgstr "Za maÅ‚o miejsca, aby zwiÄ™kszyć rozmiar i-wÄ™zÅ‚a\n" +msgstr "Za ma³o miejsca, aby zwiêkszyæ rozmiar i-wêz³a\n" -#: misc/tune2fs.c:1759 +#: misc/tune2fs.c:1435 msgid "Failed to relocate blocks during inode resize \n" -msgstr "Nie udaÅ‚o siÄ™ przemieÅ›cić bloków podczas zmiany rozmiaru i-wÄ™zÅ‚a\n" +msgstr "Nie uda³o siê przemie¶ciæ bloków podczas zmiany rozmiaru i-wêz³a\n" -#: misc/tune2fs.c:1791 +#: misc/tune2fs.c:1467 msgid "" "Error in resizing the inode size.\n" "Run e2undo to undo the file system changes. \n" msgstr "" -"BÅ‚Ä…d podczas zmiany rozmiaru i-wÄ™zÅ‚a.\n" -"Należy uruchomić e2undo w celu wycofania zmian w systemie plików.\n" +"B³±d podczas zmiany rozmiaru i-wêz³a.\n" +"Nale¿y uruchomiæ e2undo w celu wycofania zmian w systemie plików.\n" -#: misc/tune2fs.c:1818 -msgid "Couldn't allocate memory for tdb filename\n" -msgstr "Nie można przydzielić pamiÄ™ci na nazwÄ™ plików tdb\n" - -#: misc/tune2fs.c:1840 -#, c-format -msgid "while trying to delete %s" -msgstr "podczas próby usuniÄ™cia %s" - -#: misc/tune2fs.c:1850 +#: misc/tune2fs.c:1526 #, c-format msgid "" "To undo the tune2fs operation please run the command\n" " e2undo %s %s\n" "\n" msgstr "" -"Aby wycofać operacjÄ™ tune2fs, proszÄ™ wydać polecenie\n" +"Aby wycofaæ operacjê tune2fs, proszê wydaæ polecenie\n" " e2undo %s %s\n" "\n" -#: misc/tune2fs.c:1919 -#, c-format -msgid "" -"MMP block magic is bad. Try to fix it by running:\n" -"'e2fsck -f %s'\n" -msgstr "" -"Liczba magiczna bloku MMP jest bÅ‚Ä™dna. Można próbować to naprawić uruchamiajÄ…c:\n" -"'e2fsck -f %s'\n" - -#: misc/tune2fs.c:1937 +#: misc/tune2fs.c:1587 #, c-format msgid "The inode size is already %lu\n" -msgstr "Rozmiar i-wÄ™zÅ‚a już wynosi %lu\n" +msgstr "Rozmiar i-wêz³a ju¿ wynosi %lu\n" -#: misc/tune2fs.c:1943 +#: misc/tune2fs.c:1592 #, c-format msgid "Shrinking the inode size is not supported\n" -msgstr "Zmniejszanie rozmiaru i-wÄ™zÅ‚a nie jest obsÅ‚ugiwane\n" +msgstr "Zmniejszanie rozmiaru i-wêz³a nie jest obs³ugiwane\n" -#: misc/tune2fs.c:1949 -#, c-format -msgid "Invalid inode size %lu (max %d)\n" -msgstr "BÅ‚Ä™dny rozmiar i-wÄ™zÅ‚a %lu (max %d)\n" - -#: misc/tune2fs.c:1996 +#: misc/tune2fs.c:1635 #, c-format msgid "Setting maximal mount count to %d\n" -msgstr "Ustawianie maksymalnej liczby montowaÅ„ na %d\n" +msgstr "Ustawianie maksymalnej liczby montowañ na %d\n" -#: misc/tune2fs.c:2002 +#: misc/tune2fs.c:1641 #, c-format msgid "Setting current mount count to %d\n" -msgstr "Ustawianie aktualnego licznika montowaÅ„ na %d\n" +msgstr "Ustawianie aktualnego licznika montowañ na %d\n" -#: misc/tune2fs.c:2007 +#: misc/tune2fs.c:1646 #, c-format msgid "Setting error behavior to %d\n" -msgstr "Ustawianie traktowania bÅ‚Ä™dów na %d\n" +msgstr "Ustawianie traktowania b³êdów na %d\n" -#: misc/tune2fs.c:2012 +#: misc/tune2fs.c:1651 #, c-format msgid "Setting reserved blocks gid to %lu\n" -msgstr "Ustawianie gid-a zarezerwowanych bloków na %lu\n" +msgstr "Ustawianie gid-a zarezerwowanych bloków na %lu\n" -#: misc/tune2fs.c:2017 -#, c-format -msgid "interval between checks is too big (%lu)" -msgstr "odstÄ™p pomiÄ™dzy sprawdzeniami jest zbyt duży (%lu)" - -#: misc/tune2fs.c:2024 +#: misc/tune2fs.c:1656 #, c-format msgid "Setting interval between checks to %lu seconds\n" -msgstr "Ustawianie odstÄ™pu pomiÄ™dzy sprawdzeniami na %lu sekund\n" +msgstr "Ustawianie odstêpu pomiêdzy sprawdzeniami na %lu sekund\n" -#: misc/tune2fs.c:2031 +#: misc/tune2fs.c:1663 #, c-format -msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n" -msgstr "Ustawianie procentu zarezerwowanych bloków na %g%% (%llu bloków)\n" +msgid "Setting reserved blocks percentage to %g%% (%u blocks)\n" +msgstr "Ustawianie procent zarezerwowanych bloków na %g%% (%u bloków)\n" -#: misc/tune2fs.c:2037 +#: misc/tune2fs.c:1670 #, c-format -msgid "reserved blocks count is too big (%llu)" -msgstr "liczba zarezerwowanych bloków jest zbyt duża (%llu)" +msgid "reserved blocks count is too big (%lu)" +msgstr "liczba zarezerwowanych bloków zbyt du¿e (%lu)" -#: misc/tune2fs.c:2044 +#: misc/tune2fs.c:1676 #, c-format -msgid "Setting reserved blocks count to %llu\n" -msgstr "Ustawianie liczby zarezerwowanych bloków na %llu\n" +msgid "Setting reserved blocks count to %lu\n" +msgstr "Ustawianie liczby zarezerwowanych bloków na %lu\n" -#: misc/tune2fs.c:2050 +#: misc/tune2fs.c:1682 msgid "" "\n" "The filesystem already has sparse superblocks.\n" msgstr "" "\n" -"System plików już ma rzadkie superbloki.\n" +"System plików ju¿ ma rzadkie superbloki.\n" -#: misc/tune2fs.c:2057 +#: misc/tune2fs.c:1689 #, c-format msgid "" "\n" "Sparse superblock flag set. %s" msgstr "" "\n" -"Flaga rzadkich superbloków ustawiona. %s" +"Flaga rzadkich superbloków ustawiona. %s" -#: misc/tune2fs.c:2062 +#: misc/tune2fs.c:1694 msgid "" "\n" "Clearing the sparse superflag not supported.\n" msgstr "" "\n" -"Usuwanie superflagi sparse nie jest obsÅ‚ugiwane.\n" +"Usuwanie superflagi sparse nie jest obs³ugiwane.\n" -#: misc/tune2fs.c:2070 +#: misc/tune2fs.c:1701 #, c-format msgid "Setting time filesystem last checked to %s\n" -msgstr "Ustawianie czasu ostatniego sprawdzenia systemu plików na %s\n" +msgstr "Ustawianie czasu ostatniego sprawdzenia systemu plików na %s\n" -#: misc/tune2fs.c:2076 +#: misc/tune2fs.c:1707 #, c-format msgid "Setting reserved blocks uid to %lu\n" -msgstr "Ustawianie uid-a zarezerwowanych bloków na %lu\n" - -#: misc/tune2fs.c:2108 -msgid "Error in using clear_mmp. It must be used with -f\n" -msgstr "BÅ‚Ä…d w użyciu clear_mmp. Opcja ta musi być użyta z -f\n" - -#: misc/tune2fs.c:2126 -msgid "The quota feature may only be changed when the filesystem is unmounted.\n" -msgstr "FunkcjÄ™ limitów można zmienić tylko na niezamontowanym systemie plików.\n" +msgstr "Ustawianie uid-a zarezerwowanych bloków na %lu\n" -#: misc/tune2fs.c:2159 +#: misc/tune2fs.c:1758 msgid "Invalid UUID format\n" -msgstr "BÅ‚Ä™dny format UUID-a\n" +msgstr "B³êdny format UUID-a\n" -#: misc/tune2fs.c:2172 +#: misc/tune2fs.c:1770 msgid "The inode size may only be changed when the filesystem is unmounted.\n" -msgstr "Rozmiar i-wÄ™zÅ‚a można zmienić tylko na niezamontowanym systemie plików.\n" +msgstr "Rozmiar i-wêz³a mo¿na zmieniæ tylko na niezamontowanym systemie plików.\n" -#: misc/tune2fs.c:2180 +#: misc/tune2fs.c:1777 msgid "" "Changing the inode size not supported for filesystems with the flex_bg\n" "feature enabled.\n" msgstr "" -"Zmiana rozmiaru i-wÄ™zÅ‚a nie jest obsÅ‚ugiwana dla systemów plików\n" -"z wÅ‚Ä…czonÄ… cechÄ… flex_bg.\n" +"Zmiana rozmiaru i-wêz³a nie jest obs³ugiwana dla systemów plików\n" +"z w³±czon± cech± flex_bg.\n" -#: misc/tune2fs.c:2193 +#: misc/tune2fs.c:1789 #, c-format msgid "Setting inode size %lu\n" -msgstr "Ustawianie rozmiaru i-wÄ™zÅ‚a na %lu\n" - -#: misc/tune2fs.c:2196 -#, c-format -msgid "Failed to change inode size\n" -msgstr "Nie udaÅ‚o siÄ™ zmienić rozmiaru i-wÄ™zÅ‚a\n" +msgstr "Ustawianie rozmiaru i-wêz³a na %lu\n" -#: misc/tune2fs.c:2207 +#: misc/tune2fs.c:1799 #, c-format msgid "Setting stride size to %d\n" msgstr "Ustawianie rozmiaru stride na %d\n" -#: misc/tune2fs.c:2212 +#: misc/tune2fs.c:1804 #, c-format msgid "Setting stripe width to %d\n" -msgstr "Ustawianie szerokoÅ›ci stripe na na %d\n" +msgstr "Ustawianie szeroko¶ci stripe na na %d\n" -#: misc/tune2fs.c:2219 -#, c-format -msgid "Setting extended default mount options to '%s'\n" -msgstr "Ustawianie rozszerzonych domyÅ›lnych opcji montowania na '%s'\n" - -#: misc/util.c:74 +#: misc/util.c:72 msgid "Proceed anyway? (y,n) " -msgstr "Kontynuować mimo to? (t,n) " +msgstr "Kontynuowaæ mimo to? (t,n) " -#: misc/util.c:89 +#: misc/util.c:93 #, c-format msgid "Could not stat %s --- %s\n" -msgstr "Nie można wykonać stat na %s --- %s\n" +msgstr "Nie mo¿na wykonaæ stat na %s --- %s\n" -#: misc/util.c:92 +#: misc/util.c:96 msgid "" "\n" "The device apparently does not exist; did you specify it correctly?\n" msgstr "" "\n" -"UrzÄ…dzenie najwyraźniej nie istnieje; czy zostaÅ‚o podane poprawnie?\n" +"Urz±dzenie najwyra¼niej nie istnieje; czy zosta³o podane poprawnie?\n" -#: misc/util.c:103 +#: misc/util.c:107 #, c-format msgid "%s is not a block special device.\n" -msgstr "%s nie jest specjalnym urzÄ…dzeniem blokowym.\n" +msgstr "%s nie jest specjalnym urz±dzeniem blokowym.\n" -#: misc/util.c:132 +#: misc/util.c:136 #, c-format msgid "%s is entire device, not just one partition!\n" -msgstr "%s jest caÅ‚ym urzÄ…dzeniem, a nie tylko jednÄ… partycjÄ…!\n" +msgstr "%s jest ca³ym urz±dzeniem, a nie tylko jedn± partycj±!\n" -#: misc/util.c:154 +#: misc/util.c:158 msgid "mke2fs forced anyway. Hope /etc/mtab is incorrect.\n" -msgstr "mke2fs wymuszone mimo to. Mam nadziejÄ™, że /etc/mtab siÄ™ myli.\n" +msgstr "mke2fs wymuszone mimo to. Mam nadziejê, ¿e /etc/mtab siê myli.\n" -#: misc/util.c:159 +#: misc/util.c:163 #, c-format msgid "will not make a %s here!\n" -msgstr "nie zrobiÄ™ tutaj %s!\n" +msgstr "nie zrobiê tutaj %s!\n" -#: misc/util.c:166 +#: misc/util.c:170 msgid "mke2fs forced anyway.\n" msgstr "mke2fs wymuszone mimo to.\n" -#: misc/util.c:182 +#: misc/util.c:186 msgid "Couldn't allocate memory to parse journal options!\n" -msgstr "Nie można przydzielić pamiÄ™ci na analizÄ™ opcji kroniki!\n" +msgstr "Nie mo¿na przydzieliæ pamiêci na analizê opcji kroniki!\n" -#: misc/util.c:207 +#: misc/util.c:211 #, c-format msgid "" "\n" "Could not find journal device matching %s\n" msgstr "" "\n" -"Nie można znaleźć urzÄ…dzenia kroniki pasujÄ…cego do %s\n" +"Nie mo¿na znale¼æ urz±dzenia kroniki pasuj±cego do %s\n" -#: misc/util.c:228 +#: misc/util.c:232 msgid "" "\n" "Bad journal options specified.\n" @@ -5494,27 +4937,27 @@ msgid "" "\n" msgstr "" "\n" -"Podano bÅ‚Ä™dne opcje kroniki.\n" +"Podano b³êdne opcje kroniki.\n" "\n" -"Opcje kroniki sÄ… oddzielane przecinkami i mogÄ… przyjmować parametr,\n" -"\tktóry ustawia siÄ™ znakiem '='.\n" +"Opcje kroniki s± oddzielane przecinkami i mog± przyjmowaæ parametr,\n" +"\tktóry ustawia siê znakiem '='.\n" "\n" "Poprawne opcje kroniki to:\n" "\tsize=\n" -"\tdevice=\n" +"\tdevice=\n" "\n" -"Rozmiar kroniki musi być pomiÄ™dzy 1024 a 10240000 blokami systemu plików.\n" +"Rozmiar kroniki musi byæ pomiêdzy 1024 a 10240000 blokami systemu plików.\n" "\n" -#: misc/util.c:258 +#: misc/util.c:262 msgid "" "\n" "Filesystem too small for a journal\n" msgstr "" "\n" -"System plików za maÅ‚y na kronikÄ™\n" +"System plików za ma³y na kronikê\n" -#: misc/util.c:265 +#: misc/util.c:269 #, c-format msgid "" "\n" @@ -5522,16 +4965,16 @@ msgid "" "between 1024 and 10240000 blocks. Aborting.\n" msgstr "" "\n" -"Żądany rozmiar kroniki to %d bloków; musi być\n" -"pomiÄ™dzy 1024 a 10240000 bloków. Przerwano.\n" +"¯±dany rozmiar kroniki to %d bloków; musi byæ\n" +"pomiêdzy 1024 a 10240000 bloków. Przerwano.\n" -#: misc/util.c:273 +#: misc/util.c:277 msgid "" "\n" "Journal size too big for filesystem.\n" msgstr "" "\n" -"Rozmiar kroniki zbyt duży dla systemu plików.\n" +"Rozmiar kroniki zbyt du¿y dla systemu plików.\n" #: misc/util.c:287 #, c-format @@ -5539,1139 +4982,231 @@ msgid "" "This filesystem will be automatically checked every %d mounts or\n" "%g days, whichever comes first. Use tune2fs -c or -i to override.\n" msgstr "" -"Ten system plików bÄ™dzie automatycznie sprawdzany co każde %d montowaÅ„\n" -"lub co %g dni, zależnie co nastÄ…pi pierwsze. Można to zmienić poprzez\n" +"Ten system plików bêdzie automatycznie sprawdzany co ka¿de %d montowañ\n" +"lub co %g dni, zale¿nie co nast±pi pierwsze. Mo¿na to zmieniæ poprzez\n" "tune2fs -c lub -i.\n" -#: misc/uuidd.c:48 -#, c-format -msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n" -msgstr "SkÅ‚adnia: %s [-d] [-p plik_pid] [-s Å›cieżka_gniazda] [-T limit_czasu]\n" - -#: misc/uuidd.c:50 -#, c-format -msgid " %s [-r|t] [-n num] [-s socketpath]\n" -msgstr " %s [-r|t] [-n ile] [-s Å›cieżka_gniazda]\n" - -#: misc/uuidd.c:52 -#, c-format -msgid " %s -k\n" -msgstr " %s -k\n" - -#: misc/uuidd.c:154 -msgid "bad arguments" -msgstr "bÅ‚Ä™dne argumenty" - -#: misc/uuidd.c:172 -msgid "connect" -msgstr "Å‚Ä…czenie" - -#: misc/uuidd.c:191 -msgid "write" -msgstr "zapis" - -#: misc/uuidd.c:199 -msgid "read count" -msgstr "odczyt liczby" - -#: misc/uuidd.c:205 -msgid "bad response length" -msgstr "bÅ‚Ä™dna dÅ‚ugość odpowiedzi" - -#: misc/uuidd.c:270 -#, c-format -msgid "uuidd daemon already running at pid %s\n" -msgstr "demon uuidd już dziaÅ‚a z pidem %s\n" - -#: misc/uuidd.c:278 -#, c-format -msgid "Couldn't create unix stream socket: %s" -msgstr "Nie udaÅ‚o siÄ™ utworzyć uniksowego gniazda strumieniowego: %s" - -#: misc/uuidd.c:307 -#, c-format -msgid "Couldn't bind unix socket %s: %s\n" -msgstr "Nie udaÅ‚o siÄ™ podpiąć gniazda uniksowego %s: %s\n" - -#: misc/uuidd.c:315 -#, c-format -msgid "Couldn't listen on unix socket %s: %s\n" -msgstr "Nie można nasÅ‚uchiwać na gnieździe uniksowym %s: %s\n" - -#: misc/uuidd.c:353 -#, c-format -msgid "Error reading from client, len = %d\n" -msgstr "BÅ‚Ä…d odczytu od klienta, dÅ‚ugość = %d\n" - -#: misc/uuidd.c:361 -#, c-format -msgid "operation %d, incoming num = %d\n" -msgstr "operacja %d, liczba przychodzÄ…ca = %d\n" - -#: misc/uuidd.c:380 -#, c-format -msgid "Generated time UUID: %s\n" -msgstr "Wygenerowany UUID czasowy: %s\n" - -#: misc/uuidd.c:390 -#, c-format -msgid "Generated random UUID: %s\n" -msgstr "Wygenerowany UUID losowy: %s\n" - -#: misc/uuidd.c:399 -#, c-format -msgid "Generated time UUID %s and subsequent UUID\n" -msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n" -msgstr[0] "Wygenerowany UUID czasowy %s i kolejny\n" -msgstr[1] "Wygenerowany UUID czasowy %s i %d kolejne\n" -msgstr[2] "Wygenerowany UUID czasowy %s i %d kolejnych\n" - -#: misc/uuidd.c:420 -#, c-format -msgid "Generated %d UUID's:\n" -msgstr "Wygenerowano %d UUID-ów:\n" - -#: misc/uuidd.c:432 -#, c-format -msgid "Invalid operation %d\n" -msgstr "BÅ‚Ä™dna operacja %d\n" - -#: misc/uuidd.c:476 misc/uuidd.c:498 -#, c-format -msgid "Bad number: %s\n" -msgstr "BÅ‚Ä™dna liczba: %s\n" - -#: misc/uuidd.c:533 misc/uuidd.c:562 -#, c-format -msgid "Error calling uuidd daemon (%s): %s\n" -msgstr "BÅ‚Ä…d podczas wywoÅ‚ania demona uuidd (%s): %s\n" - -#: misc/uuidd.c:543 -#, c-format -msgid "%s and subsequent UUID\n" -msgid_plural "%s and subsequent %d UUIDs\n" -msgstr[0] "%s i kolejny UUID\n" -msgstr[1] "%s i %d kolejne UUID-y\n" -msgstr[2] "%s i %d kolejnych UUID-ów\n" - -#: misc/uuidd.c:547 -#, c-format -msgid "List of UUID's:\n" -msgstr "Lista UUID-ów:\n" - -#: misc/uuidd.c:568 -#, c-format -msgid "Unexpected reply length from server %d\n" -msgstr "Nieoczekiwana dÅ‚ugość odpowiedzi serwera: %d\n" - -#: misc/uuidd.c:585 -#, c-format -msgid "Couldn't kill uuidd running at pid %d: %s\n" -msgstr "Nie udaÅ‚o siÄ™ zabić uuidd dziaÅ‚ajÄ…cego z pidem %d: %s\n" - -#: misc/uuidd.c:591 -#, c-format -msgid "Killed uuidd running at pid %d\n" -msgstr "Zapito uuidd dziaÅ‚ajÄ…cy z pidem %d\n" - -#: misc/uuidgen.c:32 +#: misc/uuidgen.c:31 #, c-format msgid "Usage: %s [-r] [-t]\n" -msgstr "SkÅ‚adnia: %s [-r] [-t]\n" +msgstr "Sk³adnia: %s [-r] [-t]\n" -#: resize/extent.c:202 +#: resize/extent.c:196 msgid "# Extent dump:\n" msgstr "# Zrzut ekstentu:\n" -#: resize/extent.c:203 +#: resize/extent.c:197 +#, c-format +msgid "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" +msgstr "#\tNum=%d, Rozmiar=%d, Kursor=%d, Sortowane=%d\n" + +#: resize/extent.c:200 #, c-format -msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n" -msgstr "#\tNum=%llu, Rozmiar=%llu, Kursor=%llu, Sortowane=%llu\n" +msgid "#\t\t %u -> %u (%d)\n" +msgstr "#\t\t %u -> %u (%d)\n" -#: resize/main.c:43 +#: resize/main.c:42 #, c-format msgid "" "Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" "\n" msgstr "" -"SkÅ‚adnia: %s [-d flagi_Å›ledzenia] [-f] [-F] [-M] [-P] [-p] urzÄ…dzenie [nowy_rozm]\n" +"Sk³adnia: %s [-d flagi_¶ledzenia] [-f] [-F] [-M] [-P] [-p] urz±dzenie [nowy_rozm]\n" "\n" -#: resize/main.c:65 +#: resize/main.c:64 msgid "Extending the inode table" -msgstr "Rozszerzanie tablicy i-wÄ™złów" +msgstr "Rozszerzanie tablicy i-wêz³ów" -#: resize/main.c:68 +#: resize/main.c:67 msgid "Relocating blocks" -msgstr "Relokowanie bloków" +msgstr "Relokowanie bloków" -#: resize/main.c:71 +#: resize/main.c:70 msgid "Scanning inode table" -msgstr "Przeszukiwanie tablicy i-wÄ™złów" +msgstr "Przeszukiwanie tablicy i-wêz³ów" -#: resize/main.c:74 +#: resize/main.c:73 msgid "Updating inode references" -msgstr "Uaktualnianie odwoÅ‚aÅ„ do i-wÄ™złów" +msgstr "Uaktualnianie odwo³añ do i-wêz³ów" -#: resize/main.c:77 +#: resize/main.c:76 msgid "Moving inode table" -msgstr "Przenoszenie tablicy i-wÄ™złów" +msgstr "Przenoszenie tablicy i-wêz³ów" -#: resize/main.c:80 +#: resize/main.c:79 msgid "Unknown pass?!?" msgstr "Nieznany przebieg?!?" -#: resize/main.c:83 +#: resize/main.c:82 #, c-format msgid "Begin pass %d (max = %lu)\n" -msgstr "PoczÄ…tkowy przebieg %d (maksymalny = %lu)\n" +msgstr "Pocz±tkowy przebieg %d (maksymalny = %lu)\n" -#: resize/main.c:154 -#, c-format -msgid "" -"\n" -"Resizing bigalloc file systems has not been fully tested. Proceed\n" -"at your own risk! Use the force option if you want to go ahead anyway.\n" -"\n" -msgstr "" -"\n" -"Zmiana rozmiarów systemów plików bigalloc nie zostaÅ‚a jeszcze w peÅ‚ni\n" -"przetestowana. Kontynuacja tylko na wÅ‚asne ryzyko! Aby mimo wszystko\n" -"to wykonać, należy użyć opcji force.\n" -"\n" - -#: resize/main.c:271 +#: resize/main.c:265 #, c-format msgid "while opening %s" msgstr "podczas otwierania %s" -#: resize/main.c:279 +#: resize/main.c:277 #, c-format msgid "while getting stat information for %s" msgstr "podczas pobierania informacji stat dla %s" -#: resize/main.c:337 resize/main.c:450 +#: resize/main.c:338 +#, c-format +msgid "" +"%s: The combination of flex_bg and\n" +"\t!resize_inode features is not supported by resize2fs.\n" +msgstr "" +"%s: Kombinacja cech flex_bg i\n" +"\t!resize_inode nie jest obs³ugiwana przez resize2fs.\n" + +#: resize/main.c:352 resize/main.c:452 #, c-format msgid "" "Please run 'e2fsck -f %s' first.\n" "\n" msgstr "" -"ProszÄ™ uruchomić najpierw 'e2fsck -f %s'.\n" +"Proszê uruchomiæ najpierw 'e2fsck -f %s'.\n" "\n" -#: resize/main.c:341 +#: resize/main.c:356 #, c-format -msgid "Estimated minimum size of the filesystem: %llu\n" -msgstr "Przybliżony minimalny rozmiar systemu plików: %llu\n" +msgid "Estimated minimum size of the filesystem: %u\n" +msgstr "Przybli¿ony minimalny rozmiar systemu plików: %u\n" -#: resize/main.c:377 +#: resize/main.c:392 #, c-format msgid "Invalid new size: %s\n" -msgstr "BÅ‚Ä™dny nowy rozmiar: %s\n" - -#: resize/main.c:393 -msgid "New size too large to be expressed in 32 bits\n" -msgstr "Nowy rozmiar zbyt duży, by mógÅ‚ być wyrażony w 32 bitach\n" +msgstr "B³êdny nowy rozmiar: %s\n" -#: resize/main.c:401 +#: resize/main.c:404 #, c-format -msgid "New size smaller than minimum (%llu)\n" -msgstr "Nowy rozmiar jest mniejszy niż minimalny (%llu)\n" +msgid "New size smaller than minimum (%u)\n" +msgstr "Nowy rozmiar jest mniejszy ni¿ minimalny (%u)\n" -#: resize/main.c:407 +#: resize/main.c:410 msgid "Invalid stride length" -msgstr "BÅ‚Ä™dna dÅ‚ugość stride" +msgstr "B³êdna d³ugo¶æ stride" -#: resize/main.c:431 +#: resize/main.c:434 #, c-format msgid "" -"The containing partition (or device) is only %llu (%dk) blocks.\n" -"You requested a new size of %llu blocks.\n" +"The containing partition (or device) is only %u (%dk) blocks.\n" +"You requested a new size of %u blocks.\n" "\n" msgstr "" -"Partycja zawierajÄ…ca (lub urzÄ…dzenie) ma tylko %llu bloków (%dk).\n" -"Zażądano nowego rozmiaru %llu bloków.\n" +"Partycja zawieraj±ca (lub urz±dzenie) ma tylko %u bloków (%dk).\n" +"Za¿±dano nowego rozmiaru %u bloków.\n" "\n" -#: resize/main.c:438 +#: resize/main.c:441 #, c-format msgid "" -"The filesystem is already %llu blocks long. Nothing to do!\n" +"The filesystem is already %u blocks long. Nothing to do!\n" "\n" msgstr "" -"System plików już ma wielkość %llu bloków. Nie ma nic do roboty!\n" +"System plików ju¿ ma wielko¶æ %u bloków. Nie ma nic do roboty!\n" "\n" -#: resize/main.c:455 +#: resize/main.c:456 #, c-format -msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n" -msgstr "Zmiana rozmiaru systemu plików %s na %llu (%dk) bloków.\n" +msgid "Resizing the filesystem on %s to %u (%dk) blocks.\n" +msgstr "Zmiana rozmiaru systemu plików %s na %u (%dk) bloków.\n" -#: resize/main.c:464 +#: resize/main.c:465 #, c-format msgid "while trying to resize %s" -msgstr "podczas próby zmiany rozmiaru %s" +msgstr "podczas próby zmiany rozmiaru %s" -#: resize/main.c:467 +#: resize/main.c:468 #, c-format msgid "" "Please run 'e2fsck -fy %s' to fix the filesystem\n" "after the aborted resize operation.\n" msgstr "" -"ProszÄ™ uruchomić 'e2fsck -fy %s', aby naprawić system plików\n" +"Proszê uruchomiæ 'e2fsck -fy %s', aby naprawiæ system plików\n" "po przerwanej operacji zmiany rozmiaru.\n" -#: resize/main.c:473 +#: resize/main.c:474 #, c-format msgid "" -"The filesystem on %s is now %llu blocks long.\n" +"The filesystem on %s is now %u blocks long.\n" "\n" msgstr "" -"System plików na %s ma teraz %llu bloków.\n" +"System plików na %s ma teraz %u bloków.\n" "\n" -#: resize/main.c:488 +#: resize/main.c:489 #, c-format msgid "while trying to truncate %s" -msgstr "podczas próby skrócenia %s" +msgstr "podczas próby skrócenia %s" -#: resize/online.c:79 +#: resize/online.c:37 #, c-format msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" -msgstr "System plików %s jest zamontowany pod %s; wymagana zmiana rozmiaru w locie\n" +msgstr "System plików %s jest zamontowany pod %s; wymagana zmiana rozmiaru w locie\n" -#: resize/online.c:83 -msgid "On-line shrinking not supported" -msgstr "Zmniejszanie w locie nie jest obsÅ‚ugiwane" +#: resize/online.c:41 +#, c-format +msgid "On-line shrinking from %u to %u not supported.\n" +msgstr "Zmniejszanie w locie z %u na %u nie jest obs³ugiwane.\n" -#: resize/online.c:108 +#: resize/online.c:61 msgid "Filesystem does not support online resizing" -msgstr "System plików nie obsÅ‚uguje zmiany rozmiaru w locie" - -#: resize/online.c:117 -msgid "Not enough reserved gdt blocks for resizing" -msgstr "Zbyt maÅ‚o zarezerwowanych bloków gdt do zmiany rozmiaru" +msgstr "System plików nie obs³uguje zmiany rozmiaru w locie" -#: resize/online.c:124 -msgid "Kernel does not support resizing a file system this large" -msgstr "JÄ…dro nie obsÅ‚uguje zmiany rozmiaru tak dużego systemu plików" - -#: resize/online.c:132 +#: resize/online.c:68 #, c-format msgid "while trying to open mountpoint %s" -msgstr "podczas próby otwarcia punktu montowania %s" - -#: resize/online.c:137 -#, c-format -msgid "Old resize interface requested.\n" -msgstr "Zażądano starego interfejsu resize.\n" +msgstr "podczas próby otwarcia punktu montowania %s" -#: resize/online.c:156 resize/online.c:173 +#: resize/online.c:76 msgid "Permission denied to resize filesystem" -msgstr "Brak uprawnieÅ„ do zmiany rozmiaru systemu plików" - -#: resize/online.c:159 resize/online.c:179 -msgid "While checking for on-line resizing support" -msgstr "Podczas sprawdzania obsÅ‚ugi zmiany rozmiaru w locie" +msgstr "Brak uprawnieñ do zmiany rozmiaru systemu plików" -#: resize/online.c:176 +#: resize/online.c:79 msgid "Kernel does not support online resizing" -msgstr "JÄ…dro nie obsÅ‚uguje zmiany rozmiaru w locie" +msgstr "J±dro nie obs³uguje zmiany rozmiaru w locie" + +#: resize/online.c:82 +msgid "While checking for on-line resizing support" +msgstr "Podczas sprawdzania obs³ugi zmiany rozmiaru w locie" -#: resize/online.c:209 +#: resize/online.c:111 #, c-format -msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n" -msgstr "Wykonywanie zmiany rozmiaru w locie %s na %llu (%dk) bloków.\n" +msgid "Performing an on-line resize of %s to %u (%dk) blocks.\n" +msgstr "Wykonywanie zmiany rozmiaru w locie %s na %u (%dk) bloków.\n" -#: resize/online.c:219 +#: resize/online.c:121 msgid "While trying to extend the last group" -msgstr "Podczas próby rozszerzenia ostatniej grupy" +msgstr "Podczas próby rozszerzenia ostatniej grupy" -#: resize/online.c:273 +#: resize/online.c:180 #, c-format msgid "While trying to add group #%d" -msgstr "Podczas próby dodania grupy #%d" +msgstr "Podczas próby dodania grupy #%d" -#: resize/online.c:284 +#: resize/online.c:191 #, c-format msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n" -msgstr "System plików na %s jest zamontowany pod %s, zmiana rozmiaru w locie nie jest obsÅ‚ugiwana na tym systemie.\n" +msgstr "System plików na %s jest zamontowany pod %s, zmiana rozmiaru w locie nie jest obs³ugiwana na tym systemie.\n" -#: resize/resize2fs.c:369 +#: resize/resize2fs.c:350 #, c-format msgid "inodes (%llu) must be less than %u" -msgstr "liczba i-wÄ™złów (%llu) musi być mniejsza niż %u" +msgstr "liczba i-wêz³ów (%llu) musi byæ mniejsza ni¿ %u" -#: resize/resize2fs.c:631 +#: resize/resize2fs.c:582 msgid "reserved blocks" msgstr "zarezerwowane bloki" -#: resize/resize2fs.c:875 +#: resize/resize2fs.c:795 msgid "meta-data blocks" msgstr "bloki metadanych" -#: resize/resize2fs.c:1837 +#: resize/resize2fs.c:1752 #, c-format msgid "Should never happen: resize inode corrupt!\n" -msgstr "Nigdy siÄ™ nie powinno zdarzyć: i-wÄ™zeÅ‚ zmiany rozmiaru uszkodzony!\n" - -#: lib/ext2fs/ext2_err.c:11 -msgid "EXT2FS Library version 1.42.8" -msgstr "Biblioteka EXT2FS w wersji 1.42.8" - -#: lib/ext2fs/ext2_err.c:12 -msgid "Wrong magic number for ext2_filsys structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury ext2_filsys" - -#: lib/ext2fs/ext2_err.c:13 -msgid "Wrong magic number for badblocks_list structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury badblocks_list" - -#: lib/ext2fs/ext2_err.c:14 -msgid "Wrong magic number for badblocks_iterate structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury badblocks_iterate" - -#: lib/ext2fs/ext2_err.c:15 -msgid "Wrong magic number for inode_scan structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury inode_scan" - -#: lib/ext2fs/ext2_err.c:16 -msgid "Wrong magic number for io_channel structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury io_channel" - -#: lib/ext2fs/ext2_err.c:17 -msgid "Wrong magic number for unix io_channel structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury io_channel typu unix" - -#: lib/ext2fs/ext2_err.c:18 -msgid "Wrong magic number for io_manager structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury io_manager" - -#: lib/ext2fs/ext2_err.c:19 -msgid "Wrong magic number for block_bitmap structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury block_bitmap" - -#: lib/ext2fs/ext2_err.c:20 -msgid "Wrong magic number for inode_bitmap structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury inode_bitmap" - -#: lib/ext2fs/ext2_err.c:21 -msgid "Wrong magic number for generic_bitmap structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury generic_bitmap" - -#: lib/ext2fs/ext2_err.c:22 -msgid "Wrong magic number for test io_channel structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla strukruty io_channel typu test" - -#: lib/ext2fs/ext2_err.c:23 -msgid "Wrong magic number for directory block list structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury listy bloków katalogu" - -#: lib/ext2fs/ext2_err.c:24 -msgid "Wrong magic number for icount structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury icount" - -#: lib/ext2fs/ext2_err.c:25 -msgid "Wrong magic number for Powerquest io_channel structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury io_channel typu Powerquest" - -#: lib/ext2fs/ext2_err.c:26 -msgid "Wrong magic number for ext2 file structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury pliku ext2" - -#: lib/ext2fs/ext2_err.c:27 -msgid "Wrong magic number for Ext2 Image Header" -msgstr "BÅ‚Ä™dna liczba magiczna dla nagłówka obrazu ext2" - -#: lib/ext2fs/ext2_err.c:28 -msgid "Wrong magic number for inode io_channel structure" -msgstr "BÅ‚Ä™dna liczba magiczna dla struktury io_channel i-wÄ™zÅ‚a" - -#: lib/ext2fs/ext2_err.c:29 -msgid "Wrong magic number for ext4 extent handle" -msgstr "BÅ‚Ä™dna liczba magiczna dla uchwytu ekstentu ext4" - -#: lib/ext2fs/ext2_err.c:30 -msgid "Bad magic number in super-block" -msgstr "BÅ‚Ä™dna liczba magiczna w superbloku" - -#: lib/ext2fs/ext2_err.c:31 -msgid "Filesystem revision too high" -msgstr "Wersja systemu plików zbyt duża" - -#: lib/ext2fs/ext2_err.c:32 -msgid "Attempt to write to filesystem opened read-only" -msgstr "Próba zapisu w systemie plików otwartym tylko do odczytu" - -#: lib/ext2fs/ext2_err.c:33 -msgid "Can't read group descriptors" -msgstr "Nie można odczytać deskryptorów grup" - -#: lib/ext2fs/ext2_err.c:34 -msgid "Can't write group descriptors" -msgstr "Nie można zapisać deskryptorów grup" - -#: lib/ext2fs/ext2_err.c:35 -msgid "Corrupt group descriptor: bad block for block bitmap" -msgstr "Uszkodzony deskryptor grupy: wadliwy blok bitmapy bloków" - -#: lib/ext2fs/ext2_err.c:36 -msgid "Corrupt group descriptor: bad block for inode bitmap" -msgstr "Uszkodzony deskryptor grupy: wadliwy blok bitmapy i-wÄ™złów" - -#: lib/ext2fs/ext2_err.c:37 -msgid "Corrupt group descriptor: bad block for inode table" -msgstr "Uszkodzony deskryptor grupy: wadliwy blok tablicy i-wÄ™złów" - -#: lib/ext2fs/ext2_err.c:38 -msgid "Can't write an inode bitmap" -msgstr "Nie można zapisać bitmapy i-wÄ™złów" - -#: lib/ext2fs/ext2_err.c:39 -msgid "Can't read an inode bitmap" -msgstr "Nie można odczytać bitmapy i-wÄ™złów" - -#: lib/ext2fs/ext2_err.c:40 -msgid "Can't write an block bitmap" -msgstr "Nie można zapisać bitmapy bloków" - -#: lib/ext2fs/ext2_err.c:41 -msgid "Can't read an block bitmap" -msgstr "Nie można odczytać bitmapy bloków" - -#: lib/ext2fs/ext2_err.c:42 -msgid "Can't write an inode table" -msgstr "Nie można zapisać tablicy i-wÄ™złów" - -#: lib/ext2fs/ext2_err.c:43 -msgid "Can't read an inode table" -msgstr "Nie można odczytać tablicy i-wÄ™złów" - -#: lib/ext2fs/ext2_err.c:44 -msgid "Can't read next inode" -msgstr "Nie można odczytać kolejnego i-wÄ™zÅ‚a" - -#: lib/ext2fs/ext2_err.c:45 -msgid "Filesystem has unexpected block size" -msgstr "System plików ma nieoczekiwany rozmiar bloku" - -#: lib/ext2fs/ext2_err.c:46 -msgid "EXT2 directory corrupted" -msgstr "Katalog EXT2 uszkodzony" - -#: lib/ext2fs/ext2_err.c:47 -msgid "Attempt to read block from filesystem resulted in short read" -msgstr "Próba odczytu bloku z systemu plików zakoÅ„czyÅ‚a siÄ™ skróconym odczytem" - -#: lib/ext2fs/ext2_err.c:48 -msgid "Attempt to write block to filesystem resulted in short write" -msgstr "Próba zapisu bloku w systemie plików zakoÅ„czyÅ‚a siÄ™ skróconym zapisem" - -#: lib/ext2fs/ext2_err.c:49 -msgid "No free space in the directory" -msgstr "Brak wolnego miejsca w katalogu" - -#: lib/ext2fs/ext2_err.c:50 -msgid "Inode bitmap not loaded" -msgstr "Nie wczytano bitmapy i-wÄ™złów" - -#: lib/ext2fs/ext2_err.c:51 -msgid "Block bitmap not loaded" -msgstr "Nie wczytano bitmapy bloków" - -#: lib/ext2fs/ext2_err.c:52 -msgid "Illegal inode number" -msgstr "Niedozwolona liczba i-wÄ™złów" - -#: lib/ext2fs/ext2_err.c:53 -msgid "Illegal block number" -msgstr "Niedozwolona liczba bloków" - -#: lib/ext2fs/ext2_err.c:54 -msgid "Internal error in ext2fs_expand_dir" -msgstr "BÅ‚Ä…d wewnÄ™trzny w ext2fs_expand_dir" - -#: lib/ext2fs/ext2_err.c:55 -msgid "Not enough space to build proposed filesystem" -msgstr "Za maÅ‚o miejsca do zbudowania proponowanego systemu plików" - -#: lib/ext2fs/ext2_err.c:56 -msgid "Illegal block number passed to ext2fs_mark_block_bitmap" -msgstr "Niedozwolony numer bloku przekazany do ext2fs_mark_block_bitmap" - -#: lib/ext2fs/ext2_err.c:57 -msgid "Illegal block number passed to ext2fs_unmark_block_bitmap" -msgstr "Niedozwolony numer bloku przekazany do ext2fs_unmark_block_bitmap" - -#: lib/ext2fs/ext2_err.c:58 -msgid "Illegal block number passed to ext2fs_test_block_bitmap" -msgstr "Niedozwolony numer bloku przekazany do ext2fs_test_block_bitmap" - -#: lib/ext2fs/ext2_err.c:59 -msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap" -msgstr "Niedozwolony numer i-wÄ™zÅ‚a przekazany do ext2fs_mark_inode_bitmap" - -#: lib/ext2fs/ext2_err.c:60 -msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap" -msgstr "Niedozwolony numer i-wÄ™zÅ‚a przekazany do ext2fs_unmark_inode_bitmap" - -#: lib/ext2fs/ext2_err.c:61 -msgid "Illegal inode number passed to ext2fs_test_inode_bitmap" -msgstr "Niedozwolony numer i-wÄ™zÅ‚a przekazany do ext2fs_test_inode_bitmap" - -#: lib/ext2fs/ext2_err.c:62 -msgid "Attempt to fudge end of block bitmap past the real end" -msgstr "Próba sfaÅ‚szowania koÅ„ca bitmapy bloków za prawdziwym koÅ„cem" - -#: lib/ext2fs/ext2_err.c:63 -msgid "Attempt to fudge end of inode bitmap past the real end" -msgstr "Próba sfaÅ‚szowania koÅ„ca bitmapy i-wÄ™złów za prawdziwym koÅ„cem" - -#: lib/ext2fs/ext2_err.c:64 -msgid "Illegal indirect block found" -msgstr "Znaleziono niedozwolony blok poÅ›redni" - -#: lib/ext2fs/ext2_err.c:65 -msgid "Illegal doubly indirect block found" -msgstr "Znaleziono niedozwolony blok podwójnie poÅ›redni" - -#: lib/ext2fs/ext2_err.c:66 -msgid "Illegal triply indirect block found" -msgstr "Znaleziono niedozwolony blok potrójnie poÅ›redni" - -#: lib/ext2fs/ext2_err.c:67 -msgid "Block bitmaps are not the same" -msgstr "Bitmapy bloków nie sÄ… takie same" - -#: lib/ext2fs/ext2_err.c:68 -msgid "Inode bitmaps are not the same" -msgstr "Bitmapy i-wÄ™złów nie sÄ… takie same" - -#: lib/ext2fs/ext2_err.c:69 -msgid "Illegal or malformed device name" -msgstr "Niedozwolona lub źle zapisana nazwa urzÄ…dzenia" - -#: lib/ext2fs/ext2_err.c:70 -msgid "A block group is missing an inode table" -msgstr "Grupa bloków nie ma tablicy i-wÄ™złów" - -#: lib/ext2fs/ext2_err.c:71 -msgid "The ext2 superblock is corrupt" -msgstr "Superblok ext2 jest uszkodzony" - -#: lib/ext2fs/ext2_err.c:72 -msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap" -msgstr "Niedozwolony numer bitu przekazany do ext2fs_mark_generic_bitmap" - -#: lib/ext2fs/ext2_err.c:73 -msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap" -msgstr "Niedozwolony numer bitu przekazany do ext2fs_unmark_generic_bitmap" - -#: lib/ext2fs/ext2_err.c:74 -msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap" -msgstr "Niedozwolony numer bitu przekazany do ext2fs_test_generic_bitmap" - -#: lib/ext2fs/ext2_err.c:75 -msgid "Too many symbolic links encountered." -msgstr "Napotkano zbyt dużo dowiÄ…zaÅ„ symbolicznych." - -#: lib/ext2fs/ext2_err.c:76 -msgid "The callback function will not handle this case" -msgstr "Funkcja wywoÅ‚ania zwrotnego nie obsÅ‚uży tego przypadku" - -#: lib/ext2fs/ext2_err.c:77 -msgid "The inode is from a bad block in the inode table" -msgstr "I-wÄ™zeÅ‚ pochodzÄ…cy z wadliwego bloku w tablicy i-wÄ™złów" - -#: lib/ext2fs/ext2_err.c:78 -msgid "Filesystem has unsupported feature(s)" -msgstr "System plików ma wÅ‚Ä…czone nie obsÅ‚ugiwane cechy" - -#: lib/ext2fs/ext2_err.c:79 -msgid "Filesystem has unsupported read-only feature(s)" -msgstr "System plików ma wÅ‚Ä…czone nie obsÅ‚ugiwane cechy tylko do odczytu" - -#: lib/ext2fs/ext2_err.c:80 -msgid "IO Channel failed to seek on read or write" -msgstr "Nie powiodÅ‚o siÄ™ przemieszczenie w kanaÅ‚ we/wy przy odczycie lub zapisie" - -#: lib/ext2fs/ext2_err.c:81 -msgid "Memory allocation failed" -msgstr "Przydzielenie pamiÄ™ci nie powiodÅ‚o siÄ™" - -#: lib/ext2fs/ext2_err.c:82 -msgid "Invalid argument passed to ext2 library" -msgstr "Przekazano bÅ‚Ä™dny argument do biblioteki ext2" - -#: lib/ext2fs/ext2_err.c:83 -msgid "Could not allocate block in ext2 filesystem" -msgstr "Nie udaÅ‚o siÄ™ przydzielić bloku w systemie plików ext2" - -#: lib/ext2fs/ext2_err.c:84 -msgid "Could not allocate inode in ext2 filesystem" -msgstr "Nie udaÅ‚o siÄ™ przydzielić i-wÄ™zÅ‚a w systemie plików ext2" - -#: lib/ext2fs/ext2_err.c:85 -msgid "Ext2 inode is not a directory" -msgstr "I-wÄ™zeÅ‚ ext2 nie jest katalogiem" - -#: lib/ext2fs/ext2_err.c:86 -msgid "Too many references in table" -msgstr "Zbyt dużo odniesieÅ„ w tablicy" - -#: lib/ext2fs/ext2_err.c:87 -msgid "File not found by ext2_lookup" -msgstr "Nie znaleziono pliku w ext2_lookup" - -#: lib/ext2fs/ext2_err.c:88 -msgid "File open read-only" -msgstr "Plik otwarty tylko do odczytu" - -#: lib/ext2fs/ext2_err.c:89 -msgid "Ext2 directory block not found" -msgstr "Nie znaleziono bloku katalogu ext2" - -#: lib/ext2fs/ext2_err.c:90 -msgid "Ext2 directory already exists" -msgstr "Katalog ext2 już istnieje" - -#: lib/ext2fs/ext2_err.c:91 -msgid "Unimplemented ext2 library function" -msgstr "Nie zaimplementowana funkcja biblioteki ext2" - -#: lib/ext2fs/ext2_err.c:92 -msgid "User cancel requested" -msgstr "Żądanie przerwania od użytkownika" - -#: lib/ext2fs/ext2_err.c:93 -msgid "Ext2 file too big" -msgstr "Plik ext2 zbyt duży" - -#: lib/ext2fs/ext2_err.c:94 -msgid "Supplied journal device not a block device" -msgstr "Przekazane urzÄ…dzenie kroniki nie jest urzÄ…dzeniem blokowym" - -#: lib/ext2fs/ext2_err.c:95 -msgid "Journal superblock not found" -msgstr "Nie znaleziono superbloku kroniki" - -#: lib/ext2fs/ext2_err.c:96 -msgid "Journal must be at least 1024 blocks" -msgstr "Kronika musi mieć przynajmniej 1024 bloki" - -#: lib/ext2fs/ext2_err.c:97 -msgid "Unsupported journal version" -msgstr "Nie obsÅ‚ugiwana wersja kroniki" - -#: lib/ext2fs/ext2_err.c:98 -msgid "Error loading external journal" -msgstr "BÅ‚Ä…d podczas wczytywania zewnÄ™trznej kroniki" - -#: lib/ext2fs/ext2_err.c:99 -msgid "Journal not found" -msgstr "Nie znaleziono kroniki" - -#: lib/ext2fs/ext2_err.c:100 -msgid "Directory hash unsupported" -msgstr "Nie obsÅ‚ugiwane haszowanie katalogu" - -#: lib/ext2fs/ext2_err.c:101 -msgid "Illegal extended attribute block number" -msgstr "BÅ‚Ä™dny numer bloku atrybutu rozszerzonego" - -#: lib/ext2fs/ext2_err.c:102 -msgid "Cannot create filesystem with requested number of inodes" -msgstr "Nie można utworzyć systemu plików o żądanej liczbie i-wÄ™złów" - -#: lib/ext2fs/ext2_err.c:103 -msgid "E2image snapshot not in use" -msgstr "Migawka e2image nie jest w użyciu" - -#: lib/ext2fs/ext2_err.c:104 -msgid "Too many reserved group descriptor blocks" -msgstr "Zbyt dużo zarezerwowanych bloków deskryptorów grup" - -#: lib/ext2fs/ext2_err.c:105 -msgid "Resize inode is corrupt" -msgstr "I-wÄ™zeÅ‚ zmiany rozmiaru jest uszkodzony" - -#: lib/ext2fs/ext2_err.c:106 -msgid "Tried to set block bmap with missing indirect block" -msgstr "Próbowano ustawić bitmapÄ™ bloków z brakujÄ…cym blokiem bezpoÅ›rednim" - -#: lib/ext2fs/ext2_err.c:107 -msgid "TDB: Success" -msgstr "TDB: sukces" - -#: lib/ext2fs/ext2_err.c:108 -msgid "TDB: Corrupt database" -msgstr "TDB: uszkodzona baza danych" - -#: lib/ext2fs/ext2_err.c:109 -msgid "TDB: IO Error" -msgstr "TDB: bÅ‚Ä…d we/wy" - -#: lib/ext2fs/ext2_err.c:110 -msgid "TDB: Locking error" -msgstr "TDB: bÅ‚Ä…d blokowania" - -#: lib/ext2fs/ext2_err.c:111 -msgid "TDB: Out of memory" -msgstr "TDB: brak pamiÄ™ci" - -#: lib/ext2fs/ext2_err.c:112 -msgid "TDB: Record exists" -msgstr "TDB: rekord istnieje" - -#: lib/ext2fs/ext2_err.c:113 -msgid "TDB: Lock exists on other keys" -msgstr "TDB: istnieje blokada na innych kluczach" - -#: lib/ext2fs/ext2_err.c:114 -msgid "TDB: Invalid parameter" -msgstr "TDB: bÅ‚Ä™dny parametr" - -#: lib/ext2fs/ext2_err.c:115 -msgid "TDB: Record does not exist" -msgstr "TDB: rekord nie istnieje" - -#: lib/ext2fs/ext2_err.c:116 -msgid "TDB: Write not permitted" -msgstr "TDB: zapis niedozwolony" - -#: lib/ext2fs/ext2_err.c:117 -msgid "Ext2fs directory block list is empty" -msgstr "Lista bloków katalogu ext2fs jest pusta" - -#: lib/ext2fs/ext2_err.c:118 -msgid "Attempt to modify a block mapping via a read-only block iterator" -msgstr "Próba zmodyfikowania mapy bloków poprzez iterator bloków tylko do odczytu" - -#: lib/ext2fs/ext2_err.c:119 -msgid "Wrong magic number for ext4 extent saved path" -msgstr "BÅ‚Ä™dna liczba magiczna Å›cieżki zachowanych ekstentów ext4" - -#: lib/ext2fs/ext2_err.c:120 -msgid "Wrong magic number for 64-bit generic bitmap" -msgstr "BÅ‚Ä™dna liczba magiczna dla ogólnej bitmapy 64-bitowej" - -#: lib/ext2fs/ext2_err.c:121 -msgid "Wrong magic number for 64-bit block bitmap" -msgstr "BÅ‚Ä™dna liczba magiczna dla 64-bitowej bitmapy bloków" - -#: lib/ext2fs/ext2_err.c:122 -msgid "Wrong magic number for 64-bit inode bitmap" -msgstr "BÅ‚Ä™dna liczba magiczna dla 64-bitowej bitmapy i-wÄ™złów" - -#: lib/ext2fs/ext2_err.c:123 -msgid "Wrong magic number --- RESERVED_13" -msgstr "BÅ‚Ä™dna liczba magiczna --- RESERVED_13" - -#: lib/ext2fs/ext2_err.c:124 -msgid "Wrong magic number --- RESERVED_14" -msgstr "BÅ‚Ä™dna liczba magiczna --- RESERVED_14" - -#: lib/ext2fs/ext2_err.c:125 -msgid "Wrong magic number --- RESERVED_15" -msgstr "BÅ‚Ä™dna liczba magiczna --- RESERVED_15" - -#: lib/ext2fs/ext2_err.c:126 -msgid "Wrong magic number --- RESERVED_16" -msgstr "BÅ‚Ä™dna liczba magiczna --- RESERVED_16" - -#: lib/ext2fs/ext2_err.c:127 -msgid "Wrong magic number --- RESERVED_17" -msgstr "BÅ‚Ä™dna liczba magiczna --- RESERVED_17" - -#: lib/ext2fs/ext2_err.c:128 -msgid "Wrong magic number --- RESERVED_18" -msgstr "BÅ‚Ä™dna liczba magiczna --- RESERVED_18" - -#: lib/ext2fs/ext2_err.c:129 -msgid "Wrong magic number --- RESERVED_19" -msgstr "BÅ‚Ä™dna liczba magiczna --- RESERVED_19" - -#: lib/ext2fs/ext2_err.c:130 -msgid "Corrupt extent header" -msgstr "Uszkodzony nagłówek ekstentu" - -#: lib/ext2fs/ext2_err.c:131 -msgid "Corrupt extent index" -msgstr "Uszkodzony indeks ekstentu" - -#: lib/ext2fs/ext2_err.c:132 -msgid "Corrupt extent" -msgstr "Uszkodzony ekstent" - -#: lib/ext2fs/ext2_err.c:133 -msgid "No free space in extent map" -msgstr "Brak wolnego miejsca w mapie ekstentów" - -#: lib/ext2fs/ext2_err.c:134 -msgid "Inode does not use extents" -msgstr "I-wÄ™zeÅ‚ nie wykorzystuje ekstentów" - -#: lib/ext2fs/ext2_err.c:135 -msgid "No 'next' extent" -msgstr "Brak ekstentu nastÄ™pnego" - -#: lib/ext2fs/ext2_err.c:136 -msgid "No 'previous' extent" -msgstr "Brak ekstentu poprzedniego" - -#: lib/ext2fs/ext2_err.c:137 -msgid "No 'up' extent" -msgstr "Brak ekstentu 'w górÄ™'" - -#: lib/ext2fs/ext2_err.c:138 -msgid "No 'down' extent" -msgstr "Brak ekstentu 'w dół'" - -#: lib/ext2fs/ext2_err.c:139 -msgid "No current node" -msgstr "Brak bieżącego wÄ™zÅ‚a" - -#: lib/ext2fs/ext2_err.c:140 -msgid "Ext2fs operation not supported" -msgstr "Operacja ext2fs nie obsÅ‚ugiwana" - -#: lib/ext2fs/ext2_err.c:141 -msgid "No room to insert extent in node" -msgstr "Brak miejsca na wstawienie ekstentu w węźle" - -#: lib/ext2fs/ext2_err.c:142 -msgid "Splitting would result in empty node" -msgstr "Podzielenie utworzyÅ‚oby pusty wÄ™zeÅ‚" - -#: lib/ext2fs/ext2_err.c:143 -msgid "Extent not found" -msgstr "Nie znaleziono ekstentu" - -#: lib/ext2fs/ext2_err.c:144 -msgid "Operation not supported for inodes containing extents" -msgstr "Operacja nie obsÅ‚ugiwana dla i-wÄ™złów zawierajÄ…cych ekstenty" - -#: lib/ext2fs/ext2_err.c:145 -msgid "Extent length is invalid" -msgstr "BÅ‚Ä™dna dÅ‚ugość ekstentu" - -#: lib/ext2fs/ext2_err.c:146 -msgid "I/O Channel does not support 64-bit block numbers" -msgstr "KanaÅ‚ we/wy nie obsÅ‚uguje 64-bitowych numerów bloków" - -#: lib/ext2fs/ext2_err.c:147 -msgid "Can't check if filesystem is mounted due to missing mtab file" -msgstr "Nie można sprawdzić, czy system plików jest zamontowany z powodu braku pliku mtab" - -#: lib/ext2fs/ext2_err.c:148 -msgid "Filesystem too large to use legacy bitmaps" -msgstr "System plików zbyt duży, aby użyć bitmap starego typu" - -#: lib/ext2fs/ext2_err.c:149 -msgid "MMP: invalid magic number" -msgstr "MMP: bÅ‚Ä™dna liczba magiczna" - -#: lib/ext2fs/ext2_err.c:150 -msgid "MMP: device currently active" -msgstr "MMP: urzÄ…dzenie obecnie aktywne" - -#: lib/ext2fs/ext2_err.c:151 -msgid "MMP: fsck being run" -msgstr "MMP: fsck jest uruchomiony" - -#: lib/ext2fs/ext2_err.c:152 -msgid "MMP: block number beyond filesystem range" -msgstr "MMP: numer bloku poza zakresem systemu plików" - -#: lib/ext2fs/ext2_err.c:153 -msgid "MMP: undergoing an unknown operation" -msgstr "MMP: wykonywana jest nieznana operacja" - -#: lib/ext2fs/ext2_err.c:154 -msgid "MMP: filesystem still in use" -msgstr "MMP: system plików nadal w użyciu" - -#: lib/ext2fs/ext2_err.c:155 -msgid "MMP: open with O_DIRECT failed" -msgstr "MMP: otwarcie z flagÄ… O_DIRECT nie powiodÅ‚o siÄ™" - -#: lib/ext2fs/ext2_err.c:156 -msgid "Block group descriptor size incorrect" -msgstr "Niepoprawny rozmiar deskryptora grupy bloków" - -#: lib/ext2fs/ext2_err.c:157 -msgid "Inode checksum does not match inode" -msgstr "Suma kontrolna i-wÄ™zÅ‚a nie zgadza siÄ™ z i-wÄ™zÅ‚em" - -#: lib/ext2fs/ext2_err.c:158 -msgid "Inode bitmap checksum does not match bitmap" -msgstr "Suma kontrolna bitmapy i-wÄ™złów nie zgadza siÄ™ z bitmapÄ…" - -#: lib/ext2fs/ext2_err.c:159 -msgid "Extent block checksum does not match extent block" -msgstr "Suma kontrolna bloku ekstentów nie zgadza siÄ™ z blokiem ekstentów" - -#: lib/ext2fs/ext2_err.c:160 -msgid "Directory block does not have space for checksum" -msgstr "Blok katalogu nie ma miejsca na sumÄ™ kontrolnÄ…" - -#: lib/ext2fs/ext2_err.c:161 -msgid "Directory block checksum does not match directory block" -msgstr "Suma kontrolna bloku katalogu nie zgadza siÄ™ z blokiem katalogu" - -#: lib/ext2fs/ext2_err.c:162 -msgid "Extended attribute block checksum does not match block" -msgstr "Sumar kontrolna bloku rozszerzonych atrybutów nie zgadza siÄ™ z blokiem" - -#: lib/ext2fs/ext2_err.c:163 -msgid "Superblock checksum does not match superblock" -msgstr "Suma kontrolna superbloku nie zgadza siÄ™ z superblokiem" - -#: lib/ext2fs/ext2_err.c:164 -msgid "Unknown checksum algorithm" -msgstr "Nieznany algorytm sumy kontrolnej" - -#: lib/ext2fs/ext2_err.c:165 -msgid "MMP block checksum does not match MMP block" -msgstr "Suma kontrolna bloku MMP nie zgadza siÄ™ z blokiem MMP" - -#: lib/ext2fs/ext2_err.c:166 -msgid "Ext2 file already exists" -msgstr "Plik ext2 już istnieje" - -#: e2fsck/prof_err.c:11 -msgid "Profile version 0.0" -msgstr "Profil w wersji 0.0" - -#: e2fsck/prof_err.c:12 -msgid "Bad magic value in profile_node" -msgstr "BÅ‚Ä™dna wartość magiczna w profile_node" - -#: e2fsck/prof_err.c:13 -msgid "Profile section not found" -msgstr "Nie znaleziono sekcji profilu" - -#: e2fsck/prof_err.c:14 -msgid "Profile relation not found" -msgstr "Nie znaleziono relacji profilu" - -#: e2fsck/prof_err.c:15 -msgid "Attempt to add a relation to node which is not a section" -msgstr "Próba dodania relacji do wÄ™zÅ‚a, który nie jest sekcjÄ…" - -#: e2fsck/prof_err.c:16 -msgid "A profile section header has a non-zero value" -msgstr "Nagłówek sekcji profilu ma niezerowÄ… wartość" - -#: e2fsck/prof_err.c:17 -msgid "Bad linked list in profile structures" -msgstr "BÅ‚Ä™dna lista w strukturach profilu" - -#: e2fsck/prof_err.c:18 -msgid "Bad group level in profile structures" -msgstr "BÅ‚Ä™dny poziom grupy w strukturach profilu" - -#: e2fsck/prof_err.c:19 -msgid "Bad parent pointer in profile structures" -msgstr "BÅ‚Ä™dny wskaźnik rodzica w strukturach profilu" - -#: e2fsck/prof_err.c:20 -msgid "Bad magic value in profile iterator" -msgstr "BÅ‚Ä™dna wartość magiczna w iteratorze profilu" - -#: e2fsck/prof_err.c:21 -msgid "Can't set value on section node" -msgstr "Nie można ustawić wartoÅ›ci w węźle sekcji" - -#: e2fsck/prof_err.c:22 -msgid "Invalid argument passed to profile library" -msgstr "BÅ‚Ä™dny argument przekazany do biblioteki profilu" - -#: e2fsck/prof_err.c:23 -msgid "Attempt to modify read-only profile" -msgstr "Próba zmodyfikowania profilu tylko do odczytu" - -#: e2fsck/prof_err.c:24 -msgid "Profile section header not at top level" -msgstr "Nagłówek sekcji profilu nie na najwyższym poziomie" - -#: e2fsck/prof_err.c:25 -msgid "Syntax error in profile section header" -msgstr "BÅ‚Ä…d skÅ‚adni w nagłówku sekcji profilu" - -#: e2fsck/prof_err.c:26 -msgid "Syntax error in profile relation" -msgstr "BÅ‚Ä…d skÅ‚adni w relacji profilu" - -#: e2fsck/prof_err.c:27 -msgid "Extra closing brace in profile" -msgstr "Nadmiarowy nawias zamykajÄ…cy w profilu" - -#: e2fsck/prof_err.c:28 -msgid "Missing open brace in profile" -msgstr "BrakujÄ…cy nawias otwierajÄ…cy w profilu" - -#: e2fsck/prof_err.c:29 -msgid "Bad magic value in profile_t" -msgstr "BÅ‚Ä™dna wartość magiczna w profile_t" - -#: e2fsck/prof_err.c:30 -msgid "Bad magic value in profile_section_t" -msgstr "BÅ‚Ä™dna wartość magiczna w profile_section_t" - -#: e2fsck/prof_err.c:31 -msgid "Iteration through all top level section not supported" -msgstr "Iterowanie poprzez wszystkie sekcje najwyższego poziomu nie jest obsÅ‚ugiwane" - -#: e2fsck/prof_err.c:32 -msgid "Invalid profile_section object" -msgstr "BÅ‚Ä™dny obiekt profile_section" - -#: e2fsck/prof_err.c:33 -msgid "No more sections" -msgstr "Nie ma wiÄ™cej sekcji" - -#: e2fsck/prof_err.c:34 -msgid "Bad nameset passed to query routine" -msgstr "BÅ‚Ä™dny nameset przekazany do funkcji odpytujÄ…cej" - -#: e2fsck/prof_err.c:35 -msgid "No profile file open" -msgstr "Brak otwartego pliku profilu" - -#: e2fsck/prof_err.c:36 -msgid "Bad magic value in profile_file_t" -msgstr "BÅ‚Ä™dna wartość magiczna w profile_file_t" - -#: e2fsck/prof_err.c:37 -msgid "Couldn't open profile file" -msgstr "Nie udaÅ‚o siÄ™ otworzyć pliku profilu" - -#: e2fsck/prof_err.c:38 -msgid "Section already exists" -msgstr "Sekcja już istnieje" - -#: e2fsck/prof_err.c:39 -msgid "Invalid boolean value" -msgstr "BÅ‚Ä™dna wartość logiczna" - -#: e2fsck/prof_err.c:40 -msgid "Invalid integer value" -msgstr "BÅ‚Ä™dna wartość caÅ‚kowita" - -#: e2fsck/prof_err.c:41 -msgid "Bad magic value in profile_file_data_t" -msgstr "BÅ‚Ä™dna wartość magiczna w profile_file_data_t" - -#~ msgid "Clearing extent flag not supported on %s" -#~ msgstr "Usuwanie flagi ekstentów nie jest obsÅ‚ugiwane na %s" - -#~ msgid "" -#~ "%s: The combination of flex_bg and\n" -#~ "\t!resize_inode features is not supported by resize2fs.\n" -#~ msgstr "" -#~ "%s: Kombinacja cech flex_bg i\n" -#~ "\t!resize_inode nie jest obsÅ‚ugiwana przez resize2fs.\n" - -#~ msgid "%s is mounted. " -#~ msgstr "%s jest zamontowany. " +msgstr "Nigdy siê nie powinno zdarzyæ: i-wêze³ zmiany rozmiaru uszkodzony!\n" diff --git a/po/sv.gmo b/po/sv.gmo index a80b02e1..fb1327ee 100644 Binary files a/po/sv.gmo and b/po/sv.gmo differ diff --git a/po/sv.po b/po/sv.po index f21038f4..5f3ffa9d 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1,9 +1,9 @@ # Swedish messages for e2fsprogs. -# Copyright © 2003, 2005, 2006, 2008, 2009, 2010, 2011, 2012 Theodore Tso (msgids) +# Copyright © 2003, 2005, 2006, 2008, 2009, 2010 Theodore Tso (msgids) # This file is distributed under the same license as the e2fsprogs package. -# Göran Uddeborg , 2003, 2005, 2006, 2008, 2009, 2010, 2011, 2012. +# Göran Uddeborg , 2003, 2005, 2006, 2008, 2009, 2010. # -# $Revision: 1.74 $ +# $Revision: 1.58 $ # #. 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, @@ -65,393 +65,395 @@ #. msgid "" msgstr "" -"Project-Id-Version: e2fsprogs 1.42.8\n" +"Project-Id-Version: e2fsprogs 1.41.12\n" "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n" -"POT-Creation-Date: 2013-06-16 08:17-0400\n" -"PO-Revision-Date: 2013-08-19 22:35+0200\n" -"Last-Translator: Göran Uddeborg \n" +"POT-Creation-Date: 2010-05-17 23:05-0400\n" +"PO-Revision-Date: 2010-05-24 18:01+0200\n" +"Last-Translator: Göran Uddeborg \n" "Language-Team: Swedish \n" -"Language: sv\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: e2fsck/badblocks.c:23 misc/mke2fs.c:180 +#: e2fsck/badblocks.c:22 misc/mke2fs.c:169 #, c-format msgid "Bad block %u out of range; ignored.\n" -msgstr "DÃ¥ligt block %u utanför giltigt intervall; ignoreras.\n" +msgstr "Dåligt block %u utanför giltigt intervall; ignoreras.\n" -#: e2fsck/badblocks.c:46 +#: e2fsck/badblocks.c:45 msgid "while sanity checking the bad blocks inode" -msgstr "vid rimlighetskontroll av inoden för dÃ¥liga block" +msgstr "vid rimlighetskontroll av inoden för dåliga block" -#: e2fsck/badblocks.c:58 +#: e2fsck/badblocks.c:57 msgid "while reading the bad blocks inode" -msgstr "vid läsning av inoden för dÃ¥liga block" +msgstr "vid läsning av inoden för dåliga block" -#: e2fsck/badblocks.c:72 e2fsck/iscan.c:110 e2fsck/scantest.c:107 -#: e2fsck/unix.c:1332 e2fsck/unix.c:1420 misc/badblocks.c:1214 -#: misc/badblocks.c:1222 misc/badblocks.c:1236 misc/badblocks.c:1248 -#: misc/dumpe2fs.c:588 misc/e2image.c:1196 misc/e2image.c:1324 -#: misc/e2image.c:1337 misc/mke2fs.c:196 misc/tune2fs.c:1907 resize/main.c:315 +#: e2fsck/badblocks.c:71 e2fsck/iscan.c:112 e2fsck/scantest.c:109 +#: e2fsck/unix.c:1083 e2fsck/unix.c:1166 misc/badblocks.c:1155 +#: misc/badblocks.c:1163 misc/badblocks.c:1177 misc/badblocks.c:1189 +#: misc/dumpe2fs.c:552 misc/e2image.c:583 misc/e2image.c:679 +#: misc/e2image.c:695 misc/mke2fs.c:185 misc/tune2fs.c:1573 resize/main.c:310 #, c-format msgid "while trying to open %s" -msgstr "vid försök att öppna %s" +msgstr "vid försök att öppna %s" -#: e2fsck/badblocks.c:83 +#: e2fsck/badblocks.c:82 #, c-format msgid "while trying popen '%s'" -msgstr "vid försök att använda popen \"%s\"" +msgstr "vid försök att använda popen \"%s\"" -#: e2fsck/badblocks.c:94 misc/mke2fs.c:203 +#: e2fsck/badblocks.c:93 misc/mke2fs.c:192 msgid "while reading in list of bad blocks from file" -msgstr "vid läsning i listan över dÃ¥liga block frÃ¥n fil" +msgstr "vid läsning i listan över dåliga block från fil" -#: e2fsck/badblocks.c:105 +#: e2fsck/badblocks.c:104 msgid "while updating bad block inode" -msgstr "vid uppdatering av inoden för dÃ¥liga block" +msgstr "vid uppdatering av inoden för dåliga block" -#: e2fsck/badblocks.c:131 +#: e2fsck/badblocks.c:130 #, c-format msgid "Warning: illegal block %u found in bad block inode. Cleared.\n" -msgstr "Varning: otillÃ¥tet block %u hittat i inoden fÃ¥r dÃ¥liga block. Tömt.\n" +msgstr "Varning: otillåtet block %u hittat i inoden får dåliga block. Tömt.\n" -#: e2fsck/ehandler.c:55 +#: e2fsck/ehandler.c:54 #, c-format msgid "Error reading block %lu (%s) while %s. " -msgstr "Fel vid läsning av block %lu (%s) vid %s. " +msgstr "Fel vid läsning av block %lu (%s) vid %s. " -#: e2fsck/ehandler.c:58 +#: e2fsck/ehandler.c:57 #, c-format msgid "Error reading block %lu (%s). " -msgstr "Fel vid läsning av block %lu (%s). " +msgstr "Fel vid läsning av block %lu (%s). " -#: e2fsck/ehandler.c:61 e2fsck/ehandler.c:110 +#: e2fsck/ehandler.c:60 e2fsck/ehandler.c:109 msgid "Ignore error" msgstr "Ignorera fel" -#: e2fsck/ehandler.c:62 +#: e2fsck/ehandler.c:61 msgid "Force rewrite" msgstr "Framtvinga omskrivning" -#: e2fsck/ehandler.c:104 +#: e2fsck/ehandler.c:103 #, c-format msgid "Error writing block %lu (%s) while %s. " msgstr "Fel vid skrivning av block %lu (%s) vid %s. " -#: e2fsck/ehandler.c:107 +#: e2fsck/ehandler.c:106 #, c-format msgid "Error writing block %lu (%s). " msgstr "Fel vid skrivning av block %lu (%s). " -#: e2fsck/emptydir.c:57 +#: e2fsck/emptydir.c:56 msgid "empty dirblocks" msgstr "tomma katalogblock" -#: e2fsck/emptydir.c:62 +#: e2fsck/emptydir.c:61 msgid "empty dir map" msgstr "tom katalogkarta" -#: e2fsck/emptydir.c:98 +#: e2fsck/emptydir.c:97 #, c-format msgid "Empty directory block %u (#%d) in inode %u\n" msgstr "Tomt katalogblock %u (nr. %d) i inod %u\n" -#: e2fsck/extend.c:22 +#: e2fsck/extend.c:21 #, c-format msgid "%s: %s filename nblocks blocksize\n" msgstr "%s: %s filnamn nblock blockstorlek\n" -#: e2fsck/extend.c:44 +#: e2fsck/extend.c:43 #, c-format msgid "Illegal number of blocks!\n" -msgstr "OtillÃ¥tet antal block!\n" +msgstr "Otillåtet antal block!\n" -#: e2fsck/extend.c:50 +#: e2fsck/extend.c:49 #, c-format msgid "Couldn't allocate block buffer (size=%d)\n" msgstr "Kunde inte allokera blockbuffert (storlek=%d)\n" -#: e2fsck/flushb.c:35 +#: e2fsck/flushb.c:34 #, c-format msgid "Usage: %s disk\n" -msgstr "Användning: %s disk\n" +msgstr "Användning: %s disk\n" -#: e2fsck/flushb.c:64 +#: e2fsck/flushb.c:63 #, c-format msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n" -msgstr "BLKFLSBUF-ioctl stöds inte! Kan inte tömma buffertar.\n" +msgstr "BLKFLSBUF-ioctl stöds inte! Kan inte tömma buffertar.\n" -#: e2fsck/iscan.c:44 +#: e2fsck/iscan.c:46 #, c-format msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n" -msgstr "Användning: %s [-F] [-I inodbuffertblock] enhet\n" +msgstr "Användning: %s [-F] [-I inodbuffertblock] enhet\n" -#: e2fsck/iscan.c:81 e2fsck/unix.c:961 +#: e2fsck/iscan.c:83 e2fsck/unix.c:838 #, c-format msgid "while opening %s for flushing" -msgstr "vid öppning av %s för utskrivning" +msgstr "vid öppning av %s för utskrivning" -#: e2fsck/iscan.c:86 e2fsck/unix.c:967 resize/main.c:288 +#: e2fsck/iscan.c:88 e2fsck/unix.c:844 resize/main.c:286 #, c-format msgid "while trying to flush %s" -msgstr "vid försök att skriva ut %s" +msgstr "vid försök att skriva ut %s" -#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1091 +#: e2fsck/iscan.c:121 e2fsck/scantest.c:116 misc/e2image.c:489 msgid "while opening inode scan" -msgstr "vid öppning av inodsökning" +msgstr "vid öppning av inodsökning" -#: e2fsck/iscan.c:127 misc/e2image.c:1109 +#: e2fsck/iscan.c:129 misc/e2image.c:507 msgid "while getting next inode" -msgstr "när nästa inod hämtades" +msgstr "när nästa inod hämtades" -#: e2fsck/iscan.c:136 +#: e2fsck/iscan.c:138 #, c-format msgid "%u inodes scanned.\n" -msgstr "%u inoder genomsökta.\n" +msgstr "%u inoder genomsökta.\n" -#: e2fsck/journal.c:522 +#: e2fsck/journal.c:507 msgid "reading journal superblock\n" -msgstr "läser journalsuperblock\n" +msgstr "läser journalsuperblock\n" -#: e2fsck/journal.c:579 +#: e2fsck/journal.c:564 #, c-format msgid "%s: no valid journal superblock found\n" msgstr "%s: inget giltigt journalsuperblock hittades\n" -#: e2fsck/journal.c:588 +#: e2fsck/journal.c:573 #, c-format msgid "%s: journal too short\n" -msgstr "%s: journalen för kort\n" +msgstr "%s: journalen för kort\n" -#: e2fsck/journal.c:880 +#: e2fsck/journal.c:860 #, c-format msgid "%s: recovering journal\n" -msgstr "%s: Ã¥terhämtar journalen\n" +msgstr "%s: återhämtar journalen\n" -#: e2fsck/journal.c:882 +#: e2fsck/journal.c:862 #, c-format msgid "%s: won't do journal recovery while read-only\n" -msgstr "%s: Ã¥terhämtar inte journalen i skrivskyddat läge\n" +msgstr "%s: återhämtar inte journalen i skrivskyddat läge\n" -#: e2fsck/journal.c:909 +#: e2fsck/journal.c:887 #, c-format msgid "while trying to re-open %s" -msgstr "vid försök att Ã¥teröppna %s" - -# Första bokstaven i detta och följande meddelanden är ett index som -# används som en förkortning i andra meddelanden, och inte skrivs ut. -# Uppslagningen sker pÃ¥ det ursprungliga meddelandet, sÃ¥ det spelar -# egentligen ingen roll vilket tecken som stÃ¥r först i den översatta -# strängen. Det viktiga är att det stÃ¥r nÃ¥gon platshÃ¥llare där, första -# tecknet skrivs inte ut, vare sig i orginalsträngen eller den översatta -# strängen. Jag tyckte det var bäst att behÃ¥lla orginaltecknet. +msgstr "vid försök att återöppna %s" + +# Första bokstaven i detta och följande meddelanden är ett index som +# används som en förkortning i andra meddelanden, och inte skrivs ut. +# Uppslagningen sker på det ursprungliga meddelandet, så det spelar +# egentligen ingen roll vilket tecken som står först i den översatta +# strängen. Det viktiga är att det står någon platshållare där, första +# tecknet skrivs inte ut, vare sig i orginalsträngen eller den översatta +# strängen. Jag tyckte det var bäst att behålla orginaltecknet. # -# Jag har felrapporterat hela idén. Det innebär ju att man bygger ihop -# meningar frÃ¥n delar, och det brukar ju gÃ¥ sönder i översättningar med -# olika genus och dylikt. Men författaren har en del bra argument om -# att förkortningssystemet är en fördel när man skall fÃ¥ plats med sÃ¥ -# mycket som möjligt pÃ¥ en räddningsdiskett. I det fallet är ändÃ¥ -# knappast översättningar med. SÃ¥ den bästa lösningen är nog att lÃ¥ta -# systemet som sÃ¥dant finnas kvar, men inte använda det alls i översatta +# Jag har felrapporterat hela idén. Det innebär ju att man bygger ihop +# meningar från delar, och det brukar ju gå sönder i översättningar med +# olika genus och dylikt. Men författaren har en del bra argument om +# att förkortningssystemet är en fördel när man skall få plats med så +# mycket som möjligt på en räddningsdiskett. I det fallet är ändå +# knappast översättningar med. Så den bästa lösningen är nog att låta +# systemet som sådant finnas kvar, men inte använda det alls i översatta # meddelanden. -#: e2fsck/message.c:113 +#: e2fsck/message.c:111 msgid "aextended attribute" -msgstr "autökat attribut" +msgstr "autökat attribut" -#: e2fsck/message.c:114 +#: e2fsck/message.c:112 msgid "Aerror allocating" msgstr "Afel vid allokering" -#: e2fsck/message.c:115 +#: e2fsck/message.c:113 msgid "bblock" msgstr "bblock" -#: e2fsck/message.c:116 +#: e2fsck/message.c:114 msgid "Bbitmap" msgstr "Bbitkarta" -#: e2fsck/message.c:117 +#: e2fsck/message.c:115 msgid "ccompress" msgstr "ckomprimera" -#: e2fsck/message.c:118 +#: e2fsck/message.c:116 msgid "Cconflicts with some other fs @b" -msgstr "Ckonflikt med nÃ¥got annat fs @b" +msgstr "Ckonflikt med något annat fs @b" -#: e2fsck/message.c:119 +#: e2fsck/message.c:117 msgid "iinode" msgstr "iinod" -#: e2fsck/message.c:120 +#: e2fsck/message.c:118 msgid "Iillegal" -msgstr "IotillÃ¥ten" +msgstr "Iotillåten" -#: e2fsck/message.c:121 +#: e2fsck/message.c:119 msgid "jjournal" msgstr "jjournal" -#: e2fsck/message.c:122 +#: e2fsck/message.c:120 msgid "Ddeleted" msgstr "Draderad" -#: e2fsck/message.c:123 +#: e2fsck/message.c:121 msgid "ddirectory" msgstr "dkatalog" -#: e2fsck/message.c:124 +#: e2fsck/message.c:122 msgid "eentry" msgstr "epost" -#: e2fsck/message.c:125 +#: e2fsck/message.c:123 msgid "E@e '%Dn' in %p (%i)" msgstr "Epost \"%Dn\" i %p (%i)" -#: e2fsck/message.c:126 +#: e2fsck/message.c:124 msgid "ffilesystem" msgstr "ffilsystem" -#: e2fsck/message.c:127 +#: e2fsck/message.c:125 msgid "Ffor @i %i (%Q) is" -msgstr "Fför inod %i (%Q) är" +msgstr "Fför inod %i (%Q) är" -#: e2fsck/message.c:128 +#: e2fsck/message.c:126 msgid "ggroup" msgstr "ggrupp" -#: e2fsck/message.c:129 +#: e2fsck/message.c:127 msgid "hHTREE @d @i" msgstr "hHTREE katalog-inod" -#: e2fsck/message.c:130 +#: e2fsck/message.c:128 msgid "llost+found" msgstr "llost+found" -#: e2fsck/message.c:131 +#: e2fsck/message.c:129 msgid "Lis a link" -msgstr "Lär en länk" +msgstr "Lär en länk" -#: e2fsck/message.c:132 +#: e2fsck/message.c:130 msgid "mmultiply-claimed" -msgstr "mflerfaldigt iansprÃ¥kstagna" +msgstr "mflerfaldigt ianspråkstagna" -#: e2fsck/message.c:133 +#: e2fsck/message.c:131 msgid "ninvalid" msgstr "nogiltig" -#: e2fsck/message.c:134 +#: e2fsck/message.c:132 msgid "oorphaned" -msgstr "oföräldralös" +msgstr "oföräldralös" -#: e2fsck/message.c:135 +#: e2fsck/message.c:133 msgid "pproblem in" msgstr "pproblem i" -#: e2fsck/message.c:136 -msgid "qquota" -msgstr "qkvot" - -#: e2fsck/message.c:137 +#: e2fsck/message.c:134 msgid "rroot @i" msgstr "rrotinod" -#: e2fsck/message.c:138 +#: e2fsck/message.c:135 msgid "sshould be" msgstr "sskulle varit" -#: e2fsck/message.c:139 +#: e2fsck/message.c:136 msgid "Ssuper@b" msgstr "Ssuperblock" -#: e2fsck/message.c:140 +#: e2fsck/message.c:137 msgid "uunattached" -msgstr "ulös" +msgstr "ulös" -#: e2fsck/message.c:141 +#: e2fsck/message.c:138 msgid "vdevice" msgstr "venhet" -#: e2fsck/message.c:142 +#: e2fsck/message.c:139 msgid "xextent" -msgstr "xutsträckning" +msgstr "xutsträckning" -#: e2fsck/message.c:143 +#: e2fsck/message.c:140 msgid "zzero-length" -msgstr "znollängds" +msgstr "znollängds" -#: e2fsck/message.c:154 +#: e2fsck/message.c:151 msgid "" msgstr "" -#: e2fsck/message.c:155 +#: e2fsck/message.c:152 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:157 -msgid "" -msgstr "" +#: e2fsck/message.c:154 +msgid "" +msgstr "" -#: e2fsck/message.c:158 -msgid "" -msgstr "" +#: e2fsck/message.c:155 +msgid "" +msgstr "" -#: e2fsck/message.c:159 +#: e2fsck/message.c:156 msgid "" msgstr "" -#: e2fsck/message.c:160 +#: e2fsck/message.c:157 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:161 +#: e2fsck/message.c:158 msgid "" msgstr "" -#: e2fsck/message.c:162 +#: e2fsck/message.c:159 msgid "" msgstr "" -#: e2fsck/message.c:163 +#: e2fsck/message.c:160 msgid "" msgstr "" -#: e2fsck/message.c:164 +#: e2fsck/message.c:161 msgid "" msgstr "" -#: e2fsck/message.c:333 +#: e2fsck/message.c:330 +#, c-format msgid "regular file" msgstr "normal fil" -#: e2fsck/message.c:335 +#: e2fsck/message.c:332 +#, c-format msgid "directory" msgstr "katalog" -#: e2fsck/message.c:337 +#: e2fsck/message.c:334 +#, c-format msgid "character device" msgstr "teckenenhet" -#: e2fsck/message.c:339 +#: e2fsck/message.c:336 +#, c-format msgid "block device" msgstr "blockenhet" -#: e2fsck/message.c:341 +#: e2fsck/message.c:338 +#, c-format msgid "named pipe" -msgstr "namngivet rör" +msgstr "namngivet rör" -#: e2fsck/message.c:343 +#: e2fsck/message.c:340 +#, c-format msgid "symbolic link" -msgstr "symbolisk länk" +msgstr "symbolisk länk" -#: e2fsck/message.c:345 misc/uuidd.c:161 +#: e2fsck/message.c:342 +#, c-format msgid "socket" msgstr "uttag (socket)" -#: e2fsck/message.c:347 +#: e2fsck/message.c:344 #, c-format msgid "unknown file type with mode 0%o" -msgstr "okänd filtyp med typ 0%o" +msgstr "okänd filtyp med typ 0%o" #: e2fsck/message.c:422 msgid "indirect block" @@ -467,320 +469,320 @@ msgstr "trippelt indirekt block" #: e2fsck/message.c:428 msgid "translator block" -msgstr "översättningsblock" +msgstr "översättningsblock" #: e2fsck/message.c:430 msgid "block #" msgstr "block nr." -#: e2fsck/pass1b.c:222 +#: e2fsck/pass1b.c:220 msgid "multiply claimed inode map" -msgstr "karta över flerfaldigt i ansprÃ¥kstagna inoder" +msgstr "karta över flerfaldigt i anspråkstagna inoder" -#: e2fsck/pass1b.c:610 e2fsck/pass1b.c:730 +#: e2fsck/pass1b.c:581 e2fsck/pass1b.c:714 #, c-format -msgid "internal error: can't find dup_blk for %llu\n" -msgstr "internt fel: kan inte hitta dup_blk för %llu\n" +msgid "internal error: can't find dup_blk for %u\n" +msgstr "internt fel: kan inte hitta dup_blk för %u\n" -#: e2fsck/pass1b.c:821 +#: e2fsck/pass1b.c:757 msgid "returned from clone_file_block" -msgstr "Ã¥tervände frÃ¥n clone_file_block" +msgstr "återvände från clone_file_block" -#: e2fsck/pass1b.c:843 +#: e2fsck/pass1b.c:776 #, c-format -msgid "internal error: couldn't lookup EA block record for %llu" -msgstr "internt fel: det gick inte att slÃ¥ upp EA-blockpost för %llu" +msgid "internal error: couldn't lookup EA block record for %u" +msgstr "internt fel; det gick inte att slå upp EA-blockpost för %u" -#: e2fsck/pass1b.c:855 +#: e2fsck/pass1b.c:788 #, c-format msgid "internal error: couldn't lookup EA inode record for %u" -msgstr "internt fel: det gick inte att slÃ¥ upp EA-inodpost för %u" +msgstr "internt fel: det gick inte att slå upp EA-inodpost för %u" -#: e2fsck/pass1.c:475 e2fsck/pass2.c:782 +#: e2fsck/pass1.c:475 e2fsck/pass2.c:776 msgid "reading directory block" -msgstr "läser katalogblock" +msgstr "läser katalogblock" -#: e2fsck/pass1.c:598 +#: e2fsck/pass1.c:597 msgid "in-use inode map" -msgstr "karta över använda inoder" +msgstr "karta över använda inoder" -#: e2fsck/pass1.c:609 +#: e2fsck/pass1.c:606 msgid "directory inode map" msgstr "kataloginodskarta" -#: e2fsck/pass1.c:619 +#: e2fsck/pass1.c:614 msgid "regular file inode map" -msgstr "inodskarta över reguljära filer" +msgstr "inodskarta över reguljära filer" -#: e2fsck/pass1.c:628 +#: e2fsck/pass1.c:621 msgid "in-use block map" -msgstr "karta över använda block" +msgstr "karta över använda block" -#: e2fsck/pass1.c:695 +#: e2fsck/pass1.c:675 msgid "opening inode scan" -msgstr "öppnar inodsökning" +msgstr "öppnar inodsökning" -#: e2fsck/pass1.c:729 +#: e2fsck/pass1.c:699 msgid "getting next inode from scan" -msgstr "hämtar nästa inod frÃ¥n sökning" +msgstr "hämtar nästa inod från sökning" -#: e2fsck/pass1.c:1239 +#: e2fsck/pass1.c:1173 msgid "Pass 1" msgstr "Pass 1" -#: e2fsck/pass1.c:1296 +#: e2fsck/pass1.c:1230 #, c-format msgid "reading indirect blocks of inode %u" -msgstr "läser indirektblock för inod %u" +msgstr "läser indirektblock för inod %u" -#: e2fsck/pass1.c:1346 +#: e2fsck/pass1.c:1274 msgid "bad inode map" -msgstr "karta över dÃ¥liga inoder" +msgstr "karta över dåliga inoder" -#: e2fsck/pass1.c:1369 +#: e2fsck/pass1.c:1296 msgid "inode in bad block map" -msgstr "inod i karta över dÃ¥liga block" +msgstr "inod i karta över dåliga block" -#: e2fsck/pass1.c:1389 +#: e2fsck/pass1.c:1316 msgid "imagic inode map" msgstr "imagic inodskarta" -#: e2fsck/pass1.c:1416 +#: e2fsck/pass1.c:1343 msgid "multiply claimed block map" -msgstr "karta över flerfaldigt i ansprÃ¥kstagna block" +msgstr "karta över flerfaldigt i anspråkstagna block" -#: e2fsck/pass1.c:1527 +#: e2fsck/pass1.c:1443 msgid "ext attr block map" -msgstr "karta över block för utökade attribut" +msgstr "karta över block för utökade attribut" -#: e2fsck/pass1.c:2299 +#: e2fsck/pass1.c:2181 #, c-format msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n" -msgstr "%6lu(%c): förväntade %6lu fick fys %6lu (blkant %lld)\n" +msgstr "%6lu(%c): förväntade %6lu fick fys %6lu (blkant %lld)\n" -#: e2fsck/pass1.c:2660 +#: e2fsck/pass1.c:2533 msgid "block bitmap" msgstr "blockbitkarta" -#: e2fsck/pass1.c:2666 +#: e2fsck/pass1.c:2537 msgid "inode bitmap" msgstr "inodbitkarta" -#: e2fsck/pass1.c:2672 +#: e2fsck/pass1.c:2541 msgid "inode table" msgstr "inodstabell" -#: e2fsck/pass2.c:283 +#: e2fsck/pass2.c:277 msgid "Pass 2" msgstr "Pass 2" -#: e2fsck/pass2.c:805 +#: e2fsck/pass2.c:799 msgid "Can not continue." -msgstr "Kan inte fortsätta." +msgstr "Kan inte fortsätta." -#: e2fsck/pass3.c:77 +#: e2fsck/pass3.c:76 msgid "inode done bitmap" msgstr "inod klar bitkarta" -#: e2fsck/pass3.c:86 +#: e2fsck/pass3.c:84 msgid "Peak memory" msgstr "Max minne" -#: e2fsck/pass3.c:136 +#: e2fsck/pass3.c:134 msgid "Pass 3" msgstr "Pass 3" -#: e2fsck/pass3.c:322 +#: e2fsck/pass3.c:320 msgid "inode loop detection bitmap" -msgstr "bitkarta för upptäckt av inodsslingor" +msgstr "bitkarta för upptäckt av inodsslingor" -#: e2fsck/pass4.c:196 +#: e2fsck/pass4.c:191 msgid "Pass 4" msgstr "Pass 4" -#: e2fsck/pass5.c:74 +#: e2fsck/pass5.c:64 msgid "Pass 5" msgstr "Pass 5" -#: e2fsck/problem.c:51 +#: e2fsck/problem.c:50 msgid "(no prompt)" msgstr "(ingen prompt)" -#: e2fsck/problem.c:52 +#: e2fsck/problem.c:51 msgid "Fix" msgstr "Fixa" -#: e2fsck/problem.c:53 +#: e2fsck/problem.c:52 msgid "Clear" -msgstr "Töm" +msgstr "Töm" -#: e2fsck/problem.c:54 +#: e2fsck/problem.c:53 msgid "Relocate" msgstr "Relokera" -#: e2fsck/problem.c:55 +#: e2fsck/problem.c:54 msgid "Allocate" msgstr "Allokera" -#: e2fsck/problem.c:56 +#: e2fsck/problem.c:55 msgid "Expand" msgstr "Expandera" -#: e2fsck/problem.c:57 +#: e2fsck/problem.c:56 msgid "Connect to /lost+found" msgstr "Koppla till /lost+found" -#: e2fsck/problem.c:58 +#: e2fsck/problem.c:57 msgid "Create" msgstr "Skapa" -#: e2fsck/problem.c:59 +#: e2fsck/problem.c:58 msgid "Salvage" -msgstr "Rädda" +msgstr "Rädda" -#: e2fsck/problem.c:60 +#: e2fsck/problem.c:59 msgid "Truncate" msgstr "Kapa" -#: e2fsck/problem.c:61 +#: e2fsck/problem.c:60 msgid "Clear inode" -msgstr "Töm inod" +msgstr "Töm inod" -#: e2fsck/problem.c:62 +#: e2fsck/problem.c:61 msgid "Abort" msgstr "Avbryt" -#: e2fsck/problem.c:63 +#: e2fsck/problem.c:62 msgid "Split" msgstr "Dela" -#: e2fsck/problem.c:64 +#: e2fsck/problem.c:63 msgid "Continue" -msgstr "Fortsätt" +msgstr "Fortsätt" -#: e2fsck/problem.c:65 +#: e2fsck/problem.c:64 msgid "Clone multiply-claimed blocks" -msgstr "Klona flerfaldigt iansprÃ¥kstagna block" +msgstr "Klona flerfaldigt ianspråkstagna block" -#: e2fsck/problem.c:66 +#: e2fsck/problem.c:65 msgid "Delete file" msgstr "Ta bort fil" -#: e2fsck/problem.c:67 +#: e2fsck/problem.c:66 msgid "Suppress messages" msgstr "Undertryck meddelanden" -#: e2fsck/problem.c:68 +#: e2fsck/problem.c:67 msgid "Unlink" -msgstr "Avlänka" +msgstr "Avlänka" -#: e2fsck/problem.c:69 +#: e2fsck/problem.c:68 msgid "Clear HTree index" -msgstr "Töm HTree-index" +msgstr "Töm HTree-index" -#: e2fsck/problem.c:70 +#: e2fsck/problem.c:69 msgid "Recreate" -msgstr "Ã…terskapa" +msgstr "Återskapa" -#: e2fsck/problem.c:79 +#: e2fsck/problem.c:78 msgid "(NONE)" msgstr "(INGET)" -#: e2fsck/problem.c:80 +#: e2fsck/problem.c:79 msgid "FIXED" msgstr "FIXAT" -#: e2fsck/problem.c:81 +#: e2fsck/problem.c:80 msgid "CLEARED" -msgstr "TÖMD" +msgstr "TÖMD" -#: e2fsck/problem.c:82 +#: e2fsck/problem.c:81 msgid "RELOCATED" msgstr "RELOKERAT" -#: e2fsck/problem.c:83 +#: e2fsck/problem.c:82 msgid "ALLOCATED" msgstr "ALLOKERAT" -#: e2fsck/problem.c:84 +#: e2fsck/problem.c:83 msgid "EXPANDED" msgstr "EXPANDERAD" -#: e2fsck/problem.c:85 +#: e2fsck/problem.c:84 msgid "RECONNECTED" -msgstr "Ã…TERKOPPLAD" +msgstr "ÅTERKOPPLAD" -#: e2fsck/problem.c:86 +#: e2fsck/problem.c:85 msgid "CREATED" msgstr "SKAPAD" -#: e2fsck/problem.c:87 +#: e2fsck/problem.c:86 msgid "SALVAGED" -msgstr "RÄDDAD" +msgstr "RÄDDAD" -#: e2fsck/problem.c:88 +#: e2fsck/problem.c:87 msgid "TRUNCATED" msgstr "KAPAT" -#: e2fsck/problem.c:89 +#: e2fsck/problem.c:88 msgid "INODE CLEARED" -msgstr "INOD TÖMD" +msgstr "INOD TÖMD" -#: e2fsck/problem.c:90 +#: e2fsck/problem.c:89 msgid "ABORTED" msgstr "AVBRUTET" -#: e2fsck/problem.c:91 +#: e2fsck/problem.c:90 msgid "SPLIT" msgstr "DELAD" -#: e2fsck/problem.c:92 +#: e2fsck/problem.c:91 msgid "CONTINUING" -msgstr "FORTSÄTTER" +msgstr "FORTSÄTTER" -#: e2fsck/problem.c:93 +#: e2fsck/problem.c:92 msgid "MULTIPLY-CLAIMED BLOCKS CLONED" -msgstr "FLERFALDIG IANSPRÃ…KSTAGNA BLOCK KLONADE" +msgstr "FLERFALDIG IANSPRÅKSTAGNA BLOCK KLONADE" -#: e2fsck/problem.c:94 +#: e2fsck/problem.c:93 msgid "FILE DELETED" msgstr "FIL BORTTAGEN" -#: e2fsck/problem.c:95 +#: e2fsck/problem.c:94 msgid "SUPPRESSED" msgstr "UNDERTRYCKT" -#: e2fsck/problem.c:96 +#: e2fsck/problem.c:95 msgid "UNLINKED" -msgstr "AVLÄNKAD" +msgstr "AVLÄNKAD" -#: e2fsck/problem.c:97 +#: e2fsck/problem.c:96 msgid "HTREE INDEX CLEARED" -msgstr "HTREE-INDEX TÖMT" +msgstr "HTREE-INDEX TÖMT" -#: e2fsck/problem.c:98 +#: e2fsck/problem.c:97 msgid "WILL RECREATE" -msgstr "KOMMER Ã…TERSKAPA" +msgstr "KOMMER ÅTERSKAPA" #. @-expanded: block bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:107 +#: e2fsck/problem.c:106 msgid "@b @B for @g %g is not in @g. (@b %b)\n" -msgstr "blockbitkarta för grupp %g är inte i gruppen. (block %b)\n" +msgstr "blockbitkarta för grupp %g är inte i gruppen. (block %b)\n" #. @-expanded: inode bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:111 +#: e2fsck/problem.c:110 msgid "@i @B for @g %g is not in @g. (@b %b)\n" -msgstr "inodsbitkarta för grupp %g är inte i gruppen. (block %b)\n" +msgstr "inodsbitkarta för grupp %g är inte i gruppen. (block %b)\n" #. @-expanded: inode table for group %g is not in group. (block %b)\n #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n -#: e2fsck/problem.c:116 +#: e2fsck/problem.c:115 msgid "" "@i table for @g %g is not in @g. (@b %b)\n" "WARNING: SEVERE DATA LOSS POSSIBLE.\n" msgstr "" -"inodtabell för grupp %g är inte i gruppen. (block %b)\n" -"VARNING: ALLVARLIG DATAFÖRLUST ÄR MÖJLIG.\n" +"inodtabell för grupp %g är inte i gruppen. (block %b)\n" +"VARNING: ALLVARLIG DATAFÖRLUST ÄR MÖJLIG.\n" #. @-expanded: \n #. @-expanded: The superblock could not be read or does not describe a correct ext2\n @@ -789,7 +791,7 @@ msgstr "" #. @-expanded: is corrupt, and you might try running e2fsck with an alternate superblock:\n #. @-expanded: e2fsck -b %S \n #. @-expanded: \n -#: e2fsck/problem.c:122 +#: e2fsck/problem.c:121 #, c-format msgid "" "\n" @@ -801,10 +803,10 @@ msgid "" "\n" msgstr "" "\n" -"Superblocket kunde inte läsas eller beskriver inte ett korrekt\n" -"ext2-filsystem. Om enheten är giltig och den verkligen innehÃ¥ller ett\n" -"ext2-filsystem (och inte växlingsutrymme eller ufs eller nÃ¥got annat)\n" -"är superblocket trasigt, och du kan försöka köra med ett alternativt\n" +"Superblocket kunde inte läsas eller beskriver inte ett korrekt\n" +"ext2-filsystem. Om enheten är giltig och den verkligen innehåller ett\n" +"ext2-filsystem (och inte växlingsutrymme eller ufs eller något annat)\n" +"är superblocket trasigt, och du kan försöka köra med ett alternativt\n" "superblock:\n" " e2fsck -b %S \n" "\n" @@ -812,48 +814,48 @@ msgstr "" #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n #. @-expanded: The physical size of the device is %c blocks\n #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n -#: e2fsck/problem.c:131 +#: e2fsck/problem.c:130 msgid "" "The @f size (according to the @S) is %b @bs\n" "The physical size of the @v is %c @bs\n" "Either the @S or the partition table is likely to be corrupt!\n" msgstr "" -"Filsystemsstorleken (enligt superblocket) är %b block\n" -"Den fysiska storleken pÃ¥ enheten är %c block\n" -"Superblocket eller partitionstabellen är förmodligen trasig!\n" +"Filsystemsstorleken (enligt superblocket) är %b block\n" +"Den fysiska storleken på enheten är %c block\n" +"Superblocket eller partitionstabellen är förmodligen trasig!\n" #. @-expanded: superblock block_size = %b, fragsize = %c.\n #. @-expanded: This version of e2fsck does not support fragment sizes different\n #. @-expanded: from the block size.\n -#: e2fsck/problem.c:138 +#: e2fsck/problem.c:137 msgid "" "@S @b_size = %b, fragsize = %c.\n" "This version of e2fsck does not support fragment sizes different\n" "from the @b size.\n" msgstr "" "Superblockets blockstorlek = %b, fragmentstorlek = %c.\n" -"Denna version av e2fsck stödjer inte andra fragmentstorlekar än\n" +"Denna version av e2fsck stödjer inte andra fragmentstorlekar än\n" "blockstorleken.\n" #. @-expanded: superblock blocks_per_group = %b, should have been %c\n -#: e2fsck/problem.c:145 +#: e2fsck/problem.c:144 msgid "@S @bs_per_group = %b, should have been %c\n" msgstr "Superblockets block per grupp = %b, skulle ha varit %c\n" #. @-expanded: superblock first_data_block = %b, should have been %c\n -#: e2fsck/problem.c:150 +#: e2fsck/problem.c:149 msgid "@S first_data_@b = %b, should have been %c\n" -msgstr "Superblockets första datablock = %b, skulle ha varit %c\n" +msgstr "Superblockets första datablock = %b, skulle ha varit %c\n" #. @-expanded: filesystem did not have a UUID; generating one.\n #. @-expanded: \n -#: e2fsck/problem.c:155 +#: e2fsck/problem.c:154 msgid "" "@f did not have a UUID; generating one.\n" "\n" msgstr "filsystemet hade ingen UUID; genererar en.\n" -#: e2fsck/problem.c:160 +#: e2fsck/problem.c:159 #, c-format msgid "" "Note: if several inode or block bitmap blocks or part\n" @@ -863,160 +865,160 @@ msgid "" "the backup block group descriptors may be OK.\n" "\n" msgstr "" -"Observera: om det är flera inod- eller blockbitkarteblock eller en del\n" -"av inodstabellen som mÃ¥ste flyttas, kanske du vill köra e2fsck med\n" -"flaggan \"-b %S\" först. Problemet kan ligga bara i den primära\n" +"Observera: om det är flera inod- eller blockbitkarteblock eller en del\n" +"av inodstabellen som måste flyttas, kanske du vill köra e2fsck med\n" +"flaggan \"-b %S\" först. Problemet kan ligga bara i den primära\n" "blockgruppbeskrivaren, och reservblockgruppbeskrivaren kan vara OK.\n" "\n" #. @-expanded: Corruption found in superblock. (%s = %N).\n -#: e2fsck/problem.c:169 +#: e2fsck/problem.c:168 msgid "Corruption found in @S. (%s = %N).\n" msgstr "Skada hittad i superblock. (%s = %N).\n" #. @-expanded: Error determining size of the physical device: %m\n -#: e2fsck/problem.c:174 +#: e2fsck/problem.c:173 #, c-format msgid "Error determining size of the physical @v: %m\n" -msgstr "Fel vid bestämning av den fysiska enheten: %m\n" +msgstr "Fel vid bestämning av den fysiska enheten: %m\n" #. @-expanded: inode count in superblock is %i, should be %j.\n -#: e2fsck/problem.c:179 +#: e2fsck/problem.c:178 msgid "@i count in @S is %i, @s %j.\n" -msgstr "inodsantal i superblock är %i, skall vara %j.\n" +msgstr "inodsantal i superblock är %i, skall vara %j.\n" -#: e2fsck/problem.c:183 +#: e2fsck/problem.c:182 msgid "The Hurd does not support the filetype feature.\n" -msgstr "Hurd stödjer inte funktionen filtyp.\n" +msgstr "Hurd stödjer inte funktionen filtyp.\n" #. @-expanded: superblock has an invalid journal (inode %i).\n -#: e2fsck/problem.c:188 +#: e2fsck/problem.c:187 #, c-format msgid "@S has an @n @j (@i %i).\n" msgstr "Superblock har en ogiltig journal (inod %i).\n" #. @-expanded: External journal has multiple filesystem users (unsupported).\n -#: e2fsck/problem.c:193 +#: e2fsck/problem.c:192 msgid "External @j has multiple @f users (unsupported).\n" -msgstr "Extern journal har flera filsystemsanvändare (stödjs ej).\n" +msgstr "Extern journal har flera filsystemsanvändare (stödjs ej).\n" #. @-expanded: Can't find external journal\n -#: e2fsck/problem.c:198 +#: e2fsck/problem.c:197 msgid "Can't find external @j\n" msgstr "Kan inte hitta extern journal\n" #. @-expanded: External journal has bad superblock\n -#: e2fsck/problem.c:203 +#: e2fsck/problem.c:202 msgid "External @j has bad @S\n" -msgstr "Extern journal har dÃ¥ligt superblock\n" +msgstr "Extern journal har dåligt superblock\n" #. @-expanded: External journal does not support this filesystem\n -#: e2fsck/problem.c:208 +#: e2fsck/problem.c:207 msgid "External @j does not support this @f\n" -msgstr "Extern journal stödjer inte detta filsystem\n" +msgstr "Extern journal stödjer inte detta filsystem\n" #. @-expanded: filesystem journal superblock is unknown type %N (unsupported).\n #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal #. @-expanded: format.\n #. @-expanded: It is also possible the journal superblock is corrupt.\n -#: e2fsck/problem.c:213 +#: e2fsck/problem.c:212 msgid "" "@f @j @S is unknown type %N (unsupported).\n" "It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n" "It is also possible the @j @S is corrupt.\n" msgstr "" -"Filsystemsjournalsuperblock är av okänd typ %N (ej stött).\n" -"Det är troligt att ditt exemplar av e2fsck är gammalt och/eller inte\n" -"stödjer detta journalformat.\n" -"Det är ocksÃ¥ möjligt att journalsuperblocket är trasigt.\n" +"Filsystemsjournalsuperblock är av okänd typ %N (ej stött).\n" +"Det är troligt att ditt exemplar av e2fsck är gammalt och/eller inte\n" +"stödjer detta journalformat.\n" +"Det är också möjligt att journalsuperblocket är trasigt.\n" #. @-expanded: journal superblock is corrupt.\n -#: e2fsck/problem.c:221 +#: e2fsck/problem.c:220 msgid "@j @S is corrupt.\n" -msgstr "Journalsuperblock är trasigt.\n" +msgstr "Journalsuperblock är trasigt.\n" #. @-expanded: superblock has_journal flag is clear, but a journal %s is present.\n -#: e2fsck/problem.c:226 +#: e2fsck/problem.c:225 #, c-format msgid "@S has_@j flag is clear, but a @j %s is present.\n" -msgstr "Superblocksflagga har_journal är nollställd, men en journal %s finns.\n" +msgstr "Superblocksflagga har_journal är nollställd, men en journal %s finns.\n" #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n -#: e2fsck/problem.c:231 +#: e2fsck/problem.c:230 msgid "@S needs_recovery flag is set, but no @j is present.\n" -msgstr "Superblockflagga behöver_rättas är satt, men ingen journal finns.\n" +msgstr "Superblockflagga behöver_rättas är satt, men ingen journal finns.\n" #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n -#: e2fsck/problem.c:236 +#: e2fsck/problem.c:235 msgid "@S needs_recovery flag is clear, but @j has data.\n" -msgstr "Superblocksflagga behöver_rättas är nollställd, men journal har data.\n" +msgstr "Superblocksflagga behöver_rättas är nollställd, men journal har data.\n" #. @-expanded: Clear journal -#: e2fsck/problem.c:241 +#: e2fsck/problem.c:240 msgid "Clear @j" -msgstr "Töm journal" +msgstr "Töm journal" #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. -#: e2fsck/problem.c:246 e2fsck/problem.c:695 +#: e2fsck/problem.c:245 e2fsck/problem.c:664 msgid "@f has feature flag(s) set, but is a revision 0 @f. " -msgstr "filsystemet har funktionsflaggor satta, men är ett revision 0-filsystem. " +msgstr "filsystemet har funktionsflaggor satta, men är ett revision 0-filsystem. " #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n -#: e2fsck/problem.c:251 +#: e2fsck/problem.c:250 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" -msgstr "%s föräldralös inod %i (uid=%Iu, gid=%Ig, rättighet=%Im, storlek=%Is)\n" +msgstr "%s föräldralös inod %i (uid=%Iu, gid=%Ig, rättighet=%Im, storlek=%Is)\n" #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:256 +#: e2fsck/problem.c:255 msgid "@I %B (%b) found in @o @i %i.\n" -msgstr "Ogiltigt %B (%b) hittat i föräldralös inod %i.\n" +msgstr "Ogiltigt %B (%b) hittat i föräldralös inod %i.\n" #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:261 +#: e2fsck/problem.c:260 msgid "Already cleared %B (%b) found in @o @i %i.\n" -msgstr "Redan tömt %B (%b) hittat i föräldralös inod %i.\n" +msgstr "Redan tömt %B (%b) hittat i föräldralös inod %i.\n" #. @-expanded: illegal orphaned inode %i in superblock.\n -#: e2fsck/problem.c:266 +#: e2fsck/problem.c:265 #, c-format msgid "@I @o @i %i in @S.\n" -msgstr "Ogiltig föräldralös inod %i i superblock.\n" +msgstr "Ogiltig föräldralös inod %i i superblock.\n" #. @-expanded: illegal inode %i in orphaned inode list.\n -#: e2fsck/problem.c:271 +#: e2fsck/problem.c:270 #, c-format msgid "@I @i %i in @o @i list.\n" -msgstr "Ogiltig inod %i i föräldralös inodlista.\n" +msgstr "Ogiltig inod %i i föräldralös inodlista.\n" #. @-expanded: journal superblock has an unknown read-only feature flag set.\n -#: e2fsck/problem.c:276 +#: e2fsck/problem.c:275 msgid "@j @S has an unknown read-only feature flag set.\n" -msgstr "Journalsuperblock har okänd skrivskyddad funktionsflagga satt.\n" +msgstr "Journalsuperblock har okänd skrivskyddad funktionsflagga satt.\n" #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n -#: e2fsck/problem.c:281 +#: e2fsck/problem.c:280 msgid "@j @S has an unknown incompatible feature flag set.\n" -msgstr "Journalsuperblock har okänd inkompatibel funktionsflagga satt.\n" +msgstr "Journalsuperblock har okänd inkompatibel funktionsflagga satt.\n" #. @-expanded: journal version not supported by this e2fsck.\n -#: e2fsck/problem.c:286 +#: e2fsck/problem.c:285 msgid "@j version not supported by this e2fsck.\n" -msgstr "Journalversion stöds inte av denna e2fsck.\n" +msgstr "Journalversion stöds inte av denna e2fsck.\n" #. @-expanded: Moving journal from /%s to hidden inode.\n #. @-expanded: \n -#: e2fsck/problem.c:291 +#: e2fsck/problem.c:290 #, c-format msgid "" "Moving @j from /%s to hidden @i.\n" "\n" msgstr "" -"Flyttar journal frÃ¥n /%s till dold inod.\n" +"Flyttar journal från /%s till dold inod.\n" "\n" #. @-expanded: Error moving journal: %m\n #. @-expanded: \n -#: e2fsck/problem.c:296 +#: e2fsck/problem.c:295 #, c-format msgid "" "Error moving @j: %m\n" @@ -1028,306 +1030,276 @@ msgstr "" #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n #. @-expanded: Clearing fields beyond the V1 journal superblock...\n #. @-expanded: \n -#: e2fsck/problem.c:301 +#: e2fsck/problem.c:300 msgid "" "Found @n V2 @j @S fields (from V1 @j).\n" "Clearing fields beyond the V1 @j @S...\n" "\n" msgstr "" -"Hittade ogiltiga V2-journalsuperblockfält (frÃ¥n V1-journal).\n" -"Tömmer fält efter V1-journalsuperblock ...\n" +"Hittade ogiltiga V2-journalsuperblockfält (från V1-journal).\n" +"Tömmer fält efter V1-journalsuperblock ...\n" "\n" #. @-expanded: Run journal anyway -#: e2fsck/problem.c:307 +#: e2fsck/problem.c:306 msgid "Run @j anyway" -msgstr "Kör journal ändÃ¥" +msgstr "Kör journal ändå" #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n -#: e2fsck/problem.c:312 +#: e2fsck/problem.c:311 msgid "Recovery flag not set in backup @S, so running @j anyway.\n" -msgstr "Rättningsflagga inte satt i reservsuperblock, sÃ¥ kör journal ändÃ¥.\n" +msgstr "Rättningsflagga inte satt i reservsuperblock, så kör journal ändå.\n" #. @-expanded: Backing up journal inode block information.\n #. @-expanded: \n -#: e2fsck/problem.c:317 +#: e2fsck/problem.c:316 msgid "" "Backing up @j @i @b information.\n" "\n" msgstr "" -"Säkerhetskopierar blockinformation för journalinod.\n" +"Säkerhetskopierar blockinformation för journalinod.\n" "\n" #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n #. @-expanded: is %N; should be zero. -#: e2fsck/problem.c:322 +#: e2fsck/problem.c:321 msgid "" "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n" "is %N; @s zero. " msgstr "" "Filsystemet har inte resize_inode aktiverat, men r_reserved_gdt_blocks\n" -"är %N; skulle varit noll. " +"är %N; skulle varit noll. " #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero. -#: e2fsck/problem.c:328 +#: e2fsck/problem.c:327 msgid "Resize_@i not enabled, but the resize @i is non-zero. " -msgstr "Resize_inode är inte aktiverat, men storleksändringsinoden är inte noll. " +msgstr "Resize_inode är inte aktiverat, men storleksändringsinoden är inte noll. " #. @-expanded: Resize inode not valid. -#: e2fsck/problem.c:333 +#: e2fsck/problem.c:332 msgid "Resize @i not valid. " -msgstr "Storleksändringsinod är inte giltig. " +msgstr "Storleksändringsinod är inte giltig. " #. @-expanded: superblock last mount time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:338 +#: e2fsck/problem.c:337 msgid "" "@S last mount time (%t,\n" "\tnow = %T) is in the future.\n" msgstr "" "Superblockets senaste monteringstid (%t,\n" -"\tnu = %T) är i framtiden.\n" +"\tnu = %T) är i framtiden.\n" #. @-expanded: superblock last write time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:343 +#: e2fsck/problem.c:342 msgid "" "@S last write time (%t,\n" "\tnow = %T) is in the future.\n" msgstr "" "Superblockets senaste skrivningstid (%t,\n" -"\tnu = %T) är i framtiden.\n" +"\tnu = %T) är i framtiden.\n" #. @-expanded: superblock hint for external superblock should be %X. -#: e2fsck/problem.c:347 +#: e2fsck/problem.c:346 #, c-format msgid "@S hint for external superblock @s %X. " -msgstr "Superblocktips för externt superblock borde vara %X." +msgstr "Superblocktips för externt superblock borde vara %X." #. @-expanded: Adding dirhash hint to filesystem.\n #. @-expanded: \n -#: e2fsck/problem.c:352 +#: e2fsck/problem.c:351 msgid "" "Adding dirhash hint to @f.\n" "\n" msgstr "" -"Lägger till dirhash-tips till filsystem.\n" +"Lägger till dirhash-tips till filsystem.\n" "\n" -#. @-expanded: group descriptor %g checksum is %04x, should be %04y. -#: e2fsck/problem.c:357 -msgid "@g descriptor %g checksum is %04x, should be %04y. " -msgstr "kontrollsumma för gruppbeskrivare %g är %04x, skall vara %04y. " +#. @-expanded: group descriptor %g checksum is invalid. +#: e2fsck/problem.c:356 +#, c-format +msgid "@g descriptor %g checksum is invalid. " +msgstr "kontrollsumma för gruppbeskrivare %g är ogiltig. " #. @-expanded: group descriptor %g marked uninitialized without feature set.\n -#: e2fsck/problem.c:362 +#: e2fsck/problem.c:361 #, c-format msgid "@g descriptor %g marked uninitialized without feature set.\n" -msgstr "gruppbeskrivare %g är markerad oinitierad utan att egenskapen är satt.\n" +msgstr "gruppbeskrivare %g är markerad oinitierad utan att egenskapen är satt.\n" + +#. @-expanded: group %g block bitmap uninitialized but inode bitmap in use.\n +#: e2fsck/problem.c:366 +#, c-format +msgid "@g %g @b @B uninitialized but @i @B in use.\n" +msgstr "blockbitkarta för grupp %g oinitierad men inodsbitkarta används.\n" #. @-expanded: group descriptor %g has invalid unused inodes count %b. -#: e2fsck/problem.c:367 +#: e2fsck/problem.c:371 msgid "@g descriptor %g has invalid unused inodes count %b. " -msgstr "gruppbeskrivare %g har ogiltigt antal oanvända inoder %b. " +msgstr "gruppbeskrivare %g har ogiltigt antal oanvända inoder %b. " #. @-expanded: Last group block bitmap uninitialized. -#: e2fsck/problem.c:372 +#: e2fsck/problem.c:376 msgid "Last @g @b @B uninitialized. " msgstr "Sista gruppblockbitkarta oinitierad. " -#: e2fsck/problem.c:377 +#: e2fsck/problem.c:381 #, c-format msgid "Journal transaction %i was corrupt, replay was aborted.\n" -msgstr "Journaltransaktion %i var trasig, Ã¥teruppspelningen avbröts.\n" +msgstr "Journaltransaktion %i var trasig, återuppspelningen avbröts.\n" -#: e2fsck/problem.c:381 +#: e2fsck/problem.c:385 msgid "The test_fs flag is set (and ext4 is available). " -msgstr "Flaggan test_fs är satt (och ext4 är tillgänligt). " +msgstr "Flaggan test_fs är satt (och ext4 är tillgänligt). " #. @-expanded: superblock last mount time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set) -#: e2fsck/problem.c:386 +#: e2fsck/problem.c:390 msgid "" "@S last mount time is in the future.\n" "\t(by less than a day, probably due to the hardware clock being incorrectly set) " msgstr "" "Superblockets senaste monteringstid ligger i framtiden.\n" -"\t(med mindre än en dag, förmodligen för att hÃ¥rdvaruklockan gÃ¥r fel)" +"\t(med mindre än en dag, förmodligen för att hårdvaruklockan går fel)" #. @-expanded: superblock last write time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set). -#: e2fsck/problem.c:392 +#: e2fsck/problem.c:396 msgid "" "@S last write time is in the future.\n" "\t(by less than a day, probably due to the hardware clock being incorrectly set). " msgstr "" "Superblockets skrevs senast i framtiden.\n" -"\t(med mindre än en dag, förmodligen för att hÃ¥rdvaruklockan gÃ¥r fel)" +"\t(med mindre än en dag, förmodligen för att hårdvaruklockan går fel)" #. @-expanded: One or more block group descriptor checksums are invalid. -#: e2fsck/problem.c:398 +#: e2fsck/problem.c:402 msgid "One or more @b @g descriptor checksums are invalid. " -msgstr "Kontrollsumma för en eller flera blockgruppbeskrivare är ogiltig. " - -#. @-expanded: Setting free inodes count to %j (was %i)\n -#: e2fsck/problem.c:403 -msgid "Setting free @is count to %j (was %i)\n" -msgstr "Sätter antalet fria inoder %j (var %i)\n" - -#. @-expanded: Setting free blocks count to %c (was %b)\n -#: e2fsck/problem.c:408 -msgid "Setting free @bs count to %c (was %b)\n" -msgstr "Sätter antalet fria block till %c (var %b)\n" - -#. @-expanded: Making quota inode %i (%Q) hidden.\n -#: e2fsck/problem.c:413 -msgid "Making @q @i %i (%Q) hidden.\n" -msgstr "" -"Gör kvotinod %i (%Q) dold.\n" -"\n" - -#. @-expanded: superblock has invalid MMP block. -#: e2fsck/problem.c:418 -msgid "@S has invalid MMP block. " -msgstr "superblocket har ett felaktigt MMP-block. " - -#. @-expanded: superblock has invalid MMP magic. -#: e2fsck/problem.c:423 -msgid "@S has invalid MMP magic. " -msgstr "superblocket har ogiltigt MMP-magiskt tal. " - -#: e2fsck/problem.c:428 -#, c-format -msgid "ext2fs_open2: %m\n" -msgstr "ext2fs_open2: %m\n" - -#: e2fsck/problem.c:433 -#, c-format -msgid "ext2fs_check_desc: %m\n" -msgstr "ext2fs_check_desc: %m\n" +msgstr "Kontrollsumma för en eller flera blockgruppbeskrivare är ogiltig. " #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n -#: e2fsck/problem.c:440 +#: e2fsck/problem.c:409 msgid "Pass 1: Checking @is, @bs, and sizes\n" msgstr "Pass 1: Kontrollerar inoder, block och storlekar\n" #. @-expanded: root inode is not a directory. -#: e2fsck/problem.c:444 +#: e2fsck/problem.c:413 msgid "@r is not a @d. " -msgstr "Rootinod är inte en katalog. " +msgstr "Rootinod är inte en katalog. " #. @-expanded: root inode has dtime set (probably due to old mke2fs). -#: e2fsck/problem.c:449 +#: e2fsck/problem.c:418 msgid "@r has dtime set (probably due to old mke2fs). " -msgstr "rotinod har dtid satt (förmodligen pÃ¥ grund av gammal mke2fs). " +msgstr "rotinod har dtid satt (förmodligen på grund av gammal mke2fs). " #. @-expanded: Reserved inode %i (%Q) has invalid mode. -#: e2fsck/problem.c:454 +#: e2fsck/problem.c:423 msgid "Reserved @i %i (%Q) has @n mode. " -msgstr "Reserverad inod %i %Q har ogiltiga rättigheter. " +msgstr "Reserverad inod %i %Q har ogiltiga rättigheter. " #. @-expanded: deleted inode %i has zero dtime. -#: e2fsck/problem.c:459 +#: e2fsck/problem.c:428 #, c-format msgid "@D @i %i has zero dtime. " msgstr "Raderad inod %i har dtid noll. " #. @-expanded: inode %i is in use, but has dtime set. -#: e2fsck/problem.c:464 +#: e2fsck/problem.c:433 #, c-format msgid "@i %i is in use, but has dtime set. " -msgstr "Inod %i används, men har dtid satt. " +msgstr "Inod %i används, men har dtid satt. " #. @-expanded: inode %i is a zero-length directory. -#: e2fsck/problem.c:469 +#: e2fsck/problem.c:438 #, c-format msgid "@i %i is a @z @d. " -msgstr "Inod %i är en nollängds katalog. " +msgstr "Inod %i är en nollängds katalog. " #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:474 +#: e2fsck/problem.c:443 msgid "@g %g's @b @B at %b @C.\n" -msgstr "Grupp %g:s blockbitkarta vid %b stÃ¥r i konflikt med annat filsystemblock.\n" +msgstr "Grupp %g:s blockbitkarta vid %b står i konflikt med annat filsystemblock.\n" #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:479 +#: e2fsck/problem.c:448 msgid "@g %g's @i @B at %b @C.\n" -msgstr "Grupp %g:s inodbitkarta vid %b stÃ¥r i konflikt med annat filsystemblock.\n" +msgstr "Grupp %g:s inodbitkarta vid %b står i konflikt med annat filsystemblock.\n" #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:484 +#: e2fsck/problem.c:453 msgid "@g %g's @i table at %b @C.\n" -msgstr "Grupp %g:s inodtabell vid %b stÃ¥r i konflikt med annat filsystemblock.\n" +msgstr "Grupp %g:s inodtabell vid %b står i konflikt med annat filsystemblock.\n" #. @-expanded: group %g's block bitmap (%b) is bad. -#: e2fsck/problem.c:489 +#: e2fsck/problem.c:458 msgid "@g %g's @b @B (%b) is bad. " -msgstr "Grupp %g:s blockbitkarta (%b) Ã¥r felaktig. " +msgstr "Grupp %g:s blockbitkarta (%b) år felaktig. " #. @-expanded: group %g's inode bitmap (%b) is bad. -#: e2fsck/problem.c:494 +#: e2fsck/problem.c:463 msgid "@g %g's @i @B (%b) is bad. " -msgstr "Grupp %g:s inodbitkarta (%b) är felaktig. " +msgstr "Grupp %g:s inodbitkarta (%b) är felaktig. " #. @-expanded: inode %i, i_size is %Is, should be %N. -#: e2fsck/problem.c:499 +#: e2fsck/problem.c:468 msgid "@i %i, i_size is %Is, @s %N. " -msgstr "Inod %i, i_storlek är %Is, skulle varit %N. " +msgstr "Inod %i, i_storlek är %Is, skulle varit %N. " #. @-expanded: inode %i, i_blocks is %Ib, should be %N. -#: e2fsck/problem.c:504 +#: e2fsck/problem.c:473 msgid "@i %i, i_@bs is %Ib, @s %N. " -msgstr "Inod %i, i_block är %Ib, skulle varit %N. " +msgstr "Inod %i, i_block är %Ib, skulle varit %N. " #. @-expanded: illegal %B (%b) in inode %i. -#: e2fsck/problem.c:509 +#: e2fsck/problem.c:478 msgid "@I %B (%b) in @i %i. " msgstr "Ogiltigt %B (%b) i inod %i. " #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i. -#: e2fsck/problem.c:514 +#: e2fsck/problem.c:483 msgid "%B (%b) overlaps @f metadata in @i %i. " -msgstr "%B (%b) överlappar filsystemmetadata i inod %i. " +msgstr "%B (%b) överlappar filsystemmetadata i inod %i. " #. @-expanded: inode %i has illegal block(s). -#: e2fsck/problem.c:519 +#: e2fsck/problem.c:488 #, c-format msgid "@i %i has illegal @b(s). " msgstr "Inod %i har ogiltiga block. " #. @-expanded: Too many illegal blocks in inode %i.\n -#: e2fsck/problem.c:524 +#: e2fsck/problem.c:493 #, c-format msgid "Too many illegal @bs in @i %i.\n" -msgstr "För mÃ¥nga ogiltiga block i inod %i.\n" +msgstr "För många ogiltiga block i inod %i.\n" #. @-expanded: illegal %B (%b) in bad block inode. -#: e2fsck/problem.c:529 +#: e2fsck/problem.c:498 msgid "@I %B (%b) in bad @b @i. " -msgstr "Ogiltigt %B (%b) i inod för felaktiga block. " +msgstr "Ogiltigt %B (%b) i inod för felaktiga block. " #. @-expanded: Bad block inode has illegal block(s). -#: e2fsck/problem.c:534 +#: e2fsck/problem.c:503 msgid "Bad @b @i has illegal @b(s). " msgstr "Felaktig blockinod har ogiltiga block. " #. @-expanded: Duplicate or bad block in use!\n -#: e2fsck/problem.c:539 +#: e2fsck/problem.c:508 msgid "Duplicate or bad @b in use!\n" -msgstr "Duplicerat eller felaktigt block används!\n" +msgstr "Duplicerat eller felaktigt block används!\n" #. @-expanded: Bad block %b used as bad block inode indirect block. -#: e2fsck/problem.c:544 +#: e2fsck/problem.c:513 msgid "Bad @b %b used as bad @b @i indirect @b. " -msgstr "Felaktigt block %b använt som indirektblock för inod för dÃ¥liga block. " +msgstr "Felaktigt block %b använt som indirektblock för inod för dåliga block. " #. @-expanded: \n #. @-expanded: The bad block inode has probably been corrupted. You probably\n #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n #. @-expanded: in the filesystem.\n -#: e2fsck/problem.c:549 +#: e2fsck/problem.c:518 msgid "" "\n" "The bad @b @i has probably been corrupted. You probably\n" @@ -1335,883 +1307,832 @@ msgid "" "in the @f.\n" msgstr "" "\n" -"Inoden för dÃ¥liga block har antagligen blivit skadad. Du bör\n" -"antagligen sluta nu och köra e2fsck -c för att söka efter dÃ¥liga block\n" +"Inoden för dåliga block har antagligen blivit skadad. Du bör\n" +"antagligen sluta nu och köra e2fsck -c för att söka efter dåliga block\n" "i filsystemet.\n" #. @-expanded: \n #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n -#: e2fsck/problem.c:556 +#: e2fsck/problem.c:525 msgid "" "\n" "If the @b is really bad, the @f can not be fixed.\n" msgstr "" "\n" -"Om blocket verkligen är dÃ¥ligt kan inte filsystemet lagas.\n" +"Om blocket verkligen är dåligt kan inte filsystemet lagas.\n" #. @-expanded: You can remove this block from the bad block list and hope\n #. @-expanded: that the block is really OK. But there are no guarantees.\n #. @-expanded: \n -#: e2fsck/problem.c:561 +#: e2fsck/problem.c:530 msgid "" "You can remove this @b from the bad @b list and hope\n" "that the @b is really OK. But there are no guarantees.\n" "\n" msgstr "" -"Du kan ta bort detta block frÃ¥n listan över dÃ¥liga block och hoppas\n" -"att blocket verkligen är OK. men det finns inga garaniter.\n" +"Du kan ta bort detta block från listan över dåliga block och hoppas\n" +"att blocket verkligen är OK. men det finns inga garaniter.\n" "\n" #. @-expanded: The primary superblock (%b) is on the bad block list.\n -#: e2fsck/problem.c:567 +#: e2fsck/problem.c:536 msgid "The primary @S (%b) is on the bad @b list.\n" -msgstr "Det primära superblocket (%b) är pÃ¥ listan över dÃ¥liga block.\n" +msgstr "Det primära superblocket (%b) är på listan över dåliga block.\n" #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n -#: e2fsck/problem.c:572 +#: e2fsck/problem.c:541 msgid "Block %b in the primary @g descriptors is on the bad @b list\n" -msgstr "Block %b i de primära gruppbeskrivarna är pÃ¥ listan över dÃ¥liga block\n" +msgstr "Block %b i de primära gruppbeskrivarna är på listan över dåliga block\n" #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n -#: e2fsck/problem.c:578 +#: e2fsck/problem.c:547 msgid "Warning: Group %g's @S (%b) is bad.\n" -msgstr "Varning: Grupp %g:s superblock (%b) är dÃ¥ligt.\n" +msgstr "Varning: Grupp %g:s superblock (%b) är dåligt.\n" #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n -#: e2fsck/problem.c:583 +#: e2fsck/problem.c:552 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n" -msgstr "Varning: Grupp %g:s kopia av gruppbeskrivarna har ett dÃ¥ligt block (%b).\n" +msgstr "Varning: Grupp %g:s kopia av gruppbeskrivarna har ett dåligt block (%b).\n" #. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n -#: e2fsck/problem.c:589 +#: e2fsck/problem.c:558 msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n" -msgstr "Programmeringsfel? Block nr. %b tas i ansprÃ¥k utan anledning i process_bad_block.\n" +msgstr "Programmeringsfel? Block nr. %b tas i anspråk utan anledning i process_bad_block.\n" #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n -#: e2fsck/problem.c:595 +#: e2fsck/problem.c:564 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n" -msgstr "Fel vid allokering av %N konsekutiva block i blockgrupp %g för %s: %m\n" +msgstr "Fel vid allokering av %N konsekutiva block i blockgrupp %g för %s: %m\n" #. @-expanded: error allocating block buffer for relocating %s\n -#: e2fsck/problem.c:600 +#: e2fsck/problem.c:569 #, c-format msgid "@A @b buffer for relocating %s\n" -msgstr "Fil vid allokering av blockbuffert för relokering av %s\n" +msgstr "Fil vid allokering av blockbuffert för relokering av %s\n" #. @-expanded: Relocating group %g's %s from %b to %c...\n -#: e2fsck/problem.c:605 +#: e2fsck/problem.c:574 msgid "Relocating @g %g's %s from %b to %c...\n" -msgstr "Relokerar grupp %g:s %s frÃ¥n %b till %c ...\n" +msgstr "Relokerar grupp %g:s %s från %b till %c ...\n" #. @-expanded: Relocating group %g's %s to %c...\n -#: e2fsck/problem.c:610 +#: e2fsck/problem.c:579 #, c-format msgid "Relocating @g %g's %s to %c...\n" msgstr "Relokerar grupp %g:s %s till %c ...\n" #. @-expanded: Warning: could not read block %b of %s: %m\n -#: e2fsck/problem.c:615 +#: e2fsck/problem.c:584 msgid "Warning: could not read @b %b of %s: %m\n" -msgstr "Varning: kunde inte läsa block %b av %s: %m\n" +msgstr "Varning: kunde inte läsa block %b av %s: %m\n" #. @-expanded: Warning: could not write block %b for %s: %m\n -#: e2fsck/problem.c:620 +#: e2fsck/problem.c:589 msgid "Warning: could not write @b %b for %s: %m\n" msgstr "Varning: kunde inte skriva block %b av %s: %m\n" #. @-expanded: error allocating inode bitmap (%N): %m\n -#: e2fsck/problem.c:625 e2fsck/problem.c:1474 +#: e2fsck/problem.c:594 e2fsck/problem.c:1405 msgid "@A @i @B (%N): %m\n" msgstr "Fel vid allokering av inodbitkarta (%N): %m\n" #. @-expanded: error allocating block bitmap (%N): %m\n -#: e2fsck/problem.c:630 +#: e2fsck/problem.c:599 msgid "@A @b @B (%N): %m\n" msgstr "Fel vid allokering av blockbitkarta (%N): %m\n" #. @-expanded: error allocating icount link information: %m\n -#: e2fsck/problem.c:635 +#: e2fsck/problem.c:604 #, c-format msgid "@A icount link information: %m\n" -msgstr "Fel vid allokering av icount-länkinformation: %m\n" +msgstr "Fel vid allokering av icount-länkinformation: %m\n" #. @-expanded: error allocating directory block array: %m\n -#: e2fsck/problem.c:640 +#: e2fsck/problem.c:609 #, c-format msgid "@A @d @b array: %m\n" msgstr "Fel vid allokering av katalogblockvektor: %m\n" #. @-expanded: Error while scanning inodes (%i): %m\n -#: e2fsck/problem.c:645 +#: e2fsck/problem.c:614 #, c-format msgid "Error while scanning @is (%i): %m\n" -msgstr "Fel vid genomsökning av inoder (%i): %m\n" +msgstr "Fel vid genomsökning av inoder (%i): %m\n" #. @-expanded: Error while iterating over blocks in inode %i: %m\n -#: e2fsck/problem.c:650 +#: e2fsck/problem.c:619 #, c-format msgid "Error while iterating over @bs in @i %i: %m\n" -msgstr "Fel vid iterering över block i inod %i: %m\n" +msgstr "Fel vid iterering över block i inod %i: %m\n" #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n -#: e2fsck/problem.c:655 +#: e2fsck/problem.c:624 msgid "Error storing @i count information (@i=%i, count=%N): %m\n" -msgstr "Fel vid lagring av inodsräknarinformation (inod=%i, antal=%N): %m\n" +msgstr "Fel vid lagring av inodsräknarinformation (inod=%i, antal=%N): %m\n" #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n -#: e2fsck/problem.c:660 +#: e2fsck/problem.c:629 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n" msgstr "Fel vid lagring av katalogblocksinformation (inod=%i, block=%b, antal=%N): %m\n" #. @-expanded: Error reading inode %i: %m\n -#: e2fsck/problem.c:666 +#: e2fsck/problem.c:635 #, c-format msgid "Error reading @i %i: %m\n" -msgstr "Fel vid läsning av inod %i: %m\n" +msgstr "Fel vid läsning av inod %i: %m\n" #. @-expanded: inode %i has imagic flag set. -#: e2fsck/problem.c:674 +#: e2fsck/problem.c:643 #, c-format msgid "@i %i has imagic flag set. " msgstr "Inod %i har flaggan imagic satt. " #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n #. @-expanded: or append-only flag set. -#: e2fsck/problem.c:679 +#: e2fsck/problem.c:648 #, c-format msgid "" "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n" "or append-only flag set. " msgstr "" -"Specialfil (enhet/uttag (socket)/fifo/symlänk) (inod %i) har flaggan\n" -"oföränderlig eller endast tillägg satt." +"Specialfil (enhet/uttag (socket)/fifo/symlänk) (inod %i) har flaggan\n" +"oföränderlig eller endast tillägg satt." #. @-expanded: inode %i has compression flag set on filesystem without compression support. -#: e2fsck/problem.c:685 +#: e2fsck/problem.c:654 #, c-format msgid "@i %i has @cion flag set on @f without @cion support. " -msgstr "Inod %i har kompressionsflagga satt pÃ¥ filsystem utan kompressionsstöd. " +msgstr "Inod %i har kompressionsflagga satt på filsystem utan kompressionsstöd. " #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size. -#: e2fsck/problem.c:690 +#: e2fsck/problem.c:659 #, c-format msgid "Special (@v/socket/fifo) @i %i has non-zero size. " msgstr "Specialinod (enhet/uttag (socket)/fifo) %i har nollskild storlek. " #. @-expanded: journal inode is not in use, but contains data. -#: e2fsck/problem.c:700 +#: e2fsck/problem.c:669 msgid "@j @i is not in use, but contains data. " -msgstr "Journalinod används, men innehÃ¥ller data. " +msgstr "Journalinod används, men innehåller data. " #. @-expanded: journal is not regular file. -#: e2fsck/problem.c:705 +#: e2fsck/problem.c:674 msgid "@j is not regular file. " -msgstr "Journal är inte en vanlig fil. " +msgstr "Journal är inte en vanlig fil. " #. @-expanded: inode %i was part of the orphaned inode list. -#: e2fsck/problem.c:710 +#: e2fsck/problem.c:679 #, c-format msgid "@i %i was part of the @o @i list. " -msgstr "Inod %i var med i listan över föräldralösa inoder. " +msgstr "Inod %i var med i listan över föräldralösa inoder. " #. @-expanded: inodes that were part of a corrupted orphan linked list found. -#: e2fsck/problem.c:716 +#: e2fsck/problem.c:685 msgid "@is that were part of a corrupted orphan linked list found. " -msgstr "Inoder som var med i trasig lista över föräldralösa inoder hittad. " +msgstr "Inoder som var med i trasig lista över föräldralösa inoder hittad. " #. @-expanded: error allocating refcount structure (%N): %m\n -#: e2fsck/problem.c:721 +#: e2fsck/problem.c:690 msgid "@A refcount structure (%N): %m\n" -msgstr "Fel vid allokering av referensräknarstruktur (%N): %m\n" +msgstr "Fel vid allokering av referensräknarstruktur (%N): %m\n" #. @-expanded: Error reading extended attribute block %b for inode %i. -#: e2fsck/problem.c:726 +#: e2fsck/problem.c:695 msgid "Error reading @a @b %b for @i %i. " -msgstr "Fel vid läsning av utökade attribut-block %b för inod %i. " +msgstr "Fel vid läsning av utökade attribut-block %b för inod %i. " #. @-expanded: inode %i has a bad extended attribute block %b. -#: e2fsck/problem.c:731 +#: e2fsck/problem.c:700 msgid "@i %i has a bad @a @b %b. " -msgstr "Inod %i har ett felaktigt utökade attribut-block %b. " +msgstr "Inod %i har ett felaktigt utökade attribut-block %b. " #. @-expanded: Error reading extended attribute block %b (%m). -#: e2fsck/problem.c:736 +#: e2fsck/problem.c:705 msgid "Error reading @a @b %b (%m). " -msgstr "Fel vid läsning av utökade attribut-block %b (%m). " +msgstr "Fel vid läsning av utökade attribut-block %b (%m). " #. @-expanded: extended attribute block %b has reference count %r, should be %N. -#: e2fsck/problem.c:741 +#: e2fsck/problem.c:710 msgid "@a @b %b has reference count %r, @s %N. " -msgstr "Utökade attribut-block %b har referensräknare %r, skall vara %N. " +msgstr "Utökade attribut-block %b har referensräknare %r, skall vara %N. " #. @-expanded: Error writing extended attribute block %b (%m). -#: e2fsck/problem.c:746 +#: e2fsck/problem.c:715 msgid "Error writing @a @b %b (%m). " -msgstr "Fel vid skrivning av utökade attribut-block %b (%m). " +msgstr "Fel vid skrivning av utökade attribut-block %b (%m). " #. @-expanded: extended attribute block %b has h_blocks > 1. -#: e2fsck/problem.c:751 +#: e2fsck/problem.c:720 msgid "@a @b %b has h_@bs > 1. " -msgstr "Utökade attribut-block %b har h_blocks > 1. " +msgstr "Utökade attribut-block %b har h_blocks > 1. " #. @-expanded: error allocating extended attribute block %b. -#: e2fsck/problem.c:756 +#: e2fsck/problem.c:725 msgid "@A @a @b %b. " -msgstr "Fel vid allokering av block för utökade attribut %b. " +msgstr "Fel vid allokering av block för utökade attribut %b. " #. @-expanded: extended attribute block %b is corrupt (allocation collision). -#: e2fsck/problem.c:761 +#: e2fsck/problem.c:730 msgid "@a @b %b is corrupt (allocation collision). " -msgstr "Utökade attribut-block %b är trasigt (allokeringskollision). " +msgstr "Utökade attribut-block %b är trasigt (allokeringskollision). " #. @-expanded: extended attribute block %b is corrupt (invalid name). -#: e2fsck/problem.c:766 +#: e2fsck/problem.c:735 msgid "@a @b %b is corrupt (@n name). " -msgstr "Utökade attribut-block %b är trasigt (ogiltigt namn). " +msgstr "Utökade attribut-block %b är trasigt (ogiltigt namn). " #. @-expanded: extended attribute block %b is corrupt (invalid value). -#: e2fsck/problem.c:771 +#: e2fsck/problem.c:740 msgid "@a @b %b is corrupt (@n value). " -msgstr "Utökade attribut-block %b är trasigt (ogiltigt värde). " +msgstr "Utökade attribut-block %b är trasigt (ogiltigt värde). " #. @-expanded: inode %i is too big. -#: e2fsck/problem.c:776 +#: e2fsck/problem.c:745 #, c-format msgid "@i %i is too big. " -msgstr "Inod %i är för stor. " +msgstr "Inod %i är för stor. " #. @-expanded: %B (%b) causes directory to be too big. -#: e2fsck/problem.c:780 +#: e2fsck/problem.c:749 msgid "%B (%b) causes @d to be too big. " -msgstr "%B (%b) fÃ¥r katalog att bli för stor. " +msgstr "%B (%b) får katalog att bli för stor. " -#: e2fsck/problem.c:785 +#: e2fsck/problem.c:754 msgid "%B (%b) causes file to be too big. " -msgstr "%B (%b) fÃ¥r fil att bli för stor. " +msgstr "%B (%b) får fil att bli för stor. " -#: e2fsck/problem.c:790 +#: e2fsck/problem.c:759 msgid "%B (%b) causes symlink to be too big. " -msgstr "%B (%b) fÃ¥r symlänk att bli för stor. " +msgstr "%B (%b) får symlänk att bli för stor. " #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n -#: e2fsck/problem.c:795 +#: e2fsck/problem.c:764 #, c-format msgid "@i %i has INDEX_FL flag set on @f without htree support.\n" -msgstr "Inod %i har flagga INDEX_FL satt pÃ¥ filsystem utan stöd för htree.\n" +msgstr "Inod %i har flagga INDEX_FL satt på filsystem utan stöd för htree.\n" #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n -#: e2fsck/problem.c:800 +#: e2fsck/problem.c:769 #, c-format msgid "@i %i has INDEX_FL flag set but is not a @d.\n" -msgstr "Inod %i har flagga INDEX_FL satt men är inte en katalog.\n" +msgstr "Inod %i har flagga INDEX_FL satt men är inte en katalog.\n" #. @-expanded: HTREE directory inode %i has an invalid root node.\n -#: e2fsck/problem.c:805 +#: e2fsck/problem.c:774 #, c-format msgid "@h %i has an @n root node.\n" msgstr "HTREE kataloginod %i har en ogiltig rotnod.\n" #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n -#: e2fsck/problem.c:810 +#: e2fsck/problem.c:779 msgid "@h %i has an unsupported hash version (%N)\n" -msgstr "HTREE katalog-inod %i har en hashversion som inte stöds (%N)\n" +msgstr "HTREE katalog-inod %i har en hashversion som inte stöds (%N)\n" #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n -#: e2fsck/problem.c:815 +#: e2fsck/problem.c:784 #, c-format msgid "@h %i uses an incompatible htree root node flag.\n" -msgstr "HTREE katalog-inod %i använder en inkompatibel htree rotnodsflagga.\n" +msgstr "HTREE katalog-inod %i använder en inkompatibel htree rotnodsflagga.\n" #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n -#: e2fsck/problem.c:820 +#: e2fsck/problem.c:789 msgid "@h %i has a tree depth (%N) which is too big\n" -msgstr "HTREE katalog-inod %i har ett träddjup (%N) som är för stort\n" +msgstr "HTREE katalog-inod %i har ett träddjup (%N) som är för stort\n" #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n #. @-expanded: filesystem metadata. -#: e2fsck/problem.c:825 +#: e2fsck/problem.c:794 msgid "" "Bad @b @i has an indirect @b (%b) that conflicts with\n" "@f metadata. " msgstr "" -"Inoden för dÃ¥liga block har ett indirektblock (%b) som stÃ¥r i konflikt\n" +"Inoden för dåliga block har ett indirektblock (%b) som står i konflikt\n" "med filsystemsmetadata. " #. @-expanded: Resize inode (re)creation failed: %m. -#: e2fsck/problem.c:831 +#: e2fsck/problem.c:800 #, c-format msgid "Resize @i (re)creation failed: %m." -msgstr "Misslyckades att Ã¥terskapa storleksändringsinod: %m." +msgstr "Misslyckades att återskapa storleksändringsinod: %m." #. @-expanded: inode %i has a extra size (%IS) which is invalid\n -#: e2fsck/problem.c:836 +#: e2fsck/problem.c:805 msgid "@i %i has a extra size (%IS) which is @n\n" -msgstr "Inod %i har en extra storlek (%IS) som är ogiltig\n" +msgstr "Inod %i har en extra storlek (%IS) som är ogiltig\n" #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n -#: e2fsck/problem.c:841 +#: e2fsck/problem.c:810 msgid "@a in @i %i has a namelen (%N) which is @n\n" -msgstr "Utökat attribut i inod %i har ett namelen (%N) som är ogiltig\n" +msgstr "Utökat attribut i inod %i har ett namelen (%N) som är ogiltig\n" #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n -#: e2fsck/problem.c:846 +#: e2fsck/problem.c:815 msgid "@a in @i %i has a value offset (%N) which is @n\n" -msgstr "Utökat attribut i inod %i har en värdeposition (%N) som är ogiltig\n" +msgstr "Utökat attribut i inod %i har en värdeposition (%N) som är ogiltig\n" #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n -#: e2fsck/problem.c:851 +#: e2fsck/problem.c:820 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" -msgstr "Utökat attribut i inod %i har ett värdeblock (%N) som är ogiltigt (mÃ¥ste vara 0)\n" +msgstr "Utökat attribut i inod %i har ett värdeblock (%N) som är ogiltigt (måste vara 0)\n" #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n -#: e2fsck/problem.c:856 +#: e2fsck/problem.c:825 msgid "@a in @i %i has a value size (%N) which is @n\n" -msgstr "Utökat attribut i inod %i har ett värdestorlek (%N) som är ogiltig\n" +msgstr "Utökat attribut i inod %i har ett värdestorlek (%N) som är ogiltig\n" #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n -#: e2fsck/problem.c:861 +#: e2fsck/problem.c:830 msgid "@a in @i %i has a hash (%N) which is @n\n" -msgstr "Utökat attribut i inod %i har hash (%N) som är ogiltig\n" +msgstr "Utökat attribut i inod %i har hash (%N) som är ogiltig\n" #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n -#: e2fsck/problem.c:866 +#: e2fsck/problem.c:835 msgid "@i %i is a %It but it looks like it is really a directory.\n" -msgstr "inod %i är en %It men det ser ut som det egentligen är en katalog.\n" +msgstr "inod %i är en %It men det ser ut som det egentligen är en katalog.\n" #. @-expanded: Error while reading over extent tree in inode %i: %m\n -#: e2fsck/problem.c:871 +#: e2fsck/problem.c:840 #, c-format msgid "Error while reading over @x tree in @i %i: %m\n" -msgstr "Fel vid läsning över utsträckningsträd i inod %i: %m\n" +msgstr "Fel vid läsning över utsträckningsträd i inod %i: %m\n" #. @-expanded: Failed to iterate extents in inode %i\n #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n -#: e2fsck/problem.c:876 +#: e2fsck/problem.c:845 msgid "" "Failed to iterate extents in @i %i\n" "\t(op %s, blk %b, lblk %c): %m\n" msgstr "" -"Misslyckades att iterera över utsträckningar i inod %i\n" +"Misslyckades att iterera över utsträckningar i inod %i\n" "\t(op %s, blk %b, lblk %c): %m\n" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n -#: e2fsck/problem.c:882 +#: e2fsck/problem.c:851 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, @n physical @b %b, len %N)\n" msgstr "" -"inod %i har en ogiltig utsträckning\n" -"\t(logiskt block %c, ogiltigt fysiskt block %b, längd %N)\n" +"inod %i har en ogiltig utsträckning\n" +"\t(logiskt block %c, ogiltigt fysiskt block %b, längd %N)\n" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n -#: e2fsck/problem.c:887 +#: e2fsck/problem.c:856 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, physical @b %b, @n len %N)\n" msgstr "" -"inod %i har en ogiltig utsträckning\n" -"\t(logiskt block %c, fysiskt block %b, ogiltig längd %N)\n" +"inod %i har en ogiltig utsträckning\n" +"\t(logiskt block %c, fysiskt block %b, ogiltig längd %N)\n" #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n -#: e2fsck/problem.c:892 +#: e2fsck/problem.c:861 #, c-format msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n" -msgstr "Inod %i har flaggan EXTENTS_FL satt pÃ¥ filsystemet utan stöd för utsträckningar.\n" +msgstr "Inod %i har flaggan EXTENTS_FL satt på filsystemet utan stöd för utsträckningar.\n" #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n -#: e2fsck/problem.c:897 +#: e2fsck/problem.c:866 #, c-format msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n" -msgstr "inod %i är i utsträckningsformat, men superblocket saknar egenskapen EXTENTS\n" +msgstr "inod %i är i utsträckningsformat, men superblocket saknar egenskapen EXTENTS\n" #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n -#: e2fsck/problem.c:902 +#: e2fsck/problem.c:871 #, c-format msgid "@i %i missing EXTENT_FL, but is in extents format\n" -msgstr "inod %i saknar EXTENT_FL, men är i utsträckningsformat\n" +msgstr "inod %i saknar EXTENT_FL, men är i utsträckningsformat\n" -#: e2fsck/problem.c:907 +#: e2fsck/problem.c:876 #, c-format msgid "Fast symlink %i has EXTENT_FL set. " -msgstr "Snabb symlänk %i har EXTENT_FL satt. " +msgstr "Snabb symlänk %i har EXTENT_FL satt. " #. @-expanded: inode %i has out of order extents\n #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:912 +#: e2fsck/problem.c:881 msgid "" "@i %i has out of order extents\n" "\t(@n logical @b %c, physical @b %b, len %N)\n" msgstr "" -"inod %i har utsträckningar i oordning\n" -"\t(ogiltigt logiskt block %c, fysiskt block %b, längd %N)\n" +"inod %i har utsträckningar i oordning\n" +"\t(ogiltigt logiskt block %c, fysiskt block %b, längd %N)\n" #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n -#: e2fsck/problem.c:916 +#: e2fsck/problem.c:885 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n" -msgstr "inod %i har en ogiltig utsträckningsnod (blk %b, lblk %c)\n" - -#. @-expanded: Error converting subcluster block bitmap: %m\n -#: e2fsck/problem.c:921 -#, c-format -msgid "Error converting subcluster @b @B: %m\n" -msgstr "Fel vid konvertering av blockbitkarta över subkluster: %m\n" - -#. @-expanded: quota inode is not regular file. -#: e2fsck/problem.c:926 -msgid "@q @i is not regular file. " -msgstr "Kvotainoden är inte en vanlig fil. " - -#. @-expanded: quota inode is not in use, but contains data. -#: e2fsck/problem.c:931 -msgid "@q @i is not in use, but contains data. " -msgstr "Kvotinoden används inte, men innehÃ¥ller data. " - -#. @-expanded: quota inode is visible to the user. -#: e2fsck/problem.c:936 -msgid "@q @i is visible to the user. " -msgstr "Kvotinoden är synlig för användaren. " - -#. @-expanded: The bad block inode looks invalid. -#: e2fsck/problem.c:941 -msgid "The bad @b @i looks @n. " -msgstr "Inoden för dÃ¥liga block verkar felaktig." - -#. @-expanded: inode %i has zero length extent\n -#. @-expanded: \t(invalid logical block %c, physical block %b)\n -#: e2fsck/problem.c:946 -msgid "" -"@i %i has zero length extent\n" -"\t(@n logical @b %c, physical @b %b)\n" -msgstr "" -"inod %i har en utsträckning med noll längd\n" -"\t(ogiltigt logiskt block %c, fysiskt block %b)\n" - -#. @-expanded: Interior extent node level %N of inode %i:\n -#. @-expanded: Logical start %b does not match logical start %c at next level. -#: e2fsck/problem.c:953 -msgid "" -"Interior @x node level %N of @i %i:\n" -"Logical start %b does not match logical start %c at next level. " -msgstr "" -"Intern utsträckningsnod pÃ¥ nivÃ¥ %N av inod %i:\n" -"Logisk start %b stämmer inte med logisk start %c pÃ¥ nästa nivÃ¥. " +msgstr "inod %i har en ogiltig utsträckningsnod (blk %b, lblk %c)\n" -#. @-expanded: inode %i, end of extent exceeds allowed value\n -#. @-expanded: \t(logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:959 -msgid "" -"@i %i, end of extent exceeds allowed value\n" -"\t(logical @b %c, physical @b %b, len %N)\n" -msgstr "" -"inod %i, slutet pÃ¥ utsträckningen överskrider tillÃ¥tet värde\n" -"\t(logiskt block %c, fysiskt block %b, längd %N)\n" +#. @-expanded: inode %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n +#: e2fsck/problem.c:889 +msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" +msgstr "Inod %i skall inte ha EOFBLOCKS_FL satt (storlek %Is, lblk %r)\n" #. @-expanded: \n #. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n #. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n -#: e2fsck/problem.c:967 +#: e2fsck/problem.c:897 msgid "" "\n" "Running additional passes to resolve @bs claimed by more than one @i...\n" "Pass 1B: Rescanning for @m @bs\n" msgstr "" "\n" -"Kör ytterliggare pass för att lösa upp block som används av mer än en inod ...\n" -"Pass 1B: Söker igen efter block som används flera gÃ¥nger\n" +"Kör ytterliggare pass för att lösa upp block som används av mer än en inod ...\n" +"Pass 1B: Söker igen efter block som används flera gånger\n" #. @-expanded: multiply-claimed block(s) in inode %i: -#: e2fsck/problem.c:973 +#: e2fsck/problem.c:903 #, c-format msgid "@m @b(s) in @i %i:" -msgstr "Flerfaldigt iansprÃ¥kstagna block i inod %i:" +msgstr "Flerfaldigt ianspråkstagna block i inod %i:" -#: e2fsck/problem.c:988 +#: e2fsck/problem.c:918 #, c-format msgid "Error while scanning inodes (%i): %m\n" -msgstr "Fel vid genomsökning av inoder (%i): %m\n" +msgstr "Fel vid genomsökning av inoder (%i): %m\n" #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n -#: e2fsck/problem.c:993 +#: e2fsck/problem.c:923 #, c-format msgid "@A @i @B (@i_dup_map): %m\n" msgstr "Fel vid allokering av inodbitkarta (inode_dup_map): %m\n" #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n -#: e2fsck/problem.c:998 +#: e2fsck/problem.c:928 #, c-format msgid "Error while iterating over @bs in @i %i (%s): %m\n" -msgstr "Fel vid iterering över block i inod %i (%s): %m\n" +msgstr "Fel vid iterering över block i inod %i (%s): %m\n" #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n -#: e2fsck/problem.c:1003 e2fsck/problem.c:1318 +#: e2fsck/problem.c:933 e2fsck/problem.c:1249 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n" -msgstr "Fel vid justering av referensräknare för externa attribut-block %b (inod %i): %m\n" +msgstr "Fel vid justering av referensräknare för externa attribut-block %b (inod %i): %m\n" #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n -#: e2fsck/problem.c:1008 +#: e2fsck/problem.c:939 msgid "Pass 1C: Scanning directories for @is with @m @bs\n" -msgstr "Pass 1C: Söker kataloger efter inoder med flerfaldigt iansprÃ¥kstagna block\n" +msgstr "Pass 1C: Söker kataloger efter inoder med flerfaldigt ianspråkstagna block\n" #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n -#: e2fsck/problem.c:1014 +#: e2fsck/problem.c:945 msgid "Pass 1D: Reconciling @m @bs\n" -msgstr "Pass 1D: Förlikar flerfaldigt iansprÃ¥kstagna block\n" +msgstr "Pass 1D: Förlikar flerfaldigt ianspråkstagna block\n" #. @-expanded: File %Q (inode #%i, mod time %IM) \n #. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n -#: e2fsck/problem.c:1019 +#: e2fsck/problem.c:950 msgid "" "File %Q (@i #%i, mod time %IM) \n" " has %r @m @b(s), shared with %N file(s):\n" msgstr "" "Fil %Q (inod nr. %i, modifieringstid %IM) \n" -" har %r flerfaldigt iansprÃ¥kstagna block, delade med %N filer:\n" +" har %r flerfaldigt ianspråkstagna block, delade med %N filer:\n" #. @-expanded: \t%Q (inode #%i, mod time %IM)\n -#: e2fsck/problem.c:1025 +#: e2fsck/problem.c:956 msgid "\t%Q (@i #%i, mod time %IM)\n" msgstr "\t%Q (inod nr. %i, modifieringstid %IM)\n" #. @-expanded: \t\n -#: e2fsck/problem.c:1030 +#: e2fsck/problem.c:961 msgid "\t<@f metadata>\n" msgstr "\t\n" #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n #. @-expanded: \n -#: e2fsck/problem.c:1035 +#: e2fsck/problem.c:966 msgid "" "(There are %N @is containing @m @bs.)\n" "\n" msgstr "" -"(Det finns %N inoder som innehÃ¥ller flerfaldigt iansprÃ¥kstagna block.)\n" +"(Det finns %N inoder som innehåller flerfaldigt ianspråkstagna block.)\n" "\n" #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n #. @-expanded: \n -#: e2fsck/problem.c:1040 +#: e2fsck/problem.c:971 msgid "" "@m @bs already reassigned or cloned.\n" "\n" msgstr "" -"Flerfaldig iansprÃ¥kstagna block redan överlÃ¥tna eller klonade.\n" +"Flerfaldig ianspråkstagna block redan överlåtna eller klonade.\n" "\n" -#: e2fsck/problem.c:1053 +#: e2fsck/problem.c:984 #, c-format msgid "Couldn't clone file: %m\n" msgstr "Kunde inte klona fil: %m\n" #. @-expanded: Pass 2: Checking directory structure\n -#: e2fsck/problem.c:1059 +#: e2fsck/problem.c:990 msgid "Pass 2: Checking @d structure\n" msgstr "Pass 2: Kontrollerar katalogstruktur\n" #. @-expanded: invalid inode number for '.' in directory inode %i.\n -#: e2fsck/problem.c:1064 +#: e2fsck/problem.c:995 #, c-format msgid "@n @i number for '.' in @d @i %i.\n" -msgstr "Ogiltigt inodsnummer för \".\" i kataloginod %i.\n" +msgstr "Ogiltigt inodsnummer för \".\" i kataloginod %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n -#: e2fsck/problem.c:1069 +#: e2fsck/problem.c:1000 msgid "@E has @n @i #: %Di.\n" msgstr "Post \"%Dn\" i %p (%i) har ogiltigt inodsnummer: %Di.\n" #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di. -#: e2fsck/problem.c:1074 +#: e2fsck/problem.c:1005 msgid "@E has @D/unused @i %Di. " -msgstr "Post \"%Dn\" i %p (%i) har raderad/oanvänd inod %Di. " +msgstr "Post \"%Dn\" i %p (%i) har raderad/oanvänd inod %Di. " #. @-expanded: entry '%Dn' in %p (%i) is a link to '.' -#: e2fsck/problem.c:1079 +#: e2fsck/problem.c:1010 msgid "@E @L to '.' " -msgstr "Post \"%Dn\" i %p (%i) är en länk till \".\" " +msgstr "Post \"%Dn\" i %p (%i) är en länk till \".\" " #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n -#: e2fsck/problem.c:1084 +#: e2fsck/problem.c:1015 msgid "@E points to @i (%Di) located in a bad @b.\n" -msgstr "Post \"%Dn\" i %p (%i) pekar pÃ¥ inod (%Di) som finns i ett trasigt block.\n" +msgstr "Post \"%Dn\" i %p (%i) pekar på inod (%Di) som finns i ett trasigt block.\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n -#: e2fsck/problem.c:1089 +#: e2fsck/problem.c:1020 msgid "@E @L to @d %P (%Di).\n" -msgstr "Post \"%Dn\" i %p (%i) är en länk till katalog %P (%Di).\n" +msgstr "Post \"%Dn\" i %p (%i) är en länk till katalog %P (%Di).\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n -#: e2fsck/problem.c:1094 +#: e2fsck/problem.c:1025 msgid "@E @L to the @r.\n" -msgstr "Post \"%Dn\" i %p (%i) är en länk till rotinoden.\n" +msgstr "Post \"%Dn\" i %p (%i) är en länk till rotinoden.\n" #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n -#: e2fsck/problem.c:1099 +#: e2fsck/problem.c:1030 msgid "@E has illegal characters in its name.\n" msgstr "Post \"%Dn\" i %p (%i) har ogiltiga tecken i namnet.\n" #. @-expanded: Missing '.' in directory inode %i.\n -#: e2fsck/problem.c:1104 +#: e2fsck/problem.c:1035 #, c-format msgid "Missing '.' in @d @i %i.\n" msgstr "\".\" saknas i kataloginod %i.\n" #. @-expanded: Missing '..' in directory inode %i.\n -#: e2fsck/problem.c:1109 +#: e2fsck/problem.c:1040 #, c-format msgid "Missing '..' in @d @i %i.\n" msgstr "\"..\" saknas i kataloginod %i.\n" #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n -#: e2fsck/problem.c:1114 +#: e2fsck/problem.c:1045 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n" -msgstr "Första post \"%Dn\" (inod=%Di) i kataloginod %i (%p) skulle varit \".\"\n" +msgstr "Första post \"%Dn\" (inod=%Di) i kataloginod %i (%p) skulle varit \".\"\n" #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n -#: e2fsck/problem.c:1119 +#: e2fsck/problem.c:1050 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n" msgstr "Andra post \"%Dn\" (inod=%Di) i kataloginod %i skulle varit \"..\"\n" #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n -#: e2fsck/problem.c:1124 +#: e2fsck/problem.c:1055 msgid "i_faddr @F %IF, @s zero.\n" -msgstr "i_faddr för inod %i (%Q) är %IF, skulle varit noll.\n" +msgstr "i_faddr för inod %i (%Q) är %IF, skulle varit noll.\n" #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n -#: e2fsck/problem.c:1129 +#: e2fsck/problem.c:1060 msgid "i_file_acl @F %If, @s zero.\n" -msgstr "i_file_acl för inod %i (%Q) är %If, skulle varit noll.\n" +msgstr "i_file_acl för inod %i (%Q) är %If, skulle varit noll.\n" #. @-expanded: i_dir_acl for inode %i (%Q) is %Id, should be zero.\n -#: e2fsck/problem.c:1134 +#: e2fsck/problem.c:1065 msgid "i_dir_acl @F %Id, @s zero.\n" -msgstr "i_dir_acl för inod %i (%Q) är %Id, skulle varit noll.\n" +msgstr "i_dir_acl för inod %i (%Q) är %Id, skulle varit noll.\n" #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1139 +#: e2fsck/problem.c:1070 msgid "i_frag @F %N, @s zero.\n" -msgstr "i_frag för inod %i (%Q) är %N, skulle varit noll.\n" +msgstr "i_frag för inod %i (%Q) är %N, skulle varit noll.\n" #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1144 +#: e2fsck/problem.c:1075 msgid "i_fsize @F %N, @s zero.\n" -msgstr "i_fsize för inod %i (%Q) är %N, skulle varit noll.\n" +msgstr "i_fsize för inod %i (%Q) är %N, skulle varit noll.\n" #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n -#: e2fsck/problem.c:1149 +#: e2fsck/problem.c:1080 msgid "@i %i (%Q) has @n mode (%Im).\n" -msgstr "Inod %i (%Q) har ogiltiga rättigheter (%Im).\n" +msgstr "Inod %i (%Q) har ogiltiga rättigheter (%Im).\n" #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n -#: e2fsck/problem.c:1154 +#: e2fsck/problem.c:1085 msgid "@d @i %i, %B, offset %N: @d corrupted\n" msgstr "Kataloginod %i, %B, position %N: katalogen trasig\n" #. @-expanded: directory inode %i, %B, offset %N: filename too long\n -#: e2fsck/problem.c:1159 +#: e2fsck/problem.c:1090 msgid "@d @i %i, %B, offset %N: filename too long\n" -msgstr "Kataloginod %i, %B, position %N: för lÃ¥ngt filnamn\n" +msgstr "Kataloginod %i, %B, position %N: för långt filnamn\n" #. @-expanded: directory inode %i has an unallocated %B. -#: e2fsck/problem.c:1164 +#: e2fsck/problem.c:1095 msgid "@d @i %i has an unallocated %B. " msgstr "Kataloginod %i har ett oallokerat %B. " #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1169 +#: e2fsck/problem.c:1100 #, c-format msgid "'.' @d @e in @d @i %i is not NULL terminated\n" -msgstr "\".\"-katalogpost i kataloginod %i är inte nollterminerad\n" +msgstr "\".\"-katalogpost i kataloginod %i är inte nollterminerad\n" #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1174 +#: e2fsck/problem.c:1105 #, c-format msgid "'..' @d @e in @d @i %i is not NULL terminated\n" -msgstr "\"..\"-katalogpost i kataloginod %i är inte nollterminerad\n" +msgstr "\"..\"-katalogpost i kataloginod %i är inte nollterminerad\n" #. @-expanded: inode %i (%Q) is an illegal character device.\n -#: e2fsck/problem.c:1179 +#: e2fsck/problem.c:1110 msgid "@i %i (%Q) is an @I character @v.\n" -msgstr "Inod %i (%Q) är en ogiltig teckenenhet.\n" +msgstr "Inod %i (%Q) är en ogiltig teckenenhet.\n" #. @-expanded: inode %i (%Q) is an illegal block device.\n -#: e2fsck/problem.c:1184 +#: e2fsck/problem.c:1115 msgid "@i %i (%Q) is an @I @b @v.\n" -msgstr "Inod %i (TQ är en ogiltig blockenhet.\n" +msgstr "Inod %i (TQ är en ogiltig blockenhet.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n -#: e2fsck/problem.c:1189 +#: e2fsck/problem.c:1120 msgid "@E is duplicate '.' @e.\n" -msgstr "Post \"%Dn\" i %p (%i) är duplicerad \".\"-post.\n" +msgstr "Post \"%Dn\" i %p (%i) är duplicerad \".\"-post.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n -#: e2fsck/problem.c:1194 +#: e2fsck/problem.c:1125 msgid "@E is duplicate '..' @e.\n" -msgstr "Post \"%Dn\" i %p (%i) är duplicerad \"..\"-post.\n" +msgstr "Post \"%Dn\" i %p (%i) är duplicerad \"..\"-post.\n" -#: e2fsck/problem.c:1199 e2fsck/problem.c:1499 +#: e2fsck/problem.c:1130 e2fsck/problem.c:1430 #, c-format msgid "Internal error: couldn't find dir_info for %i.\n" -msgstr "Internt fel: kunde inte hitta dir_info för %i.\n" +msgstr "Internt fel: kunde inte hitta dir_info för %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n -#: e2fsck/problem.c:1204 +#: e2fsck/problem.c:1135 msgid "@E has rec_len of %Dr, @s %N.\n" msgstr "" "Post \"%Dn\" i %p (%i) har rec_len %Dr, skulle varit %N.\n" "\n" #. @-expanded: error allocating icount structure: %m\n -#: e2fsck/problem.c:1209 +#: e2fsck/problem.c:1140 #, c-format msgid "@A icount structure: %m\n" msgstr "Fel vid allokering av icount-struktur: %m\n" #. @-expanded: Error iterating over directory blocks: %m\n -#: e2fsck/problem.c:1214 +#: e2fsck/problem.c:1145 #, c-format msgid "Error iterating over @d @bs: %m\n" -msgstr "Fel vid iterering över katalogblock: %m\n" +msgstr "Fel vid iterering över katalogblock: %m\n" #. @-expanded: Error reading directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1219 +#: e2fsck/problem.c:1150 msgid "Error reading @d @b %b (@i %i): %m\n" -msgstr "Fel vid läsning av katalogblock %b (inod %i): %m\n" +msgstr "Fel vid läsning av katalogblock %b (inod %i): %m\n" #. @-expanded: Error writing directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1224 +#: e2fsck/problem.c:1155 msgid "Error writing @d @b %b (@i %i): %m\n" msgstr "Fel vid skrivning av katalogblock %b (inod %i): %m\n" #. @-expanded: error allocating new directory block for inode %i (%s): %m\n -#: e2fsck/problem.c:1229 +#: e2fsck/problem.c:1160 #, c-format msgid "@A new @d @b for @i %i (%s): %m\n" -msgstr "Fel vid allokering av nytt katalogblock för inod %i (%s): %m\n" +msgstr "Fel vid allokering av nytt katalogblock för inod %i (%s): %m\n" #. @-expanded: Error deallocating inode %i: %m\n -#: e2fsck/problem.c:1234 +#: e2fsck/problem.c:1165 #, c-format msgid "Error deallocating @i %i: %m\n" msgstr "Fel vid deallokering av inod %i: %m\n" #. @-expanded: directory entry for '.' in %p (%i) is big.\n -#: e2fsck/problem.c:1239 +#: e2fsck/problem.c:1170 #, c-format msgid "@d @e for '.' in %p (%i) is big.\n" -msgstr "Katalogpost för \".\" i %p (%i) är stor.\n" +msgstr "Katalogpost för \".\" i %p (%i) är stor.\n" #. @-expanded: inode %i (%Q) is an illegal FIFO.\n -#: e2fsck/problem.c:1244 +#: e2fsck/problem.c:1175 msgid "@i %i (%Q) is an @I FIFO.\n" -msgstr "Inod %i (%Q) är en ogiltig FIFO.\n" +msgstr "Inod %i (%Q) är en ogiltig FIFO.\n" #. @-expanded: inode %i (%Q) is an illegal socket.\n -#: e2fsck/problem.c:1249 +#: e2fsck/problem.c:1180 msgid "@i %i (%Q) is an @I socket.\n" -msgstr "Inod %i (%Q) är ett ogiltigt uttag (socket).\n" +msgstr "Inod %i (%Q) är ett ogiltigt uttag (socket).\n" #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n -#: e2fsck/problem.c:1254 +#: e2fsck/problem.c:1185 msgid "Setting filetype for @E to %N.\n" -msgstr "Sätter filtyp för post \"%Dn\" i %p (%i) till %N.\n" +msgstr "Sätter filtyp för post \"%Dn\" i %p (%i) till %N.\n" #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n -#: e2fsck/problem.c:1259 +#: e2fsck/problem.c:1190 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n" msgstr "Post \"%Dn\" i %p (%i) har felaktig filtyp (var %Dt, skulle varit %N).\n" #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n -#: e2fsck/problem.c:1264 +#: e2fsck/problem.c:1195 msgid "@E has filetype set.\n" msgstr "Post \"%Dn\" i %p (%i) har filtyp satt.\n" #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n -#: e2fsck/problem.c:1269 +#: e2fsck/problem.c:1200 msgid "@E has a @z name.\n" -msgstr "Post \"%Dn\" i %p (%i) har nollängdsnamn.\n" +msgstr "Post \"%Dn\" i %p (%i) har nollängdsnamn.\n" #. @-expanded: Symlink %Q (inode #%i) is invalid.\n -#: e2fsck/problem.c:1274 +#: e2fsck/problem.c:1205 msgid "Symlink %Q (@i #%i) is @n.\n" -msgstr "Symlänk %Q (inod nr. %i) är ogiltig.\n" +msgstr "Symlänk %Q (inod nr. %i) är ogiltig.\n" #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n -#: e2fsck/problem.c:1279 +#: e2fsck/problem.c:1210 msgid "@a @b @F @n (%If).\n" -msgstr "Utökat attribut-block för inod %i (%Q) är ogiltigt (%If).\n" +msgstr "Utökat attribut-block för inod %i (%Q) är ogiltigt (%If).\n" #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n -#: e2fsck/problem.c:1284 +#: e2fsck/problem.c:1215 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n" -msgstr "Filsystem innehÃ¥ller stora filer, men saknar flaggan LARGE_FILE i superblock.\n" +msgstr "Filsystem innehåller stora filer, men saknar flaggan LARGE_FILE i superblock.\n" #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n -#: e2fsck/problem.c:1289 +#: e2fsck/problem.c:1220 msgid "@p @h %d: %B not referenced\n" msgstr "Problem i HTREE-kataloginod %d: %B inte refererad\n" #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n -#: e2fsck/problem.c:1294 +#: e2fsck/problem.c:1225 msgid "@p @h %d: %B referenced twice\n" -msgstr "Problem i HTREE-kataloginod %d: %B refererat tvÃ¥ gÃ¥nger\n" +msgstr "Problem i HTREE-kataloginod %d: %B refererat två gånger\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n -#: e2fsck/problem.c:1299 +#: e2fsck/problem.c:1230 msgid "@p @h %d: %B has bad min hash\n" msgstr "Problem i HTREE-kataloginod %d: %B har felaktig min-hash\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n -#: e2fsck/problem.c:1304 +#: e2fsck/problem.c:1235 msgid "@p @h %d: %B has bad max hash\n" msgstr "Problem i HTREE-kataloginod %d: %B har felaktig max-hash\n" #. @-expanded: invalid HTREE directory inode %d (%q). -#: e2fsck/problem.c:1309 +#: e2fsck/problem.c:1240 msgid "@n @h %d (%q). " msgstr "Ogiltig HTREE-kataloginod %d (%q). " #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n -#: e2fsck/problem.c:1313 +#: e2fsck/problem.c:1244 msgid "@p @h %d (%q): bad @b number %b.\n" msgstr "Problem i HTREE-kataloginod %d (%q): felaktigt blocknummer %b.\n" #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n -#: e2fsck/problem.c:1323 +#: e2fsck/problem.c:1254 #, c-format msgid "@p @h %d: root node is @n\n" msgstr "Problem i HTREE-kataloginod %d: ogiltig rotnod.\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n -#: e2fsck/problem.c:1328 +#: e2fsck/problem.c:1259 msgid "@p @h %d: %B has @n limit (%N)\n" -msgstr "Problem i HTREE-kataloginod %d: %B har ogiltig gräns (%N)\n" +msgstr "Problem i HTREE-kataloginod %d: %B har ogiltig gräns (%N)\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n -#: e2fsck/problem.c:1333 +#: e2fsck/problem.c:1264 msgid "@p @h %d: %B has @n count (%N)\n" msgstr "" "Problem i HTREE-kataloginod %d: %B har ogiltigt antal (%N)\n" "\n" #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n -#: e2fsck/problem.c:1338 +#: e2fsck/problem.c:1269 msgid "@p @h %d: %B has an unordered hash table\n" msgstr "Problem i HTREE-kataloginod %d: %B har en oordnad hash-tabell\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n -#: e2fsck/problem.c:1343 +#: e2fsck/problem.c:1274 msgid "@p @h %d: %B has @n depth (%N)\n" msgstr "Problem i HTREE-kataloginod %d: %B har ogiltigt djup (%N)\n" #. @-expanded: Duplicate entry '%Dn' in %p (%i) found. -#: e2fsck/problem.c:1348 +#: e2fsck/problem.c:1279 msgid "Duplicate @E found. " msgstr "Duplicerad post \"%Dn\" i %p (%i) hittad. " #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n #. @-expanded: Rename to %s -#: e2fsck/problem.c:1353 +#: e2fsck/problem.c:1284 #, no-c-format msgid "" "@E has a non-unique filename.\n" @@ -2223,366 +2144,362 @@ msgstr "" #. @-expanded: Duplicate entry '%Dn' found.\n #. @-expanded: \tMarking %p (%i) to be rebuilt.\n #. @-expanded: \n -#: e2fsck/problem.c:1358 +#: e2fsck/problem.c:1289 msgid "" "Duplicate @e '%Dn' found.\n" "\tMarking %p (%i) to be rebuilt.\n" "\n" msgstr "" "Duplicerad post \"%Dn\" hittad.\n" -"\tMarkerar %p (%i) för ombyggnad.\n" +"\tMarkerar %p (%i) för ombyggnad.\n" "\n" #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1363 +#: e2fsck/problem.c:1294 msgid "i_blocks_hi @F %N, @s zero.\n" -msgstr "i_blocks_hi för inod %i (%Q) är %N, skulle varit noll.\n" +msgstr "i_blocks_hi för inod %i (%Q) är %N, skulle varit noll.\n" #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n -#: e2fsck/problem.c:1368 +#: e2fsck/problem.c:1299 msgid "Unexpected @b in @h %d (%q).\n" -msgstr "Oväntat block i HTREE-katalog %d (%q).\n" +msgstr "Oväntat block i HTREE-katalog %d (%q).\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n -#: e2fsck/problem.c:1372 +#: e2fsck/problem.c:1303 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n" -msgstr "Post \"%Dn\" i %p (%i) refererar inod %Di i grupp %g där _INODE_UNINIT är satt.\n" +msgstr "Post \"%Dn\" i %p (%i) refererar inod %Di i grupp %g där _INODE_UNINIT är satt.\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n -#: e2fsck/problem.c:1377 +#: e2fsck/problem.c:1308 msgid "@E references @i %Di found in @g %g's unused inodes area.\n" -msgstr "Post \"%Dn\" i %p (%i) refererar inod %Di funnen i oanvänt inodsomrÃ¥de i grupp %g.\n" +msgstr "Post \"%Dn\" i %p (%i) refererar inod %Di funnen i oanvänt inodsområde i grupp %g.\n" #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1382 +#: e2fsck/problem.c:1313 msgid "i_file_acl_hi @F %N, @s zero.\n" -msgstr "i_file_acl_hi för inod %i (%Q) är %N, skulle varit noll.\n" +msgstr "i_file_acl_hi för inod %i (%Q) är %N, skulle varit noll.\n" #. @-expanded: Pass 3: Checking directory connectivity\n -#: e2fsck/problem.c:1389 +#: e2fsck/problem.c:1320 msgid "Pass 3: Checking @d connectivity\n" -msgstr "Pass 3: Kontrollerar katalogförbindelser\n" +msgstr "Pass 3: Kontrollerar katalogförbindelser\n" #. @-expanded: root inode not allocated. -#: e2fsck/problem.c:1394 +#: e2fsck/problem.c:1325 msgid "@r not allocated. " msgstr "Rotinod inte allokerad. " #. @-expanded: No room in lost+found directory. -#: e2fsck/problem.c:1399 +#: e2fsck/problem.c:1330 msgid "No room in @l @d. " msgstr "Ingen plats i lost+found-katalog. " #. @-expanded: Unconnected directory inode %i (%p)\n -#: e2fsck/problem.c:1404 +#: e2fsck/problem.c:1335 #, c-format msgid "Unconnected @d @i %i (%p)\n" -msgstr "Oförbunden kataloginod %i (%p)\n" +msgstr "Oförbunden kataloginod %i (%p)\n" #. @-expanded: /lost+found not found. -#: e2fsck/problem.c:1409 +#: e2fsck/problem.c:1340 msgid "/@l not found. " msgstr "/lost+found inte funnen. " #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n -#: e2fsck/problem.c:1414 +#: e2fsck/problem.c:1345 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n" -msgstr "\"..\" i %Q (%i) är %P (%j), skulle varit %q (%d).\n" +msgstr "\"..\" i %Q (%i) är %P (%j), skulle varit %q (%d).\n" #. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n -#: e2fsck/problem.c:1419 +#: e2fsck/problem.c:1350 msgid "Bad or non-existent /@l. Cannot reconnect.\n" -msgstr "Felaktig eller ej existerande /lost+found. Kan inte Ã¥teransluta.\n" +msgstr "Felaktig eller ej existerande /lost+found. Kan inte återansluta.\n" #. @-expanded: Could not expand /lost+found: %m\n -#: e2fsck/problem.c:1424 +#: e2fsck/problem.c:1355 #, c-format msgid "Could not expand /@l: %m\n" msgstr "Kunde inte expandera /lost+found: %m\n" -#: e2fsck/problem.c:1429 +#: e2fsck/problem.c:1360 #, c-format msgid "Could not reconnect %i: %m\n" -msgstr "Kunde inte Ã¥terförbinda %i: %m\n" +msgstr "Kunde inte återförbinda %i: %m\n" #. @-expanded: Error while trying to find /lost+found: %m\n -#: e2fsck/problem.c:1434 +#: e2fsck/problem.c:1365 #, c-format msgid "Error while trying to find /@l: %m\n" -msgstr "Fel vid försök att hitta /lost+found: %m\n" +msgstr "Fel vid försök att hitta /lost+found: %m\n" #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1439 +#: e2fsck/problem.c:1370 #, c-format msgid "ext2fs_new_@b: %m while trying to create /@l @d\n" -msgstr "ext2fs_new_block: %m ved försök att skapa /lost+found-katalog\n" +msgstr "ext2fs_new_block: %m ved försök att skapa /lost+found-katalog\n" #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1444 +#: e2fsck/problem.c:1375 #, c-format msgid "ext2fs_new_@i: %m while trying to create /@l @d\n" -msgstr "ext2fs_new_inode: %m vid försök att skapa /lost+found-katalog\n" +msgstr "ext2fs_new_inode: %m vid försök att skapa /lost+found-katalog\n" #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n -#: e2fsck/problem.c:1449 +#: e2fsck/problem.c:1380 #, c-format msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n" -msgstr "ext2fs_new_dir_block: %m när nytt katalogblock skapades\n" +msgstr "ext2fs_new_dir_block: %m när nytt katalogblock skapades\n" #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n -#: e2fsck/problem.c:1454 +#: e2fsck/problem.c:1385 #, c-format msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n" -msgstr "ext2fs_write_dir_block: %m vid skrivning av katalogblocket för /lost+found\n" +msgstr "ext2fs_write_dir_block: %m vid skrivning av katalogblocket för /lost+found\n" #. @-expanded: Error while adjusting inode count on inode %i\n -#: e2fsck/problem.c:1459 +#: e2fsck/problem.c:1390 #, c-format msgid "Error while adjusting @i count on @i %i\n" -msgstr "Fel vid justering av inodräknare pÃ¥ inod %i\n" +msgstr "Fel vid justering av inodräknare på inod %i\n" #. @-expanded: Couldn't fix parent of inode %i: %m\n #. @-expanded: \n -#: e2fsck/problem.c:1464 +#: e2fsck/problem.c:1395 #, c-format msgid "" "Couldn't fix parent of @i %i: %m\n" "\n" msgstr "" -"Kunde inte rätta förälder till inod %i: %m\n" +"Kunde inte rätta förälder till inod %i: %m\n" "\n" #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n #. @-expanded: \n -#: e2fsck/problem.c:1469 +#: e2fsck/problem.c:1400 #, c-format msgid "" "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n" "\n" msgstr "" -"Kunde inte rätta förälder till inod %i: Kunde inte hitta förälderkatalogpost\n" +"Kunde inte rätta förälder till inod %i: Kunde inte hitta förälderkatalogpost\n" "\n" #. @-expanded: Error creating root directory (%s): %m\n -#: e2fsck/problem.c:1479 +#: e2fsck/problem.c:1410 #, c-format msgid "Error creating root @d (%s): %m\n" msgstr "Fel vid skapande av rotkatalog (%s): %m\n" #. @-expanded: Error creating /lost+found directory (%s): %m\n -#: e2fsck/problem.c:1484 +#: e2fsck/problem.c:1415 #, c-format msgid "Error creating /@l @d (%s): %m\n" msgstr "Fel vid skapande av /lost+found-katalog (%s): %m\n" #. @-expanded: root inode is not a directory; aborting.\n -#: e2fsck/problem.c:1489 +#: e2fsck/problem.c:1420 msgid "@r is not a @d; aborting.\n" -msgstr "Rotinod är inte en katalog; avbryter.\n" +msgstr "Rotinod är inte en katalog; avbryter.\n" #. @-expanded: Cannot proceed without a root inode.\n -#: e2fsck/problem.c:1494 +#: e2fsck/problem.c:1425 msgid "Cannot proceed without a @r.\n" -msgstr "Kan inte fortsätta utan en rotinod.\n" +msgstr "Kan inte fortsätta utan en rotinod.\n" #. @-expanded: /lost+found is not a directory (ino=%i)\n -#: e2fsck/problem.c:1504 +#: e2fsck/problem.c:1435 #, c-format msgid "/@l is not a @d (ino=%i)\n" -msgstr "/lost+found är inte en katalog (ino=%i)\n" +msgstr "/lost+found är inte en katalog (ino=%i)\n" -#: e2fsck/problem.c:1511 +#: e2fsck/problem.c:1442 msgid "Pass 3A: Optimizing directories\n" msgstr "Pass 3A: Optimerar kataloger\n" -#: e2fsck/problem.c:1516 +#: e2fsck/problem.c:1447 #, c-format msgid "Failed to create dirs_to_hash iterator: %m\n" msgstr "Misslyckades att skapa dirs_to_hash-iterator: %m\n" -#: e2fsck/problem.c:1521 +#: e2fsck/problem.c:1452 msgid "Failed to optimize directory %q (%d): %m\n" msgstr "Misslyckades att optimera katalog %q (%d): %m\n" -#: e2fsck/problem.c:1526 +#: e2fsck/problem.c:1457 msgid "Optimizing directories: " msgstr "Optimerar kataloger: " -#: e2fsck/problem.c:1543 +#: e2fsck/problem.c:1474 msgid "Pass 4: Checking reference counts\n" -msgstr "Pass 4: Kontrollerar referensräknare\n" +msgstr "Pass 4: Kontrollerar referensräknare\n" #. @-expanded: unattached zero-length inode %i. -#: e2fsck/problem.c:1548 +#: e2fsck/problem.c:1479 #, c-format msgid "@u @z @i %i. " -msgstr "Lös nollängdsinod %i. " +msgstr "Lös nollängdsinod %i. " #. @-expanded: unattached inode %i\n -#: e2fsck/problem.c:1553 +#: e2fsck/problem.c:1484 #, c-format msgid "@u @i %i\n" -msgstr "lös inod %i\n" +msgstr "lös inod %i\n" #. @-expanded: inode %i ref count is %Il, should be %N. -#: e2fsck/problem.c:1558 +#: e2fsck/problem.c:1489 msgid "@i %i ref count is %Il, @s %N. " -msgstr "Inod %i referensräknare är %Il, skulle varit %N. " +msgstr "Inod %i referensräknare är %Il, skulle varit %N. " #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n -#: e2fsck/problem.c:1562 +#: e2fsck/problem.c:1493 msgid "" "WARNING: PROGRAMMING BUG IN E2FSCK!\n" "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n" "@i_link_info[%i] is %N, @i.i_links_count is %Il. They @s the same!\n" msgstr "" "VARNING: PROGRAMMERINGSFEL I E2FSCK!\n" -" ELLER NÃ…GON KLANTSKALLE (DU) KONTROLLERAR ETT MONTERAT (AKTIVT) FILSYSTEM.\n" -"inod_link_info[%i] är %N, inod.i_links_count är %Il. De skulle vara samma!\n" +" ELLER NÅGON KLANTSKALLE (DU) KONTROLLERAR ETT MONTERAT (AKTIVT) FILSYSTEM.\n" +"inod_link_info[%i] är %N, inod.i_links_count är %Il. De skulle vara samma!\n" #. @-expanded: Pass 5: Checking group summary information\n -#: e2fsck/problem.c:1572 +#: e2fsck/problem.c:1503 msgid "Pass 5: Checking @g summary information\n" msgstr "Pass 5: Kontrollerar gruppsammanfattningsinformation\n" #. @-expanded: Padding at end of inode bitmap is not set. -#: e2fsck/problem.c:1577 +#: e2fsck/problem.c:1508 msgid "Padding at end of @i @B is not set. " -msgstr "Utfyllnad vid slutet av inodsbitkarta är inte satt. " +msgstr "Utfyllnad vid slutet av inodsbitkarta är inte satt. " #. @-expanded: Padding at end of block bitmap is not set. -#: e2fsck/problem.c:1582 +#: e2fsck/problem.c:1513 msgid "Padding at end of @b @B is not set. " -msgstr "Utfyllnad vid slutet av blockbitkarta är inte satt. " +msgstr "Utfyllnad vid slutet av blockbitkarta är inte satt. " #. @-expanded: block bitmap differences: -#: e2fsck/problem.c:1587 +#: e2fsck/problem.c:1518 msgid "@b @B differences: " msgstr "Blockbitkarteskillnader: " #. @-expanded: inode bitmap differences: -#: e2fsck/problem.c:1607 +#: e2fsck/problem.c:1538 msgid "@i @B differences: " msgstr "Inodsbitkarteskillnader: " #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1627 +#: e2fsck/problem.c:1558 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n" -msgstr "Antal fria inoder är fel för grupp nr. %g (%i, räknade=%j).\n" +msgstr "Antal fria inoder är fel för grupp nr. %g (%i, räknade=%j).\n" #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1632 +#: e2fsck/problem.c:1563 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n" -msgstr "Katalogantal fel för grupp nr. %g (%i, räknade=%j).\n" +msgstr "Katalogantal fel för grupp nr. %g (%i, räknade=%j).\n" #. @-expanded: Free inodes count wrong (%i, counted=%j).\n -#: e2fsck/problem.c:1637 +#: e2fsck/problem.c:1568 msgid "Free @is count wrong (%i, counted=%j).\n" -msgstr "Antal fria inoder är fel (%i, räknade=%j).\n" +msgstr "Antal fria inoder är fel (%i, räknade=%j).\n" #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n -#: e2fsck/problem.c:1642 +#: e2fsck/problem.c:1573 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n" -msgstr "Antal fria block är fel för grupp nr. %g (%b, räknade=%c).\n" +msgstr "Antal fria block är fel för grupp nr. %g (%b, räknade=%c).\n" #. @-expanded: Free blocks count wrong (%b, counted=%c).\n -#: e2fsck/problem.c:1647 +#: e2fsck/problem.c:1578 msgid "Free @bs count wrong (%b, counted=%c).\n" -msgstr "Antal fria block är fel (%b, räknade=%c).\n" +msgstr "Antal fria block är fel (%b, räknade=%c).\n" #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap #. @-expanded: endpoints (%i, %j)\n -#: e2fsck/problem.c:1652 +#: e2fsck/problem.c:1583 msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n" msgstr "" -"PROGRAMMERINGSFEL: filsystem (nr. %N) bitkartas ändpunkter (%b, %c) stämmer\n" -"inte med beräknade bitkarteändpunkter (%i, %j)\n" +"PROGRAMMERINGSFEL: filsystem (nr. %N) bitkartas ändpunkter (%b, %c) stämmer\n" +"inte med beräknade bitkarteändpunkter (%i, %j)\n" -#: e2fsck/problem.c:1658 +#: e2fsck/problem.c:1589 msgid "Internal error: fudging end of bitmap (%N)\n" -msgstr "Internt fel: fuskar till slut pÃ¥ bitkarta (%N)\n" +msgstr "Internt fel: fuskar till slut på bitkarta (%N)\n" #. @-expanded: Error copying in replacement inode bitmap: %m\n -#: e2fsck/problem.c:1663 +#: e2fsck/problem.c:1594 #, c-format msgid "Error copying in replacement @i @B: %m\n" -msgstr "Fel vid kopiering av ersättningsinodskarta: %m\n" +msgstr "Fel vid kopiering av ersättningsinodskarta: %m\n" #. @-expanded: Error copying in replacement block bitmap: %m\n -#: e2fsck/problem.c:1668 +#: e2fsck/problem.c:1599 #, c-format msgid "Error copying in replacement @b @B: %m\n" -msgstr "Fel vid inkopiering av ersättningsbitkarta: %m\n" +msgstr "Fel vid inkopiering av ersättningsbitkarta: %m\n" #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n -#: e2fsck/problem.c:1693 +#: e2fsck/problem.c:1624 #, c-format msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n" -msgstr "block i grupp %g används men gruppen är markerad BLOCK_UNINIT\n" +msgstr "block i grupp %g används men gruppen är markerad BLOCK_UNINIT\n" #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n -#: e2fsck/problem.c:1698 +#: e2fsck/problem.c:1629 #, c-format msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n" -msgstr "inoder i grupp %g används men gruppen är markerad INODE_UNINIT\n" +msgstr "inoder i grupp %g används men gruppen är markerad INODE_UNINIT\n" #. @-expanded: Recreate journal -#: e2fsck/problem.c:1705 +#: e2fsck/problem.c:1636 msgid "Recreate @j" -msgstr "Ã…terskapa journal" +msgstr "Återskapa journal" -#: e2fsck/problem.c:1710 -msgid "Update quota info for quota type %N" -msgstr "Uppdatera kvotinformation för kvottyp %N" - -#: e2fsck/problem.c:1829 +#: e2fsck/problem.c:1755 #, c-format msgid "Unhandled error code (0x%x)!\n" msgstr "Ej hanterad felkod (0x%x)!\n" -#: e2fsck/problem.c:1954 e2fsck/problem.c:1958 +#: e2fsck/problem.c:1850 msgid "IGNORED" msgstr "IGNORERAT" -#: e2fsck/scantest.c:79 +#: e2fsck/scantest.c:81 #, c-format msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n" -msgstr "Använt minne: %d, förlupen tid: %6.3f/%6.3f/%6.3f\n" +msgstr "Använt minne: %d, förlupen tid: %6.3f/%6.3f/%6.3f\n" -#: e2fsck/scantest.c:98 +#: e2fsck/scantest.c:100 #, c-format msgid "size of inode=%d\n" -msgstr "storlek pÃ¥ inod=%d\n" +msgstr "storlek på inod=%d\n" -#: e2fsck/scantest.c:119 +#: e2fsck/scantest.c:121 msgid "while starting inode scan" -msgstr "vid start av inodsgenomsökning" +msgstr "vid start av inodsgenomsökning" -#: e2fsck/scantest.c:130 +#: e2fsck/scantest.c:132 msgid "while doing inode scan" -msgstr "vid inodsgenomsökning" +msgstr "vid inodsgenomsökning" -#: e2fsck/super.c:188 +#: e2fsck/super.c:187 #, c-format msgid "while calling ext2fs_block_iterate for inode %d" -msgstr "vid anrop av ext2fs_block_iterate för inod %d" +msgstr "vid anrop av ext2fs_block_iterate för inod %d" -#: e2fsck/super.c:211 +#: e2fsck/super.c:209 #, c-format -msgid "while calling ext2fs_adjust_ea_refcount2 for inode %d" -msgstr "vid anrop av ext2fs_adjust_ea_refcount2 för inod %d" +msgid "while calling ext2fs_adjust_ea_refcount for inode %d" +msgstr "vid anrop av ext2fs_adjust_ea_refcount för inod %d" -#: e2fsck/super.c:272 +#: e2fsck/super.c:267 msgid "Truncating" msgstr "Kapar" -#: e2fsck/super.c:273 +#: e2fsck/super.c:268 msgid "Clearing" -msgstr "Tömmer" +msgstr "Tömmer" -#: e2fsck/unix.c:74 +#: e2fsck/unix.c:76 #, c-format msgid "" "Usage: %s [-panyrcdfvtDFV] [-b superblock] [-B blocksize]\n" @@ -2590,12 +2507,12 @@ msgid "" "\t\t[-l|-L bad_blocks_file] [-C fd] [-j external_journal]\n" "\t\t[-E extended-options] device\n" msgstr "" -"Användning: %s [-panyrcdfvtDFV] [-b superblock] [-B blockstorlek]\n" +"Användning: %s [-panyrcdfvtDFV] [-b superblock] [-B blockstorlek]\n" "\t\t[-I inodbuffertblock] [-P processinodsstorlek]\n" -"\t\t[-l|-L dÃ¥liga_block_fil] [-C fd] [-j extern_journal]\n" -"\t\t[-E utökade-flaggor] enhet\n" +"\t\t[-l|-L dåliga_block_fil] [-C fd] [-j extern_journal]\n" +"\t\t[-E utökade-flaggor] enhet\n" -#: e2fsck/unix.c:80 +#: e2fsck/unix.c:82 #, c-format msgid "" "\n" @@ -2607,14 +2524,14 @@ msgid "" " -f Force checking even if filesystem is marked clean\n" msgstr "" "\n" -"Nödhjälp:\n" -" -p Repearera automatiskt (inga frÃ¥gor)\n" -" -n Gör inga förändringar av filsystemet\n" -" -y Anta \"ja\" som svar pÃ¥ alla frÃ¥gor\n" -" -c Leta efter dÃ¥liga block och lägg till dem i listan\n" -" -f Framtvinga kontroll även om filsystemet är markerat rent\n" +"Nödhjälp:\n" +" -p Repearera automatiskt (inga frågor)\n" +" -n Gör inga förändringar av filsystemet\n" +" -y Anta \"ja\" som svar på alla frågor\n" +" -c Leta efter dåliga block och lägg till dem i listan\n" +" -f Framtvinga kontroll även om filsystemet är markerat rent\n" -#: e2fsck/unix.c:86 +#: e2fsck/unix.c:88 #, c-format msgid "" " -v Be verbose\n" @@ -2624,266 +2541,140 @@ msgid "" " -l bad_blocks_file Add to badblocks list\n" " -L bad_blocks_file Set badblocks list\n" msgstr "" -" -v Var utförlig\n" -" -b superblock Använd alternativt superblock\n" -" -B blockstorlek Framtvinga blockstorlek vid sökande efter superblock\n" -" -j extern_journal Bestäm plats för den externa journalen\n" -" -l dÃ¥liga_block_fil Lägg till till listan över dÃ¥liga block\n" -" -L dÃ¥liga_block_fil Ange lista över dÃ¥liga block\n" - -#: e2fsck/unix.c:131 -#, c-format -msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n" -msgstr "%s: %u/%u filer (%0d.%d%% ej sammanhängande), %llu/%llu block\n" - -#: e2fsck/unix.c:157 -#, c-format -msgid "" -"\n" -"%12u inode used (%2.2f%%, out of %u)\n" -msgid_plural "" -"\n" -"%12u inodes used (%2.2f%%, out of %u)\n" -msgstr[0] "" -"\n" -"%12u inod använd (%2.2f %%, av %u)\n" -msgstr[1] "" -"\n" -"%12u inoder använda (%2.2f %%, av %u)\n" - -#: e2fsck/unix.c:161 -#, c-format -msgid "%12u non-contiguous file (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous files (%0d.%d%%)\n" -msgstr[0] "%12u ej konsekutiv fil (%0d.%d %%)\n" -msgstr[1] "%12u ej konsekutiva filer (%0d.%d %%)\n" - -#: e2fsck/unix.c:166 -#, c-format -msgid "%12u non-contiguous directory (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n" -msgstr[0] "%12u ej konsekutiv katalog (%0d.%d %%)\n" -msgstr[1] "%12u ej konsekutiva kataloger (%0d.%d %%)\n" - -#: e2fsck/unix.c:171 -#, c-format -msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" -msgstr " antal inoder med ind/dind/tind-block: %u/%u/%u\n" - -#: e2fsck/unix.c:179 -msgid " Extent depth histogram: " -msgstr " Histogram över utsträckningars djup: " - -#: e2fsck/unix.c:188 -#, c-format -msgid "%12llu block used (%2.2f%%, out of %llu)\n" -msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n" -msgstr[0] "%12llu använt block (%2.2f %%, av %llu)\n" -msgstr[1] "%12llu använda block (%2.2f %%, av %llu)\n" - -#: e2fsck/unix.c:192 -#, c-format -msgid "%12u bad block\n" -msgid_plural "%12u bad blocks\n" -msgstr[0] "%12u dÃ¥ligt block\n" -msgstr[1] "%12u dÃ¥liga block\n" - -#: e2fsck/unix.c:194 -#, c-format -msgid "%12u large file\n" -msgid_plural "%12u large files\n" -msgstr[0] "%12u stor fil\n" -msgstr[1] "%12u stora filer\n" - -#: e2fsck/unix.c:196 -#, c-format -msgid "" -"\n" -"%12u regular file\n" -msgid_plural "" -"\n" -"%12u regular files\n" -msgstr[0] "" -"\n" -"%12u normal fil\n" -msgstr[1] "" -"\n" -"%12u normala filer\n" - -#: e2fsck/unix.c:198 -#, c-format -msgid "%12u directory\n" -msgid_plural "%12u directories\n" -msgstr[0] "%12u katalog\n" -msgstr[1] "%12u kataloger\n" - -#: e2fsck/unix.c:200 -#, c-format -msgid "%12u character device file\n" -msgid_plural "%12u character device files\n" -msgstr[0] "%12u teckenenhetsfil\n" -msgstr[1] "%12u teckenenhetsfiler\n" - -#: e2fsck/unix.c:203 -#, c-format -msgid "%12u block device file\n" -msgid_plural "%12u block device files\n" -msgstr[0] "%12u blockenhetsfil\n" -msgstr[1] "%12u blockenhetsfiler\n" - -#: e2fsck/unix.c:205 -#, c-format -msgid "%12u fifo\n" -msgid_plural "%12u fifos\n" -msgstr[0] "%12u fifo\n" -msgstr[1] "%12u fifon\n" - -#: e2fsck/unix.c:207 -#, c-format -msgid "%12u link\n" -msgid_plural "%12u links\n" -msgstr[0] "%12u länk\n" -msgstr[1] "%12u länkar\n" - -#: e2fsck/unix.c:209 -#, c-format -msgid "%12u symbolic link" -msgid_plural "%12u symbolic links" -msgstr[0] "%12u symbolisk länk" -msgstr[1] "%12u symboliska länkar" +" -v Var utförlig\n" +" -b superblock Använd alternativt superblock\n" +" -B blockstorlek Framtvinga blockstorlek vid sökande efter superblock\n" +" -j extern_journal Bestäm plats för den externa journalen\n" +" -l dåliga_block_fil Lägg till till listan över dåliga block\n" +" -L dåliga_block_fil Ange lista över dåliga block\n" -#: e2fsck/unix.c:211 +#: e2fsck/unix.c:132 #, c-format -msgid " (%u fast symbolic link)\n" -msgid_plural " (%u fast symbolic links)\n" -msgstr[0] " (%u snabb symbolisk länk)\n" -msgstr[1] " (%u snbba symboliska länkar)\n" +msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n" +msgstr "%s: %u/%u filer (%0d.%d%% ej sammanhängande), %u/%u block\n" -#: e2fsck/unix.c:215 +#: e2fsck/unix.c:150 #, c-format -msgid "%12u socket\n" -msgid_plural "%12u sockets\n" -msgstr[0] "%12u uttag (socket)\n" -msgstr[1] "%12u uttag (sockets)\n" +msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" +msgstr " antal inoder med ind/dind/tind-block: %u/%u/%u\n" -#: e2fsck/unix.c:219 +#: e2fsck/unix.c:157 #, c-format -msgid "%12u file\n" -msgid_plural "%12u files\n" -msgstr[0] "%12u fil\n" -msgstr[1] "%12u filer\n" +msgid " Extent depth histogram: " +msgstr " Histogram över utsträckningars djup: " -#: e2fsck/unix.c:232 misc/badblocks.c:983 misc/tune2fs.c:1985 misc/util.c:147 -#: resize/main.c:259 +#: e2fsck/unix.c:207 misc/badblocks.c:928 misc/tune2fs.c:1625 misc/util.c:151 +#: resize/main.c:249 #, c-format msgid "while determining whether %s is mounted." -msgstr "när det avgjordes om %s är monterat." +msgstr "när det avgjordes om %s är monterat." -#: e2fsck/unix.c:252 +#: e2fsck/unix.c:225 #, c-format -msgid "Warning! %s is %s.\n" -msgstr "Varning! %s är %s.\n" +msgid "Warning! %s is mounted.\n" +msgstr "Varning! %s är monterat.\n" -#: e2fsck/unix.c:259 +#: e2fsck/unix.c:229 #, c-format -msgid "%s is %s.\n" -msgstr "%s är %s.\n" +msgid "%s is mounted. " +msgstr "%s är monterat. " -#: e2fsck/unix.c:262 +#: e2fsck/unix.c:231 msgid "" "Cannot continue, aborting.\n" "\n" msgstr "" -"Kan inte fortsätta, avbryter.\n" +"Kan inte fortsätta, avbryter.\n" "\n" -#: e2fsck/unix.c:264 +#: e2fsck/unix.c:232 +#, c-format msgid "" "\n" "\n" -"WARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" -"cause ***SEVERE*** filesystem damage.\n" +"\a\a\a\aWARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" +"cause ***SEVERE*** filesystem damage.\a\a\a\n" "\n" msgstr "" "\n" "\n" -"VARNING!!! Filsystemet är monterat. Om du fortsätter ***KOMMER***\n" -"du att orsaka ***ALLVARLIG*** skada pÃ¥ filsystemet.\n" +"\a\a\a\aVARNING!!! Filsystemet är monterat. Om du fortsätter ***KOMMER***\n" +"du att orsaka ***ALLVARLIG*** skada.\a\a\a\n" "\n" -#: e2fsck/unix.c:269 +#: e2fsck/unix.c:235 msgid "Do you really want to continue" -msgstr "Vill du verkligen fortsätta" +msgstr "Vill du verkligen fortsätta" -#: e2fsck/unix.c:271 +#: e2fsck/unix.c:237 #, c-format msgid "check aborted.\n" msgstr "kontroll avbruten.\n" -#: e2fsck/unix.c:361 +#: e2fsck/unix.c:315 msgid " contains a file system with errors" -msgstr " innehÃ¥ller ett filsystem med fel" +msgstr " innehåller ett filsystem med fel" -#: e2fsck/unix.c:363 +#: e2fsck/unix.c:317 msgid " was not cleanly unmounted" -msgstr " var inte fläckfritt avmonterat" +msgstr " var inte fläckfritt avmonterat" -#: e2fsck/unix.c:365 +#: e2fsck/unix.c:319 msgid " primary superblock features different from backup" -msgstr " det primära superblockets egenskaper skiljer frÃ¥n reservens" +msgstr " det primära superblockets egenskaper skiljer från reservens" -#: e2fsck/unix.c:369 +#: e2fsck/unix.c:323 #, c-format msgid " has been mounted %u times without being checked" -msgstr " har monterats %u gÃ¥nger utan att kontrolleras" +msgstr " har monterats %u gånger utan att kontrolleras" -#: e2fsck/unix.c:376 +#: e2fsck/unix.c:330 msgid " has filesystem last checked time in the future" -msgstr " har tidpunkten för senaste filsystemskontroll i framtiden" +msgstr " har tidpunkten för senaste filsystemskontroll i framtiden" -#: e2fsck/unix.c:382 +#: e2fsck/unix.c:336 #, c-format msgid " has gone %u days without being checked" -msgstr " har inte kontrollerats pÃ¥ %u dagar" +msgstr " har inte kontrollerats på %u dagar" -#: e2fsck/unix.c:391 +#: e2fsck/unix.c:345 msgid ", check forced.\n" msgstr ", kontroll framtvingad.\n" -#: e2fsck/unix.c:424 +#: e2fsck/unix.c:348 #, c-format -msgid "%s: clean, %u/%u files, %llu/%llu blocks" -msgstr "%s: rent, %u/%u filer, %llu/%llu block" +msgid "%s: clean, %u/%u files, %u/%u blocks" +msgstr "%s: rent, %u/%u filer, %u/%u block" -#: e2fsck/unix.c:443 +#: e2fsck/unix.c:365 msgid " (check deferred; on battery)" -msgstr " (kontroll senarelagd; pÃ¥ batteri)" +msgstr " (kontroll senarelagd; på batteri)" -#: e2fsck/unix.c:446 +#: e2fsck/unix.c:368 msgid " (check after next mount)" -msgstr " (kontrollera efter nästa montering)" +msgstr " (kontrollera efter nästa montering)" -#: e2fsck/unix.c:448 +#: e2fsck/unix.c:370 #, c-format msgid " (check in %ld mounts)" msgstr " (kontrollera om %ld monteringar)" -#: e2fsck/unix.c:598 +#: e2fsck/unix.c:517 #, c-format msgid "ERROR: Couldn't open /dev/null (%s)\n" -msgstr "FEL: Kunde inte öppna /dev/null (%s)\n" +msgstr "FEL: Kunde inte öppna /dev/null (%s)\n" -#: e2fsck/unix.c:667 +#: e2fsck/unix.c:587 #, c-format msgid "Invalid EA version.\n" msgstr "Ogiltig EA-version.\n" -#: e2fsck/unix.c:694 +#: e2fsck/unix.c:596 #, c-format msgid "Unknown extended option: %s\n" -msgstr "Okänd utökad flagga: %s\n" +msgstr "Okänd utökad flagga: %s\n" -#: e2fsck/unix.c:719 +#: e2fsck/unix.c:618 #, c-format msgid "" "Syntax error in e2fsck config file (%s, line #%d)\n" @@ -2892,57 +2683,56 @@ msgstr "" "Syntaxfel i e2fsck:s konfigurationsfil (%s, rad nr %d)\n" "\t%s\n" -#: e2fsck/unix.c:788 +#: e2fsck/unix.c:686 #, c-format msgid "Error validating file descriptor %d: %s\n" msgstr "Fel vid validering av filidentifierare %d: %s\n" -#: e2fsck/unix.c:792 +#: e2fsck/unix.c:690 msgid "Invalid completion information file descriptor" -msgstr "Ogiltig filidentifierare för förloppsinformation" +msgstr "Ogiltig filidentifierare för förloppsinformation" -#: e2fsck/unix.c:807 +#: e2fsck/unix.c:705 msgid "Only one of the options -p/-a, -n or -y may be specified." msgstr "Endast en av flaggorna -p/-a, -n eller -y kan anges." -#: e2fsck/unix.c:828 +#: e2fsck/unix.c:726 #, c-format msgid "The -t option is not supported on this version of e2fsck.\n" -msgstr "Flaggan -t stödjs inte i denna version av e2fsck.\n" - -#: e2fsck/unix.c:859 e2fsck/unix.c:931 misc/tune2fs.c:811 misc/tune2fs.c:1100 -#: misc/tune2fs.c:1118 -#, c-format -msgid "Unable to resolve '%s'" -msgstr "Kan inte hitta \"%s\"" +msgstr "Flaggan -t stödjs inte i denna version av e2fsck.\n" -#: e2fsck/unix.c:910 +#: e2fsck/unix.c:801 msgid "The -n and -D options are incompatible." -msgstr "Flaggorna -n och -D är inkompatibla." +msgstr "Flaggorna -n och -D är inkompatibla." -#: e2fsck/unix.c:915 +#: e2fsck/unix.c:806 msgid "The -n and -c options are incompatible." -msgstr "Flaggorna -n och -c är inkompatibla." +msgstr "Flaggorna -n och -c är inkompatibla." -#: e2fsck/unix.c:920 +#: e2fsck/unix.c:811 msgid "The -n and -l/-L options are incompatible." -msgstr "Flaggorna -n och -l/-L är inkompatibla." +msgstr "Flaggorna -n och -l/-L är inkompatibla." + +#: e2fsck/unix.c:822 misc/tune2fs.c:550 misc/tune2fs.c:835 misc/tune2fs.c:853 +#, c-format +msgid "Unable to resolve '%s'" +msgstr "Kan inte hitta \"%s\"" -#: e2fsck/unix.c:974 +#: e2fsck/unix.c:851 #, c-format msgid "The -c and the -l/-L options may not be both used at the same time.\n" -msgstr "Flaggorna -c och -l/-L kan inte bÃ¥da användas pÃ¥ samma gÃ¥ng.\n" +msgstr "Flaggorna -c och -l/-L kan inte båda användas på samma gång.\n" -#: e2fsck/unix.c:1022 +#: e2fsck/unix.c:899 #, c-format msgid "" "E2FSCK_JBD_DEBUG \"%s\" not an integer\n" "\n" msgstr "" -"E2FSCK_JBD_DEBUG \"%s\" är inte ett heltal\n" +"E2FSCK_JBD_DEBUG \"%s\" är inte ett heltal\n" "\n" -#: e2fsck/unix.c:1031 +#: e2fsck/unix.c:908 #, c-format msgid "" "\n" @@ -2953,189 +2743,183 @@ msgstr "" "Ogiltigt ickenumerikst argument till -%c (\"%s\")\n" "\n" -#: e2fsck/unix.c:1120 -#, c-format -msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n" -msgstr "MMP-intervall är %u sekunder och den totala väntetiden är %u sekunder. Var god dröj ...\n" - -#: e2fsck/unix.c:1137 e2fsck/unix.c:1142 -msgid "while checking MMP block" -msgstr "vid uppsättning av MMP-block" - -#: e2fsck/unix.c:1144 misc/tune2fs.c:1912 -msgid "" -"If you are sure the filesystem is not in use on any node, run:\n" -"'tune2fs -f -E clear_mmp {device}'\n" -msgstr "" -"Om du är säker pÃ¥ att filsystemet inte används pÃ¥ nÃ¥gon nod, kör:\n" -"\"tune2fs-f-E clear_mmp {enhet}\"\n" - -#: e2fsck/unix.c:1194 +#: e2fsck/unix.c:982 #, c-format msgid "Error: ext2fs library version out of date!\n" msgstr "Fel: ext2fs-bibliotekversion inaktuell!\n" -#: e2fsck/unix.c:1202 +#: e2fsck/unix.c:990 msgid "while trying to initialize program" -msgstr "vid försök att initiera program" +msgstr "vid försök att initiera program" -#: e2fsck/unix.c:1225 +#: e2fsck/unix.c:1001 #, c-format msgid "\tUsing %s, %s\n" -msgstr "\tAnvänder %s, %s\n" +msgstr "\tAnvänder %s, %s\n" -#: e2fsck/unix.c:1237 +#: e2fsck/unix.c:1013 msgid "need terminal for interactive repairs" -msgstr "behöver terminal för interaktiva reparationer" +msgstr "behöver terminal för interaktiva reparationer" -#: e2fsck/unix.c:1290 +#: e2fsck/unix.c:1046 #, c-format msgid "%s: %s trying backup blocks...\n" -msgstr "%s: %s försöker med reservblock ...\n" +msgstr "%s: %s försöker med reservblock ...\n" -#: e2fsck/unix.c:1292 +#: e2fsck/unix.c:1048 msgid "Superblock invalid," -msgstr "Superblocket är ogiltigt," +msgstr "Superblocket är ogiltigt," -#: e2fsck/unix.c:1293 +#: e2fsck/unix.c:1049 msgid "Group descriptors look bad..." msgstr "Gruppbeskrivarna ser trasiga ut ..." -#: e2fsck/unix.c:1303 -#, c-format -msgid "%s: %s while using the backup blocks" -msgstr "%s: %s när reservblocken användes" - -#: e2fsck/unix.c:1307 +#: e2fsck/unix.c:1059 #, c-format msgid "%s: going back to original superblock\n" -msgstr "%s: gÃ¥r tillbaka till orginalsuperblock\n" +msgstr "%s: går tillbaka till orginalsuperblock\n" -#: e2fsck/unix.c:1335 +#: e2fsck/unix.c:1086 +#, c-format msgid "" "The filesystem revision is apparently too high for this version of e2fsck.\n" "(Or the filesystem superblock is corrupt)\n" "\n" msgstr "" -"Filsystemsrevisionen är uppenbarligen för hög för denna version av e2fsck.\n" -"(Eller sÃ¥ är filsystemets superblock trasigt)\n" +"Filsystemsrevisionen är uppenbarligen för hög för denna version av e2fsck.\n" +"(Eller så är filsystemets superblock trasigt)\n" "\n" -#: e2fsck/unix.c:1341 +#: e2fsck/unix.c:1092 +#, c-format msgid "Could this be a zero-length partition?\n" -msgstr "Kan detta vara en nollängdspartition?\n" +msgstr "Kan detta vara en nollängdspartition?\n" -#: e2fsck/unix.c:1344 +#: e2fsck/unix.c:1094 #, c-format msgid "You must have %s access to the filesystem or be root\n" -msgstr "Du mÃ¥ste ha %s-Ã¥tkomst till filsystemet eller vara root\n" +msgstr "Du måste ha %s-åtkomst till filsystemet eller vara root\n" -#: e2fsck/unix.c:1349 +#: e2fsck/unix.c:1099 +#, c-format msgid "Possibly non-existent or swap device?\n" -msgstr "Kanske inte existerar eller växlingsenhet?\n" +msgstr "Kanske inte existerar eller växlingsenhet?\n" -#: e2fsck/unix.c:1352 +#: e2fsck/unix.c:1101 +#, c-format msgid "Filesystem mounted or opened exclusively by another program?\n" -msgstr "Filsystemet monterat eller öppnat exklusivt av ett annat program?\n" - -#: e2fsck/unix.c:1355 -msgid "Possibly non-existent device?\n" -msgstr "Kanske en enhet som inte existerar?\n" +msgstr "Filsystemet monterat eller öppnat exklusivt av ett annat program?\n" -#: e2fsck/unix.c:1358 +#: e2fsck/unix.c:1105 +#, c-format msgid "" "Disk write-protected; use the -n option to do a read-only\n" "check of the device.\n" msgstr "" -"Skrivskyddad disk; använd flaggan -n för att göra en läsningskontroll\n" +"Skrivskyddad disk; använd flaggan -n för att göra en läsningskontroll\n" "av enheten.\n" -#: e2fsck/unix.c:1423 +#: e2fsck/unix.c:1169 msgid "Get a newer version of e2fsck!" -msgstr "Hämta en nyare version av e2fsck!" +msgstr "Hämta en nyare version av e2fsck!" -#: e2fsck/unix.c:1467 +#: e2fsck/unix.c:1199 #, c-format msgid "while checking ext3 journal for %s" -msgstr "vid kontroll av ext3-journal för %s" +msgstr "vid kontroll av ext3-journal för %s" -#: e2fsck/unix.c:1478 +#: e2fsck/unix.c:1210 +#, c-format msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n" -msgstr "Varning: hoppar över journalÃ¥terhämtning eftersom en läsningskontroll av filsystem görs.\n" +msgstr "Varning: hoppar över journalåterhämtning eftersom en läsningskontroll av filsystem görs.\n" -#: e2fsck/unix.c:1491 +#: e2fsck/unix.c:1223 #, c-format msgid "unable to set superblock flags on %s\n" -msgstr "kan inte sätta superblocksflaggor pÃ¥ %s\n" +msgstr "kan inte sätta superblocksflaggor på %s\n" -#: e2fsck/unix.c:1497 +#: e2fsck/unix.c:1229 #, c-format msgid "while recovering ext3 journal of %s" -msgstr "vid Ã¥terhämtning av ext3-journal för %s" +msgstr "vid återhämtning av ext3-journal för %s" -#: e2fsck/unix.c:1521 +#: e2fsck/unix.c:1254 #, c-format msgid "%s has unsupported feature(s):" -msgstr "%s har funktioner som inte stöds:" +msgstr "%s har funktioner som inte stöds:" -#: e2fsck/unix.c:1536 -#, c-format -msgid "%s: warning: compression support is experimental.\n" -msgstr "%s: varning: komprimeringsstöd är experimentellt.\n" +#: e2fsck/unix.c:1270 +msgid "Warning: compression support is experimental.\n" +msgstr "Varning: komprimeringsstöd är experimentellt.\n" -#: e2fsck/unix.c:1542 +#: e2fsck/unix.c:1275 #, c-format msgid "" -"%s: e2fsck not compiled with HTREE support,\n" +"E2fsck not compiled with HTREE support,\n" "\tbut filesystem %s has HTREE directories.\n" msgstr "" -"%s: e2fsck är inte kompilerat med HTREE-stöd,\n" +"E2fsck är inte kompilerat med HTREE-stöd,\n" "\tmen filsystem %s har HTREE-kataloger.\n" -#: e2fsck/unix.c:1594 -#, c-format -msgid "%s: %s while reading bad blocks inode\n" -msgstr "%s: %s vid läsning av inod för dÃ¥liga block\n" +#: e2fsck/unix.c:1328 +msgid "while reading bad blocks inode" +msgstr "vid läsning av inod för dåliga block" -#: e2fsck/unix.c:1597 +#: e2fsck/unix.c:1330 +#, c-format msgid "This doesn't bode well, but we'll try to go on...\n" -msgstr "Detta bÃ¥dar inte gott, men vi skall försöka att fortsätta ...\n" +msgstr "Detta bådar inte gott, men vi skall försöka att fortsätta ...\n" + +#: e2fsck/unix.c:1356 +msgid "Couldn't determine journal size" +msgstr "Det gick inte att avgöra journalstorlek" -#: e2fsck/unix.c:1638 +#: e2fsck/unix.c:1359 #, c-format msgid "Creating journal (%d blocks): " msgstr "Skapar journal (%d block): " -#: e2fsck/unix.c:1648 +#: e2fsck/unix.c:1366 misc/mke2fs.c:2248 +msgid "" +"\n" +"\twhile trying to create journal" +msgstr "" +"\n" +"\tvid försök att skapa journal" + +#: e2fsck/unix.c:1369 +#, c-format msgid " Done.\n" msgstr " Klar.\n" -#: e2fsck/unix.c:1649 +#: e2fsck/unix.c:1370 +#, c-format msgid "" "\n" "*** journal has been re-created - filesystem is now ext3 again ***\n" msgstr "" "\n" -"*** journalen har Ã¥terskapats - filsystemet är nu ext3 igen ***\n" +"*** journalen har återskapats - filsystemet är nu ext3 igen ***\n" -#: e2fsck/unix.c:1672 +#: e2fsck/unix.c:1377 +#, c-format msgid "Restarting e2fsck from the beginning...\n" -msgstr "Startar om e2fsck frÃ¥n början ...\n" +msgstr "Startar om e2fsck från början ...\n" -#: e2fsck/unix.c:1676 +#: e2fsck/unix.c:1381 msgid "while resetting context" -msgstr "vid Ã¥terställning av omgivning" +msgstr "vid återställning av omgivning" -#: e2fsck/unix.c:1683 +#: e2fsck/unix.c:1388 #, c-format msgid "%s: e2fsck canceled.\n" -msgstr "%s: e2fsck inställd.\n" +msgstr "%s: e2fsck inställd.\n" -#: e2fsck/unix.c:1688 +#: e2fsck/unix.c:1393 msgid "aborted" msgstr "avbruten" -#: e2fsck/unix.c:1700 e2fsck/util.c:67 +#: e2fsck/unix.c:1405 #, c-format msgid "" "\n" @@ -3144,12 +2928,12 @@ msgstr "" "\n" "%s: ***** FILSYSTEMET MODIFIERADES *****\n" -#: e2fsck/unix.c:1704 +#: e2fsck/unix.c:1408 #, c-format msgid "%s: ***** REBOOT LINUX *****\n" msgstr "%s: ***** STARTA OM LINUX *****\n" -#: e2fsck/unix.c:1712 e2fsck/util.c:73 +#: e2fsck/unix.c:1416 #, c-format msgid "" "\n" @@ -3160,43 +2944,43 @@ msgstr "" "%s: ********** VARNING: Filsystemet har fortfarande fel **********\n" "\n" -#: e2fsck/unix.c:1752 +#: e2fsck/unix.c:1454 msgid "while setting block group checksum info" -msgstr "när kontrollsummeinformation för blockgrupp sattes" +msgstr "när kontrollsummeinformation för blockgrupp sattes" -#: e2fsck/util.c:190 misc/util.c:70 +#: e2fsck/util.c:138 misc/util.c:68 msgid "yY" msgstr "yYjJ" -#: e2fsck/util.c:191 +#: e2fsck/util.c:139 msgid "nN" msgstr "nN" -#: e2fsck/util.c:205 +#: e2fsck/util.c:153 msgid "" msgstr "" -#: e2fsck/util.c:207 +#: e2fsck/util.c:155 msgid "" msgstr "" -#: e2fsck/util.c:209 +#: e2fsck/util.c:157 msgid " (y/n)" msgstr " (j/n)" -#: e2fsck/util.c:223 +#: e2fsck/util.c:172 msgid "cancelled!\n" -msgstr "inställd!\n" +msgstr "inställd!\n" -#: e2fsck/util.c:238 +#: e2fsck/util.c:187 msgid "yes\n" msgstr "ja\n" -#: e2fsck/util.c:240 +#: e2fsck/util.c:189 msgid "no\n" msgstr "nej\n" -#: e2fsck/util.c:250 +#: e2fsck/util.c:199 #, c-format msgid "" "%s? no\n" @@ -3205,7 +2989,7 @@ msgstr "" "%s? nej\n" "\n" -#: e2fsck/util.c:254 +#: e2fsck/util.c:203 #, c-format msgid "" "%s? yes\n" @@ -3214,38 +2998,38 @@ msgstr "" "%s? ja\n" "\n" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "yes" msgstr "ja" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "no" msgstr "nej" -#: e2fsck/util.c:273 +#: e2fsck/util.c:221 #, c-format msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s" -msgstr "e2fsck_read_bitmaps: ogiltiga bitkarteblock för %s" +msgstr "e2fsck_read_bitmaps: ogiltiga bitkarteblock för %s" -#: e2fsck/util.c:278 +#: e2fsck/util.c:226 msgid "reading inode and block bitmaps" -msgstr "läser inod- och blockbitkartor" +msgstr "läser inod- och blockbitkartor" -#: e2fsck/util.c:286 +#: e2fsck/util.c:231 #, c-format msgid "while retrying to read bitmaps for %s" -msgstr "vid upprepat försök att läsa bitkarta för %s" +msgstr "vid upprepat försök att läsa bitkarta för %s" -#: e2fsck/util.c:298 +#: e2fsck/util.c:243 msgid "writing block and inode bitmaps" msgstr "skiver block- och inodsbitkartor" -#: e2fsck/util.c:303 +#: e2fsck/util.c:248 #, c-format msgid "while rewriting block and inode bitmaps for %s" -msgstr "vid omskrivning av block- och inodsbitkartor för %s" +msgstr "vid omskrivning av block- och inodsbitkartor för %s" -#: e2fsck/util.c:315 +#: e2fsck/util.c:260 #, c-format msgid "" "\n" @@ -3255,52 +3039,48 @@ msgid "" msgstr "" "\n" "\n" -"%s: OVÄNTAD INKONSEKVENS; KÖR fsck MANUELLT.\n" +"%s: OVÄNTAD INKONSEKVENS; KÖR fsck MANUELLT.\n" "\t(d.v.s., utan flaggorna -a eller -p)\n" -#: e2fsck/util.c:396 +#: e2fsck/util.c:341 #, c-format msgid "Memory used: %luk/%luk (%luk/%luk), " -msgstr "Använt minne: %lu k/%lu k (%lu k/%lu k), " +msgstr "Använt minne: %lu k/%lu k (%lu k/%lu k), " -#: e2fsck/util.c:400 +#: e2fsck/util.c:345 #, c-format msgid "Memory used: %lu, " -msgstr "Använt minne: %lu, " +msgstr "Använt minne: %lu, " -#: e2fsck/util.c:407 +#: e2fsck/util.c:352 #, c-format msgid "time: %5.2f/%5.2f/%5.2f\n" msgstr "tid: %5.2f/%5.2f/%5.2f\n" -#: e2fsck/util.c:412 +#: e2fsck/util.c:357 #, c-format msgid "elapsed time: %6.3f\n" -msgstr "förfluten tid: %6.3f\n" +msgstr "förfluten tid: %6.3f\n" -#: e2fsck/util.c:447 e2fsck/util.c:461 +#: e2fsck/util.c:391 e2fsck/util.c:405 #, c-format msgid "while reading inode %lu in %s" -msgstr "när inod %lu i %s lästes" +msgstr "när inod %lu i %s lästes" -#: e2fsck/util.c:475 e2fsck/util.c:488 +#: e2fsck/util.c:419 e2fsck/util.c:432 #, c-format msgid "while writing inode %lu in %s" -msgstr "när inod %lu i %s skrevs" +msgstr "när inod %lu i %s skrevs" -#: e2fsck/util.c:637 +#: e2fsck/util.c:581 msgid "while allocating zeroizing buffer" -msgstr "vid allokering av nollställningsbuffert" +msgstr "vid allokering av nollställningsbuffert" -#: e2fsck/util.c:785 -msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n" -msgstr "OVÄNTAD INKONSISTENS: filsystemet modifieras medan fsck körs.\n" +#: misc/badblocks.c:66 +msgid "done \n" +msgstr "klar \n" -#: misc/badblocks.c:69 -msgid "done \n" -msgstr "klar \n" - -#: misc/badblocks.c:92 +#: misc/badblocks.c:89 #, c-format msgid "" "Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnf]\n" @@ -3308,290 +3088,277 @@ msgid "" " [-p num_passes] [-t test_pattern [-t test_pattern [...]]]\n" " device [last_block [first_block]]\n" msgstr "" -"Användning: %s [-b blockstorlek] [-i infil] [-o utfile] [-svwnf]\n" -" [-c block_Ã¥t_gÃ¥ngen] [-d fördröjningsfaktor mellan läsningar]\n" -" [-e max_dÃ¥liga_block] [-p antal_pass]\n" -" [-t testmönster [-t testmönster [...]]]\n" -" enhet [sista_block [första_block]]\n" +"Användning: %s [-b blockstorlek] [-i infil] [-o utfile] [-svwnf]\n" +" [-c block_åt_gången] [-d fördröjningsfaktor mellan läsningar]\n" +" [-e max_dåliga_block] [-p antal_pass]\n" +" [-t testmönster [-t testmönster [...]]]\n" +" enhet [sista_block [första_block]]\n" -#: misc/badblocks.c:103 +#: misc/badblocks.c:100 #, c-format msgid "" "%s: The -n and -w options are mutually exclusive.\n" "\n" msgstr "" -"%s: Flaggorna -n och -w är ömsesidigt uteslutande.\n" +"%s: Flaggorna -n och -w är ömsesidigt uteslutande.\n" "\n" -#: misc/badblocks.c:218 +#: misc/badblocks.c:202 #, c-format -msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)" -msgstr "%6.2f %% klar, %s har gÃ¥tt. (%d/%d/%d fel)" +msgid "%6.2f%% done, %s elapsed" +msgstr "%6.2f %% klar, %s har gått" -#: misc/badblocks.c:322 +#: misc/badblocks.c:293 msgid "Testing with random pattern: " -msgstr "Testar med slumpmönster: " +msgstr "Testar med slumpmönster: " -#: misc/badblocks.c:340 +#: misc/badblocks.c:311 msgid "Testing with pattern 0x" -msgstr "Testar med mönster 0x" +msgstr "Testar med mönster 0x" -#: misc/badblocks.c:372 misc/badblocks.c:445 +#: misc/badblocks.c:339 misc/badblocks.c:408 msgid "during seek" -msgstr "vid sökning" +msgstr "vid sökning" -#: misc/badblocks.c:383 +#: misc/badblocks.c:350 #, c-format msgid "Weird value (%ld) in do_read\n" -msgstr "Underligt värde (%ld) i do_read\n" +msgstr "Underligt värde (%ld) i do_read\n" -#: misc/badblocks.c:469 +#: misc/badblocks.c:428 msgid "during ext2fs_sync_device" msgstr "vid ext2fs_sync_device" -#: misc/badblocks.c:489 misc/badblocks.c:749 +#: misc/badblocks.c:447 misc/badblocks.c:711 msgid "while beginning bad block list iteration" -msgstr "vid början av iteration över lista av dÃ¥liga block" +msgstr "vid början av iteration över lista av dåliga block" -#: misc/badblocks.c:503 misc/badblocks.c:602 misc/badblocks.c:759 +#: misc/badblocks.c:461 misc/badblocks.c:563 misc/badblocks.c:721 msgid "while allocating buffers" msgstr "vid allokering av buffertar" -#: misc/badblocks.c:507 +#: misc/badblocks.c:465 #, c-format msgid "Checking blocks %lu to %lu\n" msgstr "Kontrollerar block %lu till %lu\n" -#: misc/badblocks.c:512 +#: misc/badblocks.c:470 msgid "Checking for bad blocks in read-only mode\n" -msgstr "Letar efter dÃ¥liga block i skrivskyddat läge\n" +msgstr "Letar efter dåliga block i skrivskyddat läge\n" -#: misc/badblocks.c:521 +#: misc/badblocks.c:479 msgid "Checking for bad blocks (read-only test): " -msgstr "Letar efter dÃ¥liga block (skrivskyddad test): " +msgstr "Letar efter dåliga block (skrivskyddad test): " -#: misc/badblocks.c:528 misc/badblocks.c:634 misc/badblocks.c:676 -#: misc/badblocks.c:822 +#: misc/badblocks.c:487 misc/badblocks.c:595 misc/badblocks.c:640 +#: misc/badblocks.c:784 msgid "Too many bad blocks, aborting test\n" -msgstr "För mÃ¥nga dÃ¥liga block, avbryter testet\n" +msgstr "För många dåliga block, avbryter testet\n" -#: misc/badblocks.c:609 +#: misc/badblocks.c:570 msgid "Checking for bad blocks in read-write mode\n" -msgstr "Letar efter dÃ¥liga block i läs-skriv-läge\n" +msgstr "Letar efter dåliga block i läs-skriv-läge\n" -#: misc/badblocks.c:611 misc/badblocks.c:772 +#: misc/badblocks.c:572 misc/badblocks.c:734 #, c-format msgid "From block %lu to %lu\n" -msgstr "FrÃ¥n block %lu till %lu\n" +msgstr "Från block %lu till %lu\n" -#: misc/badblocks.c:666 +#: misc/badblocks.c:630 msgid "Reading and comparing: " -msgstr "Läser och jämför: " +msgstr "Läser och jämför: " -#: misc/badblocks.c:771 +#: misc/badblocks.c:733 msgid "Checking for bad blocks in non-destructive read-write mode\n" -msgstr "Letar efter dÃ¥liga block i ickeförstörande läs-skriv-läge\n" +msgstr "Letar efter dåliga block i ickeförstörande läs-skriv-läge\n" -#: misc/badblocks.c:777 +#: misc/badblocks.c:739 msgid "Checking for bad blocks (non-destructive read-write test)\n" -msgstr "Letar efter dÃ¥liga block (ickeförstörande läs-skriv-test)\n" +msgstr "Letar efter dåliga block (ickeförstörande läs-skriv-test)\n" -#: misc/badblocks.c:784 +#: misc/badblocks.c:746 msgid "" "\n" "Interrupt caught, cleaning up\n" msgstr "" "\n" -"Avbrott fÃ¥ngat, rensar upp\n" +"Avbrott fångat, rensar upp\n" -#: misc/badblocks.c:867 +#: misc/badblocks.c:822 #, c-format msgid "during test data write, block %lu" msgstr "vid testdataskrivning, block %lu" -#: misc/badblocks.c:988 misc/util.c:152 +#: misc/badblocks.c:933 misc/util.c:156 #, c-format msgid "%s is mounted; " -msgstr "%s är monterat, " +msgstr "%s är monterat, " -#: misc/badblocks.c:990 +#: misc/badblocks.c:935 msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n" -msgstr "badblocks framtvingat ändÃ¥. Hoppas /etc/mtab är felaktig.\n" +msgstr "badblocks framtvingat ändå. Hoppas /etc/mtab är felaktig.\n" -#: misc/badblocks.c:995 +#: misc/badblocks.c:940 msgid "it's not safe to run badblocks!\n" -msgstr "det är inte säkert att köra badblocks!\n" +msgstr "det är inte säkert att köra badblocks!\n" -#: misc/badblocks.c:1000 misc/util.c:163 +#: misc/badblocks.c:945 misc/util.c:167 #, c-format msgid "%s is apparently in use by the system; " -msgstr "%s används uppenbarligen av systemet; " +msgstr "%s används uppenbarligen av systemet; " -#: misc/badblocks.c:1003 +#: misc/badblocks.c:948 msgid "badblocks forced anyway.\n" -msgstr "badblocks framtvingat ändÃ¥.\n" +msgstr "badblocks framtvingat ändå.\n" -#: misc/badblocks.c:1023 +#: misc/badblocks.c:968 #, c-format msgid "invalid %s - %s" msgstr "ogiltig %s - %s" -#: misc/badblocks.c:1133 +#: misc/badblocks.c:1077 #, c-format msgid "can't allocate memory for test_pattern - %s" -msgstr "kunde inte allokera minne för testmönster - %s" +msgstr "kunde inte allokera minne för testmönster - %s" -#: misc/badblocks.c:1163 +#: misc/badblocks.c:1104 msgid "Maximum of one test_pattern may be specified in read-only mode" -msgstr "Högst ett testmönster fÃ¥r anges i skrivskyddat läge" +msgstr "Högst ett testmönster får anges i skrivskyddat läge" -#: misc/badblocks.c:1169 +#: misc/badblocks.c:1110 msgid "Random test_pattern is not allowed in read-only mode" -msgstr "Slumpvis testmönster är inte tillÃ¥tet i skrivskyddat läge" +msgstr "Slumpvis testmönster är inte tillåtet i skrivskyddat läge" -#: misc/badblocks.c:1183 +#: misc/badblocks.c:1124 msgid "" "Couldn't determine device size; you must specify\n" "the size manually\n" msgstr "" -"Kunde inte avgöra enhetsstorlek; du mÃ¥ste ange\n" +"Kunde inte avgöra enhetsstorlek; du måste ange\n" "storleken manuellt\n" -#: misc/badblocks.c:1189 +#: misc/badblocks.c:1130 msgid "while trying to determine device size" -msgstr "vid försök att avgöra enhetsstorlek" +msgstr "vid försök att avgöra enhetsstorlek" -#: misc/badblocks.c:1194 +#: misc/badblocks.c:1135 msgid "last block" msgstr "sista block" -#: misc/badblocks.c:1200 +#: misc/badblocks.c:1141 msgid "first block" -msgstr "första block" +msgstr "första block" -#: misc/badblocks.c:1203 +#: misc/badblocks.c:1144 #, c-format msgid "invalid starting block (%lu): must be less than %lu" -msgstr "felaktigt startblock (%lu): mÃ¥ste vara mindre än %lu" +msgstr "felaktigt startblock (%lu): måste vara mindre än %lu" -#: misc/badblocks.c:1259 +#: misc/badblocks.c:1200 msgid "while creating in-memory bad blocks list" -msgstr "när lista över dÃ¥liga block i minnet skapades" +msgstr "när lista över dåliga block i minnet skapades" -#: misc/badblocks.c:1274 +#: misc/badblocks.c:1215 msgid "while adding to in-memory bad block list" -msgstr "när tillägg gjordes till lista i minnet över dÃ¥liga block gjordes" +msgstr "när tillägg gjordes till lista i minnet över dåliga block gjordes" -#: misc/badblocks.c:1298 +#: misc/badblocks.c:1239 #, c-format -msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n" -msgstr "Pass avslutat, %u dÃ¥liga block hittade. (%d/%d/%d fel)\n" +msgid "Pass completed, %u bad blocks found.\n" +msgstr "Pass avslutat, %u dåliga block hittade.\n" -#: misc/chattr.c:86 +#: misc/chattr.c:85 #, c-format -msgid "Usage: %s [-RVf] [-+=AaCcDdeijsSu] [-v version] files...\n" -msgstr "Användning: %s [-RVf] [-+=AaCcDdeijsSu] [-v version] filer…\n" +msgid "Usage: %s [-RVf] [-+=AacDdeijsSu] [-v version] files...\n" +msgstr "Användning: %s [-RVf] [-+=AacDdeijsSu] [-v version] filer...\n" -#: misc/chattr.c:155 +#: misc/chattr.c:153 #, c-format msgid "bad version - %s\n" msgstr "felaktig version - %s\n" -#: misc/chattr.c:201 misc/lsattr.c:116 +#: misc/chattr.c:200 misc/lsattr.c:115 #, c-format msgid "while trying to stat %s" -msgstr "vid försök att ta status pÃ¥ %s" +msgstr "vid försök att ta status på %s" -#: misc/chattr.c:208 +#: misc/chattr.c:207 #, c-format msgid "while reading flags on %s" -msgstr "vid läsning av flaggor pÃ¥ %s" +msgstr "vid läsning av flaggor på %s" + +#: misc/chattr.c:216 misc/chattr.c:235 +#, c-format +msgid "Clearing extent flag not supported on %s" +msgstr "Att nollställa utsträckningsflaggan stöds inte på %s" -#: misc/chattr.c:213 misc/chattr.c:225 +#: misc/chattr.c:221 misc/chattr.c:240 #, c-format msgid "Flags of %s set as " -msgstr "Flaggor pÃ¥ %s satta som " +msgstr "Flaggor på %s satta som " -#: misc/chattr.c:234 +#: misc/chattr.c:249 #, c-format msgid "while setting flags on %s" -msgstr "vid sättning av flaggor pÃ¥ %s" +msgstr "vid sättning av flaggor på %s" -#: misc/chattr.c:242 +#: misc/chattr.c:257 #, c-format msgid "Version of %s set as %lu\n" msgstr "Version av %s satt som %lu\n" -#: misc/chattr.c:246 +#: misc/chattr.c:261 #, c-format msgid "while setting version on %s" -msgstr "vid sättning av version pÃ¥ %s" +msgstr "vid sättning av version på %s" -#: misc/chattr.c:266 +#: misc/chattr.c:281 #, c-format msgid "Couldn't allocate path variable in chattr_dir_proc" -msgstr "Kunde inte allokera sökvägsvariabel i chattr_dir_proc" +msgstr "Kunde inte allokera sökvägsvariabel i chattr_dir_proc" -#: misc/chattr.c:306 +#: misc/chattr.c:320 msgid "= is incompatible with - and +\n" -msgstr "= är inkompatibelt med - och +\n" +msgstr "= är inkompatibelt med - och +\n" -#: misc/chattr.c:314 +#: misc/chattr.c:328 msgid "Must use '-v', =, - or +\n" -msgstr "MÃ¥ste använda \"-v\", =, - eller +\n" +msgstr "Måste använda \"-v\", =, - eller +\n" -#: misc/dumpe2fs.c:55 +#: misc/dumpe2fs.c:53 #, c-format msgid "Usage: %s [-bfhixV] [-o superblock=] [-o blocksize=] device\n" -msgstr "Användning: %s [-bfhixV] [-o superblock=] [-o blocksize=] enhet\n" - -#: misc/dumpe2fs.c:159 -msgid "blocks" -msgstr "block" +msgstr "Användning: %s [-bfhixV] [-o superblock=] [-o blocksize=] enhet\n" #: misc/dumpe2fs.c:168 -msgid "clusters" -msgstr "kluster" - -#: misc/dumpe2fs.c:196 #, c-format msgid "Group %lu: (Blocks " msgstr "Grupp %lu: (Block " -#: misc/dumpe2fs.c:204 -#, c-format -msgid " Checksum 0x%04x" -msgstr " Kontrollsumma 0x%04x" - -#: misc/dumpe2fs.c:206 -#, c-format -msgid " (EXPECTED 0x%04x)" -msgstr " (0x%04x FÖRVÄNTADES)" - -#: misc/dumpe2fs.c:207 +#: misc/dumpe2fs.c:173 #, c-format -msgid ", unused inodes %u\n" -msgstr ", oanvända inoder %u\n" +msgid " Checksum 0x%04x, unused inodes %d\n" +msgstr " Kontrollsumma 0x%04x, oanvända inoder %d\n" -#: misc/dumpe2fs.c:212 +#: misc/dumpe2fs.c:178 #, c-format msgid " %s superblock at " msgstr " %ssuperblock vid " -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Primary" -msgstr "Primärt " +msgstr "Primärt " -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Backup" msgstr "Reserv" -#: misc/dumpe2fs.c:217 +#: misc/dumpe2fs.c:183 #, c-format msgid ", Group descriptors at " msgstr ", Gruppbeskrivare vid " -#: misc/dumpe2fs.c:221 +#: misc/dumpe2fs.c:187 #, c-format msgid "" "\n" @@ -3600,20 +3367,20 @@ msgstr "" "\n" " Reserverade GDT-block vid " -#: misc/dumpe2fs.c:228 +#: misc/dumpe2fs.c:194 #, c-format msgid " Group descriptor at " msgstr " Gruppbeskrivare vid " -#: misc/dumpe2fs.c:234 +#: misc/dumpe2fs.c:200 msgid " Block bitmap at " msgstr " Blockbitkarta vid " -#: misc/dumpe2fs.c:238 +#: misc/dumpe2fs.c:205 msgid ", Inode bitmap at " msgstr ", Inodsbitkarta vid " -#: misc/dumpe2fs.c:242 +#: misc/dumpe2fs.c:210 msgid "" "\n" " Inode table at " @@ -3621,83 +3388,78 @@ msgstr "" "\n" " Inodstabell vid " -#: misc/dumpe2fs.c:248 +#: misc/dumpe2fs.c:217 #, c-format msgid "" "\n" -" %u free %s, %u free inodes, %u directories%s" +" %u free blocks, %u free inodes, %u directories%s" msgstr "" "\n" -" %u fritt %s, %u fria inoder, %u kataloger%s" +" %u fria block, %u fria inoder, %u kataloger%s" -#: misc/dumpe2fs.c:255 +#: misc/dumpe2fs.c:224 #, c-format msgid ", %u unused inodes\n" -msgstr ", %u oanvända inoder\n" +msgstr ", %u oanvända inoder\n" -#: misc/dumpe2fs.c:258 +#: misc/dumpe2fs.c:227 msgid " Free blocks: " msgstr " Fria block: " -#: misc/dumpe2fs.c:269 +#: misc/dumpe2fs.c:237 msgid " Free inodes: " msgstr " Fria inoder: " -#: misc/dumpe2fs.c:300 +#: misc/dumpe2fs.c:268 msgid "while printing bad block list" -msgstr "vid utskrift av lista över dÃ¥liga block" +msgstr "vid utskrift av lista över dåliga block" -#: misc/dumpe2fs.c:306 +#: misc/dumpe2fs.c:274 #, c-format msgid "Bad blocks: %u" -msgstr "DÃ¥liga block: %u" +msgstr "Dåliga block: %u" -#: misc/dumpe2fs.c:333 misc/tune2fs.c:306 +#: misc/dumpe2fs.c:301 misc/tune2fs.c:281 msgid "while reading journal inode" -msgstr "vid läsning av journalinod" +msgstr "vid läsning av journalinod" -#: misc/dumpe2fs.c:339 +#: misc/dumpe2fs.c:307 msgid "while opening journal inode" -msgstr "när journalinoden öppnades" +msgstr "när journalinoden öppnades" -#: misc/dumpe2fs.c:345 +#: misc/dumpe2fs.c:313 msgid "while reading journal super block" -msgstr "när journalsuperblocket lästes" +msgstr "när journalsuperblocket lästes" -#: misc/dumpe2fs.c:355 +#: misc/dumpe2fs.c:323 #, c-format msgid "Journal features: " msgstr "Journalfunktioner: " -#: misc/dumpe2fs.c:368 +#: misc/dumpe2fs.c:336 msgid "Journal size: " msgstr "Journalstorlek: " -#: misc/dumpe2fs.c:379 +#: misc/dumpe2fs.c:347 #, c-format msgid "" "Journal length: %u\n" "Journal sequence: 0x%08x\n" "Journal start: %u\n" msgstr "" -"Journallängd: %u\n" +"Journallängd: %u\n" "Journalsekvens: 0x%08x\n" "Journalstart: %u\n" -#: misc/dumpe2fs.c:386 -#, c-format -msgid "Journal errno: %d\n" -msgstr "Journalfelnummer: %d\n" - -#: misc/dumpe2fs.c:401 misc/tune2fs.c:222 +#: misc/dumpe2fs.c:366 misc/tune2fs.c:202 msgid "while reading journal superblock" -msgstr "vid läsning av journalsuperblock" +msgstr "vid läsning av journalsuperblock" -#: misc/dumpe2fs.c:409 +#: misc/dumpe2fs.c:374 msgid "Couldn't find journal superblock magic numbers" msgstr "Kunde inte hitta journalsuperblockets magiska tal" -#: misc/dumpe2fs.c:413 +#: misc/dumpe2fs.c:378 #, c-format msgid "" "\n" @@ -3710,33 +3472,33 @@ msgid "" msgstr "" "\n" "Journalblockstorlek: %u\n" -"Journallängd: %u\n" -"Journalens första block: %u\n" +"Journallängd: %u\n" +"Journalens första block: %u\n" "Journalsekvens: 0x%08x\n" "Journalstart: %u\n" -"Journalens användarantal: %u\n" +"Journalens användarantal: %u\n" -#: misc/dumpe2fs.c:426 +#: misc/dumpe2fs.c:391 #, c-format msgid "Journal users: %s\n" -msgstr "Journalanvändare: %s\n" +msgstr "Journalanvändare: %s\n" -#: misc/dumpe2fs.c:442 misc/mke2fs.c:666 misc/tune2fs.c:1137 +#: misc/dumpe2fs.c:407 misc/mke2fs.c:699 misc/tune2fs.c:872 #, c-format msgid "Couldn't allocate memory to parse options!\n" -msgstr "Kunde inte allokera minne för att tolka flaggor!\n" +msgstr "Kunde inte allokera minne för att tolka flaggor!\n" -#: misc/dumpe2fs.c:468 +#: misc/dumpe2fs.c:433 #, c-format msgid "Invalid superblock parameter: %s\n" msgstr "Ogiltig superblockparameter: %s\n" -#: misc/dumpe2fs.c:483 +#: misc/dumpe2fs.c:448 #, c-format msgid "Invalid blocksize parameter: %s\n" msgstr "Ogiltig blockstorleksparameter: %s\n" -#: misc/dumpe2fs.c:494 +#: misc/dumpe2fs.c:459 #, c-format msgid "" "\n" @@ -3750,120 +3512,115 @@ msgid "" "\tblocksize=\n" msgstr "" "\n" -"Felaktiga utökade flaggor angivna: %s\n" +"Felaktiga utökade flaggor angivna: %s\n" "\n" -"Utökade flaggor separeras med komman, och kan ta ett argument som avdelas med\n" +"Utökade flaggor separeras med komman, och kan ta ett argument som avdelas med\n" "\tett likhetstecken (\"=\").\n" "\n" -"Giltiga utökade flaggor är:\n" +"Giltiga utökade flaggor är:\n" "\tsuperblock=\n" "\tblocksize=\n" -#: misc/dumpe2fs.c:554 misc/mke2fs.c:1555 +#: misc/dumpe2fs.c:518 misc/mke2fs.c:1406 #, c-format msgid "\tUsing %s\n" -msgstr "\tAnvänder %s\n" +msgstr "\tAnvänder %s\n" -#: misc/dumpe2fs.c:590 misc/e2image.c:1326 misc/tune2fs.c:1923 -#: resize/main.c:317 +#: misc/dumpe2fs.c:554 misc/e2image.c:681 misc/tune2fs.c:1576 +#: resize/main.c:312 #, c-format msgid "Couldn't find valid filesystem superblock.\n" msgstr "Kunde inte hitta giltigt filsystemssuperblock.\n" -#: misc/dumpe2fs.c:618 +#: misc/dumpe2fs.c:579 #, c-format msgid "" "\n" "%s: %s: error reading bitmaps: %s\n" msgstr "" "\n" -"%s: %s: fel vid läsning av bitkartor: %s\n" - -#: misc/e2image.c:90 -#, c-format -msgid "Usage: %s [-rsIQa] device image_file\n" -msgstr "Användning: %s [-rsIQa] enhet avbildsfil\n" +"%s: %s: fel vid läsning av bitkartor: %s\n" -#: misc/e2image.c:138 +#: misc/e2image.c:52 #, c-format -msgid "Error: header size is bigger than wrt_size\n" -msgstr "Fel: huvudstorlek är större än wrt_size\n" +msgid "Usage: %s [-rsI] device image_file\n" +msgstr "Användning: %s [-rsI] enhet avbildsfil\n" -#: misc/e2image.c:144 +#: misc/e2image.c:64 msgid "Couldn't allocate header buffer\n" msgstr "Kunde inte allokera huvudbuffert\n" -#: misc/e2image.c:174 +#: misc/e2image.c:83 +#, c-format +msgid "short write (only %d bytes) for writing image header" +msgstr "kort skrivning (endast %d byte) för skrivning av bildhuvud" + +#: misc/e2image.c:102 msgid "while writing superblock" msgstr "vid skrivning av superblock" -#: misc/e2image.c:182 +#: misc/e2image.c:110 msgid "while writing inode table" msgstr "vid skrivning av inodtabell" -#: misc/e2image.c:189 +#: misc/e2image.c:117 msgid "while writing block bitmap" msgstr "vid skrivning av blockbitkarta" -#: misc/e2image.c:196 +#: misc/e2image.c:124 msgid "while writing inode bitmap" msgstr "vid skrivning av inodbitkarta" -#: misc/e2image.c:1365 -#, c-format -msgid "while trying to convert qcow2 image (%s) into raw image (%s)" -msgstr "vid försök att konvertera en qcow2-bild (%s) till en rÃ¥ bild (%s)" - -#: misc/e2label.c:58 +#: misc/e2label.c:57 #, c-format msgid "e2label: cannot open %s\n" -msgstr "e2label: kan inte öppna %s\n" +msgstr "e2label: kan inte öppna %s\n" -#: misc/e2label.c:63 +#: misc/e2label.c:62 #, c-format msgid "e2label: cannot seek to superblock\n" -msgstr "e2label: kan inte söka till superblock\n" +msgstr "e2label: kan inte söka till superblock\n" -#: misc/e2label.c:68 +#: misc/e2label.c:67 #, c-format msgid "e2label: error reading superblock\n" -msgstr "e2label: fel vid läsning av superblock\n" +msgstr "e2label: fel vid läsning av superblock\n" -#: misc/e2label.c:72 +#: misc/e2label.c:71 #, c-format msgid "e2label: not an ext2 filesystem\n" msgstr "e2label: inte ett ext2-filsystem\n" -#: misc/e2label.c:97 misc/tune2fs.c:2080 +#: misc/e2label.c:96 misc/tune2fs.c:1711 #, c-format msgid "Warning: label too long, truncating.\n" -msgstr "Varning: etikett för lÃ¥ng, avkortar.\n" +msgstr "Varning: etikett för lång, avkortar.\n" -#: misc/e2label.c:100 +#: misc/e2label.c:99 #, c-format msgid "e2label: cannot seek to superblock again\n" -msgstr "e2label: kan inte söka till superblock igen\n" +msgstr "e2label: kan inte söka till superblock igen\n" -#: misc/e2label.c:105 +#: misc/e2label.c:104 #, c-format msgid "e2label: error writing superblock\n" msgstr "e2label: fel vid skrivning av superblock\n" -#: misc/e2label.c:117 misc/tune2fs.c:803 +#: misc/e2label.c:116 misc/tune2fs.c:542 #, c-format msgid "Usage: e2label device [newlabel]\n" -msgstr "Användning: e2label enhet [ny-etikett]\n" +msgstr "Användning: e2label enhet [ny-etikett]\n" -#: misc/e2undo.c:36 +#: misc/e2undo.c:35 #, c-format msgid "Usage: %s \n" -msgstr "Användning: %s \n" +msgstr "Användning: %s \n" #: misc/e2undo.c:52 msgid "Failed to read the file system data \n" -msgstr "Misslyckades att läsa filsystemdata \n" +msgstr "Misslyckades att läsa filsystemdata \n" -#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:206 +#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:205 #, c-format msgid "Failed tdb_fetch %s\n" msgstr "Misslyckades med tdb_fetch %s\n" @@ -3871,37 +3628,37 @@ msgstr "Misslyckades med tdb_fetch %s\n" #: misc/e2undo.c:70 #, c-format msgid "The file system Mount time didn't match %u\n" -msgstr "Filsystemets monterings tid stämmer inte med %u\n" +msgstr "Filsystemets monterings tid stämmer inte med %u\n" #: misc/e2undo.c:89 msgid "The file system UUID didn't match \n" -msgstr "Filsystemets UUID stämmer inte med \n" +msgstr "Filsystemets UUID stämmer inte med \n" -#: misc/e2undo.c:163 +#: misc/e2undo.c:162 #, c-format msgid "Failed tdb_open %s\n" msgstr "tdb_open misslyckades %s\n" -#: misc/e2undo.c:169 +#: misc/e2undo.c:168 #, c-format msgid "Error while determining whether %s is mounted.\n" -msgstr "Fel när det avgjordes om %s är monterat.\n" +msgstr "Fel när det avgjordes om %s är monterat.\n" -#: misc/e2undo.c:175 +#: misc/e2undo.c:174 msgid "e2undo should only be run on unmounted file system\n" -msgstr "e2undo skall endast köras pÃ¥ omonterade filsystem\n" +msgstr "e2undo skall endast köras på omonterade filsystem\n" -#: misc/e2undo.c:184 +#: misc/e2undo.c:183 #, c-format msgid "Failed to open %s\n" -msgstr "Det gick inte att öppna öppna %s\n" +msgstr "Det gick inte att öppna öppna %s\n" -#: misc/e2undo.c:210 +#: misc/e2undo.c:209 #, c-format -msgid "Replayed transaction of size %zd at location %llu\n" -msgstr "Ã…teruppspelning av transaktion med storlek %zd pÃ¥ plats %llu\n" +msgid "Replayed transaction of size %zd at location %ld\n" +msgstr "Återuppspelning av transaktion med storlek %zd på plats %ld\n" -#: misc/e2undo.c:216 +#: misc/e2undo.c:215 #, c-format msgid "Failed write %s\n" msgstr "Misslyckades skriva %s\n" @@ -3909,390 +3666,358 @@ msgstr "Misslyckades skriva %s\n" #: misc/fsck.c:343 #, c-format msgid "WARNING: couldn't open %s: %s\n" -msgstr "VARNING: kunde inte öppna %s: %s\n" +msgstr "VARNING: kunde inte öppna %s: %s\n" #: misc/fsck.c:353 #, c-format msgid "WARNING: bad format on line %d of %s\n" -msgstr "VARNING: fel format pÃ¥ rad %d av %s\n" +msgstr "VARNING: fel format på rad %d av %s\n" -#: misc/fsck.c:370 +#: misc/fsck.c:368 msgid "" -"WARNING: Your /etc/fstab does not contain the fsck passno\n" +"\a\a\aWARNING: Your /etc/fstab does not contain the fsck passno\n" "\tfield. I will kludge around things for you, but you\n" "\tshould fix your /etc/fstab file as soon as you can.\n" "\n" msgstr "" -"VARNING: Din /etc/fstab innehÃ¥ller inte fsck-passnr-fältet.\n" -"\tJag fixar mig förbi detta Ã¥t dig, men du\n" -"\tbör rätta din /etc/fstab-fil sÃ¥ snart du kan.\n" +"\a\a\aVARNING: Din /etc/fstab innehåller inte fsck passnr-fält\n" +"\tJag fixar mig förbi detta åt dig, men du\n" +"\tbör rätta din /etc/fstab-fil så snart du kan.\n" "\n" -#: misc/fsck.c:478 +#: misc/fsck.c:477 #, c-format msgid "fsck: %s: not found\n" msgstr "fsck: %s: inte funnen\n" -#: misc/fsck.c:594 +#: misc/fsck.c:593 #, c-format msgid "%s: wait: No more child process?!?\n" msgstr "%s: wait: Inga fler barnprocesser?!?\n" -#: misc/fsck.c:616 +#: misc/fsck.c:615 #, c-format msgid "Warning... %s for device %s exited with signal %d.\n" -msgstr "Varning... %s för enhet %s avslutade med signal %d.\n" +msgstr "Varning... %s för enhet %s avslutade med signal %d.\n" -#: misc/fsck.c:622 +#: misc/fsck.c:621 #, c-format msgid "%s %s: status is %x, should never happen.\n" -msgstr "%s %s: status är %x, skulle aldrig inträffa.\n" +msgstr "%s %s: status är %x, skulle aldrig inträffa.\n" -#: misc/fsck.c:661 +#: misc/fsck.c:660 #, c-format msgid "Finished with %s (exit status %d)\n" msgstr "Avslutade med %s (slutstatus %d)\n" -#: misc/fsck.c:721 +#: misc/fsck.c:720 #, c-format msgid "%s: Error %d while executing fsck.%s for %s\n" -msgstr "%s: Fel %d när fsck.%s kördes för %s\n" +msgstr "%s: Fel %d när fsck.%s kördes för %s\n" -#: misc/fsck.c:742 +#: misc/fsck.c:741 msgid "" "Either all or none of the filesystem types passed to -t must be prefixed\n" "with 'no' or '!'.\n" msgstr "" -"Antingen alla eller inga av filsystemstyperna som ges till -t mÃ¥ste ha\n" +"Antingen alla eller inga av filsystemstyperna som ges till -t måste ha\n" "prefix \"no\" eller \"!\".\n" -#: misc/fsck.c:761 +#: misc/fsck.c:760 msgid "Couldn't allocate memory for filesystem types\n" -msgstr "Kunde inte allokera minne för filsystemtyper\n" +msgstr "Kunde inte allokera minne för filsystemtyper\n" -#: misc/fsck.c:884 +#: misc/fsck.c:883 #, c-format msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n" -msgstr "%s: hoppar över felaktig rad i /etc/fstab: bind-montering med fsck-passnummer som inte är noll\n" +msgstr "%s: hoppar över felaktig rad i /etc/fstab: bind-montering med fsck-passnummer som inte är noll\n" -#: misc/fsck.c:911 +#: misc/fsck.c:910 #, c-format msgid "fsck: cannot check %s: fsck.%s not found\n" msgstr "fsck: kan inte kontrollera %s: fsck.%s finns inte\n" -#: misc/fsck.c:967 +#: misc/fsck.c:966 msgid "Checking all file systems.\n" msgstr "Kontrollerar alla filsystem.\n" -#: misc/fsck.c:1058 +#: misc/fsck.c:1057 #, c-format msgid "--waiting-- (pass %d)\n" -msgstr "--väntar-- (pass %d)\n" +msgstr "--väntar-- (pass %d)\n" -#: misc/fsck.c:1078 +#: misc/fsck.c:1077 msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" -msgstr "Användning: fsck [-AMNPRTV] [ -C [ fh ] ] [-t fstyp] [fs-flaggor] [filsys ...]\n" +msgstr "Användning: fsck [-AMNPRTV] [ -C [ fh ] ] [-t fstyp] [fs-flaggor] [filsys ...]\n" -#: misc/fsck.c:1120 +#: misc/fsck.c:1119 #, c-format msgid "%s: too many devices\n" -msgstr "%s: för mÃ¥nga enheter\n" +msgstr "%s: för många enheter\n" -#: misc/fsck.c:1153 misc/fsck.c:1239 +#: misc/fsck.c:1152 misc/fsck.c:1238 #, c-format msgid "%s: too many arguments\n" -msgstr "%s: för mÃ¥nga argument\n" +msgstr "%s: för många argument\n" -#: misc/lsattr.c:74 +#: misc/lsattr.c:73 #, c-format msgid "Usage: %s [-RVadlv] [files...]\n" -msgstr "Användning: %s [-RVadlv] [filer...]\n" +msgstr "Användning: %s [-RVadlv] [filer...]\n" -#: misc/lsattr.c:84 +#: misc/lsattr.c:83 #, c-format msgid "While reading flags on %s" -msgstr "Vid läsning av flaggor pÃ¥ %s" +msgstr "Vid läsning av flaggor på %s" -#: misc/lsattr.c:91 +#: misc/lsattr.c:90 #, c-format msgid "While reading version on %s" -msgstr "Vid läsning av version pÃ¥ %s" +msgstr "Vid läsning av version på %s" -#: misc/mke2fs.c:116 +#: misc/mke2fs.c:108 #, c-format msgid "" -"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n" +"Usage: %s [-c|-l filename] [-b block-size] [-f fragment-size]\n" "\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n" -"\t[-G flex-group-size] [-N number-of-inodes]\n" +"\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n" "\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n" -"\t[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-count]\n" +"\t[-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]\n" msgstr "" -"Användning: %s [-c|-l filnamn] [-b blockstorlek] [-C klusterstorlek]\n" +"Användning: %s [-c|-l filnamn] [-b blockstorlek] [-f fragmentstorlek]\n" "\t[-i byte-per-inod] [-I inodstorlek] [-J journalflaggor]\n" -"\t[-G flexgruppstorlek] [-N antal-inoder]\n" +"\t[-G metagruppstorlek] [-N antal-inoder]\n" "\t[-m reservade-block-procent] [-o skapar-os]\n" "\t[-g block-per-grupp] [-L volymetikett] [-M senast-monterad-katalog]\n" -"\t[-O funktion[,...]] [-r fs-revision] [-E utökad-flagga[,...]]\n" -"\t[-t fs-typ] [-T användningstyp] [-U UUID] [-jnqvDFKSV] enhet [blockantal]\n" +"\t[-O funktion[,...]] [-r fs-revision] [-E utökad-flagga[,...]]\n" +"\t[-T fs-typ] [-U UUID] [-jnqvFKSV] enhet [blockantal]\n" -#: misc/mke2fs.c:221 +#: misc/mke2fs.c:210 #, c-format msgid "Running command: %s\n" -msgstr "Kör kommando: %s\n" +msgstr "Kör kommando: %s\n" -#: misc/mke2fs.c:225 +#: misc/mke2fs.c:214 #, c-format msgid "while trying to run '%s'" -msgstr "vid försök att köra \"%s\"" +msgstr "vid försök att köra \"%s\"" -#: misc/mke2fs.c:232 +#: misc/mke2fs.c:221 msgid "while processing list of bad blocks from program" -msgstr "vid bearbetning av lista över dÃ¥liga block frÃ¥n program" +msgstr "vid bearbetning av lista över dåliga block från program" -#: misc/mke2fs.c:259 +#: misc/mke2fs.c:248 #, c-format msgid "Block %d in primary superblock/group descriptor area bad.\n" -msgstr "Block %d i primär superblock-/gruppbeskrivare är felaktigt.\n" +msgstr "Block %d i primär superblock-/gruppbeskrivare är felaktigt.\n" -#: misc/mke2fs.c:261 +#: misc/mke2fs.c:250 #, c-format msgid "Blocks %u through %u must be good in order to build a filesystem.\n" -msgstr "Block %u till %u mÃ¥ste vara bra för att bygga ett filsystem.\n" +msgstr "Block %u till %u måste vara bra för att bygga ett filsystem.\n" -#: misc/mke2fs.c:264 +#: misc/mke2fs.c:253 msgid "Aborting....\n" msgstr "Avbryter...\n" -#: misc/mke2fs.c:284 +#: misc/mke2fs.c:273 #, c-format msgid "" "Warning: the backup superblock/group descriptors at block %u contain\n" "\tbad blocks.\n" "\n" msgstr "" -"Varning: reservsuperblock-/-gruppbeskrivare vid block %u innehÃ¥ller\n" -"\tdÃ¥liga block.\n" +"Varning: reservsuperblock-/-gruppbeskrivare vid block %u innehåller\n" +"\tdåliga block.\n" "\n" -#: misc/mke2fs.c:303 +#: misc/mke2fs.c:292 msgid "while marking bad blocks as used" -msgstr "vid markering av dÃ¥liga block som använda" +msgstr "vid markering av dåliga block som använda" + +#: misc/mke2fs.c:350 +msgid "done \n" +msgstr "klar \n" -#: misc/mke2fs.c:320 +#: misc/mke2fs.c:364 msgid "Writing inode tables: " msgstr "Skriver inodstabeller: " -#: misc/mke2fs.c:341 +#: misc/mke2fs.c:387 #, c-format msgid "" "\n" -"Could not write %d blocks in inode table starting at %llu: %s\n" +"Could not write %d blocks in inode table starting at %u: %s\n" msgstr "" "\n" -"Kunde inte skriva %d block i inodstabell som börjar vid %llu: %s\n" - -#: misc/mke2fs.c:355 misc/mke2fs.c:2257 misc/mke2fs.c:2512 -#, c-format -msgid "done \n" -msgstr "klar \n" +"Kunde inte skriva %d block i inodstabell som börjar vid %u: %s\n" -#: misc/mke2fs.c:366 +#: misc/mke2fs.c:411 msgid "while creating root dir" msgstr "vid skapande av rotkatalog" -#: misc/mke2fs.c:373 +#: misc/mke2fs.c:418 msgid "while reading root inode" -msgstr "vid läsning av rotinod" +msgstr "vid läsning av rotinod" -#: misc/mke2fs.c:385 +#: misc/mke2fs.c:432 msgid "while setting root inode ownership" -msgstr "vid inställning av rotinodens ägarskap" +msgstr "vid inställning av rotinodens ägarskap" -#: misc/mke2fs.c:403 +#: misc/mke2fs.c:450 msgid "while creating /lost+found" msgstr "vid skapande av /lost+found" -#: misc/mke2fs.c:410 +#: misc/mke2fs.c:457 msgid "while looking up /lost+found" -msgstr "vid sökning efter /lost+found" +msgstr "vid sökning efter /lost+found" -#: misc/mke2fs.c:423 +#: misc/mke2fs.c:470 msgid "while expanding /lost+found" msgstr "vid utvidgning av /lost+found" -#: misc/mke2fs.c:438 +#: misc/mke2fs.c:485 msgid "while setting bad block inode" -msgstr "vid inställning av inod för dÃ¥liga block" +msgstr "vid inställning av inod för dåliga block" -#: misc/mke2fs.c:465 +#: misc/mke2fs.c:512 #, c-format msgid "Out of memory erasing sectors %d-%d\n" -msgstr "Slut pÃ¥ mine vid radering av sektorer %d-%d\n" +msgstr "Slut på mine vid radering av sektorer %d-%d\n" -#: misc/mke2fs.c:475 +#: misc/mke2fs.c:522 #, c-format msgid "Warning: could not read block 0: %s\n" -msgstr "Varning: kune inte läsa block 0: %s\n" +msgstr "Varning: kune inte läsa block 0: %s\n" -#: misc/mke2fs.c:491 +#: misc/mke2fs.c:538 #, c-format msgid "Warning: could not erase sector %d: %s\n" msgstr "Varning: kunde inte radera sektor %d: %s\n" -#: misc/mke2fs.c:507 +#: misc/mke2fs.c:554 msgid "while initializing journal superblock" msgstr "vid initiering av journalsuperblock" -#: misc/mke2fs.c:515 +#: misc/mke2fs.c:560 msgid "Zeroing journal device: " -msgstr "Nollställer journalenhet: " +msgstr "Nollställer journalenhet: " -#: misc/mke2fs.c:527 +#: misc/mke2fs.c:573 #, c-format -msgid "while zeroing journal device (block %llu, count %d)" -msgstr "vid nollställning av journalenhet (block %llu, antal %d)" +msgid "while zeroing journal device (block %u, count %d)" +msgstr "vid nollställning av journalenhet (block %u, antal %d)" -#: misc/mke2fs.c:545 +#: misc/mke2fs.c:589 msgid "while writing journal superblock" msgstr "vid skrivning av journalsuperblock" -#: misc/mke2fs.c:560 +#: misc/mke2fs.c:605 #, c-format msgid "" -"warning: %llu blocks unused.\n" +"warning: %u blocks unused.\n" "\n" msgstr "" -"varning: %llu block oanvända.\n" +"varning: %u block oanvända.\n" "\n" -#: misc/mke2fs.c:565 +#: misc/mke2fs.c:610 #, c-format msgid "Filesystem label=%s\n" msgstr "Filsystemsetikett=%s\n" -#: misc/mke2fs.c:568 -#, c-format -msgid "OS type: %s\n" -msgstr "OS-typ: %s\n" +#: misc/mke2fs.c:611 +msgid "OS type: " +msgstr "OS-typ: " -#: misc/mke2fs.c:570 +#: misc/mke2fs.c:616 #, c-format msgid "Block size=%u (log=%u)\n" msgstr "Blockstorlek=%u (log=%u)\n" -#: misc/mke2fs.c:574 -#, c-format -msgid "Cluster size=%u (log=%u)\n" -msgstr "Klusterstorlek=%u (log=%u)\n" - -#: misc/mke2fs.c:578 +#: misc/mke2fs.c:618 #, c-format msgid "Fragment size=%u (log=%u)\n" msgstr "Fragmentstorlek=%u (log=%u)\n" -#: misc/mke2fs.c:580 +#: misc/mke2fs.c:620 #, c-format msgid "Stride=%u blocks, Stripe width=%u blocks\n" msgstr "Kliv=%u block, remsvidd=%u block\n" -#: misc/mke2fs.c:582 +#: misc/mke2fs.c:622 #, c-format -msgid "%u inodes, %llu blocks\n" -msgstr "%u inoder, %llu block\n" +msgid "%u inodes, %u blocks\n" +msgstr "%u inoder, %u block\n" -#: misc/mke2fs.c:584 +#: misc/mke2fs.c:624 #, c-format -msgid "%llu blocks (%2.2f%%) reserved for the super user\n" -msgstr "%llu block (%2.2f%%) reserverade för superanvändaren\n" +msgid "%u blocks (%2.2f%%) reserved for the super user\n" +msgstr "%u block (%2.2f%%) reserverade för superanvändaren\n" -#: misc/mke2fs.c:587 +#: misc/mke2fs.c:627 #, c-format msgid "First data block=%u\n" -msgstr "Första datablock=%u\n" - -#: misc/mke2fs.c:589 -#, c-format -msgid "Root directory owner=%u:%u\n" -msgstr "Rotkatalogägare=%u:%u\n" +msgstr "Första datablock=%u\n" -#: misc/mke2fs.c:591 +#: misc/mke2fs.c:629 #, c-format msgid "Maximum filesystem blocks=%lu\n" msgstr "Maximalt antal filsystemsblock=%lu\n" -#: misc/mke2fs.c:595 +#: misc/mke2fs.c:633 #, c-format msgid "%u block groups\n" msgstr "%u blockgrupper\n" -#: misc/mke2fs.c:597 +#: misc/mke2fs.c:635 #, c-format msgid "%u block group\n" msgstr "%u blockgrupp\n" -#: misc/mke2fs.c:600 -#, c-format -msgid "%u blocks per group, %u clusters per group\n" -msgstr "%u block per grupp, %u kluster per grupp\n" - -#: misc/mke2fs.c:603 +#: misc/mke2fs.c:636 #, c-format msgid "%u blocks per group, %u fragments per group\n" msgstr "%u block per grupp, %u fragment per grupp\n" -#: misc/mke2fs.c:605 +#: misc/mke2fs.c:638 #, c-format msgid "%u inodes per group\n" msgstr "%u inoder per grupp\n" -#: misc/mke2fs.c:612 +#: misc/mke2fs.c:645 #, c-format msgid "Superblock backups stored on blocks: " -msgstr "Superblockkopior lagrade pÃ¥ block: " - -#: misc/mke2fs.c:691 misc/tune2fs.c:1165 -#, c-format -msgid "Invalid mmp_update_interval: %s\n" -msgstr "Ogiltigt mmp_update_interval: %s\n" +msgstr "Superblockkopior lagrade på block: " -#: misc/mke2fs.c:705 +#: misc/mke2fs.c:724 #, c-format msgid "Invalid stride parameter: %s\n" msgstr "Ogiltig stride-parameter: %s\n" -#: misc/mke2fs.c:720 +#: misc/mke2fs.c:739 #, c-format msgid "Invalid stripe-width parameter: %s\n" msgstr "Ogiltig remsbreddsparameter: %s\n" -#: misc/mke2fs.c:743 +#: misc/mke2fs.c:761 #, c-format msgid "Invalid resize parameter: %s\n" -msgstr "Ogiltig storleksändringsparameter: %s\n" +msgstr "Ogiltig storleksändringsparameter: %s\n" -#: misc/mke2fs.c:750 +#: misc/mke2fs.c:768 #, c-format msgid "The resize maximum must be greater than the filesystem size.\n" -msgstr "Storleksändringens maximum mÃ¥ste vara större än filsystemets storlek.\n" +msgstr "Storleksändringens maximum måste vara större än filsystemets storlek.\n" -#: misc/mke2fs.c:774 +#: misc/mke2fs.c:792 #, c-format msgid "On-line resizing not supported with revision 0 filesystems\n" -msgstr "Storleksändring under drift stöds inte med revision 0-filsystem\n" - -#: misc/mke2fs.c:801 misc/mke2fs.c:810 -#, c-format -msgid "Invalid root_owner: '%s'\n" -msgstr "Ogiltig rotägare: â€%sâ€\n" - -#: misc/mke2fs.c:835 -#, c-format -msgid "Invalid quotatype parameter: %s\n" -msgstr "Ogiltig quotatype-parameter: %s\n" +msgstr "Storleksändring under drift stöds inte med revision 0-filsystem\n" -#: misc/mke2fs.c:846 +#: misc/mke2fs.c:814 #, c-format msgid "" "\n" @@ -4306,36 +4031,24 @@ msgid "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" -"\tlazy_journal_init=<0 to disable, 1 to enable>\n" -"\troot_uid=\n" -"\troot_gid=\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" msgstr "" "\n" "Felaktiga flaggor angivna: %s\n" "\n" -"Utökade flaggor separeras med komman, och kan ta ett argument som avdelas med\n" +"Utökade flaggor separeras med komman, och kan ta ett argument som avdelas med\n" "\tett likhetstecken (\"=\").\n" "\n" -"Giltiga utökade flaggor är:\n" -"\tstride=\n" -"\tstripe-width=\n" -"\tresize=\n" -"\tlazy_itable_init=<0 för att avaktivera, 1 för att aktivera>\n" -"\tlazy_journal_init=<0 för att avaktivera, 1 för att aktivera>\n" -"\troot_uid=\n" -"\troot_gid=\n" +"Giltiga utökade flaggor är:\n" +"\tstride=\n" +"\tstripe-width=\n" +"\tresize=\n" +"\tlazy_itable_init=<0 för att avaktivera, 1 för att aktivera>\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" -#: misc/mke2fs.c:868 +#: misc/mke2fs.c:830 #, c-format msgid "" "\n" @@ -4343,10 +4056,10 @@ msgid "" "\n" msgstr "" "\n" -"Varning: RAID-remsbredd %u är inte en jämn multipel av klivet %u.\n" +"Varning: RAID-remsbredd %u är inte en jämn multipel av klivet %u.\n" "\n" -#: misc/mke2fs.c:907 +#: misc/mke2fs.c:862 #, c-format msgid "" "Syntax error in mke2fs config file (%s, line #%d)\n" @@ -4355,176 +4068,152 @@ msgstr "" "Syntaxfel i mke2fs konfigurationsfil (%s, rad nr %d)\n" "\t%s\n" -#: misc/mke2fs.c:920 misc/tune2fs.c:398 +#: misc/mke2fs.c:875 misc/tune2fs.c:355 #, c-format msgid "Invalid filesystem option set: %s\n" msgstr "Ogiltig filsystemsflagga satt: %s\n" -#: misc/mke2fs.c:932 misc/tune2fs.c:349 -#, c-format -msgid "Invalid mount option set: %s\n" -msgstr "Ogiltig monteringsflagga satt: %s\n" - -#: misc/mke2fs.c:1072 +#: misc/mke2fs.c:985 #, c-format msgid "" "\n" -"Your mke2fs.conf file does not define the %s filesystem type.\n" +"Warning! Your mke2fs.conf file does not define the %s filesystem type.\n" msgstr "" "\n" -"Din mke2fs.conf-fil definierar inte filsystemstypen %s.\n" +"Varning! Din mke2fs.conf-fil definierar inte filsystemtypen %s.\n" -#: misc/mke2fs.c:1076 +#: misc/mke2fs.c:988 #, c-format msgid "" "You probably need to install an updated mke2fs.conf file.\n" "\n" msgstr "" -"Du behöver förmodligen installera en uppdaterad mke2fs.conf-fil.\n" -"\n" - -#: misc/mke2fs.c:1080 -#, c-format -msgid "Aborting...\n" -msgstr "Avbryter...\n" - -#: misc/mke2fs.c:1120 -#, c-format -msgid "" -"\n" -"Warning: the fs_type %s is not defined in mke2fs.conf\n" -"\n" -msgstr "" -"\n" -"Varning: fs_type %s är inte definierad i mke2fs.conf\n" +"Du behöver förmodligen installera en uppdaterad mke2fs.conf-fil.\n" "\n" -#: misc/mke2fs.c:1276 -#, c-format -msgid "Couldn't allocate memory for new PATH.\n" -msgstr "Kunde inte allokera minne för ny SÖKVÄG.\n" - -#: misc/mke2fs.c:1317 -#, c-format -msgid "Couldn't init profile successfully (error: %ld).\n" -msgstr "Kunde inte initiera profilen (fel: %ld).\n" - -#: misc/mke2fs.c:1357 +#: misc/mke2fs.c:1224 #, c-format msgid "invalid block size - %s" msgstr "felaktig blockstorlek - %s" -#: misc/mke2fs.c:1361 +#: misc/mke2fs.c:1228 #, c-format msgid "Warning: blocksize %d not usable on most systems.\n" -msgstr "Varning: blockstorlek %d är inte användbar pÃ¥ de flesta system.\n" +msgstr "Varning: blockstorlek %d är inte användbar på de flesta system.\n" -#: misc/mke2fs.c:1377 +#: misc/mke2fs.c:1244 #, c-format -msgid "invalid cluster size - %s" -msgstr "felaktig klusterstorlek - %s" +msgid "invalid fragment size - %s" +msgstr "ogiltig fragmentstorlek - %s" -#: misc/mke2fs.c:1387 -msgid "'-R' is deprecated, use '-E' instead" -msgstr "â€-R†undanbedes, använd â€-E†istället" +#: misc/mke2fs.c:1250 +#, c-format +msgid "Warning: fragments not supported. Ignoring -f option\n" +msgstr "Varning: fragment stöds inte. Ignorerar -f-flagga\n" -#: misc/mke2fs.c:1399 +#: misc/mke2fs.c:1257 msgid "Illegal number for blocks per group" -msgstr "Ogiltigt antal för block per grupp" +msgstr "Ogiltigt antal för block per grupp" -#: misc/mke2fs.c:1404 +#: misc/mke2fs.c:1262 msgid "blocks per group must be multiple of 8" -msgstr "block per grupp mÃ¥ste vara en multipel av 8" +msgstr "block per grupp måste vara en multipel av 8" -#: misc/mke2fs.c:1412 +#: misc/mke2fs.c:1270 msgid "Illegal number for flex_bg size" -msgstr "Felaktigt tal för flex_bg-storlek" +msgstr "Felaktigt tal för flex_bg-storlek" -#: misc/mke2fs.c:1418 +#: misc/mke2fs.c:1276 msgid "flex_bg size must be a power of 2" -msgstr "storlek pÃ¥ flex_bg mÃ¥ste vara en multipel av 2" +msgstr "storlek på flex_bg måste vara en multipel av 2" -#: misc/mke2fs.c:1428 +#: misc/mke2fs.c:1286 #, c-format msgid "invalid inode ratio %s (min %d/max %d)" -msgstr "ogiltig inodsförhÃ¥llande %s (min %d/max %d)" - -#: misc/mke2fs.c:1438 -#, c-format -msgid "invalid inode size - %s" -msgstr "ogiltig inodsstorlek - %s" - -#: misc/mke2fs.c:1450 -#, c-format -msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n" -msgstr "Varning: flaggan -K undanbedes och skall inte användas mera. Använd den utökade flaggan \"-E nodiscard\" istället!\n" +msgstr "ogiltig inodsförhållande %s (min %d/max %d)" -#: misc/mke2fs.c:1460 +#: misc/mke2fs.c:1306 msgid "in malloc for bad_blocks_filename" -msgstr "i malloc för bad_blocks_filename" +msgstr "i malloc för bad_blocks_filename" -#: misc/mke2fs.c:1473 +#: misc/mke2fs.c:1316 #, c-format msgid "invalid reserved blocks percent - %s" msgstr "ogiltig procentandel reserverade block - %s" -#: misc/mke2fs.c:1488 -#, c-format -msgid "bad num inodes - %s" -msgstr "felaktigt antal inoder - %s" - -#: misc/mke2fs.c:1505 +#: misc/mke2fs.c:1334 #, c-format msgid "bad revision level - %s" -msgstr "felaktigt versionsnivÃ¥ - %s" +msgstr "felaktigt versionsnivå - %s" -#: misc/mke2fs.c:1519 -msgid "The -t option may only be used once" -msgstr "Flaggan -t fÃ¥r endast anges en gÃ¥ng" +#: misc/mke2fs.c:1346 +#, c-format +msgid "invalid inode size - %s" +msgstr "ogiltig inodsstorlek - %s" -#: misc/mke2fs.c:1527 -msgid "The -T option may only be used once" -msgstr "Flaggan -T fÃ¥r endast anges en gÃ¥ng" +#: misc/mke2fs.c:1366 +#, c-format +msgid "bad num inodes - %s" +msgstr "felaktigt antal inoder - %s" -#: misc/mke2fs.c:1580 misc/mke2fs.c:2591 +#: misc/mke2fs.c:1431 misc/mke2fs.c:2203 #, c-format msgid "while trying to open journal device %s\n" -msgstr "vid försök att öppna journalenhet %s\n" +msgstr "vid försök att öppna journalenhet %s\n" -#: misc/mke2fs.c:1586 +#: misc/mke2fs.c:1437 #, c-format msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n" -msgstr "Journalenhetens blockstorlek (%d) mindre än minsta blockstorlek %d\n" +msgstr "Journalenhetens blockstorlek (%d) mindre än minsta blockstorlek %d\n" -#: misc/mke2fs.c:1592 +#: misc/mke2fs.c:1443 #, c-format msgid "Using journal device's blocksize: %d\n" -msgstr "Använder journalenhetens blockstorlek: %d\n" +msgstr "Använder journalenhetens blockstorlek: %d\n" + +#: misc/mke2fs.c:1452 +#, c-format +msgid "%d-byte blocks too big for system (max %d)" +msgstr "%d-byteblock för stort för systemet (max %d)" -#: misc/mke2fs.c:1603 +#: misc/mke2fs.c:1456 #, c-format -msgid "invalid blocks '%s' on device '%s'" -msgstr "felaktiga block \"%s\" pÃ¥ enhet \"%s\"" +msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +msgstr "Varning: %d-byteblock för stort för systemet (max %d), tvingas fortsätta\n" + +#: misc/mke2fs.c:1464 +#, c-format +msgid "invalid blocks count - %s" +msgstr "felaktigt blockantal - %s" -# "Ett" för att detta sätts in i annan sträng där det föregÃ¥s av "a". -# Även "journal" kan sättas in pÃ¥ samma plats. Felrapporterat. -#: misc/mke2fs.c:1613 +# "Ett" för att detta sätts in i annan sträng där det föregås av "a". +# Även "journal" kan sättas in på samma plats. Felrapporterat. +#: misc/mke2fs.c:1474 msgid "filesystem" msgstr "ett filsystem" -#: misc/mke2fs.c:1626 resize/main.c:367 +#: misc/mke2fs.c:1510 +#, c-format +msgid "" +"%s: Size of device %s too big to be expressed in 32 bits\n" +"\tusing a blocksize of %d.\n" +msgstr "" +"%s: Storlek på enhet %s är för stor för att uttryckas med 32 bitar\n" +"\tanvänder en blockstorlek på %d.\n" + +#: misc/mke2fs.c:1519 resize/main.c:382 msgid "while trying to determine filesystem size" -msgstr "vid försök att avgöra filsystemstorlek" +msgstr "vid försök att avgöra filsystemstorlek" -#: misc/mke2fs.c:1632 +#: misc/mke2fs.c:1526 msgid "" "Couldn't determine device size; you must specify\n" "the size of the filesystem\n" msgstr "" -"Kunde inte avgöra enhetsstorlek; du mÃ¥ste ange\n" -"storleken pÃ¥ filsystemet\n" +"Kunde inte avgöra enhetsstorlek; du måste ange\n" +"storleken på filsystemet\n" -#: misc/mke2fs.c:1639 +#: misc/mke2fs.c:1533 msgid "" "Device size reported to be zero. Invalid partition specified, or\n" "\tpartition table wasn't reread after running fdisk, due to\n" @@ -4532,305 +4221,215 @@ msgid "" "\tto re-read your partition table.\n" msgstr "" "Enhetsstorlek rapporterades som noll. Ogiltig partition angiven, eller\n" -"\tpartitionstabellen var inte omläst efter att ha kört fsck, pÃ¥ grund\n" -"\tav en modifierad partition används och är i bruk. Du kan behöva\n" -"\tstarta om för att läsa om din partitionstabell.\n" +"\tpartitionstabellen var inte omläst efter att ha kört fsck, på grund\n" +"\tav en modifierad partition används och är i bruk. Du kan behöva\n" +"\tstarta om för att läsa om din partitionstabell.\n" -#: misc/mke2fs.c:1656 +#: misc/mke2fs.c:1551 msgid "Filesystem larger than apparent device size." -msgstr "Filsystem större än synbar enhetsstorlek." +msgstr "Filsystem större än synbar enhetsstorlek." -#: misc/mke2fs.c:1676 +#: misc/mke2fs.c:1557 #, c-format msgid "Failed to parse fs types list\n" msgstr "Misslyckades tolka fs-typlista\n" -#: misc/mke2fs.c:1730 -#, 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 "" -"%s: Storleken pÃ¥ enhet (0x%llx block) %s är för stor för att uttryckas\n" -"\tmed 32 bitar med användning av en blockstorlek pÃ¥ %d.\n" - -#: misc/mke2fs.c:1746 +#: misc/mke2fs.c:1591 msgid "fs_types for mke2fs.conf resolution: " -msgstr "upplösning av fs_types för mke2fs.conf: " +msgstr "upplösning av fs_types för mke2fs.conf: " -#: misc/mke2fs.c:1753 +#: misc/mke2fs.c:1598 #, c-format msgid "Filesystem features not supported with revision 0 filesystems\n" -msgstr "Filsystemsfunktioner som inte stöds med revision 0-filsystem\n" +msgstr "Filsystemsfunktioner som inte stöds med revision 0-filsystem\n" -#: misc/mke2fs.c:1760 +#: misc/mke2fs.c:1605 #, c-format msgid "Sparse superblocks not supported with revision 0 filesystems\n" -msgstr "Glesa superblock stöds inte med revision 0-filsystem\n" +msgstr "Glesa superblock stöds inte med revision 0-filsystem\n" -#: misc/mke2fs.c:1772 +#: misc/mke2fs.c:1617 #, c-format msgid "Journals not supported with revision 0 filesystems\n" -msgstr "Journaler stöds inte med revision 0-filsystem\n" - -#: misc/mke2fs.c:1786 -#, c-format -msgid "invalid reserved blocks percent - %lf" -msgstr "ogiltig procentandel reserverade block - %lf" +msgstr "Journaler stöds inte med revision 0-filsystem\n" -#: misc/mke2fs.c:1802 +#: misc/mke2fs.c:1635 #, c-format msgid "" "The resize_inode and meta_bg features are not compatible.\n" "They can not be both enabled simultaneously.\n" msgstr "" -"Egenskaperna resize_inode och meta_bg är inte kompatibla\n" -"De kan inte bÃ¥da aktiveras samtidigt.\n" +"Egenskaperna resize_inode och meta_bg är inte kompatibla\n" +"De kan inte båda aktiveras samtidigt.\n" -#: misc/mke2fs.c:1819 +#: misc/mke2fs.c:1652 msgid "while trying to determine hardware sector size" -msgstr "vid försök att avgöra hÃ¥rdvarusektorstorlek" +msgstr "vid försök att avgöra hårdvarusektorstorlek" -#: misc/mke2fs.c:1825 +#: misc/mke2fs.c:1658 msgid "while trying to determine physical sector size" -msgstr "vid försök att avgöra fysisk sektorstorlek" +msgstr "vid försök att avgöra fysisk sektorstorlek" -#: misc/mke2fs.c:1858 +#: misc/mke2fs.c:1687 msgid "while setting blocksize; too small for device\n" -msgstr "när blockstorlek sattes; för liten för enheten\n" +msgstr "när blockstorlek sattes; för liten för enheten\n" -#: misc/mke2fs.c:1863 +#: misc/mke2fs.c:1691 #, c-format -msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n" -msgstr "Varning: angiven blockstorlek %d är mindre än enhetens fysiska sektorstorlek %d\n" - -#: misc/mke2fs.c:1881 -msgid "The cluster size may not be smaller than the block size.\n" -msgstr "Klusterstorleken fÃ¥r inte vara mindre än blockstorleken.\n" +msgid "Warning: specified blocksize %d is less than device physical sectorsize %d, forced to continue\n" +msgstr "Varning: angiven blockstorlek %d är mindre än enhetens fysiska sektorstorlek %d, tvungen att fortsätta\n" -#: misc/mke2fs.c:1887 -msgid "specifying a cluster size requires the bigalloc feature" -msgstr "att ange en klusterstorlek förutsätter funktionen bigalloc" - -#: misc/mke2fs.c:1906 +#: misc/mke2fs.c:1712 #, c-format msgid "warning: Unable to get device geometry for %s\n" -msgstr "varning: Kan inte ta reda pÃ¥ enhetens geometri för %s\n" +msgstr "varning: Kan inte ta reda på enhetens geometri för %s\n" -#: misc/mke2fs.c:1909 +#: misc/mke2fs.c:1715 #, c-format msgid "%s alignment is offset by %lu bytes.\n" -msgstr "%s justering är förskjuten med %lu byte.\n" +msgstr "%s justering är förskjuten med %lu byte.\n" -#: misc/mke2fs.c:1911 +#: misc/mke2fs.c:1717 #, c-format msgid "This may result in very poor performance, (re)-partitioning suggested.\n" -msgstr "Detta kan medföra väldigt dÃ¥liga prestanda, (om)partitionering föreslÃ¥s.\n" - -#: misc/mke2fs.c:1930 -#, c-format -msgid "%d-byte blocks too big for system (max %d)" -msgstr "%d-byteblock för stort för systemet (max %d)" - -#: misc/mke2fs.c:1934 -#, c-format -msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" -msgstr "Varning: %d-byteblock för stort för systemet (max %d), tvingas fortsätta\n" - -#: misc/mke2fs.c:1968 -msgid "Can't support bigalloc feature without extents feature" -msgstr "Kan inte stödja funktionen bigalloc utan funktionen utsträckningar" - -#: misc/mke2fs.c:1975 -#, c-format -msgid "" -"\n" -"Warning: the bigalloc feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n" -"\n" -msgstr "" -"\n" -"Varning: funktionen bigalloc är fortfarande under utveckling\n" -"Se https://ext4.wiki.kernel.org/index.php/Bigalloc för mer information\n" -"\n" - -#: misc/mke2fs.c:1982 misc/tune2fs.c:740 -#, c-format -msgid "" -"\n" -"Warning: the quota feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Quota for more information\n" -"\n" -msgstr "" -"\n" -"Varning: funktionen kvot är fortfarande under utveckling\n" -"Se https://ext4.wiki.kernel.org/index.php/Quota för mer information\n" -"\n" +msgstr "Detta kan medföra väldigt dåliga prestanda, (om)partitionering föreslås.\n" -#: misc/mke2fs.c:1993 +#: misc/mke2fs.c:1745 msgid "reserved online resize blocks not supported on non-sparse filesystem" -msgstr "reserverade block för storleksändring under drift stöds inte pÃ¥ icke-glesa filsystem" +msgstr "reserverade block för storleksändring under drift stöds inte på icke-glesa filsystem" -#: misc/mke2fs.c:2002 +#: misc/mke2fs.c:1754 msgid "blocks per group count out of range" -msgstr "antal block per grupp utanför giltigt intervall" +msgstr "antal block per grupp utanför giltigt intervall" -#: misc/mke2fs.c:2026 +#: misc/mke2fs.c:1769 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" -msgstr "Funktionen flex_gb är inte aktiverad, sÃ¥ fleg_bg-storleg kan inte anges" +msgstr "Funktionen flex_gb är inte aktiverad, så fleg_bg-storleg kan inte anges" -#: misc/mke2fs.c:2038 +#: misc/mke2fs.c:1781 #, c-format msgid "invalid inode size %d (min %d/max %d)" msgstr "ogiltig inodstorlek %d (min %d/max %d)" -#: misc/mke2fs.c:2056 +#: misc/mke2fs.c:1795 #, c-format msgid "too many inodes (%llu), raise inode ratio?" -msgstr "för mÃ¥nga inoder (%llu), öka inodsförhÃ¥llandet?" +msgstr "för många inoder (%llu), öka inodsförhållandet?" -#: misc/mke2fs.c:2063 +#: misc/mke2fs.c:1800 #, c-format msgid "too many inodes (%llu), specify < 2^32 inodes" -msgstr "för mÃ¥nga inoder (%llu), ange < 2³² inoder" +msgstr "för många inoder (%llu), ange < 2^32 inoder" -#: misc/mke2fs.c:2077 +#: misc/mke2fs.c:1815 #, c-format msgid "" "inode_size (%u) * inodes_count (%u) too big for a\n" -"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n" +"\tfilesystem with %lu blocks, specify higher inode_ratio (-i)\n" "\tor lower inode count (-N).\n" msgstr "" -"inodsstorlek (%u) · inodantal (%u) för stort för ett\n" -"\tfilsystem med %llu block, ange högre inodsförhÃ¥llande (-i)\n" -"\teller lägre inodantal (-N).\n" +"inodsstorlek (%u) · inodantal (%u) för stort för ett\n" +"\tfilsystem med %lu block, ange högre inodsförhållande (-i)\n" +"\teller lägre inodantal (-N).\n" + +#: misc/mke2fs.c:1908 misc/tune2fs.c:1494 +msgid "Couldn't allocate memory for tdb filename\n" +msgstr "Kunde inte allokera minne för tdb-filnamn\n" + +#: misc/mke2fs.c:1921 misc/tune2fs.c:1516 +#, c-format +msgid "while trying to delete %s" +msgstr "vid försök att ta bort %s" -#: misc/mke2fs.c:2196 +#: misc/mke2fs.c:1931 #, c-format msgid "" "Overwriting existing filesystem; this can be undone using the command:\n" " e2undo %s %s\n" "\n" msgstr "" -"Skriver över existerande filsystem, detta kan göras ogjort med kommandot:\n" +"Skriver över existerande filsystem, detta kan göras ogjort med kommandot:\n" " e2undo %s %s\n" "\n" -#: misc/mke2fs.c:2210 -msgid "while trying to setup undo file\n" -msgstr "vid försök att skapa en gör-ogjort-fil\n" +#: misc/mke2fs.c:1968 +#, c-format +msgid "Calling BLKDISCARD from %llu to %llu " +msgstr "Anropar BLKDISCARD från %llu till %llu " -#: misc/mke2fs.c:2236 -msgid "Discarding device blocks: " -msgstr "Utrangerar enhetsblock: " +#: misc/mke2fs.c:1972 +#, c-format +msgid "failed.\n" +msgstr "misslyckades.\n" -#: misc/mke2fs.c:2252 -msgid "failed - " -msgstr "misslyckades - " +#: misc/mke2fs.c:1974 +#, c-format +msgid "succeeded.\n" +msgstr "lyckades.\n" -#: misc/mke2fs.c:2360 +#: misc/mke2fs.c:2023 msgid "while setting up superblock" -msgstr "vid uppsättning av superblock" +msgstr "vid uppsättning av superblock" -#: misc/mke2fs.c:2369 -#, c-format -msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" -msgstr "Utrangering lyckades och kommer returnera 0s - hoppar över rensning av inodstabell\n" - -#: misc/mke2fs.c:2452 +#: misc/mke2fs.c:2087 #, c-format msgid "unknown os - %s" -msgstr "okänt os - %s" - -#: misc/mke2fs.c:2504 -#, c-format -msgid "Allocating group tables: " -msgstr "Allokerar grupptabeller: " +msgstr "okänt os - %s" -#: misc/mke2fs.c:2508 +#: misc/mke2fs.c:2141 msgid "while trying to allocate filesystem tables" -msgstr "vid försök att allokera filsystemstabeller" +msgstr "vid försök att allokera filsystemstabeller" -#: misc/mke2fs.c:2517 -msgid "" -"\n" -"\twhile converting subcluster bitmap" -msgstr "" -"\n" -"\tvid konvertering av underklustrets bitkarta" - -#: misc/mke2fs.c:2560 +#: misc/mke2fs.c:2172 #, c-format -msgid "while zeroing block %llu at end of filesystem" -msgstr "vid nollställning av block %llu vid slutet av filsystemet" +msgid "while zeroing block %u at end of filesystem" +msgstr "vid nollställning av block %u vid slutet av filsystem" -#: misc/mke2fs.c:2573 +#: misc/mke2fs.c:2185 msgid "while reserving blocks for online resize" -msgstr "vid reservation av block för storleksändring under drift" +msgstr "vid reservation av block för storleksändring under drift" -# "En" för att detta sätts in i annan sträng där det föregÃ¥s av "a". -# Även "filsystem" kan sättas in pÃ¥ samma plats. Felrapporterat. -#: misc/mke2fs.c:2584 misc/tune2fs.c:645 +# "En" för att detta sätts in i annan sträng där det föregås av "a". +# Även "filsystem" kan sättas in på samma plats. Felrapporterat. +#: misc/mke2fs.c:2196 misc/tune2fs.c:479 msgid "journal" msgstr "en journal" -#: misc/mke2fs.c:2596 +#: misc/mke2fs.c:2208 #, c-format msgid "Adding journal to device %s: " -msgstr "Lägger till journal till enhet %s: " +msgstr "Lägger till journal till enhet %s: " -#: misc/mke2fs.c:2603 +#: misc/mke2fs.c:2215 #, c-format msgid "" "\n" "\twhile trying to add journal to device %s" msgstr "" "\n" -"\tvid försök att lägga till journal till enhet %s" +"\tvid försök att lägga till journal till enhet %s" -#: misc/mke2fs.c:2608 misc/mke2fs.c:2640 misc/tune2fs.c:674 misc/tune2fs.c:688 +#: misc/mke2fs.c:2220 misc/mke2fs.c:2252 misc/tune2fs.c:508 misc/tune2fs.c:522 #, c-format msgid "done\n" msgstr "klar\n" -#: misc/mke2fs.c:2617 +#: misc/mke2fs.c:2229 #, c-format msgid "Skipping journal creation in super-only mode\n" -msgstr "Hoppar över att skapa jornal i läget endast super\n" +msgstr "Hoppar över att skapa jornal i läget endast super\n" -#: misc/mke2fs.c:2628 +#: misc/mke2fs.c:2240 #, c-format msgid "Creating journal (%u blocks): " msgstr "Skapar journal (%u block): " -#: misc/mke2fs.c:2636 -msgid "" -"\n" -"\twhile trying to create journal" -msgstr "" -"\n" -"\tvid försök att skapa journal" - -#: misc/mke2fs.c:2647 misc/tune2fs.c:451 -#, c-format -msgid "" -"\n" -"Error while enabling multiple mount protection feature." -msgstr "" -"\n" -"Fel vid aktivering av funktionen för skydd mot flerfaldig montering." - -#: misc/mke2fs.c:2652 -#, c-format -msgid "Multiple mount protection is enabled with update interval %d seconds.\n" -msgstr "Skydd mot flerfaldig montering är aktiverat med uppdateringsintervall %d sekunder.\n" - -#: misc/mke2fs.c:2665 +#: misc/mke2fs.c:2257 #, c-format msgid "Writing superblocks and filesystem accounting information: " -msgstr "Skriver superblock och filsystemsbokföringsinformation: " +msgstr "Skriver superblock och filsystemsbokföringsinformation: " -#: misc/mke2fs.c:2672 +#: misc/mke2fs.c:2262 #, c-format msgid "" "\n" @@ -4839,7 +4438,7 @@ msgstr "" "\n" "Varning, hade problem att skriva ut superblock." -#: misc/mke2fs.c:2674 +#: misc/mke2fs.c:2265 #, c-format msgid "" "done\n" @@ -4848,12 +4447,12 @@ msgstr "" "klar\n" "\n" -#: misc/mklost+found.c:50 +#: misc/mklost+found.c:49 #, c-format msgid "Usage: mklost+found\n" -msgstr "Användning: mklost+found\n" +msgstr "Användning: mklost+found\n" -#: misc/partinfo.c:41 +#: misc/partinfo.c:39 #, c-format msgid "" "Usage: %s device...\n" @@ -4862,338 +4461,258 @@ msgid "" "For example: %s /dev/hda\n" "\n" msgstr "" -"Användning: %s enhet...\n" +"Användning: %s enhet...\n" "\n" -"Skriv ut partitionsinformationen för varje angiven enhet.\n" +"Skriv ut partitionsinformationen för varje angiven enhet.\n" "Till exempel: %s /dev/hda\n" "\n" -#: misc/partinfo.c:51 +#: misc/partinfo.c:49 #, c-format msgid "Cannot open %s: %s" -msgstr "Kan inte öppna %s: %s" +msgstr "Kan inte öppna %s: %s" -#: misc/partinfo.c:57 +#: misc/partinfo.c:55 #, c-format msgid "Cannot get geometry of %s: %s" -msgstr "Kan inte fÃ¥ geometrin för %s: %s" +msgstr "Kan inte få geometrin för %s: %s" -#: misc/partinfo.c:65 +#: misc/partinfo.c:63 #, c-format msgid "Cannot get size of %s: %s" -msgstr "Kan inte fÃ¥ storlek av %s: %s" +msgstr "Kan inte få storlek av %s: %s" -#: misc/partinfo.c:71 +#: misc/partinfo.c:69 #, c-format msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n" msgstr "%s: h=%3d s=%3d c=%4d start=%8d storlek=%8lu slut=%8d\n" -#: misc/tune2fs.c:107 +#: misc/tune2fs.c:96 msgid "Please run e2fsck on the filesystem.\n" -msgstr "Kör e2fsck pÃ¥ filsystemet.\n" +msgstr "Kör e2fsck på filsystemet.\n" -#: misc/tune2fs.c:116 +#: misc/tune2fs.c:105 #, c-format msgid "" "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" -"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p mmp_update_interval]\n" +"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n" "\t[ -I new_inode_size ] device\n" msgstr "" -"Användning: %s [-c max_antal_monteringar] [-e felbeteende] [-g grupp]\n" +"Användning: %s [-c max_antal_monteringar] [-e felbeteende] [-g grupp]\n" "\t[-i intervall[d|m|w]] [-j] [-J journalflaggor] [-l]\n" "\t[-m reserverade_block_procent] [-o [^]monteringsflaggor[,...]]\n" -"\t[-p mmp_uppdateringsintervall] [-r antal_reserverade_block]\n" -"\t[-u användare] [-C antal_monteringar] [-L volymetikett]\n" -"\t[-M senast_monterad_katalog] [-O [^]funktion[,...]]\n" -"\t[-E utökad-flagga[,...]] [-T senaste_kontrolltid] [-U UUID]\n" +"\t[-r antal_reserverade_block] [-u användare] [-C antal_monteringar]\n" +"\t[-L volymetikett] [-M senast_monterad_katalog] [-O [^]funktion[,...]]\n" +"\t[-E utökad-flagga[,...]] [-T senaste_kontrolltid] [-U UUID]\n" "\t[ -I ny_inodstorlek ] enhet\n" -#: misc/tune2fs.c:209 +#: misc/tune2fs.c:190 msgid "while trying to open external journal" -msgstr "vid försök att öppna extern journal" +msgstr "vid försök att öppna extern journal" -#: misc/tune2fs.c:214 +#: misc/tune2fs.c:194 #, c-format msgid "%s is not a journal device.\n" -msgstr "%s är inte en journalenhet.\n" +msgstr "%s är inte en journalenhet.\n" -#: misc/tune2fs.c:229 +#: misc/tune2fs.c:209 msgid "Journal superblock not found!\n" msgstr "Journalsuperblock inte funnet!\n" -#: misc/tune2fs.c:240 +#: misc/tune2fs.c:221 msgid "Filesystem's UUID not found on journal device.\n" -msgstr "Filsystems UUID inte funnet pÃ¥ journalenhet.\n" +msgstr "Filsystems UUID inte funnet på journalenhet.\n" -#: misc/tune2fs.c:261 -msgid "" -"Cannot locate journal device. It was NOT removed\n" -"Use -f option to remove missing journal device.\n" -msgstr "" -"Kan inte hitta journalenheten. Den togs INTE bort.\n" -"Använd flaggan -f för att ta bort en saknad journalenhet.\n" +#: misc/tune2fs.c:242 +msgid "Journal NOT removed\n" +msgstr "Journal INTE borttagen\n" -#: misc/tune2fs.c:269 +#: misc/tune2fs.c:248 msgid "Journal removed\n" msgstr "Journal borttagen\n" -#: misc/tune2fs.c:313 +#: misc/tune2fs.c:288 msgid "while reading bitmaps" -msgstr "vid läsning av bitkartor" +msgstr "vid läsning av bitkartor" -#: misc/tune2fs.c:321 +#: misc/tune2fs.c:296 msgid "while clearing journal inode" -msgstr "vid nollställning av journalinod" +msgstr "vid nollställning av journalinod" -#: misc/tune2fs.c:332 +#: misc/tune2fs.c:307 msgid "while writing journal inode" msgstr "vid skrivning av journalinod" -#: misc/tune2fs.c:367 +#: misc/tune2fs.c:322 #, c-format -msgid "(and reboot afterwards!)\n" -msgstr "(och starta om efterÃ¥t!)\n" +msgid "Invalid mount option set: %s\n" +msgstr "Ogiltig monteringsflagga satt: %s\n" -#: misc/tune2fs.c:401 +#: misc/tune2fs.c:358 #, c-format msgid "Clearing filesystem feature '%s' not supported.\n" -msgstr "Nollställning av filsystemsfunktion \"%s\" stöds inte.\n" +msgstr "Nollställning av filsystemsfunktion \"%s\" stöds inte.\n" -#: misc/tune2fs.c:407 +#: misc/tune2fs.c:364 #, c-format msgid "Setting filesystem feature '%s' not supported.\n" -msgstr "Att sätta filsystemsfunktion \"%s\" stöds inte.\n" +msgstr "Att sätta filsystemsfunktion \"%s\" stöds inte.\n" -#: misc/tune2fs.c:416 +#: misc/tune2fs.c:373 msgid "" "The has_journal feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" msgstr "" -"Flaggan has_journal fÃ¥r endast nollställas när filsystemet är\n" -"omonterat eller monterat enbart för läsning.\n" +"Flaggan has_journal får endast nollställas när filsystemet är\n" +"omonterat eller monterat enbart för läsning.\n" -#: misc/tune2fs.c:424 +#: misc/tune2fs.c:381 msgid "" "The needs_recovery flag is set. Please run e2fsck before clearing\n" "the has_journal flag.\n" msgstr "" -"Flaggan needs_recovery är satt. Kör e2fsck före flaggan has_journal\n" -"nollställs.\n" - -#: misc/tune2fs.c:443 -msgid "" -"The multiple mount protection feature can't\n" -"be set if the filesystem is mounted or\n" -"read-only.\n" -msgstr "" -"Funktionen för skydd mot flerfaldig montering\n" -"kan inte sättas pÃ¥ om filsystemet är monterat\n" -"eller skrivskyddat.\n" - -#: misc/tune2fs.c:461 -#, c-format -msgid "Multiple mount protection has been enabled with update interval %ds.\n" -msgstr "Skydd mot flerfaldig montering har aktiverats med uppdateringsintervallet %d s.\n" - -#: misc/tune2fs.c:470 -msgid "" -"The multiple mount protection feature cannot\n" -"be disabled if the filesystem is readonly.\n" -msgstr "" -"Funktionen för skydd mot flerfaldig montering kan inte\n" -"avaktiveras om filsystemet är skrivskyddat.\n" - -#: misc/tune2fs.c:478 -msgid "Error while reading bitmaps\n" -msgstr "Fel vid läsning av bitkartor\n" - -#: misc/tune2fs.c:487 -#, c-format -msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n" -msgstr "Magiskt tal i MMP-block stämmer inte. förväntat: %x, faktiskt: %x\n" - -#: misc/tune2fs.c:492 -msgid "while reading MMP block." -msgstr "vid läsning av MMP-block." +"Flaggan needs_recovery är satt. Kör e2fsck före flaggan has_journal\n" +"nollställs.\n" -#: misc/tune2fs.c:524 +#: misc/tune2fs.c:414 msgid "" "Clearing the flex_bg flag would cause the the filesystem to be\n" "inconsistent.\n" msgstr "" -"Att nollställa flaggan flex_bg skulle fÃ¥ filsystemet att bli\n" +"Att nollställa flaggan flex_bg skulle få filsystemet att bli\n" "inkonsistent.\n" -#: misc/tune2fs.c:535 +#: misc/tune2fs.c:425 msgid "" "The huge_file feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" msgstr "" -"Flaggan huge_file fÃ¥r endast nollställas när filsystemet är\n" -"omonterat eller monterat enbart för läsning.\n" +"Flaggan huge_file får endast nollställas när filsystemet är\n" +"omonterat eller monterat enbart för läsning.\n" -#: misc/tune2fs.c:595 -msgid "" -"\n" -"Warning: '^quota' option overrides '-Q'arguments.\n" -msgstr "" -"\n" -"Varning: flaggan \"^quota\" Ã¥sidosätter \"-Q\"-argument.\n" +#: misc/tune2fs.c:453 +#, c-format +msgid "(and reboot afterwards!)\n" +msgstr "(och starta om efteråt!)\n" -#: misc/tune2fs.c:640 +#: misc/tune2fs.c:474 msgid "The filesystem already has a journal.\n" msgstr "Filsystemet har redan en journal.\n" -#: misc/tune2fs.c:658 +#: misc/tune2fs.c:492 #, c-format msgid "" "\n" "\twhile trying to open journal on %s\n" msgstr "" "\n" -"\tvid försök att öppna journal pÃ¥ %s\n" +"\tvid försök att öppna journal på %s\n" -#: misc/tune2fs.c:662 +#: misc/tune2fs.c:496 #, c-format msgid "Creating journal on device %s: " -msgstr "Skapar journal pÃ¥ enhet %s: " +msgstr "Skapar journal på enhet %s: " -#: misc/tune2fs.c:670 +#: misc/tune2fs.c:504 #, c-format msgid "while adding filesystem to journal on %s" -msgstr "vid tillägg av filsystem till journal pÃ¥ %s" +msgstr "vid tillägg av filsystem till journal på %s" -#: misc/tune2fs.c:676 +#: misc/tune2fs.c:510 msgid "Creating journal inode: " msgstr "Skapar journalinod: " -#: misc/tune2fs.c:685 +#: misc/tune2fs.c:519 msgid "" "\n" "\twhile trying to create journal file" msgstr "" "\n" -"\tvid försök att skapa journalfil" - -#: misc/tune2fs.c:763 -msgid "Couldn't allocate memory to parse quota options!\n" -msgstr "Kunde inte allokera minne för att tolka kvotflaggor!\n" - -#: misc/tune2fs.c:785 -msgid "" -"\n" -"Bad quota options specified.\n" -"\n" -"Following valid quota options are available (pass by separating with comma):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" -msgstr "" -"\n" -"Felaktigt kvotalternativ angivet.\n" -"\n" -"Följande giltiga kvotalternativ finns (skicka dem separerade med kommatecken):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" +"\tvid försök att skapa journalfil" -#: misc/tune2fs.c:846 +#: misc/tune2fs.c:585 #, c-format msgid "Couldn't parse date/time specifier: %s" msgstr "Kunde inte tolka datum-/tidsangivelse: %s" -#: misc/tune2fs.c:870 misc/tune2fs.c:883 +#: misc/tune2fs.c:609 misc/tune2fs.c:622 #, c-format msgid "bad mounts count - %s" msgstr "felaktigt antal monteringar - %s" -#: misc/tune2fs.c:899 +#: misc/tune2fs.c:638 #, c-format msgid "bad error behavior - %s" msgstr "felaktigt felbeteende - %s" -#: misc/tune2fs.c:926 +#: misc/tune2fs.c:665 #, c-format msgid "bad gid/group name - %s" msgstr "felaktigt gid/gruppnamn - %s" -#: misc/tune2fs.c:959 +#: misc/tune2fs.c:698 #, c-format msgid "bad interval - %s" msgstr "felaktigt intervall - %s" -#: misc/tune2fs.c:988 +#: misc/tune2fs.c:727 #, c-format msgid "bad reserved block ratio - %s" msgstr "felaktig andel reserverade block - %s" -#: misc/tune2fs.c:1003 +#: misc/tune2fs.c:742 msgid "-o may only be specified once" -msgstr "-o fÃ¥r endast anges en gÃ¥ng" +msgstr "-o får endast anges en gång" -#: misc/tune2fs.c:1012 +#: misc/tune2fs.c:752 msgid "-O may only be specified once" -msgstr "-O fÃ¥r endast anges en gÃ¥ng" +msgstr "-O får endast anges en gång" -#: misc/tune2fs.c:1027 +#: misc/tune2fs.c:762 #, c-format msgid "bad reserved blocks count - %s" msgstr "felaktigt antal reserverade block - %s" -#: misc/tune2fs.c:1056 +#: misc/tune2fs.c:791 #, c-format msgid "bad uid/user name - %s" -msgstr "felagtigt uid/användarnamn - %s" +msgstr "felagtigt uid/användarnamn - %s" -#: misc/tune2fs.c:1073 +#: misc/tune2fs.c:808 #, c-format msgid "bad inode size - %s" msgstr "felaktig inodsstorlek - %s" -#: misc/tune2fs.c:1080 +#: misc/tune2fs.c:815 #, c-format msgid "Inode size must be a power of two- %s" -msgstr "Inodsstorlek mÃ¥ste vara en multipel av tvÃ¥- %s" +msgstr "Inodsstorlek måste vara en multipel av två- %s" -#: misc/tune2fs.c:1174 -#, c-format -msgid "mmp_update_interval too big: %lu\n" -msgstr "mmp_update_interval är för stort: %lu\n" - -#: misc/tune2fs.c:1179 -#, c-format -msgid "Setting multiple mount protection update interval to %lu second\n" -msgid_plural "Setting multiple mount protection update interval to %lu seconds\n" -msgstr[0] "Sätter uppdateringsintervall för skydd mot flerfaldig montering till %lu sekund\n" -msgstr[1] "Sätter uppdateringsintervall för skydd mot flerfaldig montering till %lu sekunder\n" - -#: misc/tune2fs.c:1202 +#: misc/tune2fs.c:904 #, c-format msgid "Invalid RAID stride: %s\n" msgstr "Ogiltig RAID-kliv: %s\n" -#: misc/tune2fs.c:1217 +#: misc/tune2fs.c:919 #, c-format msgid "Invalid RAID stripe-width: %s\n" msgstr "Ogiltig RAID-remsbredd: %s\n" -#: misc/tune2fs.c:1232 +#: misc/tune2fs.c:934 #, c-format msgid "Invalid hash algorithm: %s\n" msgstr "Ogiltig hash-algoritm: %s\n" -#: misc/tune2fs.c:1238 +#: misc/tune2fs.c:940 #, c-format msgid "Setting default hash algorithm to %s (%d)\n" -msgstr "Sätter standardhashalgoritm till %s (%d)\n" +msgstr "Sätter standardhashalgoritm till %s (%d)\n" -#: misc/tune2fs.c:1257 +#: misc/tune2fs.c:948 #, c-format msgid "" "\n" @@ -5203,151 +4722,111 @@ msgid "" "\tis set off by an equals ('=') sign.\n" "\n" "Valid extended options are:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" msgstr "" "\n" "Felaktiga flaggor angivna.\n" "\n" -"Utökade flaggor separeras med komman, och kan ta ett argument som avdelas med\n" +"Utökade flaggor separeras med komman, och kan ta ett argument som avdelas med\n" "\tett likhetstecken (\"=\").\n" "\n" -"Giltiga utökade flaggor är:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -" mount_opts=\n" +"Giltiga utökade flaggor är:\n" "\tstride=\n" -"\tstripe_width=\n" +"\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" -#: misc/tune2fs.c:1723 -msgid "Failed to read inode bitmap\n" -msgstr "Misslyckades att läsa inodsbitkarta\n" - -#: misc/tune2fs.c:1728 -msgid "Failed to read block bitmap\n" -msgstr "Misslyckades att läsa blockbitkarta\n" - -#: misc/tune2fs.c:1745 resize/resize2fs.c:870 +#: misc/tune2fs.c:1421 resize/resize2fs.c:790 msgid "blocks to be moved" msgstr "block att flytta" -#: misc/tune2fs.c:1748 +#: misc/tune2fs.c:1424 msgid "Failed to allocate block bitmap when increasing inode size\n" -msgstr "Kunde inte allokera blockbitkarta när inodsstorleken ökades\n" +msgstr "Kunde inte allokera blockbitkarta när inodsstorleken ökades\n" -#: misc/tune2fs.c:1754 +#: misc/tune2fs.c:1430 msgid "Not enough space to increase inode size \n" -msgstr "Inte tillräckligt med utrymme för att öka inodsstorleken \n" +msgstr "Inte tillräckligt med utrymme för att öka inodsstorleken \n" -#: misc/tune2fs.c:1759 +#: misc/tune2fs.c:1435 msgid "Failed to relocate blocks during inode resize \n" -msgstr "Misslyckades omlokalisera block under storleksändring av inoder \n" +msgstr "Misslyckades omlokalisera block under storleksändring av inoder \n" -#: misc/tune2fs.c:1791 +#: misc/tune2fs.c:1467 msgid "" "Error in resizing the inode size.\n" "Run e2undo to undo the file system changes. \n" msgstr "" -"Fel när storleken pÃ¥ inoder ändrades.\n" -"Kör e2undo för att göra filsystemsändringarna ogjorda. \n" - -#: misc/tune2fs.c:1818 -msgid "Couldn't allocate memory for tdb filename\n" -msgstr "Kunde inte allokera minne för tdb-filnamn\n" +"Fel när storleken på inoder ändrades.\n" +"Kör e2undo för att göra filsystemsändringarna ogjorda. \n" -#: misc/tune2fs.c:1840 -#, c-format -msgid "while trying to delete %s" -msgstr "vid försök att ta bort %s" - -#: misc/tune2fs.c:1850 +#: misc/tune2fs.c:1526 #, c-format msgid "" "To undo the tune2fs operation please run the command\n" " e2undo %s %s\n" "\n" msgstr "" -"För att göra tune2fs-operationen ogjord, kör kommandot\n" +"För att göra tune2fs-operationen ogjord, kör kommandot\n" " e2undo %s %s\n" "\n" -#: misc/tune2fs.c:1919 -#, c-format -msgid "" -"MMP block magic is bad. Try to fix it by running:\n" -"'e2fsck -f %s'\n" -msgstr "" -"MMP-blockets magiska tal är felaktigt. Försök att rätta det genom att köra:\n" -"\"e2fsck-f %s\"\n" - -#: misc/tune2fs.c:1937 +#: misc/tune2fs.c:1587 #, c-format msgid "The inode size is already %lu\n" -msgstr "Inodsstorleken är redan %lu\n" +msgstr "Inodsstorleken är redan %lu\n" -#: misc/tune2fs.c:1943 +#: misc/tune2fs.c:1592 #, c-format msgid "Shrinking the inode size is not supported\n" -msgstr "Att krympa inodsstorleken stöds inte.\n" +msgstr "Att krympa inodsstorleken stöds inte.\n" -#: misc/tune2fs.c:1949 -#, c-format -msgid "Invalid inode size %lu (max %d)\n" -msgstr "Ogiltig inodstorlek %lu (max %d)\n" - -#: misc/tune2fs.c:1996 +#: misc/tune2fs.c:1635 #, c-format msgid "Setting maximal mount count to %d\n" -msgstr "Sätter max antal monteringar till %d\n" +msgstr "Sätter max antal monteringar till %d\n" -#: misc/tune2fs.c:2002 +#: misc/tune2fs.c:1641 #, c-format msgid "Setting current mount count to %d\n" -msgstr "Sätter aktuellt antal monteringar till %d\n" +msgstr "Sätter aktuellt antal monteringar till %d\n" -#: misc/tune2fs.c:2007 +#: misc/tune2fs.c:1646 #, c-format msgid "Setting error behavior to %d\n" -msgstr "Sätter felbeteende till %d\n" +msgstr "Sätter felbeteende till %d\n" -#: misc/tune2fs.c:2012 +#: misc/tune2fs.c:1651 #, c-format msgid "Setting reserved blocks gid to %lu\n" -msgstr "Sätter gid för reserverade block till %lu\n" +msgstr "Sätter gid för reserverade block till %lu\n" -#: misc/tune2fs.c:2017 -#, c-format -msgid "interval between checks is too big (%lu)" -msgstr "intervall mellan kontroller är för stort (%lu)" - -#: misc/tune2fs.c:2024 +#: misc/tune2fs.c:1656 #, c-format msgid "Setting interval between checks to %lu seconds\n" -msgstr "Sätter intervall mellan kontroller till %lu sekunder\n" +msgstr "Sätter intervall mellan kontroller till %lu sekunder\n" -#: misc/tune2fs.c:2031 +#: misc/tune2fs.c:1663 #, c-format -msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n" -msgstr "Sätter procent reserverade block till %g %% (%llu block)\n" +msgid "Setting reserved blocks percentage to %g%% (%u blocks)\n" +msgstr "Sätter procent reserverade block till %g%% (%u block)\n" -#: misc/tune2fs.c:2037 +#: misc/tune2fs.c:1670 #, c-format -msgid "reserved blocks count is too big (%llu)" -msgstr "antal reserverade block för stort (%llu)" +msgid "reserved blocks count is too big (%lu)" +msgstr "antal reserverade block för stort (%lu)" -#: misc/tune2fs.c:2044 +#: misc/tune2fs.c:1676 #, c-format -msgid "Setting reserved blocks count to %llu\n" -msgstr "Sätter antal reserverade block till %llu\n" +msgid "Setting reserved blocks count to %lu\n" +msgstr "Sätter antal reserverade block till %lu\n" -#: misc/tune2fs.c:2050 +#: misc/tune2fs.c:1682 msgid "" "\n" "The filesystem already has sparse superblocks.\n" @@ -5355,92 +4834,74 @@ msgstr "" "\n" "Filsystemet har redan glesa superblock.\n" -#: misc/tune2fs.c:2057 +#: misc/tune2fs.c:1689 #, c-format msgid "" "\n" "Sparse superblock flag set. %s" msgstr "" "\n" -"Flaggan för glesa superblock satt. %s" +"Flaggan för glesa superblock satt. %s" -#: misc/tune2fs.c:2062 +#: misc/tune2fs.c:1694 msgid "" "\n" "Clearing the sparse superflag not supported.\n" msgstr "" "\n" -"Nollställning av superflaggan gles stöds inte.\n" +"Nollställning av superflaggan gles stöds inte.\n" -#: misc/tune2fs.c:2070 +#: misc/tune2fs.c:1701 #, c-format msgid "Setting time filesystem last checked to %s\n" -msgstr "Sätter tidpunkt för senaste filsystemskontroll till %s\n" +msgstr "Sätter tidpunkt för senaste filsystemskontroll till %s\n" -#: misc/tune2fs.c:2076 +#: misc/tune2fs.c:1707 #, c-format msgid "Setting reserved blocks uid to %lu\n" -msgstr "Sätter uid för reserverade block till %lu\n" - -#: misc/tune2fs.c:2108 -msgid "Error in using clear_mmp. It must be used with -f\n" -msgstr "Fel vid användning av clear_mmp. Det mÃ¥ste användas med -f\n" +msgstr "Sätter uid för reserverade block till %lu\n" -#: misc/tune2fs.c:2126 -msgid "The quota feature may only be changed when the filesystem is unmounted.\n" -msgstr "Kvotafunktionen kan endast ändras när filsystemet är omonterat.\n" - -#: misc/tune2fs.c:2159 +#: misc/tune2fs.c:1758 msgid "Invalid UUID format\n" msgstr "Ogiltigt UUID-format\n" -#: misc/tune2fs.c:2172 +#: misc/tune2fs.c:1770 msgid "The inode size may only be changed when the filesystem is unmounted.\n" -msgstr "Inodsstorleken fÃ¥r endast ändras när filsystemet är omonterat.\n" +msgstr "Inodsstorleken får endast ändras när filsystemet är omonterat.\n" -#: misc/tune2fs.c:2180 +#: misc/tune2fs.c:1777 msgid "" "Changing the inode size not supported for filesystems with the flex_bg\n" "feature enabled.\n" msgstr "" -"Att ändra inodsstorlek stöds inte för filsystem med funktionen flex_bg\n" +"Att ändra inodsstorlek stöds inte för filsystem med funktionen flex_bg\n" "aktiverad.\n" -#: misc/tune2fs.c:2193 +#: misc/tune2fs.c:1789 #, c-format msgid "Setting inode size %lu\n" -msgstr "Sätter inodsstorlek till %lu\n" - -#: misc/tune2fs.c:2196 -#, c-format -msgid "Failed to change inode size\n" -msgstr "Misslyckades att ändra inodsstorlek\n" +msgstr "Sätter inodsstorlek till %lu\n" -#: misc/tune2fs.c:2207 +#: misc/tune2fs.c:1799 #, c-format msgid "Setting stride size to %d\n" -msgstr "Sätter klivstorlek till %d\n" +msgstr "Sätter klivstorlek till %d\n" -#: misc/tune2fs.c:2212 +#: misc/tune2fs.c:1804 #, c-format msgid "Setting stripe width to %d\n" -msgstr "Sätter remsbredd till %d\n" - -#: misc/tune2fs.c:2219 -#, c-format -msgid "Setting extended default mount options to '%s'\n" -msgstr "Sätter utökade standardmonteringsflaggor till \"%s\"\n" +msgstr "Sätter remsbredd till %d\n" -#: misc/util.c:74 +#: misc/util.c:72 msgid "Proceed anyway? (y,n) " -msgstr "Fortsätt ändÃ¥? (j,n) " +msgstr "Fortsätt ändå? (j,n) " -#: misc/util.c:89 +#: misc/util.c:93 #, c-format msgid "Could not stat %s --- %s\n" -msgstr "Kunde inte ta status pÃ¥ %s --- %s\n" +msgstr "Kunde inte ta status på %s --- %s\n" -#: misc/util.c:92 +#: misc/util.c:96 msgid "" "\n" "The device apparently does not exist; did you specify it correctly?\n" @@ -5448,37 +4909,37 @@ msgstr "" "\n" "Enheten existerar uppenbarligen inte; angav du den korrekt?\n" -#: misc/util.c:103 +#: misc/util.c:107 #, c-format msgid "%s is not a block special device.\n" -msgstr "%s är inte en blockspecialenhet.\n" +msgstr "%s är inte en blockspecialenhet.\n" -#: misc/util.c:132 +#: misc/util.c:136 #, c-format msgid "%s is entire device, not just one partition!\n" -msgstr "%s är hela enheten, inte bara en partition!\n" +msgstr "%s är hela enheten, inte bara en partition!\n" -#: misc/util.c:154 +#: misc/util.c:158 msgid "mke2fs forced anyway. Hope /etc/mtab is incorrect.\n" -msgstr "mke2fs framtvingat ändÃ¥. Hoppas /etc/mtab är felaktig.\n" +msgstr "mke2fs framtvingat ändå. Hoppas /etc/mtab är felaktig.\n" # %s kan bli "filsystem" eller "journal". Jag har lagt till "en" -# respektive "ett" i översättningarna av dessa strängar istället. +# respektive "ett" i översättningarna av dessa strängar istället. # Felrapporterat. -#: misc/util.c:159 +#: misc/util.c:163 #, c-format msgid "will not make a %s here!\n" -msgstr "skapar inte %s här!\n" +msgstr "skapar inte %s här!\n" -#: misc/util.c:166 +#: misc/util.c:170 msgid "mke2fs forced anyway.\n" -msgstr "mke2fs framtvingad ändÃ¥.\n" +msgstr "mke2fs framtvingad ändå.\n" -#: misc/util.c:182 +#: misc/util.c:186 msgid "Couldn't allocate memory to parse journal options!\n" -msgstr "Kunde inte allokera minne för att tolka journalflaggor!\n" +msgstr "Kunde inte allokera minne för att tolka journalflaggor!\n" -#: misc/util.c:207 +#: misc/util.c:211 #, c-format msgid "" "\n" @@ -5487,7 +4948,7 @@ msgstr "" "\n" "Kunde inte hitta journalenhet som matchar %s\n" -#: misc/util.c:228 +#: misc/util.c:232 msgid "" "\n" "Bad journal options specified.\n" @@ -5506,24 +4967,24 @@ msgstr "" "Felaktiga journalflaggor angivna.\n" "\n" "Journalflaggor separeras med kommatecken, och kan ta ett argument som\n" -"\tavgränsas med ett likhetstecken (\"=\").\n" +"\tavgränsas med ett likhetstecken (\"=\").\n" "\n" -"Giltiga journalflaggor är:\n" +"Giltiga journalflaggor är:\n" "\tsize=\n" "\tenhet=\n" "\n" -"Journalstorleken mÃ¥ste vara mellan 1024 och 10240000 filsystemsblock.\n" +"Journalstorleken måste vara mellan 1024 och 10240000 filsystemsblock.\n" "\n" -#: misc/util.c:258 +#: misc/util.c:262 msgid "" "\n" "Filesystem too small for a journal\n" msgstr "" "\n" -"Filsystem för litet för en journal\n" +"Filsystem för litet för en journal\n" -#: misc/util.c:265 +#: misc/util.c:269 #, c-format msgid "" "\n" @@ -5531,16 +4992,16 @@ msgid "" "between 1024 and 10240000 blocks. Aborting.\n" msgstr "" "\n" -"Den begärda journalstorleken är %d block; den mÃ¥ste vara\n" +"Den begärda journalstorleken är %d block; den måste vara\n" "mellan 1024 och 10240000 block. Avbryter.\n" -#: misc/util.c:273 +#: misc/util.c:277 msgid "" "\n" "Journal size too big for filesystem.\n" msgstr "" "\n" -"Journalstorleken för stor för filsystem.\n" +"Journalstorleken för stor för filsystem.\n" #: misc/util.c:287 #, c-format @@ -5549,1122 +5010,229 @@ msgid "" "%g days, whichever comes first. Use tune2fs -c or -i to override.\n" msgstr "" "Detta filsystem kommer automatiskt kontrolleras var %d montering eller\n" -"%g dag, vilket som kommer först. Använd tune2fs -c eller -i för att ändra.\n" +"%g dag, vilket som kommer först. Använd tune2fs -c eller -i för att ändra.\n" -#: misc/uuidd.c:48 -#, c-format -msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n" -msgstr "Användning: %s [-d] [-p pid-fil] [-s uttagssökväg] [-T tidsgräns]\n" - -#: misc/uuidd.c:50 -#, c-format -msgid " %s [-r|t] [-n num] [-s socketpath]\n" -msgstr " %s [-r|t] [-n ant] [-s socketuttag]\n" - -#: misc/uuidd.c:52 -#, c-format -msgid " %s -k\n" -msgstr " %s -k\n" - -#: misc/uuidd.c:154 -msgid "bad arguments" -msgstr "felaktiga argument" - -#: misc/uuidd.c:172 -msgid "connect" -msgstr "anslut" - -#: misc/uuidd.c:191 -msgid "write" -msgstr "skriv" - -#: misc/uuidd.c:199 -msgid "read count" -msgstr "läsantal" - -#: misc/uuidd.c:205 -msgid "bad response length" -msgstr "felaktig svarslängd" - -#: misc/uuidd.c:270 -#, c-format -msgid "uuidd daemon already running at pid %s\n" -msgstr "uuidd-demonen som körs redan med pid %s\n" - -#: misc/uuidd.c:278 -#, c-format -msgid "Couldn't create unix stream socket: %s" -msgstr "Kunde inte skapa unix-strömuttag: %s" - -#: misc/uuidd.c:307 -#, c-format -msgid "Couldn't bind unix socket %s: %s\n" -msgstr "Kunde inte binda unix-uttag %s: %s\n" - -#: misc/uuidd.c:315 -#, c-format -msgid "Couldn't listen on unix socket %s: %s\n" -msgstr "Kunde inte lyssna pÃ¥ unix-uttag %s: %s\n" - -#: misc/uuidd.c:353 -#, c-format -msgid "Error reading from client, len = %d\n" -msgstr "Fel vid läsning frÃ¥n klient, len = %d\n" - -#: misc/uuidd.c:361 -#, c-format -msgid "operation %d, incoming num = %d\n" -msgstr "operation %d, inkommande ant = %d\n" - -#: misc/uuidd.c:380 -#, c-format -msgid "Generated time UUID: %s\n" -msgstr "Genererade tids-UUID: %s\n" - -#: misc/uuidd.c:390 -#, c-format -msgid "Generated random UUID: %s\n" -msgstr "Genererade slumpmässigt UUID: %s\n" - -#: misc/uuidd.c:399 -#, c-format -msgid "Generated time UUID %s and subsequent UUID\n" -msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n" -msgstr[0] "Genererade tids-UUID %s och efterföljande UUID\n" -msgstr[1] "Genererade tids-UUID %s och %d efterföljande UUID:er\n" - -#: misc/uuidd.c:420 -#, c-format -msgid "Generated %d UUID's:\n" -msgstr "Genererade %d UUID:er:\n" - -#: misc/uuidd.c:432 -#, c-format -msgid "Invalid operation %d\n" -msgstr "Ogiltig operation %d\n" - -#: misc/uuidd.c:476 misc/uuidd.c:498 -#, c-format -msgid "Bad number: %s\n" -msgstr "Felaktigt tal: %s\n" - -#: misc/uuidd.c:533 misc/uuidd.c:562 -#, c-format -msgid "Error calling uuidd daemon (%s): %s\n" -msgstr "Fel vid anrop av uuidd-demonen (%s): %s\n" - -#: misc/uuidd.c:543 -#, c-format -msgid "%s and subsequent UUID\n" -msgid_plural "%s and subsequent %d UUIDs\n" -msgstr[0] "%s och efterföljande UUID\n" -msgstr[1] "%s och efterföljande %d UUID:er\n" - -#: misc/uuidd.c:547 -#, c-format -msgid "List of UUID's:\n" -msgstr "Lista över UUID:er:\n" - -#: misc/uuidd.c:568 -#, c-format -msgid "Unexpected reply length from server %d\n" -msgstr "Oväntad svarslängd frÃ¥n servern %d\n" - -#: misc/uuidd.c:585 -#, c-format -msgid "Couldn't kill uuidd running at pid %d: %s\n" -msgstr "Kunde inte döda uuidd som kör med pid %d: %s\n" - -#: misc/uuidd.c:591 -#, c-format -msgid "Killed uuidd running at pid %d\n" -msgstr "Dödade uuidd som körde med pid %d\n" - -#: misc/uuidgen.c:32 +#: misc/uuidgen.c:31 #, c-format msgid "Usage: %s [-r] [-t]\n" -msgstr "Användning: %s [-r] [-t]\n" +msgstr "Användning: %s [-r] [-t]\n" -#: resize/extent.c:202 +#: resize/extent.c:196 msgid "# Extent dump:\n" -msgstr "# OmrÃ¥desdump:\n" +msgstr "# Områdesdump:\n" -#: resize/extent.c:203 +#: resize/extent.c:197 #, c-format -msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n" -msgstr "#\tAntal=%llu, Storlek=%llu, Markör=%llu, Sorterad=%llu\n" +msgid "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" +msgstr "# Antal=%d, Storlek=%d, Markör=%d, Sorterad=%d\n" -#: resize/main.c:43 +#: resize/extent.c:200 +#, c-format +msgid "#\t\t %u -> %u (%d)\n" +msgstr "#\t\t %u -> %u (%d)\n" + +#: resize/main.c:42 #, c-format msgid "" "Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" "\n" msgstr "" -"Användning: %s [-d felsökningflaggor] [-f] [-F] [-M] [-P] [-p] enhet [ny_storlek]\n" +"Användning: %s [-d felsökningflaggor] [-f] [-F] [-M] [-P] [-p] enhet [ny_storlek]\n" "\n" -#: resize/main.c:65 +#: resize/main.c:64 msgid "Extending the inode table" -msgstr "Utökar inodstabellen" +msgstr "Utökar inodstabellen" -#: resize/main.c:68 +#: resize/main.c:67 msgid "Relocating blocks" msgstr "Flyttar om block" -#: resize/main.c:71 +#: resize/main.c:70 msgid "Scanning inode table" -msgstr "Söker igenom inodstabell" +msgstr "Söker igenom inodstabell" -#: resize/main.c:74 +#: resize/main.c:73 msgid "Updating inode references" msgstr "Uppdaterar inodsreferenser" -#: resize/main.c:77 +#: resize/main.c:76 msgid "Moving inode table" msgstr "Flyttar inodstabell" -#: resize/main.c:80 +#: resize/main.c:79 msgid "Unknown pass?!?" -msgstr "Okänt pass?!?" +msgstr "Okänt pass?!?" -#: resize/main.c:83 +#: resize/main.c:82 #, c-format msgid "Begin pass %d (max = %lu)\n" -msgstr "Börja pass %d (max = %lu)\n" - -#: resize/main.c:154 -#, c-format -msgid "" -"\n" -"Resizing bigalloc file systems has not been fully tested. Proceed\n" -"at your own risk! Use the force option if you want to go ahead anyway.\n" -"\n" -msgstr "" -"\n" -"Att ändra storlek pÃ¥ bigalloc-filsystem har inte testats fullt ut.\n" -"Fortsätt pÃ¥ egen risk! Använd den tvingande flaggan om du vill göra\n" -"det ändÃ¥.\n" -"\n" +msgstr "Börja pass %d (max = %lu)\n" -#: resize/main.c:271 +#: resize/main.c:265 #, c-format msgid "while opening %s" -msgstr "när %s öppnades" +msgstr "när %s öppnades" -#: resize/main.c:279 +#: resize/main.c:277 #, c-format msgid "while getting stat information for %s" -msgstr "när statusinformation för %s hämtades" +msgstr "när statusinformation för %s hämtades" + +#: resize/main.c:338 +#, c-format +msgid "" +"%s: The combination of flex_bg and\n" +"\t!resize_inode features is not supported by resize2fs.\n" +msgstr "" +"%s: Kombinationen av funktionerna flex_bg och\n" +"\t!resize_inode stöds inte av resize2fs.\n" -#: resize/main.c:337 resize/main.c:450 +#: resize/main.c:352 resize/main.c:452 #, c-format msgid "" "Please run 'e2fsck -f %s' first.\n" "\n" msgstr "" -"Kör \"e2fsck -f %s\" först.\n" +"Kör \"e2fsck -f %s\" först.\n" "\n" -#: resize/main.c:341 +#: resize/main.c:356 #, c-format -msgid "Estimated minimum size of the filesystem: %llu\n" -msgstr "Uppskattad minsta storlek pÃ¥ filsystemet: %llu\n" +msgid "Estimated minimum size of the filesystem: %u\n" +msgstr "Uppskattad minsta storlek på filsystemet: %u\n" -#: resize/main.c:377 +#: resize/main.c:392 #, c-format msgid "Invalid new size: %s\n" msgstr "Ogiltig ny storlek: %s\n" -#: resize/main.c:393 -msgid "New size too large to be expressed in 32 bits\n" -msgstr "Ny storlek för stor för att uttryckas i 32 bitar\n" - -#: resize/main.c:401 +#: resize/main.c:404 #, c-format -msgid "New size smaller than minimum (%llu)\n" -msgstr "Ny storlek mindre än minimum (%llu)\n" +msgid "New size smaller than minimum (%u)\n" +msgstr "Ny storlek mindre än minimum (%u)\n" -#: resize/main.c:407 +#: resize/main.c:410 msgid "Invalid stride length" -msgstr "Ogiltig stride-längd" +msgstr "Ogiltig stride-längd" -#: resize/main.c:431 +#: resize/main.c:434 #, c-format msgid "" -"The containing partition (or device) is only %llu (%dk) blocks.\n" -"You requested a new size of %llu blocks.\n" +"The containing partition (or device) is only %u (%dk) blocks.\n" +"You requested a new size of %u blocks.\n" "\n" msgstr "" -"Den rymmande partitionen (eller enheten) är bara %llu (%d k) block.\n" -"Du begärde en ny storlek pÃ¥ %llu block.\n" +"Den rymmande partitionen (eller enheten) är bara %u (%d k) block.\n" +"De begärde en ny storlek på %u block.\n" "\n" -#: resize/main.c:438 +#: resize/main.c:441 #, c-format msgid "" -"The filesystem is already %llu blocks long. Nothing to do!\n" +"The filesystem is already %u blocks long. Nothing to do!\n" "\n" msgstr "" -"Filsystemet är redan %llu block lÃ¥ngt. Inget behöver göras!\n" +"Filsystemet är redan %u block långt. Inget behöver göras!\n" "\n" -#: resize/main.c:455 +#: resize/main.c:456 #, c-format -msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n" -msgstr "Ändrar storlek pÃ¥ filsystemet pÃ¥ %s till %llu (%d k) block.\n" +msgid "Resizing the filesystem on %s to %u (%dk) blocks.\n" +msgstr "Ändrar storlek på filsystemet på %s till %u (%d k) block.\n" -#: resize/main.c:464 +#: resize/main.c:465 #, c-format msgid "while trying to resize %s" -msgstr "vid försök att ändra storlek pÃ¥ %s" +msgstr "vid försök att ändra storlek på %s" -#: resize/main.c:467 +#: resize/main.c:468 #, c-format msgid "" "Please run 'e2fsck -fy %s' to fix the filesystem\n" "after the aborted resize operation.\n" msgstr "" -"Kör \"e2fsck -fy %s\" för att laga filsystemet\n" -"efter den avbrutna storleksändringen.\n" +"Kör \"e2fsck -fy %s\" för att laga filsystemet\n" +"efter den avbrutna storleksändringen.\n" -#: resize/main.c:473 +#: resize/main.c:474 #, c-format msgid "" -"The filesystem on %s is now %llu blocks long.\n" +"The filesystem on %s is now %u blocks long.\n" "\n" msgstr "" -"Filsystemet pÃ¥ %s är nu %llu block lÃ¥ngt.\n" +"Filsystemet på %s är nu %u block långt.\n" "\n" -#: resize/main.c:488 +#: resize/main.c:489 #, c-format msgid "while trying to truncate %s" -msgstr "vid försök att korta av %s" +msgstr "vid försök att korta av %s" -#: resize/online.c:79 +#: resize/online.c:37 #, c-format msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" -msgstr "Filsystem pÃ¥ %s är monterat pÃ¥ %s, on-line-storleksändring krävs\n" +msgstr "Filsystem på %s är monterat på %s, on-line-storleksändring krävs\n" -#: resize/online.c:83 -msgid "On-line shrinking not supported" -msgstr "Att krympa uppkopplat stödjs inte" +#: resize/online.c:41 +#, c-format +msgid "On-line shrinking from %u to %u not supported.\n" +msgstr "Att krympa uppkopplat från %u till %u stöds inte.\n" -#: resize/online.c:108 +#: resize/online.c:61 msgid "Filesystem does not support online resizing" -msgstr "Filsystemet stödjer inte storleksändring uppkopplat" - -#: resize/online.c:117 -msgid "Not enough reserved gdt blocks for resizing" -msgstr "Inte tillräckligt med reserverade gdt-block för storleksändring" - -#: resize/online.c:124 -msgid "Kernel does not support resizing a file system this large" -msgstr "Kärnan stödjer inte ändring av storlek pÃ¥ sÃ¥ stora filsystem" +msgstr "Filsystemet stödjer inte storleksändring uppkopplat" -#: resize/online.c:132 +#: resize/online.c:68 #, c-format msgid "while trying to open mountpoint %s" -msgstr "vid försök att öppna monteringspunkt %s" +msgstr "vid försök att öppna monteringspunkt %s" -#: resize/online.c:137 -#, c-format -msgid "Old resize interface requested.\n" -msgstr "Gammalt gränssnitt för storleksändring begärt.\n" - -#: resize/online.c:156 resize/online.c:173 +#: resize/online.c:76 msgid "Permission denied to resize filesystem" -msgstr "Rättighet att ändra storlek pÃ¥ filsystem nekas" - -#: resize/online.c:159 resize/online.c:179 -msgid "While checking for on-line resizing support" -msgstr "Vid kontroll av stöd för storleksändring uppkopplat" +msgstr "Rättighet att ändra storlek på filsystem nekas" -#: resize/online.c:176 +#: resize/online.c:79 msgid "Kernel does not support online resizing" -msgstr "Kärnan stödjer inte storleksändring uppkopplat" +msgstr "Kärnan stödjer inte storleksändring uppkopplat" -#: resize/online.c:209 +#: resize/online.c:82 +msgid "While checking for on-line resizing support" +msgstr "Vid kontroll av stöd för storleksändring uppkopplat" + +#: resize/online.c:111 #, c-format -msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n" -msgstr "Utför en storleksändring on-line av %s till %llu (%d k) block.\n" +msgid "Performing an on-line resize of %s to %u (%dk) blocks.\n" +msgstr "Utför en storleksändring on-line av %s till %u (%d k) block.\n" -#: resize/online.c:219 +#: resize/online.c:121 msgid "While trying to extend the last group" -msgstr "Vid försök att utöka den sista gruppen" +msgstr "Vid försök att utöka den sista gruppen" -#: resize/online.c:273 +#: resize/online.c:180 #, c-format msgid "While trying to add group #%d" -msgstr "Vid försök att öppna grupp nr. %d" +msgstr "Vid försök att öppna grupp nr. %d" -#: resize/online.c:284 +#: resize/online.c:191 #, c-format msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n" -msgstr "Filsystemet pÃ¥ %s är monterat pÃ¥ %s, och storleksändring on-line stöds inte pÃ¥ detta system.\n" +msgstr "Filsystemet på %s är monterat på %s, och storleksändring on-line stöds inte på detta system.\n" -#: resize/resize2fs.c:369 +#: resize/resize2fs.c:350 #, c-format msgid "inodes (%llu) must be less than %u" -msgstr "inoder (%llu) mÃ¥ste vara mindre än %u" +msgstr "inoder (%llu) måste vara mindre än %u" -#: resize/resize2fs.c:631 +#: resize/resize2fs.c:582 msgid "reserved blocks" msgstr "reserverade block" -#: resize/resize2fs.c:875 +#: resize/resize2fs.c:795 msgid "meta-data blocks" msgstr "metadatablock" -#: resize/resize2fs.c:1837 +#: resize/resize2fs.c:1752 #, c-format msgid "Should never happen: resize inode corrupt!\n" -msgstr "Skulle aldrig inträffa: storleksändringsinoden trasig!\n" - -#: lib/ext2fs/ext2_err.c:11 -msgid "EXT2FS Library version 1.42.8" -msgstr "EXT2FS-bibliotek version 1.42.8" - -#: lib/ext2fs/ext2_err.c:12 -msgid "Wrong magic number for ext2_filsys structure" -msgstr "Fel magiskt tal för ext2_filsys-post" - -#: lib/ext2fs/ext2_err.c:13 -msgid "Wrong magic number for badblocks_list structure" -msgstr "Fel magiskt tal för badblocks_list-post" - -#: lib/ext2fs/ext2_err.c:14 -msgid "Wrong magic number for badblocks_iterate structure" -msgstr "Fel magiskt tal för badblocks_iterate-post" - -#: lib/ext2fs/ext2_err.c:15 -msgid "Wrong magic number for inode_scan structure" -msgstr "Fel magiskt tal för inode_scan-post" - -#: lib/ext2fs/ext2_err.c:16 -msgid "Wrong magic number for io_channel structure" -msgstr "Fel magiskt tal för io_channel-post" - -#: lib/ext2fs/ext2_err.c:17 -msgid "Wrong magic number for unix io_channel structure" -msgstr "Fel magiskt tal för unix-io_channel-post" - -#: lib/ext2fs/ext2_err.c:18 -msgid "Wrong magic number for io_manager structure" -msgstr "Fel magiskt tal för io_manager-post" - -#: lib/ext2fs/ext2_err.c:19 -msgid "Wrong magic number for block_bitmap structure" -msgstr "Fel magiskt tal för block_bitmap-post" - -#: lib/ext2fs/ext2_err.c:20 -msgid "Wrong magic number for inode_bitmap structure" -msgstr "Fel magiskt tal för inode_bitmap-post" - -#: lib/ext2fs/ext2_err.c:21 -msgid "Wrong magic number for generic_bitmap structure" -msgstr "Fel magiskt tal för generic_bitmap-post" - -#: lib/ext2fs/ext2_err.c:22 -msgid "Wrong magic number for test io_channel structure" -msgstr "Fel magiskt tal för test io_channel-post" - -#: lib/ext2fs/ext2_err.c:23 -msgid "Wrong magic number for directory block list structure" -msgstr "Fel magiskt tal för katalogenblocklistepost" - -#: lib/ext2fs/ext2_err.c:24 -msgid "Wrong magic number for icount structure" -msgstr "Fel magiskt tal för icount-post" - -#: lib/ext2fs/ext2_err.c:25 -msgid "Wrong magic number for Powerquest io_channel structure" -msgstr "Fel magiskt tal för PowerQuest-io_channel-post" - -#: lib/ext2fs/ext2_err.c:26 -msgid "Wrong magic number for ext2 file structure" -msgstr "Fel magiskt tal för ext2-filstruktur" - -#: lib/ext2fs/ext2_err.c:27 -msgid "Wrong magic number for Ext2 Image Header" -msgstr "Fel magiskt tal för ext2-avbildshuvud" - -#: lib/ext2fs/ext2_err.c:28 -msgid "Wrong magic number for inode io_channel structure" -msgstr "Fel magiskt tal för inods-io_channel-post" - -#: lib/ext2fs/ext2_err.c:29 -msgid "Wrong magic number for ext4 extent handle" -msgstr "Fel magiskt tal för ext4-utsträckningshandtag" - -#: lib/ext2fs/ext2_err.c:30 -msgid "Bad magic number in super-block" -msgstr "Fel magiskt tal i superblocket" - -#: lib/ext2fs/ext2_err.c:31 -msgid "Filesystem revision too high" -msgstr "Filesystemversionen är för hög" - -#: lib/ext2fs/ext2_err.c:32 -msgid "Attempt to write to filesystem opened read-only" -msgstr "Försök att skriva till ett filsystem öppnat skrivskyddat" - -#: lib/ext2fs/ext2_err.c:33 -msgid "Can't read group descriptors" -msgstr "Kan inte läsa gruppbeskrivare" - -#: lib/ext2fs/ext2_err.c:34 -msgid "Can't write group descriptors" -msgstr "Kan inte skriva gruppbeskrivare" - -#: lib/ext2fs/ext2_err.c:35 -msgid "Corrupt group descriptor: bad block for block bitmap" -msgstr "Trasig gruppbeskrivare: felaktigt block för blockbitkarta" - -#: lib/ext2fs/ext2_err.c:36 -msgid "Corrupt group descriptor: bad block for inode bitmap" -msgstr "Trasig gruppbeskrivare: felaktigt block för inodsbitkarta" - -#: lib/ext2fs/ext2_err.c:37 -msgid "Corrupt group descriptor: bad block for inode table" -msgstr "Trasig gruppbeskrivare: dÃ¥ligt block för inodstabell" - -#: lib/ext2fs/ext2_err.c:38 -msgid "Can't write an inode bitmap" -msgstr "Kan inte skriva en inodsbitkarta" - -#: lib/ext2fs/ext2_err.c:39 -msgid "Can't read an inode bitmap" -msgstr "Kan inte läsa en inodsbitkarta" - -#: lib/ext2fs/ext2_err.c:40 -msgid "Can't write an block bitmap" -msgstr "Kan inte skriva en blockbitkarta" - -#: lib/ext2fs/ext2_err.c:41 -msgid "Can't read an block bitmap" -msgstr "Kan inte läsa en blockbitkarta" - -#: lib/ext2fs/ext2_err.c:42 -msgid "Can't write an inode table" -msgstr "Kan inte skriva en inodstabell" - -#: lib/ext2fs/ext2_err.c:43 -msgid "Can't read an inode table" -msgstr "Kan inte läsa en inodstabell" - -#: lib/ext2fs/ext2_err.c:44 -msgid "Can't read next inode" -msgstr "Kan inte läsa nästa inod" - -#: lib/ext2fs/ext2_err.c:45 -msgid "Filesystem has unexpected block size" -msgstr "Filsystemet har oväntad blockstorlek." - -#: lib/ext2fs/ext2_err.c:46 -msgid "EXT2 directory corrupted" -msgstr "EXT2-katalog skadad" - -#: lib/ext2fs/ext2_err.c:47 -msgid "Attempt to read block from filesystem resulted in short read" -msgstr "Försök att läsa block frÃ¥n filsystemet resulterade i en kort läsning" - -#: lib/ext2fs/ext2_err.c:48 -msgid "Attempt to write block to filesystem resulted in short write" -msgstr "Försök att skriva block till filsystemet resulterade i en kort skrivning" - -#: lib/ext2fs/ext2_err.c:49 -msgid "No free space in the directory" -msgstr "Inget ledigt utrymme i katalogen" - -#: lib/ext2fs/ext2_err.c:50 -msgid "Inode bitmap not loaded" -msgstr "Inodsbitkartan inte inläst" - -#: lib/ext2fs/ext2_err.c:51 -msgid "Block bitmap not loaded" -msgstr "Blockbitkartan inte inläst" - -#: lib/ext2fs/ext2_err.c:52 -msgid "Illegal inode number" -msgstr "OtillÃ¥tet inodsnummer" - -#: lib/ext2fs/ext2_err.c:53 -msgid "Illegal block number" -msgstr "OtillÃ¥tet blocknummer" - -#: lib/ext2fs/ext2_err.c:54 -msgid "Internal error in ext2fs_expand_dir" -msgstr "Internt fel i ext2fs_expand_dir" - -#: lib/ext2fs/ext2_err.c:55 -msgid "Not enough space to build proposed filesystem" -msgstr "Inte tillräckligt med utrymme för att bygga det föreslagna filsystemet" - -#: lib/ext2fs/ext2_err.c:56 -msgid "Illegal block number passed to ext2fs_mark_block_bitmap" -msgstr "OtillÃ¥tet blocknummer skickat till ext2fs_mark_block_bitmap" - -#: lib/ext2fs/ext2_err.c:57 -msgid "Illegal block number passed to ext2fs_unmark_block_bitmap" -msgstr "OtillÃ¥tet blocknummer skickat till ext2fs_unmark_block_bitmap" - -#: lib/ext2fs/ext2_err.c:58 -msgid "Illegal block number passed to ext2fs_test_block_bitmap" -msgstr "OtillÃ¥tet blocknummer skickat till ext2fs_test_block_bitmap" - -#: lib/ext2fs/ext2_err.c:59 -msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap" -msgstr "OtillÃ¥tet inodsnummer skickat till ext2fs_mark_inode_bitmap" - -#: lib/ext2fs/ext2_err.c:60 -msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap" -msgstr "OtillÃ¥tet inodsnummer skickat till ext2fs_unmark_inode_bitmap" - -#: lib/ext2fs/ext2_err.c:61 -msgid "Illegal inode number passed to ext2fs_test_inode_bitmap" -msgstr "OtillÃ¥tet inodsnummer skickat till ext2fs_test_inode_bitmap" - -#: lib/ext2fs/ext2_err.c:62 -msgid "Attempt to fudge end of block bitmap past the real end" -msgstr "Försök att fuska till slutet av blockbitkartan bortom det riktiga slutet" - -#: lib/ext2fs/ext2_err.c:63 -msgid "Attempt to fudge end of inode bitmap past the real end" -msgstr "Försök att fuska till slutet av inodsbitkartan bortom det riktiga slutet" - -#: lib/ext2fs/ext2_err.c:64 -msgid "Illegal indirect block found" -msgstr "OtillÃ¥tet indirektblock hittat" - -#: lib/ext2fs/ext2_err.c:65 -msgid "Illegal doubly indirect block found" -msgstr "OtillÃ¥tet dubbelt indirektblock hittat" - -#: lib/ext2fs/ext2_err.c:66 -msgid "Illegal triply indirect block found" -msgstr "OtillÃ¥tet trippelt indirektblock hittat" - -#: lib/ext2fs/ext2_err.c:67 -msgid "Block bitmaps are not the same" -msgstr "Blockbitkartorna är inte desamma" - -#: lib/ext2fs/ext2_err.c:68 -msgid "Inode bitmaps are not the same" -msgstr "Inodsbitkartorna är inte desamma" - -#: lib/ext2fs/ext2_err.c:69 -msgid "Illegal or malformed device name" -msgstr "OtillÃ¥tet eller felformat enhetsnamn" - -#: lib/ext2fs/ext2_err.c:70 -msgid "A block group is missing an inode table" -msgstr "En blockgrupp saknar en inodstabell" - -#: lib/ext2fs/ext2_err.c:71 -msgid "The ext2 superblock is corrupt" -msgstr "Ext2-superblocket är skadat" - -#: lib/ext2fs/ext2_err.c:72 -msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap" -msgstr "OtillÃ¥tet generiskt bittal skickat till ext2fs_mark_generic_bitmap" - -#: lib/ext2fs/ext2_err.c:73 -msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap" -msgstr "OtillÃ¥tet generiskt bittal skickat till ext2fs_unmark_generic_bitmap" - -#: lib/ext2fs/ext2_err.c:74 -msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap" -msgstr "OtillÃ¥tet generiskt bittal skickat till ext2fs_test_generic_bitmap" - -#: lib/ext2fs/ext2_err.c:75 -msgid "Too many symbolic links encountered." -msgstr "Alltför mÃ¥nga symboliska länkar pÃ¥träffade." - -#: lib/ext2fs/ext2_err.c:76 -msgid "The callback function will not handle this case" -msgstr "Ã…teranropsfunktionen kommer inte att hantera detta fall" - -#: lib/ext2fs/ext2_err.c:77 -msgid "The inode is from a bad block in the inode table" -msgstr "Inoden är frÃ¥n ett dÃ¥ligt block i inodstabellen" - -#: lib/ext2fs/ext2_err.c:78 -msgid "Filesystem has unsupported feature(s)" -msgstr "Filsystemet har funktioner som inte stödjs" - -#: lib/ext2fs/ext2_err.c:79 -msgid "Filesystem has unsupported read-only feature(s)" -msgstr "Filsystemet har endast-läsbart-funktioner som inte stödjs" - -#: lib/ext2fs/ext2_err.c:80 -msgid "IO Channel failed to seek on read or write" -msgstr "IO-kanalen misslyckades söka vid läsning eller skrivning" - -#: lib/ext2fs/ext2_err.c:81 -msgid "Memory allocation failed" -msgstr "Minnesallokering misslyckades" - -#: lib/ext2fs/ext2_err.c:82 -msgid "Invalid argument passed to ext2 library" -msgstr "Ogiltigt argumentet skickat till ext2-biblioteket" - -#: lib/ext2fs/ext2_err.c:83 -msgid "Could not allocate block in ext2 filesystem" -msgstr "Kunde inte allokera block i ext2-filsystem" - -#: lib/ext2fs/ext2_err.c:84 -msgid "Could not allocate inode in ext2 filesystem" -msgstr "Kunde inte allokera inoder i ext2-filsystem" - -#: lib/ext2fs/ext2_err.c:85 -msgid "Ext2 inode is not a directory" -msgstr "Ext2-inod är inte en katalog" - -#: lib/ext2fs/ext2_err.c:86 -msgid "Too many references in table" -msgstr "För mÃ¥nga referenser i tabellen" - -#: lib/ext2fs/ext2_err.c:87 -msgid "File not found by ext2_lookup" -msgstr "Filen hittades inte av ext2_lookup" - -#: lib/ext2fs/ext2_err.c:88 -msgid "File open read-only" -msgstr "Filen öppnas skrivskyddad" - -#: lib/ext2fs/ext2_err.c:89 -msgid "Ext2 directory block not found" -msgstr "Ext2-katalogblock hittades inte" - -#: lib/ext2fs/ext2_err.c:90 -msgid "Ext2 directory already exists" -msgstr "Ext2-katalogen finns redan" - -#: lib/ext2fs/ext2_err.c:91 -msgid "Unimplemented ext2 library function" -msgstr "Oimplementerad ext2-biblioteksfunktion" - -#: lib/ext2fs/ext2_err.c:92 -msgid "User cancel requested" -msgstr "Användarannullering begärd" - -#: lib/ext2fs/ext2_err.c:93 -msgid "Ext2 file too big" -msgstr "Ext2-fil för stor" - -#: lib/ext2fs/ext2_err.c:94 -msgid "Supplied journal device not a block device" -msgstr "Angiven journalenhet är inte en blockenhet" - -#: lib/ext2fs/ext2_err.c:95 -msgid "Journal superblock not found" -msgstr "Journalsuperblock inte funnet" - -#: lib/ext2fs/ext2_err.c:96 -msgid "Journal must be at least 1024 blocks" -msgstr "Journalen mÃ¥ste vara minst 1024 block" - -#: lib/ext2fs/ext2_err.c:97 -msgid "Unsupported journal version" -msgstr "Ej stödd journalversion" - -#: lib/ext2fs/ext2_err.c:98 -msgid "Error loading external journal" -msgstr "Fel vid läsning av en extern journal" - -#: lib/ext2fs/ext2_err.c:99 -msgid "Journal not found" -msgstr "Journalen inte funnen" - -#: lib/ext2fs/ext2_err.c:100 -msgid "Directory hash unsupported" -msgstr "Katalog-hash stödjs inte" - -#: lib/ext2fs/ext2_err.c:101 -msgid "Illegal extended attribute block number" -msgstr "Ogiltigt blocknummer för utökat attribut" - -#: lib/ext2fs/ext2_err.c:102 -msgid "Cannot create filesystem with requested number of inodes" -msgstr "Kan inte skapa ett filsystem med begärt antal inoder" - -#: lib/ext2fs/ext2_err.c:103 -msgid "E2image snapshot not in use" -msgstr "E2image-ögonblicksbild används inte" - -#: lib/ext2fs/ext2_err.c:104 -msgid "Too many reserved group descriptor blocks" -msgstr "För mÃ¥nga reserverade gruppidentifierarblock" - -#: lib/ext2fs/ext2_err.c:105 -msgid "Resize inode is corrupt" -msgstr "Storleksändringsinoden är trasig" - -#: lib/ext2fs/ext2_err.c:106 -msgid "Tried to set block bmap with missing indirect block" -msgstr "Försökte sätta en blockbitkarta med saknat indirektblock" - -#: lib/ext2fs/ext2_err.c:107 -msgid "TDB: Success" -msgstr "TDB: Gick bra" - -#: lib/ext2fs/ext2_err.c:108 -msgid "TDB: Corrupt database" -msgstr "TDB: Trasig databas" - -#: lib/ext2fs/ext2_err.c:109 -msgid "TDB: IO Error" -msgstr "TDB: I/O-fel" - -#: lib/ext2fs/ext2_err.c:110 -msgid "TDB: Locking error" -msgstr "TDB: LÃ¥sningsfel" - -#: lib/ext2fs/ext2_err.c:111 -msgid "TDB: Out of memory" -msgstr "TDB: Slut pÃ¥ minne" - -#: lib/ext2fs/ext2_err.c:112 -msgid "TDB: Record exists" -msgstr "TDB: Posten finns" - -#: lib/ext2fs/ext2_err.c:113 -msgid "TDB: Lock exists on other keys" -msgstr "TDB: LÃ¥s finns pÃ¥ andra nycklar" - -#: lib/ext2fs/ext2_err.c:114 -msgid "TDB: Invalid parameter" -msgstr "TBD: Ogiltig parameter" - -#: lib/ext2fs/ext2_err.c:115 -msgid "TDB: Record does not exist" -msgstr "TDB: Posten finns inte" - -#: lib/ext2fs/ext2_err.c:116 -msgid "TDB: Write not permitted" -msgstr "TDB: Skrivning är inte tillÃ¥ten" - -#: lib/ext2fs/ext2_err.c:117 -msgid "Ext2fs directory block list is empty" -msgstr "Ext2fs-katalogblocklistan är tom" - -#: lib/ext2fs/ext2_err.c:118 -msgid "Attempt to modify a block mapping via a read-only block iterator" -msgstr "Försök att ändra en blockmappning via en endast läsbar blockiterator" - -#: lib/ext2fs/ext2_err.c:119 -msgid "Wrong magic number for ext4 extent saved path" -msgstr "Fel magiskt nummer för sparad sökväg till ext4-utsträckning" - -#: lib/ext2fs/ext2_err.c:120 -msgid "Wrong magic number for 64-bit generic bitmap" -msgstr "Fel magiskt nummer för 64-bitars allmän bitkarta" - -#: lib/ext2fs/ext2_err.c:121 -msgid "Wrong magic number for 64-bit block bitmap" -msgstr "Fel magiskt nummer för 64-bitars blockbitkarta" - -#: lib/ext2fs/ext2_err.c:122 -msgid "Wrong magic number for 64-bit inode bitmap" -msgstr "Fel magiskt nummer för 64-bitars inodsbitkarta" - -#: lib/ext2fs/ext2_err.c:123 -msgid "Wrong magic number --- RESERVED_13" -msgstr "Fel magiskt nummer --- RESERVERAT_13" - -#: lib/ext2fs/ext2_err.c:124 -msgid "Wrong magic number --- RESERVED_14" -msgstr "Fel magiskt nummer --- RESERVERAT_14" - -#: lib/ext2fs/ext2_err.c:125 -msgid "Wrong magic number --- RESERVED_15" -msgstr "Fel magiskt nummer --- RESERVERAT_15" - -#: lib/ext2fs/ext2_err.c:126 -msgid "Wrong magic number --- RESERVED_16" -msgstr "Fel magiskt nummer --- RESERVERAT_16" - -#: lib/ext2fs/ext2_err.c:127 -msgid "Wrong magic number --- RESERVED_17" -msgstr "Fel magiskt nummer --- RESERVERAT_17" - -#: lib/ext2fs/ext2_err.c:128 -msgid "Wrong magic number --- RESERVED_18" -msgstr "Fel magiskt nummer --- RESERVERAT_18" - -#: lib/ext2fs/ext2_err.c:129 -msgid "Wrong magic number --- RESERVED_19" -msgstr "Fel magiskt nummer --- RESERVERAT_19" - -#: lib/ext2fs/ext2_err.c:130 -msgid "Corrupt extent header" -msgstr "Trasigt utsträckningshuvud" - -#: lib/ext2fs/ext2_err.c:131 -msgid "Corrupt extent index" -msgstr "Trasigt utsträckningsindex" - -#: lib/ext2fs/ext2_err.c:132 -msgid "Corrupt extent" -msgstr "Trasig utsträckning" - -#: lib/ext2fs/ext2_err.c:133 -msgid "No free space in extent map" -msgstr "Inget fritt utrymme i utsträckningskartan" - -#: lib/ext2fs/ext2_err.c:134 -msgid "Inode does not use extents" -msgstr "Inoder använder inte utsträckningar" - -#: lib/ext2fs/ext2_err.c:135 -msgid "No 'next' extent" -msgstr "Ingen \"nästa\" utsträckning" - -#: lib/ext2fs/ext2_err.c:136 -msgid "No 'previous' extent" -msgstr "Ingen \"föregÃ¥ende\" utsträckning" - -#: lib/ext2fs/ext2_err.c:137 -msgid "No 'up' extent" -msgstr "Ingen \"upp\"-utsträckning" - -#: lib/ext2fs/ext2_err.c:138 -msgid "No 'down' extent" -msgstr "Ingen \"ner\"-utsträckning" - -#: lib/ext2fs/ext2_err.c:139 -msgid "No current node" -msgstr "Ingen aktuell nod" - -#: lib/ext2fs/ext2_err.c:140 -msgid "Ext2fs operation not supported" -msgstr "Ext2fs-operationen stödjs inte" - -#: lib/ext2fs/ext2_err.c:141 -msgid "No room to insert extent in node" -msgstr "Ingen plats att lägga in en utsträckning i noden" - -#: lib/ext2fs/ext2_err.c:142 -msgid "Splitting would result in empty node" -msgstr "Uppdelning skulle resultera i en tom nod" - -#: lib/ext2fs/ext2_err.c:143 -msgid "Extent not found" -msgstr "Utsräckningen inte funnen" - -#: lib/ext2fs/ext2_err.c:144 -msgid "Operation not supported for inodes containing extents" -msgstr "Operationsn stödjs inte för inoder som innehÃ¥ller utsträckningar" - -#: lib/ext2fs/ext2_err.c:145 -msgid "Extent length is invalid" -msgstr "Utsträckningslängden är felaktig" - -#: lib/ext2fs/ext2_err.c:146 -msgid "I/O Channel does not support 64-bit block numbers" -msgstr "I/O-kanaler stödjer inte 64-bitars blocknummer" - -#: lib/ext2fs/ext2_err.c:147 -msgid "Can't check if filesystem is mounted due to missing mtab file" -msgstr "Kan inte kontrollera om filsystem är monterade för att att mtab-filen saknas" - -#: lib/ext2fs/ext2_err.c:148 -msgid "Filesystem too large to use legacy bitmaps" -msgstr "Filsystemen är för stora för att använda gammaldags bitkartor" - -#: lib/ext2fs/ext2_err.c:149 -msgid "MMP: invalid magic number" -msgstr "MMP: ogiltigt magiskt nummer" - -#: lib/ext2fs/ext2_err.c:150 -msgid "MMP: device currently active" -msgstr "MMP: enheten är för närvarande aktiv" - -#: lib/ext2fs/ext2_err.c:151 -msgid "MMP: fsck being run" -msgstr "MMP: fsck körs" - -#: lib/ext2fs/ext2_err.c:152 -msgid "MMP: block number beyond filesystem range" -msgstr "MMP: blocknummer utanför filsystemets räckvidd" - -#: lib/ext2fs/ext2_err.c:153 -msgid "MMP: undergoing an unknown operation" -msgstr "MMP: utför en okänd operation" - -#: lib/ext2fs/ext2_err.c:154 -msgid "MMP: filesystem still in use" -msgstr "MMP: filsystemet används fortfarande" - -#: lib/ext2fs/ext2_err.c:155 -msgid "MMP: open with O_DIRECT failed" -msgstr "MMP: öppning med O_DIRECT misslyckades" - -#: lib/ext2fs/ext2_err.c:156 -msgid "Block group descriptor size incorrect" -msgstr "Storlek pÃ¥ blockgruppbeskrivare felaktig" - -#: lib/ext2fs/ext2_err.c:157 -msgid "Inode checksum does not match inode" -msgstr "Inodens kontrollsumma stämmer inte med inoden" - -#: lib/ext2fs/ext2_err.c:158 -msgid "Inode bitmap checksum does not match bitmap" -msgstr "Kontrollsumman för inodsbitkartan stämmer inte med bitkartan" - -#: lib/ext2fs/ext2_err.c:159 -msgid "Extent block checksum does not match extent block" -msgstr "Utökningens blockkontrollsumma stämmer inte utökningsblocket" - -#: lib/ext2fs/ext2_err.c:160 -msgid "Directory block does not have space for checksum" -msgstr "Katalogblocket har inte plats för kontrollsumman" - -#: lib/ext2fs/ext2_err.c:161 -msgid "Directory block checksum does not match directory block" -msgstr "Katalogblocksumman stämmer inte med katalogblocket" - -#: lib/ext2fs/ext2_err.c:162 -msgid "Extended attribute block checksum does not match block" -msgstr "Kontrollsumman för blocket för utökade attribut stämmer inte med blocket" - -#: lib/ext2fs/ext2_err.c:163 -msgid "Superblock checksum does not match superblock" -msgstr "Kontrollsumman för superblocket stämmer inte med superblocket" - -#: lib/ext2fs/ext2_err.c:164 -msgid "Unknown checksum algorithm" -msgstr "Okänd kontrollsummealgoritm" - -#: lib/ext2fs/ext2_err.c:165 -msgid "MMP block checksum does not match MMP block" -msgstr "Kontrollsumman för MMP-blocket stämmer inte med MMP-blocket" - -#: lib/ext2fs/ext2_err.c:166 -msgid "Ext2 file already exists" -msgstr "Ext2-filen finns redan" - -#: e2fsck/prof_err.c:11 -msgid "Profile version 0.0" -msgstr "Profil version 0.0" - -#: e2fsck/prof_err.c:12 -msgid "Bad magic value in profile_node" -msgstr "Felaktigt magiskt värde i profile_node" - -#: e2fsck/prof_err.c:13 -msgid "Profile section not found" -msgstr "Profilsektionen inte funnen" - -#: e2fsck/prof_err.c:14 -msgid "Profile relation not found" -msgstr "Profilrelationen inte funnen" - -#: e2fsck/prof_err.c:15 -msgid "Attempt to add a relation to node which is not a section" -msgstr "Försök att lägga till en relation till en nod som inte är en sektion" - -#: e2fsck/prof_err.c:16 -msgid "A profile section header has a non-zero value" -msgstr "Ett huvud till en profilsektion har ett värde skilt frÃ¥n noll" - -#: e2fsck/prof_err.c:17 -msgid "Bad linked list in profile structures" -msgstr "Felaktig länkad lista i profilstrukturer" - -#: e2fsck/prof_err.c:18 -msgid "Bad group level in profile structures" -msgstr "Felaktig gruppnivÃ¥ i profilstrukturer" - -#: e2fsck/prof_err.c:19 -msgid "Bad parent pointer in profile structures" -msgstr "Felaktig föräldrapekare i profilstrukturer" - -#: e2fsck/prof_err.c:20 -msgid "Bad magic value in profile iterator" -msgstr "Felaktigt magiskt värde i profiliterator" - -#: e2fsck/prof_err.c:21 -msgid "Can't set value on section node" -msgstr "Kan inte sätta värde pÃ¥ sektionsnod" - -#: e2fsck/prof_err.c:22 -msgid "Invalid argument passed to profile library" -msgstr "Ogiltigt argument skickat till profilbiblioteket" - -#: e2fsck/prof_err.c:23 -msgid "Attempt to modify read-only profile" -msgstr "Försök att ändra en endast läsbar profil" - -#: e2fsck/prof_err.c:24 -msgid "Profile section header not at top level" -msgstr "Huvudet till profilsektionen är inte pÃ¥ toppnivÃ¥n" - -#: e2fsck/prof_err.c:25 -msgid "Syntax error in profile section header" -msgstr "Syntaxfel i huvudet till profilsektionen" - -#: e2fsck/prof_err.c:26 -msgid "Syntax error in profile relation" -msgstr "Syntaxfel i en profilrelation" - -#: e2fsck/prof_err.c:27 -msgid "Extra closing brace in profile" -msgstr "Extra avslutande klammer i profilen" - -#: e2fsck/prof_err.c:28 -msgid "Missing open brace in profile" -msgstr "Inledande klammer saknas i profilen" - -#: e2fsck/prof_err.c:29 -msgid "Bad magic value in profile_t" -msgstr "Felaktigt magiskt värde i profile_t" - -#: e2fsck/prof_err.c:30 -msgid "Bad magic value in profile_section_t" -msgstr "Felaktigt magiskt värde i profile_section_t" - -#: e2fsck/prof_err.c:31 -msgid "Iteration through all top level section not supported" -msgstr "Iteration över alla toppnivÃ¥sektioner stödjs inte" - -#: e2fsck/prof_err.c:32 -msgid "Invalid profile_section object" -msgstr "Ogiltigt profile_section-objekt" - -#: e2fsck/prof_err.c:33 -msgid "No more sections" -msgstr "Inga fler sektioner" - -#: e2fsck/prof_err.c:34 -msgid "Bad nameset passed to query routine" -msgstr "Felaktig namnmängd skickad till frÃ¥gerutinen" - -#: e2fsck/prof_err.c:35 -msgid "No profile file open" -msgstr "Ingen profilfil öppen" - -#: e2fsck/prof_err.c:36 -msgid "Bad magic value in profile_file_t" -msgstr "Felaktigt magiskt värde i profile_file_t" - -#: e2fsck/prof_err.c:37 -msgid "Couldn't open profile file" -msgstr "Kunde inte öppna profilfilen" - -#: e2fsck/prof_err.c:38 -msgid "Section already exists" -msgstr "Sektionen finns redan" - -#: e2fsck/prof_err.c:39 -msgid "Invalid boolean value" -msgstr "Ogiltigt booleskt värde" - -#: e2fsck/prof_err.c:40 -msgid "Invalid integer value" -msgstr "Ogiltigt heltalsvärde" - -#: e2fsck/prof_err.c:41 -msgid "Bad magic value in profile_file_data_t" -msgstr "Felaktigt magiskt värde i profile_file_data_t" +msgstr "Skulle aldrig inträffa: storleksändringsinoden trasig!\n" diff --git a/po/tr.gmo b/po/tr.gmo index b9b2d6f8..19f7ede2 100644 Binary files a/po/tr.gmo and b/po/tr.gmo differ diff --git a/po/tr.po b/po/tr.po index 8a8a0cc4..f73e370a 100644 --- a/po/tr.po +++ b/po/tr.po @@ -1,9 +1,7 @@ # Turkish translations for e2fsprogs messages. -# Copyright (C) 2007 Theodore Tso (msgids) -# This file is distributed under the same license as the e2fsprogs package. -# +# Copyright (C) 2007 Free Software Foundation, Inc. # Nilgün Belma Bugüner , 2001,..., 2007. -# Volkan Gezer , 2013. +# #. 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, #. there is an @-expansion, where strings like "@i" are expanded to @@ -64,523 +62,508 @@ #. msgid "" msgstr "" -"Project-Id-Version: e2fsprogs 1.42.8\n" +"Project-Id-Version: e2fsprogs 1.40\n" "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n" -"POT-Creation-Date: 2013-06-16 08:17-0400\n" -"PO-Revision-Date: 2013-11-01 22:49+0100\n" -"Last-Translator: Volkan Gezer \n" +"POT-Creation-Date: 2009-01-26 20:41-0500\n" +"PO-Revision-Date: 2006-04-07 00:22+0300\n" +"Last-Translator: Nilgün Belma Bugüner \n" "Language-Team: Turkish \n" -"Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 1.5\n" +"X-Generator: KBabel 1.9.1\n" -#: e2fsck/badblocks.c:23 misc/mke2fs.c:180 +#: e2fsck/badblocks.c:22 misc/mke2fs.c:165 #, c-format msgid "Bad block %u out of range; ignored.\n" msgstr "Hatalı blok %u kapsamdışı; yoksayıldı.\n" -#: e2fsck/badblocks.c:46 +#: e2fsck/badblocks.c:45 msgid "while sanity checking the bad blocks inode" msgstr "- hatalı bloklar düğümünde doÄŸruluk denetlenirken hata oluÅŸtu" -#: e2fsck/badblocks.c:58 +#: e2fsck/badblocks.c:57 msgid "while reading the bad blocks inode" msgstr "- hatalı bloklar düğümü okunurken hata oluÅŸtu" -#: e2fsck/badblocks.c:72 e2fsck/iscan.c:110 e2fsck/scantest.c:107 -#: e2fsck/unix.c:1332 e2fsck/unix.c:1420 misc/badblocks.c:1214 -#: misc/badblocks.c:1222 misc/badblocks.c:1236 misc/badblocks.c:1248 -#: misc/dumpe2fs.c:588 misc/e2image.c:1196 misc/e2image.c:1324 -#: misc/e2image.c:1337 misc/mke2fs.c:196 misc/tune2fs.c:1907 resize/main.c:315 +#: e2fsck/badblocks.c:71 e2fsck/iscan.c:112 e2fsck/scantest.c:109 +#: e2fsck/unix.c:1037 e2fsck/unix.c:1120 misc/badblocks.c:1148 +#: misc/badblocks.c:1156 misc/badblocks.c:1170 misc/badblocks.c:1182 +#: misc/dumpe2fs.c:505 misc/e2image.c:576 misc/e2image.c:672 +#: misc/e2image.c:688 misc/mke2fs.c:181 misc/tune2fs.c:1515 resize/main.c:309 #, c-format msgid "while trying to open %s" msgstr "- %s açılmaya çalışılırken hata oluÅŸtu" -#: e2fsck/badblocks.c:83 +#: e2fsck/badblocks.c:82 #, c-format msgid "while trying popen '%s'" msgstr "- '%s' veri yolu açılmaya çalışılırken hata oluÅŸtu" -#: e2fsck/badblocks.c:94 misc/mke2fs.c:203 +#: e2fsck/badblocks.c:93 misc/mke2fs.c:188 msgid "while reading in list of bad blocks from file" msgstr "- dosyadan hatalı bloklar listesinin okunması sırasında hata oluÅŸtu" -#: e2fsck/badblocks.c:105 +#: e2fsck/badblocks.c:104 msgid "while updating bad block inode" msgstr "- hatalı bloklar düğümü güncellenirken hata oluÅŸtu" -#: e2fsck/badblocks.c:131 +#: e2fsck/badblocks.c:130 #, c-format msgid "Warning: illegal block %u found in bad block inode. Cleared.\n" msgstr "Uyarı: Hatalı blok düğümünde %u. blok kuraldışı; temizlendi.\n" -#: e2fsck/ehandler.c:55 +#: e2fsck/ehandler.c:54 #, c-format msgid "Error reading block %lu (%s) while %s. " msgstr "%3$s iÅŸlemi sırasında blok %1$lu okunurken hata oluÅŸtu (%2$s). " -#: e2fsck/ehandler.c:58 +#: e2fsck/ehandler.c:57 #, c-format msgid "Error reading block %lu (%s). " msgstr "blok %lu okunurken hata oluÅŸtu (%s). " -#: e2fsck/ehandler.c:61 e2fsck/ehandler.c:110 +#: e2fsck/ehandler.c:60 e2fsck/ehandler.c:109 msgid "Ignore error" msgstr "Hata görmezden gelindi" -#: e2fsck/ehandler.c:62 +#: e2fsck/ehandler.c:61 msgid "Force rewrite" msgstr "Yeniden yaz" -#: e2fsck/ehandler.c:104 +#: e2fsck/ehandler.c:103 #, c-format msgid "Error writing block %lu (%s) while %s. " msgstr "%3$s iÅŸlemi sırasında blok %1$lu yazılırken hata oluÅŸtu (%2$s). " -#: e2fsck/ehandler.c:107 +#: e2fsck/ehandler.c:106 #, c-format msgid "Error writing block %lu (%s). " msgstr "%lu bloÄŸu yazılırken hata: %s. " -#: e2fsck/emptydir.c:57 +#: e2fsck/emptydir.c:56 msgid "empty dirblocks" msgstr "boÅŸ dizin blokları" -#: e2fsck/emptydir.c:62 +#: e2fsck/emptydir.c:61 msgid "empty dir map" msgstr "boÅŸ dizin eÅŸlemi" -#: e2fsck/emptydir.c:98 -#, c-format +#: e2fsck/emptydir.c:97 +#, fuzzy, c-format msgid "Empty directory block %u (#%d) in inode %u\n" -msgstr "Empty directory block %u (#%d) in inode %u\n" +msgstr "Düğüm %3$d deki dizin bloku %1$u (#%2$d) boÅŸ\n" -#: e2fsck/extend.c:22 +#: e2fsck/extend.c:21 #, c-format msgid "%s: %s filename nblocks blocksize\n" msgstr "%s: %s dosya_ismi blok_sayısı blok_boyu\n" -#: e2fsck/extend.c:44 +#: e2fsck/extend.c:43 #, c-format msgid "Illegal number of blocks!\n" msgstr "Blok sayısı kuraldışı!\n" -#: e2fsck/extend.c:50 +#: e2fsck/extend.c:49 #, c-format msgid "Couldn't allocate block buffer (size=%d)\n" msgstr "Blok tamponu ayrılamadı (boyu=%d)\n" -#: e2fsck/flushb.c:35 +#: e2fsck/flushb.c:34 #, c-format msgid "Usage: %s disk\n" msgstr "Kullanımı: %s disk\n" -#: e2fsck/flushb.c:64 +#: e2fsck/flushb.c:63 #, c-format msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n" msgstr "BLKFLSBUF ioctl desteklenmiyor! Tamponlar boÅŸaltılamadı.\n" -#: e2fsck/iscan.c:44 +#: e2fsck/iscan.c:46 #, c-format msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n" msgstr "Kullanımı: %s [-F] [-I düğüm_tampon_blokları] aygıt\n" -#: e2fsck/iscan.c:81 e2fsck/unix.c:961 +#: e2fsck/iscan.c:83 e2fsck/unix.c:818 #, c-format msgid "while opening %s for flushing" msgstr "%s temizlik için açılırken hata oluÅŸtu" -#: e2fsck/iscan.c:86 e2fsck/unix.c:967 resize/main.c:288 +#: e2fsck/iscan.c:88 e2fsck/unix.c:824 resize/main.c:285 #, c-format msgid "while trying to flush %s" msgstr "%s boÅŸaltılmaya çalışılırken hata oluÅŸtu" -#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1091 +#: e2fsck/iscan.c:121 e2fsck/scantest.c:116 misc/e2image.c:482 msgid "while opening inode scan" msgstr "düğüm taraması baÅŸlatılırken hata oluÅŸtu" -#: e2fsck/iscan.c:127 misc/e2image.c:1109 +#: e2fsck/iscan.c:129 misc/e2image.c:500 msgid "while getting next inode" msgstr "sonraki düğüme geçilirken hata oluÅŸtu" -#: e2fsck/iscan.c:136 -#, c-format +#: e2fsck/iscan.c:138 +#, fuzzy, c-format msgid "%u inodes scanned.\n" -msgstr "%u düğüm tarandı.\n" +msgstr "%d düğüm tarandı.\n" -#: e2fsck/journal.c:522 +#: e2fsck/journal.c:507 msgid "reading journal superblock\n" msgstr "günlük dosyası super bloÄŸu okunuyor\n" -#: e2fsck/journal.c:579 +#: e2fsck/journal.c:564 #, c-format msgid "%s: no valid journal superblock found\n" msgstr "%s: geçerli gümlük dosyası super bloÄŸu yok\n" -#: e2fsck/journal.c:588 +#: e2fsck/journal.c:573 #, c-format msgid "%s: journal too short\n" msgstr "%s: gümlük dosyası çok kısa\n" -#: e2fsck/journal.c:880 +#: e2fsck/journal.c:858 #, c-format msgid "%s: recovering journal\n" msgstr "%s: günlük dosyasına göre kurtarılıyor\n" -#: e2fsck/journal.c:882 +#: e2fsck/journal.c:860 #, c-format msgid "%s: won't do journal recovery while read-only\n" msgstr "%s: salt-okunur durumdayken günlük dosyasına göre kurtarma yapılamaz\n" -#: e2fsck/journal.c:909 +#: e2fsck/journal.c:881 #, c-format msgid "while trying to re-open %s" msgstr "%s yeniden açılmaya çalışılırken hata oluÅŸtu" -#: e2fsck/message.c:113 +#: e2fsck/message.c:110 msgid "aextended attribute" msgstr "aek özellik" -#: e2fsck/message.c:114 +#: e2fsck/message.c:111 msgid "Aerror allocating" msgstr "Aayrılırken hata oluÅŸtu" -#: e2fsck/message.c:115 +#: e2fsck/message.c:112 msgid "bblock" msgstr "bblok" -#: e2fsck/message.c:116 +#: e2fsck/message.c:113 msgid "Bbitmap" msgstr "BbiteÅŸlem" -#: e2fsck/message.c:117 +#: e2fsck/message.c:114 msgid "ccompress" msgstr "csıkıştırma" -#: e2fsck/message.c:118 +#: e2fsck/message.c:115 msgid "Cconflicts with some other fs @b" msgstr "Cbazı dosya sistemi blokları ile çeliÅŸiyor" -#: e2fsck/message.c:119 +#: e2fsck/message.c:116 msgid "iinode" msgstr "idüğüm" -#: e2fsck/message.c:120 +#: e2fsck/message.c:117 msgid "Iillegal" msgstr "Ikuraldışı" -#: e2fsck/message.c:121 +#: e2fsck/message.c:118 msgid "jjournal" msgstr "jgünlük" -#: e2fsck/message.c:122 +#: e2fsck/message.c:119 msgid "Ddeleted" msgstr "Dsilinen" -#: e2fsck/message.c:123 +#: e2fsck/message.c:120 msgid "ddirectory" msgstr "ddizin" -#: e2fsck/message.c:124 +#: e2fsck/message.c:121 msgid "eentry" msgstr "egirdi" -#: e2fsck/message.c:125 +#: e2fsck/message.c:122 msgid "E@e '%Dn' in %p (%i)" msgstr "E@E" -#: e2fsck/message.c:126 +#: e2fsck/message.c:123 msgid "ffilesystem" msgstr "fdosya sistemi" -#: e2fsck/message.c:127 +#: e2fsck/message.c:124 msgid "Ffor @i %i (%Q) is" msgstr "F%i (%Q) düğümü için" -#: e2fsck/message.c:128 +#: e2fsck/message.c:125 msgid "ggroup" msgstr "ggrup" -#: e2fsck/message.c:129 +#: e2fsck/message.c:126 msgid "hHTREE @d @i" msgstr "hHTREE dizin düğüm" -#: e2fsck/message.c:130 +#: e2fsck/message.c:127 msgid "llost+found" msgstr "llost+found" -#: e2fsck/message.c:131 +#: e2fsck/message.c:128 msgid "Lis a link" msgstr "Lbir baÄŸdır" -#: e2fsck/message.c:132 +#: e2fsck/message.c:129 msgid "mmultiply-claimed" msgstr "mçok düğümlü" -#: e2fsck/message.c:133 +#: e2fsck/message.c:130 msgid "ninvalid" msgstr "ngeçersiz" -#: e2fsck/message.c:134 +#: e2fsck/message.c:131 msgid "oorphaned" msgstr "oartık" -#: e2fsck/message.c:135 +#: e2fsck/message.c:132 msgid "pproblem in" msgstr "psorun" -#: e2fsck/message.c:136 -msgid "qquota" -msgstr "" - -#: e2fsck/message.c:137 +#: e2fsck/message.c:133 msgid "rroot @i" msgstr "rkök düğümü" -#: e2fsck/message.c:138 +#: e2fsck/message.c:134 msgid "sshould be" msgstr "solmalıydı" -#: e2fsck/message.c:139 +#: e2fsck/message.c:135 msgid "Ssuper@b" msgstr "Ssüper blok" -#: e2fsck/message.c:140 +#: e2fsck/message.c:136 msgid "uunattached" msgstr "ubaÄŸlantısız" -#: e2fsck/message.c:141 +#: e2fsck/message.c:137 msgid "vdevice" msgstr "vaygıt" -#: e2fsck/message.c:142 +#: e2fsck/message.c:138 +#, fuzzy msgid "xextent" -msgstr "" +msgstr "egirdi" -#: e2fsck/message.c:143 +#: e2fsck/message.c:139 msgid "zzero-length" msgstr "zsıfır uzunluklu" -#: e2fsck/message.c:154 +#: e2fsck/message.c:150 msgid "" msgstr "" -#: e2fsck/message.c:155 +#: e2fsck/message.c:151 msgid "" msgstr "" -#: e2fsck/message.c:157 -#, fuzzy -msgid "" -msgstr "" +#: e2fsck/message.c:153 +msgid "" +msgstr "" -#: e2fsck/message.c:158 -#, fuzzy -msgid "" -msgstr "" +#: e2fsck/message.c:154 +msgid "" +msgstr "" -#: e2fsck/message.c:159 +#: e2fsck/message.c:155 msgid "" msgstr "<Önyükleyici düğümü>" -#: e2fsck/message.c:160 +#: e2fsck/message.c:156 msgid "" msgstr "" -#: e2fsck/message.c:161 +#: e2fsck/message.c:157 msgid "" msgstr "" -#: e2fsck/message.c:162 +#: e2fsck/message.c:158 msgid "" msgstr "" -#: e2fsck/message.c:163 +#: e2fsck/message.c:159 msgid "" msgstr "" -#: e2fsck/message.c:164 +#: e2fsck/message.c:160 msgid "" msgstr "" -#: e2fsck/message.c:333 +#: e2fsck/message.c:323 +#, fuzzy, c-format msgid "regular file" -msgstr "olaÄŸan dosya" +msgstr "" +"\n" +"%8d normal dosya\n" -#: e2fsck/message.c:335 +#: e2fsck/message.c:325 +#, fuzzy, c-format msgid "directory" -msgstr "dizin" +msgstr "ddizin" -#: e2fsck/message.c:337 +#: e2fsck/message.c:327 +#, fuzzy, c-format msgid "character device" -msgstr "karakter aygıtı" +msgstr "%8d karakter aygıtı dosyası\n" -#: e2fsck/message.c:339 +#: e2fsck/message.c:329 +#, fuzzy, c-format msgid "block device" -msgstr "aygıtı engelle" +msgstr "%8d blok aygıtı dosyası\n" -#: e2fsck/message.c:341 +#: e2fsck/message.c:331 +#, c-format msgid "named pipe" -msgstr "isimli veri yolu" +msgstr "" -#: e2fsck/message.c:343 +#: e2fsck/message.c:333 +#, fuzzy, c-format msgid "symbolic link" -msgstr "sembolik baÄŸ" +msgstr "%8d sembolik baÄŸ" -#: e2fsck/message.c:345 misc/uuidd.c:161 +#: e2fsck/message.c:335 +#, fuzzy, c-format msgid "socket" -msgstr "yuva" +msgstr "%8d soket\n" -#: e2fsck/message.c:347 +#: e2fsck/message.c:337 #, c-format msgid "unknown file type with mode 0%o" -msgstr "0%o kipinde bilinmeyen dosya türü" - -#: e2fsck/message.c:422 -#, fuzzy -msgid "indirect block" -msgstr "kullanımdaki blok eÅŸlemi" - -#: e2fsck/message.c:424 -msgid "double indirect block" msgstr "" -#: e2fsck/message.c:426 -#, fuzzy -msgid "triple indirect block" -msgstr "%u düğümünün dolaylı blokları okunuyor" - -#: e2fsck/message.c:428 -#, fuzzy -msgid "translator block" -msgstr "meta-veri blokları" - -#: e2fsck/message.c:430 -#, fuzzy -msgid "block #" -msgstr "bblok" - -#: e2fsck/pass1b.c:222 +#: e2fsck/pass1b.c:215 msgid "multiply claimed inode map" msgstr "tekrarlanan blokların düğüm eÅŸlemi" -#: e2fsck/pass1b.c:610 e2fsck/pass1b.c:730 +#: e2fsck/pass1b.c:567 e2fsck/pass1b.c:700 #, fuzzy, c-format -msgid "internal error: can't find dup_blk for %llu\n" +msgid "internal error: can't find dup_blk for %u\n" msgstr "iç hata; %u için dup_blk bulunamıyor\n" -#: e2fsck/pass1b.c:821 +#: e2fsck/pass1b.c:743 msgid "returned from clone_file_block" msgstr "clone_file_block iÅŸlevinden döndürüldü" -#: e2fsck/pass1b.c:843 +#: e2fsck/pass1b.c:762 #, fuzzy, c-format -msgid "internal error: couldn't lookup EA block record for %llu" +msgid "internal error: couldn't lookup EA block record for %u" msgstr "iç hata; %u için dup_blk bulunamıyor\n" -#: e2fsck/pass1b.c:855 -#, c-format +#: e2fsck/pass1b.c:774 +#, fuzzy, c-format msgid "internal error: couldn't lookup EA inode record for %u" -msgstr "İç hata: %u için dizin bilgileri bulunamıyor." +msgstr "İç hata: %i için dizin bilgileri bulunamıyor.\n" -#: e2fsck/pass1.c:475 e2fsck/pass2.c:782 +#: e2fsck/pass1.c:430 e2fsck/pass2.c:780 +#, fuzzy msgid "reading directory block" -msgstr "blok dizini okunuyor" +msgstr "%u düğümünün dolaylı blokları okunuyor" -#: e2fsck/pass1.c:598 +#: e2fsck/pass1.c:552 msgid "in-use inode map" msgstr "kullanımdaki düğüm eÅŸlemi" -#: e2fsck/pass1.c:609 +#: e2fsck/pass1.c:561 msgid "directory inode map" msgstr "dizin düğümü eÅŸlemi" -#: e2fsck/pass1.c:619 +#: e2fsck/pass1.c:569 msgid "regular file inode map" msgstr "normal dosya düğümü eÅŸlemi" -#: e2fsck/pass1.c:628 +#: e2fsck/pass1.c:576 msgid "in-use block map" msgstr "kullanımdaki blok eÅŸlemi" -#: e2fsck/pass1.c:695 +#: e2fsck/pass1.c:630 +#, fuzzy msgid "opening inode scan" -msgstr "düğüm tarama açılıyor" +msgstr "düğüm taraması yapılıyor" -#: e2fsck/pass1.c:729 +#: e2fsck/pass1.c:654 +#, fuzzy msgid "getting next inode from scan" -msgstr "" +msgstr "sonraki düğüme geçilirken hata oluÅŸtu" -#: e2fsck/pass1.c:1239 +#: e2fsck/pass1.c:1122 msgid "Pass 1" msgstr "1. geçiÅŸ" -#: e2fsck/pass1.c:1296 +#: e2fsck/pass1.c:1181 #, c-format msgid "reading indirect blocks of inode %u" msgstr "%u düğümünün dolaylı blokları okunuyor" -#: e2fsck/pass1.c:1346 +#: e2fsck/pass1.c:1225 msgid "bad inode map" msgstr "hatalı düğüm eÅŸlemi" -#: e2fsck/pass1.c:1369 +#: e2fsck/pass1.c:1247 msgid "inode in bad block map" msgstr "hatalı blok eÅŸlemindeki düğüm" -#: e2fsck/pass1.c:1389 +#: e2fsck/pass1.c:1267 msgid "imagic inode map" msgstr "imagic düğüm eÅŸlemi" -#: e2fsck/pass1.c:1416 +#: e2fsck/pass1.c:1294 msgid "multiply claimed block map" msgstr "tekrarlanan blokların eÅŸlemi" -#: e2fsck/pass1.c:1527 +#: e2fsck/pass1.c:1393 msgid "ext attr block map" msgstr "ek özellik bloÄŸu eÅŸlemi" -#: e2fsck/pass1.c:2299 +#: e2fsck/pass1.c:2134 #, c-format msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n" msgstr "" -#: e2fsck/pass1.c:2660 +#: e2fsck/pass1.c:2449 msgid "block bitmap" msgstr "blok biteÅŸlemi" -#: e2fsck/pass1.c:2666 +#: e2fsck/pass1.c:2453 msgid "inode bitmap" msgstr "düğüm biteÅŸlemi" -#: e2fsck/pass1.c:2672 +#: e2fsck/pass1.c:2457 msgid "inode table" msgstr "düğüm tablosu" -#: e2fsck/pass2.c:283 +#: e2fsck/pass2.c:284 msgid "Pass 2" msgstr "2. geçiÅŸ" -#: e2fsck/pass2.c:805 +#: e2fsck/pass2.c:803 +#, fuzzy msgid "Can not continue." -msgstr "Devam edilemiyor." +msgstr "" +"Devam edilemiyor. çıkılıyor.\n" +"\n" -#: e2fsck/pass3.c:77 +#: e2fsck/pass3.c:79 msgid "inode done bitmap" msgstr "düğümleri indeksli biteÅŸlem" -#: e2fsck/pass3.c:86 +#: e2fsck/pass3.c:90 msgid "Peak memory" msgstr "Doruk bellek" -#: e2fsck/pass3.c:136 +#: e2fsck/pass3.c:146 msgid "Pass 3" msgstr "3. geçiÅŸ" -#: e2fsck/pass3.c:322 +#: e2fsck/pass3.c:334 msgid "inode loop detection bitmap" msgstr "düğüm döngüsü saptama biteÅŸlemi" @@ -588,183 +571,183 @@ msgstr "düğüm döngüsü saptama biteÅŸlemi" msgid "Pass 4" msgstr "4. geçiÅŸ" -#: e2fsck/pass5.c:74 +#: e2fsck/pass5.c:70 msgid "Pass 5" msgstr "5. geçiÅŸ" -#: e2fsck/problem.c:51 +#: e2fsck/problem.c:50 msgid "(no prompt)" msgstr "(komut istemi yok)" -#: e2fsck/problem.c:52 +#: e2fsck/problem.c:51 msgid "Fix" msgstr "Düzelt" -#: e2fsck/problem.c:53 +#: e2fsck/problem.c:52 msgid "Clear" msgstr "Temizle" -#: e2fsck/problem.c:54 +#: e2fsck/problem.c:53 msgid "Relocate" msgstr "Konumlandır" -#: e2fsck/problem.c:55 +#: e2fsck/problem.c:54 msgid "Allocate" msgstr "Tahsis et" -#: e2fsck/problem.c:56 +#: e2fsck/problem.c:55 msgid "Expand" msgstr "GeniÅŸlet" -#: e2fsck/problem.c:57 +#: e2fsck/problem.c:56 msgid "Connect to /lost+found" msgstr "/lost+found a baÄŸlan" -#: e2fsck/problem.c:58 +#: e2fsck/problem.c:57 msgid "Create" msgstr "OluÅŸtur" -#: e2fsck/problem.c:59 +#: e2fsck/problem.c:58 msgid "Salvage" msgstr "Kurtarılacaklar" -#: e2fsck/problem.c:60 +#: e2fsck/problem.c:59 msgid "Truncate" msgstr "Kırp" -#: e2fsck/problem.c:61 +#: e2fsck/problem.c:60 msgid "Clear inode" msgstr "Düğümü temizle" -#: e2fsck/problem.c:62 +#: e2fsck/problem.c:61 msgid "Abort" msgstr "Vazgeç" -#: e2fsck/problem.c:63 +#: e2fsck/problem.c:62 msgid "Split" msgstr "Ayır" -#: e2fsck/problem.c:64 +#: e2fsck/problem.c:63 msgid "Continue" msgstr "Devam et" -#: e2fsck/problem.c:65 +#: e2fsck/problem.c:64 msgid "Clone multiply-claimed blocks" msgstr "Çok düğümlü blokları kopyalar" -#: e2fsck/problem.c:66 +#: e2fsck/problem.c:65 msgid "Delete file" msgstr "Dosyayı Sil" -#: e2fsck/problem.c:67 +#: e2fsck/problem.c:66 msgid "Suppress messages" msgstr "Ä°letileri engelle" -#: e2fsck/problem.c:68 +#: e2fsck/problem.c:67 msgid "Unlink" msgstr "Bağı kaldır" -#: e2fsck/problem.c:69 +#: e2fsck/problem.c:68 msgid "Clear HTree index" msgstr "HTree indeksini temizle" -#: e2fsck/problem.c:70 +#: e2fsck/problem.c:69 msgid "Recreate" msgstr "Yeniden oluÅŸtur" -#: e2fsck/problem.c:79 +#: e2fsck/problem.c:78 msgid "(NONE)" msgstr "(HİÇBÄ°RÄ°)" -#: e2fsck/problem.c:80 +#: e2fsck/problem.c:79 msgid "FIXED" msgstr "DÃœZELTÄ°LDÄ°" -#: e2fsck/problem.c:81 +#: e2fsck/problem.c:80 msgid "CLEARED" msgstr "TEMÄ°ZLENDÄ°" -#: e2fsck/problem.c:82 +#: e2fsck/problem.c:81 msgid "RELOCATED" msgstr "KONUMLANDI" -#: e2fsck/problem.c:83 +#: e2fsck/problem.c:82 msgid "ALLOCATED" msgstr "TAHSÄ°S EDÄ°LDÄ°" -#: e2fsck/problem.c:84 +#: e2fsck/problem.c:83 msgid "EXPANDED" msgstr "GENÄ°ÅžLETÄ°LDÄ°" -#: e2fsck/problem.c:85 +#: e2fsck/problem.c:84 msgid "RECONNECTED" msgstr "TEKRAR BAÄžLANDI" -#: e2fsck/problem.c:86 +#: e2fsck/problem.c:85 msgid "CREATED" msgstr "OLUÅžTURULDU" -#: e2fsck/problem.c:87 +#: e2fsck/problem.c:86 msgid "SALVAGED" msgstr "KURTARILABÄ°LÄ°RLER LÄ°STELENDÄ°" -#: e2fsck/problem.c:88 +#: e2fsck/problem.c:87 msgid "TRUNCATED" msgstr "KIRPILDI" -#: e2fsck/problem.c:89 +#: e2fsck/problem.c:88 msgid "INODE CLEARED" msgstr "DÜĞÜM TEMÄ°ZLENDÄ°" -#: e2fsck/problem.c:90 +#: e2fsck/problem.c:89 msgid "ABORTED" msgstr "VAZGEÇİLDÄ°" -#: e2fsck/problem.c:91 +#: e2fsck/problem.c:90 msgid "SPLIT" msgstr "AYRILDI" -#: e2fsck/problem.c:92 +#: e2fsck/problem.c:91 msgid "CONTINUING" msgstr "SÃœRÃœYOR" -#: e2fsck/problem.c:93 +#: e2fsck/problem.c:92 msgid "MULTIPLY-CLAIMED BLOCKS CLONED" msgstr "ÇOK DÜĞÜMLÃœ BLOKLAR KOPYALANDI" -#: e2fsck/problem.c:94 +#: e2fsck/problem.c:93 msgid "FILE DELETED" msgstr "DOSYA SÄ°LÄ°NDÄ°" -#: e2fsck/problem.c:95 +#: e2fsck/problem.c:94 msgid "SUPPRESSED" msgstr "ENGELLENDÄ°" -#: e2fsck/problem.c:96 +#: e2fsck/problem.c:95 msgid "UNLINKED" msgstr "BAÄž KALDIRILDI" -#: e2fsck/problem.c:97 +#: e2fsck/problem.c:96 msgid "HTREE INDEX CLEARED" msgstr "HTREE Ä°NDEKSÄ° TEMÄ°ZLENDÄ°" -#: e2fsck/problem.c:98 +#: e2fsck/problem.c:97 msgid "WILL RECREATE" msgstr "TEKRAR OLUÅžTURULACAK" #. @-expanded: block bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:107 +#: e2fsck/problem.c:106 msgid "@b @B for @g %g is not in @g. (@b %b)\n" msgstr "%g grubunun blok biteÅŸlemi grup içinde deÄŸil. (blok %b)\n" #. @-expanded: inode bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:111 +#: e2fsck/problem.c:110 msgid "@i @B for @g %g is not in @g. (@b %b)\n" msgstr "%g grubunun düğüm biteÅŸlemi grup içinde deÄŸil. (blok %b)\n" #. @-expanded: inode table for group %g is not in group. (block %b)\n #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n -#: e2fsck/problem.c:116 +#: e2fsck/problem.c:115 msgid "" "@i table for @g %g is not in @g. (@b %b)\n" "WARNING: SEVERE DATA LOSS POSSIBLE.\n" @@ -779,7 +762,7 @@ msgstr "" #. @-expanded: is corrupt, and you might try running e2fsck with an alternate superblock:\n #. @-expanded: e2fsck -b %S \n #. @-expanded: \n -#: e2fsck/problem.c:122 +#: e2fsck/problem.c:121 #, c-format msgid "" "\n" @@ -802,7 +785,7 @@ msgstr "" #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n #. @-expanded: The physical size of the device is %c blocks\n #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n -#: e2fsck/problem.c:131 +#: e2fsck/problem.c:130 msgid "" "The @f size (according to the @S) is %b @bs\n" "The physical size of the @v is %c @bs\n" @@ -815,7 +798,7 @@ msgstr "" #. @-expanded: superblock block_size = %b, fragsize = %c.\n #. @-expanded: This version of e2fsck does not support fragment sizes different\n #. @-expanded: from the block size.\n -#: e2fsck/problem.c:138 +#: e2fsck/problem.c:137 msgid "" "@S @b_size = %b, fragsize = %c.\n" "This version of e2fsck does not support fragment sizes different\n" @@ -826,18 +809,18 @@ msgstr "" "farklı olması desteklenmiyor.\n" #. @-expanded: superblock blocks_per_group = %b, should have been %c\n -#: e2fsck/problem.c:145 +#: e2fsck/problem.c:144 msgid "@S @bs_per_group = %b, should have been %c\n" msgstr "Süperblok grup_başına_blok_sayısı = %b; %c olmalıydı\n" #. @-expanded: superblock first_data_block = %b, should have been %c\n -#: e2fsck/problem.c:150 +#: e2fsck/problem.c:149 msgid "@S first_data_@b = %b, should have been %c\n" msgstr "Süper blok ilk_veri_bloÄŸu = %b; %c olmalıydı\n" #. @-expanded: filesystem did not have a UUID; generating one.\n #. @-expanded: \n -#: e2fsck/problem.c:155 +#: e2fsck/problem.c:154 msgid "" "@f did not have a UUID; generating one.\n" "\n" @@ -845,7 +828,7 @@ msgstr "" "Dosya sistemi bir UUID içermiyor; bir tane üretiliyor.\n" "\n" -#: e2fsck/problem.c:160 +#: e2fsck/problem.c:159 #, c-format msgid "" "Note: if several inode or block bitmap blocks or part\n" @@ -864,48 +847,49 @@ msgstr "" "\n" #. @-expanded: Corruption found in superblock. (%s = %N).\n -#: e2fsck/problem.c:169 +#: e2fsck/problem.c:168 msgid "Corruption found in @S. (%s = %N).\n" msgstr "Süperblok içinde bozukluk saptandı. (%s = %N).\n" #. @-expanded: Error determining size of the physical device: %m\n -#: e2fsck/problem.c:174 +#: e2fsck/problem.c:173 #, c-format msgid "Error determining size of the physical @v: %m\n" msgstr "Aygıtın fiziksel uzunluÄŸu saptanırken hata oluÅŸtu: %m\n" #. @-expanded: inode count in superblock is %i, should be %j.\n -#: e2fsck/problem.c:179 +#: e2fsck/problem.c:178 msgid "@i count in @S is %i, @s %j.\n" msgstr "Süperblok içindeki düğüm sayısı %i; %j olmalıydı.\n" -#: e2fsck/problem.c:183 +#: e2fsck/problem.c:182 msgid "The Hurd does not support the filetype feature.\n" msgstr "Hurd, dosya türü özelliÄŸini desteklemez.\n" #. @-expanded: superblock has an invalid journal (inode %i).\n -#: e2fsck/problem.c:188 +#: e2fsck/problem.c:187 #, fuzzy, c-format msgid "@S has an @n @j (@i %i).\n" msgstr "Süperblok hatalı ext3 günlüğü içeriyor (düğüm %i).\n" #. @-expanded: External journal has multiple filesystem users (unsupported).\n -#: e2fsck/problem.c:193 +#: e2fsck/problem.c:192 msgid "External @j has multiple @f users (unsupported).\n" -msgstr "Dış günlük çok sayıda dosya sistemi kullanıcısı içeriyor. (desteklenmiyor)\n" +msgstr "" +"Dış günlük çok sayıda dosya sistemi kullanıcısı içeriyor. (desteklenmiyor)\n" #. @-expanded: Can't find external journal\n -#: e2fsck/problem.c:198 +#: e2fsck/problem.c:197 msgid "Can't find external @j\n" msgstr "Dış günlük bulunamıyor\n" #. @-expanded: External journal has bad superblock\n -#: e2fsck/problem.c:203 +#: e2fsck/problem.c:202 msgid "External @j has bad @S\n" msgstr "Dış günlük hatalı süperblok içeriyor\n" #. @-expanded: External journal does not support this filesystem\n -#: e2fsck/problem.c:208 +#: e2fsck/problem.c:207 msgid "External @j does not support this @f\n" msgstr "Dış günlük bu dosya sistemini desteklemiyor\n" @@ -913,11 +897,12 @@ msgstr "Dış günlük bu dosya sistemini desteklemiyor\n" #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal #. @-expanded: format.\n #. @-expanded: It is also possible the journal superblock is corrupt.\n -#: e2fsck/problem.c:213 +#: e2fsck/problem.c:212 #, fuzzy msgid "" "@f @j @S is unknown type %N (unsupported).\n" -"It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n" +"It is likely that your copy of e2fsck is old and/or doesn't support this @j " +"format.\n" "It is also possible the @j @S is corrupt.\n" msgstr "" "Ext3 günlüğü süperblok türü %N bilinmiyor (desteklenmiyor).\n" @@ -926,88 +911,102 @@ msgstr "" "Ayrıca, günlük süperblokunun bozuk olması da mümkün.\n" #. @-expanded: journal superblock is corrupt.\n -#: e2fsck/problem.c:221 +#: e2fsck/problem.c:220 #, fuzzy msgid "@j @S is corrupt.\n" msgstr "Ext3 günlüğü süperbloku bozuk.\n" #. @-expanded: superblock has_journal flag is clear, but a journal %s is present.\n -#: e2fsck/problem.c:226 +#: e2fsck/problem.c:225 #, fuzzy, c-format msgid "@S has_@j flag is clear, but a @j %s is present.\n" msgstr "ext3 kurtarma bayrağı temiz ama günlük veri içeriyor.\n" #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n -#: e2fsck/problem.c:231 +#: e2fsck/problem.c:230 #, fuzzy msgid "@S needs_recovery flag is set, but no @j is present.\n" msgstr "Süperblok ext3 needs_recovery bayrağı içeriyor ama günlük yok.\n" #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n -#: e2fsck/problem.c:236 +#: e2fsck/problem.c:235 #, fuzzy msgid "@S needs_recovery flag is clear, but @j has data.\n" msgstr "ext3 kurtarma bayrağı temiz ama günlük veri içeriyor.\n" #. @-expanded: Clear journal -#: e2fsck/problem.c:241 +#: e2fsck/problem.c:240 msgid "Clear @j" msgstr "Günlüğü Temizle" -#. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. -#: e2fsck/problem.c:246 e2fsck/problem.c:695 -msgid "@f has feature flag(s) set, but is a revision 0 @f. " -msgstr "dosyasisteminin özellik bayrakları etkin ama dosyasisteminin sürümü 0." +#. @-expanded: Run journal anyway +#: e2fsck/problem.c:245 +msgid "Run @j anyway" +msgstr "Günlüğü yine de çalıştır" + +#. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n +#: e2fsck/problem.c:250 +msgid "Recovery flag not set in backup @S, so running @j anyway.\n" +msgstr "" +"Yedek süper blokda kurtarma bayrağı temiz olduÄŸundan günlük herÅŸeye raÄŸmen " +"çalışacak.\n" #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n -#: e2fsck/problem.c:251 +#: e2fsck/problem.c:255 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" msgstr "%s artık düğüm %i (kull_kiml=%Iu, grup_kiml=%Ig, kip=%Im, boy=%Is)\n" -#. @-expanded: illegal %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:256 -#, fuzzy -msgid "@I %B (%b) found in @o @i %i.\n" +#. @-expanded: illegal block #%B (%b) found in orphaned inode %i.\n +#: e2fsck/problem.c:260 +msgid "@I @b #%B (%b) found in @o @i %i.\n" msgstr "düğüm %i içindeki blok #%B (%b) kuraldışı.\n" -#. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:261 -#, fuzzy -msgid "Already cleared %B (%b) found in @o @i %i.\n" +#. @-expanded: Already cleared block #%B (%b) found in orphaned inode %i.\n +#: e2fsck/problem.c:265 +msgid "Already cleared @b #%B (%b) found in @o @i %i.\n" msgstr "artık düğüm %i içindeki blok #%B (%b) zaten temizlenmiÅŸ.\n" #. @-expanded: illegal orphaned inode %i in superblock.\n -#: e2fsck/problem.c:266 +#: e2fsck/problem.c:270 #, c-format msgid "@I @o @i %i in @S.\n" msgstr "süper blok içindeki artık düğüm %i kuraldışı.\n" #. @-expanded: illegal inode %i in orphaned inode list.\n -#: e2fsck/problem.c:271 +#: e2fsck/problem.c:275 #, c-format msgid "@I @i %i in @o @i list.\n" msgstr "artık düğüm listesindeki düğüm %i kuraldışı\n" +#. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. +#: e2fsck/problem.c:280 e2fsck/problem.c:647 +msgid "@f has feature flag(s) set, but is a revision 0 @f. " +msgstr "dosyasisteminin özellik bayrakları etkin ama dosyasisteminin sürümü 0." + #. @-expanded: journal superblock has an unknown read-only feature flag set.\n -#: e2fsck/problem.c:276 +#: e2fsck/problem.c:285 #, fuzzy msgid "@j @S has an unknown read-only feature flag set.\n" -msgstr "Ext3 günlüğü süper bloÄŸu bilinmeyen salt-okunur özellikli bir bayrak içeriyor.\n" +msgstr "" +"Ext3 günlüğü süper bloÄŸu bilinmeyen salt-okunur özellikli bir bayrak " +"içeriyor.\n" #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n -#: e2fsck/problem.c:281 +#: e2fsck/problem.c:290 #, fuzzy msgid "@j @S has an unknown incompatible feature flag set.\n" -msgstr "Ext3 günlüğünün süper bloÄŸu bilinmeyen uyumsuz özellikli bir bayrak içeriyor.\n" +msgstr "" +"Ext3 günlüğünün süper bloÄŸu bilinmeyen uyumsuz özellikli bir bayrak " +"içeriyor.\n" #. @-expanded: journal version not supported by this e2fsck.\n -#: e2fsck/problem.c:286 +#: e2fsck/problem.c:295 msgid "@j version not supported by this e2fsck.\n" msgstr "günlük sürümü bu e2fsck tarafından desteklenmiyor.\n" #. @-expanded: Moving journal from /%s to hidden inode.\n #. @-expanded: \n -#: e2fsck/problem.c:291 +#: e2fsck/problem.c:300 #, c-format msgid "" "Moving @j from /%s to hidden @i.\n" @@ -1018,7 +1017,7 @@ msgstr "" #. @-expanded: Error moving journal: %m\n #. @-expanded: \n -#: e2fsck/problem.c:296 +#: e2fsck/problem.c:305 #, c-format msgid "" "Error moving @j: %m\n" @@ -1030,7 +1029,7 @@ msgstr "" #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n #. @-expanded: Clearing fields beyond the V1 journal superblock...\n #. @-expanded: \n -#: e2fsck/problem.c:301 +#: e2fsck/problem.c:310 msgid "" "Found @n V2 @j @S fields (from V1 @j).\n" "Clearing fields beyond the V1 @j @S...\n" @@ -1040,19 +1039,9 @@ msgstr "" "V1 günlüğü süper bloÄŸundan sonraki alanlar temizleniyor...\n" "\n" -#. @-expanded: Run journal anyway -#: e2fsck/problem.c:307 -msgid "Run @j anyway" -msgstr "Günlüğü yine de çalıştır" - -#. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n -#: e2fsck/problem.c:312 -msgid "Recovery flag not set in backup @S, so running @j anyway.\n" -msgstr "Yedek süper blokda kurtarma bayrağı temiz olduÄŸundan günlük herÅŸeye raÄŸmen çalışacak.\n" - #. @-expanded: Backing up journal inode block information.\n #. @-expanded: \n -#: e2fsck/problem.c:317 +#: e2fsck/problem.c:316 msgid "" "Backing up @j @i @b information.\n" "\n" @@ -1062,7 +1051,7 @@ msgstr "" #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n #. @-expanded: is %N; should be zero. -#: e2fsck/problem.c:322 +#: e2fsck/problem.c:321 msgid "" "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n" "is %N; @s zero. " @@ -1071,256 +1060,196 @@ msgstr "" "%N deÄŸeri var; sıfır olmalıydı. " #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero. -#: e2fsck/problem.c:328 +#: e2fsck/problem.c:327 msgid "Resize_@i not enabled, but the resize @i is non-zero. " msgstr "Resize_inode etkin deÄŸil, ama düğüm boyutlandırma sıfırdan farklı. " #. @-expanded: Resize inode not valid. -#: e2fsck/problem.c:333 +#: e2fsck/problem.c:332 msgid "Resize @i not valid. " msgstr "Düğüm boyutlandırma geçersiz. " -#. @-expanded: superblock last mount time (%t,\n -#. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:338 -#, fuzzy -msgid "" -"@S last mount time (%t,\n" -"\tnow = %T) is in the future.\n" +#. @-expanded: superblock last mount time is in the future. +#: e2fsck/problem.c:337 +msgid "@S last mount time is in the future. " msgstr "SüperbloÄŸun son baÄŸlama zamanı gelecekte. " -#. @-expanded: superblock last write time (%t,\n -#. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:343 -#, fuzzy -msgid "" -"@S last write time (%t,\n" -"\tnow = %T) is in the future.\n" +#. @-expanded: superblock last write time is in the future. +#: e2fsck/problem.c:342 +msgid "@S last write time is in the future. " msgstr "Süperblokun son yazma zamanı gelecekte. " #. @-expanded: superblock hint for external superblock should be %X. -#: e2fsck/problem.c:347 +#: e2fsck/problem.c:346 #, c-format msgid "@S hint for external superblock @s %X. " msgstr "harici süperbloku %X olması gereken dosyasistemi için süperblok iması" #. @-expanded: Adding dirhash hint to filesystem.\n #. @-expanded: \n -#: e2fsck/problem.c:352 +#: e2fsck/problem.c:351 msgid "" "Adding dirhash hint to @f.\n" "\n" msgstr "" -#. @-expanded: group descriptor %g checksum is %04x, should be %04y. -#: e2fsck/problem.c:357 -msgid "@g descriptor %g checksum is %04x, should be %04y. " +#. @-expanded: group descriptor %g checksum is invalid. +#: e2fsck/problem.c:356 +#, c-format +msgid "@g descriptor %g checksum is invalid. " msgstr "" #. @-expanded: group descriptor %g marked uninitialized without feature set.\n -#: e2fsck/problem.c:362 +#: e2fsck/problem.c:361 #, c-format msgid "@g descriptor %g marked uninitialized without feature set.\n" msgstr "" +#. @-expanded: group %g block bitmap uninitialized but inode bitmap in use.\n +#: e2fsck/problem.c:366 +#, c-format +msgid "@g %g @b @B uninitialized but @i @B in use.\n" +msgstr "" + #. @-expanded: group descriptor %g has invalid unused inodes count %b. -#: e2fsck/problem.c:367 +#: e2fsck/problem.c:371 msgid "@g descriptor %g has invalid unused inodes count %b. " msgstr "" #. @-expanded: Last group block bitmap uninitialized. -#: e2fsck/problem.c:372 +#: e2fsck/problem.c:376 msgid "Last @g @b @B uninitialized. " msgstr "" -#: e2fsck/problem.c:377 +#: e2fsck/problem.c:381 #, c-format msgid "Journal transaction %i was corrupt, replay was aborted.\n" msgstr "" -#: e2fsck/problem.c:381 +#: e2fsck/problem.c:385 msgid "The test_fs flag is set (and ext4 is available). " msgstr "" -#. @-expanded: superblock last mount time is in the future.\n -#. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly -#. @-expanded: set) -#: e2fsck/problem.c:386 -msgid "" -"@S last mount time is in the future.\n" -"\t(by less than a day, probably due to the hardware clock being incorrectly set) " -msgstr "" - -#. @-expanded: superblock last write time is in the future.\n -#. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly -#. @-expanded: set). +#. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n #: e2fsck/problem.c:392 -msgid "" -"@S last write time is in the future.\n" -"\t(by less than a day, probably due to the hardware clock being incorrectly set). " -msgstr "" +msgid "Pass 1: Checking @is, @bs, and sizes\n" +msgstr "1. geçiÅŸ: düğümler, bloklar ve uzunluklar denetleniyor\n" -#. @-expanded: One or more block group descriptor checksums are invalid. -#: e2fsck/problem.c:398 -msgid "One or more @b @g descriptor checksums are invalid. " -msgstr "" +#. @-expanded: root inode is not a directory. +#: e2fsck/problem.c:396 +msgid "@r is not a @d. " +msgstr "Kök düğümü bir dizin deÄŸil. " -#. @-expanded: Setting free inodes count to %j (was %i)\n -#: e2fsck/problem.c:403 -#, fuzzy -msgid "Setting free @is count to %j (was %i)\n" -msgstr "Yedek blok sayısı %lu olarak belirleniyor\n" - -#. @-expanded: Setting free blocks count to %c (was %b)\n -#: e2fsck/problem.c:408 -#, fuzzy -msgid "Setting free @bs count to %c (was %b)\n" -msgstr "Yedek blok sayısı %lu olarak belirleniyor\n" - -#. @-expanded: Making quota inode %i (%Q) hidden.\n -#: e2fsck/problem.c:413 -#, fuzzy -msgid "Making @q @i %i (%Q) hidden.\n" -msgstr "" -"Günlük /%s den gizli düğüme taşınıyor.\n" -"\n" - -#. @-expanded: superblock has invalid MMP block. -#: e2fsck/problem.c:418 -#, fuzzy -msgid "@S has invalid MMP block. " -msgstr "blok uzunluÄŸu hatalı - %s" - -#. @-expanded: superblock has invalid MMP magic. -#: e2fsck/problem.c:423 -msgid "@S has invalid MMP magic. " -msgstr "" - -#: e2fsck/problem.c:428 -#, c-format -msgid "ext2fs_open2: %m\n" -msgstr "" - -#: e2fsck/problem.c:433 -#, c-format -msgid "ext2fs_check_desc: %m\n" -msgstr "" - -#. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n -#: e2fsck/problem.c:440 -msgid "Pass 1: Checking @is, @bs, and sizes\n" -msgstr "1. geçiÅŸ: düğümler, bloklar ve uzunluklar denetleniyor\n" - -#. @-expanded: root inode is not a directory. -#: e2fsck/problem.c:444 -msgid "@r is not a @d. " -msgstr "Kök düğümü bir dizin deÄŸil. " - -#. @-expanded: root inode has dtime set (probably due to old mke2fs). -#: e2fsck/problem.c:449 -msgid "@r has dtime set (probably due to old mke2fs). " -msgstr "Kök düğümü için dtime belirtilmiÅŸ (eski mke2fs'den dolayı olabilir). " +#. @-expanded: root inode has dtime set (probably due to old mke2fs). +#: e2fsck/problem.c:401 +msgid "@r has dtime set (probably due to old mke2fs). " +msgstr "Kök düğümü için dtime belirtilmiÅŸ (eski mke2fs'den dolayı olabilir). " #. @-expanded: Reserved inode %i (%Q) has invalid mode. -#: e2fsck/problem.c:454 +#: e2fsck/problem.c:406 msgid "Reserved @i %i (%Q) has @n mode. " msgstr "Yedek düğüm %i (%Q) hatalı kip içeriyor. " #. @-expanded: deleted inode %i has zero dtime. -#: e2fsck/problem.c:459 +#: e2fsck/problem.c:411 #, c-format msgid "@D @i %i has zero dtime. " msgstr "Silinen düğüm %i sıfır dtime içeriyor. " #. @-expanded: inode %i is in use, but has dtime set. -#: e2fsck/problem.c:464 +#: e2fsck/problem.c:416 #, c-format msgid "@i %i is in use, but has dtime set. " msgstr "Düğüm %i kullanımda, ama dtime belirtilmiÅŸ. " #. @-expanded: inode %i is a zero-length directory. -#: e2fsck/problem.c:469 +#: e2fsck/problem.c:421 #, c-format msgid "@i %i is a @z @d. " msgstr "Düğüm %i bir sıfır uzunluklu dizindir. " #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:474 +#: e2fsck/problem.c:426 msgid "@g %g's @b @B at %b @C.\n" -msgstr "%g grubunun %b deki blok biteÅŸlemi diÄŸer dosya sistemi blokları ile çeliÅŸiyor.\n" +msgstr "" +"%g grubunun %b deki blok biteÅŸlemi diÄŸer dosya sistemi blokları ile " +"çeliÅŸiyor.\n" #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:479 +#: e2fsck/problem.c:431 msgid "@g %g's @i @B at %b @C.\n" -msgstr "%g grubunun %b deki düğüm biteÅŸlemi diÄŸer dosya sistemi blokları ile çeliÅŸiyor.\n" +msgstr "" +"%g grubunun %b deki düğüm biteÅŸlemi diÄŸer dosya sistemi blokları ile " +"çeliÅŸiyor.\n" #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:484 +#: e2fsck/problem.c:436 msgid "@g %g's @i table at %b @C.\n" -msgstr "%g grubunun %b deki düğüm tablosu diÄŸer dosya sistemi blokları ile çeliÅŸiyor.\n" +msgstr "" +"%g grubunun %b deki düğüm tablosu diÄŸer dosya sistemi blokları ile " +"çeliÅŸiyor.\n" #. @-expanded: group %g's block bitmap (%b) is bad. -#: e2fsck/problem.c:489 +#: e2fsck/problem.c:441 msgid "@g %g's @b @B (%b) is bad. " msgstr "%g grubunun blok biteÅŸlemi (%b) hatalı. " #. @-expanded: group %g's inode bitmap (%b) is bad. -#: e2fsck/problem.c:494 +#: e2fsck/problem.c:446 msgid "@g %g's @i @B (%b) is bad. " msgstr "%g grubunun düğüm biteÅŸlemi (%b) hatalı. " #. @-expanded: inode %i, i_size is %Is, should be %N. -#: e2fsck/problem.c:499 +#: e2fsck/problem.c:451 msgid "@i %i, i_size is %Is, @s %N. " msgstr "Düğüm %i düğüm uzunluÄŸu %Is, %N olmalıydı. " #. @-expanded: inode %i, i_blocks is %Ib, should be %N. -#: e2fsck/problem.c:504 +#: e2fsck/problem.c:456 msgid "@i %i, i_@bs is %Ib, @s %N. " msgstr "Dosya düğüm %i, blok düğümü %Ib, %N olmalıydı. " -#. @-expanded: illegal %B (%b) in inode %i. -#: e2fsck/problem.c:509 -#, fuzzy -msgid "@I %B (%b) in @i %i. " +#. @-expanded: illegal block #%B (%b) in inode %i. +#: e2fsck/problem.c:461 +msgid "@I @b #%B (%b) in @i %i. " msgstr "Düğüm %i içindeki blok #%B (%b) kuraldışı. " -#. @-expanded: %B (%b) overlaps filesystem metadata in inode %i. -#: e2fsck/problem.c:514 -#, fuzzy -msgid "%B (%b) overlaps @f metadata in @i %i. " -msgstr "Düğüm %i içindeki blok #%B (%b) dosya sistemi metaverisinin üzerine taşıyor. " +#. @-expanded: block #%B (%b) overlaps filesystem metadata in inode %i. +#: e2fsck/problem.c:466 +msgid "@b #%B (%b) overlaps @f metadata in @i %i. " +msgstr "" +"Düğüm %i içindeki blok #%B (%b) dosya sistemi metaverisinin üzerine " +"taşıyor. " #. @-expanded: inode %i has illegal block(s). -#: e2fsck/problem.c:519 +#: e2fsck/problem.c:471 #, c-format msgid "@i %i has illegal @b(s). " msgstr "Düğüm %i kuraldışı blok(lar) içeriyor. " #. @-expanded: Too many illegal blocks in inode %i.\n -#: e2fsck/problem.c:524 +#: e2fsck/problem.c:476 #, c-format msgid "Too many illegal @bs in @i %i.\n" msgstr "Düğüm %i içinde çok fazla kuraldışı blok.\n" -#. @-expanded: illegal %B (%b) in bad block inode. -#: e2fsck/problem.c:529 -#, fuzzy -msgid "@I %B (%b) in bad @b @i. " +#. @-expanded: illegal block #%B (%b) in bad block inode. +#: e2fsck/problem.c:481 +msgid "@I @b #%B (%b) in bad @b @i. " msgstr "Hatalı blok düğümü içindeki blok %B (%b) kuraldışı. " #. @-expanded: Bad block inode has illegal block(s). -#: e2fsck/problem.c:534 +#: e2fsck/problem.c:486 msgid "Bad @b @i has illegal @b(s). " msgstr "Hatalı blok düğümü kuraldışı blok(lar) içeriyor. " #. @-expanded: Duplicate or bad block in use!\n -#: e2fsck/problem.c:539 +#: e2fsck/problem.c:491 msgid "Duplicate or bad @b in use!\n" msgstr "Tekrarlanmış ya da hatalı blok kullanımda!\n" #. @-expanded: Bad block %b used as bad block inode indirect block. -#: e2fsck/problem.c:544 +#: e2fsck/problem.c:496 msgid "Bad @b %b used as bad @b @i indirect @b. " msgstr "Hatalı blok %b, hatalı blok düğümü dolaylı bloÄŸu olarak kullanılmış." @@ -1328,7 +1257,7 @@ msgstr "Hatalı blok %b, hatalı blok düğümü dolaylı bloÄŸu olarak kullanı #. @-expanded: The bad block inode has probably been corrupted. You probably\n #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n #. @-expanded: in the filesystem.\n -#: e2fsck/problem.c:549 +#: e2fsck/problem.c:501 msgid "" "\n" "The bad @b @i has probably been corrupted. You probably\n" @@ -1342,7 +1271,7 @@ msgstr "" #. @-expanded: \n #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n -#: e2fsck/problem.c:556 +#: e2fsck/problem.c:508 msgid "" "\n" "If the @b is really bad, the @f can not be fixed.\n" @@ -1353,7 +1282,7 @@ msgstr "" #. @-expanded: You can remove this block from the bad block list and hope\n #. @-expanded: that the block is really OK. But there are no guarantees.\n #. @-expanded: \n -#: e2fsck/problem.c:561 +#: e2fsck/problem.c:513 msgid "" "You can remove this @b from the bad @b list and hope\n" "that the @b is really OK. But there are no guarantees.\n" @@ -1364,125 +1293,131 @@ msgstr "" "\n" #. @-expanded: The primary superblock (%b) is on the bad block list.\n -#: e2fsck/problem.c:567 +#: e2fsck/problem.c:519 msgid "The primary @S (%b) is on the bad @b list.\n" msgstr "Birincil dosya sistemi (%b) hatalı bloklar listesinde kayıtlı.\n" #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n -#: e2fsck/problem.c:572 +#: e2fsck/problem.c:524 msgid "Block %b in the primary @g descriptors is on the bad @b list\n" -msgstr "Birincil grup tanımlarındaki blok %b, hatalı bloklar listesinde kayıtlı\n" +msgstr "" +"Birincil grup tanımlarındaki blok %b, hatalı bloklar listesinde kayıtlı\n" #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n -#: e2fsck/problem.c:578 +#: e2fsck/problem.c:530 msgid "Warning: Group %g's @S (%b) is bad.\n" msgstr "Uyarı: %g grubunun superbloÄŸu (%b) hatalı.\n" #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n -#: e2fsck/problem.c:583 +#: e2fsck/problem.c:535 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n" -msgstr "Uyarı %g grubunun grup tanımları kopyası bir hatalı blok içeriyor (%b).\n" +msgstr "" +"Uyarı %g grubunun grup tanımları kopyası bir hatalı blok içeriyor (%b).\n" #. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n -#: e2fsck/problem.c:589 +#: e2fsck/problem.c:541 msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n" -msgstr "Programlama hatası? blok %b, hatalı blok iÅŸleminde sebepsiz olarak talep edildi.\n" +msgstr "" +"Programlama hatası? blok %b, hatalı blok iÅŸleminde sebepsiz olarak talep " +"edildi.\n" #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n -#: e2fsck/problem.c:595 +#: e2fsck/problem.c:547 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n" -msgstr "%s için %g blok grubunda %N bitiÅŸik bloÄŸa yer ayrılırken hata oluÅŸtu: %m\n" +msgstr "" +"%s için %g blok grubunda %N bitiÅŸik bloÄŸa yer ayrılırken hata oluÅŸtu: %m\n" #. @-expanded: error allocating block buffer for relocating %s\n -#: e2fsck/problem.c:600 +#: e2fsck/problem.c:552 #, c-format msgid "@A @b buffer for relocating %s\n" msgstr "%s tekrar konumlaması için blok tamponuna yer ayrılırken hata oluÅŸtu\n" #. @-expanded: Relocating group %g's %s from %b to %c...\n -#: e2fsck/problem.c:605 +#: e2fsck/problem.c:557 msgid "Relocating @g %g's %s from %b to %c...\n" msgstr "%g grubunun %s %b den %c ye aktarılıyor...\n" #. @-expanded: Relocating group %g's %s to %c...\n -#: e2fsck/problem.c:610 +#: e2fsck/problem.c:562 #, c-format msgid "Relocating @g %g's %s to %c...\n" msgstr "%g grubunun %s %c ye aktarılıyor...\n" #. @-expanded: Warning: could not read block %b of %s: %m\n -#: e2fsck/problem.c:615 +#: e2fsck/problem.c:567 msgid "Warning: could not read @b %b of %s: %m\n" msgstr "Uyarı: %snin %b bloÄŸu okunamadı: %m\n" #. @-expanded: Warning: could not write block %b for %s: %m\n -#: e2fsck/problem.c:620 +#: e2fsck/problem.c:572 msgid "Warning: could not write @b %b for %s: %m\n" msgstr "Uyarı: %snin %b bloÄŸu yazılamadı: %m\n" #. @-expanded: error allocating inode bitmap (%N): %m\n -#: e2fsck/problem.c:625 e2fsck/problem.c:1474 +#: e2fsck/problem.c:577 e2fsck/problem.c:1378 msgid "@A @i @B (%N): %m\n" msgstr "Düğüm biteÅŸlemi (%N) ayrılırken hata oluÅŸtu: %m\n" #. @-expanded: error allocating block bitmap (%N): %m\n -#: e2fsck/problem.c:630 +#: e2fsck/problem.c:582 msgid "@A @b @B (%N): %m\n" msgstr "Düğüm biteÅŸlemi (%N) ayrılırken hata oluÅŸtu: %m\n" #. @-expanded: error allocating icount link information: %m\n -#: e2fsck/problem.c:635 +#: e2fsck/problem.c:587 #, c-format msgid "@A icount link information: %m\n" msgstr "Düğüm sayısı baÄŸ bilgisine yer ayrılırken hata oluÅŸtu: %m\n" #. @-expanded: error allocating directory block array: %m\n -#: e2fsck/problem.c:640 +#: e2fsck/problem.c:592 #, c-format msgid "@A @d @b array: %m\n" msgstr "Dizin bloÄŸu dizisine yer ayrılırken hata oluÅŸtu: %m\n" #. @-expanded: Error while scanning inodes (%i): %m\n -#: e2fsck/problem.c:645 +#: e2fsck/problem.c:597 #, c-format msgid "Error while scanning @is (%i): %m\n" msgstr "Düğümler (%i) taranırken hata oluÅŸtu: %m\n" #. @-expanded: Error while iterating over blocks in inode %i: %m\n -#: e2fsck/problem.c:650 +#: e2fsck/problem.c:602 #, c-format msgid "Error while iterating over @bs in @i %i: %m\n" -msgstr "Düğüm %i içindeki bloklar üzerinde iÅŸlemler tekrarlanırken hata oluÅŸtu: %m\n" +msgstr "" +"Düğüm %i içindeki bloklar üzerinde iÅŸlemler tekrarlanırken hata oluÅŸtu: %m\n" #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n -#: e2fsck/problem.c:655 +#: e2fsck/problem.c:607 msgid "Error storing @i count information (@i=%i, count=%N): %m\n" msgstr "" "Düğüm sayısı bilgisi (düğüm = %i, sayısı = %N)\n" "saklanırken hata oluÅŸtu: %m\n" #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n -#: e2fsck/problem.c:660 +#: e2fsck/problem.c:612 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n" msgstr "" "Dizin bloÄŸu bilgisi (düğüm = %i, blok = %b, num = %N)\n" "saklanırken hata oluÅŸtu: %m\n" #. @-expanded: Error reading inode %i: %m\n -#: e2fsck/problem.c:666 +#: e2fsck/problem.c:618 #, c-format msgid "Error reading @i %i: %m\n" msgstr "Düğüm %i okunurken hata oluÅŸtu: %m\n" #. @-expanded: inode %i has imagic flag set. -#: e2fsck/problem.c:674 +#: e2fsck/problem.c:626 #, c-format msgid "@i %i has imagic flag set. " msgstr "Düğüm %i imagic bayrağı içeriyor. " #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n #. @-expanded: or append-only flag set. -#: e2fsck/problem.c:679 +#: e2fsck/problem.c:631 #, c-format msgid "" "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n" @@ -1492,153 +1427,156 @@ msgstr "" "salt-eklenir ya da deÄŸiÅŸmez bayrağı içeriyor. " #. @-expanded: inode %i has compression flag set on filesystem without compression support. -#: e2fsck/problem.c:685 +#: e2fsck/problem.c:637 #, c-format msgid "@i %i has @cion flag set on @f without @cion support. " -msgstr "Düğüm %i sıkıştırma desteklenmeyen dosya sisteminde sıkıştırma bayrağı içeriyor. " +msgstr "" +"Düğüm %i sıkıştırma desteklenmeyen dosya sisteminde sıkıştırma bayrağı " +"içeriyor. " #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size. -#: e2fsck/problem.c:690 +#: e2fsck/problem.c:642 #, c-format msgid "Special (@v/socket/fifo) @i %i has non-zero size. " msgstr "Özel (aygıt/soket/fifo) düğüm %i sıfırdan farklı boyutta. " #. @-expanded: journal inode is not in use, but contains data. -#: e2fsck/problem.c:700 +#: e2fsck/problem.c:652 msgid "@j @i is not in use, but contains data. " msgstr "Günlük düğümü kullanımda deÄŸil ama veri içeriyor. " #. @-expanded: journal is not regular file. -#: e2fsck/problem.c:705 +#: e2fsck/problem.c:657 msgid "@j is not regular file. " msgstr "Günlük dosyası normal bir dosya deÄŸil. " #. @-expanded: inode %i was part of the orphaned inode list. -#: e2fsck/problem.c:710 +#: e2fsck/problem.c:662 #, c-format msgid "@i %i was part of the @o @i list. " msgstr "Düğüm %i öksüz düğüm listesinin parçasıydı. " #. @-expanded: inodes that were part of a corrupted orphan linked list found. -#: e2fsck/problem.c:716 +#: e2fsck/problem.c:668 msgid "@is that were part of a corrupted orphan linked list found. " msgstr "Bozuk bir artık baÄŸlı listenin bir parçasını bulunduran düğümler. " #. @-expanded: error allocating refcount structure (%N): %m\n -#: e2fsck/problem.c:721 +#: e2fsck/problem.c:673 msgid "@A refcount structure (%N): %m\n" msgstr "refcount veri yapısı için yer ayrılırken hata oluÅŸtu: %m\n" #. @-expanded: Error reading extended attribute block %b for inode %i. -#: e2fsck/problem.c:726 +#: e2fsck/problem.c:678 msgid "Error reading @a @b %b for @i %i. " msgstr "Düğüm %i için ek özellik bloÄŸu %b okunurken hata oluÅŸtu. " #. @-expanded: inode %i has a bad extended attribute block %b. -#: e2fsck/problem.c:731 +#: e2fsck/problem.c:683 msgid "@i %i has a bad @a @b %b. " msgstr "Düğüm %i %b hatalı ek özellik bloÄŸunu içeriyor. " #. @-expanded: Error reading extended attribute block %b (%m). -#: e2fsck/problem.c:736 +#: e2fsck/problem.c:688 msgid "Error reading @a @b %b (%m). " msgstr "Ek özellik bloÄŸu %b okunurken hata oluÅŸtu (%m). " -#. @-expanded: extended attribute block %b has reference count %r, should be %N. -#: e2fsck/problem.c:741 -#, fuzzy -msgid "@a @b %b has reference count %r, @s %N. " +#. @-expanded: extended attribute block %b has reference count %B, should be %N. +#: e2fsck/problem.c:693 +msgid "@a @b %b has reference count %B, @s %N. " msgstr "Ek özellikler bloÄŸu %b %B baÅŸvuru sayısına sahip, %N olmalıydı. " #. @-expanded: Error writing extended attribute block %b (%m). -#: e2fsck/problem.c:746 +#: e2fsck/problem.c:698 msgid "Error writing @a @b %b (%m). " msgstr "Ek özellik bloÄŸu %b yazılırken hata oluÅŸtu (%m). " #. @-expanded: extended attribute block %b has h_blocks > 1. -#: e2fsck/problem.c:751 +#: e2fsck/problem.c:703 msgid "@a @b %b has h_@bs > 1. " msgstr "Ek özellikler bloÄŸu %b için h_blocks > 1. " #. @-expanded: error allocating extended attribute block %b. -#: e2fsck/problem.c:756 +#: e2fsck/problem.c:708 msgid "@A @a @b %b. " msgstr "Ek özellikler bloÄŸu %b ayrılırken hata. " #. @-expanded: extended attribute block %b is corrupt (allocation collision). -#: e2fsck/problem.c:761 +#: e2fsck/problem.c:713 msgid "@a @b %b is corrupt (allocation collision). " msgstr "Ek özellik bloÄŸu %b bozuk (tahsis çatışması). " #. @-expanded: extended attribute block %b is corrupt (invalid name). -#: e2fsck/problem.c:766 +#: e2fsck/problem.c:718 msgid "@a @b %b is corrupt (@n name). " msgstr "Ek özellikler bloÄŸu %b bozuk (geçersiz isim). " #. @-expanded: extended attribute block %b is corrupt (invalid value). -#: e2fsck/problem.c:771 +#: e2fsck/problem.c:723 msgid "@a @b %b is corrupt (@n value). " msgstr "Ek özellikler bloÄŸu %b bozuk (geçersiz deÄŸer). " #. @-expanded: inode %i is too big. -#: e2fsck/problem.c:776 +#: e2fsck/problem.c:728 #, c-format msgid "@i %i is too big. " msgstr "düğüm %i çok büyük. " -#. @-expanded: %B (%b) causes directory to be too big. -#: e2fsck/problem.c:780 -#, fuzzy -msgid "%B (%b) causes @d to be too big. " +#. @-expanded: block #%B (%b) causes directory to be too big. +#: e2fsck/problem.c:732 +msgid "@b #%B (%b) causes @d to be too big. " msgstr "Blok #%B (%b) çok büyük dizin oluÅŸturuyor. " -#: e2fsck/problem.c:785 -#, fuzzy -msgid "%B (%b) causes file to be too big. " +#. @-expanded: block #%B (%b) causes file to be too big. +#: e2fsck/problem.c:737 +msgid "@b #%B (%b) causes file to be too big. " msgstr "Blok #%B (%b) çok büyük dosya oluÅŸturuyor. " -#: e2fsck/problem.c:790 -#, fuzzy -msgid "%B (%b) causes symlink to be too big. " +#. @-expanded: block #%B (%b) causes symlink to be too big. +#: e2fsck/problem.c:742 +msgid "@b #%B (%b) causes symlink to be too big. " msgstr "Blok #%B (%b) çok büyük sembolik baÄŸ oluÅŸturuyor. " #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n -#: e2fsck/problem.c:795 +#: e2fsck/problem.c:747 #, c-format msgid "@i %i has INDEX_FL flag set on @f without htree support.\n" -msgstr "Düğüm %i htree desteÄŸi bulunmayan dosya sisteminde INDEX_FL bayrağı içeriyor.\n" +msgstr "" +"Düğüm %i htree desteÄŸi bulunmayan dosya sisteminde INDEX_FL bayrağı " +"içeriyor.\n" #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n -#: e2fsck/problem.c:800 +#: e2fsck/problem.c:752 #, c-format msgid "@i %i has INDEX_FL flag set but is not a @d.\n" msgstr "Düğüm %i INDEX_FL bayrağı içeriyor ama o bir dizin deÄŸil.\n" #. @-expanded: HTREE directory inode %i has an invalid root node.\n -#: e2fsck/problem.c:805 +#: e2fsck/problem.c:757 #, c-format msgid "@h %i has an @n root node.\n" msgstr "HTREE dizin düğümü %i geçersiz bir kök düğümü içeriyor.\n" #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n -#: e2fsck/problem.c:810 +#: e2fsck/problem.c:762 msgid "@h %i has an unsupported hash version (%N)\n" msgstr "HTREE dizin düğümü %i desteklenmeyen bir hash sürümü (%N) içeriyor.\n" #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n -#: e2fsck/problem.c:815 +#: e2fsck/problem.c:767 #, c-format msgid "@h %i uses an incompatible htree root node flag.\n" -msgstr "HTREE dizin düğümü %i uyumsuz bir htree kök düğümü bayrağı kullanıyor.\n" +msgstr "" +"HTREE dizin düğümü %i uyumsuz bir htree kök düğümü bayrağı kullanıyor.\n" #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n -#: e2fsck/problem.c:820 +#: e2fsck/problem.c:772 msgid "@h %i has a tree depth (%N) which is too big\n" msgstr "HTREE dizin düğümü %i çok büyük bir aÄŸaç derinliÄŸine (%N) sahip\n" #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n #. @-expanded: filesystem metadata. -#: e2fsck/problem.c:825 +#: e2fsck/problem.c:777 msgid "" "Bad @b @i has an indirect @b (%b) that conflicts with\n" "@f metadata. " @@ -1647,56 +1585,58 @@ msgstr "" "bir dolaylı blok (%b) içeriyor." #. @-expanded: Resize inode (re)creation failed: %m. -#: e2fsck/problem.c:831 +#: e2fsck/problem.c:783 #, c-format msgid "Resize @i (re)creation failed: %m." msgstr "Düğümü boyutlandırmak için (tekrar) oluÅŸturma baÅŸarısız: %m" #. @-expanded: inode %i has a extra size (%IS) which is invalid\n -#: e2fsck/problem.c:836 +#: e2fsck/problem.c:788 msgid "@i %i has a extra size (%IS) which is @n\n" msgstr "%i. düğüm geçersiz bir ek boyut içeriyor (%IS)\n" #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n -#: e2fsck/problem.c:841 +#: e2fsck/problem.c:793 msgid "@a in @i %i has a namelen (%N) which is @n\n" msgstr "%i. düğümdeki ek özellik geçersiz bir isim alanı içeriyor (%N)\n" +#. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n +#: e2fsck/problem.c:798 +msgid "@a in @i %i has a value size (%N) which is @n\n" +msgstr "%i. düğümdeki ek özellik geçersiz bir deÄŸer içeriyor (%N)\n" + #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n -#: e2fsck/problem.c:846 +#: e2fsck/problem.c:803 msgid "@a in @i %i has a value offset (%N) which is @n\n" msgstr "%i. düğümdeki ek özellik geçersiz bir deÄŸer baÅŸlangıcı içeriyor (%N)\n" #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n -#: e2fsck/problem.c:851 +#: e2fsck/problem.c:808 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" -msgstr "%i. düğümdeki ek özellik geçersiz bir deÄŸer bloÄŸu içeriyor (%N), 0 olmalı\n" - -#. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n -#: e2fsck/problem.c:856 -msgid "@a in @i %i has a value size (%N) which is @n\n" -msgstr "%i. düğümdeki ek özellik geçersiz bir deÄŸer içeriyor (%N)\n" +msgstr "" +"%i. düğümdeki ek özellik geçersiz bir deÄŸer bloÄŸu içeriyor (%N), 0 olmalı\n" #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n -#: e2fsck/problem.c:861 +#: e2fsck/problem.c:813 #, fuzzy msgid "@a in @i %i has a hash (%N) which is @n\n" msgstr "%i. düğümdeki ek özellik geçersiz bir isim alanı içeriyor (%N)\n" #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n -#: e2fsck/problem.c:866 +#: e2fsck/problem.c:818 msgid "@i %i is a %It but it looks like it is really a directory.\n" -msgstr "@i %i bir %It ancak gerçekten bir dizin gibi görünüyor.\n" +msgstr "" #. @-expanded: Error while reading over extent tree in inode %i: %m\n -#: e2fsck/problem.c:871 +#: e2fsck/problem.c:823 #, fuzzy, c-format msgid "Error while reading over @x tree in @i %i: %m\n" -msgstr "Düğüm %i içindeki bloklar üzerinde iÅŸlemler tekrarlanırken hata oluÅŸtu: %m\n" +msgstr "" +"Düğüm %i içindeki bloklar üzerinde iÅŸlemler tekrarlanırken hata oluÅŸtu: %m\n" #. @-expanded: Failed to iterate extents in inode %i\n #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n -#: e2fsck/problem.c:876 +#: e2fsck/problem.c:828 msgid "" "Failed to iterate extents in @i %i\n" "\t(op %s, blk %b, lblk %c): %m\n" @@ -1704,7 +1644,7 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n -#: e2fsck/problem.c:882 +#: e2fsck/problem.c:834 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, @n physical @b %b, len %N)\n" @@ -1712,134 +1652,83 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n -#: e2fsck/problem.c:887 +#: e2fsck/problem.c:839 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, physical @b %b, @n len %N)\n" msgstr "" #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n -#: e2fsck/problem.c:892 +#: e2fsck/problem.c:844 #, fuzzy, c-format msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n" -msgstr "Düğüm %i htree desteÄŸi bulunmayan dosya sisteminde INDEX_FL bayrağı içeriyor.\n" +msgstr "" +"Düğüm %i htree desteÄŸi bulunmayan dosya sisteminde INDEX_FL bayrağı " +"içeriyor.\n" #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n -#: e2fsck/problem.c:897 +#: e2fsck/problem.c:849 #, c-format msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n" msgstr "" #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n -#: e2fsck/problem.c:902 +#: e2fsck/problem.c:854 #, c-format msgid "@i %i missing EXTENT_FL, but is in extents format\n" msgstr "" -#: e2fsck/problem.c:907 +#: e2fsck/problem.c:859 #, c-format msgid "Fast symlink %i has EXTENT_FL set. " msgstr "" #. @-expanded: inode %i has out of order extents\n #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:912 +#: e2fsck/problem.c:864 msgid "" "@i %i has out of order extents\n" "\t(@n logical @b %c, physical @b %b, len %N)\n" msgstr "" #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n -#: e2fsck/problem.c:916 +#: e2fsck/problem.c:868 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n" msgstr "" -#. @-expanded: Error converting subcluster block bitmap: %m\n -#: e2fsck/problem.c:921 -#, fuzzy, c-format -msgid "Error converting subcluster @b @B: %m\n" -msgstr "Dizin blokları yinelenirken hata: %m\n" - -#. @-expanded: quota inode is not regular file. -#: e2fsck/problem.c:926 -#, fuzzy -msgid "@q @i is not regular file. " -msgstr "Günlük dosyası normal bir dosya deÄŸil. " - -#. @-expanded: quota inode is not in use, but contains data. -#: e2fsck/problem.c:931 -#, fuzzy -msgid "@q @i is not in use, but contains data. " -msgstr "Günlük düğümü kullanımda deÄŸil ama veri içeriyor. " - -#. @-expanded: quota inode is visible to the user. -#: e2fsck/problem.c:936 -#, fuzzy -msgid "@q @i is visible to the user. " -msgstr "Düğüm %i kullanımda, ama dtime belirtilmiÅŸ. " - -#. @-expanded: The bad block inode looks invalid. -#: e2fsck/problem.c:941 -#, fuzzy -msgid "The bad @b @i looks @n. " -msgstr "" - -#. @-expanded: inode %i has zero length extent\n -#. @-expanded: \t(invalid logical block %c, physical block %b)\n -#: e2fsck/problem.c:946 -msgid "" -"@i %i has zero length extent\n" -"\t(@n logical @b %c, physical @b %b)\n" -msgstr "" - -#. @-expanded: Interior extent node level %N of inode %i:\n -#. @-expanded: Logical start %b does not match logical start %c at next level. -#: e2fsck/problem.c:953 -msgid "" -"Interior @x node level %N of @i %i:\n" -"Logical start %b does not match logical start %c at next level. " -msgstr "" - -#. @-expanded: inode %i, end of extent exceeds allowed value\n -#. @-expanded: \t(logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:959 -msgid "" -"@i %i, end of extent exceeds allowed value\n" -"\t(logical @b %c, physical @b %b, len %N)\n" -msgstr "" - #. @-expanded: \n #. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n #. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n -#: e2fsck/problem.c:967 +#: e2fsck/problem.c:875 msgid "" "\n" "Running additional passes to resolve @bs claimed by more than one @i...\n" "Pass 1B: Rescanning for @m @bs\n" msgstr "" "\n" -"Birden fazla düğüm gerektiren blokları çözümlemek için ek geçiÅŸler yapılıyor...\n" +"Birden fazla düğüm gerektiren blokları çözümlemek için ek geçiÅŸler " +"yapılıyor...\n" "GeçiÅŸ 1B: Çok düğümlü bloklar yeniden taranıyor\n" #. @-expanded: multiply-claimed block(s) in inode %i: -#: e2fsck/problem.c:973 +#: e2fsck/problem.c:881 #, c-format msgid "@m @b(s) in @i %i:" msgstr "Düğüm %i içinde çok düğümlü bloklar var:" -#: e2fsck/problem.c:988 +#: e2fsck/problem.c:896 #, c-format msgid "Error while scanning inodes (%i): %m\n" msgstr "Düğümler (%i) taranırken hata oluÅŸtu: %m\n" #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n -#: e2fsck/problem.c:993 +#: e2fsck/problem.c:901 #, c-format msgid "@A @i @B (@i_dup_map): %m\n" msgstr "Düğüm biteÅŸlemi (inode_dup_map) için yer ayrılırken hata oluÅŸtu: %m\n" #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n -#: e2fsck/problem.c:998 +#: e2fsck/problem.c:906 #, c-format msgid "Error while iterating over @bs in @i %i (%s): %m\n" msgstr "" @@ -1847,44 +1736,45 @@ msgstr "" "hata oluÅŸtu (%s): %m\n" #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n -#: e2fsck/problem.c:1003 e2fsck/problem.c:1318 +#: e2fsck/problem.c:911 e2fsck/problem.c:1227 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n" -msgstr "Ek özellikler bloÄŸu %b (düğüm %i) için refcount ayarlanırken hata oluÅŸtu: %m\n" +msgstr "" +"Ek özellikler bloÄŸu %b (düğüm %i) için refcount ayarlanırken hata oluÅŸtu: %" +"m\n" #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n -#: e2fsck/problem.c:1008 +#: e2fsck/problem.c:917 msgid "Pass 1C: Scanning directories for @is with @m @bs\n" msgstr "GeçiÅŸ 1C: Tekrarlanan blokların düğümleri için dizinler taranıyor.\n" #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n -#: e2fsck/problem.c:1014 +#: e2fsck/problem.c:923 msgid "Pass 1D: Reconciling @m @bs\n" msgstr "GeçiÅŸ 1D: Çok düğümlü bloklar yeniden hallediliyor\n" #. @-expanded: File %Q (inode #%i, mod time %IM) \n -#. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n -#: e2fsck/problem.c:1019 -#, fuzzy +#. @-expanded: has %B multiply-claimed block(s), shared with %N file(s):\n +#: e2fsck/problem.c:928 msgid "" "File %Q (@i #%i, mod time %IM) \n" -" has %r @m @b(s), shared with %N file(s):\n" +" has %B @m @b(s), shared with %N file(s):\n" msgstr "" "Dosya %Q (düğüm %i, deÄŸiÅŸiklik zamanı %IM) \n" " %N dosya ile paylaşımlı, çok düğümlü %B blok içeriyor:\n" #. @-expanded: \t%Q (inode #%i, mod time %IM)\n -#: e2fsck/problem.c:1025 +#: e2fsck/problem.c:934 msgid "\t%Q (@i #%i, mod time %IM)\n" msgstr "\t%Q (düğüm %i, deÄŸiÅŸiklik zamanı %IM)\n" #. @-expanded: \t\n -#: e2fsck/problem.c:1030 +#: e2fsck/problem.c:939 msgid "\t<@f metadata>\n" msgstr "\t\n" #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n #. @-expanded: \n -#: e2fsck/problem.c:1035 +#: e2fsck/problem.c:944 msgid "" "(There are %N @is containing @m @bs.)\n" "\n" @@ -1894,7 +1784,7 @@ msgstr "" #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n #. @-expanded: \n -#: e2fsck/problem.c:1040 +#: e2fsck/problem.c:949 msgid "" "@m @bs already reassigned or cloned.\n" "\n" @@ -1902,326 +1792,327 @@ msgstr "" "Çok düğümlü bloklar zaten yeniden atanmış ya da kopyalanmıştı.\n" "\n" -#: e2fsck/problem.c:1053 +#: e2fsck/problem.c:962 #, c-format msgid "Couldn't clone file: %m\n" msgstr "Dosya kopyalanamadı: %m\n" #. @-expanded: Pass 2: Checking directory structure\n -#: e2fsck/problem.c:1059 +#: e2fsck/problem.c:968 msgid "Pass 2: Checking @d structure\n" msgstr "GeçiÅŸ 2: Dizin yapısı denetleniyor\n" #. @-expanded: invalid inode number for '.' in directory inode %i.\n -#: e2fsck/problem.c:1064 +#: e2fsck/problem.c:973 #, c-format msgid "@n @i number for '.' in @d @i %i.\n" msgstr "Dizin düğümü %i içindeki '.' için düğüm numarası geçersiz.\n" #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n -#: e2fsck/problem.c:1069 +#: e2fsck/problem.c:978 msgid "@E has @n @i #: %Di.\n" msgstr "@E hatalı düğüm numarası içeriyor: %Di.\n" #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di. -#: e2fsck/problem.c:1074 +#: e2fsck/problem.c:983 msgid "@E has @D/unused @i %Di. " msgstr "@E silinmiÅŸ/kullanılmayan düğüm %Di içeriyor. " #. @-expanded: entry '%Dn' in %p (%i) is a link to '.' -#: e2fsck/problem.c:1079 +#: e2fsck/problem.c:988 msgid "@E @L to '.' " msgstr "@E '.' ya bir baÄŸdır. " #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n -#: e2fsck/problem.c:1084 +#: e2fsck/problem.c:993 msgid "@E points to @i (%Di) located in a bad @b.\n" msgstr "@E bir hatalı blok içindeki düğümü (%Di) gösteriyor.\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n -#: e2fsck/problem.c:1089 +#: e2fsck/problem.c:998 msgid "@E @L to @d %P (%Di).\n" msgstr "@E dizin %P (%Di) için bir baÄŸdır.\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n -#: e2fsck/problem.c:1094 +#: e2fsck/problem.c:1003 msgid "@E @L to the @r.\n" msgstr "@E kök düğümüne bir baÄŸdır.\n" #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n -#: e2fsck/problem.c:1099 +#: e2fsck/problem.c:1008 msgid "@E has illegal characters in its name.\n" msgstr "@E isminde kuraldışı karakterler içeriyor.\n" #. @-expanded: Missing '.' in directory inode %i.\n -#: e2fsck/problem.c:1104 +#: e2fsck/problem.c:1013 #, c-format msgid "Missing '.' in @d @i %i.\n" msgstr "Dizin düğümü %i içinde '.' eksik.\n" #. @-expanded: Missing '..' in directory inode %i.\n -#: e2fsck/problem.c:1109 +#: e2fsck/problem.c:1018 #, c-format msgid "Missing '..' in @d @i %i.\n" msgstr "Dizin düğümü %i içinde '..' eksik.\n" #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n -#: e2fsck/problem.c:1114 +#: e2fsck/problem.c:1023 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n" -msgstr "Dizin düğümü %i (%p) içindeki ilk girdi '%Dn' (düğüm=%Di) '.' olmalıydı.\n" +msgstr "" +"Dizin düğümü %i (%p) içindeki ilk girdi '%Dn' (düğüm=%Di) '.' olmalıydı.\n" #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n -#: e2fsck/problem.c:1119 +#: e2fsck/problem.c:1028 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n" -msgstr "Dizin düğümü %i içindeki ikinci girdi '%Dn' (düğüm=%Di) '..' olmalıydı.\n" +msgstr "" +"Dizin düğümü %i içindeki ikinci girdi '%Dn' (düğüm=%Di) '..' olmalıydı.\n" #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n -#: e2fsck/problem.c:1124 +#: e2fsck/problem.c:1033 msgid "i_faddr @F %IF, @s zero.\n" msgstr "düğüm %i (%Q) %IF için i_faddr, sıfır olmalı.\n" #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n -#: e2fsck/problem.c:1129 +#: e2fsck/problem.c:1038 msgid "i_file_acl @F %If, @s zero.\n" msgstr "düğüm %i (%Q) %If için i_file_acl, sıfır olmalı.\n" #. @-expanded: i_dir_acl for inode %i (%Q) is %Id, should be zero.\n -#: e2fsck/problem.c:1134 +#: e2fsck/problem.c:1043 msgid "i_dir_acl @F %Id, @s zero.\n" msgstr "düğüm %i (%Q) %Id için i_dir_acl, sıfır olmalı.\n" #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1139 +#: e2fsck/problem.c:1048 msgid "i_frag @F %N, @s zero.\n" msgstr "düğüm %i (%Q) %N için i_frag, sıfır olmalı.\n" #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1144 +#: e2fsck/problem.c:1053 msgid "i_fsize @F %N, @s zero.\n" msgstr "düğüm %i (%Q) %N için i_fsize, sıfır olmalı.\n" #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n -#: e2fsck/problem.c:1149 +#: e2fsck/problem.c:1058 msgid "@i %i (%Q) has @n mode (%Im).\n" msgstr "Düğüm %i (%Q) bir hatalı kip (%Im) içeriyor.\n" -#. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n -#: e2fsck/problem.c:1154 -#, fuzzy -msgid "@d @i %i, %B, offset %N: @d corrupted\n" +#. @-expanded: directory inode %i, block %B, offset %N: directory corrupted\n +#: e2fsck/problem.c:1063 +msgid "@d @i %i, @b %B, offset %N: @d corrupted\n" msgstr "Dizin düğümü %i, blok %B, konum %N: dizin bozuk\n" -#. @-expanded: directory inode %i, %B, offset %N: filename too long\n -#: e2fsck/problem.c:1159 -#, fuzzy -msgid "@d @i %i, %B, offset %N: filename too long\n" +#. @-expanded: directory inode %i, block %B, offset %N: filename too long\n +#: e2fsck/problem.c:1068 +msgid "@d @i %i, @b %B, offset %N: filename too long\n" msgstr "Dizin düğümü %i, blok %B, konum %N: dosya ismi çok uzun\n" -#. @-expanded: directory inode %i has an unallocated %B. -#: e2fsck/problem.c:1164 -#, fuzzy -msgid "@d @i %i has an unallocated %B. " +#. @-expanded: directory inode %i has an unallocated block #%B. +#: e2fsck/problem.c:1073 +msgid "@d @i %i has an unallocated @b #%B. " msgstr "Dizin düğümü %i bir ayrılmayan blok #%B içeriyor. " #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1169 +#: e2fsck/problem.c:1078 #, c-format msgid "'.' @d @e in @d @i %i is not NULL terminated\n" msgstr "Dizin düğümü %i deki '.' dizin girdisi NULL sonlandırmalı deÄŸil\n" #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1174 +#: e2fsck/problem.c:1083 #, c-format msgid "'..' @d @e in @d @i %i is not NULL terminated\n" msgstr "Dizin düğümü %i deki '..' dizin girdisi NULL sonlandırmalı deÄŸil\n" #. @-expanded: inode %i (%Q) is an illegal character device.\n -#: e2fsck/problem.c:1179 +#: e2fsck/problem.c:1088 msgid "@i %i (%Q) is an @I character @v.\n" msgstr "Düğüm %i (%Q) bir kuraldışı karakter aygıtı.\n" #. @-expanded: inode %i (%Q) is an illegal block device.\n -#: e2fsck/problem.c:1184 +#: e2fsck/problem.c:1093 msgid "@i %i (%Q) is an @I @b @v.\n" msgstr "Düğüm %i (%Q) bir kuraldışı blok aygıtı.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n -#: e2fsck/problem.c:1189 +#: e2fsck/problem.c:1098 msgid "@E is duplicate '.' @e.\n" msgstr "@E tekrarlayan '.' girdisi içeriyor.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n -#: e2fsck/problem.c:1194 +#: e2fsck/problem.c:1103 msgid "@E is duplicate '..' @e.\n" msgstr "@E tekrarlayan '..' girdisi içeriyor.\n" -#: e2fsck/problem.c:1199 e2fsck/problem.c:1499 +#: e2fsck/problem.c:1108 e2fsck/problem.c:1403 #, c-format msgid "Internal error: couldn't find dir_info for %i.\n" msgstr "İç hata: %i için dizin bilgileri bulunamıyor.\n" #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n -#: e2fsck/problem.c:1204 +#: e2fsck/problem.c:1113 msgid "@E has rec_len of %Dr, @s %N.\n" msgstr "@E %Dr kayıt uzunluÄŸunda, %N olmalıydı.\n" #. @-expanded: error allocating icount structure: %m\n -#: e2fsck/problem.c:1209 +#: e2fsck/problem.c:1118 #, c-format msgid "@A icount structure: %m\n" msgstr "icount veri yapısı için yer ayrılırken hata oluÅŸtu: %m\n" #. @-expanded: Error iterating over directory blocks: %m\n -#: e2fsck/problem.c:1214 +#: e2fsck/problem.c:1123 #, c-format msgid "Error iterating over @d @bs: %m\n" msgstr "Dizin blokları yinelenirken hata: %m\n" #. @-expanded: Error reading directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1219 +#: e2fsck/problem.c:1128 msgid "Error reading @d @b %b (@i %i): %m\n" msgstr "Dizin bloÄŸu %b (düğüm %i) okunurken hata oluÅŸtu: %m\n" #. @-expanded: Error writing directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1224 +#: e2fsck/problem.c:1133 msgid "Error writing @d @b %b (@i %i): %m\n" msgstr "Dizin bloÄŸu %b (düğüm %i) yazılırken hata oluÅŸtu: %m\n" #. @-expanded: error allocating new directory block for inode %i (%s): %m\n -#: e2fsck/problem.c:1229 +#: e2fsck/problem.c:1138 #, c-format msgid "@A new @d @b for @i %i (%s): %m\n" msgstr "Düğüm %i için yeni dizin bloku ayrılırken hata oluÅŸtu (%s): %m\n" #. @-expanded: Error deallocating inode %i: %m\n -#: e2fsck/problem.c:1234 +#: e2fsck/problem.c:1143 #, c-format msgid "Error deallocating @i %i: %m\n" msgstr "Düğüm %i bırakılırken hata: %m\n" #. @-expanded: directory entry for '.' in %p (%i) is big.\n -#: e2fsck/problem.c:1239 +#: e2fsck/problem.c:1148 #, fuzzy, c-format msgid "@d @e for '.' in %p (%i) is big.\n" msgstr "'.' için dizin girdisi büyük. " #. @-expanded: inode %i (%Q) is an illegal FIFO.\n -#: e2fsck/problem.c:1244 +#: e2fsck/problem.c:1153 msgid "@i %i (%Q) is an @I FIFO.\n" msgstr "Düğüm %i (%Q) bir kuraldışı FIFO.\n" #. @-expanded: inode %i (%Q) is an illegal socket.\n -#: e2fsck/problem.c:1249 +#: e2fsck/problem.c:1158 msgid "@i %i (%Q) is an @I socket.\n" msgstr "Düğüm %i (%Q) bir kuraldışı soket.\n" #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n -#: e2fsck/problem.c:1254 +#: e2fsck/problem.c:1163 msgid "Setting filetype for @E to %N.\n" msgstr "@E için dosya türü %N olarak belirleniyor.\n" #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n -#: e2fsck/problem.c:1259 +#: e2fsck/problem.c:1168 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n" msgstr "@E yanlış dosya türünde (%Dt idi, %N olmalıydı).\n" #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n -#: e2fsck/problem.c:1264 +#: e2fsck/problem.c:1173 msgid "@E has filetype set.\n" msgstr "@E için dosya türü belirtilmiÅŸ.\n" #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n -#: e2fsck/problem.c:1269 +#: e2fsck/problem.c:1178 msgid "@E has a @z name.\n" msgstr "@Enin ismi sıfır uzunlukta.\n" #. @-expanded: Symlink %Q (inode #%i) is invalid.\n -#: e2fsck/problem.c:1274 +#: e2fsck/problem.c:1183 msgid "Symlink %Q (@i #%i) is @n.\n" msgstr "%Q sembolik bağı (düğüm %i) geçersiz.\n" #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n -#: e2fsck/problem.c:1279 +#: e2fsck/problem.c:1188 msgid "@a @b @F @n (%If).\n" msgstr "@F ek özellik bloÄŸu geçersiz (%If).\n" #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n -#: e2fsck/problem.c:1284 +#: e2fsck/problem.c:1193 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n" -msgstr "Dosya sistemi çok büyük dosyalar içeriyor, ama süperblokta LARGE_FILE bayrağı yok\n" +msgstr "" +"Dosya sistemi çok büyük dosyalar içeriyor, ama süperblokta LARGE_FILE " +"bayrağı yok\n" -#. @-expanded: problem in HTREE directory inode %d: %B not referenced\n -#: e2fsck/problem.c:1289 -#, fuzzy -msgid "@p @h %d: %B not referenced\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) not referenced\n +#: e2fsck/problem.c:1198 +msgid "@p @h %d: node (%B) not referenced\n" msgstr "HTREE dizin düğümü %d içinde sorun: düğüm (%B) referanssız\n" -#. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n -#: e2fsck/problem.c:1294 -#, fuzzy -msgid "@p @h %d: %B referenced twice\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) referenced twice\n +#: e2fsck/problem.c:1203 +msgid "@p @h %d: node (%B) referenced twice\n" msgstr "HTREE dizin düğümü %d içinde sorun: düğüm (%B) iki kere referanslı\n" -#. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n -#: e2fsck/problem.c:1299 -#, fuzzy -msgid "@p @h %d: %B has bad min hash\n" -msgstr "HTREE dizin düğümü %d içinde sorun: düğüm (%B) hatali asgari hash içeriyor\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has bad min hash\n +#: e2fsck/problem.c:1208 +msgid "@p @h %d: node (%B) has bad min hash\n" +msgstr "" +"HTREE dizin düğümü %d içinde sorun: düğüm (%B) hatali asgari hash içeriyor\n" -#. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n -#: e2fsck/problem.c:1304 -#, fuzzy -msgid "@p @h %d: %B has bad max hash\n" -msgstr "HTREE dizin düğümü %d içinde sorun: düğüm (%B) hatali azami hash içeriyor\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has bad max hash\n +#: e2fsck/problem.c:1213 +msgid "@p @h %d: node (%B) has bad max hash\n" +msgstr "" +"HTREE dizin düğümü %d içinde sorun: düğüm (%B) hatali azami hash içeriyor\n" #. @-expanded: invalid HTREE directory inode %d (%q). -#: e2fsck/problem.c:1309 +#: e2fsck/problem.c:1218 msgid "@n @h %d (%q). " msgstr "HTREE dizin düğümü %d (%q) geçersiz. " #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n -#: e2fsck/problem.c:1313 +#: e2fsck/problem.c:1222 msgid "@p @h %d (%q): bad @b number %b.\n" msgstr "HTREE dizin düğümü %d içinde sorun: blok numarası %b hatalı.\n" #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n -#: e2fsck/problem.c:1323 +#: e2fsck/problem.c:1232 #, c-format msgid "@p @h %d: root node is @n\n" msgstr "HTREE dizin düğümü %d içinde sorun: kök düğümü geçersiz\n" -#. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n -#: e2fsck/problem.c:1328 -#, fuzzy -msgid "@p @h %d: %B has @n limit (%N)\n" -msgstr "HTREE dizin düğümü %d içinde sorun: düğüm (%B) hatalı sınır (%N) içeriyor\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has invalid limit (%N)\n +#: e2fsck/problem.c:1237 +msgid "@p @h %d: node (%B) has @n limit (%N)\n" +msgstr "" +"HTREE dizin düğümü %d içinde sorun: düğüm (%B) hatalı sınır (%N) içeriyor\n" -#. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n -#: e2fsck/problem.c:1333 -#, fuzzy -msgid "@p @h %d: %B has @n count (%N)\n" -msgstr "HTREE dizin düğümü %d içinde sorun: düğüm (%B) hatalı sayım (%N) içeriyor.\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has invalid count (%N)\n +#: e2fsck/problem.c:1242 +msgid "@p @h %d: node (%B) has @n count (%N)\n" +msgstr "" +"HTREE dizin düğümü %d içinde sorun: düğüm (%B) hatalı sayım (%N) içeriyor.\n" -#. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n -#: e2fsck/problem.c:1338 -#, fuzzy -msgid "@p @h %d: %B has an unordered hash table\n" -msgstr "HTREE dizin düğümü %d içinde sorun: düğüm (%B) sırasız bit hash tablosu içeriyor\n" +#. @-expanded: problem in HTREE directory inode %d: node (%B) has an unordered hash table\n +#: e2fsck/problem.c:1247 +msgid "@p @h %d: node (%B) has an unordered hash table\n" +msgstr "" +"HTREE dizin düğümü %d içinde sorun: düğüm (%B) sırasız bit hash tablosu " +"içeriyor\n" -#. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n -#: e2fsck/problem.c:1343 +#. @-expanded: problem in HTREE directory inode %d: node (%B) has invalid depth (%N)\n +#: e2fsck/problem.c:1252 #, fuzzy -msgid "@p @h %d: %B has @n depth (%N)\n" -msgstr "HTREE dizin düğümü %d içinde sorun: düğüm (%B) geçersiz derinlik içeriyor\n" +msgid "@p @h %d: node (%B) has @n depth (%N)\n" +msgstr "" +"HTREE dizin düğümü %d içinde sorun: düğüm (%B) geçersiz derinlik içeriyor\n" #. @-expanded: Duplicate entry '%Dn' in %p (%i) found. -#: e2fsck/problem.c:1348 +#: e2fsck/problem.c:1257 msgid "Duplicate @E found. " msgstr "YinelenmiÅŸ @E bulundu. " #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n #. @-expanded: Rename to %s -#: e2fsck/problem.c:1353 +#: e2fsck/problem.c:1262 #, no-c-format msgid "" "@E has a non-unique filename.\n" @@ -2233,7 +2124,7 @@ msgstr "" #. @-expanded: Duplicate entry '%Dn' found.\n #. @-expanded: \tMarking %p (%i) to be rebuilt.\n #. @-expanded: \n -#: e2fsck/problem.c:1358 +#: e2fsck/problem.c:1267 msgid "" "Duplicate @e '%Dn' found.\n" "\tMarking %p (%i) to be rebuilt.\n" @@ -2244,86 +2135,82 @@ msgstr "" "\n" #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1363 +#: e2fsck/problem.c:1272 +#, fuzzy msgid "i_blocks_hi @F %N, @s zero.\n" -msgstr "i_blocks_hi @F %N, @s sıfır.\n" +msgstr "düğüm %i (%Q) %N için i_fsize, sıfır olmalı.\n" #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n -#: e2fsck/problem.c:1368 +#: e2fsck/problem.c:1277 +#, fuzzy msgid "Unexpected @b in @h %d (%q).\n" -msgstr "Beklenmeyen @b, @h içinde %d (%q).\n" +msgstr "Dizin düğümü %i (%p) baÄŸlantısız\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n -#: e2fsck/problem.c:1372 +#: e2fsck/problem.c:1281 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n -#: e2fsck/problem.c:1377 +#: e2fsck/problem.c:1286 msgid "@E references @i %Di found in @g %g's unused inodes area.\n" msgstr "" -#. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1382 -#, fuzzy -msgid "i_file_acl_hi @F %N, @s zero.\n" -msgstr "düğüm %i (%Q) %If için i_file_acl, sıfır olmalı.\n" - #. @-expanded: Pass 3: Checking directory connectivity\n -#: e2fsck/problem.c:1389 +#: e2fsck/problem.c:1293 msgid "Pass 3: Checking @d connectivity\n" msgstr "GeçiÅŸ 3: Dizin baÄŸlanabilirliÄŸi denetleniyor\n" #. @-expanded: root inode not allocated. -#: e2fsck/problem.c:1394 +#: e2fsck/problem.c:1298 msgid "@r not allocated. " msgstr "Kök düğümü tahsisli deÄŸil. " #. @-expanded: No room in lost+found directory. -#: e2fsck/problem.c:1399 +#: e2fsck/problem.c:1303 msgid "No room in @l @d. " msgstr "lost+found dizininde yer yok. " #. @-expanded: Unconnected directory inode %i (%p)\n -#: e2fsck/problem.c:1404 +#: e2fsck/problem.c:1308 #, c-format msgid "Unconnected @d @i %i (%p)\n" msgstr "Dizin düğümü %i (%p) baÄŸlantısız\n" #. @-expanded: /lost+found not found. -#: e2fsck/problem.c:1409 +#: e2fsck/problem.c:1313 msgid "/@l not found. " msgstr "/lost+found dizini yok. " #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n -#: e2fsck/problem.c:1414 +#: e2fsck/problem.c:1318 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n" msgstr "%Q (%i) daki '..' %P (%j), süperblok %q (%d).\n" #. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n -#: e2fsck/problem.c:1419 +#: e2fsck/problem.c:1323 msgid "Bad or non-existent /@l. Cannot reconnect.\n" msgstr "/lost+found dizini ya yok ya da hatalı. tekrar baÄŸlanılamıyor.\n" #. @-expanded: Could not expand /lost+found: %m\n -#: e2fsck/problem.c:1424 +#: e2fsck/problem.c:1328 #, c-format msgid "Could not expand /@l: %m\n" msgstr "/lost+found dizini geniÅŸletilemiyor: %m\n" -#: e2fsck/problem.c:1429 +#: e2fsck/problem.c:1333 #, c-format msgid "Could not reconnect %i: %m\n" msgstr "%i ye tekrar baÄŸlanılamıyor: %m\n" #. @-expanded: Error while trying to find /lost+found: %m\n -#: e2fsck/problem.c:1434 +#: e2fsck/problem.c:1338 #, c-format msgid "Error while trying to find /@l: %m\n" msgstr "/lost+found dizini bulunmaya çalışılırkan hata oluÅŸtu: %m\n" #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1439 +#: e2fsck/problem.c:1343 #, c-format msgid "ext2fs_new_@b: %m while trying to create /@l @d\n" msgstr "" @@ -2331,7 +2218,7 @@ msgstr "" "/lost+found dizini oluÅŸturulmaya çalışılırkan hata oluÅŸtu.\n" #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1444 +#: e2fsck/problem.c:1348 #, c-format msgid "ext2fs_new_@i: %m while trying to create /@l @d\n" msgstr "" @@ -2339,7 +2226,7 @@ msgstr "" "/lost+found dizini oluÅŸturulmaya çalışılırkan hata oluÅŸtu.\n" #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n -#: e2fsck/problem.c:1449 +#: e2fsck/problem.c:1353 #, c-format msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n" msgstr "" @@ -2347,7 +2234,7 @@ msgstr "" "yeni dizin bloÄŸu oluÅŸturulurken hata.\n" #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n -#: e2fsck/problem.c:1454 +#: e2fsck/problem.c:1358 #, c-format msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n" msgstr "" @@ -2355,14 +2242,14 @@ msgstr "" "/lost+found için dizin bloÄŸu yazılırken hata oluÅŸtu.\n" #. @-expanded: Error while adjusting inode count on inode %i\n -#: e2fsck/problem.c:1459 +#: e2fsck/problem.c:1363 #, c-format msgid "Error while adjusting @i count on @i %i\n" msgstr "Düğüm %i üzerinde düğüm sayısı ayarlanırken hata oluÅŸtu\n" #. @-expanded: Couldn't fix parent of inode %i: %m\n #. @-expanded: \n -#: e2fsck/problem.c:1464 +#: e2fsck/problem.c:1368 #, c-format msgid "" "Couldn't fix parent of @i %i: %m\n" @@ -2373,7 +2260,7 @@ msgstr "" #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n #. @-expanded: \n -#: e2fsck/problem.c:1469 +#: e2fsck/problem.c:1373 #, c-format msgid "" "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n" @@ -2383,76 +2270,76 @@ msgstr "" "\n" #. @-expanded: Error creating root directory (%s): %m\n -#: e2fsck/problem.c:1479 +#: e2fsck/problem.c:1383 #, c-format msgid "Error creating root @d (%s): %m\n" msgstr "Kök dizini oluÅŸturulurken hata (%s): %m\n" #. @-expanded: Error creating /lost+found directory (%s): %m\n -#: e2fsck/problem.c:1484 +#: e2fsck/problem.c:1388 #, c-format msgid "Error creating /@l @d (%s): %m\n" msgstr "/lost+found dizini oluÅŸturulurken hata (%s): %m\n" #. @-expanded: root inode is not a directory; aborting.\n -#: e2fsck/problem.c:1489 +#: e2fsck/problem.c:1393 msgid "@r is not a @d; aborting.\n" msgstr "Kök düğümü bir dizin deÄŸil; çıkılıyor.\n" #. @-expanded: Cannot proceed without a root inode.\n -#: e2fsck/problem.c:1494 +#: e2fsck/problem.c:1398 msgid "Cannot proceed without a @r.\n" msgstr "Bir kök düğümü olmaksızın iÅŸlenemez.\n" #. @-expanded: /lost+found is not a directory (ino=%i)\n -#: e2fsck/problem.c:1504 +#: e2fsck/problem.c:1408 #, c-format msgid "/@l is not a @d (ino=%i)\n" msgstr "/lost+found bir dizin deÄŸil (düğüm = %i)\n" -#: e2fsck/problem.c:1511 +#: e2fsck/problem.c:1415 msgid "Pass 3A: Optimizing directories\n" msgstr "Pass 3A: Dizinler eniyileniyor\n" -#: e2fsck/problem.c:1516 +#: e2fsck/problem.c:1420 #, fuzzy, c-format msgid "Failed to create dirs_to_hash iterator: %m\n" msgstr "dirs_to_hash yineleyici oluÅŸturulamadı: %m" -#: e2fsck/problem.c:1521 +#: e2fsck/problem.c:1425 #, fuzzy msgid "Failed to optimize directory %q (%d): %m\n" msgstr "Dizin %q (%d) eniyilenemedi: %m" -#: e2fsck/problem.c:1526 +#: e2fsck/problem.c:1430 msgid "Optimizing directories: " msgstr "Eniyilenen dizinler: " -#: e2fsck/problem.c:1543 +#: e2fsck/problem.c:1447 msgid "Pass 4: Checking reference counts\n" msgstr "GeçiÅŸ 4: BaÅŸvuru sayısı denetleniyor\n" #. @-expanded: unattached zero-length inode %i. -#: e2fsck/problem.c:1548 +#: e2fsck/problem.c:1452 #, c-format msgid "@u @z @i %i. " msgstr "artık düğüm %i sıfır uzunlukta. " #. @-expanded: unattached inode %i\n -#: e2fsck/problem.c:1553 +#: e2fsck/problem.c:1457 #, c-format msgid "@u @i %i\n" msgstr "artık düğüm %i\n" #. @-expanded: inode %i ref count is %Il, should be %N. -#: e2fsck/problem.c:1558 +#: e2fsck/problem.c:1462 msgid "@i %i ref count is %Il, @s %N. " msgstr "Düğüm %i için baÅŸvuru sayısı %Il, %N olmalıydı. " #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n -#: e2fsck/problem.c:1562 +#: e2fsck/problem.c:1466 msgid "" "WARNING: PROGRAMMING BUG IN E2FSCK!\n" "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n" @@ -2465,147 +2352,145 @@ msgstr "" "Bunlar aynı olmalıydı!\n" #. @-expanded: Pass 5: Checking group summary information\n -#: e2fsck/problem.c:1572 +#: e2fsck/problem.c:1476 msgid "Pass 5: Checking @g summary information\n" msgstr "5. GeçiÅŸ: grup özet bilgileri denetleniyor\n" #. @-expanded: Padding at end of inode bitmap is not set. -#: e2fsck/problem.c:1577 +#: e2fsck/problem.c:1481 msgid "Padding at end of @i @B is not set. " msgstr "Düğüm biteÅŸleminin sonundaki alan belirlenmemiÅŸ. " #. @-expanded: Padding at end of block bitmap is not set. -#: e2fsck/problem.c:1582 +#: e2fsck/problem.c:1486 msgid "Padding at end of @b @B is not set. " msgstr "Blok biteÅŸleminin sonundaki alan belirlenmemiÅŸ. " #. @-expanded: block bitmap differences: -#: e2fsck/problem.c:1587 +#: e2fsck/problem.c:1491 msgid "@b @B differences: " msgstr "blok biteÅŸlemi farkları: " #. @-expanded: inode bitmap differences: -#: e2fsck/problem.c:1607 +#: e2fsck/problem.c:1511 msgid "@i @B differences: " msgstr "düğüm biteÅŸlemi farkları: " #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1627 +#: e2fsck/problem.c:1531 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n" msgstr "%g. grup için serbest düğüm sayısı yanlış (%i, sayılan = %j).\n" #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1632 +#: e2fsck/problem.c:1536 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n" msgstr "%g. grup için dizin sayısı yanlış (%i, sayılan = %j).\n" #. @-expanded: Free inodes count wrong (%i, counted=%j).\n -#: e2fsck/problem.c:1637 +#: e2fsck/problem.c:1541 msgid "Free @is count wrong (%i, counted=%j).\n" msgstr "Serbest düğüm sayısı yanlış (%i, sayılan = %j).\n" #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n -#: e2fsck/problem.c:1642 +#: e2fsck/problem.c:1546 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n" msgstr "%g. grup için serbest blok sayısı yanlış (%b, sayılan = %c).\n" #. @-expanded: Free blocks count wrong (%b, counted=%c).\n -#: e2fsck/problem.c:1647 +#: e2fsck/problem.c:1551 msgid "Free @bs count wrong (%b, counted=%c).\n" msgstr "Serbest blok sayısı yanlış (%b, sayılan = %c).\n" #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap #. @-expanded: endpoints (%i, %j)\n -#: e2fsck/problem.c:1652 -msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n" +#: e2fsck/problem.c:1556 +msgid "" +"PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B " +"endpoints (%i, %j)\n" msgstr "" "PROGRAMLAMA HATASI: dosya sistemi (#%N) biteÅŸlem sınırları (%b, %c)\n" "ile hesaplanan biteÅŸlem sınırları (%i, %j) uyuÅŸmuyor\n" -#: e2fsck/problem.c:1658 +#: e2fsck/problem.c:1562 msgid "Internal error: fudging end of bitmap (%N)\n" msgstr "İç hata: biteÅŸlemin sonunda bozulma (%N)\n" #. @-expanded: Error copying in replacement inode bitmap: %m\n -#: e2fsck/problem.c:1663 +#: e2fsck/problem.c:1567 #, c-format msgid "Error copying in replacement @i @B: %m\n" msgstr "Yedek düğüm biteÅŸleminde kopyalama hatası: %m\n" #. @-expanded: Error copying in replacement block bitmap: %m\n -#: e2fsck/problem.c:1668 +#: e2fsck/problem.c:1572 #, c-format msgid "Error copying in replacement @b @B: %m\n" msgstr "Yedek blok biteÅŸleminde kopyalama hatası: %m\n" +#. @-expanded: Recreate journal +#: e2fsck/problem.c:1597 +#, fuzzy +msgid "Recreate @j" +msgstr "Yeniden oluÅŸtur" + #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n -#: e2fsck/problem.c:1693 +#: e2fsck/problem.c:1602 #, c-format msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n" msgstr "" #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n -#: e2fsck/problem.c:1698 +#: e2fsck/problem.c:1607 #, c-format msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n" msgstr "" -#. @-expanded: Recreate journal -#: e2fsck/problem.c:1705 -#, fuzzy -msgid "Recreate @j" -msgstr "Yeniden oluÅŸtur" - -#: e2fsck/problem.c:1710 -msgid "Update quota info for quota type %N" -msgstr "" - -#: e2fsck/problem.c:1829 +#: e2fsck/problem.c:1725 #, c-format msgid "Unhandled error code (0x%x)!\n" msgstr "Elde edilemeyen hata kodu ((0x%x)!\n" -#: e2fsck/problem.c:1954 e2fsck/problem.c:1958 +#: e2fsck/problem.c:1820 msgid "IGNORED" msgstr "YOKSAYILDI" -#: e2fsck/scantest.c:79 +#: e2fsck/scantest.c:81 #, c-format msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n" msgstr "Kullanılan bellek: %d, geçen süre: %6.3f/%6.3f/%6.3f\n" -#: e2fsck/scantest.c:98 +#: e2fsck/scantest.c:100 #, c-format msgid "size of inode=%d\n" msgstr "düğüm uzunluÄŸu = %d\n" -#: e2fsck/scantest.c:119 +#: e2fsck/scantest.c:121 msgid "while starting inode scan" msgstr "- düğüm taraması baÅŸlatılırken hata oluÅŸtu" -#: e2fsck/scantest.c:130 +#: e2fsck/scantest.c:132 msgid "while doing inode scan" msgstr "- düğüm taraması yapılırken hata oluÅŸtu" -#: e2fsck/super.c:188 +#: e2fsck/super.c:187 #, c-format msgid "while calling ext2fs_block_iterate for inode %d" msgstr "Düğüm %d için ext2fs_block_iterate iÅŸlevi çaÄŸrılırken hata oluÅŸtu" -#: e2fsck/super.c:211 +#: e2fsck/super.c:209 #, fuzzy, c-format -msgid "while calling ext2fs_adjust_ea_refcount2 for inode %d" +msgid "while calling ext2fs_adjust_ea_refcount for inode %d" msgstr "Düğüm %d için ext2fs_block_iterate iÅŸlevi çaÄŸrılırken hata oluÅŸtu" -#: e2fsck/super.c:272 +#: e2fsck/super.c:267 msgid "Truncating" msgstr "Kırpılıyor" -#: e2fsck/super.c:273 +#: e2fsck/super.c:268 msgid "Clearing" msgstr "Temizleniyor" -#: e2fsck/unix.c:74 +#: e2fsck/unix.c:76 #, fuzzy, c-format msgid "" "Usage: %s [-panyrcdfvtDFV] [-b superblock] [-B blocksize]\n" @@ -2627,7 +2512,8 @@ msgstr "" " -D dizinler eniyilenir\n" " -F tampon bellek iÅŸlem öncesi boÅŸaltılır\n" " -r bu seçenek yoksayılır\n" -" -s dosya sistemi bayt sıralaması tersse kullanılır.\n" +" -s dosya sistemi bayt sıralaması tersse " +"kullanılır.\n" " Normal sırada ise etkisizdir.\n" " -S Mevcut bayt sıralamasına bakılmaksızın dosya\n" " sisteminin bayt sıralaması ters çevrilir\n" @@ -2638,7 +2524,7 @@ msgstr "" "Çeviri hatalarını adresine bildiriniz.\n" "\n" -#: e2fsck/unix.c:80 +#: e2fsck/unix.c:82 #, c-format msgid "" "\n" @@ -2646,7 +2532,8 @@ msgid "" " -p Automatic repair (no questions)\n" " -n Make no changes to the filesystem\n" " -y Assume \"yes\" to all questions\n" -" -c Check for bad blocks and add them to the badblock list\n" +" -c Check for bad blocks and add them to the badblock " +"list\n" " -f Force checking even if filesystem is marked clean\n" msgstr "" "\n" @@ -2661,7 +2548,7 @@ msgstr "" " listesine eklenir\n" " -f disk bölümü temiz bile olsa denetim yapılır\n" -#: e2fsck/unix.c:86 +#: e2fsck/unix.c:88 #, c-format msgid "" " -v Be verbose\n" @@ -2681,165 +2568,38 @@ msgstr "" " -L hatalı_bloklar_dosyası hatalı bloklar listesi belirtilen dosyadakiler\n" " ile oluÅŸturulur\n" -#: e2fsck/unix.c:131 +#: e2fsck/unix.c:132 #, fuzzy, c-format -msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n" +msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n" msgstr "%s: %d/%d dosya (%%%0d.%d yanyana olmayan düğüm), %u/%u blok\n" -#: e2fsck/unix.c:157 -#, fuzzy, c-format -msgid "" -"\n" -"%12u inode used (%2.2f%%, out of %u)\n" -msgid_plural "" -"\n" -"%12u inodes used (%2.2f%%, out of %u)\n" -msgstr[0] "" -"\n" -"%8d düğüm kullanıldı (%%%d)\n" -msgstr[1] "" -"\n" -"%8d düğüm kullanıldı (%%%d)\n" - -#: e2fsck/unix.c:161 +#: e2fsck/unix.c:150 #, fuzzy, c-format -msgid "%12u non-contiguous file (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous files (%0d.%d%%)\n" -msgstr[0] "%8d bitiÅŸik olmayan düğüm (%%%0d.%d)\n" -msgstr[1] "%8d bitiÅŸik olmayan düğüm (%%%0d.%d)\n" - -#: e2fsck/unix.c:166 -#, fuzzy, c-format -msgid "%12u non-contiguous directory (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n" -msgstr[0] "%8d bitiÅŸik olmayan düğüm (%%%0d.%d)\n" -msgstr[1] "%8d bitiÅŸik olmayan düğüm (%%%0d.%d)\n" - -#: e2fsck/unix.c:171 -#, fuzzy, c-format -msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" +msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" msgstr " ind/dind/tind bloklarının düğüm sayıları: %d/%d/%d\n" -#: e2fsck/unix.c:179 -msgid " Extent depth histogram: " +#: e2fsck/unix.c:157 +#, c-format +msgid " Extent depth histogram: " msgstr "" -#: e2fsck/unix.c:188 -#, fuzzy, c-format -msgid "%12llu block used (%2.2f%%, out of %llu)\n" -msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n" -msgstr[0] "%8d blok kullanıldı (%%%d)\n" -msgstr[1] "%8d blok kullanıldı (%%%d)\n" - -#: e2fsck/unix.c:192 -#, fuzzy, c-format -msgid "%12u bad block\n" -msgid_plural "%12u bad blocks\n" -msgstr[0] "%8d hatalı blok\n" -msgstr[1] "%8d hatalı blok\n" - -#: e2fsck/unix.c:194 -#, fuzzy, c-format -msgid "%12u large file\n" -msgid_plural "%12u large files\n" -msgstr[0] "%8d büyük dosya\n" -msgstr[1] "%8d büyük dosya\n" - -#: e2fsck/unix.c:196 -#, fuzzy, c-format -msgid "" -"\n" -"%12u regular file\n" -msgid_plural "" -"\n" -"%12u regular files\n" -msgstr[0] "" -"\n" -"%8d normal dosya\n" -msgstr[1] "" -"\n" -"%8d normal dosya\n" - -#: e2fsck/unix.c:198 -#, fuzzy, c-format -msgid "%12u directory\n" -msgid_plural "%12u directories\n" -msgstr[0] "%8d dizin\n" -msgstr[1] "%8d dizin\n" - -#: e2fsck/unix.c:200 -#, fuzzy, c-format -msgid "%12u character device file\n" -msgid_plural "%12u character device files\n" -msgstr[0] "%8d karakter aygıtı dosyası\n" -msgstr[1] "%8d karakter aygıtı dosyası\n" - -#: e2fsck/unix.c:203 -#, fuzzy, c-format -msgid "%12u block device file\n" -msgid_plural "%12u block device files\n" -msgstr[0] "%8d blok aygıtı dosyası\n" -msgstr[1] "%8d blok aygıtı dosyası\n" - -#: e2fsck/unix.c:205 -#, fuzzy, c-format -msgid "%12u fifo\n" -msgid_plural "%12u fifos\n" -msgstr[0] "%8d fifo\n" -msgstr[1] "%8d fifo\n" - -#: e2fsck/unix.c:207 -#, fuzzy, c-format -msgid "%12u link\n" -msgid_plural "%12u links\n" -msgstr[0] "%8d baÄŸ\n" -msgstr[1] "%8d baÄŸ\n" - -#: e2fsck/unix.c:209 -#, fuzzy, c-format -msgid "%12u symbolic link" -msgid_plural "%12u symbolic links" -msgstr[0] "%8d sembolik baÄŸ" -msgstr[1] "%8d sembolik baÄŸ" - -#: e2fsck/unix.c:211 -#, fuzzy, c-format -msgid " (%u fast symbolic link)\n" -msgid_plural " (%u fast symbolic links)\n" -msgstr[0] " (%d hızlı sembolik baÄŸ)\n" -msgstr[1] " (%d hızlı sembolik baÄŸ)\n" - -#: e2fsck/unix.c:215 -#, fuzzy, c-format -msgid "%12u socket\n" -msgid_plural "%12u sockets\n" -msgstr[0] "%8d soket\n" -msgstr[1] "%8d soket\n" - -#: e2fsck/unix.c:219 -#, fuzzy, c-format -msgid "%12u file\n" -msgid_plural "%12u files\n" -msgstr[0] "%8d dosya\n" -msgstr[1] "%8d dosya\n" - -#: e2fsck/unix.c:232 misc/badblocks.c:983 misc/tune2fs.c:1985 misc/util.c:147 -#: resize/main.c:259 +#: e2fsck/unix.c:207 misc/badblocks.c:916 misc/tune2fs.c:1567 misc/util.c:151 +#: resize/main.c:248 #, c-format msgid "while determining whether %s is mounted." msgstr "- %s'in baÄŸlı olup olmadığı saptanmaya çalışılırken hata oluÅŸtu." -#: e2fsck/unix.c:252 -#, fuzzy, c-format -msgid "Warning! %s is %s.\n" +#: e2fsck/unix.c:225 +#, c-format +msgid "Warning! %s is mounted.\n" msgstr "Uyarı! %s baÄŸlı.\n" -#: e2fsck/unix.c:259 +#: e2fsck/unix.c:229 #, c-format -msgid "%s is %s.\n" -msgstr "" +msgid "%s is mounted. " +msgstr "%s baÄŸlandı. " -#: e2fsck/unix.c:262 +#: e2fsck/unix.c:231 msgid "" "Cannot continue, aborting.\n" "\n" @@ -2847,13 +2607,13 @@ msgstr "" "Devam edilemiyor. çıkılıyor.\n" "\n" -#: e2fsck/unix.c:264 -#, fuzzy +#: e2fsck/unix.c:232 +#, c-format msgid "" "\n" "\n" -"WARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" -"cause ***SEVERE*** filesystem damage.\n" +"\a\a\a\aWARNING!!! Running e2fsck on a mounted filesystem may cause\n" +"SEVERE filesystem damage.\a\a\a\n" "\n" msgstr "" "\n" @@ -2862,80 +2622,80 @@ msgstr "" "ÇOK CÄ°DDÄ° hasarlara sebep olabilir.****\n" "\n" -#: e2fsck/unix.c:269 +#: e2fsck/unix.c:235 msgid "Do you really want to continue" msgstr "Gerçekten devam etmek istiyor musunuz?" -#: e2fsck/unix.c:271 +#: e2fsck/unix.c:237 #, c-format msgid "check aborted.\n" msgstr "denetim durdu.\n" -#: e2fsck/unix.c:361 +#: e2fsck/unix.c:310 msgid " contains a file system with errors" msgstr " hatalı bir dosya sistemi içeriyor" -#: e2fsck/unix.c:363 +#: e2fsck/unix.c:312 msgid " was not cleanly unmounted" msgstr " usulünce sistemden ayrılmamış" -#: e2fsck/unix.c:365 +#: e2fsck/unix.c:314 msgid " primary superblock features different from backup" -msgstr " birincil süperblok özellikleri yedeklemeden farklı" +msgstr "" -#: e2fsck/unix.c:369 +#: e2fsck/unix.c:318 #, c-format msgid " has been mounted %u times without being checked" msgstr " denetlenmeksizin %u kere baÄŸlandı" -#: e2fsck/unix.c:376 +#: e2fsck/unix.c:324 #, fuzzy msgid " has filesystem last checked time in the future" msgstr "Dosya sisteminin son denetim zamanı %s yapılıyor\n" -#: e2fsck/unix.c:382 +#: e2fsck/unix.c:330 #, c-format msgid " has gone %u days without being checked" msgstr " denetlenmeksizin %u gün geçti" -#: e2fsck/unix.c:391 +#: e2fsck/unix.c:339 msgid ", check forced.\n" msgstr ", denetim baÅŸlatılacak.\n" -#: e2fsck/unix.c:424 +#: e2fsck/unix.c:342 #, fuzzy, c-format -msgid "%s: clean, %u/%u files, %llu/%llu blocks" +msgid "%s: clean, %u/%u files, %u/%u blocks" msgstr "%s: temiz, %d/%d dosya, %u/%u blok" -#: e2fsck/unix.c:443 +#: e2fsck/unix.c:359 msgid " (check deferred; on battery)" msgstr " (denetleme ertelendi; batarya)" -#: e2fsck/unix.c:446 +#: e2fsck/unix.c:362 msgid " (check after next mount)" msgstr " (sistem baÄŸlandıktan sonra denetle)" -#: e2fsck/unix.c:448 +#: e2fsck/unix.c:364 #, c-format msgid " (check in %ld mounts)" msgstr " (sistem %ld kere baÄŸlandığında denetle)" -#: e2fsck/unix.c:598 +#: e2fsck/unix.c:511 #, c-format msgid "ERROR: Couldn't open /dev/null (%s)\n" msgstr "HATA: /dev/null açılamadı (%s)\n" -#: e2fsck/unix.c:667 +#: e2fsck/unix.c:581 #, c-format msgid "Invalid EA version.\n" msgstr "Ek özellik sürümü geçersiz.\n" -#: e2fsck/unix.c:694 +#: e2fsck/unix.c:590 #, c-format msgid "Unknown extended option: %s\n" msgstr "Bilinmeyen ek seçenek: %s\n" -#: e2fsck/unix.c:719 +#: e2fsck/unix.c:612 #, c-format msgid "" "Syntax error in e2fsck config file (%s, line #%d)\n" @@ -2944,126 +2704,83 @@ msgstr "" "e2fsck yapılandırma dosyasında (%s, %d.satırda) sözdizimi hatası\n" "\t%s\n" -#: e2fsck/unix.c:788 +#: e2fsck/unix.c:680 #, c-format msgid "Error validating file descriptor %d: %s\n" msgstr "Dosya tanımlayıcı %d deÄŸerlendirilirken hata: %s\n" -#: e2fsck/unix.c:792 +#: e2fsck/unix.c:684 msgid "Invalid completion information file descriptor" msgstr "Tamamlama bilgisi dosya tanımlayıcısı geçersiz" -#: e2fsck/unix.c:807 +#: e2fsck/unix.c:699 msgid "Only one of the options -p/-a, -n or -y may be specified." msgstr "Sadece -p/-a, -n veya -y seçeneklerinden sadece biri belirtilebilir." -#: e2fsck/unix.c:828 +#: e2fsck/unix.c:720 #, c-format msgid "The -t option is not supported on this version of e2fsck.\n" msgstr " -t seçeneÄŸi e2fsck'nın bu sürümünde desteklenmiyor.\n" -#: e2fsck/unix.c:859 e2fsck/unix.c:931 misc/tune2fs.c:811 misc/tune2fs.c:1100 -#: misc/tune2fs.c:1118 +#: e2fsck/unix.c:801 misc/tune2fs.c:549 misc/tune2fs.c:833 misc/tune2fs.c:850 #, c-format msgid "Unable to resolve '%s'" msgstr "'%s' çözümlenemiyor" -#: e2fsck/unix.c:910 -msgid "The -n and -D options are incompatible." -msgstr "" - -#: e2fsck/unix.c:915 -msgid "The -n and -c options are incompatible." -msgstr "" - -#: e2fsck/unix.c:920 -#, fuzzy -msgid "The -n and -l/-L options are incompatible." -msgstr " -c seçeneÄŸi ile -l ve -L seçenekleri aynı anda birlikte kullanılamaz.\n" - -#: e2fsck/unix.c:974 +#: e2fsck/unix.c:831 #, c-format msgid "The -c and the -l/-L options may not be both used at the same time.\n" -msgstr " -c seçeneÄŸi ile -l ve -L seçenekleri aynı anda birlikte kullanılamaz.\n" +msgstr "" +" -c seçeneÄŸi ile -l ve -L seçenekleri aynı anda birlikte kullanılamaz.\n" -#: e2fsck/unix.c:1022 +#: e2fsck/unix.c:879 #, c-format msgid "" "E2FSCK_JBD_DEBUG \"%s\" not an integer\n" "\n" msgstr "" -"E2FSCK_JBD_DEBUG \"%s\" bir tamsayı deÄŸil\n" -"\n" -#: e2fsck/unix.c:1031 +#: e2fsck/unix.c:888 #, c-format msgid "" "\n" "Invalid non-numeric argument to -%c (\"%s\")\n" "\n" msgstr "" -"\n" -"Sayısal olmayan geçersiz bağımsız deÄŸiÅŸken, -%c (\"%s\")\n" -"\n" - -#: e2fsck/unix.c:1120 -#, c-format -msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n" -msgstr "" - -#: e2fsck/unix.c:1137 e2fsck/unix.c:1142 -#, fuzzy -msgid "while checking MMP block" -msgstr "- süperblok ayarlanırken hata oluÅŸtu" - -#: e2fsck/unix.c:1144 misc/tune2fs.c:1912 -msgid "" -"If you are sure the filesystem is not in use on any node, run:\n" -"'tune2fs -f -E clear_mmp {device}'\n" -msgstr "" -#: e2fsck/unix.c:1194 +#: e2fsck/unix.c:929 #, c-format msgid "Error: ext2fs library version out of date!\n" msgstr "Hata: ext2fs kitaplık sürümü uygun deÄŸil!\n" -#: e2fsck/unix.c:1202 +#: e2fsck/unix.c:937 msgid "while trying to initialize program" msgstr "- uygulama baÅŸlatılmaya çelışılırken hata oluÅŸtu" -#: e2fsck/unix.c:1225 +#: e2fsck/unix.c:951 #, c-format msgid "\tUsing %s, %s\n" msgstr "\t%s, %s kullanılıyor\n" -#: e2fsck/unix.c:1237 +#: e2fsck/unix.c:963 msgid "need terminal for interactive repairs" msgstr "etkileÅŸimli onarım için uçbirim gerekli" -#: e2fsck/unix.c:1290 -#, c-format +#: e2fsck/unix.c:1010 +#, fuzzy, c-format msgid "%s: %s trying backup blocks...\n" -msgstr "%s: %s blokları yedeklemeye çalışıyor...\n" +msgstr "%s yedekleme blokları deneniyor...\n" -#: e2fsck/unix.c:1292 +#: e2fsck/unix.c:1012 msgid "Superblock invalid," -msgstr "Süperblok geçersiz," +msgstr "" -#: e2fsck/unix.c:1293 +#: e2fsck/unix.c:1013 msgid "Group descriptors look bad..." msgstr "Grup tanımlayıcılar hatalı görünüyor..." -#: e2fsck/unix.c:1303 -#, fuzzy, c-format -msgid "%s: %s while using the backup blocks" -msgstr "- hatalı bloklar düğümü okunurken hata oluÅŸtu" - -#: e2fsck/unix.c:1307 -#, fuzzy, c-format -msgid "%s: going back to original superblock\n" -msgstr "%s: geçerli gümlük dosyası super bloÄŸu yok\n" - -#: e2fsck/unix.c:1335 +#: e2fsck/unix.c:1040 +#, c-format msgid "" "The filesystem revision is apparently too high for this version of e2fsck.\n" "(Or the filesystem superblock is corrupt)\n" @@ -3073,31 +2790,30 @@ msgstr "" "destekliyor gibi. (Ya da dosya sisteminin süperbloÄŸu bozuk olabilir)\n" "\n" -#: e2fsck/unix.c:1341 +#: e2fsck/unix.c:1046 +#, c-format msgid "Could this be a zero-length partition?\n" msgstr "Bu sıfır uzunluklu bir disk bölümü olabilir mi?\n" -#: e2fsck/unix.c:1344 +#: e2fsck/unix.c:1048 #, c-format msgid "You must have %s access to the filesystem or be root\n" msgstr "Dosya sistemine %s eriÅŸiminiz olmalı ya da root olmalısınız\n" -#: e2fsck/unix.c:1349 +#: e2fsck/unix.c:1053 +#, c-format msgid "Possibly non-existent or swap device?\n" msgstr "Bu mevcut olmayan bir aygıt ya da bir takas aygıtı mı acaba?\n" -#: e2fsck/unix.c:1352 +#: e2fsck/unix.c:1055 +#, c-format msgid "Filesystem mounted or opened exclusively by another program?\n" msgstr "" "Dosyasistemi baÅŸka bir uygulama tarafından özellikle baÄŸlanmış veya açılmış\n" "olabilir mi?\n" -#: e2fsck/unix.c:1355 -#, fuzzy -msgid "Possibly non-existent device?\n" -msgstr "Bu mevcut olmayan bir aygıt ya da bir takas aygıtı mı acaba?\n" - -#: e2fsck/unix.c:1358 +#: e2fsck/unix.c:1059 +#, c-format msgid "" "Disk write-protected; use the -n option to do a read-only\n" "check of the device.\n" @@ -3105,94 +2821,109 @@ msgstr "" "Disk yazma korumalı; -n seçeneÄŸini kullanarak salt-oku kipinde\n" "denetim yapınız.\n" -#: e2fsck/unix.c:1423 +#: e2fsck/unix.c:1123 msgid "Get a newer version of e2fsck!" msgstr "e2fsck'nın daha yeni bir sürümünü alın!" -#: e2fsck/unix.c:1467 +#: e2fsck/unix.c:1147 #, c-format msgid "while checking ext3 journal for %s" msgstr "- %s için ext3 günlüğü denetlenirken hata oluÅŸtu" -#: e2fsck/unix.c:1478 -msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n" +#: e2fsck/unix.c:1158 +#, c-format +msgid "" +"Warning: skipping journal recovery because doing a read-only filesystem " +"check.\n" msgstr "" "Uyarı: Dosya sistemi salt-oku kipinde denetlendiÄŸinden\n" "günlük dosyasına göre kurtarma atlanıyor.\n" -#: e2fsck/unix.c:1491 +#: e2fsck/unix.c:1171 #, c-format msgid "unable to set superblock flags on %s\n" msgstr "%s üzerine süperblok bayrakları konulamadı\n" -#: e2fsck/unix.c:1497 +#: e2fsck/unix.c:1177 #, c-format msgid "while recovering ext3 journal of %s" msgstr "- %s ext3 günlük dosyası kurtarılmaya çalışılırken hata oluÅŸtu" -#: e2fsck/unix.c:1521 -#, c-format +#: e2fsck/unix.c:1201 +#, fuzzy, c-format msgid "%s has unsupported feature(s):" -msgstr "%s desteklenmeyen özellik(leri):" +msgstr "HTREE dizin düğümü %i desteklenmeyen bir hash sürümü (%N) içeriyor.\n" -#: e2fsck/unix.c:1536 -#, fuzzy, c-format -msgid "%s: warning: compression support is experimental.\n" +#: e2fsck/unix.c:1217 +msgid "Warning: compression support is experimental.\n" msgstr "Uyarı: sıkıştırma desteÄŸi deneyseldir.\n" -#: e2fsck/unix.c:1542 -#, fuzzy, c-format +#: e2fsck/unix.c:1222 +#, c-format msgid "" -"%s: e2fsck not compiled with HTREE support,\n" +"E2fsck not compiled with HTREE support,\n" "\tbut filesystem %s has HTREE directories.\n" msgstr "" "E2fsck HTREE desteÄŸi ile derlenmemiÅŸ,\n" "\tama dosya sistemi %s HTREE dizinleri içeriyor.\n" -#: e2fsck/unix.c:1594 -#, fuzzy, c-format -msgid "%s: %s while reading bad blocks inode\n" +#: e2fsck/unix.c:1276 +msgid "while reading bad blocks inode" msgstr "- hatalı bloklar düğümü okunmaya çalışılırken hata oluÅŸtu" -#: e2fsck/unix.c:1597 +#: e2fsck/unix.c:1278 +#, c-format msgid "This doesn't bode well, but we'll try to go on...\n" msgstr "Bu pek hayra alamet deÄŸil, ama üstüne gidilecek...\n" -#: e2fsck/unix.c:1638 +#: e2fsck/unix.c:1304 +msgid "Couldn't determine journal size" +msgstr "" + +#: e2fsck/unix.c:1307 #, c-format msgid "Creating journal (%d blocks): " msgstr "Günlük oluÅŸturuluyor (%d blok): " -#: e2fsck/unix.c:1648 +#: e2fsck/unix.c:1314 misc/mke2fs.c:2091 +msgid "" +"\n" +"\twhile trying to create journal" +msgstr "" +"\n" +"\tgünlük oluÅŸturulmaya çalışılırken hata oluÅŸtu" + +#: e2fsck/unix.c:1317 +#, fuzzy, c-format msgid " Done.\n" -msgstr " Tamamlandı.\n" +msgstr "tamam\n" -#: e2fsck/unix.c:1649 +#: e2fsck/unix.c:1318 +#, c-format msgid "" "\n" "*** journal has been re-created - filesystem is now ext3 again ***\n" msgstr "" -"\n" -"*** günlük yeniden oluÅŸturuldu - dosya sistemi yeniden ext3 ***\n" -#: e2fsck/unix.c:1672 +#: e2fsck/unix.c:1325 +#, c-format msgid "Restarting e2fsck from the beginning...\n" msgstr "e2fsck baÅŸtan baÅŸlıyor...\n" -#: e2fsck/unix.c:1676 +#: e2fsck/unix.c:1329 msgid "while resetting context" msgstr "- baÄŸlam sıfırlanırken hata oluÅŸtu" -#: e2fsck/unix.c:1683 +#: e2fsck/unix.c:1336 #, c-format msgid "%s: e2fsck canceled.\n" msgstr "%s: e2fsck durduruldu.\n" -#: e2fsck/unix.c:1688 +#: e2fsck/unix.c:1341 msgid "aborted" msgstr "çıktı" -#: e2fsck/unix.c:1700 e2fsck/util.c:67 +#: e2fsck/unix.c:1353 #, c-format msgid "" "\n" @@ -3201,12 +2932,12 @@ msgstr "" "\n" "%s: ***** DOSYA SÄ°STEMÄ° DEĞİŞTÄ°RÄ°LDÄ° *****\n" -#: e2fsck/unix.c:1704 +#: e2fsck/unix.c:1356 #, c-format msgid "%s: ***** REBOOT LINUX *****\n" msgstr "%s: ***** MAKÄ°NAYI YENÄ°DEN BAÅžLATIN *****\n" -#: e2fsck/unix.c:1712 e2fsck/util.c:73 +#: e2fsck/unix.c:1364 #, c-format msgid "" "\n" @@ -3217,44 +2948,44 @@ msgstr "" "%s: ********** UYARI: Dosya sistemi hala hatalı **********\n" "\n" -#: e2fsck/unix.c:1752 +#: e2fsck/unix.c:1400 #, fuzzy msgid "while setting block group checksum info" msgstr "- hatalı blok düğümü belirlenirken hata oluÅŸtu" -#: e2fsck/util.c:190 misc/util.c:70 +#: e2fsck/util.c:138 misc/util.c:68 msgid "yY" msgstr "eE" -#: e2fsck/util.c:191 +#: e2fsck/util.c:139 msgid "nN" msgstr "hH" -#: e2fsck/util.c:205 +#: e2fsck/util.c:153 msgid "" msgstr "" -#: e2fsck/util.c:207 +#: e2fsck/util.c:155 msgid "" msgstr "" -#: e2fsck/util.c:209 +#: e2fsck/util.c:157 msgid " (y/n)" msgstr " (e/h)" -#: e2fsck/util.c:223 +#: e2fsck/util.c:172 msgid "cancelled!\n" msgstr "durduruldu!\n" -#: e2fsck/util.c:238 +#: e2fsck/util.c:187 msgid "yes\n" msgstr "evet\n" -#: e2fsck/util.c:240 +#: e2fsck/util.c:189 msgid "no\n" msgstr "hayır\n" -#: e2fsck/util.c:250 +#: e2fsck/util.c:199 #, c-format msgid "" "%s? no\n" @@ -3263,7 +2994,7 @@ msgstr "" "%s? hayır\n" "\n" -#: e2fsck/util.c:254 +#: e2fsck/util.c:203 #, c-format msgid "" "%s? yes\n" @@ -3272,39 +3003,39 @@ msgstr "" "%s? evet\n" "\n" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "yes" msgstr "evet" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "no" msgstr "hayır" -#: e2fsck/util.c:273 +#: e2fsck/util.c:221 #, c-format msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s" msgstr "e2fsck_read_bitmaps: %s için biteÅŸlem blokları kuraldışı" -#: e2fsck/util.c:278 +#: e2fsck/util.c:226 msgid "reading inode and block bitmaps" msgstr "düğüm ve blok biteÅŸlemleri okunuyor" -#: e2fsck/util.c:286 +#: e2fsck/util.c:231 #, c-format msgid "while retrying to read bitmaps for %s" msgstr "- %s için biteÅŸlemlerin okunması yinelenirken hata oluÅŸtu" -#: e2fsck/util.c:298 +#: e2fsck/util.c:243 #, fuzzy msgid "writing block and inode bitmaps" msgstr "blok biteÅŸlemleri yazılıyor" -#: e2fsck/util.c:303 +#: e2fsck/util.c:248 #, fuzzy, c-format msgid "while rewriting block and inode bitmaps for %s" msgstr "- %s için düğüm biteÅŸlemlerinin yazılması yinelenirken hata oluÅŸtu" -#: e2fsck/util.c:315 +#: e2fsck/util.c:260 #, c-format msgid "" "\n" @@ -3317,54 +3048,51 @@ msgstr "" "%s: BEKLENMEYEN UYGUNSUZLUK; fsck ÇALIÅžTIRMALISINIZ.\n" "\t(-a ve -p seçeneklerini kullanmadan)\n" -#: e2fsck/util.c:396 -#, fuzzy, c-format -msgid "Memory used: %luk/%luk (%luk/%luk), " +#: e2fsck/util.c:336 +#, c-format +msgid "Memory used: %dk/%dk (%dk/%dk), " msgstr "Kullanılan bellek: %dk/%dk (%dk/%dk), " -#: e2fsck/util.c:400 -#, fuzzy, c-format -msgid "Memory used: %lu, " +#: e2fsck/util.c:340 +#, c-format +msgid "Memory used: %d, " msgstr "Kullanılan bellek: %d, " -#: e2fsck/util.c:407 +#: e2fsck/util.c:346 #, c-format msgid "time: %5.2f/%5.2f/%5.2f\n" msgstr "zaman: %5.2f/%5.2f/%5.2f\n" -#: e2fsck/util.c:412 +#: e2fsck/util.c:351 #, c-format msgid "elapsed time: %6.3f\n" msgstr "geçen süre: %6.3f\n" -#: e2fsck/util.c:447 e2fsck/util.c:461 -#, fuzzy, c-format -msgid "while reading inode %lu in %s" +#: e2fsck/util.c:385 e2fsck/util.c:399 +#, c-format +msgid "while reading inode %ld in %s" msgstr "- %ld düğümü %s den okunurken hata oluÅŸtu" -#: e2fsck/util.c:475 e2fsck/util.c:488 -#, fuzzy, c-format -msgid "while writing inode %lu in %s" +#: e2fsck/util.c:413 e2fsck/util.c:426 +#, c-format +msgid "while writing inode %ld in %s" msgstr "- %ld düğümü %s e yazılırken hata oluÅŸtu" -#: e2fsck/util.c:637 +#: e2fsck/util.c:575 msgid "while allocating zeroizing buffer" msgstr "- sıfırlama tampon belleÄŸi ayrılırken hata oluÅŸtu" -#: e2fsck/util.c:785 -msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n" -msgstr "" - -#: misc/badblocks.c:69 +#: misc/badblocks.c:66 #, fuzzy -msgid "done \n" +msgid "done \n" msgstr "bitti .\n" -#: misc/badblocks.c:92 +#: misc/badblocks.c:89 #, fuzzy, c-format msgid "" "Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnf]\n" -" [-c blocks_at_once] [-d delay_factor_between_reads] [-e max_bad_blocks]\n" +" [-c blocks_at_once] [-d delay_factor_between_reads] [-e " +"max_bad_blocks]\n" " [-p num_passes] [-t test_pattern [-t test_pattern [...]]]\n" " device [last_block [first_block]]\n" msgstr "" @@ -3374,89 +3102,87 @@ msgstr "" " [...]]]\n" " aygıt [son_blok [ilk_blok]]\n" -#: misc/badblocks.c:103 +#: misc/badblocks.c:100 #, c-format msgid "" "%s: The -n and -w options are mutually exclusive.\n" "\n" msgstr "" -"%s: -n ve -w seçenekleri birbirinden bağımsızdır.\n" -"\n" -#: misc/badblocks.c:218 +#: misc/badblocks.c:202 #, c-format -msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)" +msgid "%6.2f%% done, %s elapsed" msgstr "" -#: misc/badblocks.c:322 +#: misc/badblocks.c:289 msgid "Testing with random pattern: " msgstr "Rasgele ÅŸablon ile sınanıyor: " -#: misc/badblocks.c:340 +#: misc/badblocks.c:307 msgid "Testing with pattern 0x" msgstr "Sınama ÅŸablonu: 0x" -#: misc/badblocks.c:372 misc/badblocks.c:445 +#: misc/badblocks.c:335 misc/badblocks.c:404 msgid "during seek" msgstr "eriÅŸim sırasında" -#: misc/badblocks.c:383 +#: misc/badblocks.c:346 #, c-format msgid "Weird value (%ld) in do_read\n" msgstr "do_read için tuhaf deÄŸer (%ld)\n" -#: misc/badblocks.c:469 +#: misc/badblocks.c:424 msgid "during ext2fs_sync_device" msgstr "ext2fs_sync_device sırasında" -#: misc/badblocks.c:489 misc/badblocks.c:749 +#: misc/badblocks.c:440 misc/badblocks.c:699 msgid "while beginning bad block list iteration" msgstr "- hatalı blok listesi yinelemesine baÅŸlanırken hata oluÅŸtu" -#: misc/badblocks.c:503 misc/badblocks.c:602 misc/badblocks.c:759 +#: misc/badblocks.c:454 misc/badblocks.c:551 misc/badblocks.c:709 msgid "while allocating buffers" msgstr "- tampon bellek ayrılırken hata oluÅŸtu" -#: misc/badblocks.c:507 +#: misc/badblocks.c:458 #, c-format msgid "Checking blocks %lu to %lu\n" msgstr "%lu ile %lu arasındaki bloklar denetleniyor\n" -#: misc/badblocks.c:512 +#: misc/badblocks.c:463 msgid "Checking for bad blocks in read-only mode\n" msgstr "Hatalı bloklar salt-okunur kipte denetleniyor\n" -#: misc/badblocks.c:521 +#: misc/badblocks.c:472 msgid "Checking for bad blocks (read-only test): " msgstr "Hatalı bloklar için denetleniyor (salt-oku testi): " -#: misc/badblocks.c:528 misc/badblocks.c:634 misc/badblocks.c:676 -#: misc/badblocks.c:822 +#: misc/badblocks.c:480 misc/badblocks.c:583 misc/badblocks.c:628 +#: misc/badblocks.c:772 msgid "Too many bad blocks, aborting test\n" msgstr "" -#: misc/badblocks.c:609 +#: misc/badblocks.c:558 msgid "Checking for bad blocks in read-write mode\n" msgstr "Hatalı bloklar oku-yaz kipinde denetleniyor\n" -#: misc/badblocks.c:611 misc/badblocks.c:772 +#: misc/badblocks.c:560 misc/badblocks.c:722 #, c-format msgid "From block %lu to %lu\n" msgstr "Blok %lu dan %lu ya kadar\n" -#: misc/badblocks.c:666 +#: misc/badblocks.c:618 msgid "Reading and comparing: " msgstr "Okunuyor ve karşılaÅŸtırılıyor: " -#: misc/badblocks.c:771 +#: misc/badblocks.c:721 msgid "Checking for bad blocks in non-destructive read-write mode\n" msgstr "Hatalı bloklar veri bozmayan oku-yaz kipinde denetleniyor\n" -#: misc/badblocks.c:777 +#: misc/badblocks.c:727 msgid "Checking for bad blocks (non-destructive read-write test)\n" msgstr "Hatalı bloklar denetleniyor (yıkıcı olmayan oku-yaz sınaması)\n" -#: misc/badblocks.c:784 +#: misc/badblocks.c:734 msgid "" "\n" "Interrupt caught, cleaning up\n" @@ -3464,92 +3190,98 @@ msgstr "" "\n" "Kesme yakalandı, kaldırılıyor\n" -#: misc/badblocks.c:867 +#: misc/badblocks.c:810 #, c-format msgid "during test data write, block %lu" msgstr "veri yazma denemesi sırasında, blok %lu" -#: misc/badblocks.c:988 misc/util.c:152 +#: misc/badblocks.c:921 misc/util.c:156 #, c-format msgid "%s is mounted; " msgstr "%s baÄŸlandı; " -#: misc/badblocks.c:990 +#: misc/badblocks.c:923 msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n" -msgstr "badblocks n'olursa olsun çalıştırılacak. Ä°nÅŸallah /etc/mtab yanlıştır.\n" +msgstr "" +"badblocks n'olursa olsun çalıştırılacak. Ä°nÅŸallah /etc/mtab yanlıştır.\n" -#: misc/badblocks.c:995 +#: misc/badblocks.c:928 msgid "it's not safe to run badblocks!\n" msgstr "'badblocks' çalıştırmak güvenli deÄŸil!\n" -#: misc/badblocks.c:1000 misc/util.c:163 +#: misc/badblocks.c:933 misc/util.c:167 #, c-format msgid "%s is apparently in use by the system; " msgstr "%s görünüşe göre sistem tarafından kullanılıyor; " -#: misc/badblocks.c:1003 +#: misc/badblocks.c:936 msgid "badblocks forced anyway.\n" msgstr "badblocks n'olursa olsun çalıştırılacak.\n" -#: misc/badblocks.c:1023 +#: misc/badblocks.c:956 #, fuzzy, c-format msgid "invalid %s - %s" msgstr "blok uzunluÄŸu hatalı - %s" -#: misc/badblocks.c:1133 +#: misc/badblocks.c:1015 +#, c-format +msgid "bad block size - %s" +msgstr "blok uzunluÄŸu hatalı - %s" + +#: misc/badblocks.c:1070 #, c-format msgid "can't allocate memory for test_pattern - %s" msgstr "sınama ÅŸablonu - %s için bellek ayrılamadı" -#: misc/badblocks.c:1163 +#: misc/badblocks.c:1097 msgid "Maximum of one test_pattern may be specified in read-only mode" msgstr "Salt okunur kipte en çok bir sınama ÅŸablonu belirtilebilir" -#: misc/badblocks.c:1169 +#: misc/badblocks.c:1103 msgid "Random test_pattern is not allowed in read-only mode" msgstr "Salt okunur kipte rasgele sınama ÅŸablonu kullanımına izin verilmez" -#: misc/badblocks.c:1183 +#: misc/badblocks.c:1117 msgid "" "Couldn't determine device size; you must specify\n" "the size manually\n" msgstr "Aygıt alanı saptanamadı; Elle bir deÄŸer girmelisiniz\n" -#: misc/badblocks.c:1189 +#: misc/badblocks.c:1123 msgid "while trying to determine device size" msgstr "- aygıt alanı saptanmaya çalışılırken hata oluÅŸtu" -#: misc/badblocks.c:1194 +#: misc/badblocks.c:1128 #, fuzzy msgid "last block" msgstr "Bloklar yeniden konumlandırılıyor" -#: misc/badblocks.c:1200 +#: misc/badblocks.c:1134 #, fuzzy msgid "first block" msgstr "Ä°lk veri bloÄŸu = %u\n" -#: misc/badblocks.c:1203 +#: misc/badblocks.c:1137 #, fuzzy, c-format msgid "invalid starting block (%lu): must be less than %lu" msgstr "baÅŸlangıç bloÄŸu hatalı - %s" -#: misc/badblocks.c:1259 +#: misc/badblocks.c:1193 msgid "while creating in-memory bad blocks list" msgstr "hatalı bloklar listesi bellekte oluÅŸturulurken" -#: misc/badblocks.c:1274 +#: misc/badblocks.c:1208 msgid "while adding to in-memory bad block list" msgstr "bellekteki hatalı bloklar listesine eklenirken" -#: misc/badblocks.c:1298 -#, fuzzy, c-format -msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n" +#: misc/badblocks.c:1232 +#, c-format +msgid "Pass completed, %u bad blocks found.\n" msgstr "GeçiÅŸ tamamlandı, %u hatalı blok bulundu.\n" -#: misc/chattr.c:86 +#: misc/chattr.c:85 #, fuzzy, c-format -msgid "Usage: %s [-RVf] [-+=AaCcDdeijsSu] [-v version] files...\n" +msgid "Usage: %s [-RVf] [-+=AacDdijsSu] [-v version] files...\n" msgstr "" "Kullanımı: %s [-RV] [-+=AacDdijsSu] [-v sürüm] dosyalar...\n" "\n" @@ -3562,17 +3294,22 @@ msgstr "" "\n" " A: eriÅŸim zamanı güncellenmez\n" " a: sadece dosyanın sonuna ekleme yapılabilir. root deÄŸiÅŸtirebilir.\n" -" c: sıkıştırılmış; dosyanın okuma-yazma sırasındaki açılması/sıkıştırılması\n" +" c: sıkıştırılmış; dosyanın okuma-yazma sırasındaki açılması/" +"sıkıştırılması\n" " çekirdeÄŸin denetimindedir.\n" " d: dökümlenmez; dump uygulamasından etkilenmez.\n" " D: bir dizine uygulanır ve dizindeki deÄŸiÅŸiklikler eÅŸzamanlı iÅŸlenir.\n" -" i: deÄŸiÅŸmez; dosya içeriÄŸi silinemez, yazılamaz, dosyaya baÄŸ oluÅŸturulamaz\n" +" i: deÄŸiÅŸmez; dosya içeriÄŸi silinemez, yazılamaz, dosyaya baÄŸ " +"oluÅŸturulamaz\n" " ve ismi deÄŸiÅŸtirilemez. Sadece root bu özelliÄŸi deÄŸiÅŸtirebilir.\n" -" j: günlükleme; dosya sistemi ext3 olarak baÄŸlanmışsa bu özellik etkisizdir\n" -" s: silinme güvenliÄŸi; bu özellik verilen bir dosya silindiÄŸinde veri alanı\n" +" j: günlükleme; dosya sistemi ext3 olarak baÄŸlanmışsa bu özellik " +"etkisizdir\n" +" s: silinme güvenliÄŸi; bu özellik verilen bir dosya silindiÄŸinde veri " +"alanı\n" " sıfırlarla doldurulur\n" " S: eÅŸzamanlı güncellemeler; bu özelliÄŸi içeren bir dosyaya tüm\n" -" deÄŸiÅŸiklikler anında yazılır, sistemin 'sync' seçeneÄŸi ile baÄŸlanmasına\n" +" deÄŸiÅŸiklikler anında yazılır, sistemin 'sync' seçeneÄŸi ile " +"baÄŸlanmasına\n" " eÅŸdeÄŸer özellik saÄŸlar\n" " u: silinememezlik; bu dosya silindiÄŸinde içeriÄŸi saklanır, silecek\n" " kullanıcıya silinme sırasında sorulmasını saÄŸlar.\n" @@ -3585,57 +3322,57 @@ msgstr "" "Çeviri hatalarını adresine bildiriniz.\n" "\n" -#: misc/chattr.c:155 +#: misc/chattr.c:152 #, c-format msgid "bad version - %s\n" msgstr "sürüm hatalı - %s\n" -#: misc/chattr.c:201 misc/lsattr.c:116 +#: misc/chattr.c:198 misc/lsattr.c:113 #, c-format msgid "while trying to stat %s" msgstr "- stat %s yapılmaya çalışılırken hata oluÅŸtu" -#: misc/chattr.c:208 -#, c-format -msgid "while reading flags on %s" -msgstr "- %s üzerinde bayraklar okunurken hata oluÅŸtu" - -#: misc/chattr.c:213 misc/chattr.c:225 +#: misc/chattr.c:204 misc/chattr.c:222 #, c-format msgid "Flags of %s set as " msgstr "Belirlenen %s bayrakları: " -#: misc/chattr.c:234 +#: misc/chattr.c:214 +#, c-format +msgid "while reading flags on %s" +msgstr "- %s üzerinde bayraklar okunurken hata oluÅŸtu" + +#: misc/chattr.c:231 #, c-format msgid "while setting flags on %s" msgstr "- %s üzerinde bayraklar belirlenirken hata oluÅŸtu" -#: misc/chattr.c:242 +#: misc/chattr.c:239 #, c-format msgid "Version of %s set as %lu\n" msgstr "%s sürümü %lu olarak belirlendi\n" -#: misc/chattr.c:246 +#: misc/chattr.c:243 #, c-format msgid "while setting version on %s" msgstr "- %s üzerinde sürüm belirlenirken hata oluÅŸtu" -#: misc/chattr.c:266 +#: misc/chattr.c:263 #, c-format msgid "Couldn't allocate path variable in chattr_dir_proc" msgstr "chattr_dir_proc iÅŸlevinde dosya yolu deÄŸiÅŸkenine yer ayrılamadı" -#: misc/chattr.c:306 +#: misc/chattr.c:302 msgid "= is incompatible with - and +\n" msgstr "= ile + ve - uyumsuz\n" -#: misc/chattr.c:314 +#: misc/chattr.c:310 msgid "Must use '-v', =, - or +\n" msgstr "'-v', =, - veya + kullanılmalı\n" -#: misc/dumpe2fs.c:55 -#, fuzzy, c-format -msgid "Usage: %s [-bfhixV] [-o superblock=] [-o blocksize=] device\n" +#: misc/dumpe2fs.c:53 +#, c-format +msgid "Usage: %s [-bfhixV] [-ob superblock] [-oB blocksize] device\n" msgstr "" "Kullanımı: %s [-bfhixV] [-ob süperblok] [-oB blokboyu] aygıt\n" "\n" @@ -3643,11 +3380,13 @@ msgstr "" "\n" "Seçenekler:\n" " -b hatalı olarak imlenmiÅŸ blokları gösterir\n" -" -f dosya sistemi dumpe2fs'in bilmediÄŸi özellikler içerse bile\n" +" -f dosya sistemi dumpe2fs'in bilmediÄŸi özellikler içerse " +"bile\n" " bilgilerin dökümlenmesini saÄŸlar\n" " -h grup tanımlayıcıları deÄŸil sadece süperblok bilgilerini\n" " gösterir\n" -" -i belirtilen aygıt için e2image tarafından oluÅŸturulmuÅŸ disk\n" +" -i belirtilen aygıt için e2image tarafından oluÅŸturulmuÅŸ " +"disk\n" " görüntüsü dosyasının verilerini gösterir\n" " -x ayrıntılı olarak grupların bilgileri gösterilir\n" " -V sürüm bilgileri gösterilir ve çıkar\n" @@ -3657,56 +3396,37 @@ msgstr "" "Çeviri hatalarını adresine bildiriniz.\n" "\n" -#: misc/dumpe2fs.c:159 -#, fuzzy -msgid "blocks" -msgstr "bblok" - #: misc/dumpe2fs.c:168 -msgid "clusters" -msgstr "" - -#: misc/dumpe2fs.c:196 #, c-format msgid "Group %lu: (Blocks " msgstr "Grup %lu: (Bloklar: " -#: misc/dumpe2fs.c:204 +#: misc/dumpe2fs.c:173 #, c-format -msgid " Checksum 0x%04x" +msgid " Checksum 0x%04x, unused inodes %d\n" msgstr "" -#: misc/dumpe2fs.c:206 -#, c-format -msgid " (EXPECTED 0x%04x)" -msgstr "" - -#: misc/dumpe2fs.c:207 -#, fuzzy, c-format -msgid ", unused inodes %u\n" -msgstr "düğüm sayısı hatalı - %s" - -#: misc/dumpe2fs.c:212 +#: misc/dumpe2fs.c:178 #, c-format msgid " %s superblock at " msgstr " %s süperblok: " -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Primary" msgstr " Ä°lk" -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Backup" msgstr "Yedek" -#: misc/dumpe2fs.c:217 +#: misc/dumpe2fs.c:183 #, c-format msgid ", Group descriptors at " msgstr "" " \n" " Grup tanımlayıcı: " -#: misc/dumpe2fs.c:221 +#: misc/dumpe2fs.c:187 #, c-format msgid "" "\n" @@ -3715,24 +3435,24 @@ msgstr "" "\n" " Yedek GDT blokları " -#: misc/dumpe2fs.c:228 +#: misc/dumpe2fs.c:194 #, c-format msgid " Group descriptor at " msgstr "" " \n" " Grup tanımlayıcı: " -#: misc/dumpe2fs.c:234 +#: misc/dumpe2fs.c:200 msgid " Block bitmap at " msgstr " Blok biteÅŸlemi: " -#: misc/dumpe2fs.c:238 +#: misc/dumpe2fs.c:205 msgid ", Inode bitmap at " msgstr "" " \n" " Düğüm biteÅŸlemi: " -#: misc/dumpe2fs.c:242 +#: misc/dumpe2fs.c:210 msgid "" "\n" " Inode table at " @@ -3740,90 +3460,55 @@ msgstr "" "\n" " Düğüm tablosu: " -#: misc/dumpe2fs.c:248 +#: misc/dumpe2fs.c:217 #, fuzzy, c-format msgid "" "\n" -" %u free %s, %u free inodes, %u directories%s" +" %u free blocks, %u free inodes, %u directories%s" msgstr "" "\n" " %d serbest blok, %d serbest düğüm, %d dizin\n" -#: misc/dumpe2fs.c:255 +#: misc/dumpe2fs.c:224 #, c-format msgid ", %u unused inodes\n" msgstr "" -#: misc/dumpe2fs.c:258 +#: misc/dumpe2fs.c:227 msgid " Free blocks: " msgstr " Serbest bloklar: " -#: misc/dumpe2fs.c:269 +#: misc/dumpe2fs.c:237 msgid " Free inodes: " msgstr " Serbest düğümler: " -#: misc/dumpe2fs.c:300 +#: misc/dumpe2fs.c:264 msgid "while printing bad block list" msgstr "- hatalı bloklar listesi basılırken hata oluÅŸtu" -#: misc/dumpe2fs.c:306 -#, c-format +#: misc/dumpe2fs.c:270 +#, fuzzy, c-format msgid "Bad blocks: %u" -msgstr "Hatalı bloklar: %u" +msgstr "Hatalı bloklar: %d" -#: misc/dumpe2fs.c:333 misc/tune2fs.c:306 +#: misc/dumpe2fs.c:292 misc/tune2fs.c:279 msgid "while reading journal inode" msgstr "- günlük düğümü okunurken hata oluÅŸtu" -#: misc/dumpe2fs.c:339 -#, fuzzy -msgid "while opening journal inode" -msgstr "- günlük düğümü okunurken hata oluÅŸtu" - -#: misc/dumpe2fs.c:345 -#, fuzzy -msgid "while reading journal super block" -msgstr "- günlük dosyası süperbloÄŸu okunurken hata oluÅŸtu" - -#: misc/dumpe2fs.c:355 -#, fuzzy, c-format -msgid "Journal features: " -msgstr "Günlük kullanıcıları: %s\n" - -#: misc/dumpe2fs.c:368 +#: misc/dumpe2fs.c:295 msgid "Journal size: " msgstr "Günlük boyutu: " -#: misc/dumpe2fs.c:379 -#, fuzzy, c-format -msgid "" -"Journal length: %u\n" -"Journal sequence: 0x%08x\n" -"Journal start: %u\n" -msgstr "" -"\n" -"Günlük bloÄŸu boyu: %u\n" -"Günlük uzunluÄŸu: %u\n" -"Günlük ilk bloÄŸu: %u\n" -"Günlük sıralaması: 0x%08x\n" -"Günlük baÅŸlangıcı: %u\n" -"Günlük kullanıcı sayısı: %lu\n" - -#: misc/dumpe2fs.c:386 -#, fuzzy, c-format -msgid "Journal errno: %d\n" -msgstr "Günlük kullanıcıları: %s\n" - -#: misc/dumpe2fs.c:401 misc/tune2fs.c:222 +#: misc/dumpe2fs.c:319 misc/tune2fs.c:200 msgid "while reading journal superblock" msgstr "- günlük dosyası süperbloÄŸu okunurken hata oluÅŸtu" -#: misc/dumpe2fs.c:409 +#: misc/dumpe2fs.c:327 msgid "Couldn't find journal superblock magic numbers" msgstr "Günlük dosyası süperbloÄŸu tanım numarası bulunamadı" -#: misc/dumpe2fs.c:413 -#, c-format +#: misc/dumpe2fs.c:331 +#, fuzzy, c-format msgid "" "\n" "Journal block size: %u\n" @@ -3839,30 +3524,30 @@ msgstr "" "Günlük ilk bloÄŸu: %u\n" "Günlük sıralaması: 0x%08x\n" "Günlük baÅŸlangıcı: %u\n" -"Günlük kullanıcı sayısı: %u\n" +"Günlük kullanıcı sayısı: %lu\n" -#: misc/dumpe2fs.c:426 +#: misc/dumpe2fs.c:344 #, c-format msgid "Journal users: %s\n" msgstr "Günlük kullanıcıları: %s\n" -#: misc/dumpe2fs.c:442 misc/mke2fs.c:666 misc/tune2fs.c:1137 +#: misc/dumpe2fs.c:360 misc/mke2fs.c:693 misc/tune2fs.c:868 #, c-format msgid "Couldn't allocate memory to parse options!\n" msgstr "Seçenekleri çözümlemek için bellek ayrılamadı!\n" -#: misc/dumpe2fs.c:468 -#, c-format +#: misc/dumpe2fs.c:386 +#, fuzzy, c-format msgid "Invalid superblock parameter: %s\n" -msgstr "Geçersiz süper blok parametresi: %s\n" +msgstr "'stride' parametresi geçersiz: %s\n" -#: misc/dumpe2fs.c:483 -#, c-format +#: misc/dumpe2fs.c:401 +#, fuzzy, c-format msgid "Invalid blocksize parameter: %s\n" -msgstr "Ge.ers,z blok boyut parametresi: %s\n" +msgstr "Yeniden boyutlama parametresi geçersiz: %s\n" -#: misc/dumpe2fs.c:494 -#, c-format +#: misc/dumpe2fs.c:412 +#, fuzzy, c-format msgid "" "\n" "Bad extended option(s) specified: %s\n" @@ -3875,27 +3560,28 @@ msgid "" "\tblocksize=\n" msgstr "" "\n" -"Bozuk geniÅŸletilmiÅŸ seçenek(ler) belirtildi: %s\n" +"Belirtilen seçenekler hatalı.\n" +"\n" +"Ek seçenekler virgüllerle ayrılarak belirtilir. Bir seçeneÄŸe deÄŸer\n" +"belirtilecekse bu '=' iÅŸaretinden sonra yazılır.\n" "\n" -"Uzatılmış seçenekler virgülle ayrılır ve bir eÅŸittir ('=') simgesi ile ayarlanabilen\n" -"\tbir argüman alabilirler.\n" +"Geçerli ek seçenekler:\n" +"\tstride=\n" +"\tresize=\n" "\n" -"Geçerli geniÅŸletilmiÅŸ seçenekler:\n" -"\tsuperblock=\n" -"\tblocksize=\n" -#: misc/dumpe2fs.c:554 misc/mke2fs.c:1555 +#: misc/dumpe2fs.c:471 misc/mke2fs.c:1355 #, c-format msgid "\tUsing %s\n" msgstr "\t%s kullanılıyor\n" -#: misc/dumpe2fs.c:590 misc/e2image.c:1326 misc/tune2fs.c:1923 -#: resize/main.c:317 +#: misc/dumpe2fs.c:507 misc/e2image.c:674 misc/tune2fs.c:1518 +#: resize/main.c:311 #, c-format msgid "Couldn't find valid filesystem superblock.\n" msgstr "Geçerli süperblok bulunamadı.\n" -#: misc/dumpe2fs.c:618 +#: misc/dumpe2fs.c:532 #, c-format msgid "" "\n" @@ -3904,9 +3590,9 @@ msgstr "" "\n" "%s: %s: biteÅŸlemler okunurken hata oluÅŸtu: %s\n" -#: misc/e2image.c:90 -#, fuzzy, c-format -msgid "Usage: %s [-rsIQa] device image_file\n" +#: misc/e2image.c:52 +#, c-format +msgid "Usage: %s [-rsI] device image_file\n" msgstr "" "Kullanımı: %s [-rsI] AYGIT DOSYA\n" "\n" @@ -3914,76 +3600,72 @@ msgstr "" "Örn: 4GB lık bir sistem için yaklaşık 3MB lık bir görüntü dosyası\n" "oluÅŸturulur. Bu dosya, dosya sistemini kurtarmak için uzmanlarca\n" "kullanılabilir. Belli aralıklarla bu dosyanın baÅŸka bir dosya sistemine\n" -"kaydedilmesi önerilir. -r seçeneÄŸi temel biçimli bir dosya üretir, çok büyük\n" +"kaydedilmesi önerilir. -r seçeneÄŸi temel biçimli bir dosya üretir, çok " +"büyük\n" "olacağından önerilmez. DOSYA yerine - verilirse dosya standart çıktıya\n" "yazılır.\n" -#: misc/e2image.c:138 -#, c-format -msgid "Error: header size is bigger than wrt_size\n" -msgstr "" - -#: misc/e2image.c:144 +#: misc/e2image.c:64 msgid "Couldn't allocate header buffer\n" msgstr "BaÅŸlık için tampon bellek ayrılamadı\n" -#: misc/e2image.c:174 +#: misc/e2image.c:83 +#, c-format +msgid "short write (only %d bytes) for writing image header" +msgstr "görüntü baÅŸlığını yazmak için kısa yazma (sadece %d bayt)" + +#: misc/e2image.c:102 msgid "while writing superblock" msgstr "- süperbloÄŸa yazılırken hata oluÅŸtu" -#: misc/e2image.c:182 +#: misc/e2image.c:110 msgid "while writing inode table" msgstr "- düğüm tablosuna yazılırken hata oluÅŸtu" -#: misc/e2image.c:189 +#: misc/e2image.c:117 msgid "while writing block bitmap" msgstr "- blok biteÅŸlemi yazılırken hata oluÅŸtu" -#: misc/e2image.c:196 +#: misc/e2image.c:124 msgid "while writing inode bitmap" msgstr "- düğüm biteÅŸlemi yazılırken hata oluÅŸtu" -#: misc/e2image.c:1365 -#, c-format -msgid "while trying to convert qcow2 image (%s) into raw image (%s)" -msgstr "" - -#: misc/e2label.c:58 +#: misc/e2label.c:57 #, c-format msgid "e2label: cannot open %s\n" msgstr "e2label: %s açılamıyor\n" -#: misc/e2label.c:63 +#: misc/e2label.c:62 #, c-format msgid "e2label: cannot seek to superblock\n" msgstr "e2label: süperbloka eriÅŸilemiyor\n" -#: misc/e2label.c:68 +#: misc/e2label.c:67 #, c-format msgid "e2label: error reading superblock\n" msgstr "e2label: süperblok okunurken hata oluÅŸtu\n" -#: misc/e2label.c:72 +#: misc/e2label.c:71 #, c-format msgid "e2label: not an ext2 filesystem\n" msgstr "e2label: bir ext2 dosya sistemi deÄŸil\n" -#: misc/e2label.c:97 misc/tune2fs.c:2080 +#: misc/e2label.c:96 misc/tune2fs.c:1653 #, c-format msgid "Warning: label too long, truncating.\n" msgstr "Uyarı: etiket çok uzun, kırpılıyor.\n" -#: misc/e2label.c:100 +#: misc/e2label.c:99 #, c-format msgid "e2label: cannot seek to superblock again\n" msgstr "e2label: süperbloÄŸa yine eriÅŸilemedi\n" -#: misc/e2label.c:105 +#: misc/e2label.c:104 #, c-format msgid "e2label: error writing superblock\n" msgstr "e2label: süperbloÄŸa yazılırken hata oluÅŸtu\n" -#: misc/e2label.c:117 misc/tune2fs.c:803 +#: misc/e2label.c:116 misc/tune2fs.c:541 #, c-format msgid "Usage: e2label device [newlabel]\n" msgstr "" @@ -3992,7 +3674,7 @@ msgstr "" "AYGIT bölüm ismini atamak/okumak için kullanılır.\n" "\n" -#: misc/e2undo.c:36 +#: misc/e2undo.c:35 #, c-format msgid "Usage: %s \n" msgstr "" @@ -4000,9 +3682,9 @@ msgstr "" #: misc/e2undo.c:52 #, fuzzy msgid "Failed to read the file system data \n" -msgstr "- dosya sistemi tabloları ayrılmaya çalışılırken hata oluÅŸtu" +msgstr "dirs_to_hash yineleyici oluÅŸturulamadı: %m" -#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:206 +#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:204 #, c-format msgid "Failed tdb_fetch %s\n" msgstr "" @@ -4016,49 +3698,48 @@ msgstr "" msgid "The file system UUID didn't match \n" msgstr "" -#: misc/e2undo.c:163 +#: misc/e2undo.c:161 #, fuzzy, c-format msgid "Failed tdb_open %s\n" msgstr "%s açılırken" -#: misc/e2undo.c:169 +#: misc/e2undo.c:167 #, fuzzy, c-format msgid "Error while determining whether %s is mounted.\n" msgstr "- %s'in baÄŸlı olup olmadığı saptanmaya çalışılırken hata oluÅŸtu." -#: misc/e2undo.c:175 +#: misc/e2undo.c:173 msgid "e2undo should only be run on unmounted file system\n" msgstr "" -#: misc/e2undo.c:184 +#: misc/e2undo.c:182 #, fuzzy, c-format msgid "Failed to open %s\n" msgstr "- %s açılmaya çalışılırken hata oluÅŸtu" -#: misc/e2undo.c:210 +#: misc/e2undo.c:208 #, c-format -msgid "Replayed transaction of size %zd at location %llu\n" +msgid "Replayed transaction of size %zd at location %ld\n" msgstr "" -#: misc/e2undo.c:216 +#: misc/e2undo.c:214 #, c-format msgid "Failed write %s\n" msgstr "" -#: misc/fsck.c:343 +#: misc/fsck.c:347 #, c-format msgid "WARNING: couldn't open %s: %s\n" msgstr "UYARI: %s açılamadı: %s\n" -#: misc/fsck.c:353 +#: misc/fsck.c:357 #, c-format msgid "WARNING: bad format on line %d of %s\n" msgstr "UYARI: %2$s nin %1$d. satırında biçem hatası\n" -#: misc/fsck.c:370 -#, fuzzy +#: misc/fsck.c:372 msgid "" -"WARNING: Your /etc/fstab does not contain the fsck passno\n" +"\a\a\aWARNING: Your /etc/fstab does not contain the fsck passno\n" "\tfield. I will kludge around things for you, but you\n" "\tshould fix your /etc/fstab file as soon as you can.\n" "\n" @@ -4069,37 +3750,37 @@ msgstr "" " düzeltmelisiniz.\n" "\n" -#: misc/fsck.c:478 +#: misc/fsck.c:481 #, c-format msgid "fsck: %s: not found\n" msgstr "fsck: %s: yok\n" -#: misc/fsck.c:594 +#: misc/fsck.c:597 #, c-format msgid "%s: wait: No more child process?!?\n" msgstr "%s: bekliyor: BaÅŸka ast süreç yok?!?\n" -#: misc/fsck.c:616 +#: misc/fsck.c:619 #, c-format msgid "Warning... %s for device %s exited with signal %d.\n" msgstr "Uyarı... %s %s aygıtı için %d sinyali ile çıktı.\n" -#: misc/fsck.c:622 +#: misc/fsck.c:625 #, c-format msgid "%s %s: status is %x, should never happen.\n" msgstr "%s %s: durum %x, asla olmamalıydı.\n" -#: misc/fsck.c:661 +#: misc/fsck.c:664 #, c-format msgid "Finished with %s (exit status %d)\n" msgstr "%s ile bitti (çıkış durumu: %d)\n" -#: misc/fsck.c:721 +#: misc/fsck.c:724 #, c-format msgid "%s: Error %d while executing fsck.%s for %s\n" msgstr "%s: Hata %d: fsck.%s %s için çalıtırılırken oluÅŸtu.\n" -#: misc/fsck.c:742 +#: misc/fsck.c:745 msgid "" "Either all or none of the filesystem types passed to -t must be prefixed\n" "with 'no' or '!'.\n" @@ -4107,44 +3788,81 @@ msgstr "" "-t ile ister tüm dosya sistemi türleri belirtilsin ister bir dosya sistemi\n" "türü belirtilmesin, ya 'no' ya da '!' öneki kullanılmalıdır.\n" -#: misc/fsck.c:761 +#: misc/fsck.c:764 msgid "Couldn't allocate memory for filesystem types\n" msgstr "Dosya sistemi türleri için bellek ayrılamadı\n" -#: misc/fsck.c:884 +#: misc/fsck.c:887 #, c-format -msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n" -msgstr "%s: /etc/fstab içerisindeki bozuk satır atlanıyor: sıfır olmayan fsck geçiÅŸ sayısı ile baÄŸlama ataması\n" +msgid "" +"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass " +"number\n" +msgstr "" -#: misc/fsck.c:911 +#: misc/fsck.c:914 #, c-format msgid "fsck: cannot check %s: fsck.%s not found\n" msgstr "fsck: %s denetlenemiyor: fsck.%s yok\n" -#: misc/fsck.c:967 +#: misc/fsck.c:970 msgid "Checking all file systems.\n" msgstr "Tüm dosya sistemleri denetleniyor.\n" -#: misc/fsck.c:1058 +#: misc/fsck.c:1061 #, c-format msgid "--waiting-- (pass %d)\n" msgstr "--beklemede-- (%d. geçiÅŸ)\n" -#: misc/fsck.c:1078 -msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" -msgstr "Kullanımı: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" +#: misc/fsck.c:1081 +#, fuzzy +msgid "" +"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" +msgstr "" +"Kullanımı:\n" +" fsck [-ANPRTV] [ -C [fd] ][-t dstürü] [ds-seçenekleri] " +"[dosyasistemi ...]\n" +"\n" +"Bir ya da daha fazla dosya sistemini denetlemek veya istenirse onarmak\n" +"için kullanılır. dosyasistemi olarak bir disk bölümü, bir baÄŸlama noktası,\n" +"bir bölüm etiketi ya da UUID verilebilir.\n" +"\n" +"Seçenekler:\n" +" -t dstürü Denetlenecek dosya sistemlerinin türleri belirtilir.\n" +" -A /etc/fstab dosyasındaki denetlenmesi öngörülmüş\n" +" sistemlerin denetimleri yapılır.\n" +" -C Denetim süreci bir göstergeyle gösterilir.\n" +" -N Denetim yapılıyormuÅŸ gibi görünür, bir ÅŸey yapılmaz.\n" +" -P -A seçeneÄŸi ile birlikte kullanılarak kök dosya sistemi\n" +" denetlenirken diÄŸer dosya sistemleri de paralel " +"denetlenir\n" +" -R -A seçeneÄŸi ile kullanıldığında kök dosya sistemi\n" +" denetlenmez.\n" +" -T BaÅŸlangıçta baÅŸlık gösterilmez.\n" +" -V Ä°ÅŸlemler sırasında daha fazla ayrıntı verilir.\n" +"\n" +"fsck seçenekleri:\n" +"\n" +"Bu seçenekler ext2fs dışındaki dosya sistemleri için garanti edilmez.\n" +"\n" +" -a Hiç bir soru sormadan sistem otomatik olarak denetlenir\n" +" ve onarılır.\n" +" -r Ä°ÅŸlemler etkileÅŸimli olarak yapılır. Paralel denetimler\n" +" için önerilmez.\n" +"\n" +"Çeviri hatalarını adresine bildiriniz.\n" +"\n" -#: misc/fsck.c:1120 +#: misc/fsck.c:1123 #, c-format msgid "%s: too many devices\n" msgstr "%s: aygıt sayısı çok fazla\n" -#: misc/fsck.c:1153 misc/fsck.c:1239 +#: misc/fsck.c:1156 misc/fsck.c:1242 #, c-format msgid "%s: too many arguments\n" msgstr "%s: argüman sayısı fazla\n" -#: misc/lsattr.c:74 +#: misc/lsattr.c:73 #, c-format msgid "Usage: %s [-RVadlv] [files...]\n" msgstr "" @@ -4153,7 +3871,8 @@ msgstr "" "Dosyaların özelliklerini listeler.\n" "\n" "Seçenekler:\n" -" -a '.' ile baÅŸlayanlar dahil dizinlerin içindeki tüm dosyaları listeler\n" +" -a '.' ile baÅŸlayanlar dahil dizinlerin içindeki tüm dosyaları " +"listeler\n" " -d dosyalar gibi dizinleri de listeler\n" " -R dizinler ve içerikleri ardışık olarak listelenir\n" " -V sürüm bilgileri gösterilir\n" @@ -4162,26 +3881,26 @@ msgstr "" "Çeviri hatalarını adresine bildiriniz.\n" "\n" -#: misc/lsattr.c:84 +#: misc/lsattr.c:83 #, c-format msgid "While reading flags on %s" msgstr "- %s üzerinde bayraklar okunurken hata oluÅŸtu" -#: misc/lsattr.c:91 +#: misc/lsattr.c:90 #, c-format msgid "While reading version on %s" msgstr "- %s üzerinde sürüm okunurken hata oluÅŸtu" -#: misc/mke2fs.c:116 +#: misc/mke2fs.c:104 #, fuzzy, c-format msgid "" -"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n" +"Usage: %s [-c|-l filename] [-b block-size] [-f fragment-size]\n" "\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n" -"\t[-G flex-group-size] [-N number-of-inodes]\n" +"\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n" "\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n" -"\t[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-count]\n" +"\t[-T fs-type] [-U UUID] [-jnqvFSV] device [blocks-count]\n" msgstr "" "Kullanımı: %s [seçenekler] aygıt [blok-sayısı]\n" "\n" @@ -4195,8 +3914,10 @@ msgstr "" " -g her-gruptaki-blok-sayısı\n" " -i düğüm-uzunluÄŸu boÅŸ bir dizinin disk üzerinde kaplayabileceÄŸi\n" " en küçük alan, bayt cinsinden verilir.\n" -" -j ext3 dosya sistemi için günlük dosyası oluÅŸturur\n" -" -J ile günlük dosyasının özellikleri verilmezse\n" +" -j ext3 dosya sistemi için günlük dosyası " +"oluÅŸturur\n" +" -J ile günlük dosyasının özellikleri " +"verilmezse\n" " dosya öntanımlı özelliklrele oluÅŸturulur.\n" " DÄ°KKAT: Linux çekirdeÄŸinde ext3 desteÄŸi yoksa\n" " sistem ext2 olarak kullanılabilir\n" @@ -4207,7 +3928,8 @@ msgstr "" " yüzdesi. Öntanımlı deÄŸeri %%5 tir\n" " -M son-baÄŸlanan-dizin dosya sistemine son baÄŸlanan dizin belirtilir\n" " -N düğüm-sayısı sistemdeki toplam düğüm sayısı belirtilir\n" -" -o iÅŸletim-sistemi dosya sisteminin 'creator os' alanına yazılacak\n" +" -o iÅŸletim-sistemi dosya sisteminin 'creator os' alanına " +"yazılacak\n" " deÄŸer. Normalde Linux'tur.\n" " -O özellik[,...] belirtilen özellikte dosya sistemi oluÅŸturur.\n" " Özellikler aÅŸağıda verilmiÅŸtir.\n" @@ -4219,49 +3941,51 @@ msgstr "" " -v iÅŸlem sırasında ayrıntılı bilgi verilir\n" " -V sürüm bilgileri gösterilir ve çıkar\n" "Günlükleme seçenekleri:\n" -" size=günlük-uzunluÄŸu Günlük dosyasının uzunluÄŸu MB olarak belirtilir\n" +" size=günlük-uzunluÄŸu Günlük dosyasının uzunluÄŸu MB olarak " +"belirtilir\n" " device=dış-günlük-aygıtı BaÅŸka bir aygıt üzerindeki günlük dosyasının\n" " kullanılması saÄŸlanır.\n" "\n" "Özellikler:\n" " sparse_super Yedek süperblokların sayısını sınırlamakta kullanılır.\n" " filetype Dizin kayıtlarında dosya türü bilgisi saklanır.\n" -" has_journal -j seçeneÄŸi ile aynı. Bir ext3 günlük dosyası oluÅŸturur.\n" +" has_journal -j seçeneÄŸi ile aynı. Bir ext3 günlük dosyası " +"oluÅŸturur.\n" "\n" "Çeviri hatalarını adresine bildiriniz.\n" "\n" -#: misc/mke2fs.c:221 +#: misc/mke2fs.c:206 #, c-format msgid "Running command: %s\n" msgstr "Çalışan komut: %s\n" -#: misc/mke2fs.c:225 +#: misc/mke2fs.c:210 #, c-format msgid "while trying to run '%s'" msgstr "- '%s' çalıştırılırken oldu" -#: misc/mke2fs.c:232 +#: misc/mke2fs.c:217 msgid "while processing list of bad blocks from program" msgstr "- hatalı bloklar listesi iÅŸlenirken hata oluÅŸtu" -#: misc/mke2fs.c:259 +#: misc/mke2fs.c:244 #, c-format msgid "Block %d in primary superblock/group descriptor area bad.\n" msgstr "Birincil süperblok/grup tanımı alanındaki blok %d hatalı\n" -#: misc/mke2fs.c:261 -#, c-format +#: misc/mke2fs.c:246 +#, fuzzy, c-format msgid "Blocks %u through %u must be good in order to build a filesystem.\n" msgstr "" -"Bir dosya sistemi oluÅŸturulurken %u den %u ye kadar olan\n" +"Bir dosya sistemi oluÅŸturulurken %u den %d ye kadar olan\n" "bloklar hatasız olmak zorundadır.\n" -#: misc/mke2fs.c:264 +#: misc/mke2fs.c:249 msgid "Aborting....\n" msgstr "Çıkılıyor...\n" -#: misc/mke2fs.c:284 +#: misc/mke2fs.c:269 #, c-format msgid "" "Warning: the backup superblock/group descriptors at block %u contain\n" @@ -4272,223 +3996,188 @@ msgstr "" "\thatalı bloklar içeriyor.\n" "\n" -#: misc/mke2fs.c:303 +#: misc/mke2fs.c:288 msgid "while marking bad blocks as used" msgstr "- hatalı bloklar kullanılmış olarak imlenirken hata oluÅŸtu" -#: misc/mke2fs.c:320 +#: misc/mke2fs.c:346 +msgid "done \n" +msgstr "bitti \n" + +#: misc/mke2fs.c:360 msgid "Writing inode tables: " msgstr "Düğüm tabloları yazılıyor: " -#: misc/mke2fs.c:341 -#, fuzzy, c-format +#: misc/mke2fs.c:383 +#, c-format msgid "" "\n" -"Could not write %d blocks in inode table starting at %llu: %s\n" +"Could not write %d blocks in inode table starting at %u: %s\n" msgstr "" "\n" "%2$u de baÅŸlayan düğüm tablosundaki %1$d blok yazılamadı: %3$s\n" -#: misc/mke2fs.c:355 misc/mke2fs.c:2257 misc/mke2fs.c:2512 -#, c-format -msgid "done \n" -msgstr "bitti \n" - -#: misc/mke2fs.c:366 +#: misc/mke2fs.c:407 msgid "while creating root dir" msgstr "- kök dizin oluÅŸturulurken hata" -#: misc/mke2fs.c:373 +#: misc/mke2fs.c:414 msgid "while reading root inode" msgstr "- kök düğümü okunurken hata oluÅŸtu" -#: misc/mke2fs.c:385 +#: misc/mke2fs.c:428 msgid "while setting root inode ownership" msgstr "- kök düğümünün sahibi belirlenirken hata oluÅŸtu" -#: misc/mke2fs.c:403 +#: misc/mke2fs.c:446 msgid "while creating /lost+found" msgstr "- /lost+found dizini oluÅŸturulurken hata oluÅŸtu" -#: misc/mke2fs.c:410 +#: misc/mke2fs.c:453 msgid "while looking up /lost+found" msgstr "- /lost+found dizine bakılırken hata oluÅŸtu" -#: misc/mke2fs.c:423 +#: misc/mke2fs.c:466 msgid "while expanding /lost+found" msgstr "- /lost+found dizini geniÅŸletilirken hata oluÅŸtu" -#: misc/mke2fs.c:438 +#: misc/mke2fs.c:481 msgid "while setting bad block inode" msgstr "- hatalı blok düğümü belirlenirken hata oluÅŸtu" -#: misc/mke2fs.c:465 +#: misc/mke2fs.c:508 #, c-format msgid "Out of memory erasing sectors %d-%d\n" msgstr "%d-%d arasındaki sektörler silinirken bellek yetmedi\n" -#: misc/mke2fs.c:475 +#: misc/mke2fs.c:518 #, c-format msgid "Warning: could not read block 0: %s\n" msgstr "Uyarı: blok 0 okunamadı: %s\n" -#: misc/mke2fs.c:491 +#: misc/mke2fs.c:534 #, c-format msgid "Warning: could not erase sector %d: %s\n" msgstr "Uyarı: %d. sektör silinemedi: %s\n" -#: misc/mke2fs.c:507 +#: misc/mke2fs.c:550 msgid "while initializing journal superblock" msgstr "- gümlük superbloÄŸu ilklendirilirken hata oluÅŸtu" -#: misc/mke2fs.c:515 +#: misc/mke2fs.c:556 msgid "Zeroing journal device: " msgstr "Günlük aygıtı temizleniyor: " -#: misc/mke2fs.c:527 -#, fuzzy, c-format -msgid "while zeroing journal device (block %llu, count %d)" +#: misc/mke2fs.c:569 +#, c-format +msgid "while zeroing journal device (block %u, count %d)" msgstr "- günlük aygıtı temizlenirken (blok %u, %d blok) hata oluÅŸtu" -#: misc/mke2fs.c:545 +#: misc/mke2fs.c:585 msgid "while writing journal superblock" msgstr "- günlük süperbloÄŸu yazılırken hata oluÅŸtu" -#: misc/mke2fs.c:560 -#, fuzzy, c-format +#: misc/mke2fs.c:601 +#, c-format msgid "" -"warning: %llu blocks unused.\n" +"warning: %u blocks unused.\n" "\n" msgstr "" "uyarı: %u blok kullanılmamış.\n" "\n" -#: misc/mke2fs.c:565 +#: misc/mke2fs.c:606 #, c-format msgid "Filesystem label=%s\n" msgstr "Dosya sistemi ismi = %s\n" -#: misc/mke2fs.c:568 -#, fuzzy, c-format -msgid "OS type: %s\n" +#: misc/mke2fs.c:607 +msgid "OS type: " msgstr "Ä°ÅŸl. Sist. türü: " -#: misc/mke2fs.c:570 +#: misc/mke2fs.c:612 #, c-format msgid "Block size=%u (log=%u)\n" msgstr "Blok boyu = %u (günlük kaydı = %u)\n" -#: misc/mke2fs.c:574 -#, fuzzy, c-format -msgid "Cluster size=%u (log=%u)\n" -msgstr "Blok boyu = %u (günlük kaydı = %u)\n" - -#: misc/mke2fs.c:578 +#: misc/mke2fs.c:614 #, c-format msgid "Fragment size=%u (log=%u)\n" msgstr "Adımlama boyu = %u (günlük kaydı = %u)\n" -#: misc/mke2fs.c:580 +#: misc/mke2fs.c:616 #, c-format -msgid "Stride=%u blocks, Stripe width=%u blocks\n" -msgstr "" - -#: misc/mke2fs.c:582 -#, fuzzy, c-format -msgid "%u inodes, %llu blocks\n" +msgid "%u inodes, %u blocks\n" msgstr "%u düğüm, %u blok\n" -#: misc/mke2fs.c:584 -#, fuzzy, c-format -msgid "%llu blocks (%2.2f%%) reserved for the super user\n" +#: misc/mke2fs.c:618 +#, c-format +msgid "%u blocks (%2.2f%%) reserved for the super user\n" msgstr "%u blok (%%%2.2f) süper kullanıcı için ayrıldı\n" -#: misc/mke2fs.c:587 +#: misc/mke2fs.c:621 #, c-format msgid "First data block=%u\n" msgstr "Ä°lk veri bloÄŸu = %u\n" -#: misc/mke2fs.c:589 -#, c-format -msgid "Root directory owner=%u:%u\n" -msgstr "" - -#: misc/mke2fs.c:591 +#: misc/mke2fs.c:623 #, c-format msgid "Maximum filesystem blocks=%lu\n" msgstr "Azami dosyasistemi bloÄŸu sayısı = %lu\n" -#: misc/mke2fs.c:595 +#: misc/mke2fs.c:627 #, c-format msgid "%u block groups\n" msgstr "%u blok grubu\n" -#: misc/mke2fs.c:597 +#: misc/mke2fs.c:629 #, c-format msgid "%u block group\n" msgstr "%u blok grubu\n" -#: misc/mke2fs.c:600 -#, fuzzy, c-format -msgid "%u blocks per group, %u clusters per group\n" -msgstr "Grup başına %u blok ve %u sekme\n" - -#: misc/mke2fs.c:603 +#: misc/mke2fs.c:630 #, c-format msgid "%u blocks per group, %u fragments per group\n" msgstr "Grup başına %u blok ve %u sekme\n" -#: misc/mke2fs.c:605 +#: misc/mke2fs.c:632 #, c-format msgid "%u inodes per group\n" msgstr "grup başına %u düğüm\n" -#: misc/mke2fs.c:612 +#: misc/mke2fs.c:639 #, c-format msgid "Superblock backups stored on blocks: " msgstr "Süperblokların bulunduÄŸu bloklar:" -#: misc/mke2fs.c:691 misc/tune2fs.c:1165 -#, fuzzy, c-format -msgid "Invalid mmp_update_interval: %s\n" -msgstr "sınama ÅŸablonu geçersiz: %s\n" - -#: misc/mke2fs.c:705 +#: misc/mke2fs.c:718 #, c-format msgid "Invalid stride parameter: %s\n" msgstr "'stride' parametresi geçersiz: %s\n" -#: misc/mke2fs.c:720 -#, c-format +#: misc/mke2fs.c:733 +#, fuzzy, c-format msgid "Invalid stripe-width parameter: %s\n" -msgstr "Geçersiz çizgi geniÅŸlik parametresi: %s\n" +msgstr "'stride' parametresi geçersiz: %s\n" -#: misc/mke2fs.c:743 +#: misc/mke2fs.c:755 #, c-format msgid "Invalid resize parameter: %s\n" msgstr "Yeniden boyutlama parametresi geçersiz: %s\n" -#: misc/mke2fs.c:750 +#: misc/mke2fs.c:762 #, c-format msgid "The resize maximum must be greater than the filesystem size.\n" -msgstr "Azami yeniden boyutlama deÄŸeri dosya sistemi boyutundan büyük olmalıdır.\n" - -#: misc/mke2fs.c:774 -#, c-format -msgid "On-line resizing not supported with revision 0 filesystems\n" -msgstr "Satırda boyutlandırma, 0. gözden geçirmedeki dosya sistemlerinde desteklenmemektedir\n" - -#: misc/mke2fs.c:801 misc/mke2fs.c:810 -#, fuzzy, c-format -msgid "Invalid root_owner: '%s'\n" -msgstr "Geçersiz dosya sistemi seçeneÄŸi belirtidi: %s\n" +msgstr "" +"Azami yeniden boyutlama deÄŸeri dosya sistemi boyutundan büyük olmalıdır.\n" -#: misc/mke2fs.c:835 +#: misc/mke2fs.c:786 #, fuzzy, c-format -msgid "Invalid quotatype parameter: %s\n" -msgstr "'stride' parametresi geçersiz: %s\n" +msgid "On-line resizing not supported with revision 0 filesystems\n" +msgstr "" +"Dosyasistemi özellikleri 0 revizyonlu dosyasistemlerinde desteklenmiyor\n" -#: misc/mke2fs.c:846 +#: misc/mke2fs.c:808 #, fuzzy, c-format msgid "" "\n" @@ -4502,13 +4191,7 @@ msgid "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" -"\tlazy_journal_init=<0 to disable, 1 to enable>\n" -"\troot_uid=\n" -"\troot_gid=\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" msgstr "" "\n" @@ -4522,7 +4205,7 @@ msgstr "" "\tresize=\n" "\n" -#: misc/mke2fs.c:868 +#: misc/mke2fs.c:824 #, c-format msgid "" "\n" @@ -4530,7 +4213,7 @@ msgid "" "\n" msgstr "" -#: misc/mke2fs.c:907 +#: misc/mke2fs.c:856 #, c-format msgid "" "Syntax error in mke2fs config file (%s, line #%d)\n" @@ -4539,162 +4222,140 @@ msgstr "" "mke2fs yapılandırma dosyasında (%s, %d.satırda) sözdizimi hatası\n" "\t%s\n" -#: misc/mke2fs.c:920 misc/tune2fs.c:398 +#: misc/mke2fs.c:869 misc/tune2fs.c:353 #, c-format msgid "Invalid filesystem option set: %s\n" msgstr "Geçersiz dosya sistemi seçeneÄŸi: %s\n" -#: misc/mke2fs.c:932 misc/tune2fs.c:349 -#, c-format -msgid "Invalid mount option set: %s\n" -msgstr "Geçersiz dosya sistemi seçeneÄŸi belirtidi: %s\n" - -#: misc/mke2fs.c:1072 +#: misc/mke2fs.c:979 #, c-format msgid "" "\n" -"Your mke2fs.conf file does not define the %s filesystem type.\n" +"Warning! Your mke2fs.conf file does not define the %s filesystem type.\n" msgstr "" -#: misc/mke2fs.c:1076 +#: misc/mke2fs.c:982 #, c-format msgid "" "You probably need to install an updated mke2fs.conf file.\n" "\n" msgstr "" -#: misc/mke2fs.c:1080 -#, fuzzy, c-format -msgid "Aborting...\n" -msgstr "Çıkılıyor...\n" - -#: misc/mke2fs.c:1120 -#, c-format -msgid "" -"\n" -"Warning: the fs_type %s is not defined in mke2fs.conf\n" -"\n" -msgstr "" - -#: misc/mke2fs.c:1276 -#, fuzzy, c-format -msgid "Couldn't allocate memory for new PATH.\n" -msgstr "Dosya sistemi türleri için bellek ayrılamadı\n" - -#: misc/mke2fs.c:1317 -#, c-format -msgid "Couldn't init profile successfully (error: %ld).\n" -msgstr "" - -#: misc/mke2fs.c:1357 +#: misc/mke2fs.c:1177 #, c-format msgid "invalid block size - %s" msgstr "blok uzunluÄŸu hatalı - %s" -#: misc/mke2fs.c:1361 +#: misc/mke2fs.c:1181 #, c-format msgid "Warning: blocksize %d not usable on most systems.\n" msgstr "Uyarı: blok uzunluÄŸu %d birçok sistemde kullanımdışıdır.\n" -#: misc/mke2fs.c:1377 -#, fuzzy, c-format -msgid "invalid cluster size - %s" -msgstr "blok uzunluÄŸu hatalı - %s" +#: misc/mke2fs.c:1197 +#, c-format +msgid "invalid fragment size - %s" +msgstr "sekme boyu hatalı - %s" -#: misc/mke2fs.c:1387 -msgid "'-R' is deprecated, use '-E' instead" -msgstr "" +#: misc/mke2fs.c:1203 +#, c-format +msgid "Warning: fragments not supported. Ignoring -f option\n" +msgstr "Uyarı: sekmeler desteklenmediÄŸinden -f seçeneÄŸi yoksayılıyor\n" -#: misc/mke2fs.c:1399 +#: misc/mke2fs.c:1210 msgid "Illegal number for blocks per group" msgstr "Grup başına blok sayısı kuraldışı" -#: misc/mke2fs.c:1404 +#: misc/mke2fs.c:1215 msgid "blocks per group must be multiple of 8" msgstr "grup başına blok sayısı 8'in katları olmalıdır" -#: misc/mke2fs.c:1412 +#: misc/mke2fs.c:1223 #, fuzzy msgid "Illegal number for flex_bg size" -msgstr "Grup başına blok sayısı kuraldışı" +msgstr "Blok sayısı kuraldışı!\n" -#: misc/mke2fs.c:1418 +#: misc/mke2fs.c:1229 msgid "flex_bg size must be a power of 2" msgstr "" -#: misc/mke2fs.c:1428 +#: misc/mke2fs.c:1239 #, c-format msgid "invalid inode ratio %s (min %d/max %d)" msgstr "düğüm oranı %s hatalı (en az %d/en çok %d)" -#: misc/mke2fs.c:1438 -#, c-format -msgid "invalid inode size - %s" -msgstr "düğüm uzunluÄŸu hatalı - %s" - -#: misc/mke2fs.c:1450 -#, c-format -msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n" -msgstr "" - -#: misc/mke2fs.c:1460 +#: misc/mke2fs.c:1256 msgid "in malloc for bad_blocks_filename" msgstr "- bad_blocks_filename için bellek ayrılırken" -#: misc/mke2fs.c:1473 +#: misc/mke2fs.c:1265 #, c-format msgid "invalid reserved blocks percent - %s" msgstr "yedek blok yüzdesi hatalı - %s" -#: misc/mke2fs.c:1488 -#, c-format -msgid "bad num inodes - %s" -msgstr "düğüm sayısı hatalı - %s" - -#: misc/mke2fs.c:1505 +#: misc/mke2fs.c:1283 #, c-format msgid "bad revision level - %s" msgstr "deÄŸiÅŸiklik seviyesi hatalı - %s" -#: misc/mke2fs.c:1519 -#, fuzzy -msgid "The -t option may only be used once" -msgstr "-o yalnız bir kere kullanılabilir" +#: misc/mke2fs.c:1295 +#, c-format +msgid "invalid inode size - %s" +msgstr "düğüm uzunluÄŸu hatalı - %s" -#: misc/mke2fs.c:1527 -#, fuzzy -msgid "The -T option may only be used once" -msgstr "-o yalnız bir kere kullanılabilir" +#: misc/mke2fs.c:1315 +#, c-format +msgid "bad num inodes - %s" +msgstr "düğüm sayısı hatalı - %s" -#: misc/mke2fs.c:1580 misc/mke2fs.c:2591 +#: misc/mke2fs.c:1380 misc/mke2fs.c:2052 #, c-format msgid "while trying to open journal device %s\n" msgstr "- %s günlük aygıtı açılmaya çalışılırken hata\n" -#: misc/mke2fs.c:1586 +#: misc/mke2fs.c:1386 #, c-format msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n" msgstr "Günlük aygıtının blok boyu (%d) asgari blok boyundan (%d) küçük\n" -#: misc/mke2fs.c:1592 +#: misc/mke2fs.c:1392 #, fuzzy, c-format msgid "Using journal device's blocksize: %d\n" msgstr "%s'e günlük ekleniyor: " -#: misc/mke2fs.c:1603 -#, fuzzy, c-format -msgid "invalid blocks '%s' on device '%s'" -msgstr "blok sayısı hatalı - %s" - -#: misc/mke2fs.c:1613 -msgid "filesystem" -msgstr "dosya sistemi" +#: misc/mke2fs.c:1401 +#, c-format +msgid "%d-byte blocks too big for system (max %d)" +msgstr "%d baytlık bloklar sistem için çok büyük (en çok %d)" -#: misc/mke2fs.c:1626 resize/main.c:367 +#: misc/mke2fs.c:1405 +#, c-format +msgid "" +"Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +msgstr "" +"Uyarı: %d baytlık bloklar sistem için çok büyük (en çok %d), ama devam " +"ediliyor\n" + +#: misc/mke2fs.c:1413 +#, c-format +msgid "invalid blocks count - %s" +msgstr "blok sayısı hatalı - %s" + +#: misc/mke2fs.c:1423 +msgid "filesystem" +msgstr "dosya sistemi" + +#: misc/mke2fs.c:1459 +#, c-format +msgid "" +"%s: Size of device %s too big to be expressed in 32 bits\n" +"\tusing a blocksize of %d.\n" +msgstr "" + +#: misc/mke2fs.c:1468 resize/main.c:371 msgid "while trying to determine filesystem size" msgstr "- dosya sistemi uzunluÄŸu saptanmaya çalışılırken hata oluÅŸtu" -#: misc/mke2fs.c:1632 +#: misc/mke2fs.c:1475 msgid "" "Couldn't determine device size; you must specify\n" "the size of the filesystem\n" @@ -4702,7 +4363,7 @@ msgstr "" "Aygıt alanı saptanamadı; dosya sistemi için\n" "bir uzunluk belirtmelisiniz\n" -#: misc/mke2fs.c:1639 +#: misc/mke2fs.c:1482 msgid "" "Device size reported to be zero. Invalid partition specified, or\n" "\tpartition table wasn't reread after running fdisk, due to\n" @@ -4715,166 +4376,91 @@ msgstr "" "Disk bölümleme tablosunun yeniden okunması için sisteminizi yeniden\n" "baÅŸlatmalısınız.\n" -#: misc/mke2fs.c:1656 +#: misc/mke2fs.c:1500 msgid "Filesystem larger than apparent device size." msgstr "Dosya sisteminin uzunluÄŸu görünürdeki uzunluktan büyük." -#: misc/mke2fs.c:1676 +#: misc/mke2fs.c:1506 #, c-format msgid "Failed to parse fs types list\n" msgstr "" -#: misc/mke2fs.c:1730 -#, 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:1746 +#: misc/mke2fs.c:1542 msgid "fs_types for mke2fs.conf resolution: " msgstr "" -#: misc/mke2fs.c:1753 +#: misc/mke2fs.c:1549 #, c-format msgid "Filesystem features not supported with revision 0 filesystems\n" -msgstr "Dosyasistemi özellikleri 0 revizyonlu dosyasistemlerinde desteklenmiyor\n" +msgstr "" +"Dosyasistemi özellikleri 0 revizyonlu dosyasistemlerinde desteklenmiyor\n" -#: misc/mke2fs.c:1760 -#, c-format +#: misc/mke2fs.c:1556 +#, fuzzy, c-format msgid "Sparse superblocks not supported with revision 0 filesystems\n" msgstr "" +"Dosyasistemi özellikleri 0 revizyonlu dosyasistemlerinde desteklenmiyor\n" -#: misc/mke2fs.c:1772 -#, c-format +#: misc/mke2fs.c:1568 +#, fuzzy, c-format msgid "Journals not supported with revision 0 filesystems\n" msgstr "" +"Dosyasistemi özellikleri 0 revizyonlu dosyasistemlerinde desteklenmiyor\n" -#: misc/mke2fs.c:1786 -#, fuzzy, c-format -msgid "invalid reserved blocks percent - %lf" -msgstr "yedek blok yüzdesi hatalı - %s" - -#: misc/mke2fs.c:1802 +#: misc/mke2fs.c:1586 #, c-format msgid "" "The resize_inode and meta_bg features are not compatible.\n" "They can not be both enabled simultaneously.\n" msgstr "" -#: misc/mke2fs.c:1819 +#: misc/mke2fs.c:1603 msgid "while trying to determine hardware sector size" msgstr "- donanımsal sektör boyu saptanmaya çalışılırken" -#: misc/mke2fs.c:1825 -#, fuzzy -msgid "while trying to determine physical sector size" -msgstr "- donanımsal sektör boyu saptanmaya çalışılırken" - -#: misc/mke2fs.c:1858 -#, fuzzy -msgid "while setting blocksize; too small for device\n" -msgstr "- yeniden boyutlama için bloklar yedeklenirken hata oluÅŸtu" - -#: misc/mke2fs.c:1863 -#, c-format -msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n" -msgstr "" - -#: misc/mke2fs.c:1881 -#, fuzzy -msgid "The cluster size may not be smaller than the block size.\n" -msgstr "Azami yeniden boyutlama deÄŸeri dosya sistemi boyutundan büyük olmalıdır.\n" - -#: misc/mke2fs.c:1887 -msgid "specifying a cluster size requires the bigalloc feature" -msgstr "" - -#: misc/mke2fs.c:1906 -#, c-format -msgid "warning: Unable to get device geometry for %s\n" -msgstr "" - -#: misc/mke2fs.c:1909 -#, c-format -msgid "%s alignment is offset by %lu bytes.\n" -msgstr "" - -#: misc/mke2fs.c:1911 -#, c-format -msgid "This may result in very poor performance, (re)-partitioning suggested.\n" -msgstr "" - -#: misc/mke2fs.c:1930 -#, c-format -msgid "%d-byte blocks too big for system (max %d)" -msgstr "%d baytlık bloklar sistem için çok büyük (en çok %d)" - -#: misc/mke2fs.c:1934 -#, c-format -msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" -msgstr "Uyarı: %d baytlık bloklar sistem için çok büyük (en çok %d), ama devam ediliyor\n" - -#: misc/mke2fs.c:1968 -msgid "Can't support bigalloc feature without extents feature" -msgstr "" - -#: misc/mke2fs.c:1975 -#, c-format -msgid "" -"\n" -"Warning: the bigalloc feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n" -"\n" -msgstr "" - -#: misc/mke2fs.c:1982 misc/tune2fs.c:740 -#, c-format -msgid "" -"\n" -"Warning: the quota feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Quota for more information\n" -"\n" -msgstr "" - -#: misc/mke2fs.c:1993 +#: misc/mke2fs.c:1661 msgid "reserved online resize blocks not supported on non-sparse filesystem" msgstr "" "süperblok azaltması uygulanmamış dosya sisteminde\n" "yedek bloklar kullanılarak yeniden boyutlama desteklenmiyor." -#: misc/mke2fs.c:2002 +#: misc/mke2fs.c:1670 msgid "blocks per group count out of range" msgstr "Grup başına blok sayısı kapsamdışı" -#: misc/mke2fs.c:2026 +#: misc/mke2fs.c:1685 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" msgstr "" -#: misc/mke2fs.c:2038 +#: misc/mke2fs.c:1697 #, c-format msgid "invalid inode size %d (min %d/max %d)" msgstr "düğüm uzunluÄŸu %d hatalı (en az %d/en çok %d)" -#: misc/mke2fs.c:2056 +#: misc/mke2fs.c:1711 #, c-format msgid "too many inodes (%llu), raise inode ratio?" msgstr "" -#: misc/mke2fs.c:2063 +#: misc/mke2fs.c:1716 #, c-format msgid "too many inodes (%llu), specify < 2^32 inodes" msgstr "" -#: misc/mke2fs.c:2077 +#: misc/mke2fs.c:1731 #, c-format msgid "" "inode_size (%u) * inodes_count (%u) too big for a\n" -"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n" +"\tfilesystem with %lu blocks, specify higher inode_ratio (-i)\n" "\tor lower inode count (-N).\n" msgstr "" -#: misc/mke2fs.c:2196 +#: misc/mke2fs.c:1828 misc/tune2fs.c:1462 +#, fuzzy, c-format +msgid "while trying to delete %s" +msgstr "- %s yeniden boyutlandırılırken hata oluÅŸtu" + +#: misc/mke2fs.c:1837 #, c-format msgid "" "Overwriting existing filesystem; this can be undone using the command:\n" @@ -4882,70 +4468,38 @@ msgid "" "\n" msgstr "" -#: misc/mke2fs.c:2210 -#, fuzzy -msgid "while trying to setup undo file\n" -msgstr "" -"\n" -"\tgünlük dosyası oluÅŸturulmaya çalışılırken hata oluÅŸtu" - -#: misc/mke2fs.c:2236 -msgid "Discarding device blocks: " -msgstr "" - -#: misc/mke2fs.c:2252 -msgid "failed - " -msgstr "" - -#: misc/mke2fs.c:2360 +#: misc/mke2fs.c:1885 msgid "while setting up superblock" msgstr "- süperblok ayarlanırken hata oluÅŸtu" -#: misc/mke2fs.c:2369 -#, c-format -msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" -msgstr "" - -#: misc/mke2fs.c:2452 +#: misc/mke2fs.c:1936 #, c-format msgid "unknown os - %s" msgstr "bilinmeyen iÅŸletim sistemi - %s" -#: misc/mke2fs.c:2504 -#, fuzzy, c-format -msgid "Allocating group tables: " -msgstr "Düğüm tabloları yazılıyor: " - -#: misc/mke2fs.c:2508 +#: misc/mke2fs.c:1990 msgid "while trying to allocate filesystem tables" msgstr "- dosya sistemi tabloları ayrılmaya çalışılırken hata oluÅŸtu" -#: misc/mke2fs.c:2517 -#, fuzzy -msgid "" -"\n" -"\twhile converting subcluster bitmap" -msgstr "- blok biteÅŸlemi yazılırken hata oluÅŸtu" - -#: misc/mke2fs.c:2560 -#, fuzzy, c-format -msgid "while zeroing block %llu at end of filesystem" +#: misc/mke2fs.c:2021 +#, c-format +msgid "while zeroing block %u at end of filesystem" msgstr "- dosya sisteminin sonunda blok %u sıfırlanırken hata oluÅŸtu" -#: misc/mke2fs.c:2573 +#: misc/mke2fs.c:2034 msgid "while reserving blocks for online resize" msgstr "- yeniden boyutlama için bloklar yedeklenirken hata oluÅŸtu" -#: misc/mke2fs.c:2584 misc/tune2fs.c:645 +#: misc/mke2fs.c:2045 misc/tune2fs.c:477 msgid "journal" msgstr "günlük" -#: misc/mke2fs.c:2596 +#: misc/mke2fs.c:2057 #, c-format msgid "Adding journal to device %s: " msgstr "%s'e günlük ekleniyor: " -#: misc/mke2fs.c:2603 +#: misc/mke2fs.c:2064 #, c-format msgid "" "\n" @@ -4954,47 +4508,22 @@ msgstr "" "\n" "\tgünlük %s e eklenmeye çalışılırken hata oluÅŸtu" -#: misc/mke2fs.c:2608 misc/mke2fs.c:2640 misc/tune2fs.c:674 misc/tune2fs.c:688 +#: misc/mke2fs.c:2069 misc/mke2fs.c:2095 misc/tune2fs.c:506 misc/tune2fs.c:520 #, c-format msgid "done\n" msgstr "tamam\n" -#: misc/mke2fs.c:2617 -#, c-format -msgid "Skipping journal creation in super-only mode\n" -msgstr "" - -#: misc/mke2fs.c:2628 +#: misc/mke2fs.c:2083 #, fuzzy, c-format msgid "Creating journal (%u blocks): " msgstr "Günlük oluÅŸturuluyor (%d blok): " -#: misc/mke2fs.c:2636 -msgid "" -"\n" -"\twhile trying to create journal" -msgstr "" -"\n" -"\tgünlük oluÅŸturulmaya çalışılırken hata oluÅŸtu" - -#: misc/mke2fs.c:2647 misc/tune2fs.c:451 -#, c-format -msgid "" -"\n" -"Error while enabling multiple mount protection feature." -msgstr "" - -#: misc/mke2fs.c:2652 -#, c-format -msgid "Multiple mount protection is enabled with update interval %d seconds.\n" -msgstr "" - -#: misc/mke2fs.c:2665 +#: misc/mke2fs.c:2100 #, c-format msgid "Writing superblocks and filesystem accounting information: " msgstr "Süperblokların ve dosya sisteminin hesap bilgileri yazılıyor: " -#: misc/mke2fs.c:2672 +#: misc/mke2fs.c:2105 #, c-format msgid "" "\n" @@ -5003,7 +4532,7 @@ msgstr "" "\n" "Uyarı, süperblokların tamamına yazma sorunu var." -#: misc/mke2fs.c:2674 +#: misc/mke2fs.c:2108 #, c-format msgid "" "done\n" @@ -5012,12 +4541,12 @@ msgstr "" "bitti\n" "\n" -#: misc/mklost+found.c:50 +#: misc/mklost+found.c:49 #, c-format msgid "Usage: mklost+found\n" msgstr "Kullanımı: mklost+found\n" -#: misc/partinfo.c:41 +#: misc/partinfo.c:39 #, fuzzy, c-format msgid "" "Usage: %s device...\n" @@ -5034,36 +4563,36 @@ msgstr "" "\t%s /dev/hda?\n" "\n" -#: misc/partinfo.c:51 +#: misc/partinfo.c:49 #, fuzzy, c-format msgid "Cannot open %s: %s" msgstr "e2label: %s açılamıyor\n" -#: misc/partinfo.c:57 +#: misc/partinfo.c:55 #, c-format msgid "Cannot get geometry of %s: %s" msgstr "" -#: misc/partinfo.c:65 +#: misc/partinfo.c:63 #, c-format msgid "Cannot get size of %s: %s" msgstr "" -#: misc/partinfo.c:71 +#: misc/partinfo.c:69 #, c-format msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n" msgstr "" -#: misc/tune2fs.c:107 +#: misc/tune2fs.c:96 msgid "Please run e2fsck on the filesystem.\n" msgstr "Lütfen dosya sisteminde e2fsck çalıştırın.\n" -#: misc/tune2fs.c:116 +#: misc/tune2fs.c:103 #, fuzzy, c-format msgid "" "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" -"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p mmp_update_interval]\n" +"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n" @@ -5074,17 +4603,20 @@ msgstr "" "Dosya sisteminin ayarlanabilir parametrelerini deÄŸiÅŸtirmekte kullanılır.\n" "\n" "Seçenekler:\n" -" -c SAYI Ä°ki dosyasistemi denetimi arasında dosya sisteminin\n" +" -c SAYI Ä°ki dosyasistemi denetimi arasında dosya " +"sisteminin\n" " en çok kaç defa baÄŸlanabileceÄŸi belirtilir.\n" " -C SAYI -c ile aynı\n" " -e hata-davranışı Hata oluÅŸtuÄŸunda ne yapılacağı belirtilir.\n" " 'continue': hata yoksayılır. 'remount-ro': dosya\n" " sistemi salt-okunur olarak baÄŸlanır. 'panic':\n" " çekirdek paniÄŸi oluÅŸur.\n" -" -g grup Yedek blokların hangi kullanıcı grubuna ayrılacağı\n" +" -g grup Yedek blokların hangi kullanıcı grubuna " +"ayrılacağı\n" " belirtilir. Grup ismi ya da numarası verilebilir.\n" " -u kullanıcı Yedek blokların hangi kullanıcıya ayrılacağı\n" -" belirtilir. Kull. ismi ya da numarası verilebilir.\n" +" belirtilir. Kull. ismi ya da numarası " +"verilebilir.\n" " -i süre[d|m|w] Ä°ki denetim arasındaki en büyük süre belirtilir.\n" " Gün(d), ay(m), hafta(w) olarak verilebilir. 0 ile\n" " zamana baÄŸlı denetim ayarı kaldırılır.\n" @@ -5106,12 +4638,14 @@ msgstr "" " -T son-denetim-zamanı Betiklerle kullanmak içindir\n" " -U UUID|clear|random|time\n" " Dosya sisteminin evrensel tek kimliÄŸi veya (UUID)\n" -" hangi yöntemle belirleneceÄŸi belirtilir.'clear' ile\n" +" hangi yöntemle belirleneceÄŸi belirtilir.'clear' " +"ile\n" " silinir; 'random' rasgele, 'time' zamana göre bir\n" " kimlik üretir.\n" "\n" "Günlükleme seçenekleri:\n" -" size=günlük-uzunluÄŸu Günlük dosyasının uzunluÄŸu MB olarak belirtilir\n" +" size=günlük-uzunluÄŸu Günlük dosyasının uzunluÄŸu MB olarak " +"belirtilir\n" " device=dış-günlük-aygıtı BaÅŸka bir aygıt üzerindeki günlük dosyasının\n" " kullanılması saÄŸlanır.\n" "\n" @@ -5121,66 +4655,68 @@ msgstr "" "eklenir.\n" " sparse_super Yedek süperblokların sayısını sınırlamakta kullanılır.\n" " filetype Dizin kayıtlarında dosya türü bilgisi saklanır.\n" -" has_journal -j seçeneÄŸi ile aynı. Bir ext3 günlük dosyası oluÅŸturur.\n" +" has_journal -j seçeneÄŸi ile aynı. Bir ext3 günlük dosyası " +"oluÅŸturur.\n" "\n" "Çeviri hatalarını adresine bildiriniz.\n" "\n" -#: misc/tune2fs.c:209 +#: misc/tune2fs.c:188 msgid "while trying to open external journal" msgstr "- dış günlük açılmaya çalışılırken hata oluÅŸtu" -#: misc/tune2fs.c:214 +#: misc/tune2fs.c:192 #, c-format msgid "%s is not a journal device.\n" msgstr "%s bir günlükleme aygıtı deÄŸil.\n" -#: misc/tune2fs.c:229 +#: misc/tune2fs.c:207 msgid "Journal superblock not found!\n" msgstr "Günlük süperbloÄŸu yok!\n" -#: misc/tune2fs.c:240 +#: misc/tune2fs.c:219 msgid "Filesystem's UUID not found on journal device.\n" -msgstr "Günlükleme aygıtında dosya sisteminin evrensel tek kimliÄŸi (UUID) yok.\n" - -#: misc/tune2fs.c:261 -msgid "" -"Cannot locate journal device. It was NOT removed\n" -"Use -f option to remove missing journal device.\n" msgstr "" +"Günlükleme aygıtında dosya sisteminin evrensel tek kimliÄŸi (UUID) yok.\n" + +#: misc/tune2fs.c:240 +msgid "Journal NOT removed\n" +msgstr "Günlük silinMEdi\n" -#: misc/tune2fs.c:269 +#: misc/tune2fs.c:246 msgid "Journal removed\n" msgstr "Günlük silindi\n" -#: misc/tune2fs.c:313 +#: misc/tune2fs.c:286 msgid "while reading bitmaps" msgstr "- biteÅŸlemler okunurken hata oluÅŸtu" -#: misc/tune2fs.c:321 +#: misc/tune2fs.c:294 msgid "while clearing journal inode" msgstr "- günlük düğümü temizlenirken hata oluÅŸtu" -#: misc/tune2fs.c:332 +#: misc/tune2fs.c:305 msgid "while writing journal inode" msgstr "- günlük düğümü yazılırken hata oluÅŸtu" -#: misc/tune2fs.c:367 +#: misc/tune2fs.c:320 #, c-format -msgid "(and reboot afterwards!)\n" -msgstr "" +msgid "Invalid mount option set: %s\n" +msgstr "Geçersiz dosya sistemi seçeneÄŸi belirtidi: %s\n" -#: misc/tune2fs.c:401 -#, c-format +#: misc/tune2fs.c:356 +#, fuzzy, c-format msgid "Clearing filesystem feature '%s' not supported.\n" -msgstr "'%s' dosya sistemi özelliÄŸini temizleme desteklenmiyor.\n" +msgstr "" +"Dosyasistemi özellikleri 0 revizyonlu dosyasistemlerinde desteklenmiyor\n" -#: misc/tune2fs.c:407 -#, c-format +#: misc/tune2fs.c:362 +#, fuzzy, c-format msgid "Setting filesystem feature '%s' not supported.\n" msgstr "" +"Dosyasistemi özellikleri 0 revizyonlu dosyasistemlerinde desteklenmiyor\n" -#: misc/tune2fs.c:416 +#: misc/tune2fs.c:371 #, fuzzy msgid "" "The has_journal feature may only be cleared when the filesystem is\n" @@ -5189,7 +4725,7 @@ msgstr "" "has_journal bayrağı sadece dosya sistemi baÄŸlı deÄŸilken ya da salt-okunur\n" "baÄŸlıyken temizlenebilir.\n" -#: misc/tune2fs.c:424 +#: misc/tune2fs.c:379 msgid "" "The needs_recovery flag is set. Please run e2fsck before clearing\n" "the has_journal flag.\n" @@ -5197,49 +4733,13 @@ msgstr "" "needs_recovery bayrağı gerekiyor. Lütfen has_journal bayrağı\n" "temizlenmeden önce e2fsck çalıştırın.\n" -#: misc/tune2fs.c:443 -#, fuzzy -msgid "" -"The multiple mount protection feature can't\n" -"be set if the filesystem is mounted or\n" -"read-only.\n" -msgstr "" -"has_journal bayrağı sadece dosya sistemi baÄŸlı deÄŸilken ya da salt-okunur\n" -"baÄŸlıyken temizlenebilir.\n" - -#: misc/tune2fs.c:461 -#, c-format -msgid "Multiple mount protection has been enabled with update interval %ds.\n" -msgstr "" - -#: misc/tune2fs.c:470 -msgid "" -"The multiple mount protection feature cannot\n" -"be disabled if the filesystem is readonly.\n" -msgstr "" - -#: misc/tune2fs.c:478 -#, fuzzy -msgid "Error while reading bitmaps\n" -msgstr "- biteÅŸlemler okunurken hata oluÅŸtu" - -#: misc/tune2fs.c:487 -#, c-format -msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n" -msgstr "" - -#: misc/tune2fs.c:492 -#, fuzzy -msgid "while reading MMP block." -msgstr "- hatalı bloklar düğümü okunmaya çalışılırken hata oluÅŸtu" - -#: misc/tune2fs.c:524 +#: misc/tune2fs.c:412 msgid "" "Clearing the flex_bg flag would cause the the filesystem to be\n" "inconsistent.\n" msgstr "" -#: misc/tune2fs.c:535 +#: misc/tune2fs.c:423 #, fuzzy msgid "" "The huge_file feature may only be cleared when the filesystem is\n" @@ -5248,17 +4748,16 @@ msgstr "" "has_journal bayrağı sadece dosya sistemi baÄŸlı deÄŸilken ya da salt-okunur\n" "baÄŸlıyken temizlenebilir.\n" -#: misc/tune2fs.c:595 -msgid "" -"\n" -"Warning: '^quota' option overrides '-Q'arguments.\n" +#: misc/tune2fs.c:451 +#, c-format +msgid "(and reboot afterwards!)\n" msgstr "" -#: misc/tune2fs.c:640 +#: misc/tune2fs.c:472 msgid "The filesystem already has a journal.\n" msgstr "Dosya sisteminde bir günlük dosyası zaten var.\n" -#: misc/tune2fs.c:658 +#: misc/tune2fs.c:490 #, c-format msgid "" "\n" @@ -5267,21 +4766,21 @@ msgstr "" "\n" "\t%s üzerindeki günlük açılmaya çalışılırken hata oluÅŸtu\n" -#: misc/tune2fs.c:662 +#: misc/tune2fs.c:494 #, c-format msgid "Creating journal on device %s: " msgstr "%s üzerinde günlük dosyası oluÅŸturuluyor: " -#: misc/tune2fs.c:670 +#: misc/tune2fs.c:502 #, c-format msgid "while adding filesystem to journal on %s" msgstr "- %s üzerindeki günlük dosyasına dosya sistemi eklenirken hata oluÅŸtu" -#: misc/tune2fs.c:676 +#: misc/tune2fs.c:508 msgid "Creating journal inode: " msgstr "Günlük düğümü oluÅŸturuluyor: " -#: misc/tune2fs.c:685 +#: misc/tune2fs.c:517 msgid "" "\n" "\twhile trying to create journal file" @@ -5289,114 +4788,85 @@ msgstr "" "\n" "\tgünlük dosyası oluÅŸturulmaya çalışılırken hata oluÅŸtu" -#: misc/tune2fs.c:763 -#, fuzzy -msgid "Couldn't allocate memory to parse quota options!\n" -msgstr "Seçenekleri çözümlemek için bellek ayrılamadı!\n" - -#: misc/tune2fs.c:785 -msgid "" -"\n" -"Bad quota options specified.\n" -"\n" -"Following valid quota options are available (pass by separating with comma):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" -msgstr "" - -#: misc/tune2fs.c:846 +#: misc/tune2fs.c:584 #, c-format msgid "Couldn't parse date/time specifier: %s" msgstr "Tarih/zaman belirteci çözümlenemedi: %s" -#: misc/tune2fs.c:870 misc/tune2fs.c:883 +#: misc/tune2fs.c:608 misc/tune2fs.c:621 #, c-format msgid "bad mounts count - %s" msgstr "baÄŸlama sayısı hatalı - %s" -#: misc/tune2fs.c:899 +#: misc/tune2fs.c:637 #, c-format msgid "bad error behavior - %s" msgstr "hata davranışı hatalı - %s" -#: misc/tune2fs.c:926 +#: misc/tune2fs.c:664 #, c-format msgid "bad gid/group name - %s" msgstr "grup ismi/numarası hatalı -%s" -#: misc/tune2fs.c:959 +#: misc/tune2fs.c:697 #, c-format msgid "bad interval - %s" msgstr "süre hatalı - %s" -#: misc/tune2fs.c:988 +#: misc/tune2fs.c:725 #, c-format msgid "bad reserved block ratio - %s" msgstr "yedek blok oranı hatalı - %s" -#: misc/tune2fs.c:1003 +#: misc/tune2fs.c:740 msgid "-o may only be specified once" msgstr "-o yalnız bir kere kullanılabilir" -#: misc/tune2fs.c:1012 +#: misc/tune2fs.c:750 msgid "-O may only be specified once" msgstr "-O yalnız bir kere kullanılabilir" -#: misc/tune2fs.c:1027 +#: misc/tune2fs.c:760 #, c-format msgid "bad reserved blocks count - %s" msgstr "yedek blok sayısı hatalı - %s" -#: misc/tune2fs.c:1056 +#: misc/tune2fs.c:789 #, c-format msgid "bad uid/user name - %s" msgstr "kullanıcı ismi/numarası hatalı - %s" -#: misc/tune2fs.c:1073 +#: misc/tune2fs.c:806 #, fuzzy, c-format msgid "bad inode size - %s" msgstr "düğüm uzunluÄŸu hatalı - %s" -#: misc/tune2fs.c:1080 +#: misc/tune2fs.c:813 #, c-format msgid "Inode size must be a power of two- %s" msgstr "" -#: misc/tune2fs.c:1174 -#, c-format -msgid "mmp_update_interval too big: %lu\n" -msgstr "" - -#: misc/tune2fs.c:1179 +#: misc/tune2fs.c:900 #, fuzzy, c-format -msgid "Setting multiple mount protection update interval to %lu second\n" -msgid_plural "Setting multiple mount protection update interval to %lu seconds\n" -msgstr[0] "En fazla baÄŸlama sayısı %d olarak belirleniyor\n" -msgstr[1] "En fazla baÄŸlama sayısı %d olarak belirleniyor\n" - -#: misc/tune2fs.c:1202 -#, c-format msgid "Invalid RAID stride: %s\n" -msgstr "" +msgstr "'stride' parametresi geçersiz: %s\n" -#: misc/tune2fs.c:1217 -#, c-format +#: misc/tune2fs.c:915 +#, fuzzy, c-format msgid "Invalid RAID stripe-width: %s\n" -msgstr "" +msgstr "'stride' parametresi geçersiz: %s\n" -#: misc/tune2fs.c:1232 +#: misc/tune2fs.c:930 #, fuzzy, c-format msgid "Invalid hash algorithm: %s\n" msgstr "'stride' parametresi geçersiz: %s\n" -#: misc/tune2fs.c:1238 +#: misc/tune2fs.c:936 #, c-format msgid "Setting default hash algorithm to %s (%d)\n" msgstr "" -#: misc/tune2fs.c:1257 +#: misc/tune2fs.c:944 #, fuzzy, c-format msgid "" "\n" @@ -5406,11 +4876,9 @@ msgid "" "\tis set off by an equals ('=') sign.\n" "\n" "Valid extended options are:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" msgstr "" @@ -5425,50 +4893,11 @@ msgstr "" "\tresize=\n" "\n" -#: misc/tune2fs.c:1723 -#, fuzzy -msgid "Failed to read inode bitmap\n" -msgstr "- biteÅŸlemler okunurken hata oluÅŸtu" - -#: misc/tune2fs.c:1728 -#, fuzzy -msgid "Failed to read block bitmap\n" -msgstr "düğüm ve blok biteÅŸlemleri okunuyor" - -#: misc/tune2fs.c:1745 resize/resize2fs.c:870 +#: misc/tune2fs.c:1384 misc/tune2fs.c:1389 resize/resize2fs.c:760 msgid "blocks to be moved" msgstr "taşınacak bloklar" -#: misc/tune2fs.c:1748 -msgid "Failed to allocate block bitmap when increasing inode size\n" -msgstr "" - -#: misc/tune2fs.c:1754 -msgid "Not enough space to increase inode size \n" -msgstr "" - -#: misc/tune2fs.c:1759 -#, fuzzy -msgid "Failed to relocate blocks during inode resize \n" -msgstr "- yeniden boyutlama için bloklar yedeklenirken hata oluÅŸtu" - -#: misc/tune2fs.c:1791 -msgid "" -"Error in resizing the inode size.\n" -"Run e2undo to undo the file system changes. \n" -msgstr "" - -#: misc/tune2fs.c:1818 -#, fuzzy -msgid "Couldn't allocate memory for tdb filename\n" -msgstr "Dosya sistemi türleri için bellek ayrılamadı\n" - -#: misc/tune2fs.c:1840 -#, fuzzy, c-format -msgid "while trying to delete %s" -msgstr "- %s yeniden boyutlandırılırken hata oluÅŸtu" - -#: misc/tune2fs.c:1850 +#: misc/tune2fs.c:1471 #, c-format msgid "" "To undo the tune2fs operation please run the command\n" @@ -5476,74 +4905,58 @@ msgid "" "\n" msgstr "" -#: misc/tune2fs.c:1919 -#, c-format -msgid "" -"MMP block magic is bad. Try to fix it by running:\n" -"'e2fsck -f %s'\n" -msgstr "" - -#: misc/tune2fs.c:1937 +#: misc/tune2fs.c:1529 #, c-format -msgid "The inode size is already %lu\n" +msgid "The inode size is already %d\n" msgstr "" -#: misc/tune2fs.c:1943 -#, c-format +#: misc/tune2fs.c:1534 +#, fuzzy, c-format msgid "Shrinking the inode size is not supported\n" msgstr "" +"Dosyasistemi özellikleri 0 revizyonlu dosyasistemlerinde desteklenmiyor\n" -#: misc/tune2fs.c:1949 -#, fuzzy, c-format -msgid "Invalid inode size %lu (max %d)\n" -msgstr "düğüm uzunluÄŸu %d hatalı (en az %d/en çok %d)" - -#: misc/tune2fs.c:1996 +#: misc/tune2fs.c:1577 #, c-format msgid "Setting maximal mount count to %d\n" msgstr "En fazla baÄŸlama sayısı %d olarak belirleniyor\n" -#: misc/tune2fs.c:2002 +#: misc/tune2fs.c:1583 #, c-format msgid "Setting current mount count to %d\n" msgstr "Åžimdiki baÄŸlama sayısı %d olarak belirleniyor\n" -#: misc/tune2fs.c:2007 +#: misc/tune2fs.c:1588 #, c-format msgid "Setting error behavior to %d\n" msgstr "Hata davranışı %d olarak belirleniyor\n" -#: misc/tune2fs.c:2012 +#: misc/tune2fs.c:1593 #, c-format msgid "Setting reserved blocks gid to %lu\n" msgstr "Yedek blokların grup numarası %lu olarak belirleniyor\n" -#: misc/tune2fs.c:2017 -#, fuzzy, c-format -msgid "interval between checks is too big (%lu)" -msgstr "Denetimler arasındaki süre %lu saniye olarak belirleniyor\n" - -#: misc/tune2fs.c:2024 +#: misc/tune2fs.c:1598 #, c-format msgid "Setting interval between checks to %lu seconds\n" msgstr "Denetimler arasındaki süre %lu saniye olarak belirleniyor\n" -#: misc/tune2fs.c:2031 -#, fuzzy, c-format -msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n" +#: misc/tune2fs.c:1605 +#, c-format +msgid "Setting reserved blocks percentage to %g%% (%u blocks)\n" msgstr "Yedek blokların yüzdesi %%%g (%u blok) olarak belirleniyor\n" -#: misc/tune2fs.c:2037 -#, fuzzy, c-format -msgid "reserved blocks count is too big (%llu)" +#: misc/tune2fs.c:1612 +#, c-format +msgid "reserved blocks count is too big (%lu)" msgstr "yedek ayrılmış blok sayısı çok büyük (%lu)" -#: misc/tune2fs.c:2044 -#, fuzzy, c-format -msgid "Setting reserved blocks count to %llu\n" +#: misc/tune2fs.c:1618 +#, c-format +msgid "Setting reserved blocks count to %lu\n" msgstr "Yedek blok sayısı %lu olarak belirleniyor\n" -#: misc/tune2fs.c:2050 +#: misc/tune2fs.c:1624 msgid "" "\n" "The filesystem already has sparse superblocks.\n" @@ -5551,7 +4964,7 @@ msgstr "" "\n" "Dosya sistemindeki süperbloklar zaten azaltılmış.\n" -#: misc/tune2fs.c:2057 +#: misc/tune2fs.c:1631 #, c-format msgid "" "\n" @@ -5560,85 +4973,70 @@ msgstr "" "\n" "Süperblok azaltma bayrağı konuldu. %s" -#: misc/tune2fs.c:2062 +#: misc/tune2fs.c:1636 msgid "" "\n" "Clearing the sparse superflag not supported.\n" msgstr "" -#: misc/tune2fs.c:2070 +#: misc/tune2fs.c:1643 #, c-format msgid "Setting time filesystem last checked to %s\n" msgstr "Dosya sisteminin son denetim zamanı %s yapılıyor\n" -#: misc/tune2fs.c:2076 +#: misc/tune2fs.c:1649 #, c-format msgid "Setting reserved blocks uid to %lu\n" msgstr "Ayrılan blokların kullanıcı numarası %lu olarak ayarlanıyor\n" -#: misc/tune2fs.c:2108 -msgid "Error in using clear_mmp. It must be used with -f\n" -msgstr "" - -#: misc/tune2fs.c:2126 -#, fuzzy -msgid "The quota feature may only be changed when the filesystem is unmounted.\n" -msgstr "" -"has_journal bayrağı sadece dosya sistemi baÄŸlı deÄŸilken ya da salt-okunur\n" -"baÄŸlıyken temizlenebilir.\n" - -#: misc/tune2fs.c:2159 +#: misc/tune2fs.c:1700 msgid "Invalid UUID format\n" msgstr "Geçersiz UUID biçemi\n" -#: misc/tune2fs.c:2172 +#: misc/tune2fs.c:1712 #, fuzzy msgid "The inode size may only be changed when the filesystem is unmounted.\n" msgstr "" "has_journal bayrağı sadece dosya sistemi baÄŸlı deÄŸilken ya da salt-okunur\n" "baÄŸlıyken temizlenebilir.\n" -#: misc/tune2fs.c:2180 +#: misc/tune2fs.c:1719 msgid "" "Changing the inode size not supported for filesystems with the flex_bg\n" "feature enabled.\n" msgstr "" -#: misc/tune2fs.c:2193 +#: misc/tune2fs.c:1731 +msgid "" +"Error in resizing the inode size.\n" +"Run e2undo to undo the file system changes. \n" +msgstr "" + +#: misc/tune2fs.c:1735 #, fuzzy, c-format msgid "Setting inode size %lu\n" -msgstr "düğüm uzunluÄŸu hatalı - %s" +msgstr "Yedek blokların grup numarası %lu olarak belirleniyor\n" -#: misc/tune2fs.c:2196 +#: misc/tune2fs.c:1745 #, fuzzy, c-format -msgid "Failed to change inode size\n" -msgstr "- düğüm taraması baÅŸlatılırken hata oluÅŸtu" - -#: misc/tune2fs.c:2207 -#, c-format msgid "Setting stride size to %d\n" -msgstr "" - -#: misc/tune2fs.c:2212 -#, c-format -msgid "Setting stripe width to %d\n" -msgstr "" +msgstr "Yedek blokların grup numarası %lu olarak belirleniyor\n" -#: misc/tune2fs.c:2219 +#: misc/tune2fs.c:1750 #, fuzzy, c-format -msgid "Setting extended default mount options to '%s'\n" -msgstr "Åžimdiki baÄŸlama sayısı %d olarak belirleniyor\n" +msgid "Setting stripe width to %d\n" +msgstr "Yedek blokların grup numarası %lu olarak belirleniyor\n" -#: misc/util.c:74 +#: misc/util.c:72 msgid "Proceed anyway? (y,n) " msgstr "Yine de devam edilsin mi? (e/h) " -#: misc/util.c:89 +#: misc/util.c:93 #, c-format msgid "Could not stat %s --- %s\n" msgstr "stat %s yapılamadı --- %s\n" -#: misc/util.c:92 +#: misc/util.c:96 msgid "" "\n" "The device apparently does not exist; did you specify it correctly?\n" @@ -5646,40 +5044,33 @@ msgstr "" "\n" "Aygıt görünmüyor; doÄŸru belirttiÄŸinize emin misiniz?\n" -#: misc/util.c:103 +#: misc/util.c:107 #, c-format msgid "%s is not a block special device.\n" msgstr "%s blok özellikli bir aygıt deÄŸil.\n" -#: misc/util.c:132 +#: misc/util.c:136 #, c-format msgid "%s is entire device, not just one partition!\n" msgstr "%s diskin tamamı! Bir disk bölümü deÄŸil!\n" -#: misc/util.c:154 +#: misc/util.c:158 msgid "mke2fs forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "mke2fs n'olursa olsun çalıştırılacak. Ä°nÅŸallah /etc/mtab yanlıştır.\n" -#: misc/util.c:159 +#: misc/util.c:163 #, c-format msgid "will not make a %s here!\n" msgstr "burada bir %s yapılmayacak!\n" -#: misc/util.c:166 +#: misc/util.c:170 msgid "mke2fs forced anyway.\n" msgstr "mke2fs ne olursa olsun çalıştırılacak.\n" -#: misc/util.c:182 +#: misc/util.c:186 msgid "Couldn't allocate memory to parse journal options!\n" msgstr "Günlük seçenekleri için bellek ayrılamadı!\n" -#: misc/util.c:207 -#, fuzzy, c-format -msgid "" -"\n" -"Could not find journal device matching %s\n" -msgstr "Günlük dosyası süperbloÄŸu tanım numarası bulunamadı" - #: misc/util.c:228 #, fuzzy msgid "" @@ -5718,12 +5109,15 @@ msgstr "" "Dosya sistemi bir günlük için çok küçük\n" #: misc/util.c:265 -#, c-format +#, fuzzy, c-format msgid "" "\n" "The requested journal size is %d blocks; it must be\n" "between 1024 and 10240000 blocks. Aborting.\n" msgstr "" +"\n" +"Günlük dosyasının uzunluÄŸu %d blok olarak belirtilmiÅŸ.\n" +"1024 ile 102400 blok arasında olmalı. Çıkılıyor.\n" #: misc/util.c:273 msgid "" @@ -5733,7 +5127,7 @@ msgstr "" "\n" "Günlük dosyası dosya sistemi için çok büyük.\n" -#: misc/util.c:287 +#: misc/util.c:283 #, c-format msgid "" "This filesystem will be automatically checked every %d mounts or\n" @@ -5743,1209 +5137,247 @@ msgstr "" "gerçekleÅŸirse, otomatik olarak denetlenecektir. Bu deÄŸerleri deÄŸiÅŸtirmek\n" "için tune2fs'yi -c veya -i seçeneÄŸi ile çalıştırınız.\n" -#: misc/uuidd.c:48 +#: misc/uuidgen.c:31 #, c-format -msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n" -msgstr "" - -#: misc/uuidd.c:50 -#, c-format -msgid " %s [-r|t] [-n num] [-s socketpath]\n" -msgstr "" - -#: misc/uuidd.c:52 -#, c-format -msgid " %s -k\n" -msgstr "" - -#: misc/uuidd.c:154 -#, fuzzy -msgid "bad arguments" -msgstr "%s: argüman sayısı fazla\n" - -#: misc/uuidd.c:172 -msgid "connect" -msgstr "" - -#: misc/uuidd.c:191 -msgid "write" -msgstr "" - -#: misc/uuidd.c:199 -msgid "read count" -msgstr "" - -#: misc/uuidd.c:205 -msgid "bad response length" -msgstr "" - -#: misc/uuidd.c:270 -#, c-format -msgid "uuidd daemon already running at pid %s\n" -msgstr "" - -#: misc/uuidd.c:278 -#, fuzzy, c-format -msgid "Couldn't create unix stream socket: %s" -msgstr "Tarih/zaman belirteci çözümlenemedi: %s" - -#: misc/uuidd.c:307 -#, fuzzy, c-format -msgid "Couldn't bind unix socket %s: %s\n" -msgstr "ext2 süperbloÄŸu bulunamadı," - -#: misc/uuidd.c:315 -#, fuzzy, c-format -msgid "Couldn't listen on unix socket %s: %s\n" -msgstr "%i ye tekrar baÄŸlanılamıyor: %m\n" - -#: misc/uuidd.c:353 -#, fuzzy, c-format -msgid "Error reading from client, len = %d\n" -msgstr "Düğüm %i okunurken hata oluÅŸtu: %m\n" - -#: misc/uuidd.c:361 -#, c-format -msgid "operation %d, incoming num = %d\n" -msgstr "" - -#: misc/uuidd.c:380 -#, c-format -msgid "Generated time UUID: %s\n" -msgstr "" - -#: misc/uuidd.c:390 -#, c-format -msgid "Generated random UUID: %s\n" -msgstr "" - -#: misc/uuidd.c:399 -#, c-format -msgid "Generated time UUID %s and subsequent UUID\n" -msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/uuidd.c:420 -#, c-format -msgid "Generated %d UUID's:\n" -msgstr "" - -#: misc/uuidd.c:432 -#, fuzzy, c-format -msgid "Invalid operation %d\n" -msgstr "Ek özellik sürümü geçersiz.\n" - -#: misc/uuidd.c:476 misc/uuidd.c:498 -#, c-format -msgid "Bad number: %s\n" -msgstr "" - -#: misc/uuidd.c:533 misc/uuidd.c:562 -#, fuzzy, c-format -msgid "Error calling uuidd daemon (%s): %s\n" -msgstr "/lost+found dizini oluÅŸturulurken hata (%s): %m\n" - -#: misc/uuidd.c:543 -#, c-format -msgid "%s and subsequent UUID\n" -msgid_plural "%s and subsequent %d UUIDs\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/uuidd.c:547 -#, c-format -msgid "List of UUID's:\n" -msgstr "" - -#: misc/uuidd.c:568 -#, c-format -msgid "Unexpected reply length from server %d\n" -msgstr "" - -#: misc/uuidd.c:585 -#, c-format -msgid "Couldn't kill uuidd running at pid %d: %s\n" -msgstr "" - -#: misc/uuidd.c:591 -#, c-format -msgid "Killed uuidd running at pid %d\n" -msgstr "" - -#: misc/uuidgen.c:32 -#, c-format -msgid "Usage: %s [-r] [-t]\n" -msgstr "" -"Kullanımı: %s [seçenek]\n" -"Evrendeki tek tanımlayıcıyı (UUID) oluÅŸturur.\n" -"\n" -"Seçenekler:\n" -" -r rasgele sayı üreteci kullanılarak rasgele bir numara üretilir\n" -" -t varsa eternet kartının adresi ve sistem zamanına göre bir\n" -" numara üretir\n" -"\n" -"Çeviri hatalarını adresine bildiriniz.\n" -"\n" - -#: resize/extent.c:202 -msgid "# Extent dump:\n" -msgstr "# Ek döküm:\n" - -#: resize/extent.c:203 -#, fuzzy, c-format -msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n" -msgstr "#\tNum = %d, Boy = %d, Ä°mleç = %d, Sıralı = %d\n" - -#: resize/main.c:43 -#, fuzzy, c-format -msgid "" -"Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" -"\n" -msgstr "" -"Kullanımı: %s [seçenekler] aygıt [yeni-boyut]\n" -"\n" -"Dosya sistemini yeniden boyutlandırır.\n" -"\n" -"Seçenekler:\n" -" -d bayraklar hata ayıklama seçeneÄŸi ile derlenmiÅŸse hata ayıklama\n" -" seviyeleri belirtilir\n" -" -f bazı güvenlik denetimlerini engelleyerek boyutlandırmaya\n" -" zorlar\n" -" -F baÅŸlamadan önce dosya sisteminin tampon belleklerini\n" -" boÅŸaltır\n" -" -p iÅŸlem ilerleyiÅŸini gösteren bir çubuk üretir\n" -"\n" -"Çeviri hatalarını adresine bildiriniz.\n" -"\n" - -#: resize/main.c:65 -msgid "Extending the inode table" -msgstr "Dosya indeksi tablosu geniÅŸletiliyor" - -#: resize/main.c:68 -msgid "Relocating blocks" -msgstr "Bloklar yeniden konumlandırılıyor" - -#: resize/main.c:71 -msgid "Scanning inode table" -msgstr "Dosya indeksi tablosu taranıyor" - -#: resize/main.c:74 -msgid "Updating inode references" -msgstr "Dosya indeksi baÅŸvuruları güncelleniyor" - -#: resize/main.c:77 -msgid "Moving inode table" -msgstr "Dosya indeksi tablosu taşınıyor" - -#: resize/main.c:80 -msgid "Unknown pass?!?" -msgstr "bilinmeyen geçiÅŸ?!?" - -#: resize/main.c:83 -#, c-format -msgid "Begin pass %d (max = %lu)\n" -msgstr "GeçiÅŸ %d baÅŸlıyor (en çok = %lu)\n" - -#: resize/main.c:154 -#, c-format -msgid "" -"\n" -"Resizing bigalloc file systems has not been fully tested. Proceed\n" -"at your own risk! Use the force option if you want to go ahead anyway.\n" -"\n" -msgstr "" - -#: resize/main.c:271 -#, c-format -msgid "while opening %s" -msgstr "%s açılırken" - -#: resize/main.c:279 -#, c-format -msgid "while getting stat information for %s" -msgstr "%s için durum bilgisi alınırken" - -#: resize/main.c:337 resize/main.c:450 -#, c-format -msgid "" -"Please run 'e2fsck -f %s' first.\n" -"\n" -msgstr "" -"Lütfen önce 'e2fsck -f %s' komutunu çalıştırın.\n" -"\n" - -#: resize/main.c:341 -#, c-format -msgid "Estimated minimum size of the filesystem: %llu\n" -msgstr "" - -#: resize/main.c:377 -#, fuzzy, c-format -msgid "Invalid new size: %s\n" -msgstr "düğüm uzunluÄŸu hatalı - %s" - -#: resize/main.c:393 -msgid "New size too large to be expressed in 32 bits\n" -msgstr "" - -#: resize/main.c:401 -#, fuzzy, c-format -msgid "New size smaller than minimum (%llu)\n" -msgstr "Günlük aygıtının blok boyu (%d) asgari blok boyundan (%d) küçük\n" - -#: resize/main.c:407 -msgid "Invalid stride length" -msgstr "" - -#: resize/main.c:431 -#, fuzzy, c-format -msgid "" -"The containing partition (or device) is only %llu (%dk) blocks.\n" -"You requested a new size of %llu blocks.\n" -"\n" -msgstr "" -"Disk bölümü (ya da aygıt) sadece %u (%dk) blok içeriyor.\n" -"Siz ise %u blokluk bir boyut istediniz.\n" -"\n" - -#: resize/main.c:438 -#, fuzzy, c-format -msgid "" -"The filesystem is already %llu blocks long. Nothing to do!\n" -"\n" -msgstr "" -"Dosya sistemi zaten %u blok uzunlukta. Hiçbir ÅŸey yapılmadı!\n" -"\n" - -#: resize/main.c:455 -#, fuzzy, c-format -msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n" -msgstr "" -"%s üzerindeki dosya sistemi ÅŸimdi %u blok uzunlukta.\n" -"\n" - -#: resize/main.c:464 -#, c-format -msgid "while trying to resize %s" -msgstr "- %s yeniden boyutlandırılırken hata oluÅŸtu" - -#: resize/main.c:467 -#, c-format -msgid "" -"Please run 'e2fsck -fy %s' to fix the filesystem\n" -"after the aborted resize operation.\n" -msgstr "" - -#: resize/main.c:473 -#, fuzzy, c-format -msgid "" -"The filesystem on %s is now %llu blocks long.\n" -"\n" -msgstr "" -"%s üzerindeki dosya sistemi ÅŸimdi %u blok uzunlukta.\n" -"\n" - -#: resize/main.c:488 -#, fuzzy, c-format -msgid "while trying to truncate %s" -msgstr "- stat %s yapılmaya çalışılırken hata oluÅŸtu" - -#: resize/online.c:79 -#, c-format -msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" -msgstr "" - -#: resize/online.c:83 -msgid "On-line shrinking not supported" -msgstr "" - -#: resize/online.c:108 -#, fuzzy -msgid "Filesystem does not support online resizing" -msgstr "Dosyasistemi özellikleri 0 revizyonlu dosyasistemlerinde desteklenmiyor\n" - -#: resize/online.c:117 -#, fuzzy -msgid "Not enough reserved gdt blocks for resizing" -msgstr "- yeniden boyutlama için bloklar yedeklenirken hata oluÅŸtu" - -#: resize/online.c:124 -#, fuzzy -msgid "Kernel does not support resizing a file system this large" -msgstr "Hurd, dosya türü özelliÄŸini desteklemez.\n" - -#: resize/online.c:132 -#, fuzzy, c-format -msgid "while trying to open mountpoint %s" -msgstr "" -"\n" -"\t%s üzerindeki günlük açılmaya çalışılırken hata oluÅŸtu\n" - -#: resize/online.c:137 -#, c-format -msgid "Old resize interface requested.\n" -msgstr "" - -#: resize/online.c:156 resize/online.c:173 -msgid "Permission denied to resize filesystem" -msgstr "" - -#: resize/online.c:159 resize/online.c:179 -#, fuzzy -msgid "While checking for on-line resizing support" -msgstr "- yeniden boyutlama için bloklar yedeklenirken hata oluÅŸtu" - -#: resize/online.c:176 -#, fuzzy -msgid "Kernel does not support online resizing" -msgstr "Dış günlük bu dosya sistemini desteklemiyor\n" - -#: resize/online.c:209 -#, c-format -msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n" -msgstr "" - -#: resize/online.c:219 -#, fuzzy -msgid "While trying to extend the last group" -msgstr "- dış günlük açılmaya çalışılırken hata oluÅŸtu" - -#: resize/online.c:273 -#, fuzzy, c-format -msgid "While trying to add group #%d" -msgstr "- %s açılmaya çalışılırken hata oluÅŸtu" - -#: resize/online.c:284 -#, c-format -msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n" -msgstr "" - -#: resize/resize2fs.c:369 -#, c-format -msgid "inodes (%llu) must be less than %u" -msgstr "" - -#: resize/resize2fs.c:631 -msgid "reserved blocks" -msgstr "yedek bloklar" - -#: resize/resize2fs.c:875 -msgid "meta-data blocks" -msgstr "meta-veri blokları" - -#: resize/resize2fs.c:1837 -#, c-format -msgid "Should never happen: resize inode corrupt!\n" -msgstr "Bu olmamalıydı: boyutlandırırken düğümü kaybettik!\n" - -#: lib/ext2fs/ext2_err.c:11 -msgid "EXT2FS Library version 1.42.8" -msgstr "" - -#: lib/ext2fs/ext2_err.c:12 -msgid "Wrong magic number for ext2_filsys structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:13 -msgid "Wrong magic number for badblocks_list structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:14 -msgid "Wrong magic number for badblocks_iterate structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:15 -msgid "Wrong magic number for inode_scan structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:16 -msgid "Wrong magic number for io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:17 -msgid "Wrong magic number for unix io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:18 -msgid "Wrong magic number for io_manager structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:19 -msgid "Wrong magic number for block_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:20 -msgid "Wrong magic number for inode_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:21 -msgid "Wrong magic number for generic_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:22 -msgid "Wrong magic number for test io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:23 -msgid "Wrong magic number for directory block list structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:24 -msgid "Wrong magic number for icount structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:25 -msgid "Wrong magic number for Powerquest io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:26 -msgid "Wrong magic number for ext2 file structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:27 -msgid "Wrong magic number for Ext2 Image Header" -msgstr "" - -#: lib/ext2fs/ext2_err.c:28 -msgid "Wrong magic number for inode io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:29 -msgid "Wrong magic number for ext4 extent handle" -msgstr "" - -#: lib/ext2fs/ext2_err.c:30 -#, fuzzy -msgid "Bad magic number in super-block" -msgstr "günlük dosyası super bloÄŸu okunuyor\n" - -#: lib/ext2fs/ext2_err.c:31 -msgid "Filesystem revision too high" -msgstr "" - -#: lib/ext2fs/ext2_err.c:32 -msgid "Attempt to write to filesystem opened read-only" -msgstr "" - -#: lib/ext2fs/ext2_err.c:33 -#, fuzzy -msgid "Can't read group descriptors" -msgstr "" -" \n" -" Grup tanımlayıcı: " - -#: lib/ext2fs/ext2_err.c:34 -#, fuzzy -msgid "Can't write group descriptors" -msgstr "" -" \n" -" Grup tanımlayıcı: " - -#: lib/ext2fs/ext2_err.c:35 -msgid "Corrupt group descriptor: bad block for block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:36 -msgid "Corrupt group descriptor: bad block for inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:37 -msgid "Corrupt group descriptor: bad block for inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:38 -#, fuzzy -msgid "Can't write an inode bitmap" -msgstr "düğüm biteÅŸlemleri yazılıyor" - -#: lib/ext2fs/ext2_err.c:39 -#, fuzzy -msgid "Can't read an inode bitmap" -msgstr "düğüm biteÅŸlemleri yazılıyor" - -#: lib/ext2fs/ext2_err.c:40 -#, fuzzy -msgid "Can't write an block bitmap" -msgstr "blok biteÅŸlemleri yazılıyor" - -#: lib/ext2fs/ext2_err.c:41 -#, fuzzy -msgid "Can't read an block bitmap" -msgstr "düğüm ve blok biteÅŸlemleri okunuyor" - -#: lib/ext2fs/ext2_err.c:42 -#, fuzzy -msgid "Can't write an inode table" -msgstr "- düğüm tablosuna yazılırken hata oluÅŸtu" - -#: lib/ext2fs/ext2_err.c:43 -#, fuzzy -msgid "Can't read an inode table" -msgstr "Dosya indeksi tablosu taranıyor" - -#: lib/ext2fs/ext2_err.c:44 -msgid "Can't read next inode" -msgstr "" - -#: lib/ext2fs/ext2_err.c:45 -#, fuzzy -msgid "Filesystem has unexpected block size" -msgstr "Dosya sisteminin uzunluÄŸu görünürdeki uzunluktan büyük." - -#: lib/ext2fs/ext2_err.c:46 -msgid "EXT2 directory corrupted" -msgstr "" - -#: lib/ext2fs/ext2_err.c:47 -msgid "Attempt to read block from filesystem resulted in short read" -msgstr "" - -#: lib/ext2fs/ext2_err.c:48 -msgid "Attempt to write block to filesystem resulted in short write" -msgstr "" - -#: lib/ext2fs/ext2_err.c:49 -msgid "No free space in the directory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:50 -#, fuzzy -msgid "Inode bitmap not loaded" -msgstr "" -" \n" -" Düğüm biteÅŸlemi: " - -#: lib/ext2fs/ext2_err.c:51 -#, fuzzy -msgid "Block bitmap not loaded" -msgstr " Blok biteÅŸlemi: " - -#: lib/ext2fs/ext2_err.c:52 -#, fuzzy -msgid "Illegal inode number" -msgstr "Blok sayısı kuraldışı!\n" - -#: lib/ext2fs/ext2_err.c:53 -#, fuzzy -msgid "Illegal block number" -msgstr "Blok sayısı kuraldışı!\n" - -#: lib/ext2fs/ext2_err.c:54 -msgid "Internal error in ext2fs_expand_dir" -msgstr "" - -#: lib/ext2fs/ext2_err.c:55 -msgid "Not enough space to build proposed filesystem" -msgstr "" - -#: lib/ext2fs/ext2_err.c:56 -msgid "Illegal block number passed to ext2fs_mark_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:57 -msgid "Illegal block number passed to ext2fs_unmark_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:58 -msgid "Illegal block number passed to ext2fs_test_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:59 -msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:60 -msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:61 -msgid "Illegal inode number passed to ext2fs_test_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:62 -msgid "Attempt to fudge end of block bitmap past the real end" -msgstr "" - -#: lib/ext2fs/ext2_err.c:63 -msgid "Attempt to fudge end of inode bitmap past the real end" -msgstr "" - -#: lib/ext2fs/ext2_err.c:64 -#, fuzzy -msgid "Illegal indirect block found" -msgstr "%u düğümünün dolaylı blokları okunuyor" - -#: lib/ext2fs/ext2_err.c:65 -#, fuzzy -msgid "Illegal doubly indirect block found" -msgstr "%u düğümünün dolaylı blokları okunuyor" - -#: lib/ext2fs/ext2_err.c:66 -#, fuzzy -msgid "Illegal triply indirect block found" -msgstr "%u düğümünün dolaylı blokları okunuyor" - -#: lib/ext2fs/ext2_err.c:67 -#, fuzzy -msgid "Block bitmaps are not the same" -msgstr " Blok biteÅŸlemi: " - -#: lib/ext2fs/ext2_err.c:68 -#, fuzzy -msgid "Inode bitmaps are not the same" -msgstr "" -" \n" -" Düğüm biteÅŸlemi: " - -#: lib/ext2fs/ext2_err.c:69 -msgid "Illegal or malformed device name" -msgstr "" - -#: lib/ext2fs/ext2_err.c:70 -msgid "A block group is missing an inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:71 -msgid "The ext2 superblock is corrupt" -msgstr "" - -#: lib/ext2fs/ext2_err.c:72 -msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:73 -msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:74 -msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:75 -msgid "Too many symbolic links encountered." -msgstr "" - -#: lib/ext2fs/ext2_err.c:76 -msgid "The callback function will not handle this case" -msgstr "" - -#: lib/ext2fs/ext2_err.c:77 -msgid "The inode is from a bad block in the inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:78 -#, fuzzy -msgid "Filesystem has unsupported feature(s)" -msgstr "Dosyasistemi özellikleri 0 revizyonlu dosyasistemlerinde desteklenmiyor\n" - -#: lib/ext2fs/ext2_err.c:79 -#, fuzzy -msgid "Filesystem has unsupported read-only feature(s)" -msgstr "Dosyasistemi özellikleri 0 revizyonlu dosyasistemlerinde desteklenmiyor\n" - -#: lib/ext2fs/ext2_err.c:80 -msgid "IO Channel failed to seek on read or write" -msgstr "" - -#: lib/ext2fs/ext2_err.c:81 -#, fuzzy -msgid "Memory allocation failed" -msgstr "Aayrılırken hata oluÅŸtu" - -#: lib/ext2fs/ext2_err.c:82 -msgid "Invalid argument passed to ext2 library" -msgstr "" - -#: lib/ext2fs/ext2_err.c:83 -#, fuzzy -msgid "Could not allocate block in ext2 filesystem" -msgstr "Dosya sistemi türleri için bellek ayrılamadı\n" - -#: lib/ext2fs/ext2_err.c:84 -#, fuzzy -msgid "Could not allocate inode in ext2 filesystem" -msgstr "Dosya sistemi türleri için bellek ayrılamadı\n" - -#: lib/ext2fs/ext2_err.c:85 -msgid "Ext2 inode is not a directory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:86 -msgid "Too many references in table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:87 -msgid "File not found by ext2_lookup" -msgstr "" - -#: lib/ext2fs/ext2_err.c:88 -msgid "File open read-only" -msgstr "" - -#: lib/ext2fs/ext2_err.c:89 -#, fuzzy -msgid "Ext2 directory block not found" -msgstr "Düğüm %3$d deki dizin bloku %1$u (#%2$d) boÅŸ\n" - -#: lib/ext2fs/ext2_err.c:90 -msgid "Ext2 directory already exists" -msgstr "" - -#: lib/ext2fs/ext2_err.c:91 -msgid "Unimplemented ext2 library function" -msgstr "" - -#: lib/ext2fs/ext2_err.c:92 -msgid "User cancel requested" -msgstr "" - -#: lib/ext2fs/ext2_err.c:93 -msgid "Ext2 file too big" -msgstr "" - -#: lib/ext2fs/ext2_err.c:94 -msgid "Supplied journal device not a block device" -msgstr "" - -#: lib/ext2fs/ext2_err.c:95 -#, fuzzy -msgid "Journal superblock not found" -msgstr "Günlük süperbloÄŸu yok!\n" - -#: lib/ext2fs/ext2_err.c:96 -msgid "Journal must be at least 1024 blocks" -msgstr "" - -#: lib/ext2fs/ext2_err.c:97 -msgid "Unsupported journal version" -msgstr "" - -#: lib/ext2fs/ext2_err.c:98 -#, fuzzy -msgid "Error loading external journal" -msgstr "- dış günlük açılmaya çalışılırken hata oluÅŸtu" - -#: lib/ext2fs/ext2_err.c:99 -#, fuzzy -msgid "Journal not found" -msgstr "Günlük süperbloÄŸu yok!\n" - -#: lib/ext2fs/ext2_err.c:100 -msgid "Directory hash unsupported" -msgstr "" - -#: lib/ext2fs/ext2_err.c:101 -#, fuzzy -msgid "Illegal extended attribute block number" -msgstr "aek özellik" - -#: lib/ext2fs/ext2_err.c:102 -msgid "Cannot create filesystem with requested number of inodes" -msgstr "" - -#: lib/ext2fs/ext2_err.c:103 -msgid "E2image snapshot not in use" -msgstr "" - -#: lib/ext2fs/ext2_err.c:104 -#, fuzzy -msgid "Too many reserved group descriptor blocks" -msgstr "" - -#: lib/ext2fs/ext2_err.c:105 -msgid "Resize inode is corrupt" -msgstr "" - -#: lib/ext2fs/ext2_err.c:106 -msgid "Tried to set block bmap with missing indirect block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:107 -msgid "TDB: Success" -msgstr "" - -#: lib/ext2fs/ext2_err.c:108 -msgid "TDB: Corrupt database" -msgstr "" - -#: lib/ext2fs/ext2_err.c:109 -msgid "TDB: IO Error" -msgstr "" - -#: lib/ext2fs/ext2_err.c:110 -msgid "TDB: Locking error" -msgstr "" - -#: lib/ext2fs/ext2_err.c:111 -msgid "TDB: Out of memory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:112 -msgid "TDB: Record exists" -msgstr "" - -#: lib/ext2fs/ext2_err.c:113 -msgid "TDB: Lock exists on other keys" -msgstr "" - -#: lib/ext2fs/ext2_err.c:114 -#, fuzzy -msgid "TDB: Invalid parameter" -msgstr "'stride' parametresi geçersiz: %s\n" - -#: lib/ext2fs/ext2_err.c:115 -msgid "TDB: Record does not exist" -msgstr "" - -#: lib/ext2fs/ext2_err.c:116 -msgid "TDB: Write not permitted" -msgstr "" - -#: lib/ext2fs/ext2_err.c:117 -msgid "Ext2fs directory block list is empty" -msgstr "" - -#: lib/ext2fs/ext2_err.c:118 -msgid "Attempt to modify a block mapping via a read-only block iterator" -msgstr "" - -#: lib/ext2fs/ext2_err.c:119 -msgid "Wrong magic number for ext4 extent saved path" -msgstr "" - -#: lib/ext2fs/ext2_err.c:120 -msgid "Wrong magic number for 64-bit generic bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:121 -msgid "Wrong magic number for 64-bit block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:122 -msgid "Wrong magic number for 64-bit inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:123 -msgid "Wrong magic number --- RESERVED_13" -msgstr "" - -#: lib/ext2fs/ext2_err.c:124 -msgid "Wrong magic number --- RESERVED_14" -msgstr "" - -#: lib/ext2fs/ext2_err.c:125 -msgid "Wrong magic number --- RESERVED_15" -msgstr "" - -#: lib/ext2fs/ext2_err.c:126 -msgid "Wrong magic number --- RESERVED_16" -msgstr "" - -#: lib/ext2fs/ext2_err.c:127 -msgid "Wrong magic number --- RESERVED_17" -msgstr "" - -#: lib/ext2fs/ext2_err.c:128 -msgid "Wrong magic number --- RESERVED_18" -msgstr "" - -#: lib/ext2fs/ext2_err.c:129 -msgid "Wrong magic number --- RESERVED_19" -msgstr "" - -#: lib/ext2fs/ext2_err.c:130 -msgid "Corrupt extent header" -msgstr "" - -#: lib/ext2fs/ext2_err.c:131 -msgid "Corrupt extent index" -msgstr "" - -#: lib/ext2fs/ext2_err.c:132 -msgid "Corrupt extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:133 -msgid "No free space in extent map" -msgstr "" - -#: lib/ext2fs/ext2_err.c:134 -msgid "Inode does not use extents" -msgstr "" - -#: lib/ext2fs/ext2_err.c:135 -msgid "No 'next' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:136 -msgid "No 'previous' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:137 -msgid "No 'up' extent" +msgid "Usage: %s [-r] [-t]\n" msgstr "" +"Kullanımı: %s [seçenek]\n" +"Evrendeki tek tanımlayıcıyı (UUID) oluÅŸturur.\n" +"\n" +"Seçenekler:\n" +" -r rasgele sayı üreteci kullanılarak rasgele bir numara üretilir\n" +" -t varsa eternet kartının adresi ve sistem zamanına göre bir\n" +" numara üretir\n" +"\n" +"Çeviri hatalarını adresine bildiriniz.\n" +"\n" -#: lib/ext2fs/ext2_err.c:138 -msgid "No 'down' extent" -msgstr "" +#: resize/extent.c:196 +msgid "# Extent dump:\n" +msgstr "# Ek döküm:\n" -#: lib/ext2fs/ext2_err.c:139 -msgid "No current node" -msgstr "" +#: resize/extent.c:197 +#, c-format +msgid "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" +msgstr "#\tNum = %d, Boy = %d, Ä°mleç = %d, Sıralı = %d\n" -#: lib/ext2fs/ext2_err.c:140 -msgid "Ext2fs operation not supported" -msgstr "" +#: resize/extent.c:200 +#, c-format +msgid "#\t\t %u -> %u (%d)\n" +msgstr "#\t\t %u -> %u (%d)\n" -#: lib/ext2fs/ext2_err.c:141 -msgid "No room to insert extent in node" +#: resize/main.c:42 +#, fuzzy, c-format +msgid "" +"Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" +"\n" msgstr "" +"Kullanımı: %s [seçenekler] aygıt [yeni-boyut]\n" +"\n" +"Dosya sistemini yeniden boyutlandırır.\n" +"\n" +"Seçenekler:\n" +" -d bayraklar hata ayıklama seçeneÄŸi ile derlenmiÅŸse hata ayıklama\n" +" seviyeleri belirtilir\n" +" -f bazı güvenlik denetimlerini engelleyerek boyutlandırmaya\n" +" zorlar\n" +" -F baÅŸlamadan önce dosya sisteminin tampon belleklerini\n" +" boÅŸaltır\n" +" -p iÅŸlem ilerleyiÅŸini gösteren bir çubuk üretir\n" +"\n" +"Çeviri hatalarını adresine bildiriniz.\n" +"\n" -#: lib/ext2fs/ext2_err.c:142 -msgid "Splitting would result in empty node" -msgstr "" +#: resize/main.c:64 +msgid "Extending the inode table" +msgstr "Dosya indeksi tablosu geniÅŸletiliyor" -#: lib/ext2fs/ext2_err.c:143 -#, fuzzy -msgid "Extent not found" -msgstr "/lost+found dizini yok. " +#: resize/main.c:67 +msgid "Relocating blocks" +msgstr "Bloklar yeniden konumlandırılıyor" -#: lib/ext2fs/ext2_err.c:144 -msgid "Operation not supported for inodes containing extents" -msgstr "" +#: resize/main.c:70 +msgid "Scanning inode table" +msgstr "Dosya indeksi tablosu taranıyor" -#: lib/ext2fs/ext2_err.c:145 -msgid "Extent length is invalid" -msgstr "" +#: resize/main.c:73 +msgid "Updating inode references" +msgstr "Dosya indeksi baÅŸvuruları güncelleniyor" -#: lib/ext2fs/ext2_err.c:146 -msgid "I/O Channel does not support 64-bit block numbers" -msgstr "" +#: resize/main.c:76 +msgid "Moving inode table" +msgstr "Dosya indeksi tablosu taşınıyor" -#: lib/ext2fs/ext2_err.c:147 -msgid "Can't check if filesystem is mounted due to missing mtab file" -msgstr "" +#: resize/main.c:79 +msgid "Unknown pass?!?" +msgstr "bilinmeyen geçiÅŸ?!?" -#: lib/ext2fs/ext2_err.c:148 -msgid "Filesystem too large to use legacy bitmaps" -msgstr "" +#: resize/main.c:82 +#, c-format +msgid "Begin pass %d (max = %lu)\n" +msgstr "GeçiÅŸ %d baÅŸlıyor (en çok = %lu)\n" -#: lib/ext2fs/ext2_err.c:149 -msgid "MMP: invalid magic number" -msgstr "" +#: resize/main.c:264 +#, c-format +msgid "while opening %s" +msgstr "%s açılırken" -#: lib/ext2fs/ext2_err.c:150 -msgid "MMP: device currently active" -msgstr "" +#: resize/main.c:276 +#, c-format +msgid "while getting stat information for %s" +msgstr "%s için durum bilgisi alınırken" -#: lib/ext2fs/ext2_err.c:151 -msgid "MMP: fsck being run" +#: resize/main.c:337 +#, c-format +msgid "" +"%s: The combination of flex_bg and\n" +"\t!resize_inode features is not supported by resize2fs.\n" msgstr "" -#: lib/ext2fs/ext2_err.c:152 -msgid "MMP: block number beyond filesystem range" -msgstr "" +#: resize/main.c:345 +#, fuzzy, c-format +msgid "Estimated minimum size of the filesystem: %u\n" +msgstr "%s baÄŸlı; baÄŸlı bir dosya sistemi yeniden boyutlandırılamaz!\n" -#: lib/ext2fs/ext2_err.c:153 -msgid "MMP: undergoing an unknown operation" -msgstr "" +#: resize/main.c:381 +#, fuzzy, c-format +msgid "Invalid new size: %s\n" +msgstr "düğüm uzunluÄŸu hatalı - %s" -#: lib/ext2fs/ext2_err.c:154 +#: resize/main.c:394 #, fuzzy -msgid "MMP: filesystem still in use" -msgstr "dosya sistemi uzunluÄŸu hatalı - %s" +msgid "Invalid stride length" +msgstr "'stride' parametresi geçersiz: %s\n" -#: lib/ext2fs/ext2_err.c:155 -msgid "MMP: open with O_DIRECT failed" +#: resize/main.c:418 +#, c-format +msgid "" +"The containing partition (or device) is only %u (%dk) blocks.\n" +"You requested a new size of %u blocks.\n" +"\n" msgstr "" +"Disk bölümü (ya da aygıt) sadece %u (%dk) blok içeriyor.\n" +"Siz ise %u blokluk bir boyut istediniz.\n" +"\n" -#: lib/ext2fs/ext2_err.c:156 -#, fuzzy -msgid "Block group descriptor size incorrect" -msgstr "" - -#: lib/ext2fs/ext2_err.c:157 -msgid "Inode checksum does not match inode" +#: resize/main.c:425 +#, c-format +msgid "" +"The filesystem is already %u blocks long. Nothing to do!\n" +"\n" msgstr "" +"Dosya sistemi zaten %u blok uzunlukta. Hiçbir ÅŸey yapılmadı!\n" +"\n" -#: lib/ext2fs/ext2_err.c:158 -msgid "Inode bitmap checksum does not match bitmap" +#: resize/main.c:436 +#, c-format +msgid "" +"Please run 'e2fsck -f %s' first.\n" +"\n" msgstr "" +"Lütfen önce 'e2fsck -f %s' komutunu çalıştırın.\n" +"\n" -#: lib/ext2fs/ext2_err.c:159 -msgid "Extent block checksum does not match extent block" -msgstr "" +#: resize/main.c:447 +#, c-format +msgid "while trying to resize %s" +msgstr "- %s yeniden boyutlandırılırken hata oluÅŸtu" -#: lib/ext2fs/ext2_err.c:160 -msgid "Directory block does not have space for checksum" +#: resize/main.c:452 +#, c-format +msgid "" +"The filesystem on %s is now %u blocks long.\n" +"\n" msgstr "" +"%s üzerindeki dosya sistemi ÅŸimdi %u blok uzunlukta.\n" +"\n" -#: lib/ext2fs/ext2_err.c:161 -msgid "Directory block checksum does not match directory block" +#: resize/online.c:37 +#, c-format +msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" msgstr "" -#: lib/ext2fs/ext2_err.c:162 -msgid "Extended attribute block checksum does not match block" +#: resize/online.c:41 +#, fuzzy, c-format +msgid "On-line shrinking from %u to %u not supported.\n" msgstr "" +"Dosyasistemi özellikleri 0 revizyonlu dosyasistemlerinde desteklenmiyor\n" -#: lib/ext2fs/ext2_err.c:163 +#: resize/online.c:61 #, fuzzy -msgid "Superblock checksum does not match superblock" -msgstr "Süperblokların bulunduÄŸu bloklar:" - -#: lib/ext2fs/ext2_err.c:164 -msgid "Unknown checksum algorithm" -msgstr "" - -#: lib/ext2fs/ext2_err.c:165 -msgid "MMP block checksum does not match MMP block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:166 -msgid "Ext2 file already exists" +msgid "Filesystem does not support online resizing" msgstr "" +"Dosyasistemi özellikleri 0 revizyonlu dosyasistemlerinde desteklenmiyor\n" -#: e2fsck/prof_err.c:11 -msgid "Profile version 0.0" +#: resize/online.c:68 +#, fuzzy, c-format +msgid "while trying to open mountpoint %s" msgstr "" +"\n" +"\t%s üzerindeki günlük açılmaya çalışılırken hata oluÅŸtu\n" -#: e2fsck/prof_err.c:12 -msgid "Bad magic value in profile_node" +#: resize/online.c:76 +msgid "Permission denied to resize filesystem" msgstr "" -#: e2fsck/prof_err.c:13 -#, fuzzy -msgid "Profile section not found" -msgstr "- /lost+found dizini oluÅŸturulurken hata oluÅŸtu" - -#: e2fsck/prof_err.c:14 +#: resize/online.c:79 #, fuzzy -msgid "Profile relation not found" -msgstr "- /lost+found dizini oluÅŸturulurken hata oluÅŸtu" - -#: e2fsck/prof_err.c:15 -msgid "Attempt to add a relation to node which is not a section" -msgstr "" - -#: e2fsck/prof_err.c:16 -msgid "A profile section header has a non-zero value" -msgstr "" - -#: e2fsck/prof_err.c:17 -msgid "Bad linked list in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:18 -msgid "Bad group level in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:19 -msgid "Bad parent pointer in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:20 -msgid "Bad magic value in profile iterator" -msgstr "" - -#: e2fsck/prof_err.c:21 -msgid "Can't set value on section node" -msgstr "" - -#: e2fsck/prof_err.c:22 -msgid "Invalid argument passed to profile library" -msgstr "" - -#: e2fsck/prof_err.c:23 -msgid "Attempt to modify read-only profile" -msgstr "" - -#: e2fsck/prof_err.c:24 -msgid "Profile section header not at top level" -msgstr "" - -#: e2fsck/prof_err.c:25 -msgid "Syntax error in profile section header" -msgstr "" - -#: e2fsck/prof_err.c:26 -msgid "Syntax error in profile relation" -msgstr "" - -#: e2fsck/prof_err.c:27 -msgid "Extra closing brace in profile" -msgstr "" - -#: e2fsck/prof_err.c:28 -msgid "Missing open brace in profile" -msgstr "" - -#: e2fsck/prof_err.c:29 -msgid "Bad magic value in profile_t" -msgstr "" - -#: e2fsck/prof_err.c:30 -msgid "Bad magic value in profile_section_t" -msgstr "" - -#: e2fsck/prof_err.c:31 -msgid "Iteration through all top level section not supported" -msgstr "" +msgid "Kernel does not support online resizing" +msgstr "Dış günlük bu dosya sistemini desteklemiyor\n" -#: e2fsck/prof_err.c:32 +#: resize/online.c:82 #, fuzzy -msgid "Invalid profile_section object" -msgstr "Geçersiz dosya sistemi seçeneÄŸi: %s\n" - -#: e2fsck/prof_err.c:33 -msgid "No more sections" -msgstr "" - -#: e2fsck/prof_err.c:34 -msgid "Bad nameset passed to query routine" -msgstr "" - -#: e2fsck/prof_err.c:35 -msgid "No profile file open" -msgstr "" +msgid "While checking for on-line resizing support" +msgstr "- yeniden boyutlama için bloklar yedeklenirken hata oluÅŸtu" -#: e2fsck/prof_err.c:36 -msgid "Bad magic value in profile_file_t" +#: resize/online.c:111 +#, c-format +msgid "Performing an on-line resize of %s to %u (%dk) blocks.\n" msgstr "" -#: e2fsck/prof_err.c:37 +#: resize/online.c:121 #, fuzzy -msgid "Couldn't open profile file" -msgstr "Dosya kopyalanamadı: %m\n" +msgid "While trying to extend the last group" +msgstr "- dış günlük açılmaya çalışılırken hata oluÅŸtu" -#: e2fsck/prof_err.c:38 -msgid "Section already exists" -msgstr "" +#: resize/online.c:180 +#, fuzzy, c-format +msgid "While trying to add group #%d" +msgstr "- %s açılmaya çalışılırken hata oluÅŸtu" -#: e2fsck/prof_err.c:39 -msgid "Invalid boolean value" +#: resize/online.c:191 +#, c-format +msgid "" +"Filesystem at %s is mounted on %s, and on-line resizing is not supported on " +"this system.\n" msgstr "" -#: e2fsck/prof_err.c:40 -msgid "Invalid integer value" +#: resize/resize2fs.c:322 +#, c-format +msgid "inodes (%llu) must be less than %u" msgstr "" -#: e2fsck/prof_err.c:41 -msgid "Bad magic value in profile_file_data_t" -msgstr "" +#: resize/resize2fs.c:755 +msgid "reserved blocks" +msgstr "yedek bloklar" -#~ msgid "" -#~ msgstr "" +#: resize/resize2fs.c:765 +msgid "meta-data blocks" +msgstr "meta-veri blokları" -#~ msgid "" -#~ msgstr "" +#: resize/resize2fs.c:1703 +#, c-format +msgid "Should never happen: resize inode corrupt!\n" +msgstr "Bu olmamalıydı: boyutlandırırken düğümü kaybettik!\n" #~ msgid "@S doesn't have has_@j flag, but has ext3 @j %s.\n" -#~ msgstr "Süperblok has_journal bayrağı içermiyor, ama ext3 günlüğü %s içeriyor.\n" +#~ msgstr "" +#~ "Süperblok has_journal bayrağı içermiyor, ama ext3 günlüğü %s içeriyor.\n" #~ msgid "@a in @i %i has a hash (%N) which is @n (must be 0)\n" -#~ msgstr "%i. düğümdeki ek özellik geçersiz bir çırpı (hash) içeriyor (%N), 0 olmalı\n" +#~ msgstr "" +#~ "%i. düğümdeki ek özellik geçersiz bir çırpı (hash) içeriyor (%N), 0 " +#~ "olmalı\n" #~ msgid "while calling ext2fs_block_iterate" #~ msgstr "ext2fs_block_iterate iÅŸlevi çaÄŸrılırken hata oluÅŸtu" @@ -6975,9 +5407,6 @@ msgstr "" #~ msgid "Byte swap" #~ msgstr "Ters baytlı" -#~ msgid "%s is mounted. " -#~ msgstr "%s baÄŸlandı. " - #~ msgid "Byte-swapping filesystems not compiled in this version of e2fsck\n" #~ msgstr "e2fsck'nın bu sürümünde derlenmemiÅŸ ters baytlı sistemler \n" @@ -6990,24 +5419,18 @@ msgstr "" #~ msgid "while retrying to write block bitmaps for %s" #~ msgstr "- %s için blok biteÅŸlemlerinin yazılması yinelenirken hata oluÅŸtu" -#~ msgid "bad block size - %s" -#~ msgstr "blok uzunluÄŸu hatalı - %s" +#~ msgid "writing inode bitmaps" +#~ msgstr "düğüm biteÅŸlemleri yazılıyor" -#~ msgid "invalid blocks range: %lu-%lu" -#~ msgstr "hatalı blok aralığı: %lu-%lu" +#~ msgid "invalid test_pattern: %s\n" +#~ msgstr "sınama ÅŸablonu geçersiz: %s\n" + +#~ msgid "invalid starting block - %s" +#~ msgstr "baÅŸlangıç bloÄŸu hatalı - %s" #~ msgid "Note: This is a byte-swapped filesystem\n" #~ msgstr "Bilgi: Bu bir ters-baytlı dosya sistemi\n" -#~ msgid "short write (only %d bytes) for writing image header" -#~ msgstr "görüntü baÅŸlığını yazmak için kısa yazma (sadece %d bayt)" - -#~ msgid "invalid fragment size - %s" -#~ msgstr "sekme boyu hatalı - %s" - -#~ msgid "Warning: fragments not supported. Ignoring -f option\n" -#~ msgstr "Uyarı: sekmeler desteklenmediÄŸinden -f seçeneÄŸi yoksayılıyor\n" - #~ msgid "" #~ "Filesystem too large. No more than 2**31-1 blocks\n" #~ "\t (8TB using a blocksize of 4k) are currently supported." @@ -7026,11 +5449,23 @@ msgstr "" #~ "\tboylarını desteklemez. Bu sizin için de geçerliyse, -b 4096 hullanın.\n" #~ "\n" -#~ msgid "Warning: %d-byte inodes not usable on most systems\n" +#, fuzzy +#~ msgid "Warning: %d-byte inodes not usable on older systems\n" #~ msgstr "Uyarı: %d baytlık düğümler bir çok sistemde kullanımdışıdır.\n" -#~ msgid "Journal NOT removed\n" -#~ msgstr "Günlük silinMEdi\n" +#, fuzzy +#~ msgid "Filesystem %s has unsupported features enabled.\n" +#~ msgstr "" +#~ "Dosyasistemi özellikleri 0 revizyonlu dosyasistemlerinde desteklenmiyor\n" + +#~ msgid "bad filesystem size - %s" +#~ msgstr "dosya sistemi uzunluÄŸu hatalı - %s" + +#~ msgid "Couldn't find ext2 superblock," +#~ msgstr "ext2 süperbloÄŸu bulunamadı," + +#~ msgid "invalid blocks range: %lu-%lu" +#~ msgstr "hatalı blok aralığı: %lu-%lu" #~ msgid "" #~ "\n" @@ -7046,14 +5481,6 @@ msgstr "" #~ "\n" #~ "Süperblok azaltma bayrağı temizlendi. %s" -#~ msgid "#\t\t %u -> %u (%d)\n" -#~ msgstr "#\t\t %u -> %u (%d)\n" - -#~ msgid "" -#~ "%s is mounted; can't resize a mounted filesystem!\n" -#~ "\n" -#~ msgstr "%s baÄŸlı; baÄŸlı bir dosya sistemi yeniden boyutlandırılamaz!\n" - #~ msgid "done \n" #~ msgstr "bitti \n" @@ -7122,7 +5549,9 @@ msgstr "" #~ msgstr "BLKGETSIZE ioctl" #~ msgid "Forcibly clearing HTREE flag on @i %d (%q). (Beta test code)\n" -#~ msgstr "Düğüm %d (%q) üzerindeki HTREE bayrağı zorla temizleniyor. (Beta test kodu)\n" +#~ msgstr "" +#~ "Düğüm %d (%q) üzerindeki HTREE bayrağı zorla temizleniyor. (Beta test " +#~ "kodu)\n" #~ msgid "(unknown os)" #~ msgstr "(bilinmeyen iÅŸl. sist.)" @@ -7149,10 +5578,69 @@ msgstr "" #~ msgstr "Düğüm çevirisi (dizin = %u, isim= %.*s, %u->%u)\n" #~ msgid "Itable move group %d block %u->%u (diff %d)\n" -#~ msgstr "Düğüm tablosu %d. grubun blokları %u -> %u arasında taşınıyor (fark %d)\n" +#~ msgstr "" +#~ "Düğüm tablosu %d. grubun blokları %u -> %u arasında taşınıyor (fark %d)\n" #~ msgid "%d blocks of zeros...\n" #~ msgstr "%d sıfırlı blok...\n" #~ msgid "Inode table move finished.\n" #~ msgstr "Düğüm tablosunun taşınması tamamlandı.\n" + +#~ msgid "" +#~ "\n" +#~ "%8d inode used (%d%%)\n" +#~ msgid_plural "" +#~ "\n" +#~ "%8d inodes used (%d%%)\n" +#~ msgstr[0] "" +#~ "\n" +#~ "%8d düğüm kullanıldı (%%%d)\n" +#~ msgstr[1] "" +#~ "\n" +#~ "%8d düğüm kullanıldı (%%%d)\n" + +#~ msgid "%8d non-contiguous inode (%0d.%d%%)\n" +#~ msgid_plural "%8d non-contiguous inodes (%0d.%d%%)\n" +#~ msgstr[0] "%8d bitiÅŸik olmayan düğüm (%%%0d.%d)\n" +#~ msgstr[1] "%8d bitiÅŸik olmayan düğüm (%%%0d.%d)\n" + +#~ msgid "%8d block used (%d%%)\n" +#~ msgid_plural "%8d blocks used (%d%%)\n" +#~ msgstr[0] "%8d blok kullanıldı (%%%d)\n" +#~ msgstr[1] "%8d blok kullanıldı (%%%d)\n" + +#~ msgid "%8d bad block\n" +#~ msgid_plural "%8d bad blocks\n" +#~ msgstr[0] "%8d hatalı blok\n" +#~ msgstr[1] "%8d hatalı blok\n" + +#~ msgid "%8d large file\n" +#~ msgid_plural "%8d large files\n" +#~ msgstr[0] "%8d büyük dosya\n" +#~ msgstr[1] "%8d büyük dosya\n" + +#~ msgid "%8d directory\n" +#~ msgid_plural "%8d directories\n" +#~ msgstr[0] "%8d dizin\n" +#~ msgstr[1] "%8d dizin\n" + +#~ msgid "%8d fifo\n" +#~ msgid_plural "%8d fifos\n" +#~ msgstr[0] "%8d fifo\n" +#~ msgstr[1] "%8d fifo\n" + +#~ msgid "%8d link\n" +#~ msgid_plural "%8d links\n" +#~ msgstr[0] "%8d baÄŸ\n" +#~ msgstr[1] "%8d baÄŸ\n" + +#~ msgid " (%d fast symbolic link)\n" +#~ msgid_plural " (%d fast symbolic links)\n" +#~ msgstr[0] " (%d hızlı sembolik baÄŸ)\n" +#~ msgstr[1] " (%d hızlı sembolik baÄŸ)\n" + +#~ msgid "%8d file\n" +#~ msgid_plural "%8d files\n" +#~ msgstr[0] "%8d dosya\n" +#~ msgstr[1] "%8d dosya\n" diff --git a/po/vi.gmo b/po/vi.gmo index cf67ae10..b56d3450 100644 Binary files a/po/vi.gmo and b/po/vi.gmo differ diff --git a/po/vi.po b/po/vi.po index 383ccb34..ffafe288 100644 --- a/po/vi.po +++ b/po/vi.po @@ -1,9 +1,7 @@ # Vietnamese translation for e2fsprogs. -# Copyright © 2013 Theodore Tso (msgids) -# Copyright © 2013 Free Software Foundation, Inc. +# Copyright © 2010 Theodore Tso (msgids) # This file is distributed under the same license as the e2fsprogs package. # Clytie Siddall , 2006-2010. -# Trần Ngá»c Quân , 2012-2013. # #. 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, @@ -65,381 +63,382 @@ #. msgid "" msgstr "" -"Project-Id-Version: e2fsprogs-1.42.8\n" +"Project-Id-Version: e2fsprogs 1.41.11\n" "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n" -"POT-Creation-Date: 2013-06-16 08:17-0400\n" -"PO-Revision-Date: 2013-07-31 14:26+0700\n" -"Last-Translator: Trần Ngá»c Quân \n" -"Language-Team: Vietnamese \n" -"Language: vi\n" +"POT-Creation-Date: 2010-05-17 23:05-0400\n" +"PO-Revision-Date: 2010-04-13 19:48+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Team-Website: \n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 1.5.5\n" -"X-Poedit-SourceCharset: utf-8\n" +"X-Generator: LocFactoryEditor 1.8\n" -#: e2fsck/badblocks.c:23 misc/mke2fs.c:180 +#: e2fsck/badblocks.c:22 misc/mke2fs.c:169 #, c-format msgid "Bad block %u out of range; ignored.\n" -msgstr "Khối há»ng %u nằm ngoài phạm vi nên bị bá» qua.\n" +msgstr "Khối há»ng %u ở ngoại phạm vi nên bị bá» qua.\n" -#: e2fsck/badblocks.c:46 +#: e2fsck/badblocks.c:45 msgid "while sanity checking the bad blocks inode" msgstr "trong khi kiểm tra sá»± đúng má»±c nút thông tin khối há»ng" -#: e2fsck/badblocks.c:58 +#: e2fsck/badblocks.c:57 msgid "while reading the bad blocks inode" msgstr "trong khi Ä‘á»c nút thông tin khối há»ng" -#: e2fsck/badblocks.c:72 e2fsck/iscan.c:110 e2fsck/scantest.c:107 -#: e2fsck/unix.c:1332 e2fsck/unix.c:1420 misc/badblocks.c:1214 -#: misc/badblocks.c:1222 misc/badblocks.c:1236 misc/badblocks.c:1248 -#: misc/dumpe2fs.c:588 misc/e2image.c:1196 misc/e2image.c:1324 -#: misc/e2image.c:1337 misc/mke2fs.c:196 misc/tune2fs.c:1907 resize/main.c:315 +#: e2fsck/badblocks.c:71 e2fsck/iscan.c:112 e2fsck/scantest.c:109 +#: e2fsck/unix.c:1083 e2fsck/unix.c:1166 misc/badblocks.c:1155 +#: misc/badblocks.c:1163 misc/badblocks.c:1177 misc/badblocks.c:1189 +#: misc/dumpe2fs.c:552 misc/e2image.c:583 misc/e2image.c:679 +#: misc/e2image.c:695 misc/mke2fs.c:185 misc/tune2fs.c:1573 resize/main.c:310 #, c-format msgid "while trying to open %s" msgstr "trong khi thá»­ mở %s" -#: e2fsck/badblocks.c:83 +#: e2fsck/badblocks.c:82 #, c-format msgid "while trying popen '%s'" -msgstr "trong khi thá»­ mở popen “%sâ€" +msgstr "trong khi thá»­ mở popen « %s »" -#: e2fsck/badblocks.c:94 misc/mke2fs.c:203 +#: e2fsck/badblocks.c:93 misc/mke2fs.c:192 msgid "while reading in list of bad blocks from file" msgstr "trong khi Ä‘á»c vào danh sách các khối há»ng từ tập tin" -#: e2fsck/badblocks.c:105 +#: e2fsck/badblocks.c:104 msgid "while updating bad block inode" msgstr "trong khi cập nhật nút thông tin khối há»ng" -#: e2fsck/badblocks.c:131 +#: e2fsck/badblocks.c:130 #, c-format msgid "Warning: illegal block %u found in bad block inode. Cleared.\n" -msgstr "Cảnh báo: tìm thấy khối cấm %u trong nút thông tin khối há»ng nên bị xoá.\n" +msgstr "" +"Cảnh báo : tìm thấy khối cấm %u trong nút thông tin khối há»ng nên bị xoá.\n" -#: e2fsck/ehandler.c:55 +#: e2fsck/ehandler.c:54 #, c-format msgid "Error reading block %lu (%s) while %s. " msgstr "Gặp lá»—i khi Ä‘á»c khối %lu (%s) trong khi %s. " -#: e2fsck/ehandler.c:58 +#: e2fsck/ehandler.c:57 #, c-format msgid "Error reading block %lu (%s). " msgstr "Gặp lá»—i khi Ä‘á»c khối %lu (%s). " -#: e2fsck/ehandler.c:61 e2fsck/ehandler.c:110 +#: e2fsck/ehandler.c:60 e2fsck/ehandler.c:109 msgid "Ignore error" msgstr "Bá» qua lá»—i" -#: e2fsck/ehandler.c:62 +#: e2fsck/ehandler.c:61 msgid "Force rewrite" -msgstr "Ép buá»™c ghi lại" +msgstr "Buá»™c ghi lại" -#: e2fsck/ehandler.c:104 +#: e2fsck/ehandler.c:103 #, c-format msgid "Error writing block %lu (%s) while %s. " msgstr "Găp lá»—i khi ghi khối %lu (%s) trong khi %s. " -#: e2fsck/ehandler.c:107 +#: e2fsck/ehandler.c:106 #, c-format msgid "Error writing block %lu (%s). " msgstr "Gặp lá»—i khi ghi khối %lu (%s). " -#: e2fsck/emptydir.c:57 +#: e2fsck/emptydir.c:56 msgid "empty dirblocks" msgstr "khối thÆ° mục rá»—ng" -#: e2fsck/emptydir.c:62 +#: e2fsck/emptydir.c:61 msgid "empty dir map" -msgstr "ánh xạ thÆ° mục rá»—ng" +msgstr "sÆ¡ đồ thÆ° mục rá»—ng" -#: e2fsck/emptydir.c:98 +#: e2fsck/emptydir.c:97 #, c-format msgid "Empty directory block %u (#%d) in inode %u\n" msgstr "Khối thÆ° mục rá»—ng %u (#%d) trong nút thông tin %u\n" -#: e2fsck/extend.c:22 +#: e2fsck/extend.c:21 #, c-format msgid "%s: %s filename nblocks blocksize\n" msgstr "%s: %s tên tập tin số khối cỡ khối\n" -#: e2fsck/extend.c:44 +#: e2fsck/extend.c:43 #, c-format msgid "Illegal number of blocks!\n" -msgstr "Không cho phép số khối đó!\n" +msgstr "Không cho phép số khối đó.\n" -#: e2fsck/extend.c:50 +#: e2fsck/extend.c:49 #, c-format msgid "Couldn't allocate block buffer (size=%d)\n" msgstr "Không thể cấp phát bá»™ đệm khối (cỡ=%d)\n" -#: e2fsck/flushb.c:35 +#: e2fsck/flushb.c:34 #, c-format msgid "Usage: %s disk\n" -msgstr "Cách dùng: %s Ä‘Ä©a\n" +msgstr "Sá»­ dụng: %s Ä‘Ä©a\n" -#: e2fsck/flushb.c:64 +#: e2fsck/flushb.c:63 #, c-format msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n" -msgstr "BLKFLSBUF ioctl không được há»— trợ. Không thể đẩy dữ liệu bá»™ đệm lên Ä‘Ä©a.\n" +msgstr "BLKFLSBUF ioctl không được há»— trợ. Không thể xoá sạch các bá»™ đệm.\n" -#: e2fsck/iscan.c:44 +#: e2fsck/iscan.c:46 #, c-format msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n" msgstr "" -"Cách dùng: %s [-F] [-I KÄN] thiết_bị\n" +"Sá»­ dụng: %s [-F] [-I KÄN] thiết_bị\n" "\n" "[KÄN: các khối đệm nút thông tin]\n" "\n" -#: e2fsck/iscan.c:81 e2fsck/unix.c:961 +#: e2fsck/iscan.c:83 e2fsck/unix.c:838 #, c-format msgid "while opening %s for flushing" -msgstr "trong khi mở %s để đẩy dữ liệu lên Ä‘Ä©a" +msgstr "trong khi mở %s để xoá sạch" -#: e2fsck/iscan.c:86 e2fsck/unix.c:967 resize/main.c:288 +#: e2fsck/iscan.c:88 e2fsck/unix.c:844 resize/main.c:286 #, c-format msgid "while trying to flush %s" -msgstr "trong khi cố đẩy dữ liệu %s lên Ä‘Ä©a" +msgstr "trong khi thá»­ xoá sạch %s" -#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1091 +#: e2fsck/iscan.c:121 e2fsck/scantest.c:116 misc/e2image.c:489 msgid "while opening inode scan" msgstr "trong khi mở việc quét nút thông tin" -#: e2fsck/iscan.c:127 misc/e2image.c:1109 +#: e2fsck/iscan.c:129 misc/e2image.c:507 msgid "while getting next inode" msgstr "trong khi lấy nút thông tin kế tiếp" -#: e2fsck/iscan.c:136 +#: e2fsck/iscan.c:138 #, c-format msgid "%u inodes scanned.\n" msgstr "%u nút thông tin đã được quét.\n" -#: e2fsck/journal.c:522 +#: e2fsck/journal.c:507 msgid "reading journal superblock\n" msgstr "Ä‘ang Ä‘á»c siêu khối nhật ký\n" -#: e2fsck/journal.c:579 +#: e2fsck/journal.c:564 #, c-format msgid "%s: no valid journal superblock found\n" msgstr "%s: không tìm thấy siêu khối nhật ký hợp lệ\n" -#: e2fsck/journal.c:588 +#: e2fsck/journal.c:573 #, c-format msgid "%s: journal too short\n" msgstr "%s: nhật ký quá ngắn\n" -#: e2fsck/journal.c:880 +#: e2fsck/journal.c:860 #, c-format msgid "%s: recovering journal\n" msgstr "%s: Ä‘ang phục hồi nhật ký\n" -#: e2fsck/journal.c:882 +#: e2fsck/journal.c:862 #, c-format msgid "%s: won't do journal recovery while read-only\n" msgstr "%s: sẽ không phục hồi nhật ký trong khi có tình trạng chỉ Ä‘á»c\n" -#: e2fsck/journal.c:909 +#: e2fsck/journal.c:887 #, c-format msgid "while trying to re-open %s" msgstr "trong khi thá»­ mở lại %s" -#: e2fsck/message.c:113 +#: e2fsck/message.c:111 msgid "aextended attribute" msgstr "athuá»™c tính đã mở rá»™ng" -#: e2fsck/message.c:114 +#: e2fsck/message.c:112 msgid "Aerror allocating" msgstr "Agặp lá»—i khi cấp phát" -#: e2fsck/message.c:115 +#: e2fsck/message.c:113 msgid "bblock" msgstr "bkhối" -#: e2fsck/message.c:116 +#: e2fsck/message.c:114 msgid "Bbitmap" msgstr "Bmảng ảnh" -#: e2fsck/message.c:117 +#: e2fsck/message.c:115 msgid "ccompress" msgstr "cnén" -#: e2fsck/message.c:118 +#: e2fsck/message.c:116 msgid "Cconflicts with some other fs @b" msgstr "Cxung Ä‘á»™t vá»›i @b của hệ thống tập tin khác" -#: e2fsck/message.c:119 +#: e2fsck/message.c:117 msgid "iinode" msgstr "inút thông tin" -#: e2fsck/message.c:120 +#: e2fsck/message.c:118 msgid "Iillegal" msgstr "Icấm" -#: e2fsck/message.c:121 +#: e2fsck/message.c:119 msgid "jjournal" msgstr "jnhật ký" -#: e2fsck/message.c:122 +#: e2fsck/message.c:120 msgid "Ddeleted" msgstr "Dbị xoá" -#: e2fsck/message.c:123 +#: e2fsck/message.c:121 msgid "ddirectory" msgstr "dthÆ° mục" -#: e2fsck/message.c:124 +#: e2fsck/message.c:122 msgid "eentry" msgstr "emục nhập" -#: e2fsck/message.c:125 +#: e2fsck/message.c:123 msgid "E@e '%Dn' in %p (%i)" -msgstr "E@e “%Dn†trong %p (%i)" +msgstr "E@e '%Dn' trong %p (%i)" -#: e2fsck/message.c:126 +#: e2fsck/message.c:124 msgid "ffilesystem" msgstr "fhệ thống tập tin" -#: e2fsck/message.c:127 +#: e2fsck/message.c:125 msgid "Ffor @i %i (%Q) is" msgstr "Fcho @i %i (%Q) là" -#: e2fsck/message.c:128 +#: e2fsck/message.c:126 msgid "ggroup" msgstr "gnhóm" -#: e2fsck/message.c:129 +#: e2fsck/message.c:127 msgid "hHTREE @d @i" -msgstr "hHTREE @d @i" +msgstr "hHCÂY @d @i" -#: e2fsck/message.c:130 +#: e2fsck/message.c:128 msgid "llost+found" msgstr "lmất+tìm" -#: e2fsck/message.c:131 +#: e2fsck/message.c:129 msgid "Lis a link" msgstr "Llà liên kết" -#: e2fsck/message.c:132 +#: e2fsck/message.c:130 msgid "mmultiply-claimed" msgstr "mÄ‘a tuyên bố" -#: e2fsck/message.c:133 +#: e2fsck/message.c:131 msgid "ninvalid" msgstr "nkhông hợp lệ" -#: e2fsck/message.c:134 +#: e2fsck/message.c:132 msgid "oorphaned" msgstr "othừa" -#: e2fsck/message.c:135 +#: e2fsck/message.c:133 msgid "pproblem in" msgstr "pvấn Ä‘á» trong" -#: e2fsck/message.c:136 -msgid "qquota" -msgstr "qhạn nghạch" - -#: e2fsck/message.c:137 +#: e2fsck/message.c:134 msgid "rroot @i" msgstr "r@i gốc" -#: e2fsck/message.c:138 +#: e2fsck/message.c:135 msgid "sshould be" msgstr "snên là" -#: e2fsck/message.c:139 +#: e2fsck/message.c:136 msgid "Ssuper@b" -msgstr "Ssiêu@b" +msgstr "Ssiêu @b" -#: e2fsck/message.c:140 +#: e2fsck/message.c:137 msgid "uunattached" -msgstr "uchÆ°a-cố-định" +msgstr "uchÆ°a gắn nối" -#: e2fsck/message.c:141 +#: e2fsck/message.c:138 msgid "vdevice" -msgstr "vthiết-bị" +msgstr "vthiết bị" -#: e2fsck/message.c:142 +#: e2fsck/message.c:139 msgid "xextent" -msgstr "xmở-rá»™ng" +msgstr "xphạm vi" -#: e2fsck/message.c:143 +#: e2fsck/message.c:140 msgid "zzero-length" msgstr "zdài bằng không" -#: e2fsck/message.c:154 +#: e2fsck/message.c:151 msgid "" msgstr "" -#: e2fsck/message.c:155 +#: e2fsck/message.c:152 msgid "" -msgstr "" +msgstr "" -#: e2fsck/message.c:157 -msgid "" -msgstr "" +#: e2fsck/message.c:154 +msgid "" +msgstr "" -#: e2fsck/message.c:158 -msgid "" -msgstr "" +#: e2fsck/message.c:155 +msgid "" +msgstr "" -#: e2fsck/message.c:159 +#: e2fsck/message.c:156 msgid "" msgstr "" -#: e2fsck/message.c:160 +#: e2fsck/message.c:157 msgid "" msgstr "" -#: e2fsck/message.c:161 +#: e2fsck/message.c:158 msgid "" msgstr "" -#: e2fsck/message.c:162 +#: e2fsck/message.c:159 msgid "" msgstr "" -#: e2fsck/message.c:163 +#: e2fsck/message.c:160 msgid "" msgstr "" -#: e2fsck/message.c:164 +#: e2fsck/message.c:161 msgid "" msgstr "" -#: e2fsck/message.c:333 +#: e2fsck/message.c:330 +#, c-format msgid "regular file" -msgstr "tập tin thÆ°á»ng" +msgstr "tập tin chuẩn" -#: e2fsck/message.c:335 +#: e2fsck/message.c:332 +#, c-format msgid "directory" msgstr "thÆ° mục" -#: e2fsck/message.c:337 +#: e2fsck/message.c:334 +#, c-format msgid "character device" msgstr "thiết bị ký tá»±" -#: e2fsck/message.c:339 +#: e2fsck/message.c:336 +#, c-format msgid "block device" msgstr "thiết bị khối" -#: e2fsck/message.c:341 +#: e2fsck/message.c:338 +#, c-format msgid "named pipe" msgstr "ống dẫn có tên" -#: e2fsck/message.c:343 +#: e2fsck/message.c:340 +#, c-format msgid "symbolic link" msgstr "liên kết tượng trÆ°ng" -#: e2fsck/message.c:345 misc/uuidd.c:161 +#: e2fsck/message.c:342 +#, c-format msgid "socket" msgstr "ổ cắm" -#: e2fsck/message.c:347 +#: e2fsck/message.c:344 #, c-format msgid "unknown file type with mode 0%o" msgstr "kiểu tập tin không rõ vá»›i chế Ä‘á»™ 0%o" @@ -464,314 +463,314 @@ msgstr "khối dịch" msgid "block #" msgstr "khối #" -#: e2fsck/pass1b.c:222 +#: e2fsck/pass1b.c:220 msgid "multiply claimed inode map" -msgstr "ánh xạ nút thông tin Ä‘a tuyên bố" +msgstr "sÆ¡ đồ nút thông tin Ä‘a tuyên bố" -#: e2fsck/pass1b.c:610 e2fsck/pass1b.c:730 +#: e2fsck/pass1b.c:581 e2fsck/pass1b.c:714 #, c-format -msgid "internal error: can't find dup_blk for %llu\n" -msgstr "lá»—i ná»™i bá»™: không tìm thấy khối trùng (dup_blk) cho %llu\n" +msgid "internal error: can't find dup_blk for %u\n" +msgstr "lá»—i ná»™i bá»™ : không tìm thấy khối trùng (dup_blk) cho %u\n" -#: e2fsck/pass1b.c:821 +#: e2fsck/pass1b.c:757 msgid "returned from clone_file_block" msgstr "đã trả lại từ khối tập tin nhái (clone_file_block)" -#: e2fsck/pass1b.c:843 +#: e2fsck/pass1b.c:776 #, c-format -msgid "internal error: couldn't lookup EA block record for %llu" -msgstr "lá»—i ná»™i bá»™: không thể tra tìm mục ghi khối EA cho %llu" +msgid "internal error: couldn't lookup EA block record for %u" +msgstr "lá»—i ná»™i bá»™ : không thể tra tìm mục ghi khối EA cho %u" -#: e2fsck/pass1b.c:855 +#: e2fsck/pass1b.c:788 #, c-format msgid "internal error: couldn't lookup EA inode record for %u" -msgstr "lá»—i ná»™i bá»™: không thể tra tìm mục ghi nút thông tin EA cho %u" +msgstr "lá»—i ná»™i bá»™ : không thể tra tìm mục ghi nút thông tin EA cho %u" -#: e2fsck/pass1.c:475 e2fsck/pass2.c:782 +#: e2fsck/pass1.c:475 e2fsck/pass2.c:776 msgid "reading directory block" msgstr "Ä‘ang Ä‘á»c khối thÆ° mục" -#: e2fsck/pass1.c:598 +#: e2fsck/pass1.c:597 msgid "in-use inode map" -msgstr "ánh xạ nút thông tin Ä‘ang được dùng" +msgstr "sÆ¡ đồ nút thông tin Ä‘ang được dùng" -#: e2fsck/pass1.c:609 +#: e2fsck/pass1.c:606 msgid "directory inode map" -msgstr "ánh xạ nút thông tin thÆ° mục" +msgstr "sÆ¡ đồ nút thông tin thÆ° mục" -#: e2fsck/pass1.c:619 +#: e2fsck/pass1.c:614 msgid "regular file inode map" -msgstr "ánh xạ nút thông tin tập tin chuẩn" +msgstr "sÆ¡ đồ nút thông tin tập tin chuẩn" -#: e2fsck/pass1.c:628 +#: e2fsck/pass1.c:621 msgid "in-use block map" -msgstr "ánh xạ khối Ä‘ang được dùng" +msgstr "sÆ¡ đồ khối Ä‘ang được dùng" -#: e2fsck/pass1.c:695 +#: e2fsck/pass1.c:675 msgid "opening inode scan" msgstr "Ä‘ang mở bản quét nút thông tin" -#: e2fsck/pass1.c:729 +#: e2fsck/pass1.c:699 msgid "getting next inode from scan" msgstr "Ä‘ang lấy nút thông tin kế tiếp từ bản quét" -#: e2fsck/pass1.c:1239 +#: e2fsck/pass1.c:1173 msgid "Pass 1" -msgstr "Lần 1" +msgstr "Lần qua 1" -#: e2fsck/pass1.c:1296 +#: e2fsck/pass1.c:1230 #, c-format msgid "reading indirect blocks of inode %u" msgstr "Ä‘ang Ä‘á»c khối gián tiếp của nút thông tin %u" -#: e2fsck/pass1.c:1346 +#: e2fsck/pass1.c:1274 msgid "bad inode map" -msgstr "ánh xạ nút thông tin sai" +msgstr "sÆ¡ đồ nút thông tin sai" -#: e2fsck/pass1.c:1369 +#: e2fsck/pass1.c:1296 msgid "inode in bad block map" -msgstr "nút thông tin trong ánh xạ khối sai" +msgstr "nút thông tin trong sÆ¡ đồ khối sai" -#: e2fsck/pass1.c:1389 +#: e2fsck/pass1.c:1316 msgid "imagic inode map" -msgstr "ánh xạ nút thông tin ma thuật imagic" +msgstr "sÆ¡ đồ nút thông tin ma thuật imagic" -#: e2fsck/pass1.c:1416 +#: e2fsck/pass1.c:1343 msgid "multiply claimed block map" -msgstr "ánh xạ khối Ä‘a tuyên bố" +msgstr "sÆ¡ đồ khối Ä‘a tuyên bố" -#: e2fsck/pass1.c:1527 +#: e2fsck/pass1.c:1443 msgid "ext attr block map" -msgstr "ánh xạ khối ext attr (thuá»™c tính thêm?)" +msgstr "sÆ¡ đồ khối ext attr (thuá»™c tính thêm?)" -#: e2fsck/pass1.c:2299 +#: e2fsck/pass1.c:2181 #, c-format msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n" msgstr "%6lu (%c): mong đợi %6lu còn nhận %6lu vật lý (đếm khối %lld)\n" -#: e2fsck/pass1.c:2660 +#: e2fsck/pass1.c:2533 msgid "block bitmap" msgstr "mảng ảnh khối" -#: e2fsck/pass1.c:2666 +#: e2fsck/pass1.c:2537 msgid "inode bitmap" msgstr "mảng ảnh nút thông tin" -#: e2fsck/pass1.c:2672 +#: e2fsck/pass1.c:2541 msgid "inode table" msgstr "bảng nút thông tin" -#: e2fsck/pass2.c:283 +#: e2fsck/pass2.c:277 msgid "Pass 2" -msgstr "Lần 2" +msgstr "Lần qua 2" -#: e2fsck/pass2.c:805 +#: e2fsck/pass2.c:799 msgid "Can not continue." msgstr "Không thể tiếp tục." -#: e2fsck/pass3.c:77 +#: e2fsck/pass3.c:76 msgid "inode done bitmap" msgstr "mảng ảnh nút thông tin hoàn tất" -#: e2fsck/pass3.c:86 +#: e2fsck/pass3.c:84 msgid "Peak memory" msgstr "Bá»™ nhá»› cao Ä‘iểm" -#: e2fsck/pass3.c:136 +#: e2fsck/pass3.c:134 msgid "Pass 3" -msgstr "Lần 3" +msgstr "Lần qua 3" -#: e2fsck/pass3.c:322 +#: e2fsck/pass3.c:320 msgid "inode loop detection bitmap" msgstr "mảng ảnh phát hiện vòng lặp nút thông tin" -#: e2fsck/pass4.c:196 +#: e2fsck/pass4.c:191 msgid "Pass 4" -msgstr "Lần 4" +msgstr "Lần qua 4" -#: e2fsck/pass5.c:74 +#: e2fsck/pass5.c:64 msgid "Pass 5" -msgstr "Lần 5" +msgstr "Lần qua 5" -#: e2fsck/problem.c:51 +#: e2fsck/problem.c:50 msgid "(no prompt)" -msgstr "(không nhắc)" +msgstr "(không có dấu nhắc)" -#: e2fsck/problem.c:52 +#: e2fsck/problem.c:51 msgid "Fix" msgstr "Sá»­a chữa" -#: e2fsck/problem.c:53 +#: e2fsck/problem.c:52 msgid "Clear" msgstr "Xoá sạch" -#: e2fsck/problem.c:54 +#: e2fsck/problem.c:53 msgid "Relocate" msgstr "Äịnh vị lại" -#: e2fsck/problem.c:55 +#: e2fsck/problem.c:54 msgid "Allocate" msgstr "Cấp phát" -#: e2fsck/problem.c:56 +#: e2fsck/problem.c:55 msgid "Expand" msgstr "Mở rá»™ng" -#: e2fsck/problem.c:57 +#: e2fsck/problem.c:56 msgid "Connect to /lost+found" msgstr "Kết nối đến /mất+tìm" -#: e2fsck/problem.c:58 +#: e2fsck/problem.c:57 msgid "Create" msgstr "Tạo" -#: e2fsck/problem.c:59 +#: e2fsck/problem.c:58 msgid "Salvage" msgstr "Cứu vá»›t" -#: e2fsck/problem.c:60 +#: e2fsck/problem.c:59 msgid "Truncate" msgstr "Cắt ngắn" -#: e2fsck/problem.c:61 +#: e2fsck/problem.c:60 msgid "Clear inode" msgstr "Xoá sạch nút thông tin" -#: e2fsck/problem.c:62 +#: e2fsck/problem.c:61 msgid "Abort" msgstr "Hủy bá»" -#: e2fsck/problem.c:63 +#: e2fsck/problem.c:62 msgid "Split" msgstr "Chia tách" -#: e2fsck/problem.c:64 +#: e2fsck/problem.c:63 msgid "Continue" msgstr "Tiếp tục" -#: e2fsck/problem.c:65 +#: e2fsck/problem.c:64 msgid "Clone multiply-claimed blocks" msgstr "Nhái theo các khối Ä‘a tuyên bố" -#: e2fsck/problem.c:66 +#: e2fsck/problem.c:65 msgid "Delete file" msgstr "Xoá tập tin" -#: e2fsck/problem.c:67 +#: e2fsck/problem.c:66 msgid "Suppress messages" msgstr "Thu hồi thông Ä‘iệp" -#: e2fsck/problem.c:68 +#: e2fsck/problem.c:67 msgid "Unlink" msgstr "Bá» liên kết" -#: e2fsck/problem.c:69 +#: e2fsck/problem.c:68 msgid "Clear HTree index" -msgstr "Xoá sạch chỉ mục hHTREE" +msgstr "Xoá sạch chỉ mục HCây" -#: e2fsck/problem.c:70 +#: e2fsck/problem.c:69 msgid "Recreate" msgstr "Tạo lại" -#: e2fsck/problem.c:79 +#: e2fsck/problem.c:78 msgid "(NONE)" -msgstr "(KHÔNG)" +msgstr "(KHÔNG CÓ)" -#: e2fsck/problem.c:80 +#: e2fsck/problem.c:79 msgid "FIXED" msgstr "Äà SỬA CHá»®A" -#: e2fsck/problem.c:81 +#: e2fsck/problem.c:80 msgid "CLEARED" msgstr "Äà XOà SẠCH" -#: e2fsck/problem.c:82 +#: e2fsck/problem.c:81 msgid "RELOCATED" msgstr "Äà ÄỊNH VỊ LẠI" -#: e2fsck/problem.c:83 +#: e2fsck/problem.c:82 msgid "ALLOCATED" msgstr "Äà CẤP PHÃT" -#: e2fsck/problem.c:84 +#: e2fsck/problem.c:83 msgid "EXPANDED" msgstr "Äà MỞ RỘNG" -#: e2fsck/problem.c:85 +#: e2fsck/problem.c:84 msgid "RECONNECTED" msgstr "Äà KẾT Ná»I LẠI" -#: e2fsck/problem.c:86 +#: e2fsck/problem.c:85 msgid "CREATED" msgstr "Äà TẠO" -#: e2fsck/problem.c:87 +#: e2fsck/problem.c:86 msgid "SALVAGED" msgstr "Äà CỨU VỚT" -#: e2fsck/problem.c:88 +#: e2fsck/problem.c:87 msgid "TRUNCATED" msgstr "Äà CẮT NGẮN" -#: e2fsck/problem.c:89 +#: e2fsck/problem.c:88 msgid "INODE CLEARED" msgstr "NÚT THÔNG TIN Äà XOà SẠCH" -#: e2fsck/problem.c:90 +#: e2fsck/problem.c:89 msgid "ABORTED" msgstr "BỊ HỦY BỎ" -#: e2fsck/problem.c:91 +#: e2fsck/problem.c:90 msgid "SPLIT" msgstr "Äà CHIA TÃCH" -#: e2fsck/problem.c:92 +#: e2fsck/problem.c:91 msgid "CONTINUING" msgstr "ÄANG TIẾP TỤC" -#: e2fsck/problem.c:93 +#: e2fsck/problem.c:92 msgid "MULTIPLY-CLAIMED BLOCKS CLONED" msgstr "CÃC KHá»I ÄA TUYÊN Bá» Äà ÄƯỢC NHÃI" -#: e2fsck/problem.c:94 +#: e2fsck/problem.c:93 msgid "FILE DELETED" msgstr "TẬP TIN Äà BỊ XÓA" -#: e2fsck/problem.c:95 +#: e2fsck/problem.c:94 msgid "SUPPRESSED" msgstr "BỊ THU Há»’I" -#: e2fsck/problem.c:96 +#: e2fsck/problem.c:95 msgid "UNLINKED" msgstr "BỊ BỎ LIÊN KẾT" -#: e2fsck/problem.c:97 +#: e2fsck/problem.c:96 msgid "HTREE INDEX CLEARED" msgstr "CHỈ MỤC HCÂY Äà ÄƯỢC XOà SẠCH" -#: e2fsck/problem.c:98 +#: e2fsck/problem.c:97 msgid "WILL RECREATE" msgstr "SẼ TẠO LẠI" #. @-expanded: block bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:107 +#: e2fsck/problem.c:106 msgid "@b @B for @g %g is not in @g. (@b %b)\n" msgstr "@b @B cho @g %g không phải trong @g. (@b %b)\n" #. @-expanded: inode bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:111 +#: e2fsck/problem.c:110 msgid "@i @B for @g %g is not in @g. (@b %b)\n" msgstr "@i @B cho @g %g không phải trong @g. (@b %b)\n" #. @-expanded: inode table for group %g is not in group. (block %b)\n #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n -#: e2fsck/problem.c:116 +#: e2fsck/problem.c:115 msgid "" "@i table for @g %g is not in @g. (@b %b)\n" "WARNING: SEVERE DATA LOSS POSSIBLE.\n" msgstr "" "Bảng @i cho @g %g không phải trong @g. (@b %b)\n" -"CẢNH BÃO: CÓ THỂ MẤT Dá»® LIỆU NHIỀU.\n" +"CẢNH BÃO : CÓ THỂ MẤT Dá»® LIỆU NHIỀU.\n" #. @-expanded: \n #. @-expanded: The superblock could not be read or does not describe a correct ext2\n @@ -780,7 +779,7 @@ msgstr "" #. @-expanded: is corrupt, and you might try running e2fsck with an alternate superblock:\n #. @-expanded: e2fsck -b %S \n #. @-expanded: \n -#: e2fsck/problem.c:122 +#: e2fsck/problem.c:121 #, c-format msgid "" "\n" @@ -801,7 +800,7 @@ msgstr "" #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n #. @-expanded: The physical size of the device is %c blocks\n #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n -#: e2fsck/problem.c:131 +#: e2fsck/problem.c:130 msgid "" "The @f size (according to the @S) is %b @bs\n" "The physical size of the @v is %c @bs\n" @@ -814,7 +813,7 @@ msgstr "" #. @-expanded: superblock block_size = %b, fragsize = %c.\n #. @-expanded: This version of e2fsck does not support fragment sizes different\n #. @-expanded: from the block size.\n -#: e2fsck/problem.c:138 +#: e2fsck/problem.c:137 msgid "" "@S @b_size = %b, fragsize = %c.\n" "This version of e2fsck does not support fragment sizes different\n" @@ -825,18 +824,18 @@ msgstr "" "khác vá»›i kích cỡ @b.\n" #. @-expanded: superblock blocks_per_group = %b, should have been %c\n -#: e2fsck/problem.c:145 +#: e2fsck/problem.c:144 msgid "@S @bs_per_group = %b, should have been %c\n" msgstr "@S @b má»—i nhóm = %b, còn nên là %c\n" #. @-expanded: superblock first_data_block = %b, should have been %c\n -#: e2fsck/problem.c:150 +#: e2fsck/problem.c:149 msgid "@S first_data_@b = %b, should have been %c\n" msgstr "@S @b dữ liệu thứ nhất = %b, còn nên là %c\n" #. @-expanded: filesystem did not have a UUID; generating one.\n #. @-expanded: \n -#: e2fsck/problem.c:155 +#: e2fsck/problem.c:154 msgid "" "@f did not have a UUID; generating one.\n" "\n" @@ -844,7 +843,7 @@ msgstr "" "@f không có UUID nên Ä‘ang tạo ra nó.\n" "\n" -#: e2fsck/problem.c:160 +#: e2fsck/problem.c:159 #, c-format msgid "" "Note: if several inode or block bitmap blocks or part\n" @@ -854,56 +853,56 @@ msgid "" "the backup block group descriptors may be OK.\n" "\n" msgstr "" -"Ghi chú: nếu vài khối nút thông tin hay khối mảng ảnh khối\n" +"Ghi chú : nếu vài khối nút thông tin hay khối mảng ảnh khối\n" "hay phần của bảng nút thông tin cần thiết được định vị lại,\n" -"Ä‘á» nghị bạn thá»­ chạy e2fsck vá»›i tùy chá»n “-b %Sâ€\n" +"Ä‘á» nghị bạn thá»­ chạy e2fsck vá»›i tùy chá»n « -b %S »\n" "trÆ°á»›c tiên. Vấn Ä‘á» có thể nằm chỉ trong các mô tả nhóm\n" "khối chính, thì các mô tả nhóm khối dá»± trữ có thể là đúng.\n" "\n" #. @-expanded: Corruption found in superblock. (%s = %N).\n -#: e2fsck/problem.c:169 +#: e2fsck/problem.c:168 msgid "Corruption found in @S. (%s = %N).\n" msgstr "Tìm sá»± bị há»ng trong @S. (%s = %N).\n" #. @-expanded: Error determining size of the physical device: %m\n -#: e2fsck/problem.c:174 +#: e2fsck/problem.c:173 #, c-format msgid "Error determining size of the physical @v: %m\n" msgstr "Gặp lá»—i khi xác định kích cỡ của @v vật lý: %m\n" #. @-expanded: inode count in superblock is %i, should be %j.\n -#: e2fsck/problem.c:179 +#: e2fsck/problem.c:178 msgid "@i count in @S is %i, @s %j.\n" msgstr "Số đếm @i trong @S là %i, @s %j.\n" -#: e2fsck/problem.c:183 +#: e2fsck/problem.c:182 msgid "The Hurd does not support the filetype feature.\n" msgstr "Hurd không há»— trợ tính năng kiểu tập tin.\n" #. @-expanded: superblock has an invalid journal (inode %i).\n -#: e2fsck/problem.c:188 +#: e2fsck/problem.c:187 #, c-format msgid "@S has an @n @j (@i %i).\n" msgstr "@S có má»™t @n @j (@i %i).\n" #. @-expanded: External journal has multiple filesystem users (unsupported).\n -#: e2fsck/problem.c:193 +#: e2fsck/problem.c:192 msgid "External @j has multiple @f users (unsupported).\n" msgstr "@j bên ngoài có nhiá»u ngÆ°á»i dùng @f (không được há»— trợ).\n" #. @-expanded: Can't find external journal\n -#: e2fsck/problem.c:198 +#: e2fsck/problem.c:197 msgid "Can't find external @j\n" msgstr "Không tìm thấy @j bên ngoài\n" #. @-expanded: External journal has bad superblock\n -#: e2fsck/problem.c:203 +#: e2fsck/problem.c:202 msgid "External @j has bad @S\n" msgstr "@j bên ngoài có @S sai\n" #. @-expanded: External journal does not support this filesystem\n -#: e2fsck/problem.c:208 +#: e2fsck/problem.c:207 msgid "External @j does not support this @f\n" msgstr "@j bên ngoài không há»— trợ @f này\n" @@ -911,92 +910,94 @@ msgstr "@j bên ngoài không há»— trợ @f này\n" #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal #. @-expanded: format.\n #. @-expanded: It is also possible the journal superblock is corrupt.\n -#: e2fsck/problem.c:213 +#: e2fsck/problem.c:212 msgid "" "@f @j @S is unknown type %N (unsupported).\n" -"It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n" +"It is likely that your copy of e2fsck is old and/or doesn't support this @j " +"format.\n" "It is also possible the @j @S is corrupt.\n" msgstr "" "@S @j @f có kiểu lạ %N (không được há»— trợ).\n" -"Rất có thể là bạn có má»™t bản sao e2fsck cÅ© mà/hay không há»— trợ định dạng @j này.\n" +"Rất có thể là bạn có má»™t bản sao e2fsck cÅ© mà/hay không há»— trợ định dạng @j " +"này.\n" "CÅ©ng có thể là @S @j bị há»ng.\n" #. @-expanded: journal superblock is corrupt.\n -#: e2fsck/problem.c:221 +#: e2fsck/problem.c:220 msgid "@j @S is corrupt.\n" msgstr "@S @j bị há»ng.\n" #. @-expanded: superblock has_journal flag is clear, but a journal %s is present.\n -#: e2fsck/problem.c:226 +#: e2fsck/problem.c:225 #, c-format msgid "@S has_@j flag is clear, but a @j %s is present.\n" msgstr "Cá» @S has_@j vẫn tốt, mà cÅ©ng có má»™t @j %s.\n" #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n -#: e2fsck/problem.c:231 +#: e2fsck/problem.c:230 msgid "@S needs_recovery flag is set, but no @j is present.\n" msgstr "@S đặt cá» needs_recovery, còn không có @j.\n" #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n -#: e2fsck/problem.c:236 +#: e2fsck/problem.c:235 msgid "@S needs_recovery flag is clear, but @j has data.\n" msgstr "Cá» @S needs_recovery vẫn tốt, còn @j có dữ liệu.\n" #. @-expanded: Clear journal -#: e2fsck/problem.c:241 +#: e2fsck/problem.c:240 msgid "Clear @j" msgstr "Xoá sạch @j" #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. -#: e2fsck/problem.c:246 e2fsck/problem.c:695 +#: e2fsck/problem.c:245 e2fsck/problem.c:664 msgid "@f has feature flag(s) set, but is a revision 0 @f. " msgstr "@f đặt (các) cá» tính năng, còn là @f bản sá»­a đổi 0." #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n -#: e2fsck/problem.c:251 +#: e2fsck/problem.c:250 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" msgstr "@i @o %s %i (uid=%Iu, gid=%Ig, chế Ä‘á»™=%Im, cỡ=%Is)\n" #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:256 +#: e2fsck/problem.c:255 msgid "@I %B (%b) found in @o @i %i.\n" msgstr "%B (%b) @l được tìm trong @i @o %i.\n" #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:261 +#: e2fsck/problem.c:260 msgid "Already cleared %B (%b) found in @o @i %i.\n" msgstr "Äã xoá sạch %B (%b) được tìm trong @i @o %i.\n" #. @-expanded: illegal orphaned inode %i in superblock.\n -#: e2fsck/problem.c:266 +#: e2fsck/problem.c:265 #, c-format msgid "@I @o @i %i in @S.\n" msgstr "@i @o %i @l trong @S.\n" #. @-expanded: illegal inode %i in orphaned inode list.\n -#: e2fsck/problem.c:271 +#: e2fsck/problem.c:270 #, c-format msgid "@I @i %i in @o @i list.\n" msgstr "@I @i %i in @o @i list.\n" #. @-expanded: journal superblock has an unknown read-only feature flag set.\n -#: e2fsck/problem.c:276 +#: e2fsck/problem.c:275 msgid "@j @S has an unknown read-only feature flag set.\n" msgstr "@S @j đặt má»™t cá» tính năng chỉ Ä‘á»c không rõ.\n" #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n -#: e2fsck/problem.c:281 +#: e2fsck/problem.c:280 msgid "@j @S has an unknown incompatible feature flag set.\n" msgstr "@S @j đặt má»™t cá» tính năng không tÆ°Æ¡ng thích không rõ.\n" #. @-expanded: journal version not supported by this e2fsck.\n -#: e2fsck/problem.c:286 +#: e2fsck/problem.c:285 msgid "@j version not supported by this e2fsck.\n" msgstr "Phiên bản @j không há»— trợ trong e2fsck này.\n" #. @-expanded: Moving journal from /%s to hidden inode.\n #. @-expanded: \n -#: e2fsck/problem.c:291 +#: e2fsck/problem.c:290 #, c-format msgid "" "Moving @j from /%s to hidden @i.\n" @@ -1007,7 +1008,7 @@ msgstr "" #. @-expanded: Error moving journal: %m\n #. @-expanded: \n -#: e2fsck/problem.c:296 +#: e2fsck/problem.c:295 #, c-format msgid "" "Error moving @j: %m\n" @@ -1019,7 +1020,7 @@ msgstr "" #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n #. @-expanded: Clearing fields beyond the V1 journal superblock...\n #. @-expanded: \n -#: e2fsck/problem.c:301 +#: e2fsck/problem.c:300 msgid "" "Found @n V2 @j @S fields (from V1 @j).\n" "Clearing fields beyond the V1 @j @S...\n" @@ -1030,18 +1031,18 @@ msgstr "" "\n" #. @-expanded: Run journal anyway -#: e2fsck/problem.c:307 +#: e2fsck/problem.c:306 msgid "Run @j anyway" msgstr "Vẫn chạy @j" #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n -#: e2fsck/problem.c:312 +#: e2fsck/problem.c:311 msgid "Recovery flag not set in backup @S, so running @j anyway.\n" msgstr "ChÆ°a đặt cá» phục hồi trong @S dá»± trữ nên vẫn chạy @j.\n" #. @-expanded: Backing up journal inode block information.\n #. @-expanded: \n -#: e2fsck/problem.c:317 +#: e2fsck/problem.c:316 msgid "" "Backing up @j @i @b information.\n" "\n" @@ -1051,7 +1052,7 @@ msgstr "" #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n #. @-expanded: is %N; should be zero. -#: e2fsck/problem.c:322 +#: e2fsck/problem.c:321 msgid "" "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n" "is %N; @s zero. " @@ -1060,42 +1061,42 @@ msgstr "" "@s số không. " #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero. -#: e2fsck/problem.c:328 +#: e2fsck/problem.c:327 msgid "Resize_@i not enabled, but the resize @i is non-zero. " msgstr "Không bật resize_@i, còn @i thay đổi kích cỡ không phải số không.. " #. @-expanded: Resize inode not valid. -#: e2fsck/problem.c:333 +#: e2fsck/problem.c:332 msgid "Resize @i not valid. " msgstr "@i thay đổi kích cỡ không phải hợp lệ. " #. @-expanded: superblock last mount time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:338 +#: e2fsck/problem.c:337 msgid "" "@S last mount time (%t,\n" "\tnow = %T) is in the future.\n" msgstr "" "Giá» gắn kết @S cuối cùng\n" -"(%t, bây giá» = %T) nằm trong thá»i tÆ°Æ¡ng lai.\n" +"(%t, bây giá» = %T) nằm trong tÆ°Æ¡ng lai.\n" #. @-expanded: superblock last write time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:343 +#: e2fsck/problem.c:342 msgid "" "@S last write time (%t,\n" "\tnow = %T) is in the future.\n" -msgstr "Giá» ghi nhá»› @S cuối cùng(%t, bây giá» = %T) nằm trong thì tÆ°Æ¡ng lai.\n" +msgstr "Giá» ghi nhá»› @S cuối cùng(%t, bây giá» = %T) nằm trong tÆ°Æ¡ng lai.\n" #. @-expanded: superblock hint for external superblock should be %X. -#: e2fsck/problem.c:347 +#: e2fsck/problem.c:346 #, c-format msgid "@S hint for external superblock @s %X. " msgstr "Lá»i gợi ý @S cho siêu khối bên ngoài @s %X. " #. @-expanded: Adding dirhash hint to filesystem.\n #. @-expanded: \n -#: e2fsck/problem.c:352 +#: e2fsck/problem.c:351 msgid "" "Adding dirhash hint to @f.\n" "\n" @@ -1103,43 +1104,51 @@ msgstr "" "Äang thêm mẹo dirhash vào @f.\n" "\n" -#. @-expanded: group descriptor %g checksum is %04x, should be %04y. -#: e2fsck/problem.c:357 -msgid "@g descriptor %g checksum is %04x, should be %04y. " -msgstr "Mô tả @g %g có tổng kiểm là %04x, phải là %04y." +#. @-expanded: group descriptor %g checksum is invalid. +#: e2fsck/problem.c:356 +#, c-format +msgid "@g descriptor %g checksum is invalid. " +msgstr "Mô tả @g %g có tổng kiểm sai. " #. @-expanded: group descriptor %g marked uninitialized without feature set.\n -#: e2fsck/problem.c:362 +#: e2fsck/problem.c:361 #, c-format msgid "@g descriptor %g marked uninitialized without feature set.\n" -msgstr "Mô tả @g %g có nhãn là chÆ°a khởi tạo mà không có tập tính năng.\n" +msgstr "Mô tả @g %g có nhãn là chÆ°a sÆ¡ khởi mà không có tập tính năng.\n" + +#. @-expanded: group %g block bitmap uninitialized but inode bitmap in use.\n +#: e2fsck/problem.c:366 +#, c-format +msgid "@g %g @b @B uninitialized but @i @B in use.\n" +msgstr "@B @b của @g %g chÆ°a sÆ¡ khởi nhÆ°ng Ä‘ang dùng @B @i.\n" #. @-expanded: group descriptor %g has invalid unused inodes count %b. -#: e2fsck/problem.c:367 +#: e2fsck/problem.c:371 msgid "@g descriptor %g has invalid unused inodes count %b. " msgstr "Mô tả @g %g sai đếm các nút thông tin chÆ°a dùng %b. " #. @-expanded: Last group block bitmap uninitialized. -#: e2fsck/problem.c:372 +#: e2fsck/problem.c:376 msgid "Last @g @b @B uninitialized. " -msgstr "ChÆ°a khởi tạo @B @b @g cuối cùng. " +msgstr "ChÆ°a sÆ¡ khởi @B @b @g cuối cùng. " -#: e2fsck/problem.c:377 +#: e2fsck/problem.c:381 #, c-format msgid "Journal transaction %i was corrupt, replay was aborted.\n" msgstr "Giao dịch nhật ký %i bị há»ng nên hủy bá» tiến trình phát lại.\n" -#: e2fsck/problem.c:381 +#: e2fsck/problem.c:385 msgid "The test_fs flag is set (and ext4 is available). " -msgstr "CỠ“test_fs†được đặt (và ext4 sẵn sàng)" +msgstr "CỠ« test_fs » được đặt (và ext4 sẵn sàng)" #. @-expanded: superblock last mount time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set) -#: e2fsck/problem.c:386 +#: e2fsck/problem.c:390 msgid "" "@S last mount time is in the future.\n" -"\t(by less than a day, probably due to the hardware clock being incorrectly set) " +"\t(by less than a day, probably due to the hardware clock being incorrectly " +"set) " msgstr "" "Giá» gắn kết @S cuối cùng nằm trong tÆ°Æ¡ng lai\n" "\t(theo ít nhất má»™t ngày, rất có thể do đồng hồ phần cứng bị sai lập)." @@ -1147,166 +1156,132 @@ msgstr "" #. @-expanded: superblock last write time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set). -#: e2fsck/problem.c:392 +#: e2fsck/problem.c:396 msgid "" "@S last write time is in the future.\n" -"\t(by less than a day, probably due to the hardware clock being incorrectly set). " +"\t(by less than a day, probably due to the hardware clock being incorrectly " +"set). " msgstr "" "Giá» ghi nhá»› @S cuối cùng nằm trong tÆ°Æ¡ng lai\n" "\t(theo ít nhất má»™t ngày, rất có thể do đồng hồ phần cứng bị sai lập)." #. @-expanded: One or more block group descriptor checksums are invalid. -#: e2fsck/problem.c:398 +#: e2fsck/problem.c:402 msgid "One or more @b @g descriptor checksums are invalid. " msgstr "Lá»—i: má»™t hay nhiá»u tổng kiểm bá»™ mô tả @g @b không phải hợp lệ. " -#. @-expanded: Setting free inodes count to %j (was %i)\n -#: e2fsck/problem.c:403 -msgid "Setting free @is count to %j (was %i)\n" -msgstr "Äang đặt số lượng @is thành %j (là %i)\n" - -#. @-expanded: Setting free blocks count to %c (was %b)\n -#: e2fsck/problem.c:408 -msgid "Setting free @bs count to %c (was %b)\n" -msgstr "Äang đặt số lượng @bs thành %c (là %b)\n" - -#. @-expanded: Making quota inode %i (%Q) hidden.\n -#: e2fsck/problem.c:413 -msgid "Making @q @i %i (%Q) hidden.\n" -msgstr "Làm cho @q @is %i (%Q) ẩn Ä‘i.\n" - -#. @-expanded: superblock has invalid MMP block. -#: e2fsck/problem.c:418 -msgid "@S has invalid MMP block. " -msgstr "@S có khối MMP không hợp lệ. " - -#. @-expanded: superblock has invalid MMP magic. -#: e2fsck/problem.c:423 -msgid "@S has invalid MMP magic. " -msgstr "@S có số màu nhiệm MMP không hợp lệ." - -#: e2fsck/problem.c:428 -#, c-format -msgid "ext2fs_open2: %m\n" -msgstr "ext2fs_open2: %m\n" - -#: e2fsck/problem.c:433 -#, c-format -msgid "ext2fs_check_desc: %m\n" -msgstr "ext2fs_check_desc: %m\n" - #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n -#: e2fsck/problem.c:440 +#: e2fsck/problem.c:409 msgid "Pass 1: Checking @is, @bs, and sizes\n" msgstr "Lần qua 1: Ä‘ang kiểm tra các @i, @b và kích cỡ\n" #. @-expanded: root inode is not a directory. -#: e2fsck/problem.c:444 +#: e2fsck/problem.c:413 msgid "@r is not a @d. " msgstr "@r không phải @d. " #. @-expanded: root inode has dtime set (probably due to old mke2fs). -#: e2fsck/problem.c:449 +#: e2fsck/problem.c:418 msgid "@r has dtime set (probably due to old mke2fs). " msgstr "@r đặt dtime (rất có thể do mkd2fs cÅ©). " #. @-expanded: Reserved inode %i (%Q) has invalid mode. -#: e2fsck/problem.c:454 +#: e2fsck/problem.c:423 msgid "Reserved @i %i (%Q) has @n mode. " msgstr "@i %i đã dành riêng (%Q) có chế Ä‘á»™ @n." #. @-expanded: deleted inode %i has zero dtime. -#: e2fsck/problem.c:459 +#: e2fsck/problem.c:428 #, c-format msgid "@D @i %i has zero dtime. " msgstr "@i @D %i có dtime bằng không. " #. @-expanded: inode %i is in use, but has dtime set. -#: e2fsck/problem.c:464 +#: e2fsck/problem.c:433 #, c-format msgid "@i %i is in use, but has dtime set. " msgstr "@i %i Ä‘ang được dùng, còn đặt dtime. " #. @-expanded: inode %i is a zero-length directory. -#: e2fsck/problem.c:469 +#: e2fsck/problem.c:438 #, c-format msgid "@i %i is a @z @d. " -msgstr "@i %i là @d @z. " +msgstr "@i %i là @d @z" #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:474 +#: e2fsck/problem.c:443 msgid "@g %g's @b @B at %b @C.\n" msgstr "@B @b của @g %g tại %b @C.\n" #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:479 +#: e2fsck/problem.c:448 msgid "@g %g's @i @B at %b @C.\n" msgstr "@B @i của @g %g ở %b @c.\n" #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:484 +#: e2fsck/problem.c:453 msgid "@g %g's @i table at %b @C.\n" msgstr "Bảng @i của @g %g ở %b @C.\n" #. @-expanded: group %g's block bitmap (%b) is bad. -#: e2fsck/problem.c:489 +#: e2fsck/problem.c:458 msgid "@g %g's @b @B (%b) is bad. " msgstr "@b @B (%b) của @g %g là sai" #. @-expanded: group %g's inode bitmap (%b) is bad. -#: e2fsck/problem.c:494 +#: e2fsck/problem.c:463 msgid "@g %g's @i @B (%b) is bad. " msgstr "@B @i (%b) của @g %g là sai." #. @-expanded: inode %i, i_size is %Is, should be %N. -#: e2fsck/problem.c:499 +#: e2fsck/problem.c:468 msgid "@i %i, i_size is %Is, @s %N. " msgstr "@i %i, i_size là %Is, @s %N. " #. @-expanded: inode %i, i_blocks is %Ib, should be %N. -#: e2fsck/problem.c:504 +#: e2fsck/problem.c:473 msgid "@i %i, i_@bs is %Ib, @s %N. " msgstr "@i %i, i_@bs là %Ib, @s %N. " #. @-expanded: illegal %B (%b) in inode %i. -#: e2fsck/problem.c:509 +#: e2fsck/problem.c:478 msgid "@I %B (%b) in @i %i. " msgstr "%B (%b) @l nằm trong @i %i. " #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i. -#: e2fsck/problem.c:514 +#: e2fsck/problem.c:483 msgid "%B (%b) overlaps @f metadata in @i %i. " msgstr "%B (%b) đè lên siêu dữ liệu @f trong @i %i. " #. @-expanded: inode %i has illegal block(s). -#: e2fsck/problem.c:519 +#: e2fsck/problem.c:488 #, c-format msgid "@i %i has illegal @b(s). " msgstr "@i %i có @b cấm. " #. @-expanded: Too many illegal blocks in inode %i.\n -#: e2fsck/problem.c:524 +#: e2fsck/problem.c:493 #, c-format msgid "Too many illegal @bs in @i %i.\n" msgstr "Quá nhiá»u @b cấm trong @i %i.\n" #. @-expanded: illegal %B (%b) in bad block inode. -#: e2fsck/problem.c:529 +#: e2fsck/problem.c:498 msgid "@I %B (%b) in bad @b @i. " msgstr "%B (%b) @l nằm trong @i @b sai. " #. @-expanded: Bad block inode has illegal block(s). -#: e2fsck/problem.c:534 +#: e2fsck/problem.c:503 msgid "Bad @b @i has illegal @b(s). " msgstr "@i @b sai có @b cấm. " #. @-expanded: Duplicate or bad block in use!\n -#: e2fsck/problem.c:539 +#: e2fsck/problem.c:508 msgid "Duplicate or bad @b in use!\n" msgstr "@b trùng hay sai Ä‘ang được dùng.\n" #. @-expanded: Bad block %b used as bad block inode indirect block. -#: e2fsck/problem.c:544 +#: e2fsck/problem.c:513 msgid "Bad @b %b used as bad @b @i indirect @b. " msgstr "@b sai %b được dùng làm @b gián tiếp của @i @b. " @@ -1314,7 +1289,7 @@ msgstr "@b sai %b được dùng làm @b gián tiếp của @i @b. " #. @-expanded: The bad block inode has probably been corrupted. You probably\n #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n #. @-expanded: in the filesystem.\n -#: e2fsck/problem.c:549 +#: e2fsck/problem.c:518 msgid "" "\n" "The bad @b @i has probably been corrupted. You probably\n" @@ -1322,12 +1297,12 @@ msgid "" "in the @f.\n" msgstr "" "\n" -"@i @n gần nhÆ° chắc chắn đã há»ng. Äá» nghị bạn dừng ngay bây giá»\n" -"và chạy lệnh “e2fsck -c†để quét tìm khối sai trong @f.\n" +"@i @n rất có thể bị há»ng. Äá» nghị bạn thôi ngay bây giá»\n" +"và chạy lệnh « e2fsck -c » để quét tìm khối sai trong @f.\n" #. @-expanded: \n #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n -#: e2fsck/problem.c:556 +#: e2fsck/problem.c:525 msgid "" "\n" "If the @b is really bad, the @f can not be fixed.\n" @@ -1338,7 +1313,7 @@ msgstr "" #. @-expanded: You can remove this block from the bad block list and hope\n #. @-expanded: that the block is really OK. But there are no guarantees.\n #. @-expanded: \n -#: e2fsck/problem.c:561 +#: e2fsck/problem.c:530 msgid "" "You can remove this @b from the bad @b list and hope\n" "that the @b is really OK. But there are no guarantees.\n" @@ -1349,121 +1324,123 @@ msgstr "" "\n" #. @-expanded: The primary superblock (%b) is on the bad block list.\n -#: e2fsck/problem.c:567 +#: e2fsck/problem.c:536 msgid "The primary @S (%b) is on the bad @b list.\n" msgstr "@S chính (%b) nằm trên danh sách các @b sai.\n" #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n -#: e2fsck/problem.c:572 +#: e2fsck/problem.c:541 msgid "Block %b in the primary @g descriptors is on the bad @b list\n" -msgstr "Khối %b trong những mô tả @g chính có nằm trong danh sách các @b sai.\n" +msgstr "" +"Khối %b trong những mô tả @g chính có nằm trong danh sách các @b sai.\n" #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n -#: e2fsck/problem.c:578 +#: e2fsck/problem.c:547 msgid "Warning: Group %g's @S (%b) is bad.\n" -msgstr "Cảnh báo: @S của @g %g (%b) là sai.\n" +msgstr "Cảnh báo : @S của @g %g (%b) là sai.\n" #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n -#: e2fsck/problem.c:583 +#: e2fsck/problem.c:552 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n" -msgstr "Cảnh báo: bản sao các mô tả @g của nhóm %g có má»™t @b sai (%b).\n" +msgstr "Cảnh báo : bản sao các mô tả @g của nhóm %g có má»™t @b sai (%b).\n" #. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n -#: e2fsck/problem.c:589 +#: e2fsck/problem.c:558 msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n" -msgstr "Lá»—i lập trình ? @b %b được tuyên bố, không có lý do, trong process_bad_@b\n" +msgstr "" +"Lá»—i lập trình ? @b %b được tuyên bố, không có lý do, trong process_bad_@b\n" #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n -#: e2fsck/problem.c:595 +#: e2fsck/problem.c:564 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n" msgstr "@A %N @b ká» nhau trong @g @b %g cho %s: %m\n" #. @-expanded: error allocating block buffer for relocating %s\n -#: e2fsck/problem.c:600 +#: e2fsck/problem.c:569 #, c-format msgid "@A @b buffer for relocating %s\n" msgstr "@A bá»™ đệm @b để định vị lại %s\n" #. @-expanded: Relocating group %g's %s from %b to %c...\n -#: e2fsck/problem.c:605 +#: e2fsck/problem.c:574 msgid "Relocating @g %g's %s from %b to %c...\n" msgstr "Äang định vị lại %s của @g %g từ %b sang %c...\n" #. @-expanded: Relocating group %g's %s to %c...\n -#: e2fsck/problem.c:610 +#: e2fsck/problem.c:579 #, c-format msgid "Relocating @g %g's %s to %c...\n" msgstr "Äang định vị lại %2$s của @g %1$g sang %3$c...\n" #. @-expanded: Warning: could not read block %b of %s: %m\n -#: e2fsck/problem.c:615 +#: e2fsck/problem.c:584 msgid "Warning: could not read @b %b of %s: %m\n" -msgstr "Cảnh báo: không thể Ä‘á»c @b %b trên %s: %m\n" +msgstr "Cảnh báo : không thể Ä‘á»c @b %b trên %s: %m\n" #. @-expanded: Warning: could not write block %b for %s: %m\n -#: e2fsck/problem.c:620 +#: e2fsck/problem.c:589 msgid "Warning: could not write @b %b for %s: %m\n" -msgstr "Cảnh báo: không thể ghi @b %b cho %s: %m\n" +msgstr "Cảnh báo : không thể ghi @b %b cho %s: %m\n" #. @-expanded: error allocating inode bitmap (%N): %m\n -#: e2fsck/problem.c:625 e2fsck/problem.c:1474 +#: e2fsck/problem.c:594 e2fsck/problem.c:1405 msgid "@A @i @B (%N): %m\n" msgstr "@A @B @i (%N): %m\n" #. @-expanded: error allocating block bitmap (%N): %m\n -#: e2fsck/problem.c:630 +#: e2fsck/problem.c:599 msgid "@A @b @B (%N): %m\n" msgstr "@A @B @b (%N): %m\n" #. @-expanded: error allocating icount link information: %m\n -#: e2fsck/problem.c:635 +#: e2fsck/problem.c:604 #, c-format msgid "@A icount link information: %m\n" msgstr "@A thông tin liên kết icount: %m\n" #. @-expanded: error allocating directory block array: %m\n -#: e2fsck/problem.c:640 +#: e2fsck/problem.c:609 #, c-format msgid "@A @d @b array: %m\n" msgstr "@A mảng @d @d: %m\n" #. @-expanded: Error while scanning inodes (%i): %m\n -#: e2fsck/problem.c:645 +#: e2fsck/problem.c:614 #, c-format msgid "Error while scanning @is (%i): %m\n" msgstr "Gặp lá»—i khi quét các @i (%i): %m\n" #. @-expanded: Error while iterating over blocks in inode %i: %m\n -#: e2fsck/problem.c:650 +#: e2fsck/problem.c:619 #, c-format msgid "Error while iterating over @bs in @i %i: %m\n" msgstr "Gặp lá»—i khi lặp lại trên các @b trong @i %i: %m\n" #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n -#: e2fsck/problem.c:655 +#: e2fsck/problem.c:624 msgid "Error storing @i count information (@i=%i, count=%N): %m\n" msgstr "Gặp lá»—i khi cất giữ thông tin đếm @i (@i=%i, đếm=%N): %m\n" #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n -#: e2fsck/problem.c:660 +#: e2fsck/problem.c:629 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n" msgstr "Gặp lá»—i khi cất giữ thông tin @d @b (@i=%i, @b=%b, số=%N): %m\n" #. @-expanded: Error reading inode %i: %m\n -#: e2fsck/problem.c:666 +#: e2fsck/problem.c:635 #, c-format msgid "Error reading @i %i: %m\n" msgstr "Gặp lá»—i khi Ä‘á»c @i %i: %m\n" #. @-expanded: inode %i has imagic flag set. -#: e2fsck/problem.c:674 +#: e2fsck/problem.c:643 #, c-format msgid "@i %i has imagic flag set. " msgstr "@i %i đặt cá» ma thuật imagic. " #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n #. @-expanded: or append-only flag set. -#: e2fsck/problem.c:679 +#: e2fsck/problem.c:648 #, c-format msgid "" "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n" @@ -1474,149 +1451,149 @@ msgstr "" "chỉ phu thêm (append-only)." #. @-expanded: inode %i has compression flag set on filesystem without compression support. -#: e2fsck/problem.c:685 +#: e2fsck/problem.c:654 #, c-format msgid "@i %i has @cion flag set on @f without @cion support. " msgstr "@i %i đặt cá» @c trên @f mà không há»— trợ khả năng @c." #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size. -#: e2fsck/problem.c:690 +#: e2fsck/problem.c:659 #, c-format msgid "Special (@v/socket/fifo) @i %i has non-zero size. " msgstr "@i (@v/ổ cắm/FIFO) %i có kích cỡ không phải số không." #. @-expanded: journal inode is not in use, but contains data. -#: e2fsck/problem.c:700 +#: e2fsck/problem.c:669 msgid "@j @i is not in use, but contains data. " msgstr "@i @j không Ä‘ang được dùng, còn chứa dữ liệu." #. @-expanded: journal is not regular file. -#: e2fsck/problem.c:705 +#: e2fsck/problem.c:674 msgid "@j is not regular file. " msgstr "@j không phải tập tin chuẩn. " #. @-expanded: inode %i was part of the orphaned inode list. -#: e2fsck/problem.c:710 +#: e2fsck/problem.c:679 #, c-format msgid "@i %i was part of the @o @i list. " msgstr "@i %i đã thuá»™c vá» sanh sách @i @o. " #. @-expanded: inodes that were part of a corrupted orphan linked list found. -#: e2fsck/problem.c:716 +#: e2fsck/problem.c:685 msgid "@is that were part of a corrupted orphan linked list found. " msgstr "Tìm thấy các @i đã thuá»™c vá» danh sách đã liên kết thừa bị há»ng." #. @-expanded: error allocating refcount structure (%N): %m\n -#: e2fsck/problem.c:721 +#: e2fsck/problem.c:690 msgid "@A refcount structure (%N): %m\n" msgstr "@A cấu trúc refcount (%N): %m\n" #. @-expanded: Error reading extended attribute block %b for inode %i. -#: e2fsck/problem.c:726 +#: e2fsck/problem.c:695 msgid "Error reading @a @b %b for @i %i. " msgstr "Gặp lá»—i khi Ä‘á»c @b @a %b cho @i %i. " #. @-expanded: inode %i has a bad extended attribute block %b. -#: e2fsck/problem.c:731 +#: e2fsck/problem.c:700 msgid "@i %i has a bad @a @b %b. " msgstr "@i %i có má»™t @b @a %b. " #. @-expanded: Error reading extended attribute block %b (%m). -#: e2fsck/problem.c:736 +#: e2fsck/problem.c:705 msgid "Error reading @a @b %b (%m). " msgstr "Gặp lá»—i khi Ä‘á»c @b @a %b (%m). " #. @-expanded: extended attribute block %b has reference count %r, should be %N. -#: e2fsck/problem.c:741 +#: e2fsck/problem.c:710 msgid "@a @b %b has reference count %r, @s %N. " msgstr "@b @a %b có số đếm tham chiếu %r, @s %N. " #. @-expanded: Error writing extended attribute block %b (%m). -#: e2fsck/problem.c:746 +#: e2fsck/problem.c:715 msgid "Error writing @a @b %b (%m). " msgstr "Gặp lá»—i khi ghi @b @a %b (%m). " #. @-expanded: extended attribute block %b has h_blocks > 1. -#: e2fsck/problem.c:751 +#: e2fsck/problem.c:720 msgid "@a @b %b has h_@bs > 1. " msgstr "@b @a %b có h_@b > 1. " #. @-expanded: error allocating extended attribute block %b. -#: e2fsck/problem.c:756 +#: e2fsck/problem.c:725 msgid "@A @a @b %b. " msgstr "@A @b @a %b. " #. @-expanded: extended attribute block %b is corrupt (allocation collision). -#: e2fsck/problem.c:761 +#: e2fsck/problem.c:730 msgid "@a @b %b is corrupt (allocation collision). " msgstr "@b @a %b bị há»ng (xung Ä‘á»™t cấp phát)." #. @-expanded: extended attribute block %b is corrupt (invalid name). -#: e2fsck/problem.c:766 +#: e2fsck/problem.c:735 msgid "@a @b %b is corrupt (@n name). " msgstr "@b @a %b bị há»ng (tên @n). " #. @-expanded: extended attribute block %b is corrupt (invalid value). -#: e2fsck/problem.c:771 +#: e2fsck/problem.c:740 msgid "@a @b %b is corrupt (@n value). " msgstr "@b @a %b bị há»ng (giá trị @n). " #. @-expanded: inode %i is too big. -#: e2fsck/problem.c:776 +#: e2fsck/problem.c:745 #, c-format msgid "@i %i is too big. " -msgstr "@i %i quá lá»›n. " +msgstr "@i %i quá lá»›n. " #. @-expanded: %B (%b) causes directory to be too big. -#: e2fsck/problem.c:780 +#: e2fsck/problem.c:749 msgid "%B (%b) causes @d to be too big. " -msgstr "%B (%b) gây ra @d quá lá»›n. " +msgstr "%B (%b) gây ra @d quá lá»›n. " -#: e2fsck/problem.c:785 +#: e2fsck/problem.c:754 msgid "%B (%b) causes file to be too big. " -msgstr "%B (%b) gây ra tập tin quá lá»›n. " +msgstr "%B (%b) gây ra tập tin quá lá»›n. " -#: e2fsck/problem.c:790 +#: e2fsck/problem.c:759 msgid "%B (%b) causes symlink to be too big. " -msgstr "%B (%b) làm cho liên kết tượng trÆ°ng quá lá»›n." +msgstr "%B (%b) gây ra liên kết tượng trÆ°ng quá lá»›n. " #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n -#: e2fsck/problem.c:795 +#: e2fsck/problem.c:764 #, c-format msgid "@i %i has INDEX_FL flag set on @f without htree support.\n" msgstr "@i %i đặt cá» INDEX_FL trên @f không có há»— trợ htree.\n" #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n -#: e2fsck/problem.c:800 +#: e2fsck/problem.c:769 #, c-format msgid "@i %i has INDEX_FL flag set but is not a @d.\n" msgstr "@i %i đặt cá» INDEX_FL nhÆ°ng không phải @d.\n" #. @-expanded: HTREE directory inode %i has an invalid root node.\n -#: e2fsck/problem.c:805 +#: e2fsck/problem.c:774 #, c-format msgid "@h %i has an @n root node.\n" msgstr "@h %i có má»™t nút gốc @n.\n" #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n -#: e2fsck/problem.c:810 +#: e2fsck/problem.c:779 msgid "@h %i has an unsupported hash version (%N)\n" msgstr "@h %i có má»™t phiên bản băm không được há»— trợ (%N)\n" #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n -#: e2fsck/problem.c:815 +#: e2fsck/problem.c:784 #, c-format msgid "@h %i uses an incompatible htree root node flag.\n" msgstr "@h %i dùng cá» nút gốc htree không tÆ°Æ¡ng thích.\n" #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n -#: e2fsck/problem.c:820 +#: e2fsck/problem.c:789 msgid "@h %i has a tree depth (%N) which is too big\n" msgstr "@h %i có Ä‘á»™ sâu cây (%N) quá lá»›n\n" #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n #. @-expanded: filesystem metadata. -#: e2fsck/problem.c:825 +#: e2fsck/problem.c:794 msgid "" "Bad @b @i has an indirect @b (%b) that conflicts with\n" "@f metadata. " @@ -1625,55 +1602,55 @@ msgstr "" "siêu dữ liệu @f. " #. @-expanded: Resize inode (re)creation failed: %m. -#: e2fsck/problem.c:831 +#: e2fsck/problem.c:800 #, c-format msgid "Resize @i (re)creation failed: %m." msgstr "Việc tạo (lại) sá»± thay đổi kích cỡ @i bị lá»—i: %m." #. @-expanded: inode %i has a extra size (%IS) which is invalid\n -#: e2fsck/problem.c:836 +#: e2fsck/problem.c:805 msgid "@i %i has a extra size (%IS) which is @n\n" msgstr "@i %i có má»™t kích cỡ thêm (%IS) @n\n" #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n -#: e2fsck/problem.c:841 +#: e2fsck/problem.c:810 msgid "@a in @i %i has a namelen (%N) which is @n\n" msgstr "@a trong @i %i có má»™t namelen (%N) @n\n" #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n -#: e2fsck/problem.c:846 +#: e2fsck/problem.c:815 msgid "@a in @i %i has a value offset (%N) which is @n\n" msgstr "@a trong @i %i có má»™t hiệu giá trị (%N) @n\n" #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n -#: e2fsck/problem.c:851 +#: e2fsck/problem.c:820 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" msgstr "@a trong @i %i có má»™t giá trị @b (%N) @n (phải là 0)\n" #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n -#: e2fsck/problem.c:856 +#: e2fsck/problem.c:825 msgid "@a in @i %i has a value size (%N) which is @n\n" msgstr "@a trong @i %i có má»™t kích cỡ giá trị (%N) @n\n" #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n -#: e2fsck/problem.c:861 +#: e2fsck/problem.c:830 msgid "@a in @i %i has a hash (%N) which is @n\n" msgstr "@a trong @i %i có má»™t chuá»—i duy nhất (%N) mà @n\n" #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n -#: e2fsck/problem.c:866 +#: e2fsck/problem.c:835 msgid "@i %i is a %It but it looks like it is really a directory.\n" msgstr "@i %i là %It nhÆ°ng hình nhÆ° nó thá»±c sá»± là thÆ° mục.\n" #. @-expanded: Error while reading over extent tree in inode %i: %m\n -#: e2fsck/problem.c:871 +#: e2fsck/problem.c:840 #, c-format msgid "Error while reading over @x tree in @i %i: %m\n" msgstr "Gặp lá»—i khi Ä‘á»c qua cây @x trong @i %i: %m\n" #. @-expanded: Failed to iterate extents in inode %i\n #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n -#: e2fsck/problem.c:876 +#: e2fsck/problem.c:845 msgid "" "Failed to iterate extents in @i %i\n" "\t(op %s, blk %b, lblk %c): %m\n" @@ -1683,7 +1660,7 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n -#: e2fsck/problem.c:882 +#: e2fsck/problem.c:851 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, @n physical @b %b, len %N)\n" @@ -1693,7 +1670,7 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n -#: e2fsck/problem.c:887 +#: e2fsck/problem.c:856 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, physical @b %b, @n len %N)\n" @@ -1702,31 +1679,32 @@ msgstr "" "\t(@b hợp lý %c, @b vật lý %b, dài @n %N)\n" #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n -#: e2fsck/problem.c:892 +#: e2fsck/problem.c:861 #, c-format msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n" msgstr "@i %i đặt cá» EXTENTS_FL trên @f mà không há»— trợ phạm vi.\n" #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n -#: e2fsck/problem.c:897 +#: e2fsck/problem.c:866 #, c-format msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n" -msgstr "@i %i theo định dạng phạm vi, còn @S thiếu tính năng phạm vi (EXTENTS)\n" +msgstr "" +"@i %i theo định dạng phạm vi, còn @S thiếu tính năng phạm vi (EXTENTS)\n" #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n -#: e2fsck/problem.c:902 +#: e2fsck/problem.c:871 #, c-format msgid "@i %i missing EXTENT_FL, but is in extents format\n" msgstr "@i %i thiếu EXTENTS_FL, nhÆ°ng theo định dạng phạm vi\n" -#: e2fsck/problem.c:907 +#: e2fsck/problem.c:876 #, c-format msgid "Fast symlink %i has EXTENT_FL set. " msgstr "Liên kết tượng trÆ°ng nhanh %i đã đặt EXTENTS_FL. " #. @-expanded: inode %i has out of order extents\n #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:912 +#: e2fsck/problem.c:881 msgid "" "@i %i has out of order extents\n" "\t(@n logical @b %c, physical @b %b, len %N)\n" @@ -1735,70 +1713,19 @@ msgstr "" "\t(@b hợp lý %c, @b vật lý %b, dài %N)\n" #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n -#: e2fsck/problem.c:916 +#: e2fsck/problem.c:885 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n" msgstr "@i %i có má»™t nút tầm không hợp lệ (blk %b, lblk %c)\n" -#. @-expanded: Error converting subcluster block bitmap: %m\n -#: e2fsck/problem.c:921 -#, c-format -msgid "Error converting subcluster @b @B: %m\n" -msgstr "Gặp lá»—i khi chuyển đổi liên cung con @b @B: %m\n" - -#. @-expanded: quota inode is not regular file. -#: e2fsck/problem.c:926 -msgid "@q @i is not regular file. " -msgstr "@q @i không phải tập tin thông thÆ°á»ng. " - -#. @-expanded: quota inode is not in use, but contains data. -#: e2fsck/problem.c:931 -msgid "@q @i is not in use, but contains data. " -msgstr "@q @i Ä‘ang không được dùng, nhÆ°ng chứa dữ liệu." - -#. @-expanded: quota inode is visible to the user. -#: e2fsck/problem.c:936 -msgid "@q @i is visible to the user. " -msgstr "@q @i sẵn dùng." - -#. @-expanded: The bad block inode looks invalid. -#: e2fsck/problem.c:941 -msgid "The bad @b @i looks @n. " -msgstr "The bad @b @i looks @n. " - -#. @-expanded: inode %i has zero length extent\n -#. @-expanded: \t(invalid logical block %c, physical block %b)\n -#: e2fsck/problem.c:946 -msgid "" -"@i %i has zero length extent\n" -"\t(@n logical @b %c, physical @b %b)\n" -msgstr "" -"@i %i có phần mở rá»™ng mà Ä‘á»™ dài bằng không\n" -"\t(@n lôgíc @b %c, vật lý @b %b)\n" - -#. @-expanded: Interior extent node level %N of inode %i:\n -#. @-expanded: Logical start %b does not match logical start %c at next level. -#: e2fsck/problem.c:953 -msgid "" -"Interior @x node level %N of @i %i:\n" -"Logical start %b does not match logical start %c at next level. " -msgstr "" -"Ở trong nút @x mức %N/@i %i:\n" -"Khởi đầu lô-gíc %b không khá»›p vá»›i khởi đầu lô-gíc %c tại mức kế tiếp. " - -#. @-expanded: inode %i, end of extent exceeds allowed value\n -#. @-expanded: \t(logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:959 -msgid "" -"@i %i, end of extent exceeds allowed value\n" -"\t(logical @b %c, physical @b %b, len %N)\n" +#. @-expanded: inode %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n +#: e2fsck/problem.c:889 +msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" msgstr "" -"@i %i, Ä‘iểm kết thúc vượt quá giá trị cho phép\n" -"\t(lô-gíc @b %c, vật lý @b %b, dài %N)\n" #. @-expanded: \n #. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n #. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n -#: e2fsck/problem.c:967 +#: e2fsck/problem.c:897 msgid "" "\n" "Running additional passes to resolve @bs claimed by more than one @i...\n" @@ -1810,46 +1737,46 @@ msgstr "" "Lần qua 1B: Ä‘ang quét lại tìm @b @m.\n" #. @-expanded: multiply-claimed block(s) in inode %i: -#: e2fsck/problem.c:973 +#: e2fsck/problem.c:903 #, c-format msgid "@m @b(s) in @i %i:" msgstr "@b @m trong @i %i:" -#: e2fsck/problem.c:988 +#: e2fsck/problem.c:918 #, c-format msgid "Error while scanning inodes (%i): %m\n" msgstr "Gặp lá»—i khi quét các nút thông tin (%i): %m\n" #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n -#: e2fsck/problem.c:993 +#: e2fsck/problem.c:923 #, c-format msgid "@A @i @B (@i_dup_map): %m\n" msgstr "@A @B @i (@i_dup_map): %m\n" #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n -#: e2fsck/problem.c:998 +#: e2fsck/problem.c:928 #, c-format msgid "Error while iterating over @bs in @i %i (%s): %m\n" msgstr "Gặp lá»—i khi lặp lại trên các @b trong @i %i (%s): %m\n" #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n -#: e2fsck/problem.c:1003 e2fsck/problem.c:1318 +#: e2fsck/problem.c:933 e2fsck/problem.c:1249 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n" msgstr "Gặp lá»—i khi Ä‘iá»u chỉnh số đếm tham chiếu cho @b @a %b (@i %i): %m\n" #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n -#: e2fsck/problem.c:1008 +#: e2fsck/problem.c:939 msgid "Pass 1C: Scanning directories for @is with @m @bs\n" msgstr "Lần qua 1C: Ä‘ang quét các thÆ° mục tìm @i có @b @m\n" #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n -#: e2fsck/problem.c:1014 +#: e2fsck/problem.c:945 msgid "Pass 1D: Reconciling @m @bs\n" msgstr "Lần qua 1D: Ä‘ang Ä‘iá»u hoà các @b @m\n" #. @-expanded: File %Q (inode #%i, mod time %IM) \n #. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n -#: e2fsck/problem.c:1019 +#: e2fsck/problem.c:950 msgid "" "File %Q (@i #%i, mod time %IM) \n" " has %r @m @b(s), shared with %N file(s):\n" @@ -1858,18 +1785,18 @@ msgstr "" " có %r @b @m, chia sẻ vá»›i %N tập tin:\n" #. @-expanded: \t%Q (inode #%i, mod time %IM)\n -#: e2fsck/problem.c:1025 +#: e2fsck/problem.c:956 msgid "\t%Q (@i #%i, mod time %IM)\n" msgstr "\t%Q (@i #%i, giá» sá»­a đổi %IM)\n" #. @-expanded: \t\n -#: e2fsck/problem.c:1030 +#: e2fsck/problem.c:961 msgid "\t<@f metadata>\n" msgstr "\t\n" #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n #. @-expanded: \n -#: e2fsck/problem.c:1035 +#: e2fsck/problem.c:966 msgid "" "(There are %N @is containing @m @bs.)\n" "\n" @@ -1879,323 +1806,324 @@ msgstr "" #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n #. @-expanded: \n -#: e2fsck/problem.c:1040 +#: e2fsck/problem.c:971 msgid "" "@m @bs already reassigned or cloned.\n" "\n" msgstr "" -"@b @m đã được gán lại hay nhân bản.\n" +"@b @m đã được gán lại hay nhái.\n" "\n" -#: e2fsck/problem.c:1053 +#: e2fsck/problem.c:984 #, c-format msgid "Couldn't clone file: %m\n" msgstr "Không thể nhái theo tập tin: %m\n" #. @-expanded: Pass 2: Checking directory structure\n -#: e2fsck/problem.c:1059 +#: e2fsck/problem.c:990 msgid "Pass 2: Checking @d structure\n" msgstr "Lần qua 2: Ä‘ang kiểm tra cấu trúc @d\n" #. @-expanded: invalid inode number for '.' in directory inode %i.\n -#: e2fsck/problem.c:1064 +#: e2fsck/problem.c:995 #, c-format msgid "@n @i number for '.' in @d @i %i.\n" -msgstr "Con số @i @n cho dấu chấm “.†trong @i @d %i.\n" +msgstr "Con số @i @n cho dấu chấm « . » trong @i @d %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n -#: e2fsck/problem.c:1069 +#: e2fsck/problem.c:1000 msgid "@E has @n @i #: %Di.\n" msgstr "@E có số hiệu @i @n: %Di.\n" #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di. -#: e2fsck/problem.c:1074 +#: e2fsck/problem.c:1005 msgid "@E has @D/unused @i %Di. " msgstr "@E có @i @D/chÆ°a dùng %Di. " #. @-expanded: entry '%Dn' in %p (%i) is a link to '.' -#: e2fsck/problem.c:1079 +#: e2fsck/problem.c:1010 msgid "@E @L to '.' " -msgstr "@E @L đến “.†" +msgstr "@E @L đến « . » " #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n -#: e2fsck/problem.c:1084 +#: e2fsck/problem.c:1015 msgid "@E points to @i (%Di) located in a bad @b.\n" msgstr "@E chỉ tá»›i @i (%Di) nằm trong @b sai.\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n -#: e2fsck/problem.c:1089 +#: e2fsck/problem.c:1020 msgid "@E @L to @d %P (%Di).\n" msgstr "@E @L đến @d %P (%Di).\n" #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n -#: e2fsck/problem.c:1094 +#: e2fsck/problem.c:1025 msgid "@E @L to the @r.\n" msgstr "@E @L tá»›i @r.\n" #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n -#: e2fsck/problem.c:1099 +#: e2fsck/problem.c:1030 msgid "@E has illegal characters in its name.\n" msgstr "@E có tên chứa ký tá»± cấm.\n" #. @-expanded: Missing '.' in directory inode %i.\n -#: e2fsck/problem.c:1104 +#: e2fsck/problem.c:1035 #, c-format msgid "Missing '.' in @d @i %i.\n" -msgstr "Thiếu “.†trong @i @d %i.\n" +msgstr "Thiếu « . » trong @i @d %i.\n" #. @-expanded: Missing '..' in directory inode %i.\n -#: e2fsck/problem.c:1109 +#: e2fsck/problem.c:1040 #, c-format msgid "Missing '..' in @d @i %i.\n" -msgstr "Thiếu “..†trong @i @d %i.\n" +msgstr "Thiếu « .. » trong @i @d %i.\n" #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n -#: e2fsck/problem.c:1114 +#: e2fsck/problem.c:1045 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n" -msgstr "@e “%Dn†thứ nhất (@i=%Di) trong @i @d %i (%p) @s “.â€\n" +msgstr "@e '%Dn' thứ nhất (@i=%Di) trong @i @d %i (%p) @s « . »\n" #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n -#: e2fsck/problem.c:1119 +#: e2fsck/problem.c:1050 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n" -msgstr "@e “%Dn†thứ hai (@i=%Di) trong @i @d %i @s “..â€\n" +msgstr "@e '%Dn' thứ hai (@i=%Di) trong @i @d %i @s « .. »\n" #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n -#: e2fsck/problem.c:1124 +#: e2fsck/problem.c:1055 msgid "i_faddr @F %IF, @s zero.\n" msgstr "Äịa chỉ i_faddr cho nút injode %i (%Q) là %IF, còn nên là số không.\n" #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n -#: e2fsck/problem.c:1129 +#: e2fsck/problem.c:1060 msgid "i_file_acl @F %If, @s zero.\n" msgstr "i_file_acl @F %If, @s số không.\n" #. @-expanded: i_dir_acl for inode %i (%Q) is %Id, should be zero.\n -#: e2fsck/problem.c:1134 +#: e2fsck/problem.c:1065 msgid "i_dir_acl @F %Id, @s zero.\n" msgstr "i_dir_acl @F %Id, @s số không.\n" #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1139 +#: e2fsck/problem.c:1070 msgid "i_frag @F %N, @s zero.\n" msgstr "i_frag @F %N, @s số không.\n" #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1144 +#: e2fsck/problem.c:1075 msgid "i_fsize @F %N, @s zero.\n" msgstr "i_fsize @F %N, @s số không.\n" #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n -#: e2fsck/problem.c:1149 +#: e2fsck/problem.c:1080 msgid "@i %i (%Q) has @n mode (%Im).\n" msgstr "@i %i (%Q) có chế Ä‘á»™ @n (%Im).\n" #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n -#: e2fsck/problem.c:1154 +#: e2fsck/problem.c:1085 msgid "@d @i %i, %B, offset %N: @d corrupted\n" msgstr "@i @d %i, %B, hiệu %N: @d bị há»ng\n" #. @-expanded: directory inode %i, %B, offset %N: filename too long\n -#: e2fsck/problem.c:1159 +#: e2fsck/problem.c:1090 msgid "@d @i %i, %B, offset %N: filename too long\n" msgstr "@i @d %i, %B, hiệu %N: tên tập tin quá dài\n" #. @-expanded: directory inode %i has an unallocated %B. -#: e2fsck/problem.c:1164 +#: e2fsck/problem.c:1095 msgid "@d @i %i has an unallocated %B. " msgstr "@i @d %i có má»™t %B chÆ°a cấp phát. " #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1169 +#: e2fsck/problem.c:1100 #, c-format msgid "'.' @d @e in @d @i %i is not NULL terminated\n" -msgstr "@e @d “.†trong @i @d %i không được chấm dứt bằng NULL (vô giá trị)\n" +msgstr "@e @d « . » trong @i @d %i không được chấm dứt bằng NULL (vô giá trị)\n" #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1174 +#: e2fsck/problem.c:1105 #, c-format msgid "'..' @d @e in @d @i %i is not NULL terminated\n" -msgstr "@e @d “..†trong @i @d %i không được chấm dứt bằng NULL (vô giá trị)\n" +msgstr "" +"@e @d « .. » trong @i @d %i không được chấm dứt bằng NULL (vô giá trị)\n" #. @-expanded: inode %i (%Q) is an illegal character device.\n -#: e2fsck/problem.c:1179 +#: e2fsck/problem.c:1110 msgid "@i %i (%Q) is an @I character @v.\n" msgstr "@i %i (%Q) là @v ký tá»± @I.\n" #. @-expanded: inode %i (%Q) is an illegal block device.\n -#: e2fsck/problem.c:1184 +#: e2fsck/problem.c:1115 msgid "@i %i (%Q) is an @I @b @v.\n" msgstr "@i %i (%Q) là @v @b @I.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n -#: e2fsck/problem.c:1189 +#: e2fsck/problem.c:1120 msgid "@E is duplicate '.' @e.\n" -msgstr "@E là @e “.†trùng.\n" +msgstr "@E là @e « . » trùng.\n" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n -#: e2fsck/problem.c:1194 +#: e2fsck/problem.c:1125 msgid "@E is duplicate '..' @e.\n" -msgstr "@E là @e “..†trùng.\n" +msgstr "@E là @e « .. » trùng.\n" -#: e2fsck/problem.c:1199 e2fsck/problem.c:1499 +#: e2fsck/problem.c:1130 e2fsck/problem.c:1430 #, c-format msgid "Internal error: couldn't find dir_info for %i.\n" -msgstr "Lá»—i ná»™i bá»™: không tìm thấy thông tin thÆ° mục (dir_info) vá» %i.\n" +msgstr "Lá»—i ná»™i bá»™ : không tìm thấy thông tin thÆ° mục (dir_info) vá» %i.\n" #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n -#: e2fsck/problem.c:1204 +#: e2fsck/problem.c:1135 msgid "@E has rec_len of %Dr, @s %N.\n" msgstr "@E có rec_len %Dr, @s %N.\n" #. @-expanded: error allocating icount structure: %m\n -#: e2fsck/problem.c:1209 +#: e2fsck/problem.c:1140 #, c-format msgid "@A icount structure: %m\n" msgstr "@A cấu trúc icount: %m\n" #. @-expanded: Error iterating over directory blocks: %m\n -#: e2fsck/problem.c:1214 +#: e2fsck/problem.c:1145 #, c-format msgid "Error iterating over @d @bs: %m\n" msgstr "Gặp lá»—i khi lặp lại trên các @b @d: %m\n" #. @-expanded: Error reading directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1219 +#: e2fsck/problem.c:1150 msgid "Error reading @d @b %b (@i %i): %m\n" msgstr "Gặp lá»—i khi Ä‘á»c @b @d %b (@i %i): %m\n" #. @-expanded: Error writing directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1224 +#: e2fsck/problem.c:1155 msgid "Error writing @d @b %b (@i %i): %m\n" msgstr "Gặp lá»—i khi ghi @b @d %b (@i %i): %m\n" #. @-expanded: error allocating new directory block for inode %i (%s): %m\n -#: e2fsck/problem.c:1229 +#: e2fsck/problem.c:1160 #, c-format msgid "@A new @d @b for @i %i (%s): %m\n" msgstr "@A @b @d má»›i cho @i %i (%s): %m\n" #. @-expanded: Error deallocating inode %i: %m\n -#: e2fsck/problem.c:1234 +#: e2fsck/problem.c:1165 #, c-format msgid "Error deallocating @i %i: %m\n" msgstr "Gặp lá»—i khi hủy cấp phát @i %i: %m\n" #. @-expanded: directory entry for '.' in %p (%i) is big.\n -#: e2fsck/problem.c:1239 +#: e2fsck/problem.c:1170 #, c-format msgid "@d @e for '.' in %p (%i) is big.\n" -msgstr "@d @e đối vá»›i “.†trong %p (%i) quá lá»›n.\n" +msgstr "@d @e đối vá»›i '.' trong %p (%i) quá lá»›n.\n" #. @-expanded: inode %i (%Q) is an illegal FIFO.\n -#: e2fsck/problem.c:1244 +#: e2fsck/problem.c:1175 msgid "@i %i (%Q) is an @I FIFO.\n" msgstr "@i %i (%Q) là má»™t FIFO @I.\n" #. @-expanded: inode %i (%Q) is an illegal socket.\n -#: e2fsck/problem.c:1249 +#: e2fsck/problem.c:1180 msgid "@i %i (%Q) is an @I socket.\n" msgstr "@i %i (%Q) là má»™t ổ cắm @I.\n" #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n -#: e2fsck/problem.c:1254 +#: e2fsck/problem.c:1185 msgid "Setting filetype for @E to %N.\n" msgstr "Äăng đặt kiểu tập tin cho @E thành %N.\n" #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n -#: e2fsck/problem.c:1259 +#: e2fsck/problem.c:1190 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n" msgstr "@E có kiểu tập tin không đúng (đã %Dt, @s %N).\n" #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n -#: e2fsck/problem.c:1264 +#: e2fsck/problem.c:1195 msgid "@E has filetype set.\n" msgstr "@E đặt kiểu tập tin.\n" #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n -#: e2fsck/problem.c:1269 +#: e2fsck/problem.c:1200 msgid "@E has a @z name.\n" msgstr "@E có tên @z.\n" #. @-expanded: Symlink %Q (inode #%i) is invalid.\n -#: e2fsck/problem.c:1274 +#: e2fsck/problem.c:1205 msgid "Symlink %Q (@i #%i) is @n.\n" msgstr "Liên kết tượng trÆ°ng %Q (@i #%i) @n.\n" #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n -#: e2fsck/problem.c:1279 +#: e2fsck/problem.c:1210 msgid "@a @b @F @n (%If).\n" msgstr "@a @b @F @n (%If).\n" #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n -#: e2fsck/problem.c:1284 +#: e2fsck/problem.c:1215 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n" msgstr "@f chứa các tập tin lá»›n còn thiếu cá» LARGE_FILE trong @S.\n" #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n -#: e2fsck/problem.c:1289 +#: e2fsck/problem.c:1220 msgid "@p @h %d: %B not referenced\n" msgstr "@p @h %d: %B không được tham chiếu\n" #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n -#: e2fsck/problem.c:1294 +#: e2fsck/problem.c:1225 msgid "@p @h %d: %B referenced twice\n" msgstr "@p @h %d: %B được tham chiếu hai lần\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n -#: e2fsck/problem.c:1299 +#: e2fsck/problem.c:1230 msgid "@p @h %d: %B has bad min hash\n" msgstr "@p @h %d: %B có chuá»—i duy nhất tối thiểu sai\n" #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n -#: e2fsck/problem.c:1304 +#: e2fsck/problem.c:1235 msgid "@p @h %d: %B has bad max hash\n" msgstr "@p @h %d: %B có chuá»—i duy nhất tối Ä‘a sai\n" #. @-expanded: invalid HTREE directory inode %d (%q). -#: e2fsck/problem.c:1309 +#: e2fsck/problem.c:1240 msgid "@n @h %d (%q). " msgstr "@h @n %d (%q). " #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n -#: e2fsck/problem.c:1313 +#: e2fsck/problem.c:1244 msgid "@p @h %d (%q): bad @b number %b.\n" msgstr "@p @h %d (%q): số @b sai %b.\n" #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n -#: e2fsck/problem.c:1323 +#: e2fsck/problem.c:1254 #, c-format msgid "@p @h %d: root node is @n\n" msgstr "@p @h %d: nút gốc @n\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n -#: e2fsck/problem.c:1328 +#: e2fsck/problem.c:1259 msgid "@p @h %d: %B has @n limit (%N)\n" msgstr "@p @h %d: %B có giá»›i hạn @n (%N)\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n -#: e2fsck/problem.c:1333 +#: e2fsck/problem.c:1264 msgid "@p @h %d: %B has @n count (%N)\n" msgstr "@p @h %d: %B có số đếm @n (%N)\n" #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n -#: e2fsck/problem.c:1338 +#: e2fsck/problem.c:1269 msgid "@p @h %d: %B has an unordered hash table\n" msgstr "@p @h %d: %B có má»™t bảng chuá»—i duy nhất không đặt thứ tá»±\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n -#: e2fsck/problem.c:1343 +#: e2fsck/problem.c:1274 msgid "@p @h %d: %B has @n depth (%N)\n" msgstr "@p @h %d: %B có chiá»u sâu @n (%N)\n" #. @-expanded: Duplicate entry '%Dn' in %p (%i) found. -#: e2fsck/problem.c:1348 +#: e2fsck/problem.c:1279 msgid "Duplicate @E found. " msgstr "Tìm thấy @E trùng. " #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n #. @-expanded: Rename to %s -#: e2fsck/problem.c:1353 +#: e2fsck/problem.c:1284 #, no-c-format msgid "" "@E has a non-unique filename.\n" @@ -2207,127 +2135,129 @@ msgstr "" #. @-expanded: Duplicate entry '%Dn' found.\n #. @-expanded: \tMarking %p (%i) to be rebuilt.\n #. @-expanded: \n -#: e2fsck/problem.c:1358 +#: e2fsck/problem.c:1289 msgid "" "Duplicate @e '%Dn' found.\n" "\tMarking %p (%i) to be rebuilt.\n" "\n" msgstr "" -"Tìm thấy @e “%Dn†trùng\n" +"Tìm thấy @e '%Dn' trùng\n" "\tnên nhãn %p (%i) cần được xây dá»±ng lại.\n" "\n" #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1363 +#: e2fsck/problem.c:1294 msgid "i_blocks_hi @F %N, @s zero.\n" msgstr "i_blocks_hi @F %N, @s số không.\n" #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n -#: e2fsck/problem.c:1368 +#: e2fsck/problem.c:1299 msgid "Unexpected @b in @h %d (%q).\n" msgstr "Gặp @b bất thÆ°á»ng trong @h %d (%q).\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n -#: e2fsck/problem.c:1372 +#: e2fsck/problem.c:1303 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n" msgstr "@E tham chiếu đến @i %Di trong @g %g ở vị trí đặt _INODE_UNINIT.\n" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n -#: e2fsck/problem.c:1377 +#: e2fsck/problem.c:1308 msgid "@E references @i %Di found in @g %g's unused inodes area.\n" -msgstr "@E tham chiếu đến @i %Di được tìm trong vùng nút thông tin không dùng của @g %g.\n" +msgstr "" +"@E tham chiếu đến @i %Di được tìm trong vùng nút thông tin không dùng của @g " +"%g.\n" #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1382 +#: e2fsck/problem.c:1313 msgid "i_file_acl_hi @F %N, @s zero.\n" msgstr "i_file_acl_hi @F %N, @s số không.\n" #. @-expanded: Pass 3: Checking directory connectivity\n -#: e2fsck/problem.c:1389 +#: e2fsck/problem.c:1320 msgid "Pass 3: Checking @d connectivity\n" -msgstr "Lần 3: Äang kiểm tra khả năng kết nối của @d\n" +msgstr "Lần qua 3: Ä‘ang kiểm tra khả năng kết nối của @d\n" #. @-expanded: root inode not allocated. -#: e2fsck/problem.c:1394 +#: e2fsck/problem.c:1325 msgid "@r not allocated. " -msgstr "ChÆ°a cấp phát @r. " +msgstr "ChÆ°a cấp phát @r." #. @-expanded: No room in lost+found directory. -#: e2fsck/problem.c:1399 +#: e2fsck/problem.c:1330 msgid "No room in @l @d. " -msgstr "Không có chá»— còn rảnh trong @d @l. " +msgstr "Không có chá»— còn rảnh trong @d @l." #. @-expanded: Unconnected directory inode %i (%p)\n -#: e2fsck/problem.c:1404 +#: e2fsck/problem.c:1335 #, c-format msgid "Unconnected @d @i %i (%p)\n" msgstr "@i @d %i không được kết nối (%p)\n" #. @-expanded: /lost+found not found. -#: e2fsck/problem.c:1409 +#: e2fsck/problem.c:1340 msgid "/@l not found. " msgstr "/@l không tìm thấy." #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n -#: e2fsck/problem.c:1414 +#: e2fsck/problem.c:1345 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n" -msgstr "“..†trong %Q (%i) là %P (%j), @s %q (%d).\n" +msgstr "« .. » trong %Q (%i) là %P (%j), @s %q (%d).\n" #. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n -#: e2fsck/problem.c:1419 +#: e2fsck/problem.c:1350 msgid "Bad or non-existent /@l. Cannot reconnect.\n" msgstr "Có /@l sai hay không tồn tại nên không thể kết nối lại.\n" #. @-expanded: Could not expand /lost+found: %m\n -#: e2fsck/problem.c:1424 +#: e2fsck/problem.c:1355 #, c-format msgid "Could not expand /@l: %m\n" msgstr "Không thể mở rá»™ng /@l: %m\n" -#: e2fsck/problem.c:1429 +#: e2fsck/problem.c:1360 #, c-format msgid "Could not reconnect %i: %m\n" msgstr "Không thể kết nối lại %i: %m\n" #. @-expanded: Error while trying to find /lost+found: %m\n -#: e2fsck/problem.c:1434 +#: e2fsck/problem.c:1365 #, c-format msgid "Error while trying to find /@l: %m\n" msgstr "Gặp lá»—i khi thá»­ tìm /@l: %m\n" #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1439 +#: e2fsck/problem.c:1370 #, c-format msgid "ext2fs_new_@b: %m while trying to create /@l @d\n" msgstr "ext2fs_new_@b: %m trong khi thá»­ tạo @d /@l\n" #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1444 +#: e2fsck/problem.c:1375 #, c-format msgid "ext2fs_new_@i: %m while trying to create /@l @d\n" msgstr "ext2fs_new_@i: %m trong khi thá»­ tạo @d /@l\n" #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n -#: e2fsck/problem.c:1449 +#: e2fsck/problem.c:1380 #, c-format msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n" msgstr "ext2fs_new_dir_@b: %m trong khi thá»­ tạo @b @d má»›i\n" #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n -#: e2fsck/problem.c:1454 +#: e2fsck/problem.c:1385 #, c-format msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n" msgstr "ext2fs_write_dir_@b: %m trong khi ghi @b @d cho /@l\n" #. @-expanded: Error while adjusting inode count on inode %i\n -#: e2fsck/problem.c:1459 +#: e2fsck/problem.c:1390 #, c-format msgid "Error while adjusting @i count on @i %i\n" msgstr "Gặp lá»—i khi Ä‘iá»u chỉnh số đếm @i trên @i %i\n" #. @-expanded: Couldn't fix parent of inode %i: %m\n #. @-expanded: \n -#: e2fsck/problem.c:1464 +#: e2fsck/problem.c:1395 #, c-format msgid "" "Couldn't fix parent of @i %i: %m\n" @@ -2338,7 +2268,7 @@ msgstr "" #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n #. @-expanded: \n -#: e2fsck/problem.c:1469 +#: e2fsck/problem.c:1400 #, c-format msgid "" "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n" @@ -2348,223 +2278,226 @@ msgstr "" "\n" #. @-expanded: Error creating root directory (%s): %m\n -#: e2fsck/problem.c:1479 +#: e2fsck/problem.c:1410 #, c-format msgid "Error creating root @d (%s): %m\n" msgstr "Gặp lá»—i khi tạo @d gốc (%s): %m\n" #. @-expanded: Error creating /lost+found directory (%s): %m\n -#: e2fsck/problem.c:1484 +#: e2fsck/problem.c:1415 #, c-format msgid "Error creating /@l @d (%s): %m\n" msgstr "Gặp lá»—i khi tạo @d /@l (%s): %m\n" #. @-expanded: root inode is not a directory; aborting.\n -#: e2fsck/problem.c:1489 +#: e2fsck/problem.c:1420 msgid "@r is not a @d; aborting.\n" msgstr "@r không phải @d nên hủy bá».\n" #. @-expanded: Cannot proceed without a root inode.\n -#: e2fsck/problem.c:1494 +#: e2fsck/problem.c:1425 msgid "Cannot proceed without a @r.\n" msgstr "Không thể tiếp tục khi không có @r.\n" #. @-expanded: /lost+found is not a directory (ino=%i)\n -#: e2fsck/problem.c:1504 +#: e2fsck/problem.c:1435 #, c-format msgid "/@l is not a @d (ino=%i)\n" msgstr "/@l không phải @d (ino=%i)\n" -#: e2fsck/problem.c:1511 +#: e2fsck/problem.c:1442 msgid "Pass 3A: Optimizing directories\n" msgstr "Lần qua 3A: Ä‘ang tối Æ°u hoá các thÆ° mục\n" -#: e2fsck/problem.c:1516 +#: e2fsck/problem.c:1447 #, c-format msgid "Failed to create dirs_to_hash iterator: %m\n" msgstr "Lá»—i tạo bá»™ lặp lại thÆ° mục tá»›i băm (dirs_to_hash): %m\n" -#: e2fsck/problem.c:1521 +#: e2fsck/problem.c:1452 msgid "Failed to optimize directory %q (%d): %m\n" msgstr "Lá»—i tối Æ°u hoá thÆ° mục %q (%d): %m\n" -#: e2fsck/problem.c:1526 +#: e2fsck/problem.c:1457 msgid "Optimizing directories: " msgstr "Äang tối Æ°u hoá các thÆ° mục: " -#: e2fsck/problem.c:1543 +#: e2fsck/problem.c:1474 msgid "Pass 4: Checking reference counts\n" msgstr "Lần qua 4: Ä‘ang kiểm tra các số đếm tham chiếu\n" #. @-expanded: unattached zero-length inode %i. -#: e2fsck/problem.c:1548 +#: e2fsck/problem.c:1479 #, c-format msgid "@u @z @i %i. " msgstr "@i @u @z %i. " #. @-expanded: unattached inode %i\n -#: e2fsck/problem.c:1553 +#: e2fsck/problem.c:1484 #, c-format msgid "@u @i %i\n" msgstr "@i @u %i\n" #. @-expanded: inode %i ref count is %Il, should be %N. -#: e2fsck/problem.c:1558 +#: e2fsck/problem.c:1489 msgid "@i %i ref count is %Il, @s %N. " msgstr "@i %i có số đếm tham chiếu %Il, @s %N. " #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n -#: e2fsck/problem.c:1562 +#: e2fsck/problem.c:1493 msgid "" "WARNING: PROGRAMMING BUG IN E2FSCK!\n" "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n" "@i_link_info[%i] is %N, @i.i_links_count is %Il. They @s the same!\n" msgstr "" -"CẢNH BÃO: GẶP Lá»–I LẬP TRÃŒNH TRONG E2FSCK!\n" +"CẢNH BÃO : GẶP Lá»–I LẬP TRÃŒNH TRONG E2FSCK!\n" "\tHOẶC NGƯỜI NAO ÄANG KIỂM TRA MỘT HỆ THá»NG TẬP TIN Äà LẮP (ÄỘNG).\n" "@i_link_info[%i] là %N, @i.i_links_count là %Il: @s trùng.\n" #. @-expanded: Pass 5: Checking group summary information\n -#: e2fsck/problem.c:1572 +#: e2fsck/problem.c:1503 msgid "Pass 5: Checking @g summary information\n" msgstr "Lần qua 5: Ä‘ang kiểm tra thông tin tóm tắt nhóm\n" #. @-expanded: Padding at end of inode bitmap is not set. -#: e2fsck/problem.c:1577 +#: e2fsck/problem.c:1508 msgid "Padding at end of @i @B is not set. " msgstr "ChÆ°a đặt Ä‘á»™ đệm tại kết thúc của @B @I." #. @-expanded: Padding at end of block bitmap is not set. -#: e2fsck/problem.c:1582 +#: e2fsck/problem.c:1513 msgid "Padding at end of @b @B is not set. " msgstr "ChÆ°a đặt Ä‘á»™ đệm tại kết thúc của @B @b." #. @-expanded: block bitmap differences: -#: e2fsck/problem.c:1587 +#: e2fsck/problem.c:1518 msgid "@b @B differences: " msgstr "Hiệu @B @b:" #. @-expanded: inode bitmap differences: -#: e2fsck/problem.c:1607 +#: e2fsck/problem.c:1538 msgid "@i @B differences: " msgstr "Hiệu @B @i:" #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1627 +#: e2fsck/problem.c:1558 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n" msgstr "Số đếm các @i rảnh không đúng cho @g #%g (%i, đã đếm=%j).\n" #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1632 +#: e2fsck/problem.c:1563 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n" msgstr "Số đếm các thÆ° mục không đúng cho @g #%g (%i, đã đếm=%j).\n" #. @-expanded: Free inodes count wrong (%i, counted=%j).\n -#: e2fsck/problem.c:1637 +#: e2fsck/problem.c:1568 msgid "Free @is count wrong (%i, counted=%j).\n" msgstr "Số đếm các @i rảnh không đúng (%i, đã đếm=%j).\n" #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n -#: e2fsck/problem.c:1642 +#: e2fsck/problem.c:1573 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n" msgstr "Số đếm các @b rảnh không đúng cho @g #%g (%b, đã đếm=%c).\n" #. @-expanded: Free blocks count wrong (%b, counted=%c).\n -#: e2fsck/problem.c:1647 +#: e2fsck/problem.c:1578 msgid "Free @bs count wrong (%b, counted=%c).\n" msgstr "Số đếm các @b rảnh không đúng (%b, đã đếm=%c).\n" #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap #. @-expanded: endpoints (%i, %j)\n -#: e2fsck/problem.c:1652 -msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n" -msgstr "Lá»–I LẬP TRÃŒNH: trong @f (#%N) có các Ä‘iểm cuối @B (%b, %c) không tÆ°Æ¡ng ứng vá»›i các Ä‘iểm cuối @B đã tính (%i, %j)\n" +#: e2fsck/problem.c:1583 +msgid "" +"PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B " +"endpoints (%i, %j)\n" +msgstr "" +"Lá»–I LẬP TRÃŒNH: trong @f (#%N) có các Ä‘iểm cuối @B (%b, %c) không tÆ°Æ¡ng ứng " +"vá»›i các Ä‘iểm cuối @B đã tính (%i, %j)\n" -#: e2fsck/problem.c:1658 +#: e2fsck/problem.c:1589 msgid "Internal error: fudging end of bitmap (%N)\n" -msgstr "Lá»—i ná»™i bá»™: Ä‘ang làm quấy quá kết thúc của mảng ảnh (%N)\n" +msgstr "Lá»—i ná»™i bá»™ : Ä‘ang làm quấy quá kết thúc của mảng ảnh (%N)\n" #. @-expanded: Error copying in replacement inode bitmap: %m\n -#: e2fsck/problem.c:1663 +#: e2fsck/problem.c:1594 #, c-format msgid "Error copying in replacement @i @B: %m\n" msgstr "Gặp lá»—i khi sao chép vào @B @i thay thế: %m\n" #. @-expanded: Error copying in replacement block bitmap: %m\n -#: e2fsck/problem.c:1668 +#: e2fsck/problem.c:1599 #, c-format msgid "Error copying in replacement @b @B: %m\n" msgstr "Gặp lá»—i khi sao chép vào @B @b thay thế: %m\n" #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n -#: e2fsck/problem.c:1693 +#: e2fsck/problem.c:1624 #, c-format msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n" msgstr "Các @b của @g %g Ä‘ang được dùng, còn @g có nhãn là BLOCK_UNINIT\n" #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n -#: e2fsck/problem.c:1698 +#: e2fsck/problem.c:1629 #, c-format msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n" msgstr "Các @i của @g %g Ä‘ang được dùng, còn @g có nhãn là INODE_UNINIT\n" #. @-expanded: Recreate journal -#: e2fsck/problem.c:1705 +#: e2fsck/problem.c:1636 msgid "Recreate @j" msgstr "Tạo lại @j" -#: e2fsck/problem.c:1710 -msgid "Update quota info for quota type %N" -msgstr "Cập nhật thông tin hạn ngạch cho kiểu hạn ngạch %N" - -#: e2fsck/problem.c:1829 +#: e2fsck/problem.c:1755 #, c-format msgid "Unhandled error code (0x%x)!\n" msgstr "Mã lá»—i chÆ°a quản lý (0x%x)!\n" -#: e2fsck/problem.c:1954 e2fsck/problem.c:1958 +#: e2fsck/problem.c:1850 msgid "IGNORED" msgstr "BỊ BỎ QUA" -#: e2fsck/scantest.c:79 +#: e2fsck/scantest.c:81 #, c-format msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n" msgstr "Bá»™ nhá»› đã chiếm: %d, thá»i gian đã qua: %6.3f/%6.3f/%6.3f\n" -#: e2fsck/scantest.c:98 +#: e2fsck/scantest.c:100 #, c-format msgid "size of inode=%d\n" msgstr "kích cỡ nút thông tin=%d\n" -#: e2fsck/scantest.c:119 +#: e2fsck/scantest.c:121 msgid "while starting inode scan" msgstr "trong khi khởi chạy tiến trình quét nút thông tin" -#: e2fsck/scantest.c:130 +#: e2fsck/scantest.c:132 msgid "while doing inode scan" msgstr "trong khi chạy tiến trình quét nút thông tin" -#: e2fsck/super.c:188 +#: e2fsck/super.c:187 #, c-format msgid "while calling ext2fs_block_iterate for inode %d" -msgstr "trong khi gá»i hàm lặp lại khối “ext2fs_block_iterate†cho nút thông tin %d" +msgstr "" +"trong khi gá»i hàm lặp lại khối « ext2fs_block_iterate » cho nút thông tin %d" -#: e2fsck/super.c:211 +#: e2fsck/super.c:209 #, c-format -msgid "while calling ext2fs_adjust_ea_refcount2 for inode %d" -msgstr "trong khi gá»i hàm “ext2fs_adjust_ea_refcount†cho nút thông tin %d" +msgid "while calling ext2fs_adjust_ea_refcount for inode %d" +msgstr "" +"trong khi gá»i hàm Ä‘iá»u chỉnh số đếm tham chiếu « ext2fs_adjust_ea_refcount »\n" +"cho nút thông tin %d" -#: e2fsck/super.c:272 +#: e2fsck/super.c:267 msgid "Truncating" msgstr "Äang cắt ngắn" -#: e2fsck/super.c:273 +#: e2fsck/super.c:268 msgid "Clearing" msgstr "Äang xoá sạch" -#: e2fsck/unix.c:74 +#: e2fsck/unix.c:76 #, c-format msgid "" "Usage: %s [-panyrcdfvtDFV] [-b superblock] [-B blocksize]\n" @@ -2572,12 +2505,12 @@ msgid "" "\t\t[-l|-L bad_blocks_file] [-C fd] [-j external_journal]\n" "\t\t[-E extended-options] device\n" msgstr "" -"Cách dùng: %s [-panyrcdfvtDFV] [-b siêu_khối] [-B cỡ_khối]\n" +"Sá»­ dụng: %s [-panyrcdfvtDFV] [-b siêu_khối] [-B cỡ_khối]\n" "\t\t[-I khối_đệm_inode] [-P cỡ_inode_xá»­_lý]\n" "\t\t[-l|-L tập_tin_khối_sai] [-C fd] [-j nhật_ký_ngoài]\n" "\t\t[-E tùy_chá»n_đã_mở_rá»™ng] thiết_bị\n" -#: e2fsck/unix.c:80 +#: e2fsck/unix.c:82 #, c-format msgid "" "\n" @@ -2585,18 +2518,20 @@ msgid "" " -p Automatic repair (no questions)\n" " -n Make no changes to the filesystem\n" " -y Assume \"yes\" to all questions\n" -" -c Check for bad blocks and add them to the badblock list\n" +" -c Check for bad blocks and add them to the badblock " +"list\n" " -f Force checking even if filesystem is marked clean\n" msgstr "" "\n" "Trợ giúp khẩn cấp:\n" " -p Sá»­a chữa tá»± Ä‘á»™ng (không có câu há»i)\n" " -n Không thay đổi hệ thống tập tin\n" -" -y Giả sá»­ trả lá»i “Có†má»i câu há»i\n" +" -y Giả sá»­ trả lá»i « Có » má»i câu há»i\n" " -c Kiểm tra tìm khối sai: thêm vào danh sách khối sai\n" -" -f Buá»™c kiểm tra ngay cả khi hệ thống tập tin có nhãn là sạch\n" +" -f Buá»™c kiểm tra ngay cả khi hệ thống tập tin có nhãn là " +"sạch\n" -#: e2fsck/unix.c:86 +#: e2fsck/unix.c:88 #, c-format msgid "" " -v Be verbose\n" @@ -2606,152 +2541,45 @@ msgid "" " -l bad_blocks_file Add to badblocks list\n" " -L bad_blocks_file Set badblocks list\n" msgstr "" -" -v Xuất chi tiết\n" -" -b siêu_khối Dùng siêu khối xen kẽ\n" -" -B cỡ_khối Buá»™c kích cỡ của khối khi tìm siêu khối\n" -" -j nhật_ký_bên_ngoài Äặt địa Ä‘iểm của nhật ký bên ngoài\n" -" -l tập_tin_khối_sai Thêm vào danh sách các khối sai\n" -" -L tập_tin_khối_sai Äặt danh sách các khối sai\n" - -#: e2fsck/unix.c:131 -#, c-format -msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n" -msgstr "%s: %u/%u tập tin (%0d.%d%% không ká» nhau), %llu/%llu khối\n" - -#: e2fsck/unix.c:157 -#, c-format -msgid "" -"\n" -"%12u inode used (%2.2f%%, out of %u)\n" -msgid_plural "" -"\n" -"%12u inodes used (%2.2f%%, out of %u)\n" -msgstr[0] "" -"\n" -"%12u inode đã được dùng (%2.2f%%, vượt quá %u)\n" - -#: e2fsck/unix.c:161 -#, c-format -msgid "%12u non-contiguous file (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous files (%0d.%d%%)\n" -msgstr[0] "%12u tệp tin không ká» nhau (%0d.%d%%)\n" - -#: e2fsck/unix.c:166 -#, c-format -msgid "%12u non-contiguous directory (%0d.%d%%)\n" -msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n" -msgstr[0] "%12u thÆ° mục không ká» nhau (%0d.%d%%)\n" - -#: e2fsck/unix.c:171 -#, c-format -msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" -msgstr " # số inode có khối ind/dind/tind: %u/%u/%u\n" - -#: e2fsck/unix.c:179 -msgid " Extent depth histogram: " -msgstr " Äồ thị Ä‘á»™ sâu: " - -#: e2fsck/unix.c:188 -#, c-format -msgid "%12llu block used (%2.2f%%, out of %llu)\n" -msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n" -msgstr[0] "%12llu khối đã dùng (%2.2f%%, vượt quá %llu)\n" - -#: e2fsck/unix.c:192 -#, c-format -msgid "%12u bad block\n" -msgid_plural "%12u bad blocks\n" -msgstr[0] "%12u khối há»ng\n" - -#: e2fsck/unix.c:194 -#, c-format -msgid "%12u large file\n" -msgid_plural "%12u large files\n" -msgstr[0] "%12u tập tin quá lá»›n\n" - -#: e2fsck/unix.c:196 -#, c-format -msgid "" -"\n" -"%12u regular file\n" -msgid_plural "" -"\n" -"%12u regular files\n" -msgstr[0] "" -"\n" -"%12u tập tin thÆ°á»ng\n" - -#: e2fsck/unix.c:198 -#, c-format -msgid "%12u directory\n" -msgid_plural "%12u directories\n" -msgstr[0] "%12u thÆ° mục\n" - -#: e2fsck/unix.c:200 -#, c-format -msgid "%12u character device file\n" -msgid_plural "%12u character device files\n" -msgstr[0] "%12u thiết bị ký tá»±\n" +" -v \t\tXuất chi tiết\n" +" -b siêu_khối \t\tDùng siêu khối xen kẽ\n" +" -B cỡ_khối \t\tBuá»™c kích cỡ của khối khi tìm siêu khối\n" +" -j nhật_ký_bên_ngoài \tÄặt địa Ä‘iểm của nhật ký bên ngoài\n" +" -l tập_tin_khối_sai Thêm vào danh sách các khối sai\n" +" -L tập_tin_khối_sai Äặt danh sách các khối sai\n" -#: e2fsck/unix.c:203 +#: e2fsck/unix.c:132 #, c-format -msgid "%12u block device file\n" -msgid_plural "%12u block device files\n" -msgstr[0] "%12u tệp tin thiết bị khối\n" +msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n" +msgstr "%s: %u/%u tập tin (%0d.%d%% không ká» nhau), %u/%u khối\n" -#: e2fsck/unix.c:205 +#: e2fsck/unix.c:150 #, c-format -msgid "%12u fifo\n" -msgid_plural "%12u fifos\n" -msgstr[0] "%12u fifo\n" +msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" +msgstr " số inode có khối ind/dind/tind: %u/%u/%u\n" -#: e2fsck/unix.c:207 -#, c-format -msgid "%12u link\n" -msgid_plural "%12u links\n" -msgstr[0] "%12u liên kết\n" - -#: e2fsck/unix.c:209 -#, c-format -msgid "%12u symbolic link" -msgid_plural "%12u symbolic links" -msgstr[0] "%12u liên kết tượng trÆ°ng" - -#: e2fsck/unix.c:211 -#, c-format -msgid " (%u fast symbolic link)\n" -msgid_plural " (%u fast symbolic links)\n" -msgstr[0] " (%u liên kết tượng trÆ°ng nhanh)\n" - -#: e2fsck/unix.c:215 -#, c-format -msgid "%12u socket\n" -msgid_plural "%12u sockets\n" -msgstr[0] "%12u socket\n" - -#: e2fsck/unix.c:219 +#: e2fsck/unix.c:157 #, c-format -msgid "%12u file\n" -msgid_plural "%12u files\n" -msgstr[0] "%12u tập tin\n" +msgid " Extent depth histogram: " +msgstr " Äồ thị Ä‘á»™ sâu : " -#: e2fsck/unix.c:232 misc/badblocks.c:983 misc/tune2fs.c:1985 misc/util.c:147 -#: resize/main.c:259 +#: e2fsck/unix.c:207 misc/badblocks.c:928 misc/tune2fs.c:1625 misc/util.c:151 +#: resize/main.c:249 #, c-format msgid "while determining whether %s is mounted." msgstr "trong khi quyết định nếu %s đã gắn kết chÆ°a." -#: e2fsck/unix.c:252 +#: e2fsck/unix.c:225 #, c-format -msgid "Warning! %s is %s.\n" -msgstr "Cảnh báo! %s là %s.\n" +msgid "Warning! %s is mounted.\n" +msgstr "Cảnh báo : %s đã gắn kết.\n" -#: e2fsck/unix.c:259 +#: e2fsck/unix.c:229 #, c-format -msgid "%s is %s.\n" -msgstr "%s là %s.\n" +msgid "%s is mounted. " +msgstr "%s đã gắn kết. " -#: e2fsck/unix.c:262 +#: e2fsck/unix.c:231 msgid "" "Cannot continue, aborting.\n" "\n" @@ -2759,93 +2587,96 @@ msgstr "" "Không thể tiếp tục nên hủy bá».\n" "\n" -#: e2fsck/unix.c:264 +#: e2fsck/unix.c:232 +#, c-format msgid "" "\n" "\n" -"WARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" -"cause ***SEVERE*** filesystem damage.\n" +"\a\a\a\aWARNING!!! The filesystem is mounted. If you continue you " +"***WILL***\n" +"cause ***SEVERE*** filesystem damage.\a\a\a\n" "\n" msgstr "" "\n" "\n" -"CẢNH BÃO!!! Hệ thống tập tin đã gắn kết. Vẫn tiếp tục thì\n" -"đây có thể là nguyên nhân ***LÀM HỎNG NẶNG*** hệ thống tập tin.\n" +"\a\a\a\aCẢNH BÃO !!! Hệ thống tập tin đã gắn kết. Vẫn tiếp tục thì\n" +"bạn ***CÓ PHẢI***\n" +"***LÀM HỎNG NẶNG*** hệ thống tập tin.\a\a\a\n" "\n" -#: e2fsck/unix.c:269 +#: e2fsck/unix.c:235 msgid "Do you really want to continue" msgstr "Bạn thá»±c sá»± muốn tiếp tục" -#: e2fsck/unix.c:271 +#: e2fsck/unix.c:237 #, c-format msgid "check aborted.\n" msgstr "kiểm tra bị hủy bá».\n" -#: e2fsck/unix.c:361 +#: e2fsck/unix.c:315 msgid " contains a file system with errors" msgstr " chứa hệ thống tập tin có lá»—i" -#: e2fsck/unix.c:363 +#: e2fsck/unix.c:317 msgid " was not cleanly unmounted" msgstr " chÆ°a tháo gắn kết sạch" -#: e2fsck/unix.c:365 +#: e2fsck/unix.c:319 msgid " primary superblock features different from backup" -msgstr " tính năng của siêu khối chính khác vá»›i bản sao lÆ°u" +msgstr "các tính năng của siêu khối chính khác vá»›i bản sao lÆ°u" -#: e2fsck/unix.c:369 +#: e2fsck/unix.c:323 #, c-format msgid " has been mounted %u times without being checked" msgstr " đã được gắn kết %u lần mà không được kiểm tra" -#: e2fsck/unix.c:376 +#: e2fsck/unix.c:330 msgid " has filesystem last checked time in the future" -msgstr " có giá» kiểm tra hệ thống tập tin lần cuối cùng trong tÆ°Æ¡ng lai" +msgstr "có giá» kiểm tra hệ thống tập tin lần cuối cùng trong tÆ°Æ¡ng lai" -#: e2fsck/unix.c:382 +#: e2fsck/unix.c:336 #, c-format msgid " has gone %u days without being checked" msgstr " đã chạy trong %u ngày mà không được kiểm tra" -#: e2fsck/unix.c:391 +#: e2fsck/unix.c:345 msgid ", check forced.\n" msgstr ", kiểm tra bị ép buá»™c.\n" -#: e2fsck/unix.c:424 +#: e2fsck/unix.c:348 #, c-format -msgid "%s: clean, %u/%u files, %llu/%llu blocks" -msgstr "%s: sạch, %u/%u tập tin, %llu/%llu khối" +msgid "%s: clean, %u/%u files, %u/%u blocks" +msgstr "%s: sạch, %u/%u tập tin, %u/%u khối" -#: e2fsck/unix.c:443 +#: e2fsck/unix.c:365 msgid " (check deferred; on battery)" msgstr " (kiểm tra bị hoãn; chạy bằng pin)" -#: e2fsck/unix.c:446 +#: e2fsck/unix.c:368 msgid " (check after next mount)" msgstr " (kiểm tra sau lần kế tiếp gắn kết)" -#: e2fsck/unix.c:448 +#: e2fsck/unix.c:370 #, c-format msgid " (check in %ld mounts)" msgstr " (kiểm tra sau %ld lần gắn kết)" -#: e2fsck/unix.c:598 +#: e2fsck/unix.c:517 #, c-format msgid "ERROR: Couldn't open /dev/null (%s)\n" -msgstr "Lá»–I: không thể mở “/dev/null†(%s)\n" +msgstr "Lá»–I: không thể mở « /dev/null » (%s)\n" -#: e2fsck/unix.c:667 +#: e2fsck/unix.c:587 #, c-format msgid "Invalid EA version.\n" msgstr "Phiên bản EA không hợp lệ.\n" -#: e2fsck/unix.c:694 +#: e2fsck/unix.c:596 #, c-format msgid "Unknown extended option: %s\n" -msgstr "Tùy chá»n đã mở rá»™ng lạ: %s\n" +msgstr "Tùy chá»n đã mở rá»™ng lạ : %s\n" -#: e2fsck/unix.c:719 +#: e2fsck/unix.c:618 #, c-format msgid "" "Syntax error in e2fsck config file (%s, line #%d)\n" @@ -2854,57 +2685,56 @@ msgstr "" "Gặp lá»—i cú pháp trong tập tin cấu hình e2fsck (%s, dòng số %d)\n" "\t%s\n" -#: e2fsck/unix.c:788 +#: e2fsck/unix.c:686 #, c-format msgid "Error validating file descriptor %d: %s\n" msgstr "Gặp lá»—i khi hợp lệ hóa mô tả tập tin %d: %s\n" -#: e2fsck/unix.c:792 +#: e2fsck/unix.c:690 msgid "Invalid completion information file descriptor" msgstr "Mô tả tập tin thông tin hoà chỉnh không hợp lệ" -#: e2fsck/unix.c:807 +#: e2fsck/unix.c:705 msgid "Only one of the options -p/-a, -n or -y may be specified." -msgstr "Có thể chỉ ra má»™t trong những tùy chá»n -p/-a, -n và -y." +msgstr "Có thể xác định chỉ má»™t của những tùy chá»n -p/-a, -n và -y." -#: e2fsck/unix.c:828 +#: e2fsck/unix.c:726 #, c-format msgid "The -t option is not supported on this version of e2fsck.\n" -msgstr "Tùy chá»n “-t†không được há»— trợ trong phiên bản e2fsck này.\n" +msgstr "Tùy chá»n « -t » không được há»— trợ trong phiên bản e2fsck này.\n" -#: e2fsck/unix.c:859 e2fsck/unix.c:931 misc/tune2fs.c:811 misc/tune2fs.c:1100 -#: misc/tune2fs.c:1118 -#, c-format -msgid "Unable to resolve '%s'" -msgstr "Không thể quyết định “%sâ€" - -#: e2fsck/unix.c:910 +#: e2fsck/unix.c:801 msgid "The -n and -D options are incompatible." -msgstr "Hai tùy chá»n “-n†và “-D†không tÆ°Æ¡ng thích vá»›i nhau." +msgstr "Hai tùy chá»n « -n » và « -D » không tÆ°Æ¡ng thích vá»›i nhau." -#: e2fsck/unix.c:915 +#: e2fsck/unix.c:806 msgid "The -n and -c options are incompatible." -msgstr "Hai tùy chá»n “-n†và “-c†không tÆ°Æ¡ng thích vá»›i nhau." +msgstr "Hai tùy chá»n « -n » và « -c » không tÆ°Æ¡ng thích vá»›i nhau." -#: e2fsck/unix.c:920 +#: e2fsck/unix.c:811 msgid "The -n and -l/-L options are incompatible." -msgstr "Hai tùy chá»n “-n†và “-l/-L†không tÆ°Æ¡ng thích vá»›i nhau." +msgstr "Hai tùy chá»n « -n » và « -l/-L » không tÆ°Æ¡ng thích vá»›i nhau." + +#: e2fsck/unix.c:822 misc/tune2fs.c:550 misc/tune2fs.c:835 misc/tune2fs.c:853 +#, c-format +msgid "Unable to resolve '%s'" +msgstr "Không thể quyết định « %s »" -#: e2fsck/unix.c:974 +#: e2fsck/unix.c:851 #, c-format msgid "The -c and the -l/-L options may not be both used at the same time.\n" -msgstr "Không cho phép sá»­ dụng đồng thá»i cả hai tùy chá»n “--c†và “--l/Lâ€.\n" +msgstr "Không cho phép sá»­ dụng đồng thá»i cả hai tùy chá»n « --c » và « --l/L ».\n" -#: e2fsck/unix.c:1022 +#: e2fsck/unix.c:899 #, c-format msgid "" "E2FSCK_JBD_DEBUG \"%s\" not an integer\n" "\n" msgstr "" -"E2FSCK_JBD_DEBUG “%s†không phải số nguyên\n" +"E2FSCK_JBD_DEBUG « %s » không phải số nguyên\n" "\n" -#: e2fsck/unix.c:1031 +#: e2fsck/unix.c:908 #, c-format msgid "" "\n" @@ -2912,69 +2742,47 @@ msgid "" "\n" msgstr "" "\n" -"Äối số không thuá»™c số không hợp lệ đối vá»›i -%c (“%sâ€)\n" +"Äối số không thuá»™c số không hợp lệ đối vá»›i -%c (« %s »)\n" "\n" -#: e2fsck/unix.c:1120 -#, c-format -msgid "MMP interval is %u seconds and total wait time is %u seconds. Please wait...\n" -msgstr "khoảng nhịp MMP là %u giây cá»™ng vá»›i tổng thá»i gian chá» là %u giây. Vui lòng chá»...\n" - -# Item in the main menu to select this package -#: e2fsck/unix.c:1137 e2fsck/unix.c:1142 -msgid "while checking MMP block" -msgstr "trong khi kiểm tra khối MMP" - -#: e2fsck/unix.c:1144 misc/tune2fs.c:1912 -msgid "" -"If you are sure the filesystem is not in use on any node, run:\n" -"'tune2fs -f -E clear_mmp {device}'\n" -msgstr "" -"Nếu bạn không chắc là hệ thống tập tin không Ä‘ang sá»­ dụng bất kỳ nút nào, chạy lệnh:\n" -"“tune2fs -f -E clear_mmp {thiết_bị}â€\n" - -#: e2fsck/unix.c:1194 +#: e2fsck/unix.c:982 #, c-format msgid "Error: ext2fs library version out of date!\n" msgstr "Lá»—i: phiên bản thÆ° viện ext2fs quá cÅ©.\n" -#: e2fsck/unix.c:1202 +#: e2fsck/unix.c:990 msgid "while trying to initialize program" -msgstr "trong khi cố khởi tạo chÆ°Æ¡ng trình" +msgstr "trong khi thá»­ sở khởi chÆ°Æ¡ng trình" -#: e2fsck/unix.c:1225 +#: e2fsck/unix.c:1001 #, c-format msgid "\tUsing %s, %s\n" msgstr "\tDùng %s, %s\n" -#: e2fsck/unix.c:1237 +#: e2fsck/unix.c:1013 msgid "need terminal for interactive repairs" -msgstr "cần thiết bị cuối để sá»­a chữa theo kiểu tÆ°Æ¡ng tác" +msgstr "cần thiết thiết bị cuối để sá»­a chữa tÆ°Æ¡ng tác" -#: e2fsck/unix.c:1290 +#: e2fsck/unix.c:1046 #, c-format msgid "%s: %s trying backup blocks...\n" -msgstr "%s: %s Ä‘ang thá»­ các khối dá»± trữ...\n" +msgstr "%s %s Ä‘ang thá»­ các khối dá»± trữ...\n" -#: e2fsck/unix.c:1292 +#: e2fsck/unix.c:1048 msgid "Superblock invalid," msgstr "Siêu khối không hợp lệ," -#: e2fsck/unix.c:1293 +#: e2fsck/unix.c:1049 msgid "Group descriptors look bad..." msgstr "Có vẻ là các mô tả nhóm sai..." -#: e2fsck/unix.c:1303 -#, c-format -msgid "%s: %s while using the backup blocks" -msgstr "%s: %s trong khi Ä‘á»c nút thông tin khối há»ng" - -#: e2fsck/unix.c:1307 +#: e2fsck/unix.c:1059 #, c-format msgid "%s: going back to original superblock\n" msgstr "%s: Ä‘ang trở vá» siêu khối gốc\n" -#: e2fsck/unix.c:1335 +#: e2fsck/unix.c:1086 +#, c-format msgid "" "The filesystem revision is apparently too high for this version of e2fsck.\n" "(Or the filesystem superblock is corrupt)\n" @@ -2984,96 +2792,118 @@ msgstr "" "(hoặc siêu khối hệ thống tập tin bị há»ng).\n" "\n" -#: e2fsck/unix.c:1341 +#: e2fsck/unix.c:1092 +#, c-format msgid "Could this be a zero-length partition?\n" msgstr "Phân vùng này có thể có Ä‘á»™ dài bằng không ?\n" -#: e2fsck/unix.c:1344 +#: e2fsck/unix.c:1094 #, c-format msgid "You must have %s access to the filesystem or be root\n" -msgstr "Bạn phải có quyá»n truy cập %s vào hệ thống tập tin, hoặc là ngÆ°á»i chủ (root)\n" +msgstr "" +"Bạn phải có quyá»n truy cập %s vào hệ thống tập tin, hoặc là ngÆ°á»i chủ " +"(root)\n" -#: e2fsck/unix.c:1349 +#: e2fsck/unix.c:1099 +#, c-format msgid "Possibly non-existent or swap device?\n" msgstr "Có thể là thiết bị không tồn tại, hoặc thiết bị trao đổi ?\n" -#: e2fsck/unix.c:1352 +#: e2fsck/unix.c:1101 +#, c-format msgid "Filesystem mounted or opened exclusively by another program?\n" -msgstr "Hệ thống tập tin đã được gắn kết hay mở hoàn toàn bởi chÆ°Æ¡ng trình khác ?\n" - -#: e2fsck/unix.c:1355 -msgid "Possibly non-existent device?\n" -msgstr "Có thể là thiết bị không tồn tại?\n" +msgstr "" +"Hệ thống tập tin đã được gắn kết hay mở hoàn toàn bởi chÆ°Æ¡ng trình khác ?\n" -#: e2fsck/unix.c:1358 +#: e2fsck/unix.c:1105 +#, c-format msgid "" "Disk write-protected; use the -n option to do a read-only\n" "check of the device.\n" msgstr "" -"ÄÄ©a bị chống ghi; hãy dùng tùy chá»n “-n†để chạy\n" +"ÄÄ©a bị chống ghi; hãy dùng tùy chá»n « -n » để chạy\n" "việc kiểm tra chỉ Ä‘á»c trên thiết bị đó.\n" -#: e2fsck/unix.c:1423 +#: e2fsck/unix.c:1169 msgid "Get a newer version of e2fsck!" -msgstr "Lấy phiên bản e2fsck má»›i hÆ¡n!" +msgstr "Lấy phiên bản e2fsck má»›i hÆ¡n." -#: e2fsck/unix.c:1467 +#: e2fsck/unix.c:1199 #, c-format msgid "while checking ext3 journal for %s" msgstr "trong khi kiểm tra nhật ký ext3 tìm %s" -#: e2fsck/unix.c:1478 -msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n" -msgstr "Cảnh báo: Ä‘ang bá» qua việc phục hồi nhật ký vì Ä‘ang kiểm tra hệ thống tập tin má»™t cách chỉ Ä‘á»c.\n" +#: e2fsck/unix.c:1210 +#, c-format +msgid "" +"Warning: skipping journal recovery because doing a read-only filesystem " +"check.\n" +msgstr "" +"Cảnh báo : Ä‘ang bá» qua việc phục hồi nhật ký vì Ä‘ang kiểm tra hệ thống tập " +"tin má»™t cách chỉ Ä‘á»c.\n" -#: e2fsck/unix.c:1491 +#: e2fsck/unix.c:1223 #, c-format msgid "unable to set superblock flags on %s\n" msgstr "không thể đặt cá» siêu khối trên %s\n" -#: e2fsck/unix.c:1497 +#: e2fsck/unix.c:1229 #, c-format msgid "while recovering ext3 journal of %s" msgstr "trong khi phục hồi nhật ký ext3 của %s" -#: e2fsck/unix.c:1521 +#: e2fsck/unix.c:1254 #, c-format msgid "%s has unsupported feature(s):" -msgstr "%s có tính năng không được há»— trợ:" +msgstr "%s có tính năng không được há»— trợ :" -#: e2fsck/unix.c:1536 -#, c-format -msgid "%s: warning: compression support is experimental.\n" -msgstr "%s: cảnh báo: sá»± há»— trợ khả năng nén là thá»±c nghiệm.\n" +#: e2fsck/unix.c:1270 +msgid "Warning: compression support is experimental.\n" +msgstr "Cảnh báo : sá»± há»— trợ khả năng nén là thá»±c nghiệm.\n" -#: e2fsck/unix.c:1542 +#: e2fsck/unix.c:1275 #, c-format msgid "" -"%s: e2fsck not compiled with HTREE support,\n" +"E2fsck not compiled with HTREE support,\n" "\tbut filesystem %s has HTREE directories.\n" msgstr "" -"%s: e2fsck không được biên dịch vá»›i khả năng há»— trợ HTREE,\n" -"\tnhÆ°ng hệ thống tập tin %s có thÆ° mục HTREE.\n" +"E2fsck không được biên dịch vá»›i khả năng há»— trợ HCÂY,\n" +"nhÆ°ng hệ thống tập tin %s có thÆ° mục HCÂY.\n" -#: e2fsck/unix.c:1594 -#, c-format -msgid "%s: %s while reading bad blocks inode\n" -msgstr "%s: %s trong khi Ä‘á»c nút thông tin khối há»ng\n" +#: e2fsck/unix.c:1328 +msgid "while reading bad blocks inode" +msgstr "trong khi Ä‘á»c nút thông tin khối sai" -#: e2fsck/unix.c:1597 +#: e2fsck/unix.c:1330 +#, c-format msgid "This doesn't bode well, but we'll try to go on...\n" -msgstr "Äây không phải báo trÆ°á»›c Ä‘iá»m hay, nhÆ°ng tiến trình này sẽ thá»­ tiếp tục...\n" +msgstr "" +"Äây không phải báo trÆ°á»›c Ä‘iá»m hay, nhÆ°ng tiến trình này sẽ thá»­ tiếp tục...\n" -#: e2fsck/unix.c:1638 +#: e2fsck/unix.c:1356 +msgid "Couldn't determine journal size" +msgstr "Không thể quyết định kích cỡ nhật ký" + +#: e2fsck/unix.c:1359 #, c-format msgid "Creating journal (%d blocks): " msgstr "Äang tạo nhật ký (%d khối): " -#: e2fsck/unix.c:1648 +#: e2fsck/unix.c:1366 misc/mke2fs.c:2248 +msgid "" +"\n" +"\twhile trying to create journal" +msgstr "" +"\n" +"trong khi thá»­ tạo nhật ký" + +#: e2fsck/unix.c:1369 +#, c-format msgid " Done.\n" -msgstr " Hoàn tất.\n" +msgstr " Hoàn tất\n" -#: e2fsck/unix.c:1649 +#: e2fsck/unix.c:1370 +#, c-format msgid "" "\n" "*** journal has been re-created - filesystem is now ext3 again ***\n" @@ -3081,24 +2911,25 @@ msgstr "" "\n" "••• nhật ký đã được tạo lại — hệ thống tập tin lúc này là ext3 lại •••\n" -#: e2fsck/unix.c:1672 +#: e2fsck/unix.c:1377 +#, c-format msgid "Restarting e2fsck from the beginning...\n" msgstr "Äang khởi chạy lại hoàn toàn e2fsck...\n" -#: e2fsck/unix.c:1676 +#: e2fsck/unix.c:1381 msgid "while resetting context" msgstr "trong khi đặt lại ngữ cảnh" -#: e2fsck/unix.c:1683 +#: e2fsck/unix.c:1388 #, c-format msgid "%s: e2fsck canceled.\n" -msgstr "%s: e2fsck bị hủy bá».\n" +msgstr "%s: e2fsck bị thôi.\n" -#: e2fsck/unix.c:1688 +#: e2fsck/unix.c:1393 msgid "aborted" msgstr "bị hủy bá»" -#: e2fsck/unix.c:1700 e2fsck/util.c:67 +#: e2fsck/unix.c:1405 #, c-format msgid "" "\n" @@ -3107,12 +2938,12 @@ msgstr "" "\n" "%s: ••••• HỆ THá»NG TẬP TIN BỊ SỬA Äá»”I •••••\n" -#: e2fsck/unix.c:1704 +#: e2fsck/unix.c:1408 #, c-format msgid "%s: ***** REBOOT LINUX *****\n" msgstr "%s: ••••• HÃY KHỞI ÄỘNG LẠI LINUX •••••\n" -#: e2fsck/unix.c:1712 e2fsck/util.c:73 +#: e2fsck/unix.c:1416 #, c-format msgid "" "\n" @@ -3120,46 +2951,46 @@ msgid "" "\n" msgstr "" "\n" -"%s: •••••••••• CẢNH BÃO: Hệ thống tập tin vẫn còn có lá»—i ••••••••••\n" +"%s: •••••••••• CẢNH BÃO : hệ thống tập tin vẫn còn có lá»—i ••••••••••\n" "\n" -#: e2fsck/unix.c:1752 +#: e2fsck/unix.c:1454 msgid "while setting block group checksum info" msgstr "trong khi đặt thông tin tổng kiểm nhóm khối" -#: e2fsck/util.c:190 misc/util.c:70 +#: e2fsck/util.c:138 misc/util.c:68 msgid "yY" -msgstr "cCyY" +msgstr "cC" -#: e2fsck/util.c:191 +#: e2fsck/util.c:139 msgid "nN" -msgstr "kKnN" +msgstr "kK" -#: e2fsck/util.c:205 +#: e2fsck/util.c:153 msgid "" msgstr "" -#: e2fsck/util.c:207 +#: e2fsck/util.c:155 msgid "" msgstr "" -#: e2fsck/util.c:209 +#: e2fsck/util.c:157 msgid " (y/n)" msgstr " (c/k)" -#: e2fsck/util.c:223 +#: e2fsck/util.c:172 msgid "cancelled!\n" -msgstr "đã hủy!\n" +msgstr "bị thôi !\n" -#: e2fsck/util.c:238 +#: e2fsck/util.c:187 msgid "yes\n" msgstr "có\n" -#: e2fsck/util.c:240 +#: e2fsck/util.c:189 msgid "no\n" msgstr "không\n" -#: e2fsck/util.c:250 +#: e2fsck/util.c:199 #, c-format msgid "" "%s? no\n" @@ -3168,7 +2999,7 @@ msgstr "" "%s? không\n" "\n" -#: e2fsck/util.c:254 +#: e2fsck/util.c:203 #, c-format msgid "" "%s? yes\n" @@ -3177,38 +3008,38 @@ msgstr "" "%s? có\n" "\n" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "yes" msgstr "có" -#: e2fsck/util.c:258 +#: e2fsck/util.c:207 msgid "no" msgstr "không" -#: e2fsck/util.c:273 +#: e2fsck/util.c:221 #, c-format msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s" msgstr "e2fsck_read_bitmaps: khối mảng ảnh cấm cho %s" -#: e2fsck/util.c:278 +#: e2fsck/util.c:226 msgid "reading inode and block bitmaps" msgstr "Ä‘ang Ä‘á»c mảng ảnh kiểu cả hai nút thông tin và khối" -#: e2fsck/util.c:286 +#: e2fsck/util.c:231 #, c-format msgid "while retrying to read bitmaps for %s" msgstr "trong khi thá»­ Ä‘á»c mảng ảnh cho %s" -#: e2fsck/util.c:298 +#: e2fsck/util.c:243 msgid "writing block and inode bitmaps" msgstr "Ä‘ang ghi các mảng ảnh kiểu khối và nút thông tin" -#: e2fsck/util.c:303 +#: e2fsck/util.c:248 #, c-format msgid "while rewriting block and inode bitmaps for %s" msgstr "trong khi ghi lại các mảng ảnh kiểu khối và nút thông tin cho %s" -#: e2fsck/util.c:315 +#: e2fsck/util.c:260 #, c-format msgid "" "\n" @@ -3218,147 +3049,144 @@ msgid "" msgstr "" "\n" "\n" -"%s: MÂU THUẪN BẤT THƯỜNG: HÃY Tá»° CHẠY fsck.\n" -"\t(tức là không có tùy chá»n “-a†hay “-pâ€).\n" +"%s: MÂU THUẪN BẤT THƯỜNG : HÃY Tá»° CHẠY fsck.\n" +"\t(tức là không có tùy chá»n « -a » hay « -p »).\n" -#: e2fsck/util.c:396 +#: e2fsck/util.c:341 #, c-format msgid "Memory used: %luk/%luk (%luk/%luk), " msgstr "Vùng nhá»› được dùng: %luk/%luk (%luk/%luk), " -#: e2fsck/util.c:400 +#: e2fsck/util.c:345 #, c-format msgid "Memory used: %lu, " msgstr "Vùng nhá»› được dùng: %lu, " -#: e2fsck/util.c:407 +#: e2fsck/util.c:352 #, c-format msgid "time: %5.2f/%5.2f/%5.2f\n" msgstr "thá»i gian: %5.2f/%5.2f/%5.2f\n" -#: e2fsck/util.c:412 +#: e2fsck/util.c:357 #, c-format msgid "elapsed time: %6.3f\n" msgstr "thá»i gian đã qua: %6.3f\n" -#: e2fsck/util.c:447 e2fsck/util.c:461 +#: e2fsck/util.c:391 e2fsck/util.c:405 #, c-format msgid "while reading inode %lu in %s" msgstr "trong khi Ä‘á»c nút thông tin %lu trong %s" -#: e2fsck/util.c:475 e2fsck/util.c:488 +#: e2fsck/util.c:419 e2fsck/util.c:432 #, c-format msgid "while writing inode %lu in %s" msgstr "trong khi ghi nút thông tin %lu trong %s" -#: e2fsck/util.c:637 +#: e2fsck/util.c:581 msgid "while allocating zeroizing buffer" msgstr "trong khi cấp phát bá»™ đếm làm số không" -#: e2fsck/util.c:785 -msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n" -msgstr "MÂU THUẪN: hệ thống tập tin Ä‘ang được sá»­a chữa trong khi lệnh fsck Ä‘ang chạy.\n" +#: misc/badblocks.c:66 +msgid "done \n" +msgstr "hoàn tất \n" -#: misc/badblocks.c:69 -msgid "done \n" -msgstr "hoàn tất \n" - -#: misc/badblocks.c:92 +#: misc/badblocks.c:89 #, c-format msgid "" "Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnf]\n" -" [-c blocks_at_once] [-d delay_factor_between_reads] [-e max_bad_blocks]\n" +" [-c blocks_at_once] [-d delay_factor_between_reads] [-e " +"max_bad_blocks]\n" " [-p num_passes] [-t test_pattern [-t test_pattern [...]]]\n" " device [last_block [first_block]]\n" msgstr "" -"Cách dùng: %s [-b cỡ_khối] [-i tập_tin_nhập] [-o tập_tin_xuất] [-svwnf]\n" +"Sá»­ dụng: %s [-b cỡ_khối] [-i tập_tin_nhập] [-o tập_tin_xuất] [-svwnf]\n" " [-c số_khối_cùng_lúc] [-d hệ_số_đợi_Ä‘á»c] [-e số_tối_Ä‘a_khối_xấu]\n" " [-p số_lần_qua] [-t mẫu_thá»­ [-t mẫu_thá»­ [...]]]\n" " thiết_bị [khối_cuối [khối_đầu]]\n" -#: misc/badblocks.c:103 +#: misc/badblocks.c:100 #, c-format msgid "" "%s: The -n and -w options are mutually exclusive.\n" "\n" msgstr "" -"%s: hai tùy chá»n “-n†và “-w†loại từ lẫn nhau.\n" +"%s: hai tùy chá»n « -n » và « -w » loại từ lẫn nhau.\n" "\n" -#: misc/badblocks.c:218 +#: misc/badblocks.c:202 #, c-format -msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)" -msgstr "%6.2f%% hoàn tất, %s đã trôi qua. (%d/%d/%d lá»—i)" +msgid "%6.2f%% done, %s elapsed" +msgstr "%6.2f%% hoàn tất, %s đã trôi qua" -#: misc/badblocks.c:322 +#: misc/badblocks.c:293 msgid "Testing with random pattern: " msgstr "Äang thá»­ ra bằng mẫu ngẫu nhiên: " -#: misc/badblocks.c:340 +#: misc/badblocks.c:311 msgid "Testing with pattern 0x" msgstr "Äang thá»­ ra bằng mẫu 0x" -#: misc/badblocks.c:372 misc/badblocks.c:445 +#: misc/badblocks.c:339 misc/badblocks.c:408 msgid "during seek" -msgstr "trong khi di chuyển vị trí" +msgstr "trong khi tìm nÆ¡i" -#: misc/badblocks.c:383 +#: misc/badblocks.c:350 #, c-format msgid "Weird value (%ld) in do_read\n" -msgstr "Giá trị lạ (%ld) trong việc Ä‘á»c “do_readâ€\n" +msgstr "Giá trị lạ (%ld) trong việc Ä‘á»c « do_read »\n" -#: misc/badblocks.c:469 +#: misc/badblocks.c:428 msgid "during ext2fs_sync_device" -msgstr "trong khi đồng bá»™ hoá thiết bị “ext2fs_sync_deviceâ€" +msgstr "trong khi đồng bá»™ hoá thiết bị « ext2fs_sync_device »" -#: misc/badblocks.c:489 misc/badblocks.c:749 +#: misc/badblocks.c:447 misc/badblocks.c:711 msgid "while beginning bad block list iteration" msgstr "trong khi bắt đầu lặp lại danh sách các khối sai" -#: misc/badblocks.c:503 misc/badblocks.c:602 misc/badblocks.c:759 +#: misc/badblocks.c:461 misc/badblocks.c:563 misc/badblocks.c:721 msgid "while allocating buffers" msgstr "trong khi cấp phát bá»™ đệm" -#: misc/badblocks.c:507 +#: misc/badblocks.c:465 #, c-format msgid "Checking blocks %lu to %lu\n" msgstr "Äang kiểm tra khối trong phạm vi %lu đến %lu\n" -#: misc/badblocks.c:512 +#: misc/badblocks.c:470 msgid "Checking for bad blocks in read-only mode\n" msgstr "Äang kiểm tra tìm khối sai trong chế Ä‘á»™ chỉ Ä‘á»c\n" -#: misc/badblocks.c:521 +#: misc/badblocks.c:479 msgid "Checking for bad blocks (read-only test): " msgstr "Äang kiểm tra tìm khối sai (thá»­ ra chỉ Ä‘á»c): " -#: misc/badblocks.c:528 misc/badblocks.c:634 misc/badblocks.c:676 -#: misc/badblocks.c:822 +#: misc/badblocks.c:487 misc/badblocks.c:595 misc/badblocks.c:640 +#: misc/badblocks.c:784 msgid "Too many bad blocks, aborting test\n" msgstr "Quá nhiá»u khối sai nên hủy bá» phép thá»­\n" -#: misc/badblocks.c:609 +#: misc/badblocks.c:570 msgid "Checking for bad blocks in read-write mode\n" msgstr "Äang kiểm tra tìm khối sai trong chế Ä‘á»™ Ä‘á»c-ghi\n" -#: misc/badblocks.c:611 misc/badblocks.c:772 +#: misc/badblocks.c:572 misc/badblocks.c:734 #, c-format msgid "From block %lu to %lu\n" -msgstr "Từ khối %lu đến %lu\n" +msgstr "Phạm vi khối %lu đến %lu\n" -#: misc/badblocks.c:666 +#: misc/badblocks.c:630 msgid "Reading and comparing: " msgstr "Äang Ä‘á»c và so sánh: " -#: misc/badblocks.c:771 +#: misc/badblocks.c:733 msgid "Checking for bad blocks in non-destructive read-write mode\n" msgstr "Äang kiểm tra tìm khối sai trong chế Ä‘á»™ Ä‘á»c-ghi không hủy\n" -#: misc/badblocks.c:777 +#: misc/badblocks.c:739 msgid "Checking for bad blocks (non-destructive read-write test)\n" msgstr "Äang kiểm tra tìm khối sai (thá»­ ra Ä‘á»c-ghi không hủy)\n" -#: misc/badblocks.c:784 +#: misc/badblocks.c:746 msgid "" "\n" "Interrupt caught, cleaning up\n" @@ -3366,196 +3194,184 @@ msgstr "" "\n" "Má»›i bắt tín hiệu ngắt nên làm sạch\n" -#: misc/badblocks.c:867 +#: misc/badblocks.c:822 #, c-format msgid "during test data write, block %lu" msgstr "trong khi thá»­ ra ghi dữ liệu, khối %lu" -#: misc/badblocks.c:988 misc/util.c:152 +#: misc/badblocks.c:933 misc/util.c:156 #, c-format msgid "%s is mounted; " -msgstr "%s đã được gắn kết; " +msgstr "%s đã gắn kết; " -#: misc/badblocks.c:990 +#: misc/badblocks.c:935 msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "" "tùy chá»n khối sai (badblocks) vẫn bị ép buá»™c.\n" -"Mong “/etc/mtab†không đúng.\n" +"Mong « /etc/mtab » không đúng.\n" -#: misc/badblocks.c:995 +#: misc/badblocks.c:940 msgid "it's not safe to run badblocks!\n" msgstr "Không an toàn khi chạy badblocks.\n" -#: misc/badblocks.c:1000 misc/util.c:163 +#: misc/badblocks.c:945 misc/util.c:167 #, c-format msgid "%s is apparently in use by the system; " -msgstr "Có vẻ là %s Ä‘ang được hệ thống dùng; " +msgstr "Có vẻ là %s Ä‘ang bị hệ thống dùng; " -#: misc/badblocks.c:1003 +#: misc/badblocks.c:948 msgid "badblocks forced anyway.\n" msgstr "vẫn ép buá»™c badblocks (khối sai).\n" -#: misc/badblocks.c:1023 +#: misc/badblocks.c:968 #, c-format msgid "invalid %s - %s" msgstr "%s không hợp lệ — %s" -#: misc/badblocks.c:1133 +#: misc/badblocks.c:1077 #, c-format msgid "can't allocate memory for test_pattern - %s" msgstr "không thể cấp phát bá»™ nhá»› cho mẫu thá»­ (test_pattern) — %s" -#: misc/badblocks.c:1163 +#: misc/badblocks.c:1104 msgid "Maximum of one test_pattern may be specified in read-only mode" -msgstr "Trong chế Ä‘á»™ chỉ Ä‘á»c, có thể chỉ ra tối Ä‘a má»™t mẫu thá»­ (test_pattern)" +msgstr "" +"Trong chế Ä‘á»™ chỉ Ä‘á»c, có thể xác định tối Ä‘a má»™t mẫu thá»­ (test_pattern)" -#: misc/badblocks.c:1169 +#: misc/badblocks.c:1110 msgid "Random test_pattern is not allowed in read-only mode" msgstr "Không cho phẹp mẫu thá»­ (test_pattern) ngẫu nhiên trong chế Ä‘á»™ chỉ Ä‘á»c" -#: misc/badblocks.c:1183 +#: misc/badblocks.c:1124 msgid "" "Couldn't determine device size; you must specify\n" "the size manually\n" msgstr "" -"Không thể phân giải kích cỡ của thiết bị;\n" -"bạn cần phải tá»± chỉ định kích cỡ đó.\n" +"Không thể quyết định kích cỡ của thiết bị;\n" +"bạn cần phải tá»± xác định kích cỡ đó.\n" -#: misc/badblocks.c:1189 +#: misc/badblocks.c:1130 msgid "while trying to determine device size" msgstr "trong khi thá»­ quyết định kích cỡ của thiết bị" -#: misc/badblocks.c:1194 +#: misc/badblocks.c:1135 msgid "last block" msgstr "khối cuối" -#: misc/badblocks.c:1200 +#: misc/badblocks.c:1141 msgid "first block" msgstr "khối đầu" -#: misc/badblocks.c:1203 +#: misc/badblocks.c:1144 #, c-format msgid "invalid starting block (%lu): must be less than %lu" msgstr "khối đầu không hợp lệ (%lu): phải nhá» hÆ¡n %lu" -#: misc/badblocks.c:1259 +#: misc/badblocks.c:1200 msgid "while creating in-memory bad blocks list" msgstr "trong khi tạo danh sách các khối há»ng trong bá»™ nhá»›" -#: misc/badblocks.c:1274 +#: misc/badblocks.c:1215 msgid "while adding to in-memory bad block list" msgstr "trong khi thêm vào danh sách các khối há»ng trong bá»™ nhá»›" -#: misc/badblocks.c:1298 +#: misc/badblocks.c:1239 #, c-format -msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n" -msgstr "Qua xong, tìm thấy %u khối sai. (%d/%d/%d errors)\n" +msgid "Pass completed, %u bad blocks found.\n" +msgstr "Qua xong, tìm thấy %u khối sai.\n" -#: misc/chattr.c:86 +#: misc/chattr.c:85 #, c-format -msgid "Usage: %s [-RVf] [-+=AaCcDdeijsSu] [-v version] files...\n" -msgstr "Cách dùng: %s [-RVf] [-+=AaCcDdeijsSu] [-v phiên_bản] tập_tin...\n" +msgid "Usage: %s [-RVf] [-+=AacDdeijsSu] [-v version] files...\n" +msgstr "Sá»­ dụng: %s [-RVf] [-+=AacDdeijsSu] [-v phiên_bản] tập_tin...\n" -#: misc/chattr.c:155 +#: misc/chattr.c:153 #, c-format msgid "bad version - %s\n" msgstr "phiên bản sai — %s\n" -#: misc/chattr.c:201 misc/lsattr.c:116 +#: misc/chattr.c:200 misc/lsattr.c:115 #, c-format msgid "while trying to stat %s" msgstr "trong khi thá»­ lấy các thông tin vá» %s" -#: misc/chattr.c:208 +#: misc/chattr.c:207 #, c-format msgid "while reading flags on %s" msgstr "trong khi Ä‘á»c các cá» trên %s" -#: misc/chattr.c:213 misc/chattr.c:225 +#: misc/chattr.c:216 misc/chattr.c:235 +#, c-format +msgid "Clearing extent flag not supported on %s" +msgstr "Chức năng xoá sạch cá» tầm không được há»— trợ trên %s" + +#: misc/chattr.c:221 misc/chattr.c:240 #, c-format msgid "Flags of %s set as " msgstr "Các cá» của %s đã đặt thành " -#: misc/chattr.c:234 +#: misc/chattr.c:249 #, c-format msgid "while setting flags on %s" msgstr "trong khi đặt các cá» trên %s" -#: misc/chattr.c:242 +#: misc/chattr.c:257 #, c-format msgid "Version of %s set as %lu\n" msgstr "Phiên bản %s được đặt thành %lu\n" -#: misc/chattr.c:246 +#: misc/chattr.c:261 #, c-format msgid "while setting version on %s" msgstr "trong khi đặt phiên bản trên %s" -#: misc/chattr.c:266 +#: misc/chattr.c:281 #, c-format msgid "Couldn't allocate path variable in chattr_dir_proc" msgstr "Không thể cấp phát biến Ä‘Æ°á»ng dẫn trong chattr_dir_proc" -#: misc/chattr.c:306 +#: misc/chattr.c:320 msgid "= is incompatible with - and +\n" -msgstr "= không tÆ°Æ¡ng thích vá»›i “-†và “+â€\n" +msgstr "= không tÆ°Æ¡ng thích vá»›i « - » và « + »\n" -#: misc/chattr.c:314 +#: misc/chattr.c:328 msgid "Must use '-v', =, - or +\n" -msgstr "Phải dùng “-vâ€, “=â€, “-†hay “+â€\n" +msgstr "Phải dùng « -v », « = », « - » hay « + »\n" -#: misc/dumpe2fs.c:55 +#: misc/dumpe2fs.c:53 #, c-format msgid "Usage: %s [-bfhixV] [-o superblock=] [-o blocksize=] device\n" -msgstr "Cách dùng: %s [-bfhixV] [-o siêu_khối=] [-o cỡ_khối=] thiết_bị\n" - -#: misc/dumpe2fs.c:159 -msgid "blocks" -msgstr "khối" +msgstr "Sá»­ dụng: %s [-bfhixV] [-o siêu_khối=] [-o cỡ_khối=] thiết_bị\n" #: misc/dumpe2fs.c:168 -msgid "clusters" -msgstr "liên cung" - -#: misc/dumpe2fs.c:196 #, c-format msgid "Group %lu: (Blocks " msgstr "Nhóm %lu: (Khối " -#: misc/dumpe2fs.c:204 -#, c-format -msgid " Checksum 0x%04x" -msgstr " Tổng kiểm 0x%04x" - -#: misc/dumpe2fs.c:206 -#, c-format -msgid " (EXPECTED 0x%04x)" -msgstr " (CẦN 0x%04x)" - -#: misc/dumpe2fs.c:207 +#: misc/dumpe2fs.c:173 #, c-format -msgid ", unused inodes %u\n" -msgstr ", nút không dùng %u\n" +msgid " Checksum 0x%04x, unused inodes %d\n" +msgstr " Tổng kiểm 0x%04x, Nút không dùng %d\n" -#: misc/dumpe2fs.c:212 +#: misc/dumpe2fs.c:178 #, c-format msgid " %s superblock at " msgstr " %s siêu khối tại " -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Primary" msgstr "Chính" -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Backup" msgstr "Sao lÆ°u" -#: misc/dumpe2fs.c:217 +#: misc/dumpe2fs.c:183 #, c-format msgid ", Group descriptors at " msgstr ", Mô tả nhóm tại " -#: misc/dumpe2fs.c:221 +#: misc/dumpe2fs.c:187 #, c-format msgid "" "\n" @@ -3564,20 +3380,20 @@ msgstr "" "\n" " Các khối GDT đã dành riêng tại " -#: misc/dumpe2fs.c:228 +#: misc/dumpe2fs.c:194 #, c-format msgid " Group descriptor at " msgstr " Mô tả nhóm tại " -#: misc/dumpe2fs.c:234 +#: misc/dumpe2fs.c:200 msgid " Block bitmap at " msgstr " Mảng ảnh khối tại " -#: misc/dumpe2fs.c:238 +#: misc/dumpe2fs.c:205 msgid ", Inode bitmap at " msgstr ", Mảng ảnh nút thông tin tại " -#: misc/dumpe2fs.c:242 +#: misc/dumpe2fs.c:210 msgid "" "\n" " Inode table at " @@ -3585,83 +3401,78 @@ msgstr "" "\n" " Bảng nút thông tin tại " -#: misc/dumpe2fs.c:248 +#: misc/dumpe2fs.c:217 #, c-format msgid "" "\n" -" %u free %s, %u free inodes, %u directories%s" +" %u free blocks, %u free inodes, %u directories%s" msgstr "" "\n" -" %u trống %s, %u nút rảnh, %u thÆ° mục%s" +" %u khối rảnh, %u nút rảnh, %u thÆ° mục%s" -#: misc/dumpe2fs.c:255 +#: misc/dumpe2fs.c:224 #, c-format msgid ", %u unused inodes\n" msgstr ", %u nút không dùng\n" -#: misc/dumpe2fs.c:258 +#: misc/dumpe2fs.c:227 msgid " Free blocks: " msgstr " Khối rảnh: " -#: misc/dumpe2fs.c:269 +#: misc/dumpe2fs.c:237 msgid " Free inodes: " msgstr " Nút rảnh: " -#: misc/dumpe2fs.c:300 +#: misc/dumpe2fs.c:268 msgid "while printing bad block list" msgstr "trong khi in ra danh sách các khối sai" -#: misc/dumpe2fs.c:306 +#: misc/dumpe2fs.c:274 #, c-format msgid "Bad blocks: %u" msgstr "Khối sai: %u" -#: misc/dumpe2fs.c:333 misc/tune2fs.c:306 +#: misc/dumpe2fs.c:301 misc/tune2fs.c:281 msgid "while reading journal inode" msgstr "trong khi Ä‘á»c nút thông tin nhật ký" -#: misc/dumpe2fs.c:339 +#: misc/dumpe2fs.c:307 msgid "while opening journal inode" msgstr "trong khi mở nút thông tin nhật ký" -#: misc/dumpe2fs.c:345 +#: misc/dumpe2fs.c:313 msgid "while reading journal super block" msgstr "trong khi Ä‘á»c siêu khối nhật ký" -#: misc/dumpe2fs.c:355 +#: misc/dumpe2fs.c:323 #, c-format msgid "Journal features: " -msgstr "Tính năng nhật ký: " +msgstr "Tính năng nhật ký: " -#: misc/dumpe2fs.c:368 +#: misc/dumpe2fs.c:336 msgid "Journal size: " -msgstr "Kích cỡ nhật ký: " +msgstr "Kích cỡ nhật ký: " -#: misc/dumpe2fs.c:379 +#: misc/dumpe2fs.c:347 #, c-format msgid "" "Journal length: %u\n" "Journal sequence: 0x%08x\n" "Journal start: %u\n" msgstr "" -"Chiá»u dài nhật ký: %u\n" -"Dãy nhật ký: 0x%08x\n" -"Äầu nhật ký: %u\n" - -#: misc/dumpe2fs.c:386 -#, c-format -msgid "Journal errno: %d\n" -msgstr "Lá»—i Journal: %d\n" +"Chiá»u dài nhật ký: %u\n" +"Dãy nhật ký: 0x%08x\n" +"Äầu nhật ký: %u\n" -#: misc/dumpe2fs.c:401 misc/tune2fs.c:222 +#: misc/dumpe2fs.c:366 misc/tune2fs.c:202 msgid "while reading journal superblock" msgstr "trong khi Ä‘á»c siêu khối nhật ký" -#: misc/dumpe2fs.c:409 +#: misc/dumpe2fs.c:374 msgid "Couldn't find journal superblock magic numbers" msgstr "Không tìm thấy các số ma thuật siêu khối nhật ký" -#: misc/dumpe2fs.c:413 +#: misc/dumpe2fs.c:378 #, c-format msgid "" "\n" @@ -3673,34 +3484,34 @@ msgid "" "Journal number of users: %u\n" msgstr "" "\n" -"Kích cỡ khối nhật ký: %u\n" -"Äá»™ dài nhật ký: %u\n" -"Khối đầu nhật ký: %u\n" -"Dãy nhật ký: 0x%08x\n" -"Äầu nhật ký: %u\n" -"Số ngÆ°á»i dùng nhật ký: %u\n" +"Kích cỡ khối nhật ký: \t%u\n" +"Äá»™ dài nhật ký: \t\t%u\n" +"Khối đầu nhật ký: \t\t%u\n" +"Dãy nhật ký: \t\t\t0x%08x\n" +"Äầu nhật ký: \t\t%u\n" +"Số ngÆ°á»i dùng nhật ký: \t%u\n" -#: misc/dumpe2fs.c:426 +#: misc/dumpe2fs.c:391 #, c-format msgid "Journal users: %s\n" -msgstr "NgÆ°á»i dùng nhật ký: %s\n" +msgstr "NgÆ°á»i dùng nhật ký: %s\n" -#: misc/dumpe2fs.c:442 misc/mke2fs.c:666 misc/tune2fs.c:1137 +#: misc/dumpe2fs.c:407 misc/mke2fs.c:699 misc/tune2fs.c:872 #, c-format msgid "Couldn't allocate memory to parse options!\n" -msgstr "Không thể cấp phát bá»™ nhá»› để phân tách tùy chá»n!\n" +msgstr "Không thể cấp phát bá»™ nhá»› để phân tách tùy chá»n !\n" -#: misc/dumpe2fs.c:468 +#: misc/dumpe2fs.c:433 #, c-format msgid "Invalid superblock parameter: %s\n" msgstr "Tham số siêu khối không hợp lệ: %s\n" -#: misc/dumpe2fs.c:483 +#: misc/dumpe2fs.c:448 #, c-format msgid "Invalid blocksize parameter: %s\n" msgstr "Tham số kích cỡ khối không hợp lệ: %s\n" -#: misc/dumpe2fs.c:494 +#: misc/dumpe2fs.c:459 #, c-format msgid "" "\n" @@ -3714,27 +3525,27 @@ msgid "" "\tblocksize=\n" msgstr "" "\n" -"Chỉ ra tùy chá»n mở rá»™ng sai: %s\n" +"Sai xác định tùy chá»n đã mở rá»™ng: %s\n" "\n" "Các tùy chá»n đã mở rá»™ng cÅ©ng định giá»›i bằng dấu phẩy, có thể chấp nhận\n" -"đối số được ngụ ý vá»›i dấu bằng “=â€.\n" +"đối số được ngụ ý vá»›i dấu bằng « = ».\n" "\n" "Tùy chá»n đã mở rá»™ng hợp lệ:\n" "\tsuperblock=\n" "\tblocksize=\n" -#: misc/dumpe2fs.c:554 misc/mke2fs.c:1555 +#: misc/dumpe2fs.c:518 misc/mke2fs.c:1406 #, c-format msgid "\tUsing %s\n" msgstr "\tDùng %s\n" -#: misc/dumpe2fs.c:590 misc/e2image.c:1326 misc/tune2fs.c:1923 -#: resize/main.c:317 +#: misc/dumpe2fs.c:554 misc/e2image.c:681 misc/tune2fs.c:1576 +#: resize/main.c:312 #, c-format msgid "Couldn't find valid filesystem superblock.\n" msgstr "Không tìm thấy siêu khối hệ thống tập tin hợp lệ.\n" -#: misc/dumpe2fs.c:618 +#: misc/dumpe2fs.c:579 #, c-format msgid "" "\n" @@ -3743,91 +3554,86 @@ msgstr "" "\n" "%s: %s: gặp lá»—i khi Ä‘á»c mảng ảnh: %s\n" -#: misc/e2image.c:90 +#: misc/e2image.c:52 #, c-format -msgid "Usage: %s [-rsIQa] device image_file\n" -msgstr "Cách dùng: %s [-rsIQa] thiết_bị tập_tin_ảnh\n" +msgid "Usage: %s [-rsI] device image_file\n" +msgstr "Sá»­ dụng: %s [-rsI] thiết_bị tập_tin_ảnh\n" -#: misc/e2image.c:138 -#, c-format -msgid "Error: header size is bigger than wrt_size\n" -msgstr "Lá»—i: kích thÆ°á»›c phần đầu lá»›n hÆ¡n wrt_size\n" - -#: misc/e2image.c:144 +#: misc/e2image.c:64 msgid "Couldn't allocate header buffer\n" msgstr "Không thể cấp phát bá»™ đệm phần đầu\n" -#: misc/e2image.c:174 +#: misc/e2image.c:83 +#, c-format +msgid "short write (only %d bytes) for writing image header" +msgstr "ghi ngắn (chỉ %d byte) để ghi phần đầu ảnh" + +#: misc/e2image.c:102 msgid "while writing superblock" msgstr "trong khi ghi siêu khối" -#: misc/e2image.c:182 +#: misc/e2image.c:110 msgid "while writing inode table" msgstr "trong khi ghi bảng nút thông tin" -#: misc/e2image.c:189 +#: misc/e2image.c:117 msgid "while writing block bitmap" msgstr "trong khi ghi mảng ảnh khối" -#: misc/e2image.c:196 +#: misc/e2image.c:124 msgid "while writing inode bitmap" msgstr "trong khi ghi mảng ảnh nút thông tin" -#: misc/e2image.c:1365 -#, c-format -msgid "while trying to convert qcow2 image (%s) into raw image (%s)" -msgstr "khi thá»­ chuyển đổi ảnh qcow2 (%s) thành dạng ảnh thô (%s)" - -#: misc/e2label.c:58 +#: misc/e2label.c:57 #, c-format msgid "e2label: cannot open %s\n" msgstr "e2label: không thể mở %s\n" -#: misc/e2label.c:63 +#: misc/e2label.c:62 #, c-format msgid "e2label: cannot seek to superblock\n" -msgstr "e2label: không thể di chuyển đầu Ä‘á»c vị trí siêu khối\n" +msgstr "e2label: không thể tìm nÆ¡i tá»›i siêu khối\n" -#: misc/e2label.c:68 +#: misc/e2label.c:67 #, c-format msgid "e2label: error reading superblock\n" msgstr "e2label: gặp lá»—i khi Ä‘á»c siêu khối\n" -#: misc/e2label.c:72 +#: misc/e2label.c:71 #, c-format msgid "e2label: not an ext2 filesystem\n" msgstr "e2label: không phải hệ thống tập tin kiểu ext2\n" -#: misc/e2label.c:97 misc/tune2fs.c:2080 +#: misc/e2label.c:96 misc/tune2fs.c:1711 #, c-format msgid "Warning: label too long, truncating.\n" -msgstr "Cảnh báo: nhãn quá dài nên cắt ngắn.\n" +msgstr "Cảnh báo : nhãn quá dài nên cắt ngắn.\n" -#: misc/e2label.c:100 +#: misc/e2label.c:99 #, c-format msgid "e2label: cannot seek to superblock again\n" -msgstr "e2label: không thể di chuyển đầu Ä‘á»c để lấy lại siêu khối\n" +msgstr "e2label: không thể tìm nÆ¡i lại tá»›i siêu khối\n" -#: misc/e2label.c:105 +#: misc/e2label.c:104 #, c-format msgid "e2label: error writing superblock\n" msgstr "e2label: gặp lá»—i khi ghi siêu khối\n" -#: misc/e2label.c:117 misc/tune2fs.c:803 +#: misc/e2label.c:116 misc/tune2fs.c:542 #, c-format msgid "Usage: e2label device [newlabel]\n" -msgstr "Cách dùng: e2label thiết_bị [nhãn_má»›i]\n" +msgstr "Sá»­ dụng: e2label thiết_bị [nhãn_má»›i]\n" -#: misc/e2undo.c:36 +#: misc/e2undo.c:35 #, c-format msgid "Usage: %s \n" -msgstr "Cách dùng: %s \n" +msgstr "Sá»­ dụng: %s \n" #: misc/e2undo.c:52 msgid "Failed to read the file system data \n" msgstr "Lá»—i Ä‘á»c dữ liệu hệ thống tập tin \n" -#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:206 +#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:205 #, c-format msgid "Failed tdb_fetch %s\n" msgstr "Lá»—i tdb_fetch %s\n" @@ -3841,31 +3647,31 @@ msgstr "Giá» gắn kết hệ thống tập tin không tÆ°Æ¡ng ứng vá»›i %u\n msgid "The file system UUID didn't match \n" msgstr "UUID hệ thống tập tin không tÆ°Æ¡ng ứng \n" -#: misc/e2undo.c:163 +#: misc/e2undo.c:162 #, c-format msgid "Failed tdb_open %s\n" msgstr "Lá»—i tdb_open %s\n" -#: misc/e2undo.c:169 +#: misc/e2undo.c:168 #, c-format msgid "Error while determining whether %s is mounted.\n" msgstr "Gặp lá»—i trong khi quyết định nếu %s đã gắn kết chÆ°a.\n" -#: misc/e2undo.c:175 +#: misc/e2undo.c:174 msgid "e2undo should only be run on unmounted file system\n" msgstr "e2undo chỉ nên chạy trên má»™t hệ thống tập tin chÆ°a gắn kết\n" -#: misc/e2undo.c:184 +#: misc/e2undo.c:183 #, c-format msgid "Failed to open %s\n" msgstr "Lá»—i mở %s\n" -#: misc/e2undo.c:210 +#: misc/e2undo.c:209 #, c-format -msgid "Replayed transaction of size %zd at location %llu\n" -msgstr "Äã chạy lại giao dịch có kích cỡ %zd ở vị trí %llu\n" +msgid "Replayed transaction of size %zd at location %ld\n" +msgstr "Äã chạy lại giao dịch có kích cỡ %zd ở vị trí %ld\n" -#: misc/e2undo.c:216 +#: misc/e2undo.c:215 #, c-format msgid "Failed write %s\n" msgstr "Lá»—i ghi %s\n" @@ -3873,399 +3679,373 @@ msgstr "Lá»—i ghi %s\n" #: misc/fsck.c:343 #, c-format msgid "WARNING: couldn't open %s: %s\n" -msgstr "CẢNH BÃO: không thể mở %s: %s\n" +msgstr "CẢNH BÃO : không thể mở %s: %s\n" #: misc/fsck.c:353 #, c-format msgid "WARNING: bad format on line %d of %s\n" -msgstr "CẢNH BÃO: gặp định dạng sai trên dòng %d trên %s\n" +msgstr "CẢNH BÃO : gặp định dạng sai trên dòng %d trên %s\n" -#: misc/fsck.c:370 +#: misc/fsck.c:368 msgid "" -"WARNING: Your /etc/fstab does not contain the fsck passno\n" +"\a\a\aWARNING: Your /etc/fstab does not contain the fsck passno\n" "\tfield. I will kludge around things for you, but you\n" "\tshould fix your /etc/fstab file as soon as you can.\n" "\n" msgstr "" -"CẢNH BÃO: /etc/fstab của bạn không chứa trÆ°á»ng fsck passno.\n" -"\tMáy tính sẽ Ä‘iá»u chỉnh tạm thá»i cho bạn, nhÆ°ng bạn nên sá»­a chữa\n" -"\ttập tin /etc/fstab càng sá»›m càng càng tốt.\n" +"\a\a\aCẢNH BÃO : « /etc/fstab » của bạn không chứa trÆ°á»ng\n" +"\tpassno fsck. Trình này sẽ làm quấy quá trÆ°á»ng hợp này, nhÆ°ng\n" +"\tbạn nên sá»­a chữa tập tin « /etc/fstab » càng sá»›m càng có thể.\n" "\n" -#: misc/fsck.c:478 +#: misc/fsck.c:477 #, c-format msgid "fsck: %s: not found\n" msgstr "fsck: %s: không tìm thấy\n" -#: misc/fsck.c:594 +#: misc/fsck.c:593 #, c-format msgid "%s: wait: No more child process?!?\n" msgstr "%s: đợi: không có tiến trình con nữa ?!?\n" -#: misc/fsck.c:616 +#: misc/fsck.c:615 #, c-format msgid "Warning... %s for device %s exited with signal %d.\n" msgstr "Cảnh báo... %s cho thiết bị %s đã thoát vá»›i tín hiệu %d.\n" -#: misc/fsck.c:622 +#: misc/fsck.c:621 #, c-format msgid "%s %s: status is %x, should never happen.\n" msgstr "%s %s: trạng thái là %x, không bao giá» nên xảy ra.\n" -#: misc/fsck.c:661 +#: misc/fsck.c:660 #, c-format msgid "Finished with %s (exit status %d)\n" msgstr "%s hoàn tất (trạng thái thoát %d)\n" -#: misc/fsck.c:721 +#: misc/fsck.c:720 #, c-format msgid "%s: Error %d while executing fsck.%s for %s\n" msgstr "%s: Gặp lá»—i %d trong khi thá»±c hiện fsck.%s cho %s\n" -#: misc/fsck.c:742 +#: misc/fsck.c:741 msgid "" "Either all or none of the filesystem types passed to -t must be prefixed\n" "with 'no' or '!'.\n" msgstr "" "Hoặc tất cả hoặc không có kiểu hệ thống tập tin được gá»­i qua\n" -"cho tùy chá»n “-t†phải có tiá»n tố “no†hay “!â€.\n" +"cho tùy chá»n « -t » phải có tiá»n tố « no » hay « ! ».\n" -#: misc/fsck.c:761 +#: misc/fsck.c:760 msgid "Couldn't allocate memory for filesystem types\n" msgstr "Không thể cấp phát bá»™ nhá»› cho kiểu hế thống tập tin\n" -#: misc/fsck.c:884 +#: misc/fsck.c:883 #, c-format -msgid "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass number\n" -msgstr "%s: Ä‘ang bá» qua dòng sai trong “/etc/fstabâ€: đóng kết lắp vá»›i số gá»­i qua fsck khác số không\n" +msgid "" +"%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass " +"number\n" +msgstr "" +"%s: Ä‘ang bá» qua dòng sai trong « /etc/fstab »: đóng kết lắp vá»›i số gá»­i qua " +"fsck khác số không\n" -#: misc/fsck.c:911 +#: misc/fsck.c:910 #, c-format msgid "fsck: cannot check %s: fsck.%s not found\n" msgstr "fsck: không thể kiểm tra %s: fsck.%s không tìm thấy\n" -#: misc/fsck.c:967 +#: misc/fsck.c:966 msgid "Checking all file systems.\n" msgstr "Äang kiểm tra má»i hệ thống tập tin.\n" -#: misc/fsck.c:1058 +#: misc/fsck.c:1057 #, c-format msgid "--waiting-- (pass %d)\n" msgstr "--Ä‘ang đợi-- (lần qua %d)\n" -#: misc/fsck.c:1078 -msgid "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" +#: misc/fsck.c:1077 +msgid "" +"Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" msgstr "" -"Cách dùng: fsck [-AMNPRTV] [ -C [ fd ] ] [-t kiểu_HTT] [fs-options] [HTT ...]\n" +"Sá»­ dụng: fsck [-AMNPRTV] [ -C [ fd ] ] [-t kiểu_HTT] [fs-options] [HTT ...]\n" "\n" "HTT: hệ thống tập tin\n" -#: misc/fsck.c:1120 +#: misc/fsck.c:1119 #, c-format msgid "%s: too many devices\n" msgstr "%s: quá nhiá»u thiết bị\n" -#: misc/fsck.c:1153 misc/fsck.c:1239 +#: misc/fsck.c:1152 misc/fsck.c:1238 #, c-format msgid "%s: too many arguments\n" msgstr "%s: quá nhiá»u đối số\n" -#: misc/lsattr.c:74 +#: misc/lsattr.c:73 #, c-format msgid "Usage: %s [-RVadlv] [files...]\n" -msgstr "Cách dùng: %s [-RVadlv] [tập_tin...]\n" +msgstr "Sá»­ dụng: %s [-RVadlv] [tập_tin...]\n" -#: misc/lsattr.c:84 +#: misc/lsattr.c:83 #, c-format msgid "While reading flags on %s" msgstr "Trong khi Ä‘á»c các cá» trên %s" -#: misc/lsattr.c:91 +#: misc/lsattr.c:90 #, c-format msgid "While reading version on %s" msgstr "Trong khi Ä‘á»c phiên bản trên %s" -#: misc/mke2fs.c:116 +#: misc/mke2fs.c:108 #, c-format msgid "" -"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n" +"Usage: %s [-c|-l filename] [-b block-size] [-f fragment-size]\n" "\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n" -"\t[-G flex-group-size] [-N number-of-inodes]\n" +"\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n" "\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n" -"\t[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-count]\n" +"\t[-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]\n" msgstr "" -"Cách dùng: %s [-c|-l tên_tập_tin] [-b cỡ_khối] [-C cỡ_liên_cung]\n" +"Sá»­ dụng: %s [-c|-l tên_tập_tin] [-b cỡ_khối] [-f cỡ_Ä‘oạn]\n" "\t[-i byte_má»—i_inode] [-I cỡ_inode] [-J tùy_chá»n_nhật_ký]\n" -"\t[-G cỡ_nhóm-flex] [-N số_lượng_inode]\n" -"\t [-m phần_trăm_khối_dành_riêng] [-o HÄH_tạo]\n" -"\t[-g số-khối_má»—i_nhóm] [-L nhãn_khối_tin] [-M thÆ°_mục_lắp_cuối]\n" -"\t[-O tính_năng[,...]] [-r bản_sá»­a_đổi_HTT] [-E tùy_chá»n_mở_rá»™ng[,...]]\n" -"\t [-t kiểu_HTTT] [-T kiểu-dùng ] [-U UUID] [-jnqvDFKSV] thiết_bị [số_lượng_khối]\n" -"Từ viết tắt:\n" -"\tHDH: hệ Ä‘iá»u hành\n" -"\tHTTT: hệ thống tập tin\n" +"\t[-G cỡ_siêu_nhóm] [-N số_các_inode] [-m phần_trăm_khối_dành_riêng]\n" +"\t[-o HÄH_tạo] [-g khối_má»—i_nhóm] [-L nhãn_khối_tin]\n" +"\t[-M thÆ°_mục_lắp_cuối] [-O tính_năng[,...]] [-r bản_sá»­a_đổi_HTT]\n" +"\t[-E tùy_chá»n_mở_rá»™ng] [-T kiểu_HTT] [-U UUID]\n" +"\t[-jnqvFKSV] thiết_bị [số_đếm_khối]\n" +"\n" +"HÄH: hệ Ä‘iá»u hành\n" +"HTT: hệ thống tập tin\n" -#: misc/mke2fs.c:221 +#: misc/mke2fs.c:210 #, c-format msgid "Running command: %s\n" msgstr "Äang chạy lệnh: %s\n" -#: misc/mke2fs.c:225 +#: misc/mke2fs.c:214 #, c-format msgid "while trying to run '%s'" -msgstr "trong khi thá»­ chạy “%sâ€" +msgstr "trong khi thá»­ chạy « %s »" -#: misc/mke2fs.c:232 +#: misc/mke2fs.c:221 msgid "while processing list of bad blocks from program" msgstr "trong khi xá»­ lý danh sách các khối sai từ chÆ°Æ¡ng trình" -#: misc/mke2fs.c:259 +#: misc/mke2fs.c:248 #, c-format msgid "Block %d in primary superblock/group descriptor area bad.\n" msgstr "Khối %d sai trong vùng mô tả nhóm/siêu khối chính.\n" -#: misc/mke2fs.c:261 +#: misc/mke2fs.c:250 #, c-format msgid "Blocks %u through %u must be good in order to build a filesystem.\n" msgstr "" "Các khối trong phạm vi %u đến %u phải là tốt\n" "để xây dá»±ng được hệ thống tập tin.\n" -#: misc/mke2fs.c:264 +#: misc/mke2fs.c:253 msgid "Aborting....\n" msgstr "Äang hủy bá»...\n" -#: misc/mke2fs.c:284 +#: misc/mke2fs.c:273 #, c-format msgid "" "Warning: the backup superblock/group descriptors at block %u contain\n" "\tbad blocks.\n" "\n" msgstr "" -"Cảnh báo: các mô tả nhóm/siêu khối dá»± trữ tại khối %u chứa khối sai.\n" +"Cảnh báo : các mô tả nhóm/siêu khối dá»± trữ tại khối %u chứa khối sai.\n" "\n" -#: misc/mke2fs.c:303 +#: misc/mke2fs.c:292 msgid "while marking bad blocks as used" msgstr "trong khi đánh dấu các khối sai đã được dùng" -#: misc/mke2fs.c:320 +#: misc/mke2fs.c:350 +msgid "done \n" +msgstr "hoàn tất \n" + +#: misc/mke2fs.c:364 msgid "Writing inode tables: " msgstr "Äang ghi các bảng nút thông tin: " -#: misc/mke2fs.c:341 +#: misc/mke2fs.c:387 #, c-format msgid "" "\n" -"Could not write %d blocks in inode table starting at %llu: %s\n" +"Could not write %d blocks in inode table starting at %u: %s\n" msgstr "" "\n" -"Không thể ghi %d khối trong bảng nút thông tin, bắt đầu tại %llu: %s\n" - -#: misc/mke2fs.c:355 misc/mke2fs.c:2257 misc/mke2fs.c:2512 -#, c-format -msgid "done \n" -msgstr "hoàn tất \n" +"Không thể ghi %d khối trong bảng nút thông tin, bắt đầu tại %u: %s\n" -#: misc/mke2fs.c:366 +#: misc/mke2fs.c:411 msgid "while creating root dir" msgstr "trong khi tạo thÆ° mục gốc" -#: misc/mke2fs.c:373 +#: misc/mke2fs.c:418 msgid "while reading root inode" msgstr "trong khi Ä‘á»c nút thông tin gốc" -#: misc/mke2fs.c:385 +#: misc/mke2fs.c:432 msgid "while setting root inode ownership" msgstr "trong khi đặt quyá»n sở hữu nút thông tin gốc" -#: misc/mke2fs.c:403 +#: misc/mke2fs.c:450 msgid "while creating /lost+found" msgstr "trong khi tạo /mất+tìm" -#: misc/mke2fs.c:410 +#: misc/mke2fs.c:457 msgid "while looking up /lost+found" msgstr "trong khi tra tìm /mất+tìm" -#: misc/mke2fs.c:423 +#: misc/mke2fs.c:470 msgid "while expanding /lost+found" msgstr "trong khi mở rá»™ng /mất+tìm" -#: misc/mke2fs.c:438 +#: misc/mke2fs.c:485 msgid "while setting bad block inode" msgstr "trong khi đặt nút thông tin khối sai" -#: misc/mke2fs.c:465 +#: misc/mke2fs.c:512 #, c-format msgid "Out of memory erasing sectors %d-%d\n" msgstr "Hết bá»™ nhá»› nên xoá các rãnh ghi trong phạm vi %d đến %d\n" -#: misc/mke2fs.c:475 +#: misc/mke2fs.c:522 #, c-format msgid "Warning: could not read block 0: %s\n" -msgstr "Cảnh báo: không thể Ä‘á»c khối 0: %s\n" +msgstr "Cảnh báo : không thể Ä‘á»c khối 0: %s\n" -#: misc/mke2fs.c:491 +#: misc/mke2fs.c:538 #, c-format msgid "Warning: could not erase sector %d: %s\n" -msgstr "Cảnh báo: không thể xoá rãnh ghi %d: %s\n" +msgstr "Cảnh báo : không thể xoá rãnh ghi %d: %s\n" -#: misc/mke2fs.c:507 +#: misc/mke2fs.c:554 msgid "while initializing journal superblock" -msgstr "trong khi khởi tạo siêu khối nhật ký" +msgstr "trong khi sở khởi siêu khối nhật ký" -#: misc/mke2fs.c:515 +#: misc/mke2fs.c:560 msgid "Zeroing journal device: " msgstr "Äang làm số không thiết bị nhật ký: " -#: misc/mke2fs.c:527 +#: misc/mke2fs.c:573 #, c-format -msgid "while zeroing journal device (block %llu, count %d)" -msgstr "trong khi làm số không thiết bị nhật ký (khối %llu, số lượng %d)" +msgid "while zeroing journal device (block %u, count %d)" +msgstr "trong khi làm số không thiết bị nhật ký (khối %u, số đếm %d)" -#: misc/mke2fs.c:545 +#: misc/mke2fs.c:589 msgid "while writing journal superblock" msgstr "trong khi ghi siêu khối nhật ký" -#: misc/mke2fs.c:560 +#: misc/mke2fs.c:605 #, c-format msgid "" -"warning: %llu blocks unused.\n" +"warning: %u blocks unused.\n" "\n" msgstr "" -"cảnh báo: %llu khối chÆ°a dùng.\n" +"cảnh báo : %u khối chÆ°a dùng.\n" "\n" -#: misc/mke2fs.c:565 +#: misc/mke2fs.c:610 #, c-format msgid "Filesystem label=%s\n" msgstr "Nhãn hệ thống tập tin=%s\n" -#: misc/mke2fs.c:568 -#, c-format -msgid "OS type: %s\n" -msgstr "Kiểu HÄH: %s\n" +#: misc/mke2fs.c:611 +msgid "OS type: " +msgstr "Kiểu HÄH: " -#: misc/mke2fs.c:570 +#: misc/mke2fs.c:616 #, c-format msgid "Block size=%u (log=%u)\n" msgstr "Cỡ khối=%u (bản ghi=%u)\n" -#: misc/mke2fs.c:574 -#, c-format -msgid "Cluster size=%u (log=%u)\n" -msgstr "Cỡ liên cung=%u (bản ghi=%u)\n" - -#: misc/mke2fs.c:578 +#: misc/mke2fs.c:618 #, c-format msgid "Fragment size=%u (log=%u)\n" msgstr "Cỡ Ä‘oạn=%u (bản ghi=%u)\n" -#: misc/mke2fs.c:580 +#: misc/mke2fs.c:620 #, c-format msgid "Stride=%u blocks, Stripe width=%u blocks\n" msgstr "BÆ°á»›c=%u khối, Äá»™ rá»™ng sá»c=%u khối\n" -#: misc/mke2fs.c:582 +#: misc/mke2fs.c:622 #, c-format -msgid "%u inodes, %llu blocks\n" -msgstr "%u nút thông tin, %llu khối\n" +msgid "%u inodes, %u blocks\n" +msgstr "%u nút thông tin, %u khối\n" -#: misc/mke2fs.c:584 +#: misc/mke2fs.c:624 #, c-format -msgid "%llu blocks (%2.2f%%) reserved for the super user\n" -msgstr "%llu khối (%2.2f%%) được dành riêng cho siêu ngÆ°á»i dùng\n" +msgid "%u blocks (%2.2f%%) reserved for the super user\n" +msgstr "%u khối (%2.2f%%) được dành riêng cho siêu ngÆ°á»i dùng\n" -#: misc/mke2fs.c:587 +#: misc/mke2fs.c:627 #, c-format msgid "First data block=%u\n" msgstr "Khối dữ liệu đầu=%u\n" -#: misc/mke2fs.c:589 -#, c-format -msgid "Root directory owner=%u:%u\n" -msgstr "Chủ sở hữu thÆ°-mục gốc=%u:%u\n" - -#: misc/mke2fs.c:591 +#: misc/mke2fs.c:629 #, c-format msgid "Maximum filesystem blocks=%lu\n" msgstr "Khối hệ thống tập tin tối Ä‘a=%lu\n" -#: misc/mke2fs.c:595 +#: misc/mke2fs.c:633 #, c-format msgid "%u block groups\n" msgstr "%u nhóm khối\n" -#: misc/mke2fs.c:597 +#: misc/mke2fs.c:635 #, c-format msgid "%u block group\n" msgstr "%u nhóm khối\n" -#: misc/mke2fs.c:600 -#, c-format -msgid "%u blocks per group, %u clusters per group\n" -msgstr "%u khối trên má»—i nhóm, %u liên cung trên má»—i nhóm\n" - -#: misc/mke2fs.c:603 +#: misc/mke2fs.c:636 #, c-format msgid "%u blocks per group, %u fragments per group\n" msgstr "%u khối trên má»—i nhóm, %u Ä‘oạn trên má»—i nhóm\n" -#: misc/mke2fs.c:605 +#: misc/mke2fs.c:638 #, c-format msgid "%u inodes per group\n" msgstr "%u nút thông tin trên má»—i nhóm\n" -#: misc/mke2fs.c:612 +#: misc/mke2fs.c:645 #, c-format msgid "Superblock backups stored on blocks: " msgstr "Siêu khối dá»± trữ được cất giữ trên khối: " -#: misc/mke2fs.c:691 misc/tune2fs.c:1165 -#, c-format -msgid "Invalid mmp_update_interval: %s\n" -msgstr "mmp_update_interval không hợp lệ: %s\n" - -#: misc/mke2fs.c:705 +#: misc/mke2fs.c:724 #, c-format msgid "Invalid stride parameter: %s\n" msgstr "Tham số stride không hợp lệ: %s\n" -#: misc/mke2fs.c:720 +#: misc/mke2fs.c:739 #, c-format msgid "Invalid stripe-width parameter: %s\n" msgstr "Tham số stride không hợp lệ: %s\n" -#: misc/mke2fs.c:743 +#: misc/mke2fs.c:761 #, c-format msgid "Invalid resize parameter: %s\n" msgstr "Tham số thay đổi kích cỡ không hợp lệ: %s\n" -#: misc/mke2fs.c:750 +#: misc/mke2fs.c:768 #, c-format msgid "The resize maximum must be greater than the filesystem size.\n" -msgstr "Số thay đổi kích cỡ tối Ä‘a phải lá»›n hÆ¡n kích cỡ của hệ thống tập tin.\n" +msgstr "" +"Số thay đổi kích cỡ tối Ä‘a phải lá»›n hÆ¡n kích cỡ của hệ thống tập tin.\n" -#: misc/mke2fs.c:774 +#: misc/mke2fs.c:792 #, c-format msgid "On-line resizing not supported with revision 0 filesystems\n" msgstr "" "Tính năng thay đổi kích cỡ má»™t cách trá»±c tuyến không được há»— trợ\n" "trên hệ thống tập tin bản sá»­a đổi 0\n" -#: misc/mke2fs.c:801 misc/mke2fs.c:810 -#, c-format -msgid "Invalid root_owner: '%s'\n" -msgstr "root_owner không hợp lệ: %s\n" - -#: misc/mke2fs.c:835 -#, c-format -msgid "Invalid quotatype parameter: %s\n" -msgstr "Tham số kiểu hạn ngạch không hợp lệ: %s\n" - -#: misc/mke2fs.c:846 +#: misc/mke2fs.c:814 #, c-format msgid "" "\n" @@ -4279,36 +4059,24 @@ msgid "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" -"\tlazy_journal_init=<0 to disable, 1 to enable>\n" -"\troot_uid=\n" -"\troot_gid=\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" msgstr "" "\n" -"Tùy chá»n đã cho không đúng: %s\n" +"Sai xác định tùy chá»n: %s\n" "\n" -"Các tùy chá»n mở rá»™ng được ngăn cách bằng dấu phẩy, có thể chấp nhận\n" -"\tđối số được gán bằng dấu bằng (“=â€..\n" +"Các tùy chá»n đã mở rá»™ng cÅ©ng định giá»›i bằng dấu phẩy, có thể chấp nhận\n" +"đối số được ngụ ý vá»›i dấu bằng « = ».\n" "\n" -"Tùy chá»n mở rá»™ng hợp lệ:\n" +"Tùy chá»n đã mở rá»™ng hợp lệ:\n" "\tstride=<Ä‘oạn dữ liệu RAID má»—i Ä‘Ä©a theo khối>\n" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 để tắt, 1 để bật>\n" -"\tlazy_journal_init=<0 để tắt, 1 để bật>\n" -"\troot_uid=\n" -"\troot_gid=\n" "\ttest_fs\n" -"\tdiscard\n" -"gốc\tnodiscard\n" -"\tquotatype=\n" "\n" -#: misc/mke2fs.c:868 +#: misc/mke2fs.c:830 #, c-format msgid "" "\n" @@ -4316,10 +4084,11 @@ msgid "" "\n" msgstr "" "\n" -"Cảnh báo: chiá»u rá»™ng sá»c (stripe-width) RAID %u không phải là má»™t bá»™i số dÆ°Æ¡ng của %u.\n" +"Cảnh báo : chiá»u rá»™ng sá»c (stripe-width) RAID %u không phải là má»™t bá»™i số " +"dÆ°Æ¡ng của %u.\n" "\n" -#: misc/mke2fs.c:907 +#: misc/mke2fs.c:862 #, c-format msgid "" "Syntax error in mke2fs config file (%s, line #%d)\n" @@ -4328,176 +4097,156 @@ msgstr "" "Gặp lá»—i cú pháp trong tập tin cấu hình mke2fs (%s, dòng số %d)\n" "\t%s\n" -#: misc/mke2fs.c:920 misc/tune2fs.c:398 +#: misc/mke2fs.c:875 misc/tune2fs.c:355 #, c-format msgid "Invalid filesystem option set: %s\n" msgstr "Äặt tùy chá»n hệ thống tập tin không hợp lệ: %s\n" -#: misc/mke2fs.c:932 misc/tune2fs.c:349 -#, c-format -msgid "Invalid mount option set: %s\n" -msgstr "Äặt tùy chá»n lắp không hợp lệ: %s\n" - -#: misc/mke2fs.c:1072 +#: misc/mke2fs.c:985 #, c-format msgid "" "\n" -"Your mke2fs.conf file does not define the %s filesystem type.\n" +"Warning! Your mke2fs.conf file does not define the %s filesystem type.\n" msgstr "" "\n" -"Tập tin “mke2fs.conf†của bạn không định nghÄ©a kiểu hệ thống tập tin %s.\n" +"Cảnh báo ! Tập tin « mke2fs.conf » của bạn không xác định kiểu hệ thống tập " +"tin %s.\n" -#: misc/mke2fs.c:1076 +#: misc/mke2fs.c:988 #, c-format msgid "" "You probably need to install an updated mke2fs.conf file.\n" "\n" msgstr "" -"Rất có thể là bạn cần phải cài đặt má»™t tập tin “mke2fs.conf†má»›i.\n" -"\n" - -#: misc/mke2fs.c:1080 -#, c-format -msgid "Aborting...\n" -msgstr "Äang hủy bá»...\n" - -#: misc/mke2fs.c:1120 -#, c-format -msgid "" -"\n" -"Warning: the fs_type %s is not defined in mke2fs.conf\n" -"\n" -msgstr "" +"Rất có thể là bạn cần phải cài đặt má»™t tập tin « mke2fs.conf » má»›i.\n" "\n" -"Cảnh báo: fs_type %s không được định nghÄ©a trong mke2fs.conf\n" -"\n" - -#: misc/mke2fs.c:1276 -#, c-format -msgid "Couldn't allocate memory for new PATH.\n" -msgstr "Không thể cấp phát bá»™ nhá»› cho ÄƯỜNG-DẪN\n" - -#: misc/mke2fs.c:1317 -#, c-format -msgid "Couldn't init profile successfully (error: %ld).\n" -msgstr "Không thể khởi tạo profile thành công (lá»—i: %ld).\n" -#: misc/mke2fs.c:1357 +#: misc/mke2fs.c:1224 #, c-format msgid "invalid block size - %s" msgstr "cỡ khối không hợp lệ — %s" -#: misc/mke2fs.c:1361 +#: misc/mke2fs.c:1228 #, c-format msgid "Warning: blocksize %d not usable on most systems.\n" -msgstr "Cảnh báo: kích cỡ khối %d vô ích trên phần lá»›n hệ thống.\n" +msgstr "Cảnh báo : kích cỡ khối %d vô ích trên phần lá»›n hệ thống.\n" -#: misc/mke2fs.c:1377 +#: misc/mke2fs.c:1244 #, c-format -msgid "invalid cluster size - %s" -msgstr "cỡ liên cung không hợp lệ — %s" +msgid "invalid fragment size - %s" +msgstr "cỡ Ä‘oạn không hợp lệ — %s" -#: misc/mke2fs.c:1387 -msgid "'-R' is deprecated, use '-E' instead" -msgstr "“-R†không dùng nữa, hãy thay bằng “-Eâ€" +#: misc/mke2fs.c:1250 +#, c-format +msgid "Warning: fragments not supported. Ignoring -f option\n" +msgstr "Cảnh báo : không há»— trợ Ä‘oạn nên bá» qua tùy chá»n « -f »\n" -#: misc/mke2fs.c:1399 +#: misc/mke2fs.c:1257 msgid "Illegal number for blocks per group" msgstr "Số cấm cho số khối trên má»—i nhóm" -#: misc/mke2fs.c:1404 +#: misc/mke2fs.c:1262 msgid "blocks per group must be multiple of 8" msgstr "số khối trên má»—i nhóm phải là bá»™i số cho 8" -#: misc/mke2fs.c:1412 +#: misc/mke2fs.c:1270 msgid "Illegal number for flex_bg size" msgstr "Kích cỡ flex_bg có số không được phép" -#: misc/mke2fs.c:1418 +#: misc/mke2fs.c:1276 msgid "flex_bg size must be a power of 2" msgstr "Kích cỡ flex_bg phải là lÅ©y thừa 2" -#: misc/mke2fs.c:1428 +#: misc/mke2fs.c:1286 #, c-format msgid "invalid inode ratio %s (min %d/max %d)" msgstr "tá»· lệ nút thông tin không hợp lệ %s (thiểu %d/Ä‘a %d)" -#: misc/mke2fs.c:1438 -#, c-format -msgid "invalid inode size - %s" -msgstr "kích cỡ nút thông tin không hợp lệ — %s" - -#: misc/mke2fs.c:1450 -#, c-format -msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n" -msgstr "Cảnh báo: tuỳ chá»n -K không được tán thành và có lẽ không còn bao giỠđược sá»­ dụng nữa. Sá»­ dụng tuỳ chá»n mở rá»™ng “-E nodiscard†để thay thế!\n" - -#: misc/mke2fs.c:1460 +#: misc/mke2fs.c:1306 msgid "in malloc for bad_blocks_filename" msgstr "" "trong hàm cấp phát bá»™ nhá»› malloc cho tên tập tin khối sai\n" -"“bad_blocks_filenameâ€" +"« bad_blocks_filename »" -#: misc/mke2fs.c:1473 +#: misc/mke2fs.c:1316 #, c-format msgid "invalid reserved blocks percent - %s" msgstr "phần trăm khối được dành riêng không hợp lệ — %s" -#: misc/mke2fs.c:1488 -#, c-format -msgid "bad num inodes - %s" -msgstr "số (num) nút thông tin sai — %s" - -#: misc/mke2fs.c:1505 +#: misc/mke2fs.c:1334 #, c-format msgid "bad revision level - %s" msgstr "cấp bản sá»­a đổi sai — %s" -#: misc/mke2fs.c:1519 -msgid "The -t option may only be used once" -msgstr "tùy chá»n -t chỉ sá»­ dụng má»™t lần" +#: misc/mke2fs.c:1346 +#, c-format +msgid "invalid inode size - %s" +msgstr "kích cỡ nút thông tin không hợp lệ — %s" -#: misc/mke2fs.c:1527 -msgid "The -T option may only be used once" -msgstr "Tùy chá»n -T chỉ sá»­ dụng má»™t lần" +#: misc/mke2fs.c:1366 +#, c-format +msgid "bad num inodes - %s" +msgstr "số (num) nút thông tin sai — %s" -#: misc/mke2fs.c:1580 misc/mke2fs.c:2591 +#: misc/mke2fs.c:1431 misc/mke2fs.c:2203 #, c-format msgid "while trying to open journal device %s\n" msgstr "trong khi thá»­ mở thiết bị nhật ký %s\n" -#: misc/mke2fs.c:1586 +#: misc/mke2fs.c:1437 #, c-format msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n" msgstr "Kích cỡ của thiết bị nhật ký (%d) nhá» hÆ¡n kích cỡ tối thiểu %d\n" -#: misc/mke2fs.c:1592 +#: misc/mke2fs.c:1443 #, c-format msgid "Using journal device's blocksize: %d\n" msgstr "Äang dùng kích cỡ khối của thiết bị nhật ký: %d\n" -#: misc/mke2fs.c:1603 +#: misc/mke2fs.c:1452 +#, c-format +msgid "%d-byte blocks too big for system (max %d)" +msgstr "Khối %d-byte quá lá»›n đối vá»›i hệ thống (tối Ä‘a %d)" + +#: misc/mke2fs.c:1456 +#, c-format +msgid "" +"Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +msgstr "" +"Cảnh báo : khối %d-byte quá lá»›n đối vá»›i hệ thống (tối Ä‘a %d)\n" +"nên bị buá»™c tiếp tục\n" + +#: misc/mke2fs.c:1464 #, c-format -msgid "invalid blocks '%s' on device '%s'" -msgstr "khối “%s†sai trên thiết bị “%sâ€" +msgid "invalid blocks count - %s" +msgstr "số đếm khối không hợp lệ — %s" -#: misc/mke2fs.c:1613 +#: misc/mke2fs.c:1474 msgid "filesystem" msgstr "hệ thống tập tin" -#: misc/mke2fs.c:1626 resize/main.c:367 +#: misc/mke2fs.c:1510 +#, c-format +msgid "" +"%s: Size of device %s too big to be expressed in 32 bits\n" +"\tusing a blocksize of %d.\n" +msgstr "" +"%s: thiết bị %s có kích cỡ quá lá»›n để đại diện theo 32 bit\n" +"\tdùng kích cỡ khối %d.\n" + +#: misc/mke2fs.c:1519 resize/main.c:382 msgid "while trying to determine filesystem size" msgstr "trong khi thá»­ quyết định kích cỡ của hệ thống tập tin" -#: misc/mke2fs.c:1632 +#: misc/mke2fs.c:1526 msgid "" "Couldn't determine device size; you must specify\n" "the size of the filesystem\n" msgstr "" -"Không thể phân giải kích cỡ của thiết bị;\n" -"bạn cần phải chỉ định kích cỡ của hệ thống tập tin\n" +"Không thể quyết định kích cỡ của thiết bị;\n" +"bạn cần phải xác định kích cỡ của hệ thống tập tin\n" -#: misc/mke2fs.c:1639 +#: misc/mke2fs.c:1533 msgid "" "Device size reported to be zero. Invalid partition specified, or\n" "\tpartition table wasn't reread after running fdisk, due to\n" @@ -4505,193 +4254,148 @@ msgid "" "\tto re-read your partition table.\n" msgstr "" "Kích cỡ của thiết bị được thông báo là số không.\n" -"\tPhân vùng không hợp lệ được Ä‘Æ°a ra,\n" +"\tPhân vùng không hợp lệ được xác định,\n" "\thoặc bảng phân vùng không được Ä‘á»c lại\n" "\tsau khi chạy tiến trình fdisk,\n" "\tdo phân vùng đã sá»­a đổi Ä‘ang bận và Ä‘ang được dùng.\n" "Có lẽ bạn cần phải khởi Ä‘á»™ng lại máy để Ä‘á»c lại bảng phân vùng.\n" -#: misc/mke2fs.c:1656 +#: misc/mke2fs.c:1551 msgid "Filesystem larger than apparent device size." msgstr "Hệ thống tập tin lá»›n hÆ¡n kích cỡ thiết bị biểu kiến." -#: misc/mke2fs.c:1676 +#: misc/mke2fs.c:1557 #, c-format msgid "Failed to parse fs types list\n" msgstr "Lá»—i phân tích danh sách các kiểu hệ thống tập tin\n" -#: misc/mke2fs.c:1730 -#, 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 "" -"%s: thiết bị (0x%llx blocks) %s có kích cỡ quá lá»›n để biểu diá»…n theo 32 bit\n" -"\tdùng kích cỡ khối của %d.\n" - -#: misc/mke2fs.c:1746 +#: misc/mke2fs.c:1591 msgid "fs_types for mke2fs.conf resolution: " msgstr "fs_types để giải quyết mke2fs.conf: " -#: misc/mke2fs.c:1753 +#: misc/mke2fs.c:1598 #, c-format msgid "Filesystem features not supported with revision 0 filesystems\n" msgstr "" "Tính năng hệ thống tập tin không được há»— trợ trên hệ thống tập tin\n" "bản sá»­a đổi 0\n" -#: misc/mke2fs.c:1760 +#: misc/mke2fs.c:1605 #, c-format msgid "Sparse superblocks not supported with revision 0 filesystems\n" msgstr "" "Tính năng siêu khối thÆ°a thá»›t không được há»— trợ\n" "trên hệ thống tập tin bản sá»­a đổi 0\n" -#: misc/mke2fs.c:1772 +#: misc/mke2fs.c:1617 #, c-format msgid "Journals not supported with revision 0 filesystems\n" msgstr "" "Tính năng nhật ký không được há»— trợ trên hệ thống tập tin\n" "bản sá»­a đổi 0\n" -#: misc/mke2fs.c:1786 -#, c-format -msgid "invalid reserved blocks percent - %lf" -msgstr "phần trăm khối được dành riêng không hợp lệ -%lf" - -#: misc/mke2fs.c:1802 +#: misc/mke2fs.c:1635 #, c-format msgid "" "The resize_inode and meta_bg features are not compatible.\n" "They can not be both enabled simultaneously.\n" msgstr "" -"Hai tính năng thay đổi kích cỡ nút (resize_inode) và siêu ná»n (meta_bg) không tÆ°Æ¡ng thích vá»›i nhau.\n" +"Hai tính năng thay đổi kích cỡ nút (resize_inode) và siêu ná»n (meta_bg) " +"không tÆ°Æ¡ng thích vá»›i nhau.\n" "Do đó không thể hiệu lá»±c đồng thá»i cả hai.\n" -#: misc/mke2fs.c:1819 +#: misc/mke2fs.c:1652 msgid "while trying to determine hardware sector size" msgstr "trong khi thá»­ quyết định kích cỡ của rãnh ghi phần cứng" -#: misc/mke2fs.c:1825 +#: misc/mke2fs.c:1658 +#, fuzzy msgid "while trying to determine physical sector size" -msgstr "trong khi thá»­ quyết định kích cỡ của rãnh ghi vật lý" +msgstr "trong khi thá»­ quyết định kích cỡ của rãnh ghi phần cứng" -#: misc/mke2fs.c:1858 +#: misc/mke2fs.c:1687 +#, fuzzy msgid "while setting blocksize; too small for device\n" -msgstr "trong khi lập kích cỡ khối ; quá nhỠđối vá»›i thiết bị\n" - -#: misc/mke2fs.c:1863 -#, c-format -msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n" -msgstr "Cảnh báo: kích cỡ khối %d đã ghi rõ vẫn nhá» hÆ¡n kích cỡ rãnh ghi vật lý của thiết bị %d\n" - -#: misc/mke2fs.c:1881 -msgid "The cluster size may not be smaller than the block size.\n" -msgstr "Kích thÆ°á»›c liên cung không thể nhá» hÆ¡n kích cỡ khối.\n" +msgstr "trong khi đặt thông tin tổng kiểm nhóm khối" -#: misc/mke2fs.c:1887 -msgid "specifying a cluster size requires the bigalloc feature" -msgstr "chỉ định kích thÆ°á»›c liên cung cần đặc tính bigalloc" +#: misc/mke2fs.c:1691 +#, fuzzy, c-format +msgid "" +"Warning: specified blocksize %d is less than device physical sectorsize %d, " +"forced to continue\n" +msgstr "" +"Cảnh báo : khối %d-byte quá lá»›n đối vá»›i hệ thống (tối Ä‘a %d)\n" +"nên bị buá»™c tiếp tục\n" -#: misc/mke2fs.c:1906 +#: misc/mke2fs.c:1712 #, c-format msgid "warning: Unable to get device geometry for %s\n" -msgstr "cảnh báo: không thể lấy dạng hình thiết bị cho %s\n" +msgstr "cảnh báo : không thể lấy dạng hình thiết bị cho %s\n" -#: misc/mke2fs.c:1909 +#: misc/mke2fs.c:1715 #, c-format msgid "%s alignment is offset by %lu bytes.\n" msgstr "Khoảng sắp hàng %s bị bù theo %lu byte.\n" -#: misc/mke2fs.c:1911 -#, c-format -msgid "This may result in very poor performance, (re)-partitioning suggested.\n" -msgstr "TrÆ°á»ng hợp này có thể gây ra hiệu suất rất yếu thì khuyên bạn phân vùng (lại).\n" - -#: misc/mke2fs.c:1930 +#: misc/mke2fs.c:1717 #, c-format -msgid "%d-byte blocks too big for system (max %d)" -msgstr "Khối %d-byte quá lá»›n đối vá»›i hệ thống (tối Ä‘a %d)" +msgid "" +"This may result in very poor performance, (re)-partitioning suggested.\n" +msgstr "" +"TrÆ°á»ng hợp này có thể gây ra hiệu suất rất yếu thì khuyên bạn phân vùng " +"(lại).\n" -#: misc/mke2fs.c:1934 -#, c-format -msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +#: misc/mke2fs.c:1745 +msgid "reserved online resize blocks not supported on non-sparse filesystem" msgstr "" -"Cảnh báo: khối %d-byte quá lá»›n đối vá»›i hệ thống (tối Ä‘a %d)\n" -"nên bị buá»™c tiếp tục\n" +"khối thay đổi kích cỡ trá»±c tuyến được dành riêng không được há»— trợ\n" +"trên hệ thống tập tin không thÆ°a thá»›t" -#: misc/mke2fs.c:1968 -msgid "Can't support bigalloc feature without extents feature" -msgstr "Không thể há»— trợ đặc tính bigalloc mà không có phần mở " - -#: misc/mke2fs.c:1975 -#, c-format -msgid "" -"\n" -"Warning: the bigalloc feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Bigalloc for more information\n" -"\n" -msgstr "" -"\n" -"Cảnh báo: đặc tính phân-bổ-lá»›n vẫn Ä‘ang trong quá trình phát triển\n" -"Xem https://ext4.wiki.kernel.org/index.php/Bigalloc để biết chi tiết\n" -"\n" - -#: misc/mke2fs.c:1982 misc/tune2fs.c:740 -#, c-format -msgid "" -"\n" -"Warning: the quota feature is still under development\n" -"See https://ext4.wiki.kernel.org/index.php/Quota for more information\n" -"\n" -msgstr "" -"\n" -"Cảnh báo: đặc tính hạn ngạch vẫn Ä‘ang trong quá trình phát triển\n" -"Xem https://ext4.wiki.kernel.org/index.php/Quota để biết chi tiết\n" -"\n" - -#: misc/mke2fs.c:1993 -msgid "reserved online resize blocks not supported on non-sparse filesystem" -msgstr "" -"khối thay đổi kích cỡ trá»±c tuyến được dành riêng không được há»— trợ\n" -"trên hệ thống tập tin không thÆ°a thá»›t" - -#: misc/mke2fs.c:2002 +#: misc/mke2fs.c:1754 msgid "blocks per group count out of range" msgstr "số khối trên má»—i nhóm ở ngoài phạm vi" -#: misc/mke2fs.c:2026 +#: misc/mke2fs.c:1769 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" msgstr "ChÆ°a hiệu lá»±c tính năng Flex_bg thì không thể ghi rõ kích cỡ Flex_bg" -#: misc/mke2fs.c:2038 +#: misc/mke2fs.c:1781 #, c-format msgid "invalid inode size %d (min %d/max %d)" msgstr "kích cỡ nút thông tin không hợp lệ %d (thiểu %d/Ä‘a %d)" -#: misc/mke2fs.c:2056 +#: misc/mke2fs.c:1795 #, c-format msgid "too many inodes (%llu), raise inode ratio?" msgstr "quá nhiá»u nút thông tin (%llu), tăng tá»· lệ nút thông tin không?" -#: misc/mke2fs.c:2063 +#: misc/mke2fs.c:1800 #, c-format msgid "too many inodes (%llu), specify < 2^32 inodes" -msgstr "quá nhiá»u nút thông tin (%llu), chỉ ra <2³² nút thông tin" +msgstr "quá nhiá»u nút thông tin (%llu), xác định <2³² nút thông tin" -#: misc/mke2fs.c:2077 +#: misc/mke2fs.c:1815 #, c-format msgid "" "inode_size (%u) * inodes_count (%u) too big for a\n" -"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n" +"\tfilesystem with %lu blocks, specify higher inode_ratio (-i)\n" "\tor lower inode count (-N).\n" msgstr "" -"cỡ_nút_thông_tin (%u) * số_lượng_nút_thông_tin (%u) quá lá»›n\n" -"\tcho hệ thống tập tin có %llu khối, hãy chỉ định\n" -"\ttá»·_lệ_nút_thông_tin (-i) cao hÆ¡n hay số lượng nút thông tin\n" +"cỡ_nút_thông_tin (%u) * số_đếm_nút_thông_tin (%u) quá lá»›n\n" +"\tcho hệ thống tập tin có %lu khối, hãy xác định\n" +"\ttá»·_lệ_nút_thông_tin (-i) cao hÆ¡n cho số đếm nút thông tin\n" "(-N) thấp hÆ¡n\n" -#: misc/mke2fs.c:2196 +#: misc/mke2fs.c:1908 misc/tune2fs.c:1494 +msgid "Couldn't allocate memory for tdb filename\n" +msgstr "Không thể cấp phát bá»™ nhá»› cho tên tập tin tdb\n" + +#: misc/mke2fs.c:1921 misc/tune2fs.c:1516 +#, c-format +msgid "while trying to delete %s" +msgstr "trong khi thá»­ xoá %s" + +#: misc/mke2fs.c:1931 #, c-format msgid "" "Overwriting existing filesystem; this can be undone using the command:\n" @@ -4702,69 +4406,54 @@ msgstr "" " e2undo %s %s\n" "\n" -#: misc/mke2fs.c:2210 -msgid "while trying to setup undo file\n" -msgstr "trong khi thá»­ cài đặt tập tin undo\n" +#: misc/mke2fs.c:1968 +#, c-format +msgid "Calling BLKDISCARD from %llu to %llu " +msgstr "Äang gá»i BLKDISCARD từ %llu đến %llu " -#: misc/mke2fs.c:2236 -msgid "Discarding device blocks: " -msgstr "Bá» qua khối thiết bị: " +#: misc/mke2fs.c:1972 +#, c-format +msgid "failed.\n" +msgstr "bị lá»—i.\n" -#: misc/mke2fs.c:2252 -msgid "failed - " -msgstr "gặp lá»—i - " +#: misc/mke2fs.c:1974 +#, c-format +msgid "succeeded.\n" +msgstr "đã thành công.\n" # Item in the main menu to select this package -#: misc/mke2fs.c:2360 +#: misc/mke2fs.c:2023 msgid "while setting up superblock" msgstr "trong khi thiết lập siêu khối" -#: misc/mke2fs.c:2369 -#, c-format -msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" -msgstr "Loại bá» thành công và sẽ trả vá» 0 - bá» qua xoá bảng nút\n" - -#: misc/mke2fs.c:2452 +#: misc/mke2fs.c:2087 #, c-format msgid "unknown os - %s" msgstr "hệ Ä‘iá»u hành lạ — %s" -#: misc/mke2fs.c:2504 -#, c-format -msgid "Allocating group tables: " -msgstr "Phân bổ bảng nhóm: " - -#: misc/mke2fs.c:2508 +#: misc/mke2fs.c:2141 msgid "while trying to allocate filesystem tables" msgstr "trong khi thá»­ cấp phát các bảng hệ thống tập tin" -#: misc/mke2fs.c:2517 -msgid "" -"\n" -"\twhile converting subcluster bitmap" -msgstr "" -"\n" -"\ttrong khi chuyển đổi mảng ảnh liên cung con" - -#: misc/mke2fs.c:2560 +#: misc/mke2fs.c:2172 #, c-format -msgid "while zeroing block %llu at end of filesystem" -msgstr "trong khi Ä‘iá»n số không khối %llu tại kết thúc của hệ thống tập tin" +msgid "while zeroing block %u at end of filesystem" +msgstr "trong khi làm số không khối %u tại kết thúc của hệ thống tập tin" -#: misc/mke2fs.c:2573 +#: misc/mke2fs.c:2185 msgid "while reserving blocks for online resize" msgstr "trong khi dành riêng các khối để thay đổi kích cỡ trá»±c tuyến" -#: misc/mke2fs.c:2584 misc/tune2fs.c:645 +#: misc/mke2fs.c:2196 misc/tune2fs.c:479 msgid "journal" msgstr "nhật ký" -#: misc/mke2fs.c:2596 +#: misc/mke2fs.c:2208 #, c-format msgid "Adding journal to device %s: " msgstr "Äang thêm nhật ký vào thiết bị %s: " -#: misc/mke2fs.c:2603 +#: misc/mke2fs.c:2215 #, c-format msgid "" "\n" @@ -4773,58 +4462,36 @@ msgstr "" "\n" "trong khi thá»­ thêm nhật ký vào thiết bị %s" -#: misc/mke2fs.c:2608 misc/mke2fs.c:2640 misc/tune2fs.c:674 misc/tune2fs.c:688 +#: misc/mke2fs.c:2220 misc/mke2fs.c:2252 misc/tune2fs.c:508 misc/tune2fs.c:522 #, c-format msgid "done\n" msgstr "hoàn tất\n" -#: misc/mke2fs.c:2617 +#: misc/mke2fs.c:2229 #, c-format msgid "Skipping journal creation in super-only mode\n" msgstr "Äang bá» qua bÆ°á»›c tạo nhật ký trong chế Ä‘á»™ chỉ siêu\n" -#: misc/mke2fs.c:2628 +#: misc/mke2fs.c:2240 #, c-format msgid "Creating journal (%u blocks): " msgstr "Äang tạo nhật ký (%u khối): " -#: misc/mke2fs.c:2636 -msgid "" -"\n" -"\twhile trying to create journal" -msgstr "" -"\n" -"trong khi thá»­ tạo nhật ký" - -#: misc/mke2fs.c:2647 misc/tune2fs.c:451 -#, c-format -msgid "" -"\n" -"Error while enabling multiple mount protection feature." -msgstr "" -"\n" -"Lá»—i khi bật đặc tính bảo vệ Ä‘a gắn" - -#: misc/mke2fs.c:2652 -#, c-format -msgid "Multiple mount protection is enabled with update interval %d seconds.\n" -msgstr "Bảo vệ Ä‘a gắn được bật vá»›i nhịp cập nhật là %d giây.\n" - -#: misc/mke2fs.c:2665 +#: misc/mke2fs.c:2257 #, c-format msgid "Writing superblocks and filesystem accounting information: " msgstr "Äang ghi siêu khối và thông tin kế toán hệ thống tập tin: " -#: misc/mke2fs.c:2672 +#: misc/mke2fs.c:2262 #, c-format msgid "" "\n" "Warning, had trouble writing out superblocks." msgstr "" "\n" -"Cảnh báo: gặp khó khăn trong việc ghi ra các siêu khối." +"Cảnh báo : gặp khó khăn trong việc ghi ra các siêu khối." -#: misc/mke2fs.c:2674 +#: misc/mke2fs.c:2265 #, c-format msgid "" "done\n" @@ -4833,12 +4500,12 @@ msgstr "" "hoàn tất\n" "\n" -#: misc/mklost+found.c:50 +#: misc/mklost+found.c:49 #, c-format msgid "Usage: mklost+found\n" -msgstr "Cách dùng: mklost+found\n" +msgstr "Sá»­ dụng: mklost+found\n" -#: misc/partinfo.c:41 +#: misc/partinfo.c:39 #, c-format msgid "" "Usage: %s device...\n" @@ -4847,112 +4514,109 @@ msgid "" "For example: %s /dev/hda\n" "\n" msgstr "" -"Cách dùng: %s thiết bị...\n" +"Sá»­ dụng: %s thiết bị...\n" "\n" "In ra thông tin vá» phân vùng đối vá»›i má»—i thiết bị được cho.\n" "Ví dụ: %s /dev/hda\n" "\n" -#: misc/partinfo.c:51 +#: misc/partinfo.c:49 #, c-format msgid "Cannot open %s: %s" msgstr "Không thể mở %s: %s" -#: misc/partinfo.c:57 +#: misc/partinfo.c:55 #, c-format msgid "Cannot get geometry of %s: %s" msgstr "Không thể lấy dạng hình của %s: %s" -#: misc/partinfo.c:65 +#: misc/partinfo.c:63 #, c-format msgid "Cannot get size of %s: %s" msgstr "Không thể lấy kích cỡ của %s: %s" -#: misc/partinfo.c:71 +#: misc/partinfo.c:69 #, c-format msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n" msgstr "%s: h=%3d s=%3d c=%4d đầu=%8d cỡ=%8lu cuối=%8d\n" -#: misc/tune2fs.c:107 +#: misc/tune2fs.c:96 msgid "Please run e2fsck on the filesystem.\n" msgstr "Hãy chạy tiến trình e2fsck trên hệ thống tập tin.\n" -#: misc/tune2fs.c:116 +#: misc/tune2fs.c:105 #, c-format msgid "" "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" -"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p mmp_update_interval]\n" +"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n" "\t[ -I new_inode_size ] device\n" msgstr "" -"Cách dùng: %s [-c số_đếm_lắp_tối_Ä‘a] [-e ứng_xá»­_lá»—i] [-g nhóm]\n" +"Sá»­ dụng: %s [-c số_đếm_lắp_tối_Ä‘a] [-e ứng_xá»­_lá»—i] [-g nhóm]\n" "\t[-i khoảng[d|m|w]] [-j] [-J tùy_chá»n_nhật_ký] [-l]\n" -"\t[-m phần_trăm_khối_dành_riêng] [-o [^]tùy_chá»n_lắp[,...]] [-p nhịp_cập_nhật_mmp]\n" -"\t[-r số_đếm_khối_dành_riêng] [-u ngÆ°á»i_dùng] [-C số_đếm_lắp] [-L nhãn_phân_vùng]\n" +"\t[-m phần_trăm_khối_dành_riêng] [-o [^]tùy_chá»n_lắp[,...]]\n" +"\t[-r số_đếm_khối_dành_riêng] [-u ngÆ°á»i_dùng]\n" +"\t[-C số_đếm_lắp] [-L nhãn_khối_tin]\n" "\t[-M thÆ°_mục_lắp_cuối] [-O [^]tính_năng[,...]]\n" -"\t[-E tùy_chá»n_mở_rá»™ng[,...] [-T giá»_kiểm_tra_cuối] [-U UUID]\n" -"\t[-l cỡ_nút_má»›i] thiết_bị\n" +"\t[-E tùy_chá»n_đã_mở_rá»™ng[,...] [-T giá»_kiểm_tra_cuối]\n" +"\t[-U UUID] [-l cỡ_nút_má»›i] thiết_bị\n" -#: misc/tune2fs.c:209 +#: misc/tune2fs.c:190 msgid "while trying to open external journal" msgstr "trong khi thá»­ mở nhật ký bên ngoài" -#: misc/tune2fs.c:214 +#: misc/tune2fs.c:194 #, c-format msgid "%s is not a journal device.\n" msgstr "%s không phải thiết bị nhật ký.\n" -#: misc/tune2fs.c:229 +#: misc/tune2fs.c:209 msgid "Journal superblock not found!\n" msgstr "Không tìm thấy siêu khối nhật ký !\n" -#: misc/tune2fs.c:240 +#: misc/tune2fs.c:221 msgid "Filesystem's UUID not found on journal device.\n" msgstr "Không tìm thấy UUID của hệ thống tập tin trên thiết bị nhật ký.\n" -#: misc/tune2fs.c:261 -msgid "" -"Cannot locate journal device. It was NOT removed\n" -"Use -f option to remove missing journal device.\n" -msgstr "" -"Không thể định được thiết bị journal. Nó đã KHÔNG bị gỡ bá»\n" -"Sá»­ dụng tuỳ chá»n -f để gỡ bá» thiết bị journal bị thiếu.\n" +#: misc/tune2fs.c:242 +msgid "Journal NOT removed\n" +msgstr "CHƯA gỡ bá» nhật ký\n" -#: misc/tune2fs.c:269 +#: misc/tune2fs.c:248 msgid "Journal removed\n" msgstr "Nhật ký đã gỡ bá»\n" -#: misc/tune2fs.c:313 +#: misc/tune2fs.c:288 msgid "while reading bitmaps" msgstr "trong khi Ä‘á»c các mảng ảnh" -#: misc/tune2fs.c:321 +#: misc/tune2fs.c:296 msgid "while clearing journal inode" msgstr "trong khi xoá sạch nút thông tin nhật ký" -#: misc/tune2fs.c:332 +#: misc/tune2fs.c:307 msgid "while writing journal inode" msgstr "trong khi ghi nút thông tin nhật ký" -#: misc/tune2fs.c:367 +#: misc/tune2fs.c:322 #, c-format -msgid "(and reboot afterwards!)\n" -msgstr "(và khởi Ä‘á»™ng lại sau!)\n" +msgid "Invalid mount option set: %s\n" +msgstr "Äặt tùy chá»n lắp không hợp lệ: %s\n" -#: misc/tune2fs.c:401 +#: misc/tune2fs.c:358 #, c-format msgid "Clearing filesystem feature '%s' not supported.\n" -msgstr "Tính năng xoá sạch hệ thống tập tin “%s†không được há»— trợ.\n" +msgstr "Tính năng xoá sạch hệ thống tập tin « %s » không được há»— trợ.\n" -#: misc/tune2fs.c:407 +#: misc/tune2fs.c:364 #, c-format msgid "Setting filesystem feature '%s' not supported.\n" -msgstr "Tính năng đặt hệ thống tập tin “%s†không được há»— trợ.\n" +msgstr "Tính năng đặt hệ thống tập tin « %s » không được há»— trợ.\n" -#: misc/tune2fs.c:416 +#: misc/tune2fs.c:373 msgid "" "The has_journal feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" @@ -4961,7 +4625,7 @@ msgstr "" "chỉ khi hệ thống tập tin được tháo gắn kết\n" "hay được gắn kết má»™t cách chỉ Ä‘á»c.\n" -#: misc/tune2fs.c:424 +#: misc/tune2fs.c:381 msgid "" "The needs_recovery flag is set. Please run e2fsck before clearing\n" "the has_journal flag.\n" @@ -4969,49 +4633,13 @@ msgstr "" "Äặt cá» cần thiết phục hồi (needs_recovery).\n" "Hãy chạy tiến trình e2fsck trÆ°á»›c khi xoá sạch cá» có nhật ký (has_journal).\n" -#: misc/tune2fs.c:443 -msgid "" -"The multiple mount protection feature can't\n" -"be set if the filesystem is mounted or\n" -"read-only.\n" -msgstr "" -"Tính năng bảo vệ chống Ä‘a gắn không thể\n" -"đặt được nếu hệ thống tập tin đã được gắn kết\n" -"hay chỉ cho Ä‘á»c.\n" - -#: misc/tune2fs.c:461 -#, c-format -msgid "Multiple mount protection has been enabled with update interval %ds.\n" -msgstr "Äặc tính kỹ thuật bảo vệ Ä‘a gắn đã bật vá»›i nhịp cập nhật là %d giây.\n" - -#: misc/tune2fs.c:470 -msgid "" -"The multiple mount protection feature cannot\n" -"be disabled if the filesystem is readonly.\n" -msgstr "" -"Äặc tính kỹ thuật bảo vệ Ä‘a gắn không thể\n" -"được tắt nếu hệ thống tập tin chỉ Ä‘á»c.\n" - -#: misc/tune2fs.c:478 -msgid "Error while reading bitmaps\n" -msgstr "Gặp lá»—i khi Ä‘á»c mảng\n" - -#: misc/tune2fs.c:487 -#, c-format -msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n" -msgstr "Số mầu nhiệm trong khối MMP không khá»›p. mong chá»: %x, thá»±c tế: %x\n" - -#: misc/tune2fs.c:492 -msgid "while reading MMP block." -msgstr "trong khi Ä‘á»c khối MMP." - -#: misc/tune2fs.c:524 +#: misc/tune2fs.c:414 msgid "" "Clearing the flex_bg flag would cause the the filesystem to be\n" "inconsistent.\n" msgstr "Gỡ bá» cá» flex_bg thì gây ra hệ thống tập tin không thống nhất.\n" -#: misc/tune2fs.c:535 +#: misc/tune2fs.c:425 msgid "" "The huge_file feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" @@ -5020,19 +4648,16 @@ msgstr "" "chỉ khi hệ thống tập tin được tháo gắn kết\n" "hay được gắn kết má»™t cách chỉ Ä‘á»c.\n" -#: misc/tune2fs.c:595 -msgid "" -"\n" -"Warning: '^quota' option overrides '-Q'arguments.\n" -msgstr "" -"\n" -"Cảnh báo: tuỳ chá»n “^quota†sẽ dè lên đối số “-Qâ€.\n" +#: misc/tune2fs.c:453 +#, c-format +msgid "(and reboot afterwards!)\n" +msgstr "(và khởi Ä‘á»™ng lại sau !)\n" -#: misc/tune2fs.c:640 +#: misc/tune2fs.c:474 msgid "The filesystem already has a journal.\n" msgstr "Hệ thống tập tin đã có nhật ký.\n" -#: misc/tune2fs.c:658 +#: misc/tune2fs.c:492 #, c-format msgid "" "\n" @@ -5041,21 +4666,21 @@ msgstr "" "\n" "trong khi thá»­ mở nhật ký trên %s\n" -#: misc/tune2fs.c:662 +#: misc/tune2fs.c:496 #, c-format msgid "Creating journal on device %s: " msgstr "Äang tạo nhật ký trên thiết bị %s: " -#: misc/tune2fs.c:670 +#: misc/tune2fs.c:504 #, c-format msgid "while adding filesystem to journal on %s" msgstr "trong khi thêm hệ thống tập tin vào nhật ký trên %s" -#: misc/tune2fs.c:676 +#: misc/tune2fs.c:510 msgid "Creating journal inode: " msgstr "Äang tạo nút thông tin nhật ký: " -#: misc/tune2fs.c:685 +#: misc/tune2fs.c:519 msgid "" "\n" "\twhile trying to create journal file" @@ -5063,120 +4688,85 @@ msgstr "" "\n" "trong khi thá»­ tạo tập tin nhật ký" -#: misc/tune2fs.c:763 -msgid "Couldn't allocate memory to parse quota options!\n" -msgstr "Không thể cấp phát bá»™ nhá»› để phân tách các tùy chá»n hạn ngạch!\n" - -#: misc/tune2fs.c:785 -msgid "" -"\n" -"Bad quota options specified.\n" -"\n" -"Following valid quota options are available (pass by separating with comma):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" -msgstr "" -"\n" -"Äã chỉ định tuỳ chá»n hạn ngạch sai.\n" -"\n" -"Sau đây là danh sách các tuỳ chá»n hạn ngạch được dùng (chấp nhận ngăn cách bằng dấu phẩy):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" - -#: misc/tune2fs.c:846 +#: misc/tune2fs.c:585 #, c-format msgid "Couldn't parse date/time specifier: %s" -msgstr "Không thể phân tách toán tá»­ ngày/giá»: %s" +msgstr "Không thể phân tách toán tá»­ ngày/giá» : %s" -#: misc/tune2fs.c:870 misc/tune2fs.c:883 +#: misc/tune2fs.c:609 misc/tune2fs.c:622 #, c-format msgid "bad mounts count - %s" -msgstr "số đếm gắn sai — %s" +msgstr "số đếm lắp sai — %s" -#: misc/tune2fs.c:899 +#: misc/tune2fs.c:638 #, c-format msgid "bad error behavior - %s" msgstr "ứng xá»­ lá»—i sai — %s" -#: misc/tune2fs.c:926 +#: misc/tune2fs.c:665 #, c-format msgid "bad gid/group name - %s" msgstr "GID/tên nhóm sai — %s" -#: misc/tune2fs.c:959 +#: misc/tune2fs.c:698 #, c-format msgid "bad interval - %s" -msgstr "sai nhịp - %s" +msgstr "khoảng sai - %s" -#: misc/tune2fs.c:988 +#: misc/tune2fs.c:727 #, c-format msgid "bad reserved block ratio - %s" msgstr "tá»· lệ khối dành riêng sai — %s" -#: misc/tune2fs.c:1003 +#: misc/tune2fs.c:742 msgid "-o may only be specified once" -msgstr "có thể Ä‘Æ°a ra tùy chá»n “-o†chỉ má»™t lần" +msgstr "có thể xác định tùy chá»n « -o » chỉ má»™t lần" -#: misc/tune2fs.c:1012 +#: misc/tune2fs.c:752 msgid "-O may only be specified once" -msgstr "có thể Ä‘Æ°a ra tùy chá»n “-O†chỉ má»™t lần" +msgstr "có thể xác định tùy chá»n « -O » chỉ má»™t lần" -#: misc/tune2fs.c:1027 +#: misc/tune2fs.c:762 #, c-format msgid "bad reserved blocks count - %s" msgstr "số đếm khối dành riêng sai — %s" -#: misc/tune2fs.c:1056 +#: misc/tune2fs.c:791 #, c-format msgid "bad uid/user name - %s" msgstr "UID/tên ngÆ°á»i dùng sai — %s" -#: misc/tune2fs.c:1073 +#: misc/tune2fs.c:808 #, c-format msgid "bad inode size - %s" msgstr "kích cỡ nút sai — %s" -#: misc/tune2fs.c:1080 +#: misc/tune2fs.c:815 #, c-format msgid "Inode size must be a power of two- %s" msgstr "Kích cỡ nút phải là lÅ©y thừa 2 — %s" -#: misc/tune2fs.c:1174 -#, c-format -msgid "mmp_update_interval too big: %lu\n" -msgstr "mmp_update_interval quá lá»›n (%lu)\n" - -#: misc/tune2fs.c:1179 -#, c-format -msgid "Setting multiple mount protection update interval to %lu second\n" -msgid_plural "Setting multiple mount protection update interval to %lu seconds\n" -msgstr[0] "Äang đặt khoảng thá»i gian cập nhật bảo vệ chống Ä‘a lắp thành %lu giây\n" - -#: misc/tune2fs.c:1202 +#: misc/tune2fs.c:904 #, c-format msgid "Invalid RAID stride: %s\n" msgstr "Tham số stride RAID không hợp lệ: %s\n" -#: misc/tune2fs.c:1217 +#: misc/tune2fs.c:919 #, c-format msgid "Invalid RAID stripe-width: %s\n" msgstr "Tham số chiá»u rá»™ng sá»c (stripe-width) RAID không hợp lệ: %s\n" -#: misc/tune2fs.c:1232 +#: misc/tune2fs.c:934 #, c-format msgid "Invalid hash algorithm: %s\n" msgstr "Thuật toán tạo mẫu duy nhất vẫn không hợp lệ: %s\n" -#: misc/tune2fs.c:1238 +#: misc/tune2fs.c:940 #, c-format msgid "Setting default hash algorithm to %s (%d)\n" msgstr "Äang đặt thuật toán tạo mẫu duy nhất thành %s (%d)\n" -#: misc/tune2fs.c:1257 +#: misc/tune2fs.c:948 #, c-format msgid "" "\n" @@ -5186,71 +4776,50 @@ msgid "" "\tis set off by an equals ('=') sign.\n" "\n" "Valid extended options are:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" msgstr "" "\n" -"Chỉ định tùy chá»n sai.\n" +"Sai xác định tùy chá»n.\n" "\n" -"Các tùy chá»n mở rá»™ng định giá»›i bằng dấu phẩy, có thể chấp nhận\n" -"\tđối số được gán vá»›i dấu bằng “=â€.\n" +"Các tùy chá»n đã mở rá»™ng cÅ©ng định giá»›i bằng dấu phẩy, có thể chấp nhận\n" +"đối số được ngụ ý vá»›i dấu bằng « = ».\n" "\n" "Tùy chá»n đã mở rá»™ng hợp lệ:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe-width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" -#: misc/tune2fs.c:1723 -msgid "Failed to read inode bitmap\n" -msgstr "Không thể Ä‘á»c ánh xạ inode\n" - -#: misc/tune2fs.c:1728 -msgid "Failed to read block bitmap\n" -msgstr "Lá»—i khi Ä‘á»c mảng khối\n" - -#: misc/tune2fs.c:1745 resize/resize2fs.c:870 +#: misc/tune2fs.c:1421 resize/resize2fs.c:790 msgid "blocks to be moved" msgstr "khối cần di chuyển" -#: misc/tune2fs.c:1748 +#: misc/tune2fs.c:1424 msgid "Failed to allocate block bitmap when increasing inode size\n" msgstr "Lá»—i cấp phát ảnh mảng khối khi tăng kích cỡ inode\n" -#: misc/tune2fs.c:1754 +#: misc/tune2fs.c:1430 msgid "Not enough space to increase inode size \n" msgstr "Không đủ sức chứa để tăng kích cỡ inode\n" -#: misc/tune2fs.c:1759 +#: misc/tune2fs.c:1435 msgid "Failed to relocate blocks during inode resize \n" msgstr "Lá»—i định vị lại khối trong khi thay đổi kích cỡ inode \n" -#: misc/tune2fs.c:1791 +#: misc/tune2fs.c:1467 msgid "" "Error in resizing the inode size.\n" "Run e2undo to undo the file system changes. \n" msgstr "" "Gặp lá»—i khi thay đổi kích cỡ nút.\n" -"Hãy chạy lệnh “e2undo†để hủy các bÆ°á»›c thay đổi hệ thống tập tin. \n" +"Hãy chạy lệnh « e2undo » để hủy các bÆ°á»›c thay đổi hệ thống tập tin. \n" -#: misc/tune2fs.c:1818 -msgid "Couldn't allocate memory for tdb filename\n" -msgstr "Không thể cấp phát bá»™ nhá»› cho tên tập tin tdb\n" - -#: misc/tune2fs.c:1840 -#, c-format -msgid "while trying to delete %s" -msgstr "trong khi thá»­ xoá %s" - -#: misc/tune2fs.c:1850 +#: misc/tune2fs.c:1526 #, c-format msgid "" "To undo the tune2fs operation please run the command\n" @@ -5261,76 +4830,57 @@ msgstr "" " e2undo %s %s\n" "\n" -#: misc/tune2fs.c:1919 -#, c-format -msgid "" -"MMP block magic is bad. Try to fix it by running:\n" -"'e2fsck -f %s'\n" -msgstr "" -"Khối màu nhiệm MMP sai. Thá»­ sá»­a bằng cách chạy lệnh:\n" -"“e2fsck -f %sâ€\n" - -#: misc/tune2fs.c:1937 +#: misc/tune2fs.c:1587 #, c-format msgid "The inode size is already %lu\n" msgstr "Kích cỡ nút thông tin đã %lu\n" -#: misc/tune2fs.c:1943 +#: misc/tune2fs.c:1592 #, c-format msgid "Shrinking the inode size is not supported\n" msgstr "Không há»— trợ tính năng thu nhá» kích cỡ nút thông tin\n" -#: misc/tune2fs.c:1949 -#, c-format -msgid "Invalid inode size %lu (max %d)\n" -msgstr "Kích cỡ nút thông tin không hợp lệ %lu (tối Ä‘a %d)\n" - -#: misc/tune2fs.c:1996 +#: misc/tune2fs.c:1635 #, c-format msgid "Setting maximal mount count to %d\n" msgstr "Äang đặt số đếm lắp tối Ä‘a thành %d\n" -#: misc/tune2fs.c:2002 +#: misc/tune2fs.c:1641 #, c-format msgid "Setting current mount count to %d\n" msgstr "Äang đặt số đếm lắp hiện thá»i thành %d\n" -#: misc/tune2fs.c:2007 +#: misc/tune2fs.c:1646 #, c-format msgid "Setting error behavior to %d\n" msgstr "Äang đặt ứng xá»­ lá»—i thành %d\n" -#: misc/tune2fs.c:2012 +#: misc/tune2fs.c:1651 #, c-format msgid "Setting reserved blocks gid to %lu\n" msgstr "Äang đặt GID khối dành riêng thành %lu\n" -#: misc/tune2fs.c:2017 -#, c-format -msgid "interval between checks is too big (%lu)" -msgstr "khoảng giữa hai lần kiểm tra quá lá»›n (%lu)" - -#: misc/tune2fs.c:2024 +#: misc/tune2fs.c:1656 #, c-format msgid "Setting interval between checks to %lu seconds\n" msgstr "Äang đặt khoảng giữa hai lần kiểm tra thành %lu giây\n" -#: misc/tune2fs.c:2031 +#: misc/tune2fs.c:1663 #, c-format -msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n" -msgstr "Äang đặt phần trăm khối dá»± trữ thành %g%% (%llu khối)\n" +msgid "Setting reserved blocks percentage to %g%% (%u blocks)\n" +msgstr "Äang đặt phần trăm khối dành riêng thành %g%% (%u khối)\n" -#: misc/tune2fs.c:2037 +#: misc/tune2fs.c:1670 #, c-format -msgid "reserved blocks count is too big (%llu)" -msgstr "số lượng khối dá»± trữ quá lá»›n (%llu)" +msgid "reserved blocks count is too big (%lu)" +msgstr "số đếm khối dành riêng quá lá»›n (%lu)" -#: misc/tune2fs.c:2044 +#: misc/tune2fs.c:1676 #, c-format -msgid "Setting reserved blocks count to %llu\n" -msgstr "Äang đặt số lượng khối dá»± trữ thành %llu\n" +msgid "Setting reserved blocks count to %lu\n" +msgstr "Äang đặt số đếm khối dành riêng thành %lu\n" -#: misc/tune2fs.c:2050 +#: misc/tune2fs.c:1682 msgid "" "\n" "The filesystem already has sparse superblocks.\n" @@ -5338,7 +4888,7 @@ msgstr "" "\n" "Hệ thống tập tin đã có siêu khối thÆ°a thá»›t.\n" -#: misc/tune2fs.c:2057 +#: misc/tune2fs.c:1689 #, c-format msgid "" "\n" @@ -5347,7 +4897,7 @@ msgstr "" "\n" "Äặt cá» siêu khối thÆ°a thá»›t. %s" -#: misc/tune2fs.c:2062 +#: misc/tune2fs.c:1694 msgid "" "\n" "Clearing the sparse superflag not supported.\n" @@ -5355,117 +4905,100 @@ msgstr "" "\n" "Tính năng xoá sạch siêu cá» sparse không được há»— trợ.\n" -#: misc/tune2fs.c:2070 +#: misc/tune2fs.c:1701 #, c-format msgid "Setting time filesystem last checked to %s\n" msgstr "Äang đặt giá» kiểm tra hệ thống tập tin lần cuối cùng thành %s\n" -#: misc/tune2fs.c:2076 +#: misc/tune2fs.c:1707 #, c-format msgid "Setting reserved blocks uid to %lu\n" msgstr "Äang đặt UID khối dành riêng thành %lu\n" -#: misc/tune2fs.c:2108 -msgid "Error in using clear_mmp. It must be used with -f\n" -msgstr "Lá»—i không sá»­ dụng clear_mmp. Nó phải được sá»­ dụng cùng vá»›i -f\n" - -#: misc/tune2fs.c:2126 -msgid "The quota feature may only be changed when the filesystem is unmounted.\n" -msgstr "Äặc tính hạn ngạch chỉ có thể được thay đổi khi hệ thống tập tin không được gắn kết.\n" - -#: misc/tune2fs.c:2159 +#: misc/tune2fs.c:1758 msgid "Invalid UUID format\n" msgstr "Äịnh dạng UUID không hợp lệ\n" -#: misc/tune2fs.c:2172 +#: misc/tune2fs.c:1770 msgid "The inode size may only be changed when the filesystem is unmounted.\n" -msgstr "Kích cỡ nút chỉ có thể thay đổi khi hệ thống tập tin không được gắn kết.\n" +msgstr "" +"Kích cỡ nút chỉ có thể thay đổi khi hệ thống tập tin không được gắn kết.\n" -#: misc/tune2fs.c:2180 +#: misc/tune2fs.c:1777 msgid "" "Changing the inode size not supported for filesystems with the flex_bg\n" "feature enabled.\n" -msgstr "Chức năng thay đổi kích cỡ nút thông tin không phải được há»— trợ đối vá»›i hệ thống tập tin đã bật tính năng “flex_bgâ€.\n" +msgstr "" +"Chức năng thay đổi kích cỡ nút thông tin không phải được há»— trợ đối vá»›i hệ " +"thống tập tin đã bật tính năng « flex_bg ».\n" -#: misc/tune2fs.c:2193 +#: misc/tune2fs.c:1789 #, c-format msgid "Setting inode size %lu\n" msgstr "Äang đặt kích cỡ nút %lu\n" -#: misc/tune2fs.c:2196 -#, c-format -msgid "Failed to change inode size\n" -msgstr "Lá»—i thay đổi kích thÆ°á»›c của nút\n" - -#: misc/tune2fs.c:2207 +#: misc/tune2fs.c:1799 #, c-format msgid "Setting stride size to %d\n" msgstr "Äang đặt kích cỡ stride thành %d\n" -#: misc/tune2fs.c:2212 +#: misc/tune2fs.c:1804 #, c-format msgid "Setting stripe width to %d\n" msgstr "Äang đặt chiá»u rá»™ng sá»c (stripe width) thành %d\n" -#: misc/tune2fs.c:2219 -#, c-format -msgid "Setting extended default mount options to '%s'\n" -msgstr "Äang đặt tuỳ chá»n gắn mặc định mở rá»™ng thành “%sâ€\n" - -#: misc/util.c:74 +#: misc/util.c:72 msgid "Proceed anyway? (y,n) " msgstr "Vẫn còn tiếp tục không? (c,k)" -#: misc/util.c:89 +#: misc/util.c:93 #, c-format msgid "Could not stat %s --- %s\n" msgstr "Không thể lấy các thông tin vá» %s — %s\n" -#: misc/util.c:92 +#: misc/util.c:96 msgid "" "\n" "The device apparently does not exist; did you specify it correctly?\n" msgstr "" "\n" -"Có vẻ là thiết bị không tồn tại; bạn có Ä‘Æ°a ra đúng chÆ°a?\n" +"Có vẻ là thiết bị không tồn tại; bạn có xác định đúng chÆ°a?\n" -#: misc/util.c:103 +#: misc/util.c:107 #, c-format msgid "%s is not a block special device.\n" msgstr "%s không phải thiết bị đặc biệt khối.\n" -#: misc/util.c:132 +#: misc/util.c:136 #, c-format msgid "%s is entire device, not just one partition!\n" msgstr "%s là toàn bá»™ thiết bị, không phải chỉ má»™t phân vùng !\n" -#: misc/util.c:154 +#: misc/util.c:158 msgid "mke2fs forced anyway. Hope /etc/mtab is incorrect.\n" -msgstr "Tiến trình mke2fs vẫn còn bị ép buá»™c. Mong “/etc/mtab†không đúng.\n" +msgstr "Tiến trình mke2fs vẫn còn bị ép buá»™c. Mong « /etc/mtab » không đúng.\n" -#: misc/util.c:159 +#: misc/util.c:163 #, c-format msgid "will not make a %s here!\n" msgstr "sẽ không làm %s ở đây !\n" -#: misc/util.c:166 +#: misc/util.c:170 msgid "mke2fs forced anyway.\n" msgstr "Tiến trình mke2fs vẫn còn bị ép buá»™c.\n" -#: misc/util.c:182 +#: misc/util.c:186 msgid "Couldn't allocate memory to parse journal options!\n" msgstr "Không thể cấp phát bá»™ nhá»› để phân tách các tùy chá»n nhật ký !\n" -#: misc/util.c:207 -#, c-format +#: misc/util.c:211 +#, fuzzy, c-format msgid "" "\n" "Could not find journal device matching %s\n" -msgstr "" -"\n" -"Không tìm thấy thiết bị nhật ký tÆ°Æ¡ng ứng vá»›i %s\n" +msgstr "Không tìm thấy các số ma thuật siêu khối nhật ký" -#: misc/util.c:228 +#: misc/util.c:232 msgid "" "\n" "Bad journal options specified.\n" @@ -5481,10 +5014,10 @@ msgid "" "\n" msgstr "" "\n" -"ÄÆ°a ra tùy chá»n nhật ký sai.\n" +"Sai xác định tùy chá»n nhật ký.\n" "\n" "Các tùy chá»n nhật ký cÅ©ng định giá»›i bằng dấu phẩy, có thể chấp nhận\n" -"đối số được ngụ ý vá»›i dấu bằng “=â€.\n" +"đối số được ngụ ý vá»›i dấu bằng « = ».\n" "\n" "Tùy chá»n nhật ký hợp lệ:\n" "\tsize=\n" @@ -5494,7 +5027,7 @@ msgstr "" "1024 đến 10240000 khối hệ thống tập tin.\n" "\n" -#: misc/util.c:258 +#: misc/util.c:262 msgid "" "\n" "Filesystem too small for a journal\n" @@ -5502,7 +5035,7 @@ msgstr "" "\n" "Hệ thống tập tin quá nhỠđối vá»›i nhật ký\n" -#: misc/util.c:265 +#: misc/util.c:269 #, c-format msgid "" "\n" @@ -5514,7 +5047,7 @@ msgstr "" "nó phải nằm trong phạm vi 1024 đến 10240000 khối\n" "nên hủy bá».\n" -#: misc/util.c:273 +#: misc/util.c:277 msgid "" "\n" "Journal size too big for filesystem.\n" @@ -5530,1166 +5063,236 @@ msgid "" msgstr "" "Hệ thống tập tin này sẽ được kiểm tra tá»± Ä‘á»™ng má»—i %d lần gắn kết\n" "hay má»—i %g ngày, Ä‘iá»u nào xảy ra trÆ°á»›c. Hãy dùng tùy chá»n\n" -"“tune2fs -c†hay “tune2fs -i†để ghi đè lên nó.\n" - -#: misc/uuidd.c:48 -#, c-format -msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n" -msgstr "Cách dùng: %s [-d] [-p tập_tin_PID] [-s Ä‘Æ°á»ng_dẫn_ổ_cắm] [-T thá»i_hạn]\n" - -#: misc/uuidd.c:50 -#, c-format -msgid " %s [-r|t] [-n num] [-s socketpath]\n" -msgstr " %s [-r|t] [-n num] [-s socketpath]\n" - -#: misc/uuidd.c:52 -#, c-format -msgid " %s -k\n" -msgstr " %s -k\n" - -#: misc/uuidd.c:154 -msgid "bad arguments" -msgstr "đối số sai" - -#: misc/uuidd.c:172 -msgid "connect" -msgstr "kết nối" - -#: misc/uuidd.c:191 -msgid "write" -msgstr "ghi" - -#: misc/uuidd.c:199 -msgid "read count" -msgstr "số lần Ä‘á»c" - -#: misc/uuidd.c:205 -msgid "bad response length" -msgstr "Äá»™ dài trả vá» không hợp lệ" - -#: misc/uuidd.c:270 -#, c-format -msgid "uuidd daemon already running at pid %s\n" -msgstr "uuidd daemon đã chạy sẵn rồi tại pid %s\n" - -#: misc/uuidd.c:278 -#, c-format -msgid "Couldn't create unix stream socket: %s" -msgstr "Không thể tạo ổ cắm luồng stream UNIX: %s" - -#: misc/uuidd.c:307 -#, c-format -msgid "Couldn't bind unix socket %s: %s\n" -msgstr "Không thể buá»™c kết ổ cắm UNIX %s: %s\n" - -#: misc/uuidd.c:315 -#, c-format -msgid "Couldn't listen on unix socket %s: %s\n" -msgstr "Không thể lắng nghe trên ổ cắm UNIX %s: %s\n" - -#: misc/uuidd.c:353 -#, c-format -msgid "Error reading from client, len = %d\n" -msgstr "Gặp lá»—i khi Ä‘á»c từ ứng dụng khách, dài = %d\n" - -#: misc/uuidd.c:361 -#, c-format -msgid "operation %d, incoming num = %d\n" -msgstr "thao tác %d, số gá»­i đến = %d\n" +"« tune2fs -c » hay « tune2fs -i » để ghi đè lên nó.\n" -#: misc/uuidd.c:380 -#, c-format -msgid "Generated time UUID: %s\n" -msgstr "UUID thá»i gian đã tạo ra: %s\n" - -#: misc/uuidd.c:390 -#, c-format -msgid "Generated random UUID: %s\n" -msgstr "UUID ngẫu nhiên đã tạo ra: %s\n" - -#: misc/uuidd.c:399 -#, c-format -msgid "Generated time UUID %s and subsequent UUID\n" -msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n" -msgstr[0] "UUID thá»i gian đã tạo ra %s và %d theo sau\n" - -#: misc/uuidd.c:420 -#, c-format -msgid "Generated %d UUID's:\n" -msgstr "%d UUID đã tạo ra:\n" - -#: misc/uuidd.c:432 -#, c-format -msgid "Invalid operation %d\n" -msgstr "Thao tác không hợp lệ %d\n" - -#: misc/uuidd.c:476 misc/uuidd.c:498 -#, c-format -msgid "Bad number: %s\n" -msgstr "Số sai: %s\n" - -#: misc/uuidd.c:533 misc/uuidd.c:562 -#, c-format -msgid "Error calling uuidd daemon (%s): %s\n" -msgstr "Gặp lá»—i khi gá»i trình ná»n uuidd (%s): %s\n" - -#: misc/uuidd.c:543 -#, c-format -msgid "%s and subsequent UUID\n" -msgid_plural "%s and subsequent %d UUIDs\n" -msgstr[0] "%s và %d UUID xảy ra sau\n" - -#: misc/uuidd.c:547 -#, c-format -msgid "List of UUID's:\n" -msgstr "Danh sách của UUID:\n" - -#: misc/uuidd.c:568 -#, c-format -msgid "Unexpected reply length from server %d\n" -msgstr "Máy chủ trả lá»i đáp ứng vá»›i chiá»u dài bất thÆ°á»ng %d\n" - -#: misc/uuidd.c:585 -#, c-format -msgid "Couldn't kill uuidd running at pid %d: %s\n" -msgstr "Không thể buá»™c kết thúc uuidd Ä‘ang chạy vá»›i PID %d: %s\n" - -#: misc/uuidd.c:591 -#, c-format -msgid "Killed uuidd running at pid %d\n" -msgstr "Äã buá»™c kết thúc uuidd chạy tại PID %d\n" - -#: misc/uuidgen.c:32 +#: misc/uuidgen.c:31 #, c-format msgid "Usage: %s [-r] [-t]\n" -msgstr "Cách dùng: %s [-r] [-t]\n" +msgstr "Sá»­ dụng: %s [-r] [-t]\n" -#: resize/extent.c:202 +#: resize/extent.c:196 msgid "# Extent dump:\n" msgstr "# Äổ khoảng:\n" -#: resize/extent.c:203 +#: resize/extent.c:197 +#, c-format +msgid "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" +msgstr "#\tSố=%d, Cỡ=%d, Con trá»=%d, Sắp xếp=%d\n" + +#: resize/extent.c:200 #, c-format -msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n" -msgstr "#\tSố=%llu, Cỡ=%llu, Con trá»=%llu, Sắp xếp=%llu\n" +msgid "#\t\t %u -> %u (%d)\n" +msgstr "#\t\t %u -> %u (%d)\n" -#: resize/main.c:43 +#: resize/main.c:42 #, c-format msgid "" "Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" "\n" msgstr "" -"Cách dùng: %s [-d cá»_gỡ_lá»—i] [-f] [-F] [-M] [-P] [-p] thiết_bị [kích_cỡ_má»›i]\n" +"Sá»­ dụng: %s [-d cá»_gỡ_lá»—i] [-f] [-F] [-M] [-P] [-p] thiết_bị [kích_cỡ_má»›i]\n" "\n" -#: resize/main.c:65 +#: resize/main.c:64 msgid "Extending the inode table" msgstr "Äang mở rá»™ng bảng nút thông tin" -#: resize/main.c:68 +#: resize/main.c:67 msgid "Relocating blocks" msgstr "Äang định vị lại các khối" -#: resize/main.c:71 +#: resize/main.c:70 msgid "Scanning inode table" msgstr "Äang quét bảng nút thông tin" -#: resize/main.c:74 +#: resize/main.c:73 msgid "Updating inode references" msgstr "Äang cập nhật các tham chiếu nút thông tin" -#: resize/main.c:77 +#: resize/main.c:76 msgid "Moving inode table" msgstr "Äang di chuyển bảng nút thông tin" -#: resize/main.c:80 +#: resize/main.c:79 msgid "Unknown pass?!?" -msgstr "Lần qua lạ?!?" +msgstr "Lần qua lạ ?!?" -#: resize/main.c:83 +#: resize/main.c:82 #, c-format msgid "Begin pass %d (max = %lu)\n" msgstr "Khởi chạy lần qua %d (tối Ä‘a = %lu)\n" -#: resize/main.c:154 -#, c-format -msgid "" -"\n" -"Resizing bigalloc file systems has not been fully tested. Proceed\n" -"at your own risk! Use the force option if you want to go ahead anyway.\n" -"\n" -msgstr "" -"\n" -"Việc thay đổi kích thÆ°á»›c của hệ thống tập tin bigalloc chÆ°a được thá»­ nghiệm đầy đủ.\n" -"Tá»± chịu trách nhiệm nếu muốn dùng! Dùng tùy-chá»n ép buá»™c nếu bạn muốn thá»±c hiện tiếp.\n" -"\n" - -#: resize/main.c:271 +#: resize/main.c:265 #, c-format msgid "while opening %s" msgstr "trong khi mở %s" -#: resize/main.c:279 +#: resize/main.c:277 #, c-format msgid "while getting stat information for %s" msgstr "trong khi lấy các thông tin vá» %s" -#: resize/main.c:337 resize/main.c:450 +#: resize/main.c:338 +#, c-format +msgid "" +"%s: The combination of flex_bg and\n" +"\t!resize_inode features is not supported by resize2fs.\n" +msgstr "" +"%s: tổ hợp hai tính năng flex_bg và !resize_inode\n" +"Ä‘á»u không được resize2fs há»— trợ.\n" + +#: resize/main.c:352 resize/main.c:452 #, c-format msgid "" "Please run 'e2fsck -f %s' first.\n" "\n" -msgstr "TrÆ°á»›c tiên hãy chạy chÆ°Æ¡ng trình “e2fsck -f %sâ€.\n" +msgstr "TrÆ°á»›c tiên hãy chạy tiến trình « e2fsck -f %s ».\n" -#: resize/main.c:341 +#: resize/main.c:356 #, c-format -msgid "Estimated minimum size of the filesystem: %llu\n" -msgstr "Kích cỡ hệ thống tập tin tối thiểu được Æ°á»›c tính: %llu\n" +msgid "Estimated minimum size of the filesystem: %u\n" +msgstr "Kích cỡ hệ thống tập tin tối thiểu được Æ°á»›c tính: %u\n" -#: resize/main.c:377 +#: resize/main.c:392 #, c-format msgid "Invalid new size: %s\n" msgstr "Kích cỡ má»›i không hợp lệ: %s\n" -#: resize/main.c:393 -msgid "New size too large to be expressed in 32 bits\n" -msgstr "Kích thÆ°á»›c má»›i quá lá»›n để có thể dùng số 32 bit\n" - -#: resize/main.c:401 +#: resize/main.c:404 #, c-format -msgid "New size smaller than minimum (%llu)\n" -msgstr "Kích cỡ má»›i vẫn nhá» hÆ¡n mức tối thiểu (%llu)\n" +msgid "New size smaller than minimum (%u)\n" +msgstr "Kích cỡ má»›i vẫn nhá» hÆ¡n tối thiểu (%u)\n" -#: resize/main.c:407 +#: resize/main.c:410 msgid "Invalid stride length" msgstr "Äá»™ dài stride không hợp lệ" -#: resize/main.c:431 +#: resize/main.c:434 #, c-format msgid "" -"The containing partition (or device) is only %llu (%dk) blocks.\n" -"You requested a new size of %llu blocks.\n" +"The containing partition (or device) is only %u (%dk) blocks.\n" +"You requested a new size of %u blocks.\n" "\n" msgstr "" -"Phân vùng chứa (hay thiết bị) chứa chỉ có kích cỡ %llu (%dk) khối.\n" -"Bạn đã yêu cầu kích cỡ má»›i %llu khối.\n" +"Phân vùng (hay thiết bị) chứa chỉ có kích cỡ %u (%dk) khối.\n" +"Bạn đã yêu cầu kích cỡ má»›i %u khối.\n" "\n" -#: resize/main.c:438 +#: resize/main.c:441 #, c-format msgid "" -"The filesystem is already %llu blocks long. Nothing to do!\n" +"The filesystem is already %u blocks long. Nothing to do!\n" "\n" msgstr "" -"Hệ thống tập tin đã có Ä‘á»™ dài %llu khối. Không có gì cần làm !\n" +"Hệ thống tập tin đã có Ä‘á»™ dài %u khối. Không có gì cần làm !\n" "\n" -#: resize/main.c:455 +#: resize/main.c:456 #, c-format -msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n" -msgstr "Äang thay đổi kích cỡ của hệ thống tập tin trên %s thành %llu (%dk) khối.\n" +msgid "Resizing the filesystem on %s to %u (%dk) blocks.\n" +msgstr "" +"Äang thay đổi kích cỡ của hệ thống tập tin trên %s thành %u (%dk) khối.\n" -#: resize/main.c:464 +#: resize/main.c:465 #, c-format msgid "while trying to resize %s" msgstr "trong khi thá»­ thay đổi kích cỡ %s" -#: resize/main.c:467 +#: resize/main.c:468 #, c-format msgid "" "Please run 'e2fsck -fy %s' to fix the filesystem\n" "after the aborted resize operation.\n" msgstr "" -"Hãy chạy câu lệnh “e2fsck -fy %s†để sá»­a chữa hệ thống tập tin\n" +"Hãy chạy câu lệnh « e2fsck -fy %s » để sá»­a chữa hệ thống tập tin\n" "đằng sau thao tác thay đổi kích cỡ bị hủy bá».\n" -#: resize/main.c:473 +#: resize/main.c:474 #, c-format msgid "" -"The filesystem on %s is now %llu blocks long.\n" +"The filesystem on %s is now %u blocks long.\n" "\n" msgstr "" -"Hệ thống tập tin nằm trên %s giá» có Ä‘á»™ dài %llu khối.\n" +"Hệ thống tập tin nằm trên %s giá» có Ä‘á»™ dài %u khối.\n" "\n" -#: resize/main.c:488 +#: resize/main.c:489 #, c-format msgid "while trying to truncate %s" msgstr "trong khi thá»­ cắt ngắn %s" -#: resize/online.c:79 +#: resize/online.c:37 #, c-format msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" -msgstr "Hệ thống tập tin ở %s được gắn kết vào %s; cần thiết thay đổi kích cỡ trá»±c tuyến\n" +msgstr "" +"Hệ thống tập tin ở %s được gắn kết vào %s; cần thiết thay đổi kích cỡ trá»±c " +"tuyến\n" -#: resize/online.c:83 -msgid "On-line shrinking not supported" -msgstr "Tính năng thu nhá» khi Ä‘ang chạy không được há»— trợ" +#: resize/online.c:41 +#, c-format +msgid "On-line shrinking from %u to %u not supported.\n" +msgstr "Tính năng thu nhá» từ %u xuống %u không được há»— trợ.\n" -#: resize/online.c:108 +#: resize/online.c:61 msgid "Filesystem does not support online resizing" msgstr "Hệ thống tập tin không há»— trợ tính năng thay đổi kích cỡ trá»±c tuyến" -#: resize/online.c:117 -msgid "Not enough reserved gdt blocks for resizing" -msgstr "Không đủ khối dá»± trữ gdt để thay đổi kích thÆ°á»›c" - -#: resize/online.c:124 -msgid "Kernel does not support resizing a file system this large" -msgstr "Hạt nhân không há»— trợ tính năng thay đổi kích cỡ hệ thống tập tin này rá»™ng hÆ¡n" - -#: resize/online.c:132 +#: resize/online.c:68 #, c-format msgid "while trying to open mountpoint %s" msgstr "trong khi thá»­ mở Ä‘iểm lắp %s" -#: resize/online.c:137 -#, c-format -msgid "Old resize interface requested.\n" -msgstr "Äã yêu cầu giao diện thay đổi kích cỡ cÅ©.\n" - -#: resize/online.c:156 resize/online.c:173 +#: resize/online.c:76 msgid "Permission denied to resize filesystem" msgstr "Không đủ quyá»n để thay đổi kích cỡ của hệ thống tập tin" -#: resize/online.c:159 resize/online.c:179 -msgid "While checking for on-line resizing support" -msgstr "Trong khi kiểm tra có há»— trợ thay đổi kích cỡ trá»±c tuyến" - -#: resize/online.c:176 +#: resize/online.c:79 msgid "Kernel does not support online resizing" msgstr "Hạt nhân không há»— trợ tính năng thay đổi kích cỡ trá»±c tuyến" -#: resize/online.c:209 +#: resize/online.c:82 +msgid "While checking for on-line resizing support" +msgstr "Trong khi kiểm tra có há»— trợ thay đổi kích cỡ trá»±c tuyến" + +#: resize/online.c:111 #, c-format -msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n" -msgstr "Äang thá»±c hiện má»™t công việc thay đổi kích cỡ %s trá»±c tuyến thành %llu (%dk) khối.\n" +msgid "Performing an on-line resize of %s to %u (%dk) blocks.\n" +msgstr "" +"Äang thá»±c hiện má»™t công việc thay đổi kích cỡ %s trá»±c tuyến xuống %u (%dk) " +"khối.\n" -#: resize/online.c:219 +#: resize/online.c:121 msgid "While trying to extend the last group" msgstr "Trong khi thá»­ mở rá»™ng nhóm cuối cùng" -#: resize/online.c:273 +#: resize/online.c:180 #, c-format msgid "While trying to add group #%d" msgstr "Trong khi thá»­ thêm nhóm số %d" -#: resize/online.c:284 +#: resize/online.c:191 #, c-format -msgid "Filesystem at %s is mounted on %s, and on-line resizing is not supported on this system.\n" -msgstr "Hệ thống tập tin ở %s được gắn kết vào %s, và tính năng thay đổi kích cỡ trên dòng không được há»— trợ trên hệ thống này.\n" +msgid "" +"Filesystem at %s is mounted on %s, and on-line resizing is not supported on " +"this system.\n" +msgstr "" +"Hệ thống tập tin ở %s được gắn kết vào %s, và tính năng thay đổi kích cỡ " +"trên dòng không được há»— trợ trên hệ thống này.\n" -#: resize/resize2fs.c:369 +#: resize/resize2fs.c:350 #, c-format msgid "inodes (%llu) must be less than %u" msgstr "nút thông tin (%llu) phải nhá» hÆ¡n %u" -#: resize/resize2fs.c:631 +#: resize/resize2fs.c:582 msgid "reserved blocks" msgstr "khối dành riêng" -#: resize/resize2fs.c:875 +#: resize/resize2fs.c:795 msgid "meta-data blocks" msgstr "khối siêu dữ liệu" -#: resize/resize2fs.c:1837 +#: resize/resize2fs.c:1752 #, c-format msgid "Should never happen: resize inode corrupt!\n" msgstr "Không bao giá» nên xảy ra: nút thông tin thay đổi kích cỡ bị há»ng !\n" - -#: lib/ext2fs/ext2_err.c:11 -msgid "EXT2FS Library version 1.42.8" -msgstr "ThÆ° viện EXT2FS phiên bản 1.42.8" - -#: lib/ext2fs/ext2_err.c:12 -msgid "Wrong magic number for ext2_filsys structure" -msgstr "Sai số màu nhiệm cho cấu trúc ext2_filsys" - -#: lib/ext2fs/ext2_err.c:13 -msgid "Wrong magic number for badblocks_list structure" -msgstr "Sai số màu nhiệm cho cấu trúcbadblocks_list" - -#: lib/ext2fs/ext2_err.c:14 -msgid "Wrong magic number for badblocks_iterate structure" -msgstr "Sai số màu nhiệm cho cấu trúc badblocks_iterate" - -#: lib/ext2fs/ext2_err.c:15 -msgid "Wrong magic number for inode_scan structure" -msgstr "Sai số màu nhiệm cho cấu trúc inode_scan" - -#: lib/ext2fs/ext2_err.c:16 -msgid "Wrong magic number for io_channel structure" -msgstr "Sai số màu nhiệm cho cấu trúc io_channel" - -#: lib/ext2fs/ext2_err.c:17 -msgid "Wrong magic number for unix io_channel structure" -msgstr "Sai số màu nhiệm cho cấu trúc unix io_channel" - -#: lib/ext2fs/ext2_err.c:18 -msgid "Wrong magic number for io_manager structure" -msgstr "Sai số màu nhiệm cho cấu trúc io_manager" - -#: lib/ext2fs/ext2_err.c:19 -msgid "Wrong magic number for block_bitmap structure" -msgstr "Sai số màu nhiệm cho cấu trúc block_bitmap" - -#: lib/ext2fs/ext2_err.c:20 -msgid "Wrong magic number for inode_bitmap structure" -msgstr "Sai số màu nhiệm cho cấu trúc inode_bitmap" - -#: lib/ext2fs/ext2_err.c:21 -msgid "Wrong magic number for generic_bitmap structure" -msgstr "Sai số màu nhiệm cho cấu trúc generic_bitmap" - -#: lib/ext2fs/ext2_err.c:22 -msgid "Wrong magic number for test io_channel structure" -msgstr "Sai số màu nhiệm cho cấu trúc test io_channel" - -#: lib/ext2fs/ext2_err.c:23 -msgid "Wrong magic number for directory block list structure" -msgstr "Sai số màu nhiệm cho cấu trúc danh sách khối thÆ° mục" - -#: lib/ext2fs/ext2_err.c:24 -msgid "Wrong magic number for icount structure" -msgstr "Sai số màu nhiệm cho cấu trúc icount" - -#: lib/ext2fs/ext2_err.c:25 -msgid "Wrong magic number for Powerquest io_channel structure" -msgstr "Sai số màu nhiệm cho cấu trúc Powerquest io_channe" - -#: lib/ext2fs/ext2_err.c:26 -msgid "Wrong magic number for ext2 file structure" -msgstr "Sai số màu nhiệm cho cấu trúc tập tin ext2" - -#: lib/ext2fs/ext2_err.c:27 -msgid "Wrong magic number for Ext2 Image Header" -msgstr "Sai số màu nhiệm cho Ext2 Image Header" - -#: lib/ext2fs/ext2_err.c:28 -msgid "Wrong magic number for inode io_channel structure" -msgstr "Sai số màu nhiệm cho cấu trúc nút io_channel" - -#: lib/ext2fs/ext2_err.c:29 -msgid "Wrong magic number for ext4 extent handle" -msgstr "Sai số màu nhiệm cho cán mở rá»™ng ext4" - -#: lib/ext2fs/ext2_err.c:30 -msgid "Bad magic number in super-block" -msgstr "Sai số màu nhiệm trong siêu khối" - -#: lib/ext2fs/ext2_err.c:31 -msgid "Filesystem revision too high" -msgstr "Phiên bản hệ thống tập tin quá cao" - -#: lib/ext2fs/ext2_err.c:32 -msgid "Attempt to write to filesystem opened read-only" -msgstr "Thá»­ viết vào hệ thống tập tin mà nónó chỉ Ä‘á»c" - -#: lib/ext2fs/ext2_err.c:33 -msgid "Can't read group descriptors" -msgstr "Không thể Ä‘á»c mô tả nhóm" - -#: lib/ext2fs/ext2_err.c:34 -msgid "Can't write group descriptors" -msgstr "Không thể ghi mô tả nhóm" - -#: lib/ext2fs/ext2_err.c:35 -msgid "Corrupt group descriptor: bad block for block bitmap" -msgstr "Bá»™ mô tả nhóm há»ng: khối sai cho mảng khối" - -#: lib/ext2fs/ext2_err.c:36 -msgid "Corrupt group descriptor: bad block for inode bitmap" -msgstr "Bá»™ mô tả nhóm há»ng: khối sai cho mảng nút" - -#: lib/ext2fs/ext2_err.c:37 -msgid "Corrupt group descriptor: bad block for inode table" -msgstr "Bá»™ mô tả nhóm há»ng: khối sai cho bảng nút" - -#: lib/ext2fs/ext2_err.c:38 -msgid "Can't write an inode bitmap" -msgstr "Không thể ghi mảng ảnh nút" - -#: lib/ext2fs/ext2_err.c:39 -msgid "Can't read an inode bitmap" -msgstr "Không thể Ä‘á»c mảng ảnh nút" - -#: lib/ext2fs/ext2_err.c:40 -msgid "Can't write an block bitmap" -msgstr "Không thể ghi mảng ảnh khối" - -#: lib/ext2fs/ext2_err.c:41 -msgid "Can't read an block bitmap" -msgstr "Không thể Ä‘á»c mảng ảnh khối" - -#: lib/ext2fs/ext2_err.c:42 -msgid "Can't write an inode table" -msgstr "Không thể ghi bảng nút thông tin" - -#: lib/ext2fs/ext2_err.c:43 -msgid "Can't read an inode table" -msgstr "Không thể Ä‘á»c bảng nút thông tin" - -#: lib/ext2fs/ext2_err.c:44 -msgid "Can't read next inode" -msgstr "Không thể Ä‘á»c nút tiếp theo" - -#: lib/ext2fs/ext2_err.c:45 -msgid "Filesystem has unexpected block size" -msgstr "Hệ thống tập tin có kích cỡ khối bất thÆ°á»ng" - -#: lib/ext2fs/ext2_err.c:46 -msgid "EXT2 directory corrupted" -msgstr "ThÆ° mục ext2 đã há»ng" - -#: lib/ext2fs/ext2_err.c:47 -msgid "Attempt to read block from filesystem resulted in short read" -msgstr "Thá»­ Ä‘á»c khối từ hệ thống tập tin kết quả dạng ngắn" - -#: lib/ext2fs/ext2_err.c:48 -msgid "Attempt to write block to filesystem resulted in short write" -msgstr "Thá»­ ghi khối tá»›i hệ thống tập tin kết quả dạng ngắn" - -#: lib/ext2fs/ext2_err.c:49 -msgid "No free space in the directory" -msgstr "Không còn không gian trống trong thÆ° mục" - -#: lib/ext2fs/ext2_err.c:50 -msgid "Inode bitmap not loaded" -msgstr "Mảng nút không được tải lên" - -#: lib/ext2fs/ext2_err.c:51 -msgid "Block bitmap not loaded" -msgstr "Mảng khối không được tải lên" - -#: lib/ext2fs/ext2_err.c:52 -msgid "Illegal inode number" -msgstr "Sai số lượng nút" - -#: lib/ext2fs/ext2_err.c:53 -msgid "Illegal block number" -msgstr "Sai số lượng khối" - -#: lib/ext2fs/ext2_err.c:54 -msgid "Internal error in ext2fs_expand_dir" -msgstr "Lá»—i ná»™i bá»™ trong ext2fs_expand_dir" - -#: lib/ext2fs/ext2_err.c:55 -msgid "Not enough space to build proposed filesystem" -msgstr "Không đủ sức chứa để xây dá»±ng hệ thống tập tin nhÆ° Ä‘á» xuất" - -#: lib/ext2fs/ext2_err.c:56 -msgid "Illegal block number passed to ext2fs_mark_block_bitmap" -msgstr "Sai số lượng khối chuyển tá»›i ext2fs_mark_block_bitmap" - -#: lib/ext2fs/ext2_err.c:57 -msgid "Illegal block number passed to ext2fs_unmark_block_bitmap" -msgstr "Sai số lượng khối chuyển tá»›i ext2fs_unmark_block_bitmap" - -#: lib/ext2fs/ext2_err.c:58 -msgid "Illegal block number passed to ext2fs_test_block_bitmap" -msgstr "Sai số lượng khối chuyển tá»›i ext2fs_test_block_bitmap" - -#: lib/ext2fs/ext2_err.c:59 -msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap" -msgstr "Sai số lượng nút chuyển tá»›i ext2fs_mark_inode_bitmap" - -#: lib/ext2fs/ext2_err.c:60 -msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap" -msgstr "Sai số lượng nút chuyển tá»›i ext2fs_unmark_inode_bitmap" - -#: lib/ext2fs/ext2_err.c:61 -msgid "Illegal inode number passed to ext2fs_test_inode_bitmap" -msgstr "Sai số lượng nút chuyển tá»›i ext2fs_test_inode_bitmap" - -#: lib/ext2fs/ext2_err.c:62 -msgid "Attempt to fudge end of block bitmap past the real end" -msgstr "Thá»­ chuyển cuối của mảng khối qua phần cuối thật" - -#: lib/ext2fs/ext2_err.c:63 -msgid "Attempt to fudge end of inode bitmap past the real end" -msgstr "Thá»­ chuyển cuối của mảng nút qua phần cuối thật" - -#: lib/ext2fs/ext2_err.c:64 -msgid "Illegal indirect block found" -msgstr "Tìm thấy khối gián tiếp không hợp lệ" - -#: lib/ext2fs/ext2_err.c:65 -msgid "Illegal doubly indirect block found" -msgstr "Tìm thấy khối gián tiếp đôi không hợp lệ" - -#: lib/ext2fs/ext2_err.c:66 -msgid "Illegal triply indirect block found" -msgstr "Tìm thấy khối gián tiếp ba không hợp lệ" - -#: lib/ext2fs/ext2_err.c:67 -msgid "Block bitmaps are not the same" -msgstr "Mảng ảnh khối không giống nhau" - -#: lib/ext2fs/ext2_err.c:68 -msgid "Inode bitmaps are not the same" -msgstr "Mảng ảnh nút không giống nhau" - -#: lib/ext2fs/ext2_err.c:69 -msgid "Illegal or malformed device name" -msgstr "Tên thiết bị không hợp lệ hay dị hình" - -#: lib/ext2fs/ext2_err.c:70 -msgid "A block group is missing an inode table" -msgstr "Má»™t nhóm khối bị mất má»™t bảng nút" - -#: lib/ext2fs/ext2_err.c:71 -msgid "The ext2 superblock is corrupt" -msgstr "Siêu khối ext2 bị há»ng." - -#: lib/ext2fs/ext2_err.c:72 -msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap" -msgstr "Số bít chung không hợp lệ được chuyển qua cho ext2fs_mark_generic_bitmap" - -#: lib/ext2fs/ext2_err.c:73 -msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap" -msgstr "Số bít chung không hợp lệ được chuyển qua cho ext2fs_unmark_generic_bitmap" - -#: lib/ext2fs/ext2_err.c:74 -msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap" -msgstr "Số bít chung không hợp lệ được chuyển qua cho ext2fs_test_generic_bitmap" - -#: lib/ext2fs/ext2_err.c:75 -msgid "Too many symbolic links encountered." -msgstr "Gặp quá nhiá»u liên kết tượng trÆ°ng" - -#: lib/ext2fs/ext2_err.c:76 -msgid "The callback function will not handle this case" -msgstr "Hàm gá»i ngược callback không được tiếp nhận trong trÆ°á»ng hợp này" - -#: lib/ext2fs/ext2_err.c:77 -msgid "The inode is from a bad block in the inode table" -msgstr "Nút từ má»™t khối sai trong bảng nút" - -#: lib/ext2fs/ext2_err.c:78 -msgid "Filesystem has unsupported feature(s)" -msgstr "Hệ thống tập tin có tính năng không được há»— trợ" - -#: lib/ext2fs/ext2_err.c:79 -msgid "Filesystem has unsupported read-only feature(s)" -msgstr "Hệ thống tập tin không há»— trợ tính năng chỉ Ä‘á»c" - -#: lib/ext2fs/ext2_err.c:80 -msgid "IO Channel failed to seek on read or write" -msgstr "Kênh IO gặp lá»—i khi di chuyển vị trí trên tập tin lúc Ä‘á»c hay ghi" - -#: lib/ext2fs/ext2_err.c:81 -msgid "Memory allocation failed" -msgstr "Lá»—i cấp phát vùng nhá»›" - -#: lib/ext2fs/ext2_err.c:82 -msgid "Invalid argument passed to ext2 library" -msgstr "Äối số không hợp lệ được chuyển qua cho thÆ° viện profile" - -#: lib/ext2fs/ext2_err.c:83 -msgid "Could not allocate block in ext2 filesystem" -msgstr "Không thể cấp phát khối cho kiểu hế thống tập tin ext2" - -#: lib/ext2fs/ext2_err.c:84 -msgid "Could not allocate inode in ext2 filesystem" -msgstr "Không thể cấp phát nút cho hệ thống tập tin ext2" - -#: lib/ext2fs/ext2_err.c:85 -msgid "Ext2 inode is not a directory" -msgstr "Nút ext2 không phải là má»™t thÆ° mục" - -#: lib/ext2fs/ext2_err.c:86 -msgid "Too many references in table" -msgstr "Có quá nhiá»u tham chiếu trong bảng" - -#: lib/ext2fs/ext2_err.c:87 -msgid "File not found by ext2_lookup" -msgstr "Tập tin không tìm được bởi ext2_lookup" - -#: lib/ext2fs/ext2_err.c:88 -msgid "File open read-only" -msgstr "Mở tập tin trong chế Ä‘á»™ chỉ cho Ä‘á»c" - -#: lib/ext2fs/ext2_err.c:89 -msgid "Ext2 directory block not found" -msgstr "Khối thÆ° mục ext2 không tìm thấy" - -#: lib/ext2fs/ext2_err.c:90 -msgid "Ext2 directory already exists" -msgstr "ThÆ° mục ext2 đã tồn tại rồi" - -#: lib/ext2fs/ext2_err.c:91 -msgid "Unimplemented ext2 library function" -msgstr "Chức năng thÆ° viện ext2 chÆ°a được thá»±c hiện" - -#: lib/ext2fs/ext2_err.c:92 -msgid "User cancel requested" -msgstr "NgÆ°á»i dùng yêu cầu hủy" - -#: lib/ext2fs/ext2_err.c:93 -msgid "Ext2 file too big" -msgstr "Tập tin ext2 quá lá»›n" - -#: lib/ext2fs/ext2_err.c:94 -msgid "Supplied journal device not a block device" -msgstr "Ãp dụng thiết bị journal không phải thiết bị khối." - -#: lib/ext2fs/ext2_err.c:95 -msgid "Journal superblock not found" -msgstr "Không tìm thấy siêu khối nhật ký (Journal)" - -#: lib/ext2fs/ext2_err.c:96 -msgid "Journal must be at least 1024 blocks" -msgstr "Journal phải có ít nhất 1024 khối" - -#: lib/ext2fs/ext2_err.c:97 -msgid "Unsupported journal version" -msgstr "phiên bản journal không được há»— trợ" - -#: lib/ext2fs/ext2_err.c:98 -msgid "Error loading external journal" -msgstr "Lá»—i tải journal mở rá»™ng" - -#: lib/ext2fs/ext2_err.c:99 -msgid "Journal not found" -msgstr "Không tìm thấy Journal" - -#: lib/ext2fs/ext2_err.c:100 -msgid "Directory hash unsupported" -msgstr "ThÆ° mục bảng băm không được há»— trợ" - -#: lib/ext2fs/ext2_err.c:101 -msgid "Illegal extended attribute block number" -msgstr "Số khối thuá»™c tính mở rá»™ng không hợp lệ" - -#: lib/ext2fs/ext2_err.c:102 -msgid "Cannot create filesystem with requested number of inodes" -msgstr "Không thể tạo hệ thống tập tin vá»›i số nút đã yêu cầu" - -#: lib/ext2fs/ext2_err.c:103 -msgid "E2image snapshot not in use" -msgstr "Bản chụp nhanh E2image không được sá»­ dụng" - -#: lib/ext2fs/ext2_err.c:104 -msgid "Too many reserved group descriptor blocks" -msgstr "Có quá nhiá»u khối mô tả nhóm dá»± trữ" - -#: lib/ext2fs/ext2_err.c:105 -msgid "Resize inode is corrupt" -msgstr "Thay đổi kích thÆ°á»›c nút bị thất bại" - -#: lib/ext2fs/ext2_err.c:106 -msgid "Tried to set block bmap with missing indirect block" -msgstr "Thá»­ đặt khối bmap vá»›i khối gián tiếp bị mất" - -#: lib/ext2fs/ext2_err.c:107 -msgid "TDB: Success" -msgstr "TDB: Thành công" - -#: lib/ext2fs/ext2_err.c:108 -msgid "TDB: Corrupt database" -msgstr "TDB: CÆ¡ sở dữ liệu há»ng" - -#: lib/ext2fs/ext2_err.c:109 -msgid "TDB: IO Error" -msgstr "TDB: IO Lá»—i" - -#: lib/ext2fs/ext2_err.c:110 -msgid "TDB: Locking error" -msgstr "TDB: Lá»—i khóa" - -#: lib/ext2fs/ext2_err.c:111 -msgid "TDB: Out of memory" -msgstr "TDB: Hết bá»™ nhá»›" - -#: lib/ext2fs/ext2_err.c:112 -msgid "TDB: Record exists" -msgstr "TDB: Bản ghi đã sẵn có" - -#: lib/ext2fs/ext2_err.c:113 -msgid "TDB: Lock exists on other keys" -msgstr "TDB: Khoá đã tồn tại trên chìa khoá khác" - -#: lib/ext2fs/ext2_err.c:114 -msgid "TDB: Invalid parameter" -msgstr "TDB: Äối số không hợp lệ" - -#: lib/ext2fs/ext2_err.c:115 -msgid "TDB: Record does not exist" -msgstr "TDB: Bản ghi chÆ°a tồn tại" - -#: lib/ext2fs/ext2_err.c:116 -msgid "TDB: Write not permitted" -msgstr "TDB: Không có quyá»n ghi" - -#: lib/ext2fs/ext2_err.c:117 -msgid "Ext2fs directory block list is empty" -msgstr "Danh sách khối thÆ° mục ext2fs bị rá»—ng" - -#: lib/ext2fs/ext2_err.c:118 -msgid "Attempt to modify a block mapping via a read-only block iterator" -msgstr "Thá»­ chỉnh sá»­a má»™t mảng khối thông qua bá»™ lặp khối chỉ Ä‘á»c" - -#: lib/ext2fs/ext2_err.c:119 -msgid "Wrong magic number for ext4 extent saved path" -msgstr "Sai số nhiệm màu cho mở rá»™ng ext4 ghi lại Ä‘Æ°á»ng dẫn" - -#: lib/ext2fs/ext2_err.c:120 -msgid "Wrong magic number for 64-bit generic bitmap" -msgstr "Sai số nhiệm màu cho bitmap chung 64-bit" - -#: lib/ext2fs/ext2_err.c:121 -msgid "Wrong magic number for 64-bit block bitmap" -msgstr "Sai số nhiệm màu cho bitmap khối 64-bit" - -#: lib/ext2fs/ext2_err.c:122 -msgid "Wrong magic number for 64-bit inode bitmap" -msgstr "Sai số nhiệm màu cho bitmap nút 64-bit" - -#: lib/ext2fs/ext2_err.c:123 -msgid "Wrong magic number --- RESERVED_13" -msgstr "Sai số nhiệm màu --- RESERVED_13" - -#: lib/ext2fs/ext2_err.c:124 -msgid "Wrong magic number --- RESERVED_14" -msgstr "Sai số nhiệm màu --- RESERVED_14" - -#: lib/ext2fs/ext2_err.c:125 -msgid "Wrong magic number --- RESERVED_15" -msgstr "Sai số nhiệm màu --- RESERVED_15" - -#: lib/ext2fs/ext2_err.c:126 -msgid "Wrong magic number --- RESERVED_16" -msgstr "Sai số nhiệm màu --- RESERVED_16" - -#: lib/ext2fs/ext2_err.c:127 -msgid "Wrong magic number --- RESERVED_17" -msgstr "Sai số nhiệm màu --- RESERVED_17" - -#: lib/ext2fs/ext2_err.c:128 -msgid "Wrong magic number --- RESERVED_18" -msgstr "Sai số nhiệm màu --- RESERVED_18" - -#: lib/ext2fs/ext2_err.c:129 -msgid "Wrong magic number --- RESERVED_19" -msgstr "Sai số nhiệm màu --- RESERVED_19" - -#: lib/ext2fs/ext2_err.c:130 -msgid "Corrupt extent header" -msgstr "Phần đầu extent bị há»ng" - -#: lib/ext2fs/ext2_err.c:131 -msgid "Corrupt extent index" -msgstr "Chỉ số extent bị há»ng" - -#: lib/ext2fs/ext2_err.c:132 -msgid "Corrupt extent" -msgstr "extent há»ng" - -#: lib/ext2fs/ext2_err.c:133 -msgid "No free space in extent map" -msgstr "Không còn khoảng Ä‘Ä©a trống cho mảng extent" - -#: lib/ext2fs/ext2_err.c:134 -msgid "Inode does not use extents" -msgstr "Inode does not use extents" - -#: lib/ext2fs/ext2_err.c:135 -msgid "No 'next' extent" -msgstr "Không có extent “tiếp theoâ€" - -#: lib/ext2fs/ext2_err.c:136 -msgid "No 'previous' extent" -msgstr "Không có extent “liá»n trÆ°á»›câ€" - -#: lib/ext2fs/ext2_err.c:137 -msgid "No 'up' extent" -msgstr "Không có extent “lênâ€" - -#: lib/ext2fs/ext2_err.c:138 -msgid "No 'down' extent" -msgstr "Không có extent “xuốngâ€" - -#: lib/ext2fs/ext2_err.c:139 -msgid "No current node" -msgstr "Không nút hiện thá»i hành" - -#: lib/ext2fs/ext2_err.c:140 -msgid "Ext2fs operation not supported" -msgstr "Thao tác Ext2fs không được há»— trợ" - -#: lib/ext2fs/ext2_err.c:141 -msgid "No room to insert extent in node" -msgstr "Không còn phòng nào để chèn extent trong nút" - -#: lib/ext2fs/ext2_err.c:142 -msgid "Splitting would result in empty node" -msgstr "Phân tách có thể làm nguyên nhân nút bị rá»—ng" - -#: lib/ext2fs/ext2_err.c:143 -msgid "Extent not found" -msgstr "Extent không tìm thấy" - -#: lib/ext2fs/ext2_err.c:144 -msgid "Operation not supported for inodes containing extents" -msgstr "Thao tác không được há»— trợ cho nút chứa phần mở rá»™ng" - -#: lib/ext2fs/ext2_err.c:145 -msgid "Extent length is invalid" -msgstr "Äá»™ dài kích thÆ°á»›c không hợp lệ" - -#: lib/ext2fs/ext2_err.c:146 -msgid "I/O Channel does not support 64-bit block numbers" -msgstr "Kênh I/O không há»— trợ số khối 64-bít" - -#: lib/ext2fs/ext2_err.c:147 -msgid "Can't check if filesystem is mounted due to missing mtab file" -msgstr "Không thể kiểm tra nếu hệ thống tập tin được gắn bởi vì mất tập tin mtab" - -#: lib/ext2fs/ext2_err.c:148 -msgid "Filesystem too large to use legacy bitmaps" -msgstr "Hệ thống tập tin quá lá»›n để có thể sá»­ dụng mảng kiểu cÅ©" - -#: lib/ext2fs/ext2_err.c:149 -msgid "MMP: invalid magic number" -msgstr "MMP: sai số màu nhiệm" - -#: lib/ext2fs/ext2_err.c:150 -msgid "MMP: device currently active" -msgstr "MMP: thiết bị hiện thá»i hoạt Ä‘á»™ng" - -#: lib/ext2fs/ext2_err.c:151 -msgid "MMP: fsck being run" -msgstr "MMP: fsck Ä‘ang chạy" - -#: lib/ext2fs/ext2_err.c:152 -msgid "MMP: block number beyond filesystem range" -msgstr "MMP: số khối nằm xa ngoài vùng của hệ thống tập tin" - -#: lib/ext2fs/ext2_err.c:153 -msgid "MMP: undergoing an unknown operation" -msgstr "MMP: trải qua má»™t thao tác chÆ°a được biết đến" - -#: lib/ext2fs/ext2_err.c:154 -msgid "MMP: filesystem still in use" -msgstr "MMP: hệ thống tập tin vẫn Ä‘ang được sá»­ dụng" - -#: lib/ext2fs/ext2_err.c:155 -msgid "MMP: open with O_DIRECT failed" -msgstr "MMP: mở vá»›i O_DIRECT gặp lá»—i" - -#: lib/ext2fs/ext2_err.c:156 -msgid "Block group descriptor size incorrect" -msgstr "Kích thÆ°á»›c bá»™ mô tả nhóm khối không " - -#: lib/ext2fs/ext2_err.c:157 -msgid "Inode checksum does not match inode" -msgstr "Tổng kiểm nút không khá»›p vá»›i nút " - -#: lib/ext2fs/ext2_err.c:158 -msgid "Inode bitmap checksum does not match bitmap" -msgstr "Tổng kiểm Mảng ảnh nút không khá»›p nhau" - -#: lib/ext2fs/ext2_err.c:159 -msgid "Extent block checksum does not match extent block" -msgstr "Tổng kiểm tra khối mở rá»™ng không khá»›p vá»›i khối mở rá»™ng" - -#: lib/ext2fs/ext2_err.c:160 -msgid "Directory block does not have space for checksum" -msgstr "Khối thÆ° mục không có chá»— dành cho tổng kiểm tra" - -#: lib/ext2fs/ext2_err.c:161 -msgid "Directory block checksum does not match directory block" -msgstr "Tổng kiểm tra khối thÆ° mục không khá»›p vá»›i khối thÆ° mục" - -#: lib/ext2fs/ext2_err.c:162 -msgid "Extended attribute block checksum does not match block" -msgstr "Tổng kiểm tra khối thuá»™c tính mở rá»™ng không khá»›p vá»›i khối" - -#: lib/ext2fs/ext2_err.c:163 -msgid "Superblock checksum does not match superblock" -msgstr "Tổng kiểm siêu khối không khá»›p vá»›i siêu khối " - -#: lib/ext2fs/ext2_err.c:164 -msgid "Unknown checksum algorithm" -msgstr "Không hiểu thuật toán băm tổng kiểm " - -#: lib/ext2fs/ext2_err.c:165 -msgid "MMP block checksum does not match MMP block" -msgstr "Tổng kiểm tra khối MMP không khá»›p vá»›i khối MMP" - -#: lib/ext2fs/ext2_err.c:166 -msgid "Ext2 file already exists" -msgstr "Tập tin ext2 đã sẵn có rồi" - -#: e2fsck/prof_err.c:11 -msgid "Profile version 0.0" -msgstr "Profile phiên bản 0.0" - -#: e2fsck/prof_err.c:12 -msgid "Bad magic value in profile_node" -msgstr "Giá trị số mầu nhiệm sai trong profile_node" - -#: e2fsck/prof_err.c:13 -msgid "Profile section not found" -msgstr "Phần của profile không tìm thấy" - -#: e2fsck/prof_err.c:14 -msgid "Profile relation not found" -msgstr "Mối quan hệ profile không tìm thấy" - -#: e2fsck/prof_err.c:15 -msgid "Attempt to add a relation to node which is not a section" -msgstr "Thá»­ thêm quan hệ vào nút mà nó không là má»™t chÆ°Æ¡ng" - -#: e2fsck/prof_err.c:16 -msgid "A profile section header has a non-zero value" -msgstr "Phần đầu chÆ°Æ¡ng profile phải có giá trị khác không" - -#: e2fsck/prof_err.c:17 -msgid "Bad linked list in profile structures" -msgstr "Danh sách liên kết không đúng trong cấu trúc profile" - -#: e2fsck/prof_err.c:18 -msgid "Bad group level in profile structures" -msgstr "Mức nhóm không đúng trong cấu trúc profile" - -#: e2fsck/prof_err.c:19 -msgid "Bad parent pointer in profile structures" -msgstr "Con trỠđến cha không đúng trong cấu trúc profile" - -#: e2fsck/prof_err.c:20 -msgid "Bad magic value in profile iterator" -msgstr "Giá trị số mầu nhiệm sai trong profile iterator" - -#: e2fsck/prof_err.c:21 -msgid "Can't set value on section node" -msgstr "Không thể đặt giá trị trên nút của Ä‘oạn" - -#: e2fsck/prof_err.c:22 -msgid "Invalid argument passed to profile library" -msgstr "Tham số không hợp lệ được chuyển qua cho thÆ° viện profile" - -#: e2fsck/prof_err.c:23 -msgid "Attempt to modify read-only profile" -msgstr "Thá»­ viết vào hệ thống tập tin profile chỉ Ä‘á»c" - -#: e2fsck/prof_err.c:24 -msgid "Profile section header not at top level" -msgstr "Phần đầu chÆ°Æ¡ng profile không ở mức cao nhất" - -#: e2fsck/prof_err.c:25 -msgid "Syntax error in profile section header" -msgstr "Cú pháp lá»—i trong khai báo phần đầu chÆ°Æ¡ng profile" - -#: e2fsck/prof_err.c:26 -msgid "Syntax error in profile relation" -msgstr "Sai cú pháp trong quan hệ profile" - -#: e2fsck/prof_err.c:27 -msgid "Extra closing brace in profile" -msgstr "Bổ xung dấu ngoặc ôm đóng trong profile" - -#: e2fsck/prof_err.c:28 -msgid "Missing open brace in profile" -msgstr "Thiếu mất dấu ngoặc ôm mở trong profile" - -#: e2fsck/prof_err.c:29 -msgid "Bad magic value in profile_t" -msgstr "Số nhiệm màu sai trong profile_t" - -#: e2fsck/prof_err.c:30 -msgid "Bad magic value in profile_section_t" -msgstr "Giá trị số mầu nhiệm sai trong profile_section_t" - -#: e2fsck/prof_err.c:31 -msgid "Iteration through all top level section not supported" -msgstr "Lặp Ä‘i lặp lại qua toàn bá»™ chÆ°Æ¡ng ở mức cao nhất không được há»— trợ" - -#: e2fsck/prof_err.c:32 -msgid "Invalid profile_section object" -msgstr "Äối tượng profile_section không hợp lệ" - -#: e2fsck/prof_err.c:33 -msgid "No more sections" -msgstr "Không còn thêm phần nào nữa" - -#: e2fsck/prof_err.c:34 -msgid "Bad nameset passed to query routine" -msgstr "Tên sai được chuyển qua cho thủ tục truy vấn" - -#: e2fsck/prof_err.c:35 -msgid "No profile file open" -msgstr "Không mở tập tin profile nào" - -#: e2fsck/prof_err.c:36 -msgid "Bad magic value in profile_file_t" -msgstr "Giá trị số mầu nhiệm sai trong profile_file_t" - -#: e2fsck/prof_err.c:37 -msgid "Couldn't open profile file" -msgstr "Không thể mở tập tin profile" - -#: e2fsck/prof_err.c:38 -msgid "Section already exists" -msgstr "Phần đã tồn tại rồi" - -#: e2fsck/prof_err.c:39 -msgid "Invalid boolean value" -msgstr "Giá trị lô-gíc không hợp lệ" - -#: e2fsck/prof_err.c:40 -msgid "Invalid integer value" -msgstr "Giá trị nguyên không hợp lệ" - -#: e2fsck/prof_err.c:41 -msgid "Bad magic value in profile_file_data_t" -msgstr "Giá trị số mầu nhiệm sai trong profile_file_data_t" - -#~ msgid "Clearing extent flag not supported on %s" -#~ msgstr "Chức năng xoá sạch cá» tầm không được há»— trợ trên %s" - -#~ msgid "" -#~ "%s: The combination of flex_bg and\n" -#~ "\t!resize_inode features is not supported by resize2fs.\n" -#~ msgstr "" -#~ "%s: tổ hợp hai tính năng flex_bg và !resize_inode\n" -#~ "Ä‘á»u không được resize2fs há»— trợ.\n" - -#~ msgid "%s is mounted. " -#~ msgstr "%s đã gắn kết. " - -#~ msgid "@g %g @b @B uninitialized but @i @B in use.\n" -#~ msgstr "@B @b của @g %g chÆ°a khởi tạo nhÆ°ng Ä‘ang dùng @B @i.\n" - -#~ msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" -#~ msgstr "@i %i không nên lập EOFBLOCKS_FL (kích cỡ %Is, lblk %r)\n" - -#~ msgid "Couldn't determine journal size" -#~ msgstr "Không thể quyết định kích cỡ nhật ký" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "short write (only %d bytes) for writing image header" -#~ msgstr "ghi ngắn (chỉ %d byte) để ghi phần đầu ảnh" - -#~ msgid "invalid fragment size - %s" -#~ msgstr "cỡ Ä‘oạn không hợp lệ — %s" - -#~ msgid "Warning: fragments not supported. Ignoring -f option\n" -#~ msgstr "Cảnh báo: không há»— trợ Ä‘oạn nên bá» qua tùy chá»n “-fâ€\n" - -#~ msgid "Calling BLKDISCARD from %llu to %llu " -#~ msgstr "Äang gá»i BLKDISCARD từ %llu đến %llu " - -#~ msgid "succeeded.\n" -#~ msgstr "đã thành công.\n" - -#~ msgid "Journal NOT removed\n" -#~ msgstr "CHƯA gỡ bá» nhật ký\n" - -#~ msgid "#\t\t %u -> %u (%d)\n" -#~ msgstr "#\t\t %u -> %u (%d)\n" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo index 406ce2a2..ec248fc0 100644 Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ diff --git a/po/zh_CN.po b/po/zh_CN.po index f7ddd315..80da7b39 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1,6 +1,6 @@ # Chinese (simplified) translation for e2fsprogs. # This file is distributed under the same license as the e2fsprogs package. -# Dark Raven , 2009, 2010, 2011 +# Dark Raven , 2009, 2010. # #. 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, @@ -62,714 +62,712 @@ #. msgid "" msgstr "" -"Project-Id-Version: e2fsprogs-1.41.14\n" +"Project-Id-Version: e2fsprogs-1.41.11\n" "Report-Msgid-Bugs-To: tytso@alum.mit.edu\n" -"POT-Creation-Date: 2012-06-12 14:40-0400\n" -"PO-Revision-Date: 2011-01-26 21:53+0800\n" +"POT-Creation-Date: 2010-05-17 23:05-0400\n" +"PO-Revision-Date: 2010-04-12 20:50+0800\n" "Last-Translator: Dark Raven \n" "Language-Team: Chinese (simplified) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Chinese\n" "X-Poedit-Country: CHINA\n" -#: e2fsck/badblocks.c:23 misc/mke2fs.c:176 +#: e2fsck/badblocks.c:22 misc/mke2fs.c:169 #, c-format msgid "Bad block %u out of range; ignored.\n" msgstr "åå—%u超出范围;忽略.\n" -#: e2fsck/badblocks.c:46 +#: e2fsck/badblocks.c:45 msgid "while sanity checking the bad blocks inode" -msgstr "在对åå—inode进行一致性检验是" +msgstr "" -#: e2fsck/badblocks.c:58 +#: e2fsck/badblocks.c:57 msgid "while reading the bad blocks inode" msgstr "当读å–åå—inodeæ—¶" -#: e2fsck/badblocks.c:72 e2fsck/iscan.c:110 e2fsck/scantest.c:107 -#: e2fsck/unix.c:1298 e2fsck/unix.c:1386 misc/badblocks.c:1214 -#: misc/badblocks.c:1222 misc/badblocks.c:1236 misc/badblocks.c:1248 -#: misc/dumpe2fs.c:588 misc/e2image.c:1189 misc/e2image.c:1307 -#: misc/e2image.c:1320 misc/mke2fs.c:192 misc/tune2fs.c:1907 resize/main.c:303 +#: e2fsck/badblocks.c:71 e2fsck/iscan.c:112 e2fsck/scantest.c:109 +#: e2fsck/unix.c:1083 e2fsck/unix.c:1166 misc/badblocks.c:1155 +#: misc/badblocks.c:1163 misc/badblocks.c:1177 misc/badblocks.c:1189 +#: misc/dumpe2fs.c:552 misc/e2image.c:583 misc/e2image.c:679 +#: misc/e2image.c:695 misc/mke2fs.c:185 misc/tune2fs.c:1573 resize/main.c:310 #, c-format msgid "while trying to open %s" msgstr "当å°è¯•æ‰“å¼€ %s æ—¶" -#: e2fsck/badblocks.c:83 +#: e2fsck/badblocks.c:82 #, c-format msgid "while trying popen '%s'" msgstr "当å°è¯•å¯¹ '%s' 进行popenæ—¶" -#: e2fsck/badblocks.c:94 misc/mke2fs.c:199 +#: e2fsck/badblocks.c:93 misc/mke2fs.c:192 msgid "while reading in list of bad blocks from file" msgstr "当从文件中读å–åå—表时" -#: e2fsck/badblocks.c:105 +#: e2fsck/badblocks.c:104 msgid "while updating bad block inode" msgstr "当更新åå—inodeæ—¶" -#: e2fsck/badblocks.c:131 +#: e2fsck/badblocks.c:130 #, c-format msgid "Warning: illegal block %u found in bad block inode. Cleared.\n" msgstr "警告:在åå—inode中å‘现éžæ³•çš„å—%u. 清除.\n" -#: e2fsck/ehandler.c:55 +#: e2fsck/ehandler.c:54 #, fuzzy, c-format msgid "Error reading block %lu (%s) while %s. " msgstr "读å–å— %lu (%s) 错误 , %s. " -#: e2fsck/ehandler.c:58 +#: e2fsck/ehandler.c:57 #, c-format msgid "Error reading block %lu (%s). " msgstr "读å–å— %lu (%s) 错误" -#: e2fsck/ehandler.c:61 e2fsck/ehandler.c:110 +#: e2fsck/ehandler.c:60 e2fsck/ehandler.c:109 msgid "Ignore error" msgstr "忽略错误" -#: e2fsck/ehandler.c:62 +#: e2fsck/ehandler.c:61 msgid "Force rewrite" msgstr "强制覆盖" -#: e2fsck/ehandler.c:104 +#: e2fsck/ehandler.c:103 #, fuzzy, c-format msgid "Error writing block %lu (%s) while %s. " msgstr "å†™å— %lu (%s) 出错 , %s. " -#: e2fsck/ehandler.c:107 +#: e2fsck/ehandler.c:106 #, c-format msgid "Error writing block %lu (%s). " msgstr "å†™å— %lu (%s) 出错. " -#: e2fsck/emptydir.c:57 +#: e2fsck/emptydir.c:56 msgid "empty dirblocks" msgstr "空的dirå—" -#: e2fsck/emptydir.c:62 +#: e2fsck/emptydir.c:61 msgid "empty dir map" msgstr "空ACL映射" -#: e2fsck/emptydir.c:98 +#: e2fsck/emptydir.c:97 #, c-format msgid "Empty directory block %u (#%d) in inode %u\n" msgstr "ç©ºç›®å½•å— %u (#%d),于 inode %u 中\n" -#: e2fsck/extend.c:22 +#: e2fsck/extend.c:21 #, c-format msgid "%s: %s filename nblocks blocksize\n" msgstr "" -#: e2fsck/extend.c:44 +#: e2fsck/extend.c:43 #, c-format msgid "Illegal number of blocks!\n" msgstr "éžæ³•çš„å—æ•°é‡!\n" -#: e2fsck/extend.c:50 +#: e2fsck/extend.c:49 #, c-format msgid "Couldn't allocate block buffer (size=%d)\n" msgstr "无法分é…å—缓存 (大å°=%d)\n" -#: e2fsck/flushb.c:35 +#: e2fsck/flushb.c:34 #, c-format msgid "Usage: %s disk\n" msgstr "用法: %s disk\n" -#: e2fsck/flushb.c:64 +#: e2fsck/flushb.c:63 #, c-format msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n" msgstr "ä¸æ”¯æŒå¯¹BLKFLSBUF进行 ioctl 调用! 无法刷新缓存.\n" -#: e2fsck/iscan.c:44 +#: e2fsck/iscan.c:46 #, c-format msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n" msgstr "用法: %s [-F] [-I inode_buffer_blocks] device\n" -#: e2fsck/iscan.c:81 e2fsck/unix.c:930 +#: e2fsck/iscan.c:83 e2fsck/unix.c:838 #, fuzzy, c-format msgid "while opening %s for flushing" msgstr "当为刷新打开“%sâ€æ—¶" -#: e2fsck/iscan.c:86 e2fsck/unix.c:936 resize/main.c:276 +#: e2fsck/iscan.c:88 e2fsck/unix.c:844 resize/main.c:286 #, fuzzy, c-format msgid "while trying to flush %s" msgstr "当å°è¯•åˆ·æ–° %s æ—¶" -#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1084 +#: e2fsck/iscan.c:121 e2fsck/scantest.c:116 misc/e2image.c:489 msgid "while opening inode scan" -msgstr "在打开inode扫ææ—¶" +msgstr "" -#: e2fsck/iscan.c:127 misc/e2image.c:1102 +#: e2fsck/iscan.c:129 misc/e2image.c:507 msgid "while getting next inode" msgstr "当获å–下一个inodeæ—¶" -#: e2fsck/iscan.c:136 +#: e2fsck/iscan.c:138 #, c-format msgid "%u inodes scanned.\n" msgstr "%u 个 inode 被扫æ.\n" -#: e2fsck/journal.c:512 +#: e2fsck/journal.c:507 msgid "reading journal superblock\n" msgstr "读å–日志超级å—\n" -#: e2fsck/journal.c:569 +#: e2fsck/journal.c:564 #, c-format msgid "%s: no valid journal superblock found\n" msgstr "%s: 没有å‘现日志超级å—\n" -#: e2fsck/journal.c:578 +#: e2fsck/journal.c:573 #, c-format msgid "%s: journal too short\n" msgstr "%s: 日志过短\n" -#: e2fsck/journal.c:870 +#: e2fsck/journal.c:860 #, c-format msgid "%s: recovering journal\n" msgstr "%s: 正在修å¤æ—¥å¿—\n" -#: e2fsck/journal.c:872 +#: e2fsck/journal.c:862 #, c-format msgid "%s: won't do journal recovery while read-only\n" msgstr "%s: 使用åªè¯»æ¨¡å¼æ—¶ä¸ä¼šè¿›è¡Œæ—¥å¿—ä¿®å¤\n" -#: e2fsck/journal.c:899 +#: e2fsck/journal.c:887 #, c-format msgid "while trying to re-open %s" -msgstr "在å°è¯•é‡æ–°æ‰“å¼€ %s æ—¶" +msgstr "" -#: e2fsck/message.c:113 +#: e2fsck/message.c:111 msgid "aextended attribute" msgstr "a扩展属性" -#: e2fsck/message.c:114 +#: e2fsck/message.c:112 msgid "Aerror allocating" msgstr "A分é…出错" -#: e2fsck/message.c:115 +#: e2fsck/message.c:113 msgid "bblock" msgstr "bå—" -#: e2fsck/message.c:116 +#: e2fsck/message.c:114 msgid "Bbitmap" msgstr "Bä½å›¾" -#: e2fsck/message.c:117 +#: e2fsck/message.c:115 msgid "ccompress" msgstr "c压缩" -#: e2fsck/message.c:118 +#: e2fsck/message.c:116 msgid "Cconflicts with some other fs @b" msgstr "C与其他文件系统@b冲çª" -#: e2fsck/message.c:119 +#: e2fsck/message.c:117 msgid "iinode" msgstr "iinode" -#: e2fsck/message.c:120 +#: e2fsck/message.c:118 msgid "Iillegal" msgstr "Iéžæ³•çš„" -#: e2fsck/message.c:121 +#: e2fsck/message.c:119 msgid "jjournal" msgstr "j日志" -#: e2fsck/message.c:122 +#: e2fsck/message.c:120 msgid "Ddeleted" msgstr "D删除" -#: e2fsck/message.c:123 +#: e2fsck/message.c:121 msgid "ddirectory" msgstr "d目录" -#: e2fsck/message.c:124 +#: e2fsck/message.c:122 msgid "eentry" msgstr "eå…¥å£" -#: e2fsck/message.c:125 +#: e2fsck/message.c:123 msgid "E@e '%Dn' in %p (%i)" -msgstr "E在 %p (%i) 中的@e '%Dn'" +msgstr "" -#: e2fsck/message.c:126 +#: e2fsck/message.c:124 msgid "ffilesystem" msgstr "f文件系统" -#: e2fsck/message.c:127 +#: e2fsck/message.c:125 msgid "Ffor @i %i (%Q) is" msgstr "" -#: e2fsck/message.c:128 +#: e2fsck/message.c:126 msgid "ggroup" msgstr "gç°‡" -#: e2fsck/message.c:129 +#: e2fsck/message.c:127 msgid "hHTREE @d @i" msgstr "hHTREE@d@i" -#: e2fsck/message.c:130 +#: e2fsck/message.c:128 msgid "llost+found" msgstr "llost+found" -#: e2fsck/message.c:131 +#: e2fsck/message.c:129 msgid "Lis a link" msgstr "L是一个链接" -#: e2fsck/message.c:132 +#: e2fsck/message.c:130 msgid "mmultiply-claimed" msgstr "" -#: e2fsck/message.c:133 +#: e2fsck/message.c:131 msgid "ninvalid" msgstr "n无效的" -#: e2fsck/message.c:134 +#: e2fsck/message.c:132 msgid "oorphaned" msgstr "孤立的" -#: e2fsck/message.c:135 +#: e2fsck/message.c:133 msgid "pproblem in" msgstr "问题出于" -#: e2fsck/message.c:136 -msgid "qquota" -msgstr "" - -#: e2fsck/message.c:137 +#: e2fsck/message.c:134 msgid "rroot @i" msgstr "ræ ¹@i" -#: e2fsck/message.c:138 +#: e2fsck/message.c:135 msgid "sshould be" msgstr "s应为" -#: e2fsck/message.c:139 +#: e2fsck/message.c:136 msgid "Ssuper@b" msgstr "S超级@b" -#: e2fsck/message.c:140 +#: e2fsck/message.c:137 msgid "uunattached" msgstr "" -#: e2fsck/message.c:141 +#: e2fsck/message.c:138 msgid "vdevice" msgstr "v设备" -#: e2fsck/message.c:142 +#: e2fsck/message.c:139 #, fuzzy msgid "xextent" msgstr "x程度" -#: e2fsck/message.c:143 +#: e2fsck/message.c:140 msgid "zzero-length" msgstr "z零长度" -#: e2fsck/message.c:154 +#: e2fsck/message.c:151 msgid "" msgstr "<空的 inode>" -#: e2fsck/message.c:155 +#: e2fsck/message.c:152 msgid "" msgstr "<åå— inode>" -#: e2fsck/message.c:157 -#, fuzzy -msgid "" -msgstr "<日志 inode>" +#: e2fsck/message.c:154 +msgid "" +msgstr "" -#: e2fsck/message.c:158 -#, fuzzy -msgid "" -msgstr "<组æ述符inode>" +#: e2fsck/message.c:155 +msgid "" +msgstr "" -#: e2fsck/message.c:159 +#: e2fsck/message.c:156 msgid "" msgstr "<å¯åŠ¨å™¨ inode>" -#: e2fsck/message.c:160 +#: e2fsck/message.c:157 msgid "" msgstr "<未删除的目录 inode>" -#: e2fsck/message.c:161 +#: e2fsck/message.c:158 msgid "" -msgstr "<组æ述符inode>" +msgstr "" -#: e2fsck/message.c:162 +#: e2fsck/message.c:159 msgid "" msgstr "<日志 inode>" -#: e2fsck/message.c:163 +#: e2fsck/message.c:160 msgid "" msgstr "<ä¿ç•™çš„ inode 9>" -#: e2fsck/message.c:164 +#: e2fsck/message.c:161 msgid "" msgstr "<ä¿ç•™çš„ inode 10>" -#: e2fsck/message.c:333 +#: e2fsck/message.c:330 +#, c-format msgid "regular file" msgstr "一般文件" -#: e2fsck/message.c:335 +#: e2fsck/message.c:332 +#, c-format msgid "directory" msgstr "文件夹" -#: e2fsck/message.c:337 +#: e2fsck/message.c:334 +#, c-format msgid "character device" msgstr "字符设备" -#: e2fsck/message.c:339 +#: e2fsck/message.c:336 +#, c-format msgid "block device" msgstr "å—设备" -#: e2fsck/message.c:341 +#: e2fsck/message.c:338 +#, c-format msgid "named pipe" msgstr "命å管é“" -#: e2fsck/message.c:343 +#: e2fsck/message.c:340 +#, c-format msgid "symbolic link" msgstr "符å·é“¾æŽ¥" -#: e2fsck/message.c:345 misc/uuidd.c:161 +#: e2fsck/message.c:342 +#, c-format msgid "socket" msgstr "套接字" -#: e2fsck/message.c:347 +#: e2fsck/message.c:344 #, c-format msgid "unknown file type with mode 0%o" msgstr "模å¼ä¸º 0%o 的未知文件类型" -#: e2fsck/message.c:423 +#: e2fsck/message.c:422 msgid "indirect block" msgstr "" -#: e2fsck/message.c:425 +#: e2fsck/message.c:424 msgid "double indirect block" msgstr "" -#: e2fsck/message.c:427 +#: e2fsck/message.c:426 msgid "triple indirect block" msgstr "" -#: e2fsck/message.c:429 +#: e2fsck/message.c:428 msgid "translator block" msgstr "" -#: e2fsck/message.c:431 +#: e2fsck/message.c:430 msgid "block #" msgstr "å— #" -#: e2fsck/pass1b.c:222 +#: e2fsck/pass1b.c:220 msgid "multiply claimed inode map" msgstr "" -#: e2fsck/pass1b.c:610 e2fsck/pass1b.c:729 -#, fuzzy, c-format -msgid "internal error: can't find dup_blk for %llu\n" -msgstr "内部错误: 无法找到 %u çš„ duo_blk\n" +#: e2fsck/pass1b.c:581 e2fsck/pass1b.c:714 +#, c-format +msgid "internal error: can't find dup_blk for %u\n" +msgstr "" -#: e2fsck/pass1b.c:820 +#: e2fsck/pass1b.c:757 msgid "returned from clone_file_block" -msgstr "从 clone_file_block 中返回" +msgstr "" -#: e2fsck/pass1b.c:842 -#, fuzzy, c-format -msgid "internal error: couldn't lookup EA block record for %llu" -msgstr "内部错误: 无法找到 %u çš„EAå—记录" +#: e2fsck/pass1b.c:776 +#, c-format +msgid "internal error: couldn't lookup EA block record for %u" +msgstr "" -#: e2fsck/pass1b.c:854 +#: e2fsck/pass1b.c:788 #, c-format msgid "internal error: couldn't lookup EA inode record for %u" -msgstr "内部错误: 无法找到 %u çš„EA节点记录" +msgstr "" -#: e2fsck/pass1.c:476 e2fsck/pass2.c:782 +#: e2fsck/pass1.c:475 e2fsck/pass2.c:776 msgid "reading directory block" msgstr "正在读å–目录å—" -#: e2fsck/pass1.c:599 +#: e2fsck/pass1.c:597 msgid "in-use inode map" msgstr "使用中的inode映射" -#: e2fsck/pass1.c:610 +#: e2fsck/pass1.c:606 msgid "directory inode map" msgstr "目录inode映射" -#: e2fsck/pass1.c:620 +#: e2fsck/pass1.c:614 msgid "regular file inode map" msgstr "普通文件inode映射" -#: e2fsck/pass1.c:629 +#: e2fsck/pass1.c:621 msgid "in-use block map" msgstr "使用中的å—映射" -#: e2fsck/pass1.c:696 +#: e2fsck/pass1.c:675 msgid "opening inode scan" -msgstr "打开inode扫æ中" +msgstr "" -#: e2fsck/pass1.c:730 +#: e2fsck/pass1.c:699 msgid "getting next inode from scan" -msgstr "正在获å–扫æ中的下一个inode" +msgstr "" -#: e2fsck/pass1.c:1240 +#: e2fsck/pass1.c:1173 msgid "Pass 1" msgstr "第1æ­¥" -#: e2fsck/pass1.c:1297 +#: e2fsck/pass1.c:1230 #, c-format msgid "reading indirect blocks of inode %u" msgstr "" -#: e2fsck/pass1.c:1347 +#: e2fsck/pass1.c:1274 msgid "bad inode map" -msgstr "错误的inode映射" +msgstr "" -#: e2fsck/pass1.c:1370 +#: e2fsck/pass1.c:1296 msgid "inode in bad block map" -msgstr "错误å—映射中的inode" +msgstr "" -#: e2fsck/pass1.c:1390 +#: e2fsck/pass1.c:1316 msgid "imagic inode map" msgstr "" -#: e2fsck/pass1.c:1417 +#: e2fsck/pass1.c:1343 msgid "multiply claimed block map" msgstr "" -#: e2fsck/pass1.c:1518 +#: e2fsck/pass1.c:1443 msgid "ext attr block map" -msgstr "ext attr å—映射" +msgstr "" -#: e2fsck/pass1.c:2266 +#: e2fsck/pass1.c:2181 #, c-format msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n" msgstr "" -#: e2fsck/pass1.c:2627 +#: e2fsck/pass1.c:2533 msgid "block bitmap" msgstr "å—ä½å›¾" -#: e2fsck/pass1.c:2633 +#: e2fsck/pass1.c:2537 msgid "inode bitmap" msgstr "inode ä½å›¾" -#: e2fsck/pass1.c:2639 +#: e2fsck/pass1.c:2541 msgid "inode table" msgstr "inode表" -#: e2fsck/pass2.c:283 +#: e2fsck/pass2.c:277 msgid "Pass 2" msgstr "第2æ­¥" -#: e2fsck/pass2.c:805 +#: e2fsck/pass2.c:799 msgid "Can not continue." msgstr "无法继续." -#: e2fsck/pass3.c:77 +#: e2fsck/pass3.c:76 msgid "inode done bitmap" msgstr "" -#: e2fsck/pass3.c:86 +#: e2fsck/pass3.c:84 msgid "Peak memory" msgstr "内存峰值" -#: e2fsck/pass3.c:136 +#: e2fsck/pass3.c:134 msgid "Pass 3" msgstr "第3æ­¥" -#: e2fsck/pass3.c:322 +#: e2fsck/pass3.c:320 msgid "inode loop detection bitmap" msgstr "" -#: e2fsck/pass4.c:195 +#: e2fsck/pass4.c:191 msgid "Pass 4" msgstr "第4æ­¥" -#: e2fsck/pass5.c:74 +#: e2fsck/pass5.c:64 msgid "Pass 5" msgstr "第5æ­¥" -#: e2fsck/problem.c:51 +#: e2fsck/problem.c:50 #, fuzzy msgid "(no prompt)" msgstr "(没有æ示)" -#: e2fsck/problem.c:52 +#: e2fsck/problem.c:51 msgid "Fix" msgstr "处ç†" -#: e2fsck/problem.c:53 +#: e2fsck/problem.c:52 msgid "Clear" msgstr "清除" -#: e2fsck/problem.c:54 +#: e2fsck/problem.c:53 msgid "Relocate" msgstr "é‡å®šä½" -#: e2fsck/problem.c:55 +#: e2fsck/problem.c:54 msgid "Allocate" msgstr "分é…" -#: e2fsck/problem.c:56 +#: e2fsck/problem.c:55 msgid "Expand" msgstr "扩充" -#: e2fsck/problem.c:57 +#: e2fsck/problem.c:56 msgid "Connect to /lost+found" msgstr "连接到 /lost+found" -#: e2fsck/problem.c:58 +#: e2fsck/problem.c:57 msgid "Create" msgstr "创建" -#: e2fsck/problem.c:59 +#: e2fsck/problem.c:58 msgid "Salvage" msgstr "ä¿®å¤" -#: e2fsck/problem.c:60 +#: e2fsck/problem.c:59 msgid "Truncate" msgstr "截断" -#: e2fsck/problem.c:61 +#: e2fsck/problem.c:60 msgid "Clear inode" msgstr "清空inode" -#: e2fsck/problem.c:62 +#: e2fsck/problem.c:61 msgid "Abort" msgstr "中断" -#: e2fsck/problem.c:63 +#: e2fsck/problem.c:62 msgid "Split" -msgstr "分裂" +msgstr "" -#: e2fsck/problem.c:64 +#: e2fsck/problem.c:63 msgid "Continue" msgstr "继续" -#: e2fsck/problem.c:65 +#: e2fsck/problem.c:64 msgid "Clone multiply-claimed blocks" msgstr "" -#: e2fsck/problem.c:66 +#: e2fsck/problem.c:65 msgid "Delete file" msgstr "删除文件" -#: e2fsck/problem.c:67 +#: e2fsck/problem.c:66 #, fuzzy msgid "Suppress messages" msgstr "ä¸æ˜¾ç¤ºæ¶ˆæ¯" -#: e2fsck/problem.c:68 +#: e2fsck/problem.c:67 msgid "Unlink" msgstr "解除链接" -#: e2fsck/problem.c:69 +#: e2fsck/problem.c:68 msgid "Clear HTree index" -msgstr "清空 HTree 索引" +msgstr "" -#: e2fsck/problem.c:70 +#: e2fsck/problem.c:69 msgid "Recreate" msgstr "é‡å»º" -#: e2fsck/problem.c:79 +#: e2fsck/problem.c:78 msgid "(NONE)" msgstr "(空)" -#: e2fsck/problem.c:80 +#: e2fsck/problem.c:79 msgid "FIXED" msgstr "已处ç†" -#: e2fsck/problem.c:81 +#: e2fsck/problem.c:80 msgid "CLEARED" msgstr "已清除" -#: e2fsck/problem.c:82 +#: e2fsck/problem.c:81 msgid "RELOCATED" msgstr "å·²é‡å®šä½" -#: e2fsck/problem.c:83 +#: e2fsck/problem.c:82 msgid "ALLOCATED" msgstr "已分é…" -#: e2fsck/problem.c:84 +#: e2fsck/problem.c:83 msgid "EXPANDED" msgstr "已扩充" -#: e2fsck/problem.c:85 +#: e2fsck/problem.c:84 msgid "RECONNECTED" msgstr "å·²é‡æ–°è¿žæŽ¥" -#: e2fsck/problem.c:86 +#: e2fsck/problem.c:85 msgid "CREATED" msgstr "已创建" -#: e2fsck/problem.c:87 +#: e2fsck/problem.c:86 msgid "SALVAGED" msgstr "已修å¤" -#: e2fsck/problem.c:88 +#: e2fsck/problem.c:87 msgid "TRUNCATED" msgstr "已截断" -#: e2fsck/problem.c:89 +#: e2fsck/problem.c:88 #, fuzzy msgid "INODE CLEARED" msgstr "INODE 已清除" -#: e2fsck/problem.c:90 +#: e2fsck/problem.c:89 msgid "ABORTED" msgstr "已中断" -#: e2fsck/problem.c:91 +#: e2fsck/problem.c:90 #, fuzzy msgid "SPLIT" msgstr "分裂" -#: e2fsck/problem.c:92 +#: e2fsck/problem.c:91 msgid "CONTINUING" msgstr "继续" -#: e2fsck/problem.c:93 +#: e2fsck/problem.c:92 msgid "MULTIPLY-CLAIMED BLOCKS CLONED" msgstr "" -#: e2fsck/problem.c:94 +#: e2fsck/problem.c:93 msgid "FILE DELETED" msgstr "文件已删除" -#: e2fsck/problem.c:95 +#: e2fsck/problem.c:94 msgid "SUPPRESSED" msgstr "ç¦æ­¢" -#: e2fsck/problem.c:96 +#: e2fsck/problem.c:95 msgid "UNLINKED" -msgstr "å·²Unlink" +msgstr "" -#: e2fsck/problem.c:97 +#: e2fsck/problem.c:96 msgid "HTREE INDEX CLEARED" -msgstr "HTREE索引已清除" +msgstr "" -#: e2fsck/problem.c:98 +#: e2fsck/problem.c:97 msgid "WILL RECREATE" msgstr "将会é‡å»º" #. @-expanded: block bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:107 +#: e2fsck/problem.c:106 msgid "@b @B for @g %g is not in @g. (@b %b)\n" msgstr "" #. @-expanded: inode bitmap for group %g is not in group. (block %b)\n -#: e2fsck/problem.c:111 +#: e2fsck/problem.c:110 msgid "@i @B for @g %g is not in @g. (@b %b)\n" msgstr "" #. @-expanded: inode table for group %g is not in group. (block %b)\n #. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n -#: e2fsck/problem.c:116 +#: e2fsck/problem.c:115 msgid "" "@i table for @g %g is not in @g. (@b %b)\n" "WARNING: SEVERE DATA LOSS POSSIBLE.\n" msgstr "" -"@g%gçš„@i表ä¸åœ¨@g中。 (@b %b)\n" -"警告:å¯èƒ½é€ æˆä¸¥é‡çš„æ•°æ®ä¸¢å¤±ã€‚\n" #. @-expanded: \n #. @-expanded: The superblock could not be read or does not describe a correct ext2\n @@ -778,7 +776,7 @@ msgstr "" #. @-expanded: is corrupt, and you might try running e2fsck with an alternate superblock:\n #. @-expanded: e2fsck -b %S \n #. @-expanded: \n -#: e2fsck/problem.c:122 +#: e2fsck/problem.c:121 #, c-format msgid "" "\n" @@ -793,20 +791,17 @@ msgstr "" #. @-expanded: The filesystem size (according to the superblock) is %b blocks\n #. @-expanded: The physical size of the device is %c blocks\n #. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n -#: e2fsck/problem.c:131 +#: e2fsck/problem.c:130 msgid "" "The @f size (according to the @S) is %b @bs\n" "The physical size of the @v is %c @bs\n" "Either the @S or the partition table is likely to be corrupt!\n" msgstr "" -"@fçš„å¤§å° (ä¾æ®@S) 为 %b @b\n" -"而@v的物ç†å¤§å°ä¸º %c @b\n" -"@S或分区表å¯èƒ½å·²è¢«æŸåï¼\n" #. @-expanded: superblock block_size = %b, fragsize = %c.\n #. @-expanded: This version of e2fsck does not support fragment sizes different\n #. @-expanded: from the block size.\n -#: e2fsck/problem.c:138 +#: e2fsck/problem.c:137 msgid "" "@S @b_size = %b, fragsize = %c.\n" "This version of e2fsck does not support fragment sizes different\n" @@ -814,26 +809,24 @@ msgid "" msgstr "" #. @-expanded: superblock blocks_per_group = %b, should have been %c\n -#: e2fsck/problem.c:145 +#: e2fsck/problem.c:144 msgid "@S @bs_per_group = %b, should have been %c\n" msgstr "" #. @-expanded: superblock first_data_block = %b, should have been %c\n -#: e2fsck/problem.c:150 +#: e2fsck/problem.c:149 msgid "@S first_data_@b = %b, should have been %c\n" msgstr "" #. @-expanded: filesystem did not have a UUID; generating one.\n #. @-expanded: \n -#: e2fsck/problem.c:155 +#: e2fsck/problem.c:154 msgid "" "@f did not have a UUID; generating one.\n" "\n" msgstr "" -"@f缺少UUID;正在生æˆä¸€ä¸ªã€‚\n" -"\n" -#: e2fsck/problem.c:160 +#: e2fsck/problem.c:159 #, c-format msgid "" "Note: if several inode or block bitmap blocks or part\n" @@ -845,56 +838,56 @@ msgid "" msgstr "" #. @-expanded: Corruption found in superblock. (%s = %N).\n -#: e2fsck/problem.c:169 +#: e2fsck/problem.c:168 msgid "Corruption found in @S. (%s = %N).\n" msgstr "在@S中å‘现错误. (%s = %N).\n" #. @-expanded: Error determining size of the physical device: %m\n -#: e2fsck/problem.c:174 +#: e2fsck/problem.c:173 #, c-format msgid "Error determining size of the physical @v: %m\n" msgstr "决定物ç†@v的大å°å‡ºé”™ %m\n" #. @-expanded: inode count in superblock is %i, should be %j.\n -#: e2fsck/problem.c:179 +#: e2fsck/problem.c:178 msgid "@i count in @S is %i, @s %j.\n" msgstr "@S中的@i计数为 %i,@s %j.\n" -#: e2fsck/problem.c:183 +#: e2fsck/problem.c:182 msgid "The Hurd does not support the filetype feature.\n" -msgstr "Hurd系统ä¸æ”¯æŒfiletype功能。\n" +msgstr "" #. @-expanded: superblock has an invalid journal (inode %i).\n -#: e2fsck/problem.c:188 +#: e2fsck/problem.c:187 #, c-format msgid "@S has an @n @j (@i %i).\n" msgstr "@S包å«@n ext3 @j(@i %i).\n" #. @-expanded: External journal has multiple filesystem users (unsupported).\n -#: e2fsck/problem.c:193 +#: e2fsck/problem.c:192 msgid "External @j has multiple @f users (unsupported).\n" -msgstr "外部@jåŒæ—¶æœ‰å¤šä¸ª@f使用 (ä¸æ”¯æŒ)。\n" +msgstr "" #. @-expanded: Can't find external journal\n -#: e2fsck/problem.c:198 +#: e2fsck/problem.c:197 msgid "Can't find external @j\n" msgstr "无法找到外部@j\n" #. @-expanded: External journal has bad superblock\n -#: e2fsck/problem.c:203 +#: e2fsck/problem.c:202 msgid "External @j has bad @S\n" -msgstr "外部@j有错误的@S\n" +msgstr "" #. @-expanded: External journal does not support this filesystem\n -#: e2fsck/problem.c:208 +#: e2fsck/problem.c:207 msgid "External @j does not support this @f\n" -msgstr "外部@jä¸æ”¯æŒæ­¤@f\n" +msgstr "" #. @-expanded: filesystem journal superblock is unknown type %N (unsupported).\n #. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal #. @-expanded: format.\n #. @-expanded: It is also possible the journal superblock is corrupt.\n -#: e2fsck/problem.c:213 +#: e2fsck/problem.c:212 msgid "" "@f @j @S is unknown type %N (unsupported).\n" "It is likely that your copy of e2fsck is old and/or doesn't support this @j " @@ -903,82 +896,82 @@ msgid "" msgstr "" #. @-expanded: journal superblock is corrupt.\n -#: e2fsck/problem.c:221 +#: e2fsck/problem.c:220 msgid "@j @S is corrupt.\n" msgstr "@j@Så·²æŸå.\n" #. @-expanded: superblock has_journal flag is clear, but a journal %s is present.\n -#: e2fsck/problem.c:226 +#: e2fsck/problem.c:225 #, c-format msgid "@S has_@j flag is clear, but a @j %s is present.\n" -msgstr "@S没有has_journal标志,但是存在一个@j %s。\n" +msgstr "" #. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n -#: e2fsck/problem.c:231 +#: e2fsck/problem.c:230 msgid "@S needs_recovery flag is set, but no @j is present.\n" -msgstr "@S有needs_recovery标志,但是没有@j存在。\n" +msgstr "" #. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n -#: e2fsck/problem.c:236 +#: e2fsck/problem.c:235 msgid "@S needs_recovery flag is clear, but @j has data.\n" -msgstr "@S没有needs_recovery标志,但是@j中没有数æ®ã€‚\n" +msgstr "" #. @-expanded: Clear journal -#: e2fsck/problem.c:241 +#: e2fsck/problem.c:240 #, fuzzy msgid "Clear @j" msgstr "清除@j" #. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem. -#: e2fsck/problem.c:246 e2fsck/problem.c:695 +#: e2fsck/problem.c:245 e2fsck/problem.c:664 msgid "@f has feature flag(s) set, but is a revision 0 @f. " msgstr "" #. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n -#: e2fsck/problem.c:251 +#: e2fsck/problem.c:250 msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n" msgstr "" #. @-expanded: illegal %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:256 +#: e2fsck/problem.c:255 msgid "@I %B (%b) found in @o @i %i.\n" msgstr "" #. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n -#: e2fsck/problem.c:261 +#: e2fsck/problem.c:260 msgid "Already cleared %B (%b) found in @o @i %i.\n" -msgstr "å·²ç»æ¸…除在@o@i %i中的%B (%b)。\n" +msgstr "" #. @-expanded: illegal orphaned inode %i in superblock.\n -#: e2fsck/problem.c:266 +#: e2fsck/problem.c:265 #, c-format msgid "@I @o @i %i in @S.\n" msgstr "@S中有@I@o@i %i.\n" #. @-expanded: illegal inode %i in orphaned inode list.\n -#: e2fsck/problem.c:271 +#: e2fsck/problem.c:270 #, c-format msgid "@I @i %i in @o @i list.\n" msgstr "" #. @-expanded: journal superblock has an unknown read-only feature flag set.\n -#: e2fsck/problem.c:276 +#: e2fsck/problem.c:275 msgid "@j @S has an unknown read-only feature flag set.\n" msgstr "" #. @-expanded: journal superblock has an unknown incompatible feature flag set.\n -#: e2fsck/problem.c:281 +#: e2fsck/problem.c:280 msgid "@j @S has an unknown incompatible feature flag set.\n" msgstr "" #. @-expanded: journal version not supported by this e2fsck.\n -#: e2fsck/problem.c:286 +#: e2fsck/problem.c:285 msgid "@j version not supported by this e2fsck.\n" msgstr "e2fsckä¸æ”¯æŒæ­¤@j版本.\n" #. @-expanded: Moving journal from /%s to hidden inode.\n #. @-expanded: \n -#: e2fsck/problem.c:291 +#: e2fsck/problem.c:290 #, c-format msgid "" "Moving @j from /%s to hidden @i.\n" @@ -987,7 +980,7 @@ msgstr "" #. @-expanded: Error moving journal: %m\n #. @-expanded: \n -#: e2fsck/problem.c:296 +#: e2fsck/problem.c:295 #, c-format msgid "" "Error moving @j: %m\n" @@ -999,7 +992,7 @@ msgstr "" #. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n #. @-expanded: Clearing fields beyond the V1 journal superblock...\n #. @-expanded: \n -#: e2fsck/problem.c:301 +#: e2fsck/problem.c:300 msgid "" "Found @n V2 @j @S fields (from V1 @j).\n" "Clearing fields beyond the V1 @j @S...\n" @@ -1007,19 +1000,19 @@ msgid "" msgstr "" #. @-expanded: Run journal anyway -#: e2fsck/problem.c:307 +#: e2fsck/problem.c:306 #, fuzzy msgid "Run @j anyway" msgstr "强制@j" #. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n -#: e2fsck/problem.c:312 +#: e2fsck/problem.c:311 msgid "Recovery flag not set in backup @S, so running @j anyway.\n" msgstr "" #. @-expanded: Backing up journal inode block information.\n #. @-expanded: \n -#: e2fsck/problem.c:317 +#: e2fsck/problem.c:316 msgid "" "Backing up @j @i @b information.\n" "\n" @@ -1027,25 +1020,25 @@ msgstr "" #. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n #. @-expanded: is %N; should be zero. -#: e2fsck/problem.c:322 +#: e2fsck/problem.c:321 msgid "" "@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n" "is %N; @s zero. " msgstr "" #. @-expanded: Resize_inode not enabled, but the resize inode is non-zero. -#: e2fsck/problem.c:328 +#: e2fsck/problem.c:327 msgid "Resize_@i not enabled, but the resize @i is non-zero. " msgstr "" #. @-expanded: Resize inode not valid. -#: e2fsck/problem.c:333 +#: e2fsck/problem.c:332 msgid "Resize @i not valid. " msgstr "" #. @-expanded: superblock last mount time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:338 +#: e2fsck/problem.c:337 msgid "" "@S last mount time (%t,\n" "\tnow = %T) is in the future.\n" @@ -1053,60 +1046,67 @@ msgstr "" #. @-expanded: superblock last write time (%t,\n #. @-expanded: \tnow = %T) is in the future.\n -#: e2fsck/problem.c:343 +#: e2fsck/problem.c:342 msgid "" "@S last write time (%t,\n" "\tnow = %T) is in the future.\n" msgstr "" #. @-expanded: superblock hint for external superblock should be %X. -#: e2fsck/problem.c:347 +#: e2fsck/problem.c:346 #, c-format msgid "@S hint for external superblock @s %X. " msgstr "" #. @-expanded: Adding dirhash hint to filesystem.\n #. @-expanded: \n -#: e2fsck/problem.c:352 +#: e2fsck/problem.c:351 msgid "" "Adding dirhash hint to @f.\n" "\n" msgstr "" -#. @-expanded: group descriptor %g checksum is %04x, should be %04y. -#: e2fsck/problem.c:357 -msgid "@g descriptor %g checksum is %04x, should be %04y. " +#. @-expanded: group descriptor %g checksum is invalid. +#: e2fsck/problem.c:356 +#, c-format +msgid "@g descriptor %g checksum is invalid. " msgstr "" #. @-expanded: group descriptor %g marked uninitialized without feature set.\n -#: e2fsck/problem.c:362 +#: e2fsck/problem.c:361 #, c-format msgid "@g descriptor %g marked uninitialized without feature set.\n" msgstr "" +#. @-expanded: group %g block bitmap uninitialized but inode bitmap in use.\n +#: e2fsck/problem.c:366 +#, c-format +msgid "@g %g @b @B uninitialized but @i @B in use.\n" +msgstr "" + #. @-expanded: group descriptor %g has invalid unused inodes count %b. -#: e2fsck/problem.c:367 +#: e2fsck/problem.c:371 msgid "@g descriptor %g has invalid unused inodes count %b. " msgstr "" #. @-expanded: Last group block bitmap uninitialized. -#: e2fsck/problem.c:372 +#: e2fsck/problem.c:376 msgid "Last @g @b @B uninitialized. " msgstr "最åŽä¸€ä¸ª@gçš„@b@B未åˆå§‹åŒ–. " -#: e2fsck/problem.c:377 +#: e2fsck/problem.c:381 #, c-format msgid "Journal transaction %i was corrupt, replay was aborted.\n" msgstr "" -#: e2fsck/problem.c:381 +#: e2fsck/problem.c:385 msgid "The test_fs flag is set (and ext4 is available). " msgstr "" #. @-expanded: superblock last mount time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set) -#: e2fsck/problem.c:386 +#: e2fsck/problem.c:390 msgid "" "@S last mount time is in the future.\n" "\t(by less than a day, probably due to the hardware clock being incorrectly " @@ -1116,7 +1116,7 @@ msgstr "" #. @-expanded: superblock last write time is in the future.\n #. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly #. @-expanded: set). -#: e2fsck/problem.c:392 +#: e2fsck/problem.c:396 msgid "" "@S last write time is in the future.\n" "\t(by less than a day, probably due to the hardware clock being incorrectly " @@ -1124,158 +1124,122 @@ msgid "" msgstr "" #. @-expanded: One or more block group descriptor checksums are invalid. -#: e2fsck/problem.c:398 +#: e2fsck/problem.c:402 msgid "One or more @b @g descriptor checksums are invalid. " msgstr "" -#. @-expanded: Setting free inodes count to %j (was %i)\n -#: e2fsck/problem.c:403 -msgid "Setting free @is count to %j (was %i)\n" -msgstr "" - -#. @-expanded: Setting free blocks count to %c (was %b)\n -#: e2fsck/problem.c:408 -msgid "Setting free @bs count to %c (was %b)\n" -msgstr "" - -#. @-expanded: Making quota inode %i (%Q) hidden.\n -#: e2fsck/problem.c:413 -msgid "Making @q @i %i (%Q) hidden.\n" -msgstr "" - -#. @-expanded: superblock has invalid MMP block. -#: e2fsck/problem.c:418 -#, fuzzy -msgid "@S has invalid MMP block. " -msgstr "无效的å—å¤§å° - %s" - -#. @-expanded: superblock has invalid MMP magic. -#: e2fsck/problem.c:423 -msgid "@S has invalid MMP magic. " -msgstr "" - -#: e2fsck/problem.c:428 -#, c-format -msgid "ext2fs_open2: %m\n" -msgstr "" - -#: e2fsck/problem.c:433 -#, c-format -msgid "ext2fs_check_desc: %m\n" -msgstr "" - #. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n -#: e2fsck/problem.c:440 +#: e2fsck/problem.c:409 msgid "Pass 1: Checking @is, @bs, and sizes\n" msgstr "第一步: 检查@i,@b,和大å°\n" #. @-expanded: root inode is not a directory. -#: e2fsck/problem.c:444 +#: e2fsck/problem.c:413 msgid "@r is not a @d. " msgstr "@rä¸æ˜¯ä¸€ä¸ª@d. " #. @-expanded: root inode has dtime set (probably due to old mke2fs). -#: e2fsck/problem.c:449 +#: e2fsck/problem.c:418 msgid "@r has dtime set (probably due to old mke2fs). " msgstr "" #. @-expanded: Reserved inode %i (%Q) has invalid mode. -#: e2fsck/problem.c:454 +#: e2fsck/problem.c:423 msgid "Reserved @i %i (%Q) has @n mode. " msgstr "ä¿ç•™çš„@i %i (%Q) 的模å¼æ— æ•ˆ. " #. @-expanded: deleted inode %i has zero dtime. -#: e2fsck/problem.c:459 +#: e2fsck/problem.c:428 #, c-format msgid "@D @i %i has zero dtime. " msgstr "" #. @-expanded: inode %i is in use, but has dtime set. -#: e2fsck/problem.c:464 +#: e2fsck/problem.c:433 #, c-format msgid "@i %i is in use, but has dtime set. " msgstr "" #. @-expanded: inode %i is a zero-length directory. -#: e2fsck/problem.c:469 +#: e2fsck/problem.c:438 #, c-format msgid "@i %i is a @z @d. " msgstr "" #. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:474 +#: e2fsck/problem.c:443 msgid "@g %g's @b @B at %b @C.\n" msgstr "" #. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:479 +#: e2fsck/problem.c:448 msgid "@g %g's @i @B at %b @C.\n" msgstr "" #. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n -#: e2fsck/problem.c:484 +#: e2fsck/problem.c:453 msgid "@g %g's @i table at %b @C.\n" msgstr "" #. @-expanded: group %g's block bitmap (%b) is bad. -#: e2fsck/problem.c:489 +#: e2fsck/problem.c:458 msgid "@g %g's @b @B (%b) is bad. " msgstr "" #. @-expanded: group %g's inode bitmap (%b) is bad. -#: e2fsck/problem.c:494 +#: e2fsck/problem.c:463 msgid "@g %g's @i @B (%b) is bad. " msgstr "" #. @-expanded: inode %i, i_size is %Is, should be %N. -#: e2fsck/problem.c:499 +#: e2fsck/problem.c:468 msgid "@i %i, i_size is %Is, @s %N. " msgstr "" #. @-expanded: inode %i, i_blocks is %Ib, should be %N. -#: e2fsck/problem.c:504 +#: e2fsck/problem.c:473 msgid "@i %i, i_@bs is %Ib, @s %N. " msgstr "" #. @-expanded: illegal %B (%b) in inode %i. -#: e2fsck/problem.c:509 +#: e2fsck/problem.c:478 msgid "@I %B (%b) in @i %i. " msgstr "" #. @-expanded: %B (%b) overlaps filesystem metadata in inode %i. -#: e2fsck/problem.c:514 +#: e2fsck/problem.c:483 msgid "%B (%b) overlaps @f metadata in @i %i. " msgstr "" #. @-expanded: inode %i has illegal block(s). -#: e2fsck/problem.c:519 +#: e2fsck/problem.c:488 #, c-format msgid "@i %i has illegal @b(s). " msgstr "@i %i 中包å«éžæ³•@b. " #. @-expanded: Too many illegal blocks in inode %i.\n -#: e2fsck/problem.c:524 +#: e2fsck/problem.c:493 #, c-format msgid "Too many illegal @bs in @i %i.\n" msgstr "@i %i 中包å«äº†è¿‡å¤šçš„éžæ³•@b.\n" #. @-expanded: illegal %B (%b) in bad block inode. -#: e2fsck/problem.c:529 +#: e2fsck/problem.c:498 msgid "@I %B (%b) in bad @b @i. " msgstr "" #. @-expanded: Bad block inode has illegal block(s). -#: e2fsck/problem.c:534 +#: e2fsck/problem.c:503 msgid "Bad @b @i has illegal @b(s). " msgstr "" #. @-expanded: Duplicate or bad block in use!\n -#: e2fsck/problem.c:539 +#: e2fsck/problem.c:508 msgid "Duplicate or bad @b in use!\n" msgstr "" #. @-expanded: Bad block %b used as bad block inode indirect block. -#: e2fsck/problem.c:544 +#: e2fsck/problem.c:513 msgid "Bad @b %b used as bad @b @i indirect @b. " msgstr "" @@ -1283,7 +1247,7 @@ msgstr "" #. @-expanded: The bad block inode has probably been corrupted. You probably\n #. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n #. @-expanded: in the filesystem.\n -#: e2fsck/problem.c:549 +#: e2fsck/problem.c:518 msgid "" "\n" "The bad @b @i has probably been corrupted. You probably\n" @@ -1293,7 +1257,7 @@ msgstr "" #. @-expanded: \n #. @-expanded: If the block is really bad, the filesystem can not be fixed.\n -#: e2fsck/problem.c:556 +#: e2fsck/problem.c:525 msgid "" "\n" "If the @b is really bad, the @f can not be fixed.\n" @@ -1302,7 +1266,7 @@ msgstr "" #. @-expanded: You can remove this block from the bad block list and hope\n #. @-expanded: that the block is really OK. But there are no guarantees.\n #. @-expanded: \n -#: e2fsck/problem.c:561 +#: e2fsck/problem.c:530 msgid "" "You can remove this @b from the bad @b list and hope\n" "that the @b is really OK. But there are no guarantees.\n" @@ -1310,121 +1274,121 @@ msgid "" msgstr "" #. @-expanded: The primary superblock (%b) is on the bad block list.\n -#: e2fsck/problem.c:567 +#: e2fsck/problem.c:536 msgid "The primary @S (%b) is on the bad @b list.\n" msgstr "" #. @-expanded: Block %b in the primary group descriptors is on the bad block list\n -#: e2fsck/problem.c:572 +#: e2fsck/problem.c:541 msgid "Block %b in the primary @g descriptors is on the bad @b list\n" msgstr "" #. @-expanded: Warning: Group %g's superblock (%b) is bad.\n -#: e2fsck/problem.c:578 +#: e2fsck/problem.c:547 msgid "Warning: Group %g's @S (%b) is bad.\n" msgstr "" #. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n -#: e2fsck/problem.c:583 +#: e2fsck/problem.c:552 msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n" msgstr "" #. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n -#: e2fsck/problem.c:589 +#: e2fsck/problem.c:558 msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n" msgstr "" #. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n -#: e2fsck/problem.c:595 +#: e2fsck/problem.c:564 msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n" msgstr "" #. @-expanded: error allocating block buffer for relocating %s\n -#: e2fsck/problem.c:600 +#: e2fsck/problem.c:569 #, c-format msgid "@A @b buffer for relocating %s\n" msgstr "" #. @-expanded: Relocating group %g's %s from %b to %c...\n -#: e2fsck/problem.c:605 +#: e2fsck/problem.c:574 msgid "Relocating @g %g's %s from %b to %c...\n" msgstr "" #. @-expanded: Relocating group %g's %s to %c...\n -#: e2fsck/problem.c:610 +#: e2fsck/problem.c:579 #, c-format msgid "Relocating @g %g's %s to %c...\n" msgstr "" #. @-expanded: Warning: could not read block %b of %s: %m\n -#: e2fsck/problem.c:615 +#: e2fsck/problem.c:584 msgid "Warning: could not read @b %b of %s: %m\n" msgstr "警告: 无法从%s中读å–@b %b: %m\n" #. @-expanded: Warning: could not write block %b for %s: %m\n -#: e2fsck/problem.c:620 +#: e2fsck/problem.c:589 msgid "Warning: could not write @b %b for %s: %m\n" msgstr "警告: 无法å‘%s中写入@b %b: %m\n" #. @-expanded: error allocating inode bitmap (%N): %m\n -#: e2fsck/problem.c:625 e2fsck/problem.c:1460 +#: e2fsck/problem.c:594 e2fsck/problem.c:1405 msgid "@A @i @B (%N): %m\n" msgstr "" #. @-expanded: error allocating block bitmap (%N): %m\n -#: e2fsck/problem.c:630 +#: e2fsck/problem.c:599 msgid "@A @b @B (%N): %m\n" msgstr "" #. @-expanded: error allocating icount link information: %m\n -#: e2fsck/problem.c:635 +#: e2fsck/problem.c:604 #, c-format msgid "@A icount link information: %m\n" msgstr "" #. @-expanded: error allocating directory block array: %m\n -#: e2fsck/problem.c:640 +#: e2fsck/problem.c:609 #, c-format msgid "@A @d @b array: %m\n" msgstr "分é…@d@b数组时出错: %m\n" #. @-expanded: Error while scanning inodes (%i): %m\n -#: e2fsck/problem.c:645 +#: e2fsck/problem.c:614 #, c-format msgid "Error while scanning @is (%i): %m\n" msgstr "" #. @-expanded: Error while iterating over blocks in inode %i: %m\n -#: e2fsck/problem.c:650 +#: e2fsck/problem.c:619 #, c-format msgid "Error while iterating over @bs in @i %i: %m\n" msgstr "" #. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n -#: e2fsck/problem.c:655 +#: e2fsck/problem.c:624 msgid "Error storing @i count information (@i=%i, count=%N): %m\n" msgstr "" #. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n -#: e2fsck/problem.c:660 +#: e2fsck/problem.c:629 msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n" msgstr "" #. @-expanded: Error reading inode %i: %m\n -#: e2fsck/problem.c:666 +#: e2fsck/problem.c:635 #, c-format msgid "Error reading @i %i: %m\n" msgstr "读å–@i %i出错: %m\n" #. @-expanded: inode %i has imagic flag set. -#: e2fsck/problem.c:674 +#: e2fsck/problem.c:643 #, c-format msgid "@i %i has imagic flag set. " msgstr "" #. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n #. @-expanded: or append-only flag set. -#: e2fsck/problem.c:679 +#: e2fsck/problem.c:648 #, c-format msgid "" "Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n" @@ -1432,204 +1396,204 @@ msgid "" msgstr "" #. @-expanded: inode %i has compression flag set on filesystem without compression support. -#: e2fsck/problem.c:685 +#: e2fsck/problem.c:654 #, c-format msgid "@i %i has @cion flag set on @f without @cion support. " msgstr "" #. @-expanded: Special (device/socket/fifo) inode %i has non-zero size. -#: e2fsck/problem.c:690 +#: e2fsck/problem.c:659 #, c-format msgid "Special (@v/socket/fifo) @i %i has non-zero size. " msgstr "" #. @-expanded: journal inode is not in use, but contains data. -#: e2fsck/problem.c:700 +#: e2fsck/problem.c:669 msgid "@j @i is not in use, but contains data. " msgstr "" #. @-expanded: journal is not regular file. -#: e2fsck/problem.c:705 +#: e2fsck/problem.c:674 msgid "@j is not regular file. " msgstr "@jä¸æ˜¯æ™®é€šæ–‡ä»¶. " #. @-expanded: inode %i was part of the orphaned inode list. -#: e2fsck/problem.c:710 +#: e2fsck/problem.c:679 #, c-format msgid "@i %i was part of the @o @i list. " msgstr "" #. @-expanded: inodes that were part of a corrupted orphan linked list found. -#: e2fsck/problem.c:716 +#: e2fsck/problem.c:685 msgid "@is that were part of a corrupted orphan linked list found. " msgstr "" #. @-expanded: error allocating refcount structure (%N): %m\n -#: e2fsck/problem.c:721 +#: e2fsck/problem.c:690 msgid "@A refcount structure (%N): %m\n" msgstr "" #. @-expanded: Error reading extended attribute block %b for inode %i. -#: e2fsck/problem.c:726 +#: e2fsck/problem.c:695 msgid "Error reading @a @b %b for @i %i. " msgstr "" #. @-expanded: inode %i has a bad extended attribute block %b. -#: e2fsck/problem.c:731 +#: e2fsck/problem.c:700 msgid "@i %i has a bad @a @b %b. " msgstr "" #. @-expanded: Error reading extended attribute block %b (%m). -#: e2fsck/problem.c:736 +#: e2fsck/problem.c:705 msgid "Error reading @a @b %b (%m). " msgstr "" #. @-expanded: extended attribute block %b has reference count %r, should be %N. -#: e2fsck/problem.c:741 +#: e2fsck/problem.c:710 msgid "@a @b %b has reference count %r, @s %N. " msgstr "" #. @-expanded: Error writing extended attribute block %b (%m). -#: e2fsck/problem.c:746 +#: e2fsck/problem.c:715 msgid "Error writing @a @b %b (%m). " msgstr "" #. @-expanded: extended attribute block %b has h_blocks > 1. -#: e2fsck/problem.c:751 +#: e2fsck/problem.c:720 msgid "@a @b %b has h_@bs > 1. " msgstr "" #. @-expanded: error allocating extended attribute block %b. -#: e2fsck/problem.c:756 +#: e2fsck/problem.c:725 msgid "@A @a @b %b. " msgstr "" #. @-expanded: extended attribute block %b is corrupt (allocation collision). -#: e2fsck/problem.c:761 +#: e2fsck/problem.c:730 msgid "@a @b %b is corrupt (allocation collision). " msgstr "" #. @-expanded: extended attribute block %b is corrupt (invalid name). -#: e2fsck/problem.c:766 +#: e2fsck/problem.c:735 msgid "@a @b %b is corrupt (@n name). " msgstr "" #. @-expanded: extended attribute block %b is corrupt (invalid value). -#: e2fsck/problem.c:771 +#: e2fsck/problem.c:740 msgid "@a @b %b is corrupt (@n value). " msgstr "" #. @-expanded: inode %i is too big. -#: e2fsck/problem.c:776 +#: e2fsck/problem.c:745 #, c-format msgid "@i %i is too big. " msgstr "@i %i 过大. " #. @-expanded: %B (%b) causes directory to be too big. -#: e2fsck/problem.c:780 +#: e2fsck/problem.c:749 msgid "%B (%b) causes @d to be too big. " msgstr "" -#: e2fsck/problem.c:785 +#: e2fsck/problem.c:754 msgid "%B (%b) causes file to be too big. " msgstr "" -#: e2fsck/problem.c:790 +#: e2fsck/problem.c:759 msgid "%B (%b) causes symlink to be too big. " msgstr "" #. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n -#: e2fsck/problem.c:795 +#: e2fsck/problem.c:764 #, c-format msgid "@i %i has INDEX_FL flag set on @f without htree support.\n" msgstr "" #. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n -#: e2fsck/problem.c:800 +#: e2fsck/problem.c:769 #, c-format msgid "@i %i has INDEX_FL flag set but is not a @d.\n" msgstr "" #. @-expanded: HTREE directory inode %i has an invalid root node.\n -#: e2fsck/problem.c:805 +#: e2fsck/problem.c:774 #, c-format msgid "@h %i has an @n root node.\n" msgstr "" #. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n -#: e2fsck/problem.c:810 +#: e2fsck/problem.c:779 msgid "@h %i has an unsupported hash version (%N)\n" msgstr "" #. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n -#: e2fsck/problem.c:815 +#: e2fsck/problem.c:784 #, c-format msgid "@h %i uses an incompatible htree root node flag.\n" msgstr "" #. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n -#: e2fsck/problem.c:820 +#: e2fsck/problem.c:789 msgid "@h %i has a tree depth (%N) which is too big\n" msgstr "" #. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n #. @-expanded: filesystem metadata. -#: e2fsck/problem.c:825 +#: e2fsck/problem.c:794 msgid "" "Bad @b @i has an indirect @b (%b) that conflicts with\n" "@f metadata. " msgstr "" #. @-expanded: Resize inode (re)creation failed: %m. -#: e2fsck/problem.c:831 +#: e2fsck/problem.c:800 #, c-format msgid "Resize @i (re)creation failed: %m." msgstr "" #. @-expanded: inode %i has a extra size (%IS) which is invalid\n -#: e2fsck/problem.c:836 +#: e2fsck/problem.c:805 msgid "@i %i has a extra size (%IS) which is @n\n" msgstr "" #. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n -#: e2fsck/problem.c:841 +#: e2fsck/problem.c:810 msgid "@a in @i %i has a namelen (%N) which is @n\n" msgstr "" #. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n -#: e2fsck/problem.c:846 +#: e2fsck/problem.c:815 msgid "@a in @i %i has a value offset (%N) which is @n\n" msgstr "" #. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n -#: e2fsck/problem.c:851 +#: e2fsck/problem.c:820 msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n" msgstr "" #. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n -#: e2fsck/problem.c:856 +#: e2fsck/problem.c:825 msgid "@a in @i %i has a value size (%N) which is @n\n" msgstr "" #. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n -#: e2fsck/problem.c:861 +#: e2fsck/problem.c:830 msgid "@a in @i %i has a hash (%N) which is @n\n" msgstr "" #. @-expanded: inode %i is a %It but it looks like it is really a directory.\n -#: e2fsck/problem.c:866 +#: e2fsck/problem.c:835 msgid "@i %i is a %It but it looks like it is really a directory.\n" msgstr "" #. @-expanded: Error while reading over extent tree in inode %i: %m\n -#: e2fsck/problem.c:871 +#: e2fsck/problem.c:840 #, c-format msgid "Error while reading over @x tree in @i %i: %m\n" msgstr "" #. @-expanded: Failed to iterate extents in inode %i\n #. @-expanded: \t(op %s, blk %b, lblk %c): %m\n -#: e2fsck/problem.c:876 +#: e2fsck/problem.c:845 msgid "" "Failed to iterate extents in @i %i\n" "\t(op %s, blk %b, lblk %c): %m\n" @@ -1637,7 +1601,7 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n -#: e2fsck/problem.c:882 +#: e2fsck/problem.c:851 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, @n physical @b %b, len %N)\n" @@ -1645,88 +1609,57 @@ msgstr "" #. @-expanded: inode %i has an invalid extent\n #. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n -#: e2fsck/problem.c:887 +#: e2fsck/problem.c:856 msgid "" "@i %i has an @n extent\n" "\t(logical @b %c, physical @b %b, @n len %N)\n" msgstr "" #. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n -#: e2fsck/problem.c:892 +#: e2fsck/problem.c:861 #, c-format msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n" msgstr "" #. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n -#: e2fsck/problem.c:897 +#: e2fsck/problem.c:866 #, c-format msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n" msgstr "" #. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n -#: e2fsck/problem.c:902 +#: e2fsck/problem.c:871 #, c-format msgid "@i %i missing EXTENT_FL, but is in extents format\n" msgstr "" -#: e2fsck/problem.c:907 +#: e2fsck/problem.c:876 #, c-format msgid "Fast symlink %i has EXTENT_FL set. " msgstr "" #. @-expanded: inode %i has out of order extents\n #. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n -#: e2fsck/problem.c:912 +#: e2fsck/problem.c:881 msgid "" "@i %i has out of order extents\n" "\t(@n logical @b %c, physical @b %b, len %N)\n" msgstr "" #. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n -#: e2fsck/problem.c:916 +#: e2fsck/problem.c:885 msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n" msgstr "" -#. @-expanded: Error converting subcluster block bitmap: %m\n -#: e2fsck/problem.c:921 -#, fuzzy, c-format -msgid "Error converting subcluster @b @B: %m\n" -msgstr "创建根@d (%s) 时出错: %m\n" - -#. @-expanded: quota inode is not regular file. -#: e2fsck/problem.c:926 -#, fuzzy -msgid "@q @i is not regular file. " -msgstr "@jä¸æ˜¯æ™®é€šæ–‡ä»¶. " - -#. @-expanded: quota inode is not in use, but contains data. -#: e2fsck/problem.c:931 -msgid "@q @i is not in use, but contains data. " -msgstr "" - -#. @-expanded: quota inode is visible to the user. -#: e2fsck/problem.c:936 -msgid "@q @i is visible to the user. " -msgstr "" - -#. @-expanded: The bad block inode looks invalid. -#: e2fsck/problem.c:941 -#, fuzzy -msgid "The bad @b @i looks @n. " -msgstr "<åå— inode>" - -#. @-expanded: inode %i has zero length extent\n -#. @-expanded: \t(invalid logical block %c, physical block %b)\n -#: e2fsck/problem.c:946 -msgid "" -"@i %i has zero length extent\n" -"\t(@n logical @b %c, physical @b %b)\n" +#. @-expanded: inode %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n +#: e2fsck/problem.c:889 +msgid "@i %i should not have EOFBLOCKS_FL set (size %Is, lblk %r)\n" msgstr "" #. @-expanded: \n #. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n #. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n -#: e2fsck/problem.c:953 +#: e2fsck/problem.c:897 msgid "" "\n" "Running additional passes to resolve @bs claimed by more than one @i...\n" @@ -1734,64 +1667,64 @@ msgid "" msgstr "" #. @-expanded: multiply-claimed block(s) in inode %i: -#: e2fsck/problem.c:959 +#: e2fsck/problem.c:903 #, c-format msgid "@m @b(s) in @i %i:" msgstr "" -#: e2fsck/problem.c:974 +#: e2fsck/problem.c:918 #, c-format msgid "Error while scanning inodes (%i): %m\n" msgstr "" #. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n -#: e2fsck/problem.c:979 +#: e2fsck/problem.c:923 #, c-format msgid "@A @i @B (@i_dup_map): %m\n" msgstr "" #. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n -#: e2fsck/problem.c:984 +#: e2fsck/problem.c:928 #, c-format msgid "Error while iterating over @bs in @i %i (%s): %m\n" msgstr "" #. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n -#: e2fsck/problem.c:989 e2fsck/problem.c:1304 +#: e2fsck/problem.c:933 e2fsck/problem.c:1249 msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n" msgstr "" #. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n -#: e2fsck/problem.c:994 +#: e2fsck/problem.c:939 msgid "Pass 1C: Scanning directories for @is with @m @bs\n" msgstr "" #. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n -#: e2fsck/problem.c:1000 +#: e2fsck/problem.c:945 msgid "Pass 1D: Reconciling @m @bs\n" msgstr "" #. @-expanded: File %Q (inode #%i, mod time %IM) \n #. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n -#: e2fsck/problem.c:1005 +#: e2fsck/problem.c:950 msgid "" "File %Q (@i #%i, mod time %IM) \n" " has %r @m @b(s), shared with %N file(s):\n" msgstr "" #. @-expanded: \t%Q (inode #%i, mod time %IM)\n -#: e2fsck/problem.c:1011 +#: e2fsck/problem.c:956 msgid "\t%Q (@i #%i, mod time %IM)\n" msgstr "" #. @-expanded: \t\n -#: e2fsck/problem.c:1016 +#: e2fsck/problem.c:961 msgid "\t<@f metadata>\n" msgstr "\t<@f元数æ®>\n" #. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n #. @-expanded: \n -#: e2fsck/problem.c:1021 +#: e2fsck/problem.c:966 msgid "" "(There are %N @is containing @m @bs.)\n" "\n" @@ -1799,321 +1732,321 @@ msgstr "" #. @-expanded: multiply-claimed blocks already reassigned or cloned.\n #. @-expanded: \n -#: e2fsck/problem.c:1026 +#: e2fsck/problem.c:971 msgid "" "@m @bs already reassigned or cloned.\n" "\n" msgstr "" -#: e2fsck/problem.c:1039 +#: e2fsck/problem.c:984 #, c-format msgid "Couldn't clone file: %m\n" msgstr "" #. @-expanded: Pass 2: Checking directory structure\n -#: e2fsck/problem.c:1045 +#: e2fsck/problem.c:990 msgid "Pass 2: Checking @d structure\n" msgstr "第二步: 检查目录结构\n" #. @-expanded: invalid inode number for '.' in directory inode %i.\n -#: e2fsck/problem.c:1050 +#: e2fsck/problem.c:995 #, c-format msgid "@n @i number for '.' in @d @i %i.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n -#: e2fsck/problem.c:1055 +#: e2fsck/problem.c:1000 msgid "@E has @n @i #: %Di.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di. -#: e2fsck/problem.c:1060 +#: e2fsck/problem.c:1005 msgid "@E has @D/unused @i %Di. " msgstr "" #. @-expanded: entry '%Dn' in %p (%i) is a link to '.' -#: e2fsck/problem.c:1065 +#: e2fsck/problem.c:1010 msgid "@E @L to '.' " msgstr "" #. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n -#: e2fsck/problem.c:1070 +#: e2fsck/problem.c:1015 msgid "@E points to @i (%Di) located in a bad @b.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n -#: e2fsck/problem.c:1075 +#: e2fsck/problem.c:1020 msgid "@E @L to @d %P (%Di).\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n -#: e2fsck/problem.c:1080 +#: e2fsck/problem.c:1025 msgid "@E @L to the @r.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n -#: e2fsck/problem.c:1085 +#: e2fsck/problem.c:1030 msgid "@E has illegal characters in its name.\n" msgstr "" #. @-expanded: Missing '.' in directory inode %i.\n -#: e2fsck/problem.c:1090 +#: e2fsck/problem.c:1035 #, c-format msgid "Missing '.' in @d @i %i.\n" msgstr "@d@i %i 中缺少 '.'.\n" #. @-expanded: Missing '..' in directory inode %i.\n -#: e2fsck/problem.c:1095 +#: e2fsck/problem.c:1040 #, c-format msgid "Missing '..' in @d @i %i.\n" msgstr "@d@i %i 中缺少 '..'.\n" #. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n -#: e2fsck/problem.c:1100 +#: e2fsck/problem.c:1045 msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n" msgstr "" #. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n -#: e2fsck/problem.c:1105 +#: e2fsck/problem.c:1050 msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n" msgstr "" #. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n -#: e2fsck/problem.c:1110 +#: e2fsck/problem.c:1055 msgid "i_faddr @F %IF, @s zero.\n" msgstr "" #. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n -#: e2fsck/problem.c:1115 +#: e2fsck/problem.c:1060 msgid "i_file_acl @F %If, @s zero.\n" msgstr "" #. @-expanded: i_dir_acl for inode %i (%Q) is %Id, should be zero.\n -#: e2fsck/problem.c:1120 +#: e2fsck/problem.c:1065 msgid "i_dir_acl @F %Id, @s zero.\n" msgstr "" #. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1125 +#: e2fsck/problem.c:1070 msgid "i_frag @F %N, @s zero.\n" msgstr "" #. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1130 +#: e2fsck/problem.c:1075 msgid "i_fsize @F %N, @s zero.\n" msgstr "" #. @-expanded: inode %i (%Q) has invalid mode (%Im).\n -#: e2fsck/problem.c:1135 +#: e2fsck/problem.c:1080 msgid "@i %i (%Q) has @n mode (%Im).\n" msgstr "@i %i (%Q) 有@næ¨¡å¼ (%Im).\n" #. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n -#: e2fsck/problem.c:1140 +#: e2fsck/problem.c:1085 msgid "@d @i %i, %B, offset %N: @d corrupted\n" msgstr "@d@i %i, 第 %B @b, åç§»é‡ %N: @dæŸå\n" #. @-expanded: directory inode %i, %B, offset %N: filename too long\n -#: e2fsck/problem.c:1145 +#: e2fsck/problem.c:1090 msgid "@d @i %i, %B, offset %N: filename too long\n" msgstr "@d@i %i, 第 %B @b, åç§»é‡ %N: 文件å过长\n" #. @-expanded: directory inode %i has an unallocated %B. -#: e2fsck/problem.c:1150 +#: e2fsck/problem.c:1095 msgid "@d @i %i has an unallocated %B. " msgstr "@d@i %i 中å«æœ‰æœªåˆ†é…çš„@b #%B. " #. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1155 +#: e2fsck/problem.c:1100 #, c-format msgid "'.' @d @e in @d @i %i is not NULL terminated\n" msgstr "@d@i %i 中的 '.' @d@e 没有以NULL终止\n" #. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n -#: e2fsck/problem.c:1160 +#: e2fsck/problem.c:1105 #, c-format msgid "'..' @d @e in @d @i %i is not NULL terminated\n" msgstr "@d@i %i 中的 '..' @d@e 没有以NULL终止\n" #. @-expanded: inode %i (%Q) is an illegal character device.\n -#: e2fsck/problem.c:1165 +#: e2fsck/problem.c:1110 msgid "@i %i (%Q) is an @I character @v.\n" msgstr "" #. @-expanded: inode %i (%Q) is an illegal block device.\n -#: e2fsck/problem.c:1170 +#: e2fsck/problem.c:1115 msgid "@i %i (%Q) is an @I @b @v.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n -#: e2fsck/problem.c:1175 +#: e2fsck/problem.c:1120 msgid "@E is duplicate '.' @e.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n -#: e2fsck/problem.c:1180 +#: e2fsck/problem.c:1125 msgid "@E is duplicate '..' @e.\n" msgstr "" -#: e2fsck/problem.c:1185 e2fsck/problem.c:1485 +#: e2fsck/problem.c:1130 e2fsck/problem.c:1430 #, c-format msgid "Internal error: couldn't find dir_info for %i.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n -#: e2fsck/problem.c:1190 +#: e2fsck/problem.c:1135 msgid "@E has rec_len of %Dr, @s %N.\n" msgstr "" #. @-expanded: error allocating icount structure: %m\n -#: e2fsck/problem.c:1195 +#: e2fsck/problem.c:1140 #, c-format msgid "@A icount structure: %m\n" msgstr "" #. @-expanded: Error iterating over directory blocks: %m\n -#: e2fsck/problem.c:1200 +#: e2fsck/problem.c:1145 #, c-format msgid "Error iterating over @d @bs: %m\n" msgstr "" #. @-expanded: Error reading directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1205 +#: e2fsck/problem.c:1150 msgid "Error reading @d @b %b (@i %i): %m\n" msgstr "" #. @-expanded: Error writing directory block %b (inode %i): %m\n -#: e2fsck/problem.c:1210 +#: e2fsck/problem.c:1155 msgid "Error writing @d @b %b (@i %i): %m\n" msgstr "" #. @-expanded: error allocating new directory block for inode %i (%s): %m\n -#: e2fsck/problem.c:1215 +#: e2fsck/problem.c:1160 #, c-format msgid "@A new @d @b for @i %i (%s): %m\n" msgstr "" #. @-expanded: Error deallocating inode %i: %m\n -#: e2fsck/problem.c:1220 +#: e2fsck/problem.c:1165 #, c-format msgid "Error deallocating @i %i: %m\n" msgstr "" #. @-expanded: directory entry for '.' in %p (%i) is big.\n -#: e2fsck/problem.c:1225 +#: e2fsck/problem.c:1170 #, c-format msgid "@d @e for '.' in %p (%i) is big.\n" msgstr "" #. @-expanded: inode %i (%Q) is an illegal FIFO.\n -#: e2fsck/problem.c:1230 +#: e2fsck/problem.c:1175 msgid "@i %i (%Q) is an @I FIFO.\n" msgstr "" #. @-expanded: inode %i (%Q) is an illegal socket.\n -#: e2fsck/problem.c:1235 +#: e2fsck/problem.c:1180 msgid "@i %i (%Q) is an @I socket.\n" msgstr "" #. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n -#: e2fsck/problem.c:1240 +#: e2fsck/problem.c:1185 msgid "Setting filetype for @E to %N.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n -#: e2fsck/problem.c:1245 +#: e2fsck/problem.c:1190 msgid "@E has an incorrect filetype (was %Dt, @s %N).\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n -#: e2fsck/problem.c:1250 +#: e2fsck/problem.c:1195 msgid "@E has filetype set.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n -#: e2fsck/problem.c:1255 +#: e2fsck/problem.c:1200 msgid "@E has a @z name.\n" msgstr "" #. @-expanded: Symlink %Q (inode #%i) is invalid.\n -#: e2fsck/problem.c:1260 +#: e2fsck/problem.c:1205 msgid "Symlink %Q (@i #%i) is @n.\n" msgstr "" #. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n -#: e2fsck/problem.c:1265 +#: e2fsck/problem.c:1210 msgid "@a @b @F @n (%If).\n" msgstr "" #. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n -#: e2fsck/problem.c:1270 +#: e2fsck/problem.c:1215 msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n" msgstr "" #. @-expanded: problem in HTREE directory inode %d: %B not referenced\n -#: e2fsck/problem.c:1275 +#: e2fsck/problem.c:1220 msgid "@p @h %d: %B not referenced\n" msgstr "" #. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n -#: e2fsck/problem.c:1280 +#: e2fsck/problem.c:1225 msgid "@p @h %d: %B referenced twice\n" msgstr "" #. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n -#: e2fsck/problem.c:1285 +#: e2fsck/problem.c:1230 msgid "@p @h %d: %B has bad min hash\n" msgstr "" #. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n -#: e2fsck/problem.c:1290 +#: e2fsck/problem.c:1235 msgid "@p @h %d: %B has bad max hash\n" msgstr "" #. @-expanded: invalid HTREE directory inode %d (%q). -#: e2fsck/problem.c:1295 +#: e2fsck/problem.c:1240 msgid "@n @h %d (%q). " msgstr "" #. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n -#: e2fsck/problem.c:1299 +#: e2fsck/problem.c:1244 msgid "@p @h %d (%q): bad @b number %b.\n" msgstr "" #. @-expanded: problem in HTREE directory inode %d: root node is invalid\n -#: e2fsck/problem.c:1309 +#: e2fsck/problem.c:1254 #, c-format msgid "@p @h %d: root node is @n\n" msgstr "@p@h %d:根结点@n\n" #. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n -#: e2fsck/problem.c:1314 +#: e2fsck/problem.c:1259 msgid "@p @h %d: %B has @n limit (%N)\n" msgstr "" #. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n -#: e2fsck/problem.c:1319 +#: e2fsck/problem.c:1264 msgid "@p @h %d: %B has @n count (%N)\n" msgstr "" #. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n -#: e2fsck/problem.c:1324 +#: e2fsck/problem.c:1269 msgid "@p @h %d: %B has an unordered hash table\n" msgstr "" #. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n -#: e2fsck/problem.c:1329 +#: e2fsck/problem.c:1274 msgid "@p @h %d: %B has @n depth (%N)\n" msgstr "" #. @-expanded: Duplicate entry '%Dn' in %p (%i) found. -#: e2fsck/problem.c:1334 +#: e2fsck/problem.c:1279 msgid "Duplicate @E found. " msgstr "" #. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n #. @-expanded: Rename to %s -#: e2fsck/problem.c:1339 +#: e2fsck/problem.c:1284 #, no-c-format msgid "" "@E has a non-unique filename.\n" @@ -2123,7 +2056,7 @@ msgstr "" #. @-expanded: Duplicate entry '%Dn' found.\n #. @-expanded: \tMarking %p (%i) to be rebuilt.\n #. @-expanded: \n -#: e2fsck/problem.c:1344 +#: e2fsck/problem.c:1289 msgid "" "Duplicate @e '%Dn' found.\n" "\tMarking %p (%i) to be rebuilt.\n" @@ -2131,116 +2064,116 @@ msgid "" msgstr "" #. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1349 +#: e2fsck/problem.c:1294 msgid "i_blocks_hi @F %N, @s zero.\n" msgstr "" #. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n -#: e2fsck/problem.c:1354 +#: e2fsck/problem.c:1299 msgid "Unexpected @b in @h %d (%q).\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n -#: e2fsck/problem.c:1358 +#: e2fsck/problem.c:1303 msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n" msgstr "" #. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n -#: e2fsck/problem.c:1363 +#: e2fsck/problem.c:1308 msgid "@E references @i %Di found in @g %g's unused inodes area.\n" msgstr "" #. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n -#: e2fsck/problem.c:1368 +#: e2fsck/problem.c:1313 msgid "i_file_acl_hi @F %N, @s zero.\n" msgstr "" #. @-expanded: Pass 3: Checking directory connectivity\n -#: e2fsck/problem.c:1375 +#: e2fsck/problem.c:1320 msgid "Pass 3: Checking @d connectivity\n" msgstr "第3æ­¥: 检查目录连接性\n" #. @-expanded: root inode not allocated. -#: e2fsck/problem.c:1380 +#: e2fsck/problem.c:1325 msgid "@r not allocated. " msgstr "" #. @-expanded: No room in lost+found directory. -#: e2fsck/problem.c:1385 +#: e2fsck/problem.c:1330 msgid "No room in @l @d. " msgstr "@l@d中没有空间. " #. @-expanded: Unconnected directory inode %i (%p)\n -#: e2fsck/problem.c:1390 +#: e2fsck/problem.c:1335 #, c-format msgid "Unconnected @d @i %i (%p)\n" msgstr "" #. @-expanded: /lost+found not found. -#: e2fsck/problem.c:1395 +#: e2fsck/problem.c:1340 msgid "/@l not found. " msgstr "/@l未找到." #. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n -#: e2fsck/problem.c:1400 +#: e2fsck/problem.c:1345 msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n" msgstr "" #. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n -#: e2fsck/problem.c:1405 +#: e2fsck/problem.c:1350 msgid "Bad or non-existent /@l. Cannot reconnect.\n" msgstr "" #. @-expanded: Could not expand /lost+found: %m\n -#: e2fsck/problem.c:1410 +#: e2fsck/problem.c:1355 #, c-format msgid "Could not expand /@l: %m\n" msgstr "" -#: e2fsck/problem.c:1415 +#: e2fsck/problem.c:1360 #, c-format msgid "Could not reconnect %i: %m\n" msgstr "" #. @-expanded: Error while trying to find /lost+found: %m\n -#: e2fsck/problem.c:1420 +#: e2fsck/problem.c:1365 #, c-format msgid "Error while trying to find /@l: %m\n" msgstr "å°è¯•æ‰¾åˆ°/@l时出错: %m\n" #. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1425 +#: e2fsck/problem.c:1370 #, c-format msgid "ext2fs_new_@b: %m while trying to create /@l @d\n" msgstr "" #. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n -#: e2fsck/problem.c:1430 +#: e2fsck/problem.c:1375 #, c-format msgid "ext2fs_new_@i: %m while trying to create /@l @d\n" msgstr "" #. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n -#: e2fsck/problem.c:1435 +#: e2fsck/problem.c:1380 #, c-format msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n" msgstr "" #. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n -#: e2fsck/problem.c:1440 +#: e2fsck/problem.c:1385 #, c-format msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n" msgstr "" #. @-expanded: Error while adjusting inode count on inode %i\n -#: e2fsck/problem.c:1445 +#: e2fsck/problem.c:1390 #, c-format msgid "Error while adjusting @i count on @i %i\n" msgstr "" #. @-expanded: Couldn't fix parent of inode %i: %m\n #. @-expanded: \n -#: e2fsck/problem.c:1450 +#: e2fsck/problem.c:1395 #, c-format msgid "" "Couldn't fix parent of @i %i: %m\n" @@ -2249,7 +2182,7 @@ msgstr "" #. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n #. @-expanded: \n -#: e2fsck/problem.c:1455 +#: e2fsck/problem.c:1400 #, c-format msgid "" "Couldn't fix parent of @i %i: Couldn't find parent @d @e\n" @@ -2257,75 +2190,75 @@ msgid "" msgstr "" #. @-expanded: Error creating root directory (%s): %m\n -#: e2fsck/problem.c:1465 +#: e2fsck/problem.c:1410 #, c-format msgid "Error creating root @d (%s): %m\n" msgstr "创建根@d (%s) 时出错: %m\n" #. @-expanded: Error creating /lost+found directory (%s): %m\n -#: e2fsck/problem.c:1470 +#: e2fsck/problem.c:1415 #, c-format msgid "Error creating /@l @d (%s): %m\n" msgstr "" #. @-expanded: root inode is not a directory; aborting.\n -#: e2fsck/problem.c:1475 +#: e2fsck/problem.c:1420 msgid "@r is not a @d; aborting.\n" msgstr "@rä¸æ˜¯ä¸€ä¸ª@d; 中止.\n" #. @-expanded: Cannot proceed without a root inode.\n -#: e2fsck/problem.c:1480 +#: e2fsck/problem.c:1425 msgid "Cannot proceed without a @r.\n" msgstr "" #. @-expanded: /lost+found is not a directory (ino=%i)\n -#: e2fsck/problem.c:1490 +#: e2fsck/problem.c:1435 #, c-format msgid "/@l is not a @d (ino=%i)\n" msgstr "" -#: e2fsck/problem.c:1497 +#: e2fsck/problem.c:1442 msgid "Pass 3A: Optimizing directories\n" msgstr "" -#: e2fsck/problem.c:1502 +#: e2fsck/problem.c:1447 #, c-format msgid "Failed to create dirs_to_hash iterator: %m\n" msgstr "" -#: e2fsck/problem.c:1507 +#: e2fsck/problem.c:1452 msgid "Failed to optimize directory %q (%d): %m\n" msgstr "" -#: e2fsck/problem.c:1512 +#: e2fsck/problem.c:1457 msgid "Optimizing directories: " msgstr "正在优化目录: " -#: e2fsck/problem.c:1529 +#: e2fsck/problem.c:1474 msgid "Pass 4: Checking reference counts\n" msgstr "" #. @-expanded: unattached zero-length inode %i. -#: e2fsck/problem.c:1534 +#: e2fsck/problem.c:1479 #, c-format msgid "@u @z @i %i. " msgstr "" #. @-expanded: unattached inode %i\n -#: e2fsck/problem.c:1539 +#: e2fsck/problem.c:1484 #, c-format msgid "@u @i %i\n" msgstr "" #. @-expanded: inode %i ref count is %Il, should be %N. -#: e2fsck/problem.c:1544 +#: e2fsck/problem.c:1489 msgid "@i %i ref count is %Il, @s %N. " msgstr "" #. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n #. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n #. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n -#: e2fsck/problem.c:1548 +#: e2fsck/problem.c:1493 msgid "" "WARNING: PROGRAMMING BUG IN E2FSCK!\n" "\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n" @@ -2336,146 +2269,142 @@ msgstr "" "@i_link_info[%i] 为 %N, @i.i_links_count 为 %Il.它们应该是相åŒçš„!\n" #. @-expanded: Pass 5: Checking group summary information\n -#: e2fsck/problem.c:1558 +#: e2fsck/problem.c:1503 msgid "Pass 5: Checking @g summary information\n" msgstr "第5æ­¥: 检查@g概è¦ä¿¡æ¯\n" #. @-expanded: Padding at end of inode bitmap is not set. -#: e2fsck/problem.c:1563 +#: e2fsck/problem.c:1508 msgid "Padding at end of @i @B is not set. " msgstr "" #. @-expanded: Padding at end of block bitmap is not set. -#: e2fsck/problem.c:1568 +#: e2fsck/problem.c:1513 msgid "Padding at end of @b @B is not set. " msgstr "" #. @-expanded: block bitmap differences: -#: e2fsck/problem.c:1573 +#: e2fsck/problem.c:1518 msgid "@b @B differences: " msgstr "@b@B差异: " #. @-expanded: inode bitmap differences: -#: e2fsck/problem.c:1593 +#: e2fsck/problem.c:1538 msgid "@i @B differences: " msgstr "@i@B差异: " #. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1613 +#: e2fsck/problem.c:1558 msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n" msgstr "" #. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n -#: e2fsck/problem.c:1618 +#: e2fsck/problem.c:1563 msgid "Directories count wrong for @g #%g (%i, counted=%j).\n" msgstr "" #. @-expanded: Free inodes count wrong (%i, counted=%j).\n -#: e2fsck/problem.c:1623 +#: e2fsck/problem.c:1568 msgid "Free @is count wrong (%i, counted=%j).\n" msgstr "" #. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n -#: e2fsck/problem.c:1628 +#: e2fsck/problem.c:1573 msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n" msgstr "" #. @-expanded: Free blocks count wrong (%b, counted=%c).\n -#: e2fsck/problem.c:1633 +#: e2fsck/problem.c:1578 msgid "Free @bs count wrong (%b, counted=%c).\n" msgstr "" #. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap #. @-expanded: endpoints (%i, %j)\n -#: e2fsck/problem.c:1638 +#: e2fsck/problem.c:1583 msgid "" "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B " "endpoints (%i, %j)\n" msgstr "" -#: e2fsck/problem.c:1644 +#: e2fsck/problem.c:1589 msgid "Internal error: fudging end of bitmap (%N)\n" msgstr "" #. @-expanded: Error copying in replacement inode bitmap: %m\n -#: e2fsck/problem.c:1649 +#: e2fsck/problem.c:1594 #, c-format msgid "Error copying in replacement @i @B: %m\n" msgstr "" #. @-expanded: Error copying in replacement block bitmap: %m\n -#: e2fsck/problem.c:1654 +#: e2fsck/problem.c:1599 #, c-format msgid "Error copying in replacement @b @B: %m\n" msgstr "" #. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n -#: e2fsck/problem.c:1679 +#: e2fsck/problem.c:1624 #, c-format msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n" msgstr "" #. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n -#: e2fsck/problem.c:1684 +#: e2fsck/problem.c:1629 #, c-format msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n" msgstr "" #. @-expanded: Recreate journal -#: e2fsck/problem.c:1691 +#: e2fsck/problem.c:1636 msgid "Recreate @j" msgstr "é‡å»º@j" -#: e2fsck/problem.c:1696 -msgid "Update quota info for quota type %N" -msgstr "" - -#: e2fsck/problem.c:1815 +#: e2fsck/problem.c:1755 #, c-format msgid "Unhandled error code (0x%x)!\n" msgstr "" -#: e2fsck/problem.c:1940 e2fsck/problem.c:1944 +#: e2fsck/problem.c:1850 msgid "IGNORED" msgstr "已忽略" -#: e2fsck/scantest.c:79 +#: e2fsck/scantest.c:81 #, c-format msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n" msgstr "" -#: e2fsck/scantest.c:98 +#: e2fsck/scantest.c:100 #, c-format msgid "size of inode=%d\n" msgstr "inode大å°=%d\n" -#: e2fsck/scantest.c:119 +#: e2fsck/scantest.c:121 msgid "while starting inode scan" msgstr "" -#: e2fsck/scantest.c:130 +#: e2fsck/scantest.c:132 msgid "while doing inode scan" msgstr "" -#: e2fsck/super.c:188 +#: e2fsck/super.c:187 #, c-format msgid "while calling ext2fs_block_iterate for inode %d" msgstr "" -#: e2fsck/super.c:211 +#: e2fsck/super.c:209 #, c-format -msgid "while calling ext2fs_adjust_ea_refcount2 for inode %d" +msgid "while calling ext2fs_adjust_ea_refcount for inode %d" msgstr "" -#: e2fsck/super.c:272 +#: e2fsck/super.c:267 msgid "Truncating" msgstr "正在截断" -#: e2fsck/super.c:273 +#: e2fsck/super.c:268 msgid "Clearing" msgstr "正在清除" -#: e2fsck/unix.c:74 +#: e2fsck/unix.c:76 #, c-format msgid "" "Usage: %s [-panyrcdfvtDFV] [-b superblock] [-B blocksize]\n" @@ -2484,7 +2413,7 @@ msgid "" "\t\t[-E extended-options] device\n" msgstr "" -#: e2fsck/unix.c:80 +#: e2fsck/unix.c:82 #, c-format msgid "" "\n" @@ -2497,7 +2426,7 @@ msgid "" " -f Force checking even if filesystem is marked clean\n" msgstr "" -#: e2fsck/unix.c:86 +#: e2fsck/unix.c:88 #, c-format msgid "" " -v Be verbose\n" @@ -2508,244 +2437,127 @@ msgid "" " -L bad_blocks_file Set badblocks list\n" msgstr "" -#: e2fsck/unix.c:130 +#: e2fsck/unix.c:132 #, c-format -msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n" +msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %u/%u blocks\n" msgstr "" -#: e2fsck/unix.c:137 -#, fuzzy, c-format -msgid "" -"\n" -"%8u inode used (%2.2f%%)\n" -msgid_plural "" -"\n" -"%8u inodes used (%2.2f%%)\n" -msgstr[0] "%u 个 inode 被扫æ.\n" -msgstr[1] "%u 个 inode 被扫æ.\n" - -#: e2fsck/unix.c:141 -#, c-format -msgid "%8u non-contiguous file (%0d.%d%%)\n" -msgid_plural "%8u non-contiguous files (%0d.%d%%)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:146 -#, c-format -msgid "%8u non-contiguous directory (%0d.%d%%)\n" -msgid_plural "%8u non-contiguous directories (%0d.%d%%)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:151 +#: e2fsck/unix.c:150 #, c-format msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n" msgstr "" -#: e2fsck/unix.c:159 +#: e2fsck/unix.c:157 +#, c-format msgid " Extent depth histogram: " msgstr "" -#: e2fsck/unix.c:168 -#, c-format -msgid "%8llu block used (%2.2f%%)\n" -msgid_plural "%8llu blocks used (%2.2f%%)\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:171 -#, fuzzy, c-format -msgid "%8u bad block\n" -msgid_plural "%8u bad blocks\n" -msgstr[0] "bå—" -msgstr[1] "bå—" - -#: e2fsck/unix.c:173 -#, fuzzy, c-format -msgid "%8u large file\n" -msgid_plural "%8u large files\n" -msgstr[0] "一般文件" -msgstr[1] "一般文件" - -#: e2fsck/unix.c:175 -#, fuzzy, c-format -msgid "" -"\n" -"%8u regular file\n" -msgid_plural "" -"\n" -"%8u regular files\n" -msgstr[0] "一般文件" -msgstr[1] "一般文件" - -#: e2fsck/unix.c:177 -#, fuzzy, c-format -msgid "%8u directory\n" -msgid_plural "%8u directories\n" -msgstr[0] "文件夹" -msgstr[1] "文件夹" - -#: e2fsck/unix.c:179 -#, fuzzy, c-format -msgid "%8u character device file\n" -msgid_plural "%8u character device files\n" -msgstr[0] "字符设备" -msgstr[1] "字符设备" - -#: e2fsck/unix.c:182 -#, fuzzy, c-format -msgid "%8u block device file\n" -msgid_plural "%8u block device files\n" -msgstr[0] "å—设备" -msgstr[1] "å—设备" - -#: e2fsck/unix.c:184 -#, c-format -msgid "%8u fifo\n" -msgid_plural "%8u fifos\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:186 -#, c-format -msgid "%8u link\n" -msgid_plural "%8u links\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:189 -#, fuzzy, c-format -msgid "%8u symbolic link" -msgid_plural "%8u symbolic links" -msgstr[0] "符å·é“¾æŽ¥" -msgstr[1] "符å·é“¾æŽ¥" - -#: e2fsck/unix.c:191 -#, fuzzy, c-format -msgid " (%u fast symbolic link)\n" -msgid_plural " (%u fast symbolic links)\n" -msgstr[0] "符å·é“¾æŽ¥" -msgstr[1] "符å·é“¾æŽ¥" - -#: e2fsck/unix.c:195 -#, fuzzy, c-format -msgid "%8u socket\n" -msgid_plural "%8u sockets\n" -msgstr[0] "套接字" -msgstr[1] "套接字" - -#: e2fsck/unix.c:198 -#, c-format -msgid "%8u file\n" -msgid_plural "%8u files\n" -msgstr[0] "" -msgstr[1] "" - -#: e2fsck/unix.c:212 misc/badblocks.c:983 misc/tune2fs.c:1979 misc/util.c:147 -#: resize/main.c:247 +#: e2fsck/unix.c:207 misc/badblocks.c:928 misc/tune2fs.c:1625 misc/util.c:151 +#: resize/main.c:249 #, c-format msgid "while determining whether %s is mounted." msgstr "" -#: e2fsck/unix.c:230 -#, fuzzy, c-format -msgid "Warning! %s is %s.\n" +#: e2fsck/unix.c:225 +#, c-format +msgid "Warning! %s is mounted.\n" msgstr "警告! %s已挂载.\n" -#: e2fsck/unix.c:237 +#: e2fsck/unix.c:229 #, c-format -msgid "%s is %s.\n" -msgstr "" +msgid "%s is mounted. " +msgstr "%s 已挂载." -#: e2fsck/unix.c:240 +#: e2fsck/unix.c:231 msgid "" "Cannot continue, aborting.\n" "\n" msgstr "无法继续, 中止.\n" -#: e2fsck/unix.c:242 +#: e2fsck/unix.c:232 +#, c-format msgid "" "\n" "\n" -"WARNING!!! The filesystem is mounted. If you continue you ***WILL***\n" -"cause ***SEVERE*** filesystem damage.\n" +"\a\a\a\aWARNING!!! The filesystem is mounted. If you continue you " +"***WILL***\n" +"cause ***SEVERE*** filesystem damage.\a\a\a\n" "\n" msgstr "" -#: e2fsck/unix.c:247 +#: e2fsck/unix.c:235 msgid "Do you really want to continue" msgstr "你真的想è¦è¦ç»§ç»­" -#: e2fsck/unix.c:249 +#: e2fsck/unix.c:237 #, c-format msgid "check aborted.\n" msgstr "检查被中止\n" -#: e2fsck/unix.c:339 +#: e2fsck/unix.c:315 msgid " contains a file system with errors" msgstr "" -#: e2fsck/unix.c:341 +#: e2fsck/unix.c:317 msgid " was not cleanly unmounted" msgstr "" -#: e2fsck/unix.c:343 +#: e2fsck/unix.c:319 msgid " primary superblock features different from backup" msgstr "" -#: e2fsck/unix.c:347 +#: e2fsck/unix.c:323 #, c-format msgid " has been mounted %u times without being checked" msgstr "" -#: e2fsck/unix.c:354 +#: e2fsck/unix.c:330 msgid " has filesystem last checked time in the future" msgstr "" -#: e2fsck/unix.c:360 +#: e2fsck/unix.c:336 #, c-format msgid " has gone %u days without being checked" msgstr "" -#: e2fsck/unix.c:369 +#: e2fsck/unix.c:345 msgid ", check forced.\n" msgstr ", 强制检查.\n" -#: e2fsck/unix.c:402 +#: e2fsck/unix.c:348 #, c-format -msgid "%s: clean, %u/%u files, %llu/%llu blocks" +msgid "%s: clean, %u/%u files, %u/%u blocks" msgstr "" -#: e2fsck/unix.c:421 +#: e2fsck/unix.c:365 msgid " (check deferred; on battery)" msgstr "" -#: e2fsck/unix.c:424 +#: e2fsck/unix.c:368 msgid " (check after next mount)" msgstr "(将于下次挂载时进行检查)" -#: e2fsck/unix.c:426 +#: e2fsck/unix.c:370 #, c-format msgid " (check in %ld mounts)" msgstr "" -#: e2fsck/unix.c:576 +#: e2fsck/unix.c:517 #, c-format msgid "ERROR: Couldn't open /dev/null (%s)\n" msgstr "" -#: e2fsck/unix.c:645 +#: e2fsck/unix.c:587 #, c-format msgid "Invalid EA version.\n" msgstr "无效的EA版本å·.\n" -#: e2fsck/unix.c:672 +#: e2fsck/unix.c:596 #, c-format msgid "Unknown extended option: %s\n" msgstr "" -#: e2fsck/unix.c:697 +#: e2fsck/unix.c:618 #, c-format msgid "" "Syntax error in e2fsck config file (%s, line #%d)\n" @@ -2754,55 +2566,54 @@ msgstr "" "e2fsck é…置文件中语法错误(%s, è¡Œ #%d)\n" "\t%s\n" -#: e2fsck/unix.c:766 +#: e2fsck/unix.c:686 #, c-format msgid "Error validating file descriptor %d: %s\n" msgstr "" -#: e2fsck/unix.c:770 +#: e2fsck/unix.c:690 msgid "Invalid completion information file descriptor" msgstr "" -#: e2fsck/unix.c:785 +#: e2fsck/unix.c:705 msgid "Only one of the options -p/-a, -n or -y may be specified." msgstr "" -#: e2fsck/unix.c:806 +#: e2fsck/unix.c:726 #, c-format msgid "The -t option is not supported on this version of e2fsck.\n" msgstr "" -#: e2fsck/unix.c:837 e2fsck/unix.c:909 misc/tune2fs.c:811 misc/tune2fs.c:1100 -#: misc/tune2fs.c:1118 -#, c-format -msgid "Unable to resolve '%s'" -msgstr "" - -#: e2fsck/unix.c:888 +#: e2fsck/unix.c:801 msgid "The -n and -D options are incompatible." msgstr "" -#: e2fsck/unix.c:893 +#: e2fsck/unix.c:806 msgid "The -n and -c options are incompatible." msgstr "" -#: e2fsck/unix.c:898 +#: e2fsck/unix.c:811 msgid "The -n and -l/-L options are incompatible." msgstr "" -#: e2fsck/unix.c:943 +#: e2fsck/unix.c:822 misc/tune2fs.c:550 misc/tune2fs.c:835 misc/tune2fs.c:853 +#, c-format +msgid "Unable to resolve '%s'" +msgstr "" + +#: e2fsck/unix.c:851 #, c-format msgid "The -c and the -l/-L options may not be both used at the same time.\n" msgstr "" -#: e2fsck/unix.c:991 +#: e2fsck/unix.c:899 #, c-format msgid "" "E2FSCK_JBD_DEBUG \"%s\" not an integer\n" "\n" msgstr "" -#: e2fsck/unix.c:1000 +#: e2fsck/unix.c:908 #, c-format msgid "" "\n" @@ -2810,183 +2621,174 @@ msgid "" "\n" msgstr "" -#: e2fsck/unix.c:1089 -#, c-format -msgid "" -"MMP interval is %u seconds and total wait time is %u seconds. Please " -"wait...\n" -msgstr "" - -#: e2fsck/unix.c:1106 e2fsck/unix.c:1111 -#, fuzzy -msgid "while checking MMP block" -msgstr "在对åå—inode进行一致性检验是" - -#: e2fsck/unix.c:1113 misc/tune2fs.c:1912 -msgid "" -"If you are sure the filesystem is not in use on any node, run:\n" -"'tune2fs -f -E clear_mmp {device}'\n" -msgstr "" - -#: e2fsck/unix.c:1163 +#: e2fsck/unix.c:982 #, c-format msgid "Error: ext2fs library version out of date!\n" msgstr "错误: ext2fs库版本过旧!\n" -#: e2fsck/unix.c:1171 +#: e2fsck/unix.c:990 msgid "while trying to initialize program" msgstr "" -#: e2fsck/unix.c:1194 +#: e2fsck/unix.c:1001 #, c-format msgid "\tUsing %s, %s\n" msgstr "" -#: e2fsck/unix.c:1206 +#: e2fsck/unix.c:1013 msgid "need terminal for interactive repairs" msgstr "" -#: e2fsck/unix.c:1256 +#: e2fsck/unix.c:1046 #, c-format msgid "%s: %s trying backup blocks...\n" msgstr "" -#: e2fsck/unix.c:1258 +#: e2fsck/unix.c:1048 msgid "Superblock invalid," msgstr "超级å—无效," -#: e2fsck/unix.c:1259 +#: e2fsck/unix.c:1049 msgid "Group descriptors look bad..." msgstr "" -#: e2fsck/unix.c:1269 -#, fuzzy, c-format -msgid "%s: %s while using the backup blocks" -msgstr "当读å–åå—inodeæ—¶" - -#: e2fsck/unix.c:1273 +#: e2fsck/unix.c:1059 #, c-format msgid "%s: going back to original superblock\n" msgstr "" -#: e2fsck/unix.c:1301 +#: e2fsck/unix.c:1086 +#, c-format msgid "" "The filesystem revision is apparently too high for this version of e2fsck.\n" "(Or the filesystem superblock is corrupt)\n" "\n" msgstr "" -#: e2fsck/unix.c:1307 +#: e2fsck/unix.c:1092 +#, c-format msgid "Could this be a zero-length partition?\n" msgstr "" -#: e2fsck/unix.c:1310 +#: e2fsck/unix.c:1094 #, c-format msgid "You must have %s access to the filesystem or be root\n" msgstr "" -#: e2fsck/unix.c:1315 +#: e2fsck/unix.c:1099 +#, c-format msgid "Possibly non-existent or swap device?\n" msgstr "" -#: e2fsck/unix.c:1318 +#: e2fsck/unix.c:1101 +#, c-format msgid "Filesystem mounted or opened exclusively by another program?\n" msgstr "" -#: e2fsck/unix.c:1321 -msgid "Possibly non-existent device?\n" -msgstr "" - -#: e2fsck/unix.c:1324 +#: e2fsck/unix.c:1105 +#, c-format msgid "" "Disk write-protected; use the -n option to do a read-only\n" "check of the device.\n" msgstr "" -#: e2fsck/unix.c:1389 +#: e2fsck/unix.c:1169 msgid "Get a newer version of e2fsck!" msgstr "" -#: e2fsck/unix.c:1437 +#: e2fsck/unix.c:1199 #, c-format msgid "while checking ext3 journal for %s" msgstr "" -#: e2fsck/unix.c:1448 +#: e2fsck/unix.c:1210 +#, c-format msgid "" "Warning: skipping journal recovery because doing a read-only filesystem " "check.\n" msgstr "" -#: e2fsck/unix.c:1461 +#: e2fsck/unix.c:1223 #, c-format msgid "unable to set superblock flags on %s\n" msgstr "" -#: e2fsck/unix.c:1467 +#: e2fsck/unix.c:1229 #, c-format msgid "while recovering ext3 journal of %s" msgstr "" -#: e2fsck/unix.c:1492 +#: e2fsck/unix.c:1254 #, c-format msgid "%s has unsupported feature(s):" msgstr "" -#: e2fsck/unix.c:1507 -#, c-format -msgid "%s: warning: compression support is experimental.\n" +#: e2fsck/unix.c:1270 +msgid "Warning: compression support is experimental.\n" msgstr "" -#: e2fsck/unix.c:1513 +#: e2fsck/unix.c:1275 #, c-format msgid "" -"%s: e2fsck not compiled with HTREE support,\n" +"E2fsck not compiled with HTREE support,\n" "\tbut filesystem %s has HTREE directories.\n" msgstr "" -#: e2fsck/unix.c:1565 -#, fuzzy, c-format -msgid "%s: %s while reading bad blocks inode\n" +#: e2fsck/unix.c:1328 +msgid "while reading bad blocks inode" msgstr "当读å–åå—inodeæ—¶" -#: e2fsck/unix.c:1568 +#: e2fsck/unix.c:1330 +#, c-format msgid "This doesn't bode well, but we'll try to go on...\n" msgstr "" -#: e2fsck/unix.c:1609 +#: e2fsck/unix.c:1356 +msgid "Couldn't determine journal size" +msgstr "" + +#: e2fsck/unix.c:1359 #, c-format msgid "Creating journal (%d blocks): " msgstr "" -#: e2fsck/unix.c:1619 +#: e2fsck/unix.c:1366 misc/mke2fs.c:2248 +msgid "" +"\n" +"\twhile trying to create journal" +msgstr "" + +#: e2fsck/unix.c:1369 +#, c-format msgid " Done.\n" msgstr "完æˆ.\n" -#: e2fsck/unix.c:1620 +#: e2fsck/unix.c:1370 +#, c-format msgid "" "\n" "*** journal has been re-created - filesystem is now ext3 again ***\n" msgstr "" -#: e2fsck/unix.c:1643 +#: e2fsck/unix.c:1377 +#, c-format msgid "Restarting e2fsck from the beginning...\n" msgstr "正在从头开始e2fsck...\n" -#: e2fsck/unix.c:1647 +#: e2fsck/unix.c:1381 msgid "while resetting context" msgstr "" -#: e2fsck/unix.c:1654 +#: e2fsck/unix.c:1388 #, c-format msgid "%s: e2fsck canceled.\n" msgstr "%s: e2fsck被å–消.\n" -#: e2fsck/unix.c:1659 +#: e2fsck/unix.c:1393 msgid "aborted" msgstr "已中止" -#: e2fsck/unix.c:1671 e2fsck/util.c:67 +#: e2fsck/unix.c:1405 #, c-format msgid "" "\n" @@ -2995,12 +2797,12 @@ msgstr "" "\n" "%s: ***** 文件系统已修改 *****\n" -#: e2fsck/unix.c:1675 +#: e2fsck/unix.c:1408 #, c-format msgid "%s: ***** REBOOT LINUX *****\n" msgstr "%s: ***** é‡æ–°å¯åŠ¨ LINUX *****\n" -#: e2fsck/unix.c:1683 e2fsck/util.c:73 +#: e2fsck/unix.c:1416 #, c-format msgid "" "\n" @@ -3011,43 +2813,43 @@ msgstr "" "%s: ********** 警告: 文件系统上ä»æœ‰é”™è¯¯ **********\n" "\n" -#: e2fsck/unix.c:1723 +#: e2fsck/unix.c:1454 msgid "while setting block group checksum info" msgstr "" -#: e2fsck/util.c:189 misc/util.c:70 +#: e2fsck/util.c:138 misc/util.c:68 msgid "yY" msgstr "yY" -#: e2fsck/util.c:190 +#: e2fsck/util.c:139 msgid "nN" msgstr "nN" -#: e2fsck/util.c:204 +#: e2fsck/util.c:153 msgid "" msgstr "" -#: e2fsck/util.c:206 +#: e2fsck/util.c:155 msgid "" msgstr "" -#: e2fsck/util.c:208 +#: e2fsck/util.c:157 msgid " (y/n)" msgstr " (y/n)" -#: e2fsck/util.c:222 +#: e2fsck/util.c:172 msgid "cancelled!\n" msgstr "å·²å–消!\n" -#: e2fsck/util.c:237 +#: e2fsck/util.c:187 msgid "yes\n" msgstr "是\n" -#: e2fsck/util.c:239 +#: e2fsck/util.c:189 msgid "no\n" msgstr "å¦\n" -#: e2fsck/util.c:249 +#: e2fsck/util.c:199 #, c-format msgid "" "%s? no\n" @@ -3056,7 +2858,7 @@ msgstr "" "%s? å¦\n" "\n" -#: e2fsck/util.c:253 +#: e2fsck/util.c:203 #, c-format msgid "" "%s? yes\n" @@ -3065,38 +2867,38 @@ msgstr "" "%s? 是\n" "\n" -#: e2fsck/util.c:257 +#: e2fsck/util.c:207 msgid "yes" msgstr "yes" -#: e2fsck/util.c:257 +#: e2fsck/util.c:207 msgid "no" msgstr "no" -#: e2fsck/util.c:272 +#: e2fsck/util.c:221 #, c-format msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s" msgstr "" -#: e2fsck/util.c:277 +#: e2fsck/util.c:226 msgid "reading inode and block bitmaps" msgstr "" -#: e2fsck/util.c:285 +#: e2fsck/util.c:231 #, c-format msgid "while retrying to read bitmaps for %s" msgstr "" -#: e2fsck/util.c:297 +#: e2fsck/util.c:243 msgid "writing block and inode bitmaps" msgstr "" -#: e2fsck/util.c:302 +#: e2fsck/util.c:248 #, c-format msgid "while rewriting block and inode bitmaps for %s" msgstr "" -#: e2fsck/util.c:314 +#: e2fsck/util.c:260 #, c-format msgid "" "\n" @@ -3105,52 +2907,45 @@ msgid "" "\t(i.e., without -a or -p options)\n" msgstr "" -#: e2fsck/util.c:395 +#: e2fsck/util.c:341 #, c-format msgid "Memory used: %luk/%luk (%luk/%luk), " msgstr "内存使用é‡: %luk/%luk (%luk/%luk), " -#: e2fsck/util.c:399 +#: e2fsck/util.c:345 #, c-format msgid "Memory used: %lu, " msgstr "内存用é‡: %lu, " -#: e2fsck/util.c:406 +#: e2fsck/util.c:352 #, c-format msgid "time: %5.2f/%5.2f/%5.2f\n" msgstr "时间: %5.2f/%5.2f/%5.2f\n" -#: e2fsck/util.c:411 +#: e2fsck/util.c:357 #, c-format msgid "elapsed time: %6.3f\n" msgstr "" -#: e2fsck/util.c:446 e2fsck/util.c:460 +#: e2fsck/util.c:391 e2fsck/util.c:405 #, c-format msgid "while reading inode %lu in %s" msgstr "" -#: e2fsck/util.c:474 e2fsck/util.c:487 +#: e2fsck/util.c:419 e2fsck/util.c:432 #, c-format msgid "while writing inode %lu in %s" msgstr "" -#: e2fsck/util.c:636 +#: e2fsck/util.c:581 msgid "while allocating zeroizing buffer" msgstr "" -#: e2fsck/util.c:788 -msgid "" -"UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is " -"running.\n" -msgstr "" - -#: misc/badblocks.c:69 -#, fuzzy -msgid "done \n" +#: misc/badblocks.c:66 +msgid "done \n" msgstr "å®Œæˆ \n" -#: misc/badblocks.c:93 +#: misc/badblocks.c:89 #, c-format msgid "" "Usage: %s [-b block_size] [-i input_file] [-o output_file] [-svwnf]\n" @@ -3160,284 +2955,265 @@ msgid "" " device [last_block [first_block]]\n" msgstr "" -#: misc/badblocks.c:104 +#: misc/badblocks.c:100 #, c-format msgid "" "%s: The -n and -w options are mutually exclusive.\n" "\n" msgstr "" -#: misc/badblocks.c:219 +#: misc/badblocks.c:202 #, c-format -msgid "%6.2f%% done, %s elapsed. (%d/%d/%d errors)" +msgid "%6.2f%% done, %s elapsed" msgstr "" -#: misc/badblocks.c:322 +#: misc/badblocks.c:293 msgid "Testing with random pattern: " msgstr "" -#: misc/badblocks.c:340 +#: misc/badblocks.c:311 msgid "Testing with pattern 0x" msgstr "" -#: misc/badblocks.c:372 misc/badblocks.c:445 +#: misc/badblocks.c:339 misc/badblocks.c:408 msgid "during seek" msgstr "" -#: misc/badblocks.c:383 +#: misc/badblocks.c:350 #, c-format msgid "Weird value (%ld) in do_read\n" msgstr "" -#: misc/badblocks.c:469 +#: misc/badblocks.c:428 msgid "during ext2fs_sync_device" msgstr "" -#: misc/badblocks.c:489 misc/badblocks.c:749 +#: misc/badblocks.c:447 misc/badblocks.c:711 msgid "while beginning bad block list iteration" msgstr "" -#: misc/badblocks.c:503 misc/badblocks.c:602 misc/badblocks.c:759 +#: misc/badblocks.c:461 misc/badblocks.c:563 misc/badblocks.c:721 msgid "while allocating buffers" msgstr "" -#: misc/badblocks.c:507 +#: misc/badblocks.c:465 #, c-format msgid "Checking blocks %lu to %lu\n" msgstr "正在检查从 %lu 到 %luçš„å—\n" -#: misc/badblocks.c:512 +#: misc/badblocks.c:470 msgid "Checking for bad blocks in read-only mode\n" msgstr "" -#: misc/badblocks.c:521 +#: misc/badblocks.c:479 msgid "Checking for bad blocks (read-only test): " msgstr "" -#: misc/badblocks.c:528 misc/badblocks.c:634 misc/badblocks.c:676 -#: misc/badblocks.c:822 +#: misc/badblocks.c:487 misc/badblocks.c:595 misc/badblocks.c:640 +#: misc/badblocks.c:784 msgid "Too many bad blocks, aborting test\n" msgstr "" -#: misc/badblocks.c:609 +#: misc/badblocks.c:570 msgid "Checking for bad blocks in read-write mode\n" msgstr "" -#: misc/badblocks.c:611 misc/badblocks.c:772 +#: misc/badblocks.c:572 misc/badblocks.c:734 #, c-format msgid "From block %lu to %lu\n" msgstr "" -#: misc/badblocks.c:666 +#: misc/badblocks.c:630 msgid "Reading and comparing: " msgstr "正在读å–并比较: " -#: misc/badblocks.c:771 +#: misc/badblocks.c:733 msgid "Checking for bad blocks in non-destructive read-write mode\n" msgstr "" -#: misc/badblocks.c:777 +#: misc/badblocks.c:739 msgid "Checking for bad blocks (non-destructive read-write test)\n" msgstr "" -#: misc/badblocks.c:784 +#: misc/badblocks.c:746 msgid "" "\n" "Interrupt caught, cleaning up\n" msgstr "" -#: misc/badblocks.c:867 +#: misc/badblocks.c:822 #, c-format msgid "during test data write, block %lu" msgstr "" -#: misc/badblocks.c:988 misc/util.c:152 +#: misc/badblocks.c:933 misc/util.c:156 #, c-format msgid "%s is mounted; " msgstr "%s å·²ç»æŒ‚è½½;" -#: misc/badblocks.c:990 +#: misc/badblocks.c:935 msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "" -#: misc/badblocks.c:995 +#: misc/badblocks.c:940 msgid "it's not safe to run badblocks!\n" msgstr "" -#: misc/badblocks.c:1000 misc/util.c:163 +#: misc/badblocks.c:945 misc/util.c:167 #, c-format msgid "%s is apparently in use by the system; " msgstr "" -#: misc/badblocks.c:1003 +#: misc/badblocks.c:948 msgid "badblocks forced anyway.\n" msgstr "" -#: misc/badblocks.c:1023 +#: misc/badblocks.c:968 #, c-format msgid "invalid %s - %s" msgstr "无效的%s - %s" -#: misc/badblocks.c:1133 +#: misc/badblocks.c:1077 #, c-format msgid "can't allocate memory for test_pattern - %s" msgstr "" -#: misc/badblocks.c:1163 +#: misc/badblocks.c:1104 msgid "Maximum of one test_pattern may be specified in read-only mode" msgstr "" -#: misc/badblocks.c:1169 +#: misc/badblocks.c:1110 msgid "Random test_pattern is not allowed in read-only mode" msgstr "" -#: misc/badblocks.c:1183 +#: misc/badblocks.c:1124 msgid "" "Couldn't determine device size; you must specify\n" "the size manually\n" msgstr "" -#: misc/badblocks.c:1189 +#: misc/badblocks.c:1130 msgid "while trying to determine device size" msgstr "" -#: misc/badblocks.c:1194 +#: misc/badblocks.c:1135 msgid "last block" msgstr "最åŽä¸€ä¸ªå—" -#: misc/badblocks.c:1200 +#: misc/badblocks.c:1141 msgid "first block" msgstr "第一个å—" -#: misc/badblocks.c:1203 +#: misc/badblocks.c:1144 #, c-format msgid "invalid starting block (%lu): must be less than %lu" msgstr "" -#: misc/badblocks.c:1259 +#: misc/badblocks.c:1200 msgid "while creating in-memory bad blocks list" msgstr "" -#: misc/badblocks.c:1274 +#: misc/badblocks.c:1215 msgid "while adding to in-memory bad block list" msgstr "" -#: misc/badblocks.c:1298 +#: misc/badblocks.c:1239 #, c-format -msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n" +msgid "Pass completed, %u bad blocks found.\n" msgstr "" -#: misc/chattr.c:86 +#: misc/chattr.c:85 #, c-format msgid "Usage: %s [-RVf] [-+=AacDdeijsSu] [-v version] files...\n" msgstr "" -#: misc/chattr.c:154 +#: misc/chattr.c:153 #, c-format msgid "bad version - %s\n" msgstr "错误的版本 - %s\n" -#: misc/chattr.c:201 misc/lsattr.c:116 +#: misc/chattr.c:200 misc/lsattr.c:115 #, c-format msgid "while trying to stat %s" msgstr "当å°è¯•å¯¹%s进行stat调用时" -#: misc/chattr.c:208 +#: misc/chattr.c:207 #, c-format msgid "while reading flags on %s" msgstr "" -#: misc/chattr.c:217 misc/chattr.c:236 +#: misc/chattr.c:216 misc/chattr.c:235 #, c-format msgid "Clearing extent flag not supported on %s" msgstr "" -#: misc/chattr.c:222 misc/chattr.c:241 +#: misc/chattr.c:221 misc/chattr.c:240 #, c-format msgid "Flags of %s set as " msgstr "%s的标志被设为 " -#: misc/chattr.c:250 +#: misc/chattr.c:249 #, c-format msgid "while setting flags on %s" msgstr "" -#: misc/chattr.c:258 +#: misc/chattr.c:257 #, c-format msgid "Version of %s set as %lu\n" msgstr "" -#: misc/chattr.c:262 +#: misc/chattr.c:261 #, c-format msgid "while setting version on %s" msgstr "" -#: misc/chattr.c:282 +#: misc/chattr.c:281 #, c-format msgid "Couldn't allocate path variable in chattr_dir_proc" msgstr "" -#: misc/chattr.c:322 +#: misc/chattr.c:320 msgid "= is incompatible with - and +\n" msgstr "" -#: misc/chattr.c:330 +#: misc/chattr.c:328 msgid "Must use '-v', =, - or +\n" msgstr "" -#: misc/dumpe2fs.c:55 +#: misc/dumpe2fs.c:53 #, c-format msgid "Usage: %s [-bfhixV] [-o superblock=] [-o blocksize=] device\n" msgstr "" -#: misc/dumpe2fs.c:159 -#, fuzzy -msgid "blocks" -msgstr "bå—" - #: misc/dumpe2fs.c:168 -msgid "clusters" -msgstr "" - -#: misc/dumpe2fs.c:196 #, c-format msgid "Group %lu: (Blocks " msgstr "" -#: misc/dumpe2fs.c:204 -#, fuzzy, c-format -msgid " Checksum 0x%04x" -msgstr " 校验和 0x%04x,%d个未使用的inode\n" - -#: misc/dumpe2fs.c:206 +#: misc/dumpe2fs.c:173 #, c-format -msgid " (EXPECTED 0x%04x)" -msgstr "" - -#: misc/dumpe2fs.c:207 -#, fuzzy, c-format -msgid ", unused inodes %u\n" -msgstr ", %u个未使用的inodes\n" +msgid " Checksum 0x%04x, unused inodes %d\n" +msgstr " 校验和 0x%04x,%d个未使用的inode\n" -#: misc/dumpe2fs.c:212 +#: misc/dumpe2fs.c:178 #, c-format msgid " %s superblock at " msgstr "" -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Primary" msgstr "主" -#: misc/dumpe2fs.c:213 +#: misc/dumpe2fs.c:179 msgid "Backup" msgstr "备份" -#: misc/dumpe2fs.c:217 +#: misc/dumpe2fs.c:183 #, fuzzy, c-format msgid ", Group descriptors at " msgstr ", 组æ述符ä½äºŽ " -#: misc/dumpe2fs.c:221 +#: misc/dumpe2fs.c:187 #, c-format msgid "" "\n" @@ -3446,20 +3222,20 @@ msgstr "" "\n" " ä¿ç•™çš„GDTå—ä½äºŽ " -#: misc/dumpe2fs.c:228 +#: misc/dumpe2fs.c:194 #, c-format msgid " Group descriptor at " msgstr "" -#: misc/dumpe2fs.c:234 +#: misc/dumpe2fs.c:200 msgid " Block bitmap at " msgstr "" -#: misc/dumpe2fs.c:238 +#: misc/dumpe2fs.c:205 msgid ", Inode bitmap at " msgstr "" -#: misc/dumpe2fs.c:242 +#: misc/dumpe2fs.c:210 msgid "" "\n" " Inode table at " @@ -3467,57 +3243,57 @@ msgstr "" "\n" " Inode表ä½äºŽ " -#: misc/dumpe2fs.c:248 +#: misc/dumpe2fs.c:217 #, c-format msgid "" "\n" -" %u free %s, %u free inodes, %u directories%s" +" %u free blocks, %u free inodes, %u directories%s" msgstr "" -#: misc/dumpe2fs.c:255 +#: misc/dumpe2fs.c:224 #, c-format msgid ", %u unused inodes\n" msgstr ", %u个未使用的inodes\n" -#: misc/dumpe2fs.c:258 +#: misc/dumpe2fs.c:227 msgid " Free blocks: " msgstr " å¯ç”¨å—æ•°: " -#: misc/dumpe2fs.c:269 +#: misc/dumpe2fs.c:237 msgid " Free inodes: " msgstr " å¯ç”¨inodeæ•°: " -#: misc/dumpe2fs.c:300 +#: misc/dumpe2fs.c:268 msgid "while printing bad block list" msgstr "" -#: misc/dumpe2fs.c:306 +#: misc/dumpe2fs.c:274 #, c-format msgid "Bad blocks: %u" msgstr "åå—æ•°: %u" -#: misc/dumpe2fs.c:333 misc/tune2fs.c:302 +#: misc/dumpe2fs.c:301 misc/tune2fs.c:281 msgid "while reading journal inode" msgstr "" -#: misc/dumpe2fs.c:339 +#: misc/dumpe2fs.c:307 msgid "while opening journal inode" msgstr "" -#: misc/dumpe2fs.c:345 +#: misc/dumpe2fs.c:313 msgid "while reading journal super block" msgstr "" -#: misc/dumpe2fs.c:355 +#: misc/dumpe2fs.c:323 #, fuzzy, c-format msgid "Journal features: " msgstr "日志使用者: %s\n" -#: misc/dumpe2fs.c:368 +#: misc/dumpe2fs.c:336 msgid "Journal size: " msgstr "日志大å°: " -#: misc/dumpe2fs.c:379 +#: misc/dumpe2fs.c:347 #, c-format msgid "" "Journal length: %u\n" @@ -3525,20 +3301,15 @@ msgid "" "Journal start: %u\n" msgstr "" -#: misc/dumpe2fs.c:386 -#, fuzzy, c-format -msgid "Journal errno: %d\n" -msgstr "日志使用者: %s\n" - -#: misc/dumpe2fs.c:401 misc/tune2fs.c:218 +#: misc/dumpe2fs.c:366 misc/tune2fs.c:202 msgid "while reading journal superblock" msgstr "" -#: misc/dumpe2fs.c:409 +#: misc/dumpe2fs.c:374 msgid "Couldn't find journal superblock magic numbers" msgstr "" -#: misc/dumpe2fs.c:413 +#: misc/dumpe2fs.c:378 #, c-format msgid "" "\n" @@ -3550,27 +3321,27 @@ msgid "" "Journal number of users: %u\n" msgstr "" -#: misc/dumpe2fs.c:426 +#: misc/dumpe2fs.c:391 #, c-format msgid "Journal users: %s\n" msgstr "日志使用者: %s\n" -#: misc/dumpe2fs.c:442 misc/mke2fs.c:662 misc/tune2fs.c:1137 +#: misc/dumpe2fs.c:407 misc/mke2fs.c:699 misc/tune2fs.c:872 #, c-format msgid "Couldn't allocate memory to parse options!\n" msgstr "" -#: misc/dumpe2fs.c:468 +#: misc/dumpe2fs.c:433 #, c-format msgid "Invalid superblock parameter: %s\n" msgstr "" -#: misc/dumpe2fs.c:483 +#: misc/dumpe2fs.c:448 #, c-format msgid "Invalid blocksize parameter: %s\n" msgstr "" -#: misc/dumpe2fs.c:494 +#: misc/dumpe2fs.c:459 #, c-format msgid "" "\n" @@ -3584,100 +3355,95 @@ msgid "" "\tblocksize=\n" msgstr "" -#: misc/dumpe2fs.c:554 misc/mke2fs.c:1525 +#: misc/dumpe2fs.c:518 misc/mke2fs.c:1406 #, c-format msgid "\tUsing %s\n" msgstr "\t使用 %s\n" -#: misc/dumpe2fs.c:590 misc/e2image.c:1309 misc/tune2fs.c:1923 -#: resize/main.c:305 +#: misc/dumpe2fs.c:554 misc/e2image.c:681 misc/tune2fs.c:1576 +#: resize/main.c:312 #, c-format msgid "Couldn't find valid filesystem superblock.\n" msgstr "找ä¸åˆ°æœ‰æ•ˆçš„文件系统超级å—.\n" -#: misc/dumpe2fs.c:618 +#: misc/dumpe2fs.c:579 #, c-format msgid "" "\n" "%s: %s: error reading bitmaps: %s\n" msgstr "" -#: misc/e2image.c:87 +#: misc/e2image.c:52 #, c-format -msgid "Usage: %s [-rsIQ] device image_file\n" +msgid "Usage: %s [-rsI] device image_file\n" msgstr "" -#: misc/e2image.c:135 -#, c-format -msgid "Error: header size is bigger than wrt_size\n" +#: misc/e2image.c:64 +msgid "Couldn't allocate header buffer\n" msgstr "" -#: misc/e2image.c:141 -msgid "Couldn't allocate header buffer\n" +#: misc/e2image.c:83 +#, c-format +msgid "short write (only %d bytes) for writing image header" msgstr "" -#: misc/e2image.c:171 +#: misc/e2image.c:102 msgid "while writing superblock" msgstr "" -#: misc/e2image.c:179 +#: misc/e2image.c:110 msgid "while writing inode table" msgstr "" -#: misc/e2image.c:186 +#: misc/e2image.c:117 msgid "while writing block bitmap" msgstr "" -#: misc/e2image.c:193 +#: misc/e2image.c:124 msgid "while writing inode bitmap" msgstr "" -#: misc/e2image.c:1341 -#, c-format -msgid "while trying to convert qcow2 image (%s) into raw image (%s)" -msgstr "" - -#: misc/e2label.c:58 +#: misc/e2label.c:57 #, c-format msgid "e2label: cannot open %s\n" msgstr "e2label: 无法打开 %s\n" -#: misc/e2label.c:63 +#: misc/e2label.c:62 #, c-format msgid "e2label: cannot seek to superblock\n" msgstr "" -#: misc/e2label.c:68 +#: misc/e2label.c:67 #, c-format msgid "e2label: error reading superblock\n" msgstr "e2label: 读å–superblock出错\n" -#: misc/e2label.c:72 +#: misc/e2label.c:71 #, c-format msgid "e2label: not an ext2 filesystem\n" msgstr "e2label: ä¸æ˜¯ä¸€ä¸ªex2文件系统\n" -#: misc/e2label.c:97 misc/tune2fs.c:2074 +#: misc/e2label.c:96 misc/tune2fs.c:1711 #, c-format msgid "Warning: label too long, truncating.\n" msgstr "" -#: misc/e2label.c:100 +#: misc/e2label.c:99 #, c-format msgid "e2label: cannot seek to superblock again\n" msgstr "" -#: misc/e2label.c:105 +#: misc/e2label.c:104 #, c-format msgid "e2label: error writing superblock\n" msgstr "" -#: misc/e2label.c:117 misc/tune2fs.c:803 +#: misc/e2label.c:116 misc/tune2fs.c:542 #, c-format msgid "Usage: e2label device [newlabel]\n" msgstr "用法: e2label device [æ–°å·æ ‡]\n" -#: misc/e2undo.c:36 +#: misc/e2undo.c:35 #, c-format msgid "Usage: %s \n" msgstr "" @@ -3686,7 +3452,7 @@ msgstr "" msgid "Failed to read the file system data \n" msgstr "" -#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:206 +#: misc/e2undo.c:62 misc/e2undo.c:83 misc/e2undo.c:108 misc/e2undo.c:205 #, c-format msgid "Failed tdb_fetch %s\n" msgstr "tdb_fetch %s 失败\n" @@ -3700,31 +3466,31 @@ msgstr "" msgid "The file system UUID didn't match \n" msgstr "" -#: misc/e2undo.c:163 +#: misc/e2undo.c:162 #, c-format msgid "Failed tdb_open %s\n" msgstr "tdb_open %s 失败\n" -#: misc/e2undo.c:169 +#: misc/e2undo.c:168 #, c-format msgid "Error while determining whether %s is mounted.\n" msgstr "" -#: misc/e2undo.c:175 +#: misc/e2undo.c:174 msgid "e2undo should only be run on unmounted file system\n" msgstr "" -#: misc/e2undo.c:184 +#: misc/e2undo.c:183 #, c-format msgid "Failed to open %s\n" msgstr "打开%s失败\n" -#: misc/e2undo.c:210 +#: misc/e2undo.c:209 #, c-format -msgid "Replayed transaction of size %zd at location %llu\n" +msgid "Replayed transaction of size %zd at location %ld\n" msgstr "" -#: misc/e2undo.c:216 +#: misc/e2undo.c:215 #, c-format msgid "Failed write %s\n" msgstr "写入%s失败\n" @@ -3739,149 +3505,148 @@ msgstr "" msgid "WARNING: bad format on line %d of %s\n" msgstr "" -#: misc/fsck.c:370 +#: misc/fsck.c:368 msgid "" -"WARNING: Your /etc/fstab does not contain the fsck passno\n" +"\a\a\aWARNING: Your /etc/fstab does not contain the fsck passno\n" "\tfield. I will kludge around things for you, but you\n" "\tshould fix your /etc/fstab file as soon as you can.\n" "\n" msgstr "" -#: misc/fsck.c:478 +#: misc/fsck.c:477 #, c-format msgid "fsck: %s: not found\n" msgstr "" -#: misc/fsck.c:594 +#: misc/fsck.c:593 #, c-format msgid "%s: wait: No more child process?!?\n" msgstr "" -#: misc/fsck.c:616 +#: misc/fsck.c:615 #, c-format msgid "Warning... %s for device %s exited with signal %d.\n" msgstr "" -#: misc/fsck.c:622 +#: misc/fsck.c:621 #, c-format msgid "%s %s: status is %x, should never happen.\n" msgstr "" -#: misc/fsck.c:661 +#: misc/fsck.c:660 #, c-format msgid "Finished with %s (exit status %d)\n" msgstr "" -#: misc/fsck.c:721 +#: misc/fsck.c:720 #, c-format msgid "%s: Error %d while executing fsck.%s for %s\n" msgstr "" -#: misc/fsck.c:742 +#: misc/fsck.c:741 msgid "" "Either all or none of the filesystem types passed to -t must be prefixed\n" "with 'no' or '!'.\n" msgstr "" -#: misc/fsck.c:761 +#: misc/fsck.c:760 msgid "Couldn't allocate memory for filesystem types\n" msgstr "" -#: misc/fsck.c:884 +#: misc/fsck.c:883 #, c-format msgid "" "%s: skipping bad line in /etc/fstab: bind mount with nonzero fsck pass " "number\n" msgstr "" -#: misc/fsck.c:911 +#: misc/fsck.c:910 #, c-format msgid "fsck: cannot check %s: fsck.%s not found\n" msgstr "" -#: misc/fsck.c:967 +#: misc/fsck.c:966 msgid "Checking all file systems.\n" msgstr "正在检查所有文件系统.\n" -#: misc/fsck.c:1058 +#: misc/fsck.c:1057 #, c-format msgid "--waiting-- (pass %d)\n" msgstr "--请ç¨å€™-- (å®Œæˆ %d)\n" -#: misc/fsck.c:1078 +#: misc/fsck.c:1077 msgid "" "Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] [filesys ...]\n" msgstr "" "用法: Usage: fsck [-AMNPRTV] [ -C [ fd ] ] [-t fstype] [fs-options] " "[filesys ...]\n" -#: misc/fsck.c:1120 +#: misc/fsck.c:1119 #, c-format msgid "%s: too many devices\n" msgstr "%s: 设备过多\n" -#: misc/fsck.c:1153 misc/fsck.c:1239 +#: misc/fsck.c:1152 misc/fsck.c:1238 #, c-format msgid "%s: too many arguments\n" msgstr "%s: å‚数过多\n" -#: misc/lsattr.c:74 +#: misc/lsattr.c:73 #, c-format msgid "Usage: %s [-RVadlv] [files...]\n" msgstr "用法: %s [-RVadlv] [files...]\n" -#: misc/lsattr.c:84 +#: misc/lsattr.c:83 #, c-format msgid "While reading flags on %s" msgstr "" -#: misc/lsattr.c:91 +#: misc/lsattr.c:90 #, c-format msgid "While reading version on %s" msgstr "" -#: misc/mke2fs.c:114 +#: misc/mke2fs.c:108 #, c-format msgid "" -"Usage: %s [-c|-l filename] [-b block-size] [-C cluster-size]\n" +"Usage: %s [-c|-l filename] [-b block-size] [-f fragment-size]\n" "\t[-i bytes-per-inode] [-I inode-size] [-J journal-options]\n" -"\t[-G flex-group-size] [-N number-of-inodes]\n" +"\t[-G meta group size] [-N number-of-inodes]\n" "\t[-m reserved-blocks-percentage] [-o creator-os]\n" "\t[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]\n" "\t[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]\n" -"\t[-t fs-type] [-T usage-type ] [-U UUID] [-jnqvDFKSV] device [blocks-" -"count]\n" +"\t[-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]\n" msgstr "" -#: misc/mke2fs.c:217 +#: misc/mke2fs.c:210 #, c-format msgid "Running command: %s\n" msgstr "正在执行命令: %s\n" -#: misc/mke2fs.c:221 +#: misc/mke2fs.c:214 #, c-format msgid "while trying to run '%s'" msgstr "当å°è¯•è¿è¡Œ '%s' æ—¶" -#: misc/mke2fs.c:228 +#: misc/mke2fs.c:221 msgid "while processing list of bad blocks from program" msgstr "" -#: misc/mke2fs.c:255 +#: misc/mke2fs.c:248 #, c-format msgid "Block %d in primary superblock/group descriptor area bad.\n" msgstr "" -#: misc/mke2fs.c:257 +#: misc/mke2fs.c:250 #, c-format msgid "Blocks %u through %u must be good in order to build a filesystem.\n" msgstr "" -#: misc/mke2fs.c:260 +#: misc/mke2fs.c:253 msgid "Aborting....\n" msgstr "正在终止...\n" -#: misc/mke2fs.c:280 +#: misc/mke2fs.c:273 #, c-format msgid "" "Warning: the backup superblock/group descriptors at block %u contain\n" @@ -3889,211 +3654,189 @@ msgid "" "\n" msgstr "" -#: misc/mke2fs.c:299 +#: misc/mke2fs.c:292 msgid "while marking bad blocks as used" msgstr "" -#: misc/mke2fs.c:316 +#: misc/mke2fs.c:350 +msgid "done \n" +msgstr "å®Œæˆ \n" + +#: misc/mke2fs.c:364 msgid "Writing inode tables: " msgstr "正在写入inode表: " -#: misc/mke2fs.c:337 +#: misc/mke2fs.c:387 #, c-format msgid "" "\n" -"Could not write %d blocks in inode table starting at %llu: %s\n" +"Could not write %d blocks in inode table starting at %u: %s\n" msgstr "" -#: misc/mke2fs.c:351 misc/mke2fs.c:2175 misc/mke2fs.c:2429 -#, c-format -msgid "done \n" -msgstr "å®Œæˆ \n" - -#: misc/mke2fs.c:362 +#: misc/mke2fs.c:411 msgid "while creating root dir" msgstr "" -#: misc/mke2fs.c:369 +#: misc/mke2fs.c:418 msgid "while reading root inode" msgstr "当读å–åå—inodeæ—¶" -#: misc/mke2fs.c:383 +#: misc/mke2fs.c:432 msgid "while setting root inode ownership" msgstr "" -#: misc/mke2fs.c:401 +#: misc/mke2fs.c:450 msgid "while creating /lost+found" msgstr "" -#: misc/mke2fs.c:408 +#: misc/mke2fs.c:457 msgid "while looking up /lost+found" msgstr "" -#: misc/mke2fs.c:421 +#: misc/mke2fs.c:470 msgid "while expanding /lost+found" msgstr "" -#: misc/mke2fs.c:436 +#: misc/mke2fs.c:485 msgid "while setting bad block inode" msgstr "" -#: misc/mke2fs.c:463 +#: misc/mke2fs.c:512 #, c-format msgid "Out of memory erasing sectors %d-%d\n" msgstr "" -#: misc/mke2fs.c:473 +#: misc/mke2fs.c:522 #, c-format msgid "Warning: could not read block 0: %s\n" msgstr "" -#: misc/mke2fs.c:489 +#: misc/mke2fs.c:538 #, c-format msgid "Warning: could not erase sector %d: %s\n" msgstr "" -#: misc/mke2fs.c:505 +#: misc/mke2fs.c:554 msgid "while initializing journal superblock" msgstr "" -#: misc/mke2fs.c:513 +#: misc/mke2fs.c:560 msgid "Zeroing journal device: " msgstr "正在将日志设备清零: " -#: misc/mke2fs.c:525 +#: misc/mke2fs.c:573 #, c-format -msgid "while zeroing journal device (block %llu, count %d)" +msgid "while zeroing journal device (block %u, count %d)" msgstr "" -#: misc/mke2fs.c:543 +#: misc/mke2fs.c:589 msgid "while writing journal superblock" msgstr "" -#: misc/mke2fs.c:558 -#, fuzzy, c-format +#: misc/mke2fs.c:605 +#, c-format msgid "" -"warning: %llu blocks unused.\n" +"warning: %u blocks unused.\n" "\n" msgstr "" "警告: %u å—未使用.\n" "\n" -#: misc/mke2fs.c:563 +#: misc/mke2fs.c:610 #, c-format msgid "Filesystem label=%s\n" msgstr "文件系统标签=%s\n" -#: misc/mke2fs.c:566 -#, fuzzy, c-format -msgid "OS type: %s\n" +#: misc/mke2fs.c:611 +msgid "OS type: " msgstr "æ“作系统:" -#: misc/mke2fs.c:568 +#: misc/mke2fs.c:616 #, c-format msgid "Block size=%u (log=%u)\n" msgstr "å—大å°=%u (log=%u)\n" -#: misc/mke2fs.c:572 -#, fuzzy, c-format -msgid "Cluster size=%u (log=%u)\n" -msgstr "å—大å°=%u (log=%u)\n" - -#: misc/mke2fs.c:576 +#: misc/mke2fs.c:618 #, c-format msgid "Fragment size=%u (log=%u)\n" msgstr "分å—大å°=%u (log=%u)\n" -#: misc/mke2fs.c:578 +#: misc/mke2fs.c:620 #, c-format msgid "Stride=%u blocks, Stripe width=%u blocks\n" msgstr "" -#: misc/mke2fs.c:580 +#: misc/mke2fs.c:622 #, c-format -msgid "%u inodes, %llu blocks\n" +msgid "%u inodes, %u blocks\n" msgstr "" -#: misc/mke2fs.c:582 +#: misc/mke2fs.c:624 #, c-format -msgid "%llu blocks (%2.2f%%) reserved for the super user\n" +msgid "%u blocks (%2.2f%%) reserved for the super user\n" msgstr "" -#: misc/mke2fs.c:585 +#: misc/mke2fs.c:627 #, c-format msgid "First data block=%u\n" msgstr "第一个数æ®å—=%u\n" -#: misc/mke2fs.c:587 +#: misc/mke2fs.c:629 #, c-format msgid "Maximum filesystem blocks=%lu\n" msgstr "" -#: misc/mke2fs.c:591 +#: misc/mke2fs.c:633 #, c-format msgid "%u block groups\n" msgstr "" -#: misc/mke2fs.c:593 +#: misc/mke2fs.c:635 #, c-format msgid "%u block group\n" msgstr "" -#: misc/mke2fs.c:596 -#, c-format -msgid "%u blocks per group, %u clusters per group\n" -msgstr "" - -#: misc/mke2fs.c:599 +#: misc/mke2fs.c:636 #, c-format msgid "%u blocks per group, %u fragments per group\n" msgstr "" -#: misc/mke2fs.c:601 +#: misc/mke2fs.c:638 #, c-format msgid "%u inodes per group\n" msgstr "" -#: misc/mke2fs.c:608 +#: misc/mke2fs.c:645 #, c-format msgid "Superblock backups stored on blocks: " msgstr "" -#: misc/mke2fs.c:687 misc/tune2fs.c:1165 -#, fuzzy, c-format -msgid "Invalid mmp_update_interval: %s\n" -msgstr "设置了无效的挂载选项: %s\n" - -#: misc/mke2fs.c:701 +#: misc/mke2fs.c:724 #, c-format msgid "Invalid stride parameter: %s\n" msgstr "" -#: misc/mke2fs.c:716 +#: misc/mke2fs.c:739 #, c-format msgid "Invalid stripe-width parameter: %s\n" msgstr "" -#: misc/mke2fs.c:739 +#: misc/mke2fs.c:761 #, c-format msgid "Invalid resize parameter: %s\n" msgstr "" -#: misc/mke2fs.c:746 +#: misc/mke2fs.c:768 #, c-format msgid "The resize maximum must be greater than the filesystem size.\n" msgstr "" -#: misc/mke2fs.c:770 +#: misc/mke2fs.c:792 #, c-format msgid "On-line resizing not supported with revision 0 filesystems\n" msgstr "" -#: misc/mke2fs.c:808 -#, fuzzy, c-format -msgid "Invalid quotatype parameter: %s\n" -msgstr "设置了无效的挂载选项: %s\n" - -#: misc/mke2fs.c:819 +#: misc/mke2fs.c:814 #, c-format msgid "" "\n" @@ -4107,15 +3850,11 @@ msgid "" "\tstripe-width=\n" "\tresize=\n" "\tlazy_itable_init=<0 to disable, 1 to enable>\n" -"\tlazy_journal_init=<0 to disable, 1 to enable>\n" "\ttest_fs\n" -"\tdiscard\n" -"\tnodiscard\n" -"\tquotatype=\n" "\n" msgstr "" -#: misc/mke2fs.c:839 +#: misc/mke2fs.c:830 #, c-format msgid "" "\n" @@ -4123,172 +3862,150 @@ msgid "" "\n" msgstr "" -#: misc/mke2fs.c:878 +#: misc/mke2fs.c:862 #, c-format msgid "" "Syntax error in mke2fs config file (%s, line #%d)\n" "\t%s\n" msgstr "" -#: misc/mke2fs.c:891 misc/tune2fs.c:393 +#: misc/mke2fs.c:875 misc/tune2fs.c:355 #, c-format msgid "Invalid filesystem option set: %s\n" msgstr "设置了无效的文件系统选项: %s\n" -#: misc/mke2fs.c:903 misc/tune2fs.c:345 -#, c-format -msgid "Invalid mount option set: %s\n" -msgstr "设置了无效的挂载选项: %s\n" - -#: misc/mke2fs.c:1043 +#: misc/mke2fs.c:985 #, c-format msgid "" "\n" -"Your mke2fs.conf file does not define the %s filesystem type.\n" +"Warning! Your mke2fs.conf file does not define the %s filesystem type.\n" msgstr "" -#: misc/mke2fs.c:1047 +#: misc/mke2fs.c:988 #, c-format msgid "" "You probably need to install an updated mke2fs.conf file.\n" "\n" msgstr "" -#: misc/mke2fs.c:1051 -#, fuzzy, c-format -msgid "Aborting...\n" -msgstr "正在终止...\n" - -#: misc/mke2fs.c:1091 +#: misc/mke2fs.c:1224 #, c-format -msgid "" -"\n" -"Warning: the fs_type %s is not defined in mke2fs.conf\n" -"\n" -msgstr "" - -#: misc/mke2fs.c:1249 -#, fuzzy, c-format -msgid "Couldn't allocate memory for new PATH.\n" -msgstr "无法为tdb文件å分é…内存\n" +msgid "invalid block size - %s" +msgstr "无效的å—å¤§å° - %s" -#: misc/mke2fs.c:1290 +#: misc/mke2fs.c:1228 #, c-format -msgid "Couldn't init profile successfully (error: %ld).\n" +msgid "Warning: blocksize %d not usable on most systems.\n" msgstr "" -#: misc/mke2fs.c:1330 +#: misc/mke2fs.c:1244 #, c-format -msgid "invalid block size - %s" -msgstr "无效的å—å¤§å° - %s" +msgid "invalid fragment size - %s" +msgstr "" -#: misc/mke2fs.c:1334 +#: misc/mke2fs.c:1250 #, c-format -msgid "Warning: blocksize %d not usable on most systems.\n" +msgid "Warning: fragments not supported. Ignoring -f option\n" msgstr "" -#: misc/mke2fs.c:1350 -#, fuzzy, c-format -msgid "invalid cluster size - %s" -msgstr "无效的å—å¤§å° - %s" - -#: misc/mke2fs.c:1362 +#: misc/mke2fs.c:1257 msgid "Illegal number for blocks per group" msgstr "" -#: misc/mke2fs.c:1367 +#: misc/mke2fs.c:1262 msgid "blocks per group must be multiple of 8" msgstr "" -#: misc/mke2fs.c:1375 +#: misc/mke2fs.c:1270 msgid "Illegal number for flex_bg size" msgstr "" -#: misc/mke2fs.c:1381 +#: misc/mke2fs.c:1276 msgid "flex_bg size must be a power of 2" msgstr "flex_bg 大å°å¿…须是2的次方" -#: misc/mke2fs.c:1391 +#: misc/mke2fs.c:1286 #, c-format msgid "invalid inode ratio %s (min %d/max %d)" msgstr "" -#: misc/mke2fs.c:1401 -#, c-format -msgid "" -"Warning: -K option is deprecated and should not be used anymore. Use '-E " -"nodiscard' extended option instead!\n" -msgstr "" - -#: misc/mke2fs.c:1415 +#: misc/mke2fs.c:1306 msgid "in malloc for bad_blocks_filename" msgstr "" -#: misc/mke2fs.c:1425 +#: misc/mke2fs.c:1316 #, c-format msgid "invalid reserved blocks percent - %s" msgstr "" -#: misc/mke2fs.c:1443 +#: misc/mke2fs.c:1334 #, c-format msgid "bad revision level - %s" msgstr "" -#: misc/mke2fs.c:1455 +#: misc/mke2fs.c:1346 #, c-format msgid "invalid inode size - %s" msgstr "无效的inodeå¤§å° - %s" -#: misc/mke2fs.c:1475 +#: misc/mke2fs.c:1366 #, c-format msgid "bad num inodes - %s" msgstr "" -#: misc/mke2fs.c:1492 -#, fuzzy -msgid "The -t option may only be used once" -msgstr "-oåªèƒ½è¢«æŒ‡å®šä¸€æ¬¡" - -#: misc/mke2fs.c:1500 -#, fuzzy -msgid "The -T option may only be used once" -msgstr "-oåªèƒ½è¢«æŒ‡å®šä¸€æ¬¡" - -#: misc/mke2fs.c:1550 misc/mke2fs.c:2508 +#: misc/mke2fs.c:1431 misc/mke2fs.c:2203 #, c-format msgid "while trying to open journal device %s\n" msgstr "" -#: misc/mke2fs.c:1556 +#: misc/mke2fs.c:1437 #, c-format msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n" msgstr "" -#: misc/mke2fs.c:1562 +#: misc/mke2fs.c:1443 #, c-format msgid "Using journal device's blocksize: %d\n" msgstr "" -#: misc/mke2fs.c:1573 -#, fuzzy, c-format -msgid "invalid blocks '%s' on device '%s'" -msgstr "无效的å—å¤§å° - %s" +#: misc/mke2fs.c:1452 +#, c-format +msgid "%d-byte blocks too big for system (max %d)" +msgstr "" + +#: misc/mke2fs.c:1456 +#, c-format +msgid "" +"Warning: %d-byte blocks too big for system (max %d), forced to continue\n" +msgstr "" + +#: misc/mke2fs.c:1464 +#, c-format +msgid "invalid blocks count - %s" +msgstr "" -#: misc/mke2fs.c:1583 +#: misc/mke2fs.c:1474 msgid "filesystem" msgstr "文件系统" -#: misc/mke2fs.c:1596 resize/main.c:374 +#: misc/mke2fs.c:1510 +#, c-format +msgid "" +"%s: Size of device %s too big to be expressed in 32 bits\n" +"\tusing a blocksize of %d.\n" +msgstr "" + +#: misc/mke2fs.c:1519 resize/main.c:382 msgid "while trying to determine filesystem size" msgstr "" -#: misc/mke2fs.c:1602 +#: misc/mke2fs.c:1526 msgid "" "Couldn't determine device size; you must specify\n" "the size of the filesystem\n" msgstr "" -#: misc/mke2fs.c:1609 +#: misc/mke2fs.c:1533 msgid "" "Device size reported to be zero. Invalid partition specified, or\n" "\tpartition table wasn't reread after running fdisk, due to\n" @@ -4296,135 +4013,122 @@ msgid "" "\tto re-read your partition table.\n" msgstr "" -#: misc/mke2fs.c:1626 +#: misc/mke2fs.c:1551 msgid "Filesystem larger than apparent device size." msgstr "" -#: misc/mke2fs.c:1646 +#: misc/mke2fs.c:1557 #, c-format msgid "Failed to parse fs types list\n" msgstr "" -#: misc/mke2fs.c:1700 -#, 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:1716 +#: misc/mke2fs.c:1591 msgid "fs_types for mke2fs.conf resolution: " msgstr "" -#: misc/mke2fs.c:1723 +#: misc/mke2fs.c:1598 #, c-format msgid "Filesystem features not supported with revision 0 filesystems\n" msgstr "" -#: misc/mke2fs.c:1730 +#: misc/mke2fs.c:1605 #, c-format msgid "Sparse superblocks not supported with revision 0 filesystems\n" msgstr "" -#: misc/mke2fs.c:1742 +#: misc/mke2fs.c:1617 #, c-format msgid "Journals not supported with revision 0 filesystems\n" msgstr "" -#: misc/mke2fs.c:1756 -#, fuzzy, c-format -msgid "invalid reserved blocks percent - %lf" -msgstr "无效的å—å¤§å° - %s" - -#: misc/mke2fs.c:1772 +#: misc/mke2fs.c:1635 #, c-format msgid "" "The resize_inode and meta_bg features are not compatible.\n" "They can not be both enabled simultaneously.\n" msgstr "" -#: misc/mke2fs.c:1789 +#: misc/mke2fs.c:1652 msgid "while trying to determine hardware sector size" msgstr "" -#: misc/mke2fs.c:1795 +#: misc/mke2fs.c:1658 #, fuzzy msgid "while trying to determine physical sector size" msgstr "当å°è¯•å¯¹%s进行stat调用时" -#: misc/mke2fs.c:1828 +#: misc/mke2fs.c:1687 msgid "while setting blocksize; too small for device\n" msgstr "" -#: misc/mke2fs.c:1833 +#: misc/mke2fs.c:1691 #, c-format msgid "" -"Warning: specified blocksize %d is less than device physical sectorsize %d\n" +"Warning: specified blocksize %d is less than device physical sectorsize %d, " +"forced to continue\n" msgstr "" -#: misc/mke2fs.c:1864 +#: misc/mke2fs.c:1712 #, c-format msgid "warning: Unable to get device geometry for %s\n" msgstr "" -#: misc/mke2fs.c:1867 +#: misc/mke2fs.c:1715 #, c-format msgid "%s alignment is offset by %lu bytes.\n" msgstr "" -#: misc/mke2fs.c:1869 +#: misc/mke2fs.c:1717 #, c-format msgid "" "This may result in very poor performance, (re)-partitioning suggested.\n" msgstr "" -#: misc/mke2fs.c:1880 -#, c-format -msgid "%d-byte blocks too big for system (max %d)" -msgstr "" - -#: misc/mke2fs.c:1884 -#, c-format -msgid "" -"Warning: %d-byte blocks too big for system (max %d), forced to continue\n" -msgstr "" - -#: misc/mke2fs.c:1920 +#: misc/mke2fs.c:1745 msgid "reserved online resize blocks not supported on non-sparse filesystem" msgstr "" -#: misc/mke2fs.c:1929 +#: misc/mke2fs.c:1754 msgid "blocks per group count out of range" msgstr "" -#: misc/mke2fs.c:1944 +#: misc/mke2fs.c:1769 msgid "Flex_bg feature not enabled, so flex_bg size may not be specified" msgstr "" -#: misc/mke2fs.c:1956 +#: misc/mke2fs.c:1781 #, c-format msgid "invalid inode size %d (min %d/max %d)" msgstr "" -#: misc/mke2fs.c:1974 +#: misc/mke2fs.c:1795 #, c-format msgid "too many inodes (%llu), raise inode ratio?" msgstr "" -#: misc/mke2fs.c:1981 +#: misc/mke2fs.c:1800 #, c-format msgid "too many inodes (%llu), specify < 2^32 inodes" msgstr "" -#: misc/mke2fs.c:1995 +#: misc/mke2fs.c:1815 #, c-format msgid "" "inode_size (%u) * inodes_count (%u) too big for a\n" -"\tfilesystem with %llu blocks, specify higher inode_ratio (-i)\n" +"\tfilesystem with %lu blocks, specify higher inode_ratio (-i)\n" "\tor lower inode count (-N).\n" msgstr "" -#: misc/mke2fs.c:2114 +#: misc/mke2fs.c:1908 misc/tune2fs.c:1494 +msgid "Couldn't allocate memory for tdb filename\n" +msgstr "无法为tdb文件å分é…内存\n" + +#: misc/mke2fs.c:1921 misc/tune2fs.c:1516 +#, c-format +msgid "while trying to delete %s" +msgstr "当å°è¯•åˆ é™¤ %s æ—¶" + +#: misc/mke2fs.c:1931 #, c-format msgid "" "Overwriting existing filesystem; this can be undone using the command:\n" @@ -4432,120 +4136,87 @@ msgid "" "\n" msgstr "" -#: misc/mke2fs.c:2128 -#, fuzzy -msgid "while trying to setup undo file\n" -msgstr "当å°è¯•å¯¹%s进行stat调用时" - -#: misc/mke2fs.c:2154 -#, fuzzy -msgid "Discarding device blocks: " -msgstr "正在读å–目录å—" - -#: misc/mke2fs.c:2170 -msgid "failed - " +#: misc/mke2fs.c:1968 +#, c-format +msgid "Calling BLKDISCARD from %llu to %llu " msgstr "" -#: misc/mke2fs.c:2277 -msgid "while setting up superblock" +#: misc/mke2fs.c:1972 +#, c-format +msgid "failed.\n" msgstr "" -#: misc/mke2fs.c:2286 +#: misc/mke2fs.c:1974 #, c-format -msgid "Discard succeeded and will return 0s - skipping inode table wipe\n" +msgid "succeeded.\n" +msgstr "" + +#: misc/mke2fs.c:2023 +msgid "while setting up superblock" msgstr "" -#: misc/mke2fs.c:2369 +#: misc/mke2fs.c:2087 #, c-format msgid "unknown os - %s" msgstr "未知æ“作系统 - %s" -#: misc/mke2fs.c:2421 -#, fuzzy, c-format -msgid "Allocating group tables: " -msgstr "正在写入inode表: " - -#: misc/mke2fs.c:2425 +#: misc/mke2fs.c:2141 msgid "while trying to allocate filesystem tables" msgstr "" -#: misc/mke2fs.c:2434 -msgid "" -"\n" -"\twhile converting subcluster bitmap" -msgstr "" - -#: misc/mke2fs.c:2477 +#: misc/mke2fs.c:2172 #, c-format -msgid "while zeroing block %llu at end of filesystem" +msgid "while zeroing block %u at end of filesystem" msgstr "" -#: misc/mke2fs.c:2490 +#: misc/mke2fs.c:2185 msgid "while reserving blocks for online resize" msgstr "" -#: misc/mke2fs.c:2501 misc/tune2fs.c:640 +#: misc/mke2fs.c:2196 misc/tune2fs.c:479 msgid "journal" msgstr "日志" -#: misc/mke2fs.c:2513 +#: misc/mke2fs.c:2208 #, c-format msgid "Adding journal to device %s: " msgstr "" -#: misc/mke2fs.c:2520 +#: misc/mke2fs.c:2215 #, c-format msgid "" "\n" "\twhile trying to add journal to device %s" msgstr "" -#: misc/mke2fs.c:2525 misc/mke2fs.c:2557 misc/tune2fs.c:669 misc/tune2fs.c:683 +#: misc/mke2fs.c:2220 misc/mke2fs.c:2252 misc/tune2fs.c:508 misc/tune2fs.c:522 #, c-format msgid "done\n" msgstr "完æˆ\n" -#: misc/mke2fs.c:2534 +#: misc/mke2fs.c:2229 #, c-format msgid "Skipping journal creation in super-only mode\n" msgstr "" -#: misc/mke2fs.c:2545 +#: misc/mke2fs.c:2240 #, c-format msgid "Creating journal (%u blocks): " msgstr "" -#: misc/mke2fs.c:2553 -msgid "" -"\n" -"\twhile trying to create journal" -msgstr "" - -#: misc/mke2fs.c:2564 misc/tune2fs.c:446 -#, c-format -msgid "" -"\n" -"Error while enabling multiple mount protection feature." -msgstr "" - -#: misc/mke2fs.c:2569 -#, c-format -msgid "Multiple mount protection is enabled with update interval %d seconds.\n" -msgstr "" - -#: misc/mke2fs.c:2582 +#: misc/mke2fs.c:2257 #, c-format msgid "Writing superblocks and filesystem accounting information: " msgstr "" -#: misc/mke2fs.c:2589 +#: misc/mke2fs.c:2262 #, c-format msgid "" "\n" "Warning, had trouble writing out superblocks." msgstr "" -#: misc/mke2fs.c:2591 +#: misc/mke2fs.c:2265 #, c-format msgid "" "done\n" @@ -4554,12 +4225,12 @@ msgstr "" "完æˆ\n" "\n" -#: misc/mklost+found.c:50 +#: misc/mklost+found.c:49 #, c-format msgid "Usage: mklost+found\n" msgstr "用法: mklost+found\n" -#: misc/partinfo.c:41 +#: misc/partinfo.c:39 #, c-format msgid "" "Usage: %s device...\n" @@ -4574,301 +4245,233 @@ msgstr "" "例如: %s /dev/hda\n" "\n" -#: misc/partinfo.c:51 +#: misc/partinfo.c:49 #, c-format msgid "Cannot open %s: %s" msgstr "无法打开 %s: %s" -#: misc/partinfo.c:57 +#: misc/partinfo.c:55 #, c-format msgid "Cannot get geometry of %s: %s" msgstr "" -#: misc/partinfo.c:65 +#: misc/partinfo.c:63 #, c-format msgid "Cannot get size of %s: %s" msgstr "无法获得 %s 的大å°: %s" -#: misc/partinfo.c:71 +#: misc/partinfo.c:69 #, c-format msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n" msgstr "" -#: misc/tune2fs.c:107 +#: misc/tune2fs.c:96 msgid "Please run e2fsck on the filesystem.\n" msgstr "请在这个文件系统上è¿è¡Œ e2fsck.\n" -#: misc/tune2fs.c:116 +#: misc/tune2fs.c:105 #, c-format msgid "" "Usage: %s [-c max_mounts_count] [-e errors_behavior] [-g group]\n" "\t[-i interval[d|m|w]] [-j] [-J journal_options] [-l]\n" -"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] [-p " -"mmp_update_interval]\n" +"\t[-m reserved_blocks_percent] [-o [^]mount_options[,...]] \n" "\t[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]\n" "\t[-M last_mounted_dir] [-O [^]feature[,...]]\n" "\t[-E extended-option[,...]] [-T last_check_time] [-U UUID]\n" "\t[ -I new_inode_size ] device\n" msgstr "" -#: misc/tune2fs.c:205 +#: misc/tune2fs.c:190 msgid "while trying to open external journal" msgstr "" -#: misc/tune2fs.c:210 +#: misc/tune2fs.c:194 #, c-format msgid "%s is not a journal device.\n" msgstr "%s ä¸æ˜¯ä¸€ä¸ªæ—¥å¿—设备.\n" -#: misc/tune2fs.c:225 +#: misc/tune2fs.c:209 msgid "Journal superblock not found!\n" msgstr "日志超级å—未找到!\n" -#: misc/tune2fs.c:236 +#: misc/tune2fs.c:221 msgid "Filesystem's UUID not found on journal device.\n" msgstr "" -#: misc/tune2fs.c:257 -msgid "" -"Cannot locate journal device. It was NOT removed\n" -"Use -f option to remove missing journal device.\n" -msgstr "" +#: misc/tune2fs.c:242 +msgid "Journal NOT removed\n" +msgstr "日志_没有_被删除\n" -#: misc/tune2fs.c:265 +#: misc/tune2fs.c:248 msgid "Journal removed\n" msgstr "日志已删除\n" -#: misc/tune2fs.c:309 +#: misc/tune2fs.c:288 msgid "while reading bitmaps" msgstr "当读å–ä½å›¾æ—¶" -#: misc/tune2fs.c:317 +#: misc/tune2fs.c:296 msgid "while clearing journal inode" msgstr "当读å–åå—inodeæ—¶" -#: misc/tune2fs.c:328 +#: misc/tune2fs.c:307 msgid "while writing journal inode" msgstr "" -#: misc/tune2fs.c:363 +#: misc/tune2fs.c:322 #, c-format -msgid "(and reboot afterwards!)\n" -msgstr "(并且过åŽé‡å¯!)\n" +msgid "Invalid mount option set: %s\n" +msgstr "设置了无效的挂载选项: %s\n" -#: misc/tune2fs.c:396 +#: misc/tune2fs.c:358 #, c-format msgid "Clearing filesystem feature '%s' not supported.\n" msgstr "" -#: misc/tune2fs.c:402 +#: misc/tune2fs.c:364 #, c-format msgid "Setting filesystem feature '%s' not supported.\n" msgstr "" -#: misc/tune2fs.c:411 +#: misc/tune2fs.c:373 msgid "" "The has_journal feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" msgstr "" -#: misc/tune2fs.c:419 +#: misc/tune2fs.c:381 msgid "" "The needs_recovery flag is set. Please run e2fsck before clearing\n" "the has_journal flag.\n" msgstr "" -#: misc/tune2fs.c:438 -msgid "" -"The multiple mount protection feature can't\n" -"be set if the filesystem is mounted or\n" -"read-only.\n" -msgstr "" - -#: misc/tune2fs.c:456 -#, c-format -msgid "Multiple mount protection has been enabled with update interval %ds.\n" -msgstr "" - -#: misc/tune2fs.c:465 -msgid "" -"The multiple mount protection feature cannot\n" -"be disabled if the filesystem is readonly.\n" -msgstr "" - -#: misc/tune2fs.c:473 -#, fuzzy -msgid "Error while reading bitmaps\n" -msgstr "当读å–ä½å›¾æ—¶" - -#: misc/tune2fs.c:482 -#, c-format -msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n" -msgstr "" - -#: misc/tune2fs.c:487 -#, fuzzy -msgid "while reading MMP block." -msgstr "当读å–åå—inodeæ—¶" - -#: misc/tune2fs.c:519 +#: misc/tune2fs.c:414 msgid "" "Clearing the flex_bg flag would cause the the filesystem to be\n" "inconsistent.\n" msgstr "" -#: misc/tune2fs.c:530 +#: misc/tune2fs.c:425 msgid "" "The huge_file feature may only be cleared when the filesystem is\n" "unmounted or mounted read-only.\n" msgstr "" -#: misc/tune2fs.c:590 -msgid "" -"\n" -"Warning: '^quota' option overrides '-Q'arguments.\n" -msgstr "" +#: misc/tune2fs.c:453 +#, c-format +msgid "(and reboot afterwards!)\n" +msgstr "(并且过åŽé‡å¯!)\n" -#: misc/tune2fs.c:635 +#: misc/tune2fs.c:474 msgid "The filesystem already has a journal.\n" msgstr "" -#: misc/tune2fs.c:653 +#: misc/tune2fs.c:492 #, c-format msgid "" "\n" "\twhile trying to open journal on %s\n" msgstr "" -#: misc/tune2fs.c:657 +#: misc/tune2fs.c:496 #, c-format msgid "Creating journal on device %s: " msgstr "" -#: misc/tune2fs.c:665 +#: misc/tune2fs.c:504 #, c-format msgid "while adding filesystem to journal on %s" msgstr "" -#: misc/tune2fs.c:671 +#: misc/tune2fs.c:510 msgid "Creating journal inode: " msgstr "" -#: misc/tune2fs.c:680 +#: misc/tune2fs.c:519 msgid "" "\n" "\twhile trying to create journal file" msgstr "" -#: misc/tune2fs.c:763 -#, fuzzy -msgid "Couldn't allocate memory to parse quota options!\n" -msgstr "无法为tdb文件å分é…内存\n" - -#: misc/tune2fs.c:785 -msgid "" -"\n" -"Bad quota options specified.\n" -"\n" -"Following valid quota options are available (pass by separating with " -"comma):\n" -"\t[^]usrquota\n" -"\t[^]grpquota\n" -"\n" -"\n" -msgstr "" - -#: misc/tune2fs.c:846 +#: misc/tune2fs.c:585 #, c-format msgid "Couldn't parse date/time specifier: %s" msgstr "" -#: misc/tune2fs.c:870 misc/tune2fs.c:883 +#: misc/tune2fs.c:609 misc/tune2fs.c:622 #, c-format msgid "bad mounts count - %s" msgstr "错误挂载计数 - %s" -#: misc/tune2fs.c:899 +#: misc/tune2fs.c:638 #, c-format msgid "bad error behavior - %s" msgstr "" -#: misc/tune2fs.c:926 +#: misc/tune2fs.c:665 #, c-format msgid "bad gid/group name - %s" msgstr "" -#: misc/tune2fs.c:959 +#: misc/tune2fs.c:698 #, c-format msgid "bad interval - %s" msgstr "" -#: misc/tune2fs.c:988 +#: misc/tune2fs.c:727 #, c-format msgid "bad reserved block ratio - %s" msgstr "" -#: misc/tune2fs.c:1003 +#: misc/tune2fs.c:742 msgid "-o may only be specified once" msgstr "-oåªèƒ½è¢«æŒ‡å®šä¸€æ¬¡" -#: misc/tune2fs.c:1012 +#: misc/tune2fs.c:752 msgid "-O may only be specified once" msgstr "-Oåªèƒ½è¢«æŒ‡å®šä¸€æ¬¡" -#: misc/tune2fs.c:1027 +#: misc/tune2fs.c:762 #, c-format msgid "bad reserved blocks count - %s" msgstr "" -#: misc/tune2fs.c:1056 +#: misc/tune2fs.c:791 #, c-format msgid "bad uid/user name - %s" msgstr "" -#: misc/tune2fs.c:1073 +#: misc/tune2fs.c:808 #, c-format msgid "bad inode size - %s" msgstr "无效的inodeå¤§å° - %s" -#: misc/tune2fs.c:1080 +#: misc/tune2fs.c:815 #, c-format msgid "Inode size must be a power of two- %s" msgstr "Inode 大å°å¿…须是2的次方- %s" -#: misc/tune2fs.c:1174 -#, c-format -msgid "mmp_update_interval too big: %lu\n" -msgstr "" - -#: misc/tune2fs.c:1179 -#, c-format -msgid "Setting multiple mount protection update interval to %lu second\n" -msgid_plural "" -"Setting multiple mount protection update interval to %lu seconds\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/tune2fs.c:1202 +#: misc/tune2fs.c:904 #, c-format msgid "Invalid RAID stride: %s\n" msgstr "" -#: misc/tune2fs.c:1217 +#: misc/tune2fs.c:919 #, c-format msgid "Invalid RAID stripe-width: %s\n" msgstr "" -#: misc/tune2fs.c:1232 +#: misc/tune2fs.c:934 #, c-format msgid "Invalid hash algorithm: %s\n" msgstr "" -#: misc/tune2fs.c:1238 +#: misc/tune2fs.c:940 #, c-format msgid "Setting default hash algorithm to %s (%d)\n" msgstr "" -#: misc/tune2fs.c:1257 +#: misc/tune2fs.c:948 #, c-format msgid "" "\n" @@ -4878,57 +4481,36 @@ msgid "" "\tis set off by an equals ('=') sign.\n" "\n" "Valid extended options are:\n" -"\tclear_mmp\n" -"\thash_alg=\n" -"\tmount_opts=\n" "\tstride=\n" "\tstripe_width=\n" +"\thash_alg=\n" "\ttest_fs\n" "\t^test_fs\n" msgstr "" -#: misc/tune2fs.c:1723 -#, fuzzy -msgid "Failed to read inode bitmap\n" -msgstr "当读å–ä½å›¾æ—¶" - -#: misc/tune2fs.c:1728 -#, fuzzy -msgid "Failed to read block bitmap\n" -msgstr "错误å—映射中的inode" - -#: misc/tune2fs.c:1745 resize/resize2fs.c:784 +#: misc/tune2fs.c:1421 resize/resize2fs.c:790 msgid "blocks to be moved" msgstr "" -#: misc/tune2fs.c:1748 +#: misc/tune2fs.c:1424 msgid "Failed to allocate block bitmap when increasing inode size\n" msgstr "" -#: misc/tune2fs.c:1754 +#: misc/tune2fs.c:1430 msgid "Not enough space to increase inode size \n" msgstr "" -#: misc/tune2fs.c:1759 +#: misc/tune2fs.c:1435 msgid "Failed to relocate blocks during inode resize \n" msgstr "" -#: misc/tune2fs.c:1791 +#: misc/tune2fs.c:1467 msgid "" "Error in resizing the inode size.\n" "Run e2undo to undo the file system changes. \n" msgstr "" -#: misc/tune2fs.c:1818 -msgid "Couldn't allocate memory for tdb filename\n" -msgstr "无法为tdb文件å分é…内存\n" - -#: misc/tune2fs.c:1840 -#, c-format -msgid "while trying to delete %s" -msgstr "当å°è¯•åˆ é™¤ %s æ—¶" - -#: misc/tune2fs.c:1850 +#: misc/tune2fs.c:1526 #, c-format msgid "" "To undo the tune2fs operation please run the command\n" @@ -4939,195 +4521,164 @@ msgstr "" " e2undo %s %s\n" "\n" -#: misc/tune2fs.c:1919 -#, c-format -msgid "" -"MMP block magic is bad. Try to fix it by running:\n" -"'e2fsck -f %s'\n" -msgstr "" - -#: misc/tune2fs.c:1937 +#: misc/tune2fs.c:1587 #, c-format msgid "The inode size is already %lu\n" msgstr "inode大å°å·²ç»æ˜¯ %lu\n" -#: misc/tune2fs.c:1943 +#: misc/tune2fs.c:1592 #, c-format msgid "Shrinking the inode size is not supported\n" msgstr "" -#: misc/tune2fs.c:1990 +#: misc/tune2fs.c:1635 #, c-format msgid "Setting maximal mount count to %d\n" msgstr "" -#: misc/tune2fs.c:1996 +#: misc/tune2fs.c:1641 #, c-format msgid "Setting current mount count to %d\n" msgstr "" -#: misc/tune2fs.c:2001 +#: misc/tune2fs.c:1646 #, c-format msgid "Setting error behavior to %d\n" msgstr "" -#: misc/tune2fs.c:2006 +#: misc/tune2fs.c:1651 #, c-format msgid "Setting reserved blocks gid to %lu\n" msgstr "" -#: misc/tune2fs.c:2011 -#, fuzzy, c-format -msgid "interval between checks is too big (%lu)" -msgstr "ä¿ç•™å—çš„æ•°é‡å¤ªå¤§ (%lu)" - -#: misc/tune2fs.c:2018 +#: misc/tune2fs.c:1656 #, c-format msgid "Setting interval between checks to %lu seconds\n" msgstr "" -#: misc/tune2fs.c:2025 -#, fuzzy, c-format -msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n" -msgstr "ä¿ç•™å—çš„æ•°é‡å¤ªå¤§ (%lu)" +#: misc/tune2fs.c:1663 +#, c-format +msgid "Setting reserved blocks percentage to %g%% (%u blocks)\n" +msgstr "" -#: misc/tune2fs.c:2031 -#, fuzzy, c-format -msgid "reserved blocks count is too big (%llu)" +#: misc/tune2fs.c:1670 +#, c-format +msgid "reserved blocks count is too big (%lu)" msgstr "ä¿ç•™å—çš„æ•°é‡å¤ªå¤§ (%lu)" -#: misc/tune2fs.c:2038 -#, fuzzy, c-format -msgid "Setting reserved blocks count to %llu\n" -msgstr "ä¿ç•™å—çš„æ•°é‡å¤ªå¤§ (%lu)" +#: misc/tune2fs.c:1676 +#, c-format +msgid "Setting reserved blocks count to %lu\n" +msgstr "" -#: misc/tune2fs.c:2044 +#: misc/tune2fs.c:1682 msgid "" "\n" "The filesystem already has sparse superblocks.\n" msgstr "" -#: misc/tune2fs.c:2051 +#: misc/tune2fs.c:1689 #, c-format msgid "" "\n" "Sparse superblock flag set. %s" msgstr "" -#: misc/tune2fs.c:2056 +#: misc/tune2fs.c:1694 msgid "" "\n" "Clearing the sparse superflag not supported.\n" msgstr "" -#: misc/tune2fs.c:2064 +#: misc/tune2fs.c:1701 #, c-format msgid "Setting time filesystem last checked to %s\n" msgstr "" -#: misc/tune2fs.c:2070 +#: misc/tune2fs.c:1707 #, c-format msgid "Setting reserved blocks uid to %lu\n" msgstr "" -#: misc/tune2fs.c:2102 -msgid "Error in using clear_mmp. It must be used with -f\n" -msgstr "" - -#: misc/tune2fs.c:2120 -msgid "" -"The quota feature may only be changed when the filesystem is unmounted.\n" -msgstr "" - -#: misc/tune2fs.c:2153 +#: misc/tune2fs.c:1758 msgid "Invalid UUID format\n" msgstr "无效的 UUID æ ¼å¼\n" -#: misc/tune2fs.c:2166 +#: misc/tune2fs.c:1770 msgid "The inode size may only be changed when the filesystem is unmounted.\n" msgstr "" -#: misc/tune2fs.c:2174 +#: misc/tune2fs.c:1777 msgid "" "Changing the inode size not supported for filesystems with the flex_bg\n" "feature enabled.\n" msgstr "" -#: misc/tune2fs.c:2187 +#: misc/tune2fs.c:1789 #, c-format msgid "Setting inode size %lu\n" msgstr "正在将inode大å°è®¾ç½®ä¸º %lu\n" -#: misc/tune2fs.c:2190 -#, fuzzy, c-format -msgid "Failed to change inode size\n" -msgstr "打开%s失败\n" - -#: misc/tune2fs.c:2201 +#: misc/tune2fs.c:1799 #, c-format msgid "Setting stride size to %d\n" msgstr "" -#: misc/tune2fs.c:2206 +#: misc/tune2fs.c:1804 #, c-format msgid "Setting stripe width to %d\n" msgstr "" -#: misc/tune2fs.c:2213 -#, c-format -msgid "Setting extended default mount options to '%s'\n" -msgstr "" - -#: misc/util.c:74 +#: misc/util.c:72 msgid "Proceed anyway? (y,n) " msgstr "无论如何也è¦ç»§ç»­? (y,n) " -#: misc/util.c:89 +#: misc/util.c:93 #, c-format msgid "Could not stat %s --- %s\n" msgstr "无法对 %s 进行 stat 调用 --- %s\n" -#: misc/util.c:92 +#: misc/util.c:96 msgid "" "\n" "The device apparently does not exist; did you specify it correctly?\n" msgstr "" -#: misc/util.c:103 +#: misc/util.c:107 #, fuzzy, c-format msgid "%s is not a block special device.\n" msgstr "错误:%s ä¸æ˜¯å—设备\n" -#: misc/util.c:132 +#: misc/util.c:136 #, c-format msgid "%s is entire device, not just one partition!\n" msgstr "" -#: misc/util.c:154 +#: misc/util.c:158 msgid "mke2fs forced anyway. Hope /etc/mtab is incorrect.\n" msgstr "" -#: misc/util.c:159 +#: misc/util.c:163 #, c-format msgid "will not make a %s here!\n" msgstr "" -#: misc/util.c:166 +#: misc/util.c:170 msgid "mke2fs forced anyway.\n" msgstr "mke2fs 强制执行.\n" -#: misc/util.c:182 +#: misc/util.c:186 msgid "Couldn't allocate memory to parse journal options!\n" msgstr "" -#: misc/util.c:207 +#: misc/util.c:211 #, c-format msgid "" "\n" "Could not find journal device matching %s\n" msgstr "" -#: misc/util.c:228 +#: misc/util.c:232 msgid "" "\n" "Bad journal options specified.\n" @@ -5143,7 +4694,7 @@ msgid "" "\n" msgstr "" -#: misc/util.c:258 +#: misc/util.c:262 msgid "" "\n" "Filesystem too small for a journal\n" @@ -5151,7 +4702,7 @@ msgstr "" "\n" "文件系统å°å¾—无法记录日志\n" -#: misc/util.c:265 +#: misc/util.c:269 #, c-format msgid "" "\n" @@ -5159,7 +4710,7 @@ msgid "" "between 1024 and 10240000 blocks. Aborting.\n" msgstr "" -#: misc/util.c:273 +#: misc/util.c:277 msgid "" "\n" "Journal size too big for filesystem.\n" @@ -5172,205 +4723,79 @@ msgid "" "%g days, whichever comes first. Use tune2fs -c or -i to override.\n" msgstr "" -#: misc/uuidd.c:48 +#: misc/uuidgen.c:31 #, c-format -msgid "Usage: %s [-d] [-p pidfile] [-s socketpath] [-T timeout]\n" +msgid "Usage: %s [-r] [-t]\n" +msgstr "用法: %s [-r] [-t]\n" + +#: resize/extent.c:196 +msgid "# Extent dump:\n" msgstr "" -#: misc/uuidd.c:50 +#: resize/extent.c:197 #, c-format -msgid " %s [-r|t] [-n num] [-s socketpath]\n" +msgid "#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n" msgstr "" -#: misc/uuidd.c:52 +#: resize/extent.c:200 #, c-format -msgid " %s -k\n" +msgid "#\t\t %u -> %u (%d)\n" msgstr "" -#: misc/uuidd.c:154 -#, fuzzy -msgid "bad arguments" -msgstr "%s: å‚数过多\n" - -#: misc/uuidd.c:172 -msgid "connect" +#: resize/main.c:42 +#, c-format +msgid "" +"Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" +"\n" msgstr "" -#: misc/uuidd.c:191 -msgid "write" -msgstr "" +#: resize/main.c:64 +msgid "Extending the inode table" +msgstr "正在扩充inode表" -#: misc/uuidd.c:199 -msgid "read count" -msgstr "" +#: resize/main.c:67 +msgid "Relocating blocks" +msgstr "正在é‡å®šä½å—" -#: misc/uuidd.c:205 -#, fuzzy -msgid "bad response length" -msgstr "无效的åŽç¼€é•¿åº¦" - -#: misc/uuidd.c:270 -#, c-format -msgid "uuidd daemon already running at pid %s\n" -msgstr "" - -#: misc/uuidd.c:278 -#, c-format -msgid "Couldn't create unix stream socket: %s" -msgstr "" - -#: misc/uuidd.c:307 -#, c-format -msgid "Couldn't bind unix socket %s: %s\n" -msgstr "" - -#: misc/uuidd.c:315 -#, c-format -msgid "Couldn't listen on unix socket %s: %s\n" -msgstr "" - -#: misc/uuidd.c:353 -#, fuzzy, c-format -msgid "Error reading from client, len = %d\n" -msgstr "读å–@i %i出错: %m\n" - -#: misc/uuidd.c:361 -#, c-format -msgid "operation %d, incoming num = %d\n" -msgstr "" - -#: misc/uuidd.c:380 -#, c-format -msgid "Generated time UUID: %s\n" -msgstr "" - -#: misc/uuidd.c:390 -#, c-format -msgid "Generated random UUID: %s\n" -msgstr "" - -#: misc/uuidd.c:399 -#, c-format -msgid "Generated time UUID %s and subsequent UUID\n" -msgid_plural "Generated time UUID %s and %d subsequent UUIDs\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/uuidd.c:420 -#, c-format -msgid "Generated %d UUID's:\n" -msgstr "" - -#: misc/uuidd.c:432 -#, fuzzy, c-format -msgid "Invalid operation %d\n" -msgstr "无效的EA版本å·.\n" - -#: misc/uuidd.c:476 misc/uuidd.c:498 -#, c-format -msgid "Bad number: %s\n" -msgstr "" - -#: misc/uuidd.c:533 misc/uuidd.c:562 -#, fuzzy, c-format -msgid "Error calling uuidd daemon (%s): %s\n" -msgstr "创建根@d (%s) 时出错: %m\n" - -#: misc/uuidd.c:543 -#, c-format -msgid "%s and subsequent UUID\n" -msgid_plural "%s and subsequent %d UUIDs\n" -msgstr[0] "" -msgstr[1] "" - -#: misc/uuidd.c:547 -#, c-format -msgid "List of UUID's:\n" -msgstr "" - -#: misc/uuidd.c:568 -#, c-format -msgid "Unexpected reply length from server %d\n" -msgstr "" - -#: misc/uuidd.c:585 -#, c-format -msgid "Couldn't kill uuidd running at pid %d: %s\n" -msgstr "" - -#: misc/uuidd.c:591 -#, c-format -msgid "Killed uuidd running at pid %d\n" -msgstr "" - -#: misc/uuidgen.c:32 -#, c-format -msgid "Usage: %s [-r] [-t]\n" -msgstr "用法: %s [-r] [-t]\n" - -#: resize/extent.c:202 -msgid "# Extent dump:\n" -msgstr "" - -#: resize/extent.c:203 -#, c-format -msgid "#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n" -msgstr "" - -#: resize/main.c:43 -#, c-format -msgid "" -"Usage: %s [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]\n" -"\n" -msgstr "" - -#: resize/main.c:65 -msgid "Extending the inode table" -msgstr "正在扩充inode表" - -#: resize/main.c:68 -msgid "Relocating blocks" -msgstr "正在é‡å®šä½å—" - -#: resize/main.c:71 +#: resize/main.c:70 msgid "Scanning inode table" msgstr "正在扫æinode表" -#: resize/main.c:74 +#: resize/main.c:73 msgid "Updating inode references" msgstr "正在更新inode引用" -#: resize/main.c:77 +#: resize/main.c:76 msgid "Moving inode table" msgstr "移动inode表" -#: resize/main.c:80 +#: resize/main.c:79 msgid "Unknown pass?!?" msgstr "未知步骤?!?" -#: resize/main.c:83 +#: resize/main.c:82 #, c-format msgid "Begin pass %d (max = %lu)\n" msgstr "" -#: resize/main.c:259 +#: resize/main.c:265 #, c-format msgid "while opening %s" msgstr "打开%sæ—¶" -#: resize/main.c:267 +#: resize/main.c:277 #, c-format msgid "while getting stat information for %s" msgstr "获å–%sçš„statä¿¡æ¯æ—¶å‡ºé”™ã€‚" -#: resize/main.c:331 +#: resize/main.c:338 #, c-format msgid "" "%s: The combination of flex_bg and\n" "\t!resize_inode features is not supported by resize2fs.\n" msgstr "" -#: resize/main.c:344 resize/main.c:452 +#: resize/main.c:352 resize/main.c:452 #, c-format msgid "" "Please run 'e2fsck -f %s' first.\n" @@ -5379,23 +4804,19 @@ msgstr "" "请先è¿è¡Œ 'e2fsck -f %s'.\n" "\n" -#: resize/main.c:348 +#: resize/main.c:356 #, c-format -msgid "Estimated minimum size of the filesystem: %llu\n" +msgid "Estimated minimum size of the filesystem: %u\n" msgstr "" -#: resize/main.c:384 +#: resize/main.c:392 #, c-format msgid "Invalid new size: %s\n" msgstr "无效的新大å°:%s\n" -#: resize/main.c:392 -msgid "New size too large to be expressed in 32 bits\n" -msgstr "" - #: resize/main.c:404 #, c-format -msgid "New size smaller than minimum (%llu)\n" +msgid "New size smaller than minimum (%u)\n" msgstr "" #: resize/main.c:410 @@ -5406,21 +4827,21 @@ msgstr "无效的åŽç¼€é•¿åº¦" #: resize/main.c:434 #, c-format msgid "" -"The containing partition (or device) is only %llu (%dk) blocks.\n" -"You requested a new size of %llu blocks.\n" +"The containing partition (or device) is only %u (%dk) blocks.\n" +"You requested a new size of %u blocks.\n" "\n" msgstr "" #: resize/main.c:441 #, c-format msgid "" -"The filesystem is already %llu blocks long. Nothing to do!\n" +"The filesystem is already %u blocks long. Nothing to do!\n" "\n" msgstr "" #: resize/main.c:456 #, c-format -msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n" +msgid "Resizing the filesystem on %s to %u (%dk) blocks.\n" msgstr "" #: resize/main.c:465 @@ -5438,7 +4859,7 @@ msgstr "" #: resize/main.c:474 #, c-format msgid "" -"The filesystem on %s is now %llu blocks long.\n" +"The filesystem on %s is now %u blocks long.\n" "\n" msgstr "" @@ -5447,824 +4868,75 @@ msgstr "" msgid "while trying to truncate %s" msgstr "当å°è¯•å¯¹%s进行stat调用时" -#: resize/online.c:40 +#: resize/online.c:37 #, c-format msgid "Filesystem at %s is mounted on %s; on-line resizing required\n" msgstr "" -#: resize/online.c:44 -msgid "On-line shrinking not supported" +#: resize/online.c:41 +#, c-format +msgid "On-line shrinking from %u to %u not supported.\n" msgstr "" -#: resize/online.c:63 +#: resize/online.c:61 msgid "Filesystem does not support online resizing" msgstr "文件系统ä¸æ”¯æŒåœ¨çº¿(online)调整大å°" -#: resize/online.c:70 +#: resize/online.c:68 #, c-format msgid "while trying to open mountpoint %s" msgstr "" -#: resize/online.c:92 resize/online.c:116 +#: resize/online.c:76 msgid "Permission denied to resize filesystem" msgstr "没有调整文件系统大å°çš„æƒé™" -#: resize/online.c:95 resize/online.c:122 -msgid "While checking for on-line resizing support" -msgstr "当检查在线文件系统大å°è°ƒæ•´æ”¯æŒæ—¶" - -#: resize/online.c:107 -#, fuzzy -msgid "Kernel does not support resizing a file system this large" -msgstr "内核ä¸æ”¯æŒåœ¨çº¿(online)调整大å°" - -#: resize/online.c:119 +#: resize/online.c:79 msgid "Kernel does not support online resizing" msgstr "内核ä¸æ”¯æŒåœ¨çº¿(online)调整大å°" -#: resize/online.c:152 +#: resize/online.c:82 +msgid "While checking for on-line resizing support" +msgstr "当检查在线文件系统大å°è°ƒæ•´æ”¯æŒæ—¶" + +#: resize/online.c:111 #, c-format -msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n" +msgid "Performing an on-line resize of %s to %u (%dk) blocks.\n" msgstr "" -#: resize/online.c:162 +#: resize/online.c:121 msgid "While trying to extend the last group" msgstr "" -#: resize/online.c:216 +#: resize/online.c:180 #, c-format msgid "While trying to add group #%d" msgstr "" -#: resize/online.c:227 +#: resize/online.c:191 #, c-format msgid "" "Filesystem at %s is mounted on %s, and on-line resizing is not supported on " "this system.\n" msgstr "文件系统 %s 被挂载在 %s,并且这个系统ä¸æ”¯æŒåœ¨çº¿è°ƒæ•´å¤§å°.\n" -#: resize/resize2fs.c:348 +#: resize/resize2fs.c:350 #, c-format msgid "inodes (%llu) must be less than %u" msgstr "" -#: resize/resize2fs.c:576 +#: resize/resize2fs.c:582 msgid "reserved blocks" msgstr "ä¿ç•™çš„å—" -#: resize/resize2fs.c:789 +#: resize/resize2fs.c:795 msgid "meta-data blocks" msgstr "元数æ®å—" -#: resize/resize2fs.c:1735 +#: resize/resize2fs.c:1752 #, c-format msgid "Should never happen: resize inode corrupt!\n" msgstr "" -#: lib/ext2fs/ext2_err.c:11 -msgid "EXT2FS Library version 1.42.4" -msgstr "" - -#: lib/ext2fs/ext2_err.c:12 -msgid "Wrong magic number for ext2_filsys structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:13 -msgid "Wrong magic number for badblocks_list structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:14 -msgid "Wrong magic number for badblocks_iterate structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:15 -msgid "Wrong magic number for inode_scan structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:16 -msgid "Wrong magic number for io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:17 -msgid "Wrong magic number for unix io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:18 -msgid "Wrong magic number for io_manager structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:19 -msgid "Wrong magic number for block_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:20 -msgid "Wrong magic number for inode_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:21 -msgid "Wrong magic number for generic_bitmap structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:22 -msgid "Wrong magic number for test io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:23 -msgid "Wrong magic number for directory block list structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:24 -msgid "Wrong magic number for icount structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:25 -msgid "Wrong magic number for Powerquest io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:26 -msgid "Wrong magic number for ext2 file structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:27 -msgid "Wrong magic number for Ext2 Image Header" -msgstr "" - -#: lib/ext2fs/ext2_err.c:28 -msgid "Wrong magic number for inode io_channel structure" -msgstr "" - -#: lib/ext2fs/ext2_err.c:29 -msgid "Wrong magic number for ext4 extent handle" -msgstr "" - -#: lib/ext2fs/ext2_err.c:30 -#, fuzzy -msgid "Bad magic number in super-block" -msgstr "读å–日志超级å—\n" - -#: lib/ext2fs/ext2_err.c:31 -msgid "Filesystem revision too high" -msgstr "" - -#: lib/ext2fs/ext2_err.c:32 -msgid "Attempt to write to filesystem opened read-only" -msgstr "" - -#: lib/ext2fs/ext2_err.c:33 -#, fuzzy -msgid "Can't read group descriptors" -msgstr ", 组æ述符ä½äºŽ " - -#: lib/ext2fs/ext2_err.c:34 -#, fuzzy -msgid "Can't write group descriptors" -msgstr ", 组æ述符ä½äºŽ " - -#: lib/ext2fs/ext2_err.c:35 -msgid "Corrupt group descriptor: bad block for block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:36 -msgid "Corrupt group descriptor: bad block for inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:37 -msgid "Corrupt group descriptor: bad block for inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:38 -#, fuzzy -msgid "Can't write an inode bitmap" -msgstr "inode ä½å›¾" - -#: lib/ext2fs/ext2_err.c:39 -#, fuzzy -msgid "Can't read an inode bitmap" -msgstr "inode ä½å›¾" - -#: lib/ext2fs/ext2_err.c:40 -#, fuzzy -msgid "Can't write a block bitmap" -msgstr "å—ä½å›¾" - -#: lib/ext2fs/ext2_err.c:41 -#, fuzzy -msgid "Can't read a block bitmap" -msgstr "å—ä½å›¾" - -#: lib/ext2fs/ext2_err.c:42 -#, fuzzy -msgid "Can't write an inode table" -msgstr "正在扫æinode表" - -#: lib/ext2fs/ext2_err.c:43 -#, fuzzy -msgid "Can't read an inode table" -msgstr "正在扫æinode表" - -#: lib/ext2fs/ext2_err.c:44 -msgid "Can't read next inode" -msgstr "" - -#: lib/ext2fs/ext2_err.c:45 -msgid "Filesystem has unexpected block size" -msgstr "" - -#: lib/ext2fs/ext2_err.c:46 -msgid "EXT2 directory corrupted" -msgstr "" - -#: lib/ext2fs/ext2_err.c:47 -msgid "Attempt to read block from filesystem resulted in short read" -msgstr "" - -#: lib/ext2fs/ext2_err.c:48 -msgid "Attempt to write block to filesystem resulted in short write" -msgstr "" - -#: lib/ext2fs/ext2_err.c:49 -msgid "No free space in the directory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:50 -#, fuzzy -msgid "Inode bitmap not loaded" -msgstr "inode ä½å›¾" - -#: lib/ext2fs/ext2_err.c:51 -#, fuzzy -msgid "Block bitmap not loaded" -msgstr "å—ä½å›¾" - -#: lib/ext2fs/ext2_err.c:52 -#, fuzzy -msgid "Illegal inode number" -msgstr "éžæ³•çš„å—æ•°é‡!\n" - -#: lib/ext2fs/ext2_err.c:53 -#, fuzzy -msgid "Illegal block number" -msgstr "éžæ³•çš„å—æ•°é‡!\n" - -#: lib/ext2fs/ext2_err.c:54 -msgid "Internal error in ext2fs_expand_dir" -msgstr "" - -#: lib/ext2fs/ext2_err.c:55 -msgid "Not enough space to build proposed filesystem" -msgstr "" - -#: lib/ext2fs/ext2_err.c:56 -msgid "Illegal block number passed to ext2fs_mark_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:57 -msgid "Illegal block number passed to ext2fs_unmark_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:58 -msgid "Illegal block number passed to ext2fs_test_block_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:59 -msgid "Illegal inode number passed to ext2fs_mark_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:60 -msgid "Illegal inode number passed to ext2fs_unmark_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:61 -msgid "Illegal inode number passed to ext2fs_test_inode_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:62 -msgid "Attempt to fudge end of block bitmap past the real end" -msgstr "" - -#: lib/ext2fs/ext2_err.c:63 -msgid "Attempt to fudge end of inode bitmap past the real end" -msgstr "" - -#: lib/ext2fs/ext2_err.c:64 -#, fuzzy -msgid "Illegal indirect block found" -msgstr "正在读å–目录å—" - -#: lib/ext2fs/ext2_err.c:65 -msgid "Illegal doubly indirect block found" -msgstr "" - -#: lib/ext2fs/ext2_err.c:66 -msgid "Illegal triply indirect block found" -msgstr "" - -#: lib/ext2fs/ext2_err.c:67 -msgid "Block bitmaps are not the same" -msgstr "" - -#: lib/ext2fs/ext2_err.c:68 -msgid "Inode bitmaps are not the same" -msgstr "" - -#: lib/ext2fs/ext2_err.c:69 -msgid "Illegal or malformed device name" -msgstr "" - -#: lib/ext2fs/ext2_err.c:70 -msgid "A block group is missing an inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:71 -msgid "The ext2 superblock is corrupt" -msgstr "" - -#: lib/ext2fs/ext2_err.c:72 -msgid "Illegal generic bit number passed to ext2fs_mark_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:73 -msgid "Illegal generic bit number passed to ext2fs_unmark_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:74 -msgid "Illegal generic bit number passed to ext2fs_test_generic_bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:75 -msgid "Too many symbolic links encountered." -msgstr "" - -#: lib/ext2fs/ext2_err.c:76 -msgid "The callback function will not handle this case" -msgstr "" - -#: lib/ext2fs/ext2_err.c:77 -msgid "The inode is from a bad block in the inode table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:78 -#, fuzzy -msgid "Filesystem has unsupported feature(s)" -msgstr "文件系统ä¸æ”¯æŒåœ¨çº¿(online)调整大å°" - -#: lib/ext2fs/ext2_err.c:79 -#, fuzzy -msgid "Filesystem has unsupported read-only feature(s)" -msgstr "文件系统ä¸æ”¯æŒåœ¨çº¿(online)调整大å°" - -#: lib/ext2fs/ext2_err.c:80 -msgid "IO Channel failed to seek on read or write" -msgstr "" - -#: lib/ext2fs/ext2_err.c:81 -#, fuzzy -msgid "Memory allocation failed" -msgstr "A分é…出错" - -#: lib/ext2fs/ext2_err.c:82 -msgid "Invalid argument passed to ext2 library" -msgstr "" - -#: lib/ext2fs/ext2_err.c:83 -#, fuzzy -msgid "Could not allocate block in ext2 filesystem" -msgstr "无法分é…å—缓存 (大å°=%d)\n" - -#: lib/ext2fs/ext2_err.c:84 -#, fuzzy -msgid "Could not allocate inode in ext2 filesystem" -msgstr "e2label: ä¸æ˜¯ä¸€ä¸ªex2文件系统\n" - -#: lib/ext2fs/ext2_err.c:85 -msgid "Ext2 inode is not a directory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:86 -msgid "Too many references in table" -msgstr "" - -#: lib/ext2fs/ext2_err.c:87 -msgid "File not found by ext2_lookup" -msgstr "" - -#: lib/ext2fs/ext2_err.c:88 -msgid "File open read-only" -msgstr "" - -#: lib/ext2fs/ext2_err.c:89 -#, fuzzy -msgid "Ext2 directory block not found" -msgstr "ç©ºç›®å½•å— %u (#%d),于 inode %u 中\n" - -#: lib/ext2fs/ext2_err.c:90 -msgid "Ext2 directory already exists" -msgstr "" - -#: lib/ext2fs/ext2_err.c:91 -msgid "Unimplemented ext2 library function" -msgstr "" - -#: lib/ext2fs/ext2_err.c:92 -msgid "User cancel requested" -msgstr "" - -#: lib/ext2fs/ext2_err.c:93 -msgid "Ext2 file too big" -msgstr "" - -#: lib/ext2fs/ext2_err.c:94 -msgid "Supplied journal device not a block device" -msgstr "" - -#: lib/ext2fs/ext2_err.c:95 -#, fuzzy -msgid "Journal superblock not found" -msgstr "日志超级å—未找到!\n" - -#: lib/ext2fs/ext2_err.c:96 -msgid "Journal must be at least 1024 blocks" -msgstr "" - -#: lib/ext2fs/ext2_err.c:97 -msgid "Unsupported journal version" -msgstr "" - -#: lib/ext2fs/ext2_err.c:98 -msgid "Error loading external journal" -msgstr "" - -#: lib/ext2fs/ext2_err.c:99 -#, fuzzy -msgid "Journal not found" -msgstr "日志超级å—未找到!\n" - -#: lib/ext2fs/ext2_err.c:100 -msgid "Directory hash unsupported" -msgstr "" - -#: lib/ext2fs/ext2_err.c:101 -#, fuzzy -msgid "Illegal extended attribute block number" -msgstr "a扩展属性" - -#: lib/ext2fs/ext2_err.c:102 -msgid "Cannot create filesystem with requested number of inodes" -msgstr "" - -#: lib/ext2fs/ext2_err.c:103 -msgid "E2image snapshot not in use" -msgstr "" - -#: lib/ext2fs/ext2_err.c:104 -#, fuzzy -msgid "Too many reserved group descriptor blocks" -msgstr "<组æ述符inode>" - -#: lib/ext2fs/ext2_err.c:105 -msgid "Resize inode is corrupt" -msgstr "" - -#: lib/ext2fs/ext2_err.c:106 -msgid "Tried to set block bmap with missing indirect block" -msgstr "" - -#: lib/ext2fs/ext2_err.c:107 -msgid "TDB: Success" -msgstr "" - -#: lib/ext2fs/ext2_err.c:108 -msgid "TDB: Corrupt database" -msgstr "" - -#: lib/ext2fs/ext2_err.c:109 -msgid "TDB: IO Error" -msgstr "" - -#: lib/ext2fs/ext2_err.c:110 -msgid "TDB: Locking error" -msgstr "" - -#: lib/ext2fs/ext2_err.c:111 -msgid "TDB: Out of memory" -msgstr "" - -#: lib/ext2fs/ext2_err.c:112 -msgid "TDB: Record exists" -msgstr "" - -#: lib/ext2fs/ext2_err.c:113 -msgid "TDB: Lock exists on other keys" -msgstr "" - -#: lib/ext2fs/ext2_err.c:114 -msgid "TDB: Invalid parameter" -msgstr "" - -#: lib/ext2fs/ext2_err.c:115 -msgid "TDB: Record does not exist" -msgstr "" - -#: lib/ext2fs/ext2_err.c:116 -msgid "TDB: Write not permitted" -msgstr "" - -#: lib/ext2fs/ext2_err.c:117 -msgid "Ext2fs directory block list is empty" -msgstr "" - -#: lib/ext2fs/ext2_err.c:118 -msgid "Attempt to modify a block mapping via a read-only block iterator" -msgstr "" - -#: lib/ext2fs/ext2_err.c:119 -msgid "Wrong magic number for ext4 extent saved path" -msgstr "" - -#: lib/ext2fs/ext2_err.c:120 -msgid "Wrong magic number for 64-bit generic bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:121 -msgid "Wrong magic number for 64-bit block bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:122 -msgid "Wrong magic number for 64-bit inode bitmap" -msgstr "" - -#: lib/ext2fs/ext2_err.c:123 -msgid "Wrong magic number --- RESERVED_13" -msgstr "" - -#: lib/ext2fs/ext2_err.c:124 -msgid "Wrong magic number --- RESERVED_14" -msgstr "" - -#: lib/ext2fs/ext2_err.c:125 -msgid "Wrong magic number --- RESERVED_15" -msgstr "" - -#: lib/ext2fs/ext2_err.c:126 -msgid "Wrong magic number --- RESERVED_16" -msgstr "" - -#: lib/ext2fs/ext2_err.c:127 -msgid "Wrong magic number --- RESERVED_17" -msgstr "" - -#: lib/ext2fs/ext2_err.c:128 -msgid "Wrong magic number --- RESERVED_18" -msgstr "" - -#: lib/ext2fs/ext2_err.c:129 -msgid "Wrong magic number --- RESERVED_19" -msgstr "" - -#: lib/ext2fs/ext2_err.c:130 -msgid "Corrupt extent header" -msgstr "" - -#: lib/ext2fs/ext2_err.c:131 -msgid "Corrupt extent index" -msgstr "" - -#: lib/ext2fs/ext2_err.c:132 -msgid "Corrupt extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:133 -msgid "No free space in extent map" -msgstr "" - -#: lib/ext2fs/ext2_err.c:134 -msgid "Inode does not use extents" -msgstr "" - -#: lib/ext2fs/ext2_err.c:135 -#, fuzzy -msgid "No 'next' extent" -msgstr "x程度" - -#: lib/ext2fs/ext2_err.c:136 -msgid "No 'previous' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:137 -msgid "No 'up' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:138 -msgid "No 'down' extent" -msgstr "" - -#: lib/ext2fs/ext2_err.c:139 -msgid "No current node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:140 -msgid "Ext2fs operation not supported" -msgstr "" - -#: lib/ext2fs/ext2_err.c:141 -msgid "No room to insert extent in node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:142 -msgid "Splitting would result in empty node" -msgstr "" - -#: lib/ext2fs/ext2_err.c:143 -#, fuzzy -msgid "Extent not found" -msgstr "/@l未找到." - -#: lib/ext2fs/ext2_err.c:144 -msgid "Operation not supported for inodes containing extents" -msgstr "" - -#: lib/ext2fs/ext2_err.c:145 -msgid "Extent length is invalid" -msgstr "" - -#: lib/ext2fs/ext2_err.c:146 -msgid "I/O Channel does not support 64-bit block numbers" -msgstr "" - -#: lib/ext2fs/ext2_err.c:147 -msgid "Can't check if filesystem is mounted due to missing mtab file" -msgstr "" - -#: lib/ext2fs/ext2_err.c:148 -msgid "Filesystem too large to use legacy bitmaps" -msgstr "" - -#: lib/ext2fs/ext2_err.c:149 -msgid "MMP: invalid magic number" -msgstr "" - -#: lib/ext2fs/ext2_err.c:150 -msgid "MMP: device currently active" -msgstr "" - -#: lib/ext2fs/ext2_err.c:151 -msgid "MMP: fsck being run" -msgstr "" - -#: lib/ext2fs/ext2_err.c:152 -msgid "MMP: block number beyond filesystem range" -msgstr "" - -#: lib/ext2fs/ext2_err.c:153 -msgid "MMP: undergoing an unknown operation" -msgstr "" - -#: lib/ext2fs/ext2_err.c:154 -msgid "MMP: filesystem still in use" -msgstr "" - -#: lib/ext2fs/ext2_err.c:155 -msgid "MMP: open with O_DIRECT failed" -msgstr "" - -#: e2fsck/prof_err.c:11 -msgid "Profile version 0.0" -msgstr "" - -#: e2fsck/prof_err.c:12 -msgid "Bad magic value in profile_node" -msgstr "" - -#: e2fsck/prof_err.c:13 -msgid "Profile section not found" -msgstr "" - -#: e2fsck/prof_err.c:14 -#, fuzzy -msgid "Profile relation not found" -msgstr "当读å–åå—inodeæ—¶" - -#: e2fsck/prof_err.c:15 -msgid "Attempt to add a relation to node which is not a section" -msgstr "" - -#: e2fsck/prof_err.c:16 -msgid "A profile section header has a non-zero value" -msgstr "" - -#: e2fsck/prof_err.c:17 -msgid "Bad linked list in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:18 -msgid "Bad group level in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:19 -msgid "Bad parent pointer in profile structures" -msgstr "" - -#: e2fsck/prof_err.c:20 -msgid "Bad magic value in profile iterator" -msgstr "" - -#: e2fsck/prof_err.c:21 -msgid "Can't set value on section node" -msgstr "" - -#: e2fsck/prof_err.c:22 -msgid "Invalid argument passed to profile library" -msgstr "" - -#: e2fsck/prof_err.c:23 -msgid "Attempt to modify read-only profile" -msgstr "" - -#: e2fsck/prof_err.c:24 -msgid "Profile section header not at top level" -msgstr "" - -#: e2fsck/prof_err.c:25 -msgid "Syntax error in profile section header" -msgstr "" - -#: e2fsck/prof_err.c:26 -msgid "Syntax error in profile relation" -msgstr "" - -#: e2fsck/prof_err.c:27 -msgid "Extra closing brace in profile" -msgstr "" - -#: e2fsck/prof_err.c:28 -msgid "Missing open brace in profile" -msgstr "" - -#: e2fsck/prof_err.c:29 -msgid "Bad magic value in profile_t" -msgstr "" - -#: e2fsck/prof_err.c:30 -msgid "Bad magic value in profile_section_t" -msgstr "" - -#: e2fsck/prof_err.c:31 -msgid "Iteration through all top level section not supported" -msgstr "" - -#: e2fsck/prof_err.c:32 -#, fuzzy -msgid "Invalid profile_section object" -msgstr "设置了无效的文件系统选项: %s\n" - -#: e2fsck/prof_err.c:33 -msgid "No more sections" -msgstr "" - -#: e2fsck/prof_err.c:34 -msgid "Bad nameset passed to query routine" -msgstr "" - -#: e2fsck/prof_err.c:35 -msgid "No profile file open" -msgstr "" - -#: e2fsck/prof_err.c:36 -msgid "Bad magic value in profile_file_t" -msgstr "" - -#: e2fsck/prof_err.c:37 -msgid "Couldn't open profile file" -msgstr "" - -#: e2fsck/prof_err.c:38 -msgid "Section already exists" -msgstr "" - -#: e2fsck/prof_err.c:39 -msgid "Invalid boolean value" -msgstr "" - -#: e2fsck/prof_err.c:40 -#, fuzzy -msgid "Invalid integer value" -msgstr "无效的åŽç¼€é•¿åº¦" - -#: e2fsck/prof_err.c:41 -msgid "Bad magic value in profile_file_data_t" -msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "" -#~ msgstr "" - -#~ msgid "%s is mounted. " -#~ msgstr "%s 已挂载." - -#~ msgid "Journal NOT removed\n" -#~ msgstr "日志_没有_被删除\n" - #~ msgid "bad block size - %s" #~ msgstr "错误的å—å¤§å° - %s" diff --git a/resize/Android.mk b/resize/Android.mk index 41f9fe08..e6352a9e 100644 --- a/resize/Android.mk +++ b/resize/Android.mk @@ -5,8 +5,7 @@ resize2fs_src_files := \ resize2fs.c \ main.c \ online.c \ - sim_progress.c \ - resource_track.c + sim_progress.c resize2fs_c_includes := external/e2fsprogs/lib diff --git a/resize/MODULE_LICENSE_GPL b/resize/MODULE_LICENSE_GPL new file mode 100644 index 00000000..e69de29b diff --git a/resize/Makefile.in b/resize/Makefile.in index b8fb3ae4..b2739ac1 100644 --- a/resize/Makefile.in +++ b/resize/Makefile.in @@ -16,8 +16,7 @@ PROGS= resize2fs TEST_PROGS= test_extent MANPAGES= resize2fs.8 -RESIZE_OBJS= extent.o resize2fs.o main.o online.o resource_track.o \ - sim_progress.o +RESIZE_OBJS= extent.o resize2fs.o main.o online.o sim_progress.o TEST_EXTENT_OBJS= extent.o test_extent.o @@ -25,7 +24,6 @@ SRCS= $(srcdir)/extent.c \ $(srcdir)/resize2fs.c \ $(srcdir)/main.c \ $(srcdir)/online.c \ - $(srcdir)/resource_track.c \ $(srcdir)/sim_progress.c LIBS= $(LIBE2P) $(LIBEXT2FS) $(LIBCOM_ERR) $(LIBINTL) @@ -38,7 +36,6 @@ DEPSTATIC_LIBS= $(STATIC_LIBE2P) $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR) .c.o: $(E) " CC $<" $(Q) $(CC) -c $(ALL_CFLAGS) $< -o $@ - $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< all:: $(PROGS) $(TEST_PROGS) $(MANPAGES) @@ -147,48 +144,35 @@ source_tar_file: $(top_srcdir)/.exclude-file # Makefile dependencies follow. This must be the last section in # the Makefile.in file # -extent.o: $(srcdir)/extent.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/resize2fs.h \ +extent.o: $(srcdir)/extent.c $(srcdir)/resize2fs.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ $(top_srcdir)/lib/e2p/e2p.h -resize2fs.o: $(srcdir)/resize2fs.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/resize2fs.h \ +resize2fs.o: $(srcdir)/resize2fs.c $(srcdir)/resize2fs.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ $(top_srcdir)/lib/e2p/e2p.h -main.o: $(srcdir)/main.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/e2p/e2p.h \ +main.o: $(srcdir)/main.c $(top_srcdir)/lib/e2p/e2p.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(srcdir)/resize2fs.h $(top_srcdir)/lib/ext2fs/ext2fs.h \ $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ $(top_srcdir)/version.h -online.o: $(srcdir)/online.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/resize2fs.h \ +online.o: $(srcdir)/online.c $(srcdir)/resize2fs.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ $(top_builddir)/lib/ext2fs/ext2_err.h \ $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ $(top_srcdir)/lib/e2p/e2p.h -resource_track.o: $(srcdir)/resource_track.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/resize2fs.h \ - $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ - $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ - $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ - $(top_builddir)/lib/ext2fs/ext2_err.h \ - $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/bitops.h \ - $(top_srcdir)/lib/e2p/e2p.h -sim_progress.o: $(srcdir)/sim_progress.c $(top_builddir)/lib/config.h \ - $(top_builddir)/lib/dirpaths.h $(srcdir)/resize2fs.h \ +sim_progress.o: $(srcdir)/sim_progress.c $(srcdir)/resize2fs.h \ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \ $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \ diff --git a/resize/Makefile.pq b/resize/Makefile.pq deleted file mode 100644 index bc60e092..00000000 --- a/resize/Makefile.pq +++ /dev/null @@ -1,11 +0,0 @@ -TOPSRC=.. -LIBNAME=RESIZE.LIB -OBJFILE=RESIZE.LST - -OBJS= extent.obj \ - ext2_block_move.obj \ - ext2_inode_move.obj \ - resize2fs.obj - -!include $(TOPSRC)\powerquest\MCONFIG - diff --git a/resize/extent.c b/resize/extent.c index d062f6a0..f0fb1e00 100644 --- a/resize/extent.c +++ b/resize/extent.c @@ -19,22 +19,22 @@ #include "resize2fs.h" struct ext2_extent_entry { - __u64 old_loc, new_loc; - __u64 size; + __u32 old_loc, new_loc; + int size; }; struct _ext2_extent { struct ext2_extent_entry *list; - __u64 cursor; - __u64 size; - __u64 num; - __u64 sorted; + int cursor; + int size; + int num; + int sorted; }; /* * Create an extent table */ -errcode_t ext2fs_create_extent_table(ext2_extent *ret_extent, __u64 size) +errcode_t ext2fs_create_extent_table(ext2_extent *ret_extent, int size) { ext2_extent extent; errcode_t retval; @@ -77,12 +77,12 @@ void ext2fs_free_extent_table(ext2_extent extent) /* * Add an entry to the extent table */ -errcode_t ext2fs_add_extent_entry(ext2_extent extent, __u64 old_loc, __u64 new_loc) +errcode_t ext2fs_add_extent_entry(ext2_extent extent, __u32 old_loc, __u32 new_loc) { struct ext2_extent_entry *ent; errcode_t retval; - __u64 newsize; - __u64 curr; + int newsize; + int curr; if (extent->num >= extent->size) { newsize = extent->size + 100; @@ -139,10 +139,10 @@ static EXT2_QSORT_TYPE extent_cmp(const void *a, const void *b) * Given an inode map and inode number, look up the old inode number * and return the new inode number. */ -__u64 ext2fs_extent_translate(ext2_extent extent, __u64 old_loc) +__u32 ext2fs_extent_translate(ext2_extent extent, __u32 old_loc) { - __s64 low, high, mid; - __u64 lowval, highval; + int low, high, mid; + __u32 lowval, highval; float range; if (!extent->sorted) { @@ -175,7 +175,7 @@ __u64 ext2fs_extent_translate(ext2_extent extent, __u64 old_loc) if (range < 0.1) range = 0.1; } - mid = low + ((__u64) (range * (high-low))); + mid = low + ((int) (range * (high-low))); } #endif if ((old_loc >= extent->list[mid].old_loc) && @@ -195,14 +195,14 @@ __u64 ext2fs_extent_translate(ext2_extent extent, __u64 old_loc) */ void ext2fs_extent_dump(ext2_extent extent, FILE *out) { - __u64 i; + int i; struct ext2_extent_entry *ent; fputs(_("# Extent dump:\n"), out); - fprintf(out, _("#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"), + fprintf(out, _("#\tNum=%d, Size=%d, Cursor=%d, Sorted=%d\n"), extent->num, extent->size, extent->cursor, extent->sorted); for (i=0, ent=extent->list; i < extent->num; i++, ent++) { - fprintf(out, "#\t\t %llu -> %llu (%llu)\n", ent->old_loc, + fprintf(out, _("#\t\t %u -> %u (%d)\n"), ent->old_loc, ent->new_loc, ent->size); } } @@ -210,8 +210,8 @@ void ext2fs_extent_dump(ext2_extent extent, FILE *out) /* * Iterate over the contents of the extent table */ -errcode_t ext2fs_iterate_extent(ext2_extent extent, __u64 *old_loc, - __u64 *new_loc, __u64 *size) +errcode_t ext2fs_iterate_extent(ext2_extent extent, __u32 *old_loc, + __u32 *new_loc, int *size) { struct ext2_extent_entry *ent; diff --git a/resize/main.c b/resize/main.c index 7bafc16f..bb04d0bf 100644 --- a/resize/main.c +++ b/resize/main.c @@ -35,8 +35,7 @@ extern int optind; #include "../version.h" -char *program_name; -static char *device_name, *io_options; +char *program_name, *device_name, *io_options; static void usage (char *prog) { @@ -102,7 +101,7 @@ static void determine_fs_stride(ext2_filsys fs) { unsigned int group; unsigned long long sum; - unsigned int has_sb, prev_has_sb = 0, num; + unsigned int has_sb, prev_has_sb, num; int i_stride, b_stride; if (fs->stride) @@ -112,11 +111,11 @@ static void determine_fs_stride(ext2_filsys fs) has_sb = ext2fs_bg_has_super(fs, group); if (group == 0 || has_sb != prev_has_sb) goto next; - b_stride = ext2fs_block_bitmap_loc(fs, group) - - ext2fs_block_bitmap_loc(fs, group - 1) - + b_stride = fs->group_desc[group].bg_block_bitmap - + fs->group_desc[group-1].bg_block_bitmap - fs->super->s_blocks_per_group; - i_stride = ext2fs_inode_bitmap_loc(fs, group) - - ext2fs_inode_bitmap_loc(fs, group - 1) - + i_stride = fs->group_desc[group].bg_inode_bitmap - + fs->group_desc[group-1].bg_inode_bitmap - fs->super->s_blocks_per_group; if (b_stride != i_stride || b_stride < 0) @@ -147,18 +146,6 @@ static void determine_fs_stride(ext2_filsys fs) #endif } -static void bigalloc_check(ext2_filsys fs, int force) -{ - if (!force && EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_BIGALLOC)) { - fprintf(stderr, "%s", _("\nResizing bigalloc file systems has " - "not been fully tested. Proceed at\n" - "your own risk! Use the force option " - "if you want to go ahead anyway.\n\n")); - exit(1); - } -} - int main (int argc, char ** argv) { errcode_t retval; @@ -171,13 +158,17 @@ int main (int argc, char ** argv) int force_min_size = 0; int print_min_size = 0; int fd, ret; - blk64_t new_size = 0; + blk_t new_size = 0; blk64_t max_size = 0; - blk64_t min_size = 0; + blk_t min_size = 0; io_manager io_ptr; char *new_size_str = 0; int use_stride = -1; - ext2fs_struct_stat st_buf; +#ifdef HAVE_FSTAT64 + struct stat64 st_buf; +#else + struct stat st_buf; +#endif __s64 new_file_size; unsigned int sys_page_size = 4096; long sysval; @@ -189,7 +180,6 @@ int main (int argc, char ** argv) setlocale(LC_CTYPE, ""); bindtextdomain(NLS_CAT_NAME, LOCALEDIR); textdomain(NLS_CAT_NAME); - set_com_err_gettext(gettext); #endif add_error_table(&et_ext2_error_table); @@ -266,14 +256,22 @@ int main (int argc, char ** argv) len = 2 * len; } - fd = ext2fs_open_file(device_name, O_RDWR, 0); +#ifdef HAVE_OPEN64 + fd = open64(device_name, O_RDWR); +#else + fd = open(device_name, O_RDWR); +#endif if (fd < 0) { com_err("open", errno, _("while opening %s"), device_name); exit(1); } - ret = ext2fs_fstat(fd, &st_buf); +#ifdef HAVE_FSTAT64 + ret = fstat64(fd, &st_buf); +#else + ret = fstat(fd, &st_buf); +#endif if (ret < 0) { com_err("open", errno, _("while getting stat information for %s"), @@ -306,15 +304,12 @@ int main (int argc, char ** argv) if (!(mount_flags & EXT2_MF_MOUNTED)) io_flags = EXT2_FLAG_RW | EXT2_FLAG_EXCLUSIVE; - - io_flags |= EXT2_FLAG_64BITS; - retval = ext2fs_open2(device_name, io_options, io_flags, 0, 0, io_ptr, &fs); if (retval) { - com_err(program_name, retval, _("while trying to open %s"), - device_name); - printf("%s", _("Couldn't find valid filesystem superblock.\n")); + com_err (program_name, retval, _("while trying to open %s"), + device_name); + printf (_("Couldn't find valid filesystem superblock.\n")); exit (1); } @@ -328,7 +323,26 @@ int main (int argc, char ** argv) exit(1); } - min_size = calculate_minimum_resize_size(fs, flags); + /* + * XXXX The combination of flex_bg and !resize_inode causes + * major problems for resize2fs, since when the group descriptors + * grow in size this can potentially require multiple inode + * tables to be moved aside to make room, and resize2fs chokes + * rather badly in this scenario. It's a rare combination, + * except when a filesystem is expanded more than a certain + * size, so for now, we'll just prohibit that combination. + * This is something we should fix eventually, though. + */ + if ((fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_FLEX_BG) && + !(fs->super->s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE)) { + com_err(program_name, 0, _("%s: The combination of flex_bg " + "and\n\t!resize_inode features " + "is not supported by resize2fs.\n"), + device_name); + exit(1); + } + + min_size = calculate_minimum_resize_size(fs); if (print_min_size) { if (!force && ((fs->super->s_state & EXT2_ERROR_FS) || @@ -338,7 +352,7 @@ int main (int argc, char ** argv) device_name); exit(1); } - printf(_("Estimated minimum size of the filesystem: %llu\n"), + printf(_("Estimated minimum size of the filesystem: %u\n"), min_size); exit(0); } @@ -361,49 +375,45 @@ int main (int argc, char ** argv) * exceed the partition size. */ retval = ext2fs_get_device_size2(device_name, fs->blocksize, - &max_size); + &max_size); if (retval) { - com_err(program_name, retval, "%s", + com_err(program_name, retval, _("while trying to determine filesystem size")); exit(1); } if (force_min_size) new_size = min_size; else if (new_size_str) { - new_size = parse_num_blocks2(new_size_str, - fs->super->s_log_block_size); + new_size = parse_num_blocks(new_size_str, + fs->super->s_log_block_size); if (new_size == 0) { com_err(program_name, 0, _("Invalid new size: %s\n"), new_size_str); exit(1); } } else { + /* Take down devices exactly 16T to 2^32-1 blocks */ + if (max_size == (1ULL << 32)) + max_size--; + else if (max_size > (1ULL << 32)) { + com_err(program_name, 0, _("New size too large to be " + "expressed in 32 bits\n")); + exit(1); + } new_size = max_size; /* Round down to an even multiple of a pagesize */ if (sys_page_size > fs->blocksize) new_size &= ~((sys_page_size / fs->blocksize)-1); } - if (!EXT2_HAS_INCOMPAT_FEATURE(fs->super, - EXT4_FEATURE_INCOMPAT_64BIT)) { - /* Take 16T down to 2^32-1 blocks */ - if (new_size == (1ULL << 32)) - new_size--; - else if (new_size > (1ULL << 32)) { - com_err(program_name, 0, "%s", - _("New size too large to be " - "expressed in 32 bits\n")); - exit(1); - } - } if (!force && new_size < min_size) { com_err(program_name, 0, - _("New size smaller than minimum (%llu)\n"), min_size); + _("New size smaller than minimum (%u)\n"), min_size); exit(1); } if (use_stride >= 0) { if (use_stride >= (int) fs->super->s_blocks_per_group) { - com_err(program_name, 0, "%s", + com_err(program_name, 0, _("Invalid stride length")); exit(1); } @@ -430,17 +440,16 @@ int main (int argc, char ** argv) if (!force && (new_size > max_size)) { fprintf(stderr, _("The containing partition (or device)" " is only %llu (%dk) blocks.\nYou requested a new size" - " of %llu blocks.\n\n"), max_size, + " of %u blocks.\n\n"), max_size, fs->blocksize / 1024, new_size); exit(1); } - if (new_size == ext2fs_blocks_count(fs->super)) { - fprintf(stderr, _("The filesystem is already %llu blocks " + if (new_size == fs->super->s_blocks_count) { + fprintf(stderr, _("The filesystem is already %u blocks " "long. Nothing to do!\n\n"), new_size); exit(0); } if (mount_flags & EXT2_MF_MOUNTED) { - bigalloc_check(fs, force); retval = online_resize_fs(fs, mtpt, &new_size, flags); } else { if (!force && ((fs->super->s_lastcheck < fs->super->s_mtime) || @@ -451,9 +460,8 @@ int main (int argc, char ** argv) device_name); exit(1); } - bigalloc_check(fs, force); printf(_("Resizing the filesystem on " - "%s to %llu (%dk) blocks.\n"), + "%s to %u (%dk) blocks.\n"), device_name, new_size, fs->blocksize / 1024); retval = resize_fs(fs, &new_size, flags, ((flags & RESIZE_PERCENT_COMPLETE) ? @@ -470,7 +478,7 @@ int main (int argc, char ** argv) ext2fs_close(fs); exit(1); } - printf(_("The filesystem on %s is now %llu blocks long.\n\n"), + printf(_("The filesystem on %s is now %u blocks long.\n\n"), device_name, new_size); if ((st_buf.st_size > new_file_size) && diff --git a/resize/online.c b/resize/online.c index 897187e8..2a40584a 100644 --- a/resize/online.c +++ b/resize/online.c @@ -18,37 +18,8 @@ extern char *program_name; -#define MAX_32_NUM ((((unsigned long long) 1) << 32) - 1) - -#ifdef __linux__ -static int parse_version_number(const char *s) -{ - int major, minor, rev; - char *endptr; - const char *cp = s; - - if (!s) - return 0; - major = strtol(cp, &endptr, 10); - if (cp == endptr || *endptr != '.') - return 0; - cp = endptr + 1; - minor = strtol(cp, &endptr, 10); - if (cp == endptr || *endptr != '.') - return 0; - cp = endptr + 1; - rev = strtol(cp, &endptr, 10); - if (cp == endptr) - return 0; - return ((((major * 256) + minor) * 256) + rev); -} - -#define VERSION_CODE(a,b,c) (((a) << 16) + ((b) << 8) + (c)) - -#endif - errcode_t online_resize_fs(ext2_filsys fs, const char *mtpt, - blk64_t *new_size, int flags EXT2FS_ATTR((unused))) + blk_t *new_size, int flags EXT2FS_ATTR((unused))) { #ifdef __linux__ struct ext2_new_group_input input; @@ -62,23 +33,11 @@ errcode_t online_resize_fs(ext2_filsys fs, const char *mtpt, blk_t size; int fd, overhead; int use_old_ioctl = 1; - int no_meta_bg_resize = 0; - int no_resize_ioctl = 0; - - if (getenv("RESIZE2FS_KERNEL_VERSION")) { - char *version_to_emulate = getenv("RESIZE2FS_KERNEL_VERSION"); - int kvers = parse_version_number(version_to_emulate); - - if (kvers < VERSION_CODE(3, 7, 0)) - no_meta_bg_resize = 1; - if (kvers < VERSION_CODE(3, 3, 0)) - no_resize_ioctl = 1; - } printf(_("Filesystem at %s is mounted on %s; " "on-line resizing required\n"), fs->device_name, mtpt); - if (*new_size < ext2fs_blocks_count(sb)) { + if (*new_size < sb->s_blocks_count) { com_err(program_name, 0, _("On-line shrinking not supported")); exit(1); } @@ -88,41 +47,18 @@ errcode_t online_resize_fs(ext2_filsys fs, const char *mtpt, * the on-line resizing inode must be present. */ new_desc_blocks = ext2fs_div_ceil( - ext2fs_div64_ceil(*new_size - - fs->super->s_first_data_block, - EXT2_BLOCKS_PER_GROUP(fs->super)), + ext2fs_div_ceil(*new_size - + fs->super->s_first_data_block, + EXT2_BLOCKS_PER_GROUP(fs->super)), EXT2_DESC_PER_BLOCK(fs->super)); - printf("old_desc_blocks = %lu, new_desc_blocks = %lu\n", + printf("old desc_blocks = %lu, new_desc_blocks = %lu\n", fs->desc_blocks, new_desc_blocks); - - /* - * Do error checking to make sure the resize will be successful. - */ - if ((access("/sys/fs/ext4/features/meta_bg_resize", R_OK) != 0) || - no_meta_bg_resize) { - if (!EXT2_HAS_COMPAT_FEATURE(fs->super, - EXT2_FEATURE_COMPAT_RESIZE_INODE) && - (new_desc_blocks != fs->desc_blocks)) { - com_err(program_name, 0, - _("Filesystem does not support online resizing")); - exit(1); - } - - if (EXT2_HAS_COMPAT_FEATURE(fs->super, - EXT2_FEATURE_COMPAT_RESIZE_INODE) && - new_desc_blocks > (fs->desc_blocks + - fs->super->s_reserved_gdt_blocks)) { - com_err(program_name, 0, - _("Not enough reserved gdt blocks for resizing")); - exit(1); - } - - if ((ext2fs_blocks_count(sb) > MAX_32_NUM) || - (*new_size > MAX_32_NUM)) { - com_err(program_name, 0, - _("Kernel does not support resizing a file system this large")); - exit(1); - } + if (!(fs->super->s_feature_compat & + EXT2_FEATURE_COMPAT_RESIZE_INODE) && + new_desc_blocks != fs->desc_blocks) { + com_err(program_name, 0, + _("Filesystem does not support online resizing")); + exit(1); } fd = open(mtpt, O_RDONLY); @@ -132,40 +68,7 @@ errcode_t online_resize_fs(ext2_filsys fs, const char *mtpt, exit(1); } - if (no_resize_ioctl) { - printf(_("Old resize interface requested.\n")); - } else if (ioctl(fd, EXT4_IOC_RESIZE_FS, new_size)) { - /* - * If kernel does not support EXT4_IOC_RESIZE_FS, use the - * old online resize. Note that the old approach does not - * handle >32 bit file systems - * - * Sigh, if we are running a 32-bit binary on a 64-bit - * kernel (which happens all the time on the MIPS - * architecture in Debian, but can happen on other CPU - * architectures as well) we will get EINVAL returned - * when an ioctl doesn't exist, at least up to Linux - * 3.1. See compat_sys_ioctl() in fs/compat_ioctl.c - * in the kernel sources. This is probably a kernel - * bug, but work around it here. - */ - if ((errno != ENOTTY) && (errno != EINVAL)) { - if (errno == EPERM) - com_err(program_name, 0, - _("Permission denied to resize filesystem")); - else - com_err(program_name, errno, - _("While checking for on-line resizing " - "support")); - exit(1); - } - } else { - close(fd); - return 0; - } - - size = ext2fs_blocks_count(sb); - + size=sb->s_blocks_count; if (ioctl(fd, EXT2_IOC_GROUP_EXTEND, &size)) { if (errno == EPERM) com_err(program_name, 0, @@ -179,20 +82,15 @@ errcode_t online_resize_fs(ext2_filsys fs, const char *mtpt, exit(1); } - percent = (ext2fs_r_blocks_count(sb) * 100.0) / - ext2fs_blocks_count(sb); + percent = (sb->s_r_blocks_count * 100.0) / sb->s_blocks_count; retval = ext2fs_read_bitmaps(fs); - if (retval) { - close(fd); + if (retval) return retval; - } retval = ext2fs_dup_handle(fs, &new_fs); - if (retval) { - close(fd); + if (retval) return retval; - } /* The current method of adding one block group at a time to a * mounted filesystem means it is impossible to accomodate the @@ -206,12 +104,10 @@ errcode_t online_resize_fs(ext2_filsys fs, const char *mtpt, */ new_fs->super->s_feature_incompat &= ~EXT4_FEATURE_INCOMPAT_FLEX_BG; retval = adjust_fs_info(new_fs, fs, 0, *new_size); - if (retval) { - close(fd); + if (retval) return retval; - } - printf(_("Performing an on-line resize of %s to %llu (%dk) blocks.\n"), + printf(_("Performing an on-line resize of %s to %u (%dk) blocks.\n"), fs->device_name, *new_size, fs->blocksize / 1024); size = fs->group_desc_count * sb->s_blocks_per_group + @@ -235,10 +131,15 @@ errcode_t online_resize_fs(ext2_filsys fs, const char *mtpt, new_fs->super->s_reserved_gdt_blocks; input.group = i; - input.block_bitmap = ext2fs_block_bitmap_loc(new_fs, i); - input.inode_bitmap = ext2fs_inode_bitmap_loc(new_fs, i); - input.inode_table = ext2fs_inode_table_loc(new_fs, i); - input.blocks_count = ext2fs_group_blocks_count(new_fs, i); + input.block_bitmap = new_fs->group_desc[i].bg_block_bitmap; + input.inode_bitmap = new_fs->group_desc[i].bg_inode_bitmap; + input.inode_table = new_fs->group_desc[i].bg_inode_table; + input.blocks_count = sb->s_blocks_per_group; + if (i == new_fs->group_desc_count-1) { + input.blocks_count = new_fs->super->s_blocks_count - + sb->s_first_data_block - + (i * sb->s_blocks_per_group); + } input.reserved_blocks = (blk_t) (percent * input.blocks_count / 100.0); @@ -252,9 +153,9 @@ errcode_t online_resize_fs(ext2_filsys fs, const char *mtpt, printf("new group will reserve %d blocks\n", input.reserved_blocks); printf("new group has %d free blocks\n", - ext2fs_bg_free_blocks_count(new_fs, i), + new_fs->group_desc[i].bg_free_blocks_count); printf("new group has %d free inodes (%d blocks)\n", - ext2fs_bg_free_inodes_count(new_fs, i), + new_fs->group_desc[i].bg_free_inodes_count, new_fs->inode_blocks_per_group); printf("Adding group #%d\n", input.group); #endif diff --git a/resize/resize2fs.8.in b/resize/resize2fs.8.in index a1f3099b..e02345d4 100644 --- a/resize/resize2fs.8.in +++ b/resize/resize2fs.8.in @@ -11,7 +11,7 @@ resize2fs \- ext2/ext3/ext4 file system resizer .B \-fFpPM ] [ -.B \-d +.B \-d .I debug-flags ] [ @@ -23,31 +23,31 @@ resize2fs \- ext2/ext3/ext4 file system resizer .I size ] .SH DESCRIPTION -The -.B resize2fs +The +.B resize2fs program will resize ext2, ext3, or ext4 file systems. It can be used to -enlarge or shrink an unmounted file system located on +enlarge or shrink an unmounted file system located on .IR device . If the filesystem is mounted, it can be used to expand the size of the mounted filesystem, assuming the kernel supports on-line resizing. (As of this writing, the Linux 2.6 kernel supports on-line resize for filesystems mounted using ext3 and ext4.). .PP -The +The .I size parameter specifies the requested new size of the filesystem. If no units are specified, the units of the .I size parameter shall be the filesystem blocksize of the filesystem. -Optionally, the +Optionally, the .I size -parameter may be suffixed by one of the following the units +parameter may be suffixed by one of the following the units designators: 's', 'K', 'M', or 'G', for 512 byte sectors, kilobytes, megabytes, or gigabytes, respectively. -The +The .I size of the filesystem may never be larger than the size of the partition. -If +If .I size parameter is not specified, it will default to the size of the partition. .PP @@ -63,54 +63,50 @@ The .B resize2fs program does not manipulate the size of partitions. If you wish to enlarge a filesystem, you must make sure you can expand the size of the -underlying partition first. This can be done using +underlying partition first. This can be done using .BR fdisk (8) by deleting the partition and recreating it with a larger size or using .BR lvextend (8), if you're using the logical volume manager .BR lvm (8). -When +When recreating the partition, make sure you create it with the same starting -disk cylinder as before! Otherwise, the resize operation will -certainly not work, and you may lose your entire filesystem. +disk cylinder as before! Otherwise, the resize operation will +certainly not work, and you may lose your entire filesystem. After running .BR fdisk (8), -run resize2fs to resize the ext2 filesystem +run resize2fs to resize the ext2 filesystem to use all of the space in the newly enlarged partition. .PP -If you wish to shrink an ext2 partition, first use +If you wish to shrink an ext2 partition, first use .B resize2fs -to shrink the size of filesystem. Then you may use +to shrink the size of filesystem. Then you may use .BR fdisk (8) -to shrink the size of the partition. When shrinking the size of -the partition, make sure you do not make it smaller than the new size +to shrink the size of the partition. When shrinking the size of +the partition, make sure you do not make it smaller than the new size of the ext2 filesystem! .SH OPTIONS .TP .B \-d \fIdebug-flags -Turns on various resize2fs debugging features, if they have been compiled +Turns on various resize2fs debugging features, if they have been compiled into the binary. .I debug-flags -should be computed by adding the numbers of the desired features +should be computed by adding the numbers of the desired features from the following list: .br - 2 \-\ Debug block relocations +\ 2\ \-\ Debug block relocations .br - 4 \-\ Debug inode relocations +\ 4\ \-\ Debug inode relocations .br - 8 \-\ Debug moving the inode table -.br - 16 \-\ Print timing information -.br - 32 \-\ Debug minimum filesystem size (\-M) calculation -.TP +\ 8\ \-\ Debug moving the inode table +.TP .B \-f -Forces resize2fs to proceed with the filesystem resize operation, overriding +Forces resize2fs to proceed with the filesystem resize operation, overriding some safety checks which resize2fs normally enforces. .TP .B \-F Flush the filesystem device's buffer caches before beginning. Only -really useful for doing +really useful for doing .B resize2fs time trials. .TP @@ -120,7 +116,7 @@ Shrink the filesystem to the minimum size. .B \-p Prints out a percentage completion bars for each .B resize2fs -operation during an offline resize, so that the user can keep track +operation during an offline resize, so that the user can keep track of what the program is doing. .TP .B \-P @@ -140,7 +136,7 @@ incorrect, especially for filesystems with 1k and 2k blocksizes. was written by Theodore Ts'o . .SH COPYRIGHT Resize2fs is Copyright 1998 by Theodore Ts'o and PowerQuest, Inc. All -rights reserved. +rights reserved. As of April, 2000 .B Resize2fs may be redistributed under the terms of the GPL. @@ -148,5 +144,5 @@ may be redistributed under the terms of the GPL. .BR fdisk (8), .BR e2fsck (8), .BR mke2fs (8), -.BR lvm (8), +.BR lvm (8), .BR lvextend (8) diff --git a/resize/resize2fs.c b/resize/resize2fs.c index 865ff4c3..024f1ccd 100644 --- a/resize/resize2fs.c +++ b/resize/resize2fs.c @@ -41,7 +41,7 @@ #endif static void fix_uninit_block_bitmaps(ext2_filsys fs); -static errcode_t adjust_superblock(ext2_resize_t rfs, blk64_t new_size); +static errcode_t adjust_superblock(ext2_resize_t rfs, blk_t new_size); static errcode_t blocks_to_move(ext2_resize_t rfs); static errcode_t block_mover(ext2_resize_t rfs); static errcode_t inode_scan_and_fix(ext2_resize_t rfs); @@ -50,41 +50,43 @@ static errcode_t move_itables(ext2_resize_t rfs); static errcode_t fix_resize_inode(ext2_filsys fs); static errcode_t ext2fs_calculate_summary_stats(ext2_filsys fs); static errcode_t fix_sb_journal_backup(ext2_filsys fs); -static errcode_t mark_table_blocks(ext2_filsys fs, - ext2fs_block_bitmap bmap); /* * Some helper CPP macros */ -#define IS_BLOCK_BM(fs, i, blk) ((blk) == ext2fs_block_bitmap_loc((fs),(i))) -#define IS_INODE_BM(fs, i, blk) ((blk) == ext2fs_inode_bitmap_loc((fs),(i))) +#define FS_BLOCK_BM(fs, i) ((fs)->group_desc[(i)].bg_block_bitmap) +#define FS_INODE_BM(fs, i) ((fs)->group_desc[(i)].bg_inode_bitmap) +#define FS_INODE_TB(fs, i) ((fs)->group_desc[(i)].bg_inode_table) -#define IS_INODE_TB(fs, i, blk) (((blk) >= ext2fs_inode_table_loc((fs), (i))) && \ - ((blk) < (ext2fs_inode_table_loc((fs), (i)) + \ - (fs)->inode_blocks_per_group))) +#define IS_BLOCK_BM(fs, i, blk) ((blk) == FS_BLOCK_BM((fs),(i))) +#define IS_INODE_BM(fs, i, blk) ((blk) == FS_INODE_BM((fs),(i))) -/* Some bigalloc helper macros which are more succint... */ -#define B2C(x) EXT2FS_B2C(fs, (x)) -#define C2B(x) EXT2FS_C2B(fs, (x)) -#define EQ_CLSTR(x, y) (B2C(x) == B2C(y)) -#define LE_CLSTR(x, y) (B2C(x) <= B2C(y)) -#define LT_CLSTR(x, y) (B2C(x) < B2C(y)) -#define GE_CLSTR(x, y) (B2C(x) >= B2C(y)) -#define GT_CLSTR(x, y) (B2C(x) > B2C(y)) +#define IS_INODE_TB(fs, i, blk) (((blk) >= FS_INODE_TB((fs), (i))) && \ + ((blk) < (FS_INODE_TB((fs), (i)) + \ + (fs)->inode_blocks_per_group))) -static int lazy_itable_init; +#define META_OVERHEAD(fs) (2 + (fs)->inode_blocks_per_group) +#define SUPER_OVERHEAD(fs) (1 + (fs)->desc_blocks +\ + (fs)->super->s_reserved_gdt_blocks) /* * This is the top-level routine which does the dirty deed.... */ -errcode_t resize_fs(ext2_filsys fs, blk64_t *new_size, int flags, - errcode_t (*progress)(ext2_resize_t rfs, int pass, +errcode_t resize_fs(ext2_filsys fs, blk_t *new_size, int flags, + errcode_t (*progress)(ext2_resize_t rfs, int pass, unsigned long cur, unsigned long max_val)) { ext2_resize_t rfs; errcode_t retval; - struct resource_track rtrack, overall_track; + + retval = ext2fs_read_bitmaps(fs); + if (retval) + return retval; + + fs->super->s_state |= EXT2_ERROR_FS; + ext2fs_mark_super_dirty(fs); + ext2fs_flush(fs); /* * Create the data structure @@ -92,108 +94,71 @@ errcode_t resize_fs(ext2_filsys fs, blk64_t *new_size, int flags, retval = ext2fs_get_mem(sizeof(struct ext2_resize_struct), &rfs); if (retval) return retval; - memset(rfs, 0, sizeof(struct ext2_resize_struct)); + + fix_uninit_block_bitmaps(fs); fs->priv_data = rfs; rfs->old_fs = fs; rfs->flags = flags; rfs->itable_buf = 0; rfs->progress = progress; - - init_resource_track(&overall_track, "overall resize2fs", fs->io); - init_resource_track(&rtrack, "read_bitmaps", fs->io); - retval = ext2fs_read_bitmaps(fs); - if (retval) - goto errout; - print_resource_track(rfs, &rtrack, fs->io); - - fs->super->s_state |= EXT2_ERROR_FS; - ext2fs_mark_super_dirty(fs); - ext2fs_flush(fs); - - init_resource_track(&rtrack, "fix_uninit_block_bitmaps 1", fs->io); - fix_uninit_block_bitmaps(fs); - print_resource_track(rfs, &rtrack, fs->io); retval = ext2fs_dup_handle(fs, &rfs->new_fs); if (retval) goto errout; - init_resource_track(&rtrack, "adjust_superblock", fs->io); retval = adjust_superblock(rfs, *new_size); if (retval) goto errout; - print_resource_track(rfs, &rtrack, fs->io); - - init_resource_track(&rtrack, "fix_uninit_block_bitmaps 2", fs->io); fix_uninit_block_bitmaps(rfs->new_fs); - print_resource_track(rfs, &rtrack, fs->io); /* Clear the block bitmap uninit flag for the last block group */ - ext2fs_bg_flags_clear(rfs->new_fs, rfs->new_fs->group_desc_count - 1, - EXT2_BG_BLOCK_UNINIT); + rfs->new_fs->group_desc[rfs->new_fs->group_desc_count-1].bg_flags &= + ~EXT2_BG_BLOCK_UNINIT; - *new_size = ext2fs_blocks_count(rfs->new_fs->super); + *new_size = rfs->new_fs->super->s_blocks_count; - init_resource_track(&rtrack, "blocks_to_move", fs->io); retval = blocks_to_move(rfs); if (retval) goto errout; - print_resource_track(rfs, &rtrack, fs->io); #ifdef RESIZE2FS_DEBUG if (rfs->flags & RESIZE_DEBUG_BMOVE) - printf("Number of free blocks: %llu/%llu, Needed: %llu\n", - ext2fs_free_blocks_count(rfs->old_fs->super), - ext2fs_free_blocks_count(rfs->new_fs->super), + printf("Number of free blocks: %u/%u, Needed: %d\n", + rfs->old_fs->super->s_free_blocks_count, + rfs->new_fs->super->s_free_blocks_count, rfs->needed_blocks); #endif - init_resource_track(&rtrack, "block_mover", fs->io); retval = block_mover(rfs); if (retval) goto errout; - print_resource_track(rfs, &rtrack, fs->io); - init_resource_track(&rtrack, "inode_scan_and_fix", fs->io); retval = inode_scan_and_fix(rfs); if (retval) goto errout; - print_resource_track(rfs, &rtrack, fs->io); - init_resource_track(&rtrack, "inode_ref_fix", fs->io); retval = inode_ref_fix(rfs); if (retval) goto errout; - print_resource_track(rfs, &rtrack, fs->io); - init_resource_track(&rtrack, "move_itables", fs->io); retval = move_itables(rfs); if (retval) goto errout; - print_resource_track(rfs, &rtrack, fs->io); - init_resource_track(&rtrack, "calculate_summary_stats", fs->io); retval = ext2fs_calculate_summary_stats(rfs->new_fs); if (retval) goto errout; - print_resource_track(rfs, &rtrack, fs->io); - init_resource_track(&rtrack, "fix_resize_inode", fs->io); retval = fix_resize_inode(rfs->new_fs); if (retval) goto errout; - print_resource_track(rfs, &rtrack, fs->io); - init_resource_track(&rtrack, "fix_sb_journal_backup", fs->io); retval = fix_sb_journal_backup(rfs->new_fs); if (retval) goto errout; - print_resource_track(rfs, &rtrack, fs->io); rfs->new_fs->super->s_state &= ~EXT2_ERROR_FS; rfs->new_fs->flags &= ~EXT2_FLAG_MASTER_SB_ONLY; - - print_resource_track(rfs, &overall_track, fs->io); retval = ext2fs_close(rfs->new_fs); if (retval) goto errout; @@ -225,32 +190,47 @@ errout: */ static void fix_uninit_block_bitmaps(ext2_filsys fs) { - blk64_t blk, lblk; + blk_t i, blk, super_blk, old_desc_blk, new_desc_blk; + int old_desc_blocks; dgrp_t g; - int i; if (!(EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM))) return; for (g=0; g < fs->group_desc_count; g++) { - if (!(ext2fs_bg_flags_test(fs, g, EXT2_BG_BLOCK_UNINIT))) + if (!(fs->group_desc[g].bg_flags & EXT2_BG_BLOCK_UNINIT)) continue; - blk = ext2fs_group_first_block2(fs, g); - lblk = ext2fs_group_last_block2(fs, g); - ext2fs_unmark_block_bitmap_range2(fs->block_map, blk, - lblk - blk + 1); - - ext2fs_reserve_super_and_bgd(fs, g, fs->block_map); - ext2fs_mark_block_bitmap2(fs->block_map, - ext2fs_block_bitmap_loc(fs, g)); - ext2fs_mark_block_bitmap2(fs->block_map, - ext2fs_inode_bitmap_loc(fs, g)); - for (i = 0, blk = ext2fs_inode_table_loc(fs, g); - i < (unsigned int) fs->inode_blocks_per_group; - i++, blk++) - ext2fs_mark_block_bitmap2(fs->block_map, blk); + blk = (g * fs->super->s_blocks_per_group) + + fs->super->s_first_data_block; + + ext2fs_super_and_bgd_loc(fs, g, &super_blk, + &old_desc_blk, &new_desc_blk, 0); + + if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) + old_desc_blocks = fs->super->s_first_meta_bg; + else + old_desc_blocks = fs->desc_blocks + + fs->super->s_reserved_gdt_blocks; + + for (i=0; i < fs->super->s_blocks_per_group; i++, blk++) { + if (blk >= fs->super->s_blocks_count) + break; + if ((blk == super_blk) || + (old_desc_blk && old_desc_blocks && + (blk >= old_desc_blk) && + (blk < old_desc_blk + old_desc_blocks)) || + (new_desc_blk && (blk == new_desc_blk)) || + (blk == fs->group_desc[g].bg_block_bitmap) || + (blk == fs->group_desc[g].bg_inode_bitmap) || + (blk >= fs->group_desc[g].bg_inode_table && + (blk < fs->group_desc[g].bg_inode_table + + fs->inode_blocks_per_group))) + ext2fs_fast_mark_block_bitmap(fs->block_map, blk); + else + ext2fs_fast_unmark_block_bitmap(fs->block_map, blk); + } } } @@ -272,63 +252,64 @@ static void fix_uninit_block_bitmaps(ext2_filsys fs) */ static void free_gdp_blocks(ext2_filsys fs, ext2fs_block_bitmap reserve_blocks, - ext2_filsys old_fs, - dgrp_t group) + struct ext2_group_desc *gdp) { - blk64_t blk; + blk_t blk; int j; - blk = ext2fs_block_bitmap_loc(old_fs, group); - if (blk && - (blk < ext2fs_blocks_count(fs->super))) { - ext2fs_block_alloc_stats2(fs, blk, -1); - ext2fs_mark_block_bitmap2(reserve_blocks, blk); + if (gdp->bg_block_bitmap && + (gdp->bg_block_bitmap < fs->super->s_blocks_count)) { + ext2fs_block_alloc_stats(fs, gdp->bg_block_bitmap, -1); + ext2fs_mark_block_bitmap(reserve_blocks, + gdp->bg_block_bitmap); } - blk = ext2fs_inode_bitmap_loc(old_fs, group); - if (blk && - (blk < ext2fs_blocks_count(fs->super))) { - ext2fs_block_alloc_stats2(fs, blk, -1); - ext2fs_mark_block_bitmap2(reserve_blocks, blk); + if (gdp->bg_inode_bitmap && + (gdp->bg_inode_bitmap < fs->super->s_blocks_count)) { + ext2fs_block_alloc_stats(fs, gdp->bg_inode_bitmap, -1); + ext2fs_mark_block_bitmap(reserve_blocks, + gdp->bg_inode_bitmap); } - blk = ext2fs_inode_table_loc(old_fs, group); - if (blk == 0 || - (blk >= ext2fs_blocks_count(fs->super))) + if (gdp->bg_inode_table == 0 || + (gdp->bg_inode_table >= fs->super->s_blocks_count)) return; - for (j = 0; + for (blk = gdp->bg_inode_table, j = 0; j < fs->inode_blocks_per_group; j++, blk++) { - if (blk >= ext2fs_blocks_count(fs->super)) + if (blk >= fs->super->s_blocks_count) break; - ext2fs_block_alloc_stats2(fs, blk, -1); - ext2fs_mark_block_bitmap2(reserve_blocks, blk); + ext2fs_block_alloc_stats(fs, blk, -1); + ext2fs_mark_block_bitmap(reserve_blocks, blk); } } /* * This routine is shared by the online and offline resize routines. * All of the information which is adjusted in memory is done here. + * + * The reserve_blocks parameter is only needed when shrinking the + * filesystem. */ errcode_t adjust_fs_info(ext2_filsys fs, ext2_filsys old_fs, - ext2fs_block_bitmap reserve_blocks, blk64_t new_size) + ext2fs_block_bitmap reserve_blocks, blk_t new_size) { errcode_t retval; - blk64_t overhead = 0; - blk64_t rem; - blk64_t blk, group_block; - blk64_t real_end; - blk64_t old_numblocks, numblocks, adjblocks; - unsigned long i, j, old_desc_blocks; + int overhead = 0; + int rem; + blk_t blk, group_block; + ext2_ino_t real_end; + int adj, old_numblocks, numblocks, adjblocks; + unsigned long i, j, old_desc_blocks, max_group; unsigned int meta_bg, meta_bg_size; int has_super, csum_flag; unsigned long long new_inodes; /* u64 to check for overflow */ double percent; - ext2fs_blocks_count_set(fs->super, new_size); + fs->super->s_blocks_count = new_size; retry: - fs->group_desc_count = ext2fs_div64_ceil(ext2fs_blocks_count(fs->super) - + fs->group_desc_count = ext2fs_div_ceil(fs->super->s_blocks_count - fs->super->s_first_data_block, EXT2_BLOCKS_PER_GROUP(fs->super)); if (fs->group_desc_count == 0) @@ -353,13 +334,12 @@ retry: * necessary data structures. If not, we need to get rid of * it. */ - rem = (ext2fs_blocks_count(fs->super) - fs->super->s_first_data_block) % + rem = (fs->super->s_blocks_count - fs->super->s_first_data_block) % fs->super->s_blocks_per_group; if ((fs->group_desc_count == 1) && rem && (rem < overhead)) return EXT2_ET_TOOSMALL; - if ((fs->group_desc_count > 1) && rem && (rem < overhead+50)) { - ext2fs_blocks_count_set(fs->super, - ext2fs_blocks_count(fs->super) - rem); + if (rem && (rem < overhead+50)) { + fs->super->s_blocks_count -= rem; goto retry; } /* @@ -377,49 +357,37 @@ retry: /* * Adjust the number of free blocks */ - blk = ext2fs_blocks_count(old_fs->super); - if (blk > ext2fs_blocks_count(fs->super)) - ext2fs_free_blocks_count_set(fs->super, - ext2fs_free_blocks_count(fs->super) - - (blk - ext2fs_blocks_count(fs->super))); + blk = old_fs->super->s_blocks_count; + if (blk > fs->super->s_blocks_count) + fs->super->s_free_blocks_count -= + (blk - fs->super->s_blocks_count); else - ext2fs_free_blocks_count_set(fs->super, - ext2fs_free_blocks_count(fs->super) + - (ext2fs_blocks_count(fs->super) - blk)); + fs->super->s_free_blocks_count += + (fs->super->s_blocks_count - blk); /* * Adjust the number of reserved blocks */ - percent = (ext2fs_r_blocks_count(old_fs->super) * 100.0) / - ext2fs_blocks_count(old_fs->super); - ext2fs_r_blocks_count_set(fs->super, - (percent * ext2fs_blocks_count(fs->super) / - 100.0)); + percent = (old_fs->super->s_r_blocks_count * 100.0) / + old_fs->super->s_blocks_count; + fs->super->s_r_blocks_count = (unsigned int) (percent * + fs->super->s_blocks_count / 100.0); /* * Adjust the bitmaps for size */ - retval = ext2fs_resize_inode_bitmap2(fs->super->s_inodes_count, + retval = ext2fs_resize_inode_bitmap(fs->super->s_inodes_count, fs->super->s_inodes_count, fs->inode_map); if (retval) goto errout; - real_end = (((blk64_t) EXT2_BLOCKS_PER_GROUP(fs->super) * - fs->group_desc_count)) - 1 + - fs->super->s_first_data_block; - retval = ext2fs_resize_block_bitmap2(new_size - 1, - real_end, fs->block_map); - if (retval) goto errout; + real_end = ((EXT2_BLOCKS_PER_GROUP(fs->super) + * fs->group_desc_count)) - 1 + + fs->super->s_first_data_block; + retval = ext2fs_resize_block_bitmap(fs->super->s_blocks_count-1, + real_end, fs->block_map); - /* - * If we are growing the file system, also grow the size of - * the reserve_blocks bitmap - */ - if (reserve_blocks && new_size > ext2fs_blocks_count(old_fs->super)) { - retval = ext2fs_resize_block_bitmap2(new_size - 1, - real_end, reserve_blocks); - if (retval) goto errout; - } + if (retval) goto errout; /* * Reallocate the group descriptors as necessary. @@ -468,8 +436,10 @@ retry: * and free any blocks associated with their metadata */ for (i = fs->group_desc_count; - i < old_fs->group_desc_count; i++) - free_gdp_blocks(fs, reserve_blocks, old_fs, i); + i < old_fs->group_desc_count; i++) { + free_gdp_blocks(fs, reserve_blocks, + &old_fs->group_desc[i]); + } retval = 0; goto errout; } @@ -477,13 +447,13 @@ retry: /* * Fix the count of the last (old) block group */ - old_numblocks = (ext2fs_blocks_count(old_fs->super) - + old_numblocks = (old_fs->super->s_blocks_count - old_fs->super->s_first_data_block) % old_fs->super->s_blocks_per_group; if (!old_numblocks) old_numblocks = old_fs->super->s_blocks_per_group; if (old_fs->group_desc_count == fs->group_desc_count) { - numblocks = (ext2fs_blocks_count(fs->super) - + numblocks = (fs->super->s_blocks_count - fs->super->s_first_data_block) % fs->super->s_blocks_per_group; if (!numblocks) @@ -491,7 +461,7 @@ retry: } else numblocks = fs->super->s_blocks_per_group; i = old_fs->group_desc_count - 1; - ext2fs_bg_free_blocks_count_set(fs, i, ext2fs_bg_free_blocks_count(fs, i) + (numblocks - old_numblocks)); + fs->group_desc[i].bg_free_blocks_count += (numblocks-old_numblocks); ext2fs_group_desc_csum_set(fs, i); /* @@ -507,49 +477,44 @@ retry: /* * Initialize the new block group descriptors */ - group_block = ext2fs_group_first_block2(fs, - old_fs->group_desc_count); + group_block = fs->super->s_first_data_block + + old_fs->group_desc_count * fs->super->s_blocks_per_group; + csum_flag = EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM); - if (access("/sys/fs/ext4/features/lazy_itable_init", F_OK) == 0) - lazy_itable_init = 1; + adj = old_fs->group_desc_count; + max_group = fs->group_desc_count - adj; if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) old_desc_blocks = fs->super->s_first_meta_bg; else old_desc_blocks = fs->desc_blocks + fs->super->s_reserved_gdt_blocks; - - /* - * If we changed the number of block_group descriptor blocks, - * we need to make sure they are all marked as reserved in the - * file systems's block allocation map. - */ - for (i = 0; i < old_fs->group_desc_count; i++) - ext2fs_reserve_super_and_bgd(fs, i, fs->block_map); - for (i = old_fs->group_desc_count; i < fs->group_desc_count; i++) { - memset(ext2fs_group_desc(fs, fs->group_desc, i), 0, + memset(&fs->group_desc[i], 0, sizeof(struct ext2_group_desc)); adjblocks = 0; - ext2fs_bg_flags_zap(fs, i); - if (csum_flag) { - ext2fs_bg_flags_set(fs, i, EXT2_BG_INODE_UNINIT); - if (!lazy_itable_init) - ext2fs_bg_flags_set(fs, i, - EXT2_BG_INODE_ZEROED); - ext2fs_bg_itable_unused_set(fs, i, - fs->super->s_inodes_per_group); + fs->group_desc[i].bg_flags = 0; + if (csum_flag) + fs->group_desc[i].bg_flags |= EXT2_BG_INODE_UNINIT | + EXT2_BG_INODE_ZEROED; + if (i == fs->group_desc_count-1) { + numblocks = (fs->super->s_blocks_count - + fs->super->s_first_data_block) % + fs->super->s_blocks_per_group; + if (!numblocks) + numblocks = fs->super->s_blocks_per_group; + } else { + numblocks = fs->super->s_blocks_per_group; + if (csum_flag) + fs->group_desc[i].bg_flags |= + EXT2_BG_BLOCK_UNINIT; } - numblocks = ext2fs_group_blocks_count(fs, i); - if ((i < fs->group_desc_count - 1) && csum_flag) - ext2fs_bg_flags_set(fs, i, EXT2_BG_BLOCK_UNINIT); - has_super = ext2fs_bg_has_super(fs, i); if (has_super) { - ext2fs_block_alloc_stats2(fs, group_block, +1); + ext2fs_block_alloc_stats(fs, group_block, +1); adjblocks++; } meta_bg_size = EXT2_DESC_PER_BLOCK(fs->super); @@ -559,7 +524,7 @@ retry: (meta_bg < fs->super->s_first_meta_bg)) { if (has_super) { for (j=0; j < old_desc_blocks; j++) - ext2fs_block_alloc_stats2(fs, + ext2fs_block_alloc_stats(fs, group_block + 1 + j, +1); adjblocks += old_desc_blocks; } @@ -569,21 +534,20 @@ retry: if (((i % meta_bg_size) == 0) || ((i % meta_bg_size) == 1) || ((i % meta_bg_size) == (meta_bg_size-1))) - ext2fs_block_alloc_stats2(fs, + ext2fs_block_alloc_stats(fs, group_block + has_super, +1); } adjblocks += 2 + fs->inode_blocks_per_group; numblocks -= adjblocks; - ext2fs_free_blocks_count_set(fs->super, - ext2fs_free_blocks_count(fs->super) - adjblocks); + fs->super->s_free_blocks_count -= adjblocks; fs->super->s_free_inodes_count += fs->super->s_inodes_per_group; - ext2fs_bg_free_blocks_count_set(fs, i, numblocks); - ext2fs_bg_free_inodes_count_set(fs, i, - fs->super->s_inodes_per_group); - ext2fs_bg_used_dirs_count_set(fs, i, 0); + fs->group_desc[i].bg_free_blocks_count = numblocks; + fs->group_desc[i].bg_free_inodes_count = + fs->super->s_inodes_per_group; + fs->group_desc[i].bg_used_dirs_count = 0; ext2fs_group_desc_csum_set(fs, i); retval = ext2fs_allocate_group_table(fs, i, 0); @@ -593,17 +557,6 @@ retry: } retval = 0; - /* - * Mark all of the metadata blocks as reserved so they won't - * get allocated by the call to ext2fs_allocate_group_table() - * in blocks_to_move(), where we allocate new blocks to - * replace those allocation bitmap and inode table blocks - * which have to get relocated to make space for an increased - * number of the block group descriptors. - */ - if (reserve_blocks) - mark_table_blocks(fs, reserve_blocks); - errout: return (retval); } @@ -612,12 +565,12 @@ errout: * This routine adjusts the superblock and other data structures, both * in disk as well as in memory... */ -static errcode_t adjust_superblock(ext2_resize_t rfs, blk64_t new_size) +static errcode_t adjust_superblock(ext2_resize_t rfs, blk_t new_size) { ext2_filsys fs; int adj = 0; errcode_t retval; - blk64_t group_block; + blk_t group_block; unsigned long i; unsigned long max_group; @@ -665,19 +618,7 @@ static errcode_t adjust_superblock(ext2_resize_t rfs, blk64_t new_size) } /* - * If we are using uninit_bg (aka GDT_CSUM) and the kernel - * supports lazy inode initialization, we can skip - * initializing the inode table. - */ - if (lazy_itable_init && - EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) { - retval = 0; - goto errout; - } - - /* - * Initialize the inode table + * Initialize the new block group descriptors */ retval = ext2fs_get_array(fs->blocksize, fs->inode_blocks_per_group, &rfs->itable_buf); @@ -685,8 +626,9 @@ static errcode_t adjust_superblock(ext2_resize_t rfs, blk64_t new_size) goto errout; memset(rfs->itable_buf, 0, fs->blocksize * fs->inode_blocks_per_group); - group_block = ext2fs_group_first_block2(fs, - rfs->old_fs->group_desc_count); + group_block = fs->super->s_first_data_block + + rfs->old_fs->group_desc_count * fs->super->s_blocks_per_group; + adj = rfs->old_fs->group_desc_count; max_group = fs->group_desc_count - adj; if (rfs->progress) { @@ -700,10 +642,10 @@ static errcode_t adjust_superblock(ext2_resize_t rfs, blk64_t new_size) /* * Write out the new inode table */ - retval = io_channel_write_blk64(fs->io, - ext2fs_inode_table_loc(fs, i), - fs->inode_blocks_per_group, - rfs->itable_buf); + retval = io_channel_write_blk(fs->io, + fs->group_desc[i].bg_inode_table, + fs->inode_blocks_per_group, + rfs->itable_buf); if (retval) goto errout; io_channel_flush(fs->io); @@ -741,33 +683,40 @@ errout: static errcode_t mark_table_blocks(ext2_filsys fs, ext2fs_block_bitmap bmap) { + blk_t b; + unsigned int j; dgrp_t i; - blk64_t blk; + unsigned long meta_bg_size; + unsigned int old_desc_blocks; + meta_bg_size = EXT2_DESC_PER_BLOCK(fs->super); + if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) + old_desc_blocks = fs->super->s_first_meta_bg; + else + old_desc_blocks = fs->desc_blocks + + fs->super->s_reserved_gdt_blocks; for (i = 0; i < fs->group_desc_count; i++) { ext2fs_reserve_super_and_bgd(fs, i, bmap); /* * Mark the blocks used for the inode table */ - blk = ext2fs_inode_table_loc(fs, i); - if (blk) - ext2fs_mark_block_bitmap_range2(bmap, blk, - fs->inode_blocks_per_group); + for (j = 0, b = fs->group_desc[i].bg_inode_table; + j < (unsigned int) fs->inode_blocks_per_group; + j++, b++) + ext2fs_mark_block_bitmap(bmap, b); /* * Mark block used for the block bitmap */ - blk = ext2fs_block_bitmap_loc(fs, i); - if (blk) - ext2fs_mark_block_bitmap2(bmap, blk); + ext2fs_mark_block_bitmap(bmap, + fs->group_desc[i].bg_block_bitmap); /* * Mark block used for the inode bitmap */ - blk = ext2fs_inode_bitmap_loc(fs, i); - if (blk) - ext2fs_mark_block_bitmap2(bmap, blk); + ext2fs_mark_block_bitmap(bmap, + fs->group_desc[i].bg_inode_bitmap); } return 0; } @@ -779,12 +728,12 @@ static errcode_t mark_table_blocks(ext2_filsys fs, */ static void mark_fs_metablock(ext2_resize_t rfs, ext2fs_block_bitmap meta_bmap, - int group, blk64_t blk) + int group, blk_t blk) { ext2_filsys fs = rfs->new_fs; - ext2fs_mark_block_bitmap2(rfs->reserve_blocks, blk); - ext2fs_block_alloc_stats2(fs, blk, +1); + ext2fs_mark_block_bitmap(rfs->reserve_blocks, blk); + ext2fs_block_alloc_stats(fs, blk, +1); /* * Check to see if we overlap with the inode or block bitmap, @@ -792,52 +741,25 @@ static void mark_fs_metablock(ext2_resize_t rfs, * mark it as a block to be moved. */ if (IS_BLOCK_BM(fs, group, blk)) { - ext2fs_block_bitmap_loc_set(fs, group, 0); + FS_BLOCK_BM(fs, group) = 0; rfs->needed_blocks++; - return; - } - if (IS_INODE_BM(fs, group, blk)) { - ext2fs_inode_bitmap_loc_set(fs, group, 0); + } else if (IS_INODE_BM(fs, group, blk)) { + FS_INODE_BM(fs, group) = 0; rfs->needed_blocks++; - return; - } - if (IS_INODE_TB(fs, group, blk)) { - ext2fs_inode_table_loc_set(fs, group, 0); + } else if (IS_INODE_TB(fs, group, blk)) { + FS_INODE_TB(fs, group) = 0; rfs->needed_blocks++; - return; - } - if (fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_FLEX_BG) { - dgrp_t i; - - for (i=0; i < rfs->old_fs->group_desc_count; i++) { - if (IS_BLOCK_BM(fs, i, blk)) { - ext2fs_block_bitmap_loc_set(fs, i, 0); - rfs->needed_blocks++; - return; - } - if (IS_INODE_BM(fs, i, blk)) { - ext2fs_inode_bitmap_loc_set(fs, i, 0); - rfs->needed_blocks++; - return; - } - if (IS_INODE_TB(fs, i, blk)) { - ext2fs_inode_table_loc_set(fs, i, 0); - rfs->needed_blocks++; - return; - } - } - } - if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_GDT_CSUM) && - (ext2fs_bg_flags_test(fs, group, EXT2_BG_BLOCK_UNINIT))) { + } else if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, + EXT4_FEATURE_RO_COMPAT_GDT_CSUM) && + (fs->group_desc[group].bg_flags & EXT2_BG_BLOCK_UNINIT)) { /* * If the block bitmap is uninitialized, which means * nothing other than standard metadata in use. */ return; - } else if (ext2fs_test_block_bitmap2(rfs->old_fs->block_map, blk) && - !ext2fs_test_block_bitmap2(meta_bmap, blk)) { - ext2fs_mark_block_bitmap2(rfs->move_blocks, blk); + } else if (ext2fs_test_block_bitmap(rfs->old_fs->block_map, blk) && + !ext2fs_test_block_bitmap(meta_bmap, blk)) { + ext2fs_mark_block_bitmap(rfs->move_blocks, blk); rfs->needed_blocks++; } } @@ -852,18 +774,17 @@ static errcode_t blocks_to_move(ext2_resize_t rfs) { int j, has_super; dgrp_t i, max_groups, g; - blk64_t blk, group_blk; - blk64_t old_blocks, new_blocks; - blk64_t new_size; + blk_t blk, group_blk; + unsigned long old_blocks, new_blocks; unsigned int meta_bg, meta_bg_size; errcode_t retval; ext2_filsys fs, old_fs; ext2fs_block_bitmap meta_bmap; - int flex_bg; + __u32 save_incompat_flag; fs = rfs->new_fs; old_fs = rfs->old_fs; - if (ext2fs_blocks_count(old_fs->super) > ext2fs_blocks_count(fs->super)) + if (old_fs->super->s_blocks_count > fs->super->s_blocks_count) fs = rfs->old_fs; retval = ext2fs_allocate_block_bitmap(fs, _("blocks to be moved"), @@ -882,65 +803,30 @@ static errcode_t blocks_to_move(ext2_resize_t rfs) fs = rfs->new_fs; - /* - * If we're shrinking the filesystem, we need to move any - * group's metadata blocks (either allocation bitmaps or the - * inode table) which are beyond the end of the new - * filesystem. - */ - new_size = ext2fs_blocks_count(fs->super); - if (new_size < ext2fs_blocks_count(old_fs->super)) { - for (g = 0; g < fs->group_desc_count; g++) { - int realloc = 0; - /* - * ext2fs_allocate_group_table will re-allocate any - * metadata blocks whose location is set to zero. - */ - if (ext2fs_block_bitmap_loc(fs, g) >= new_size) { - ext2fs_block_bitmap_loc_set(fs, g, 0); - realloc = 1; - } - if (ext2fs_inode_bitmap_loc(fs, g) >= new_size) { - ext2fs_inode_bitmap_loc_set(fs, g, 0); - realloc = 1; - } - if ((ext2fs_inode_table_loc(fs, g) + - fs->inode_blocks_per_group) > new_size) { - ext2fs_inode_table_loc_set(fs, g, 0); - realloc = 1; - } - - if (realloc) { - retval = ext2fs_allocate_group_table(fs, g, 0); - if (retval) - return retval; - } - } - } - /* * If we're shrinking the filesystem, we need to move all of * the blocks that don't fit any more */ - for (blk = ext2fs_blocks_count(fs->super); - blk < ext2fs_blocks_count(old_fs->super); blk++) { - g = ext2fs_group_of_blk2(fs, blk); + for (blk = fs->super->s_blocks_count; + blk < old_fs->super->s_blocks_count; blk++) { + g = ext2fs_group_of_blk(fs, blk); if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM) && - ext2fs_bg_flags_test(old_fs, g, EXT2_BG_BLOCK_UNINIT)) { + (old_fs->group_desc[g].bg_flags & EXT2_BG_BLOCK_UNINIT)) { /* * The block bitmap is uninitialized, so skip * to the next block group. */ - blk = ext2fs_group_first_block2(fs, g+1) - 1; + blk = ((g+1) * fs->super->s_blocks_per_group) + + fs->super->s_first_data_block - 1; continue; } - if (ext2fs_test_block_bitmap2(old_fs->block_map, blk) && - !ext2fs_test_block_bitmap2(meta_bmap, blk)) { - ext2fs_mark_block_bitmap2(rfs->move_blocks, blk); + if (ext2fs_test_block_bitmap(old_fs->block_map, blk) && + !ext2fs_test_block_bitmap(meta_bmap, blk)) { + ext2fs_mark_block_bitmap(rfs->move_blocks, blk); rfs->needed_blocks++; } - ext2fs_mark_block_bitmap2(rfs->reserve_blocks, blk); + ext2fs_mark_block_bitmap(rfs->reserve_blocks, blk); } if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) { @@ -973,7 +859,7 @@ static errcode_t blocks_to_move(ext2_resize_t rfs) } for (blk = group_blk+1+new_blocks; blk < group_blk+1+old_blocks; blk++) { - ext2fs_block_alloc_stats2(fs, blk, -1); + ext2fs_block_alloc_stats(fs, blk, -1); rfs->needed_blocks--; } group_blk += fs->super->s_blocks_per_group; @@ -986,9 +872,6 @@ static errcode_t blocks_to_move(ext2_resize_t rfs) * gets interesting.... */ meta_bg_size = EXT2_DESC_PER_BLOCK(fs->super); - flex_bg = fs->super->s_feature_incompat & - EXT4_FEATURE_INCOMPAT_FLEX_BG; - /* first reserve all of the existing fs meta blocks */ for (i = 0; i < max_groups; i++) { has_super = ext2fs_bg_has_super(fs, i); if (has_super) @@ -1014,51 +897,52 @@ static errcode_t blocks_to_move(ext2_resize_t rfs) group_blk + has_super); } + if (fs->group_desc[i].bg_inode_table && + fs->group_desc[i].bg_inode_bitmap && + fs->group_desc[i].bg_block_bitmap) + goto next_group; + /* * Reserve the existing meta blocks that we know * aren't to be moved. - * - * For flex_bg file systems, in order to avoid - * overwriting fs metadata (especially inode table - * blocks) belonging to a different block group when - * we are relocating the inode tables, we need to - * reserve all existing fs metadata blocks. */ - if (ext2fs_block_bitmap_loc(fs, i)) - ext2fs_mark_block_bitmap2(rfs->reserve_blocks, - ext2fs_block_bitmap_loc(fs, i)); - else if (flex_bg && i < old_fs->group_desc_count) - ext2fs_mark_block_bitmap2(rfs->reserve_blocks, - ext2fs_block_bitmap_loc(old_fs, i)); - - if (ext2fs_inode_bitmap_loc(fs, i)) - ext2fs_mark_block_bitmap2(rfs->reserve_blocks, - ext2fs_inode_bitmap_loc(fs, i)); - else if (flex_bg && i < old_fs->group_desc_count) - ext2fs_mark_block_bitmap2(rfs->reserve_blocks, - ext2fs_inode_bitmap_loc(old_fs, i)); - - if (ext2fs_inode_table_loc(fs, i)) - ext2fs_mark_block_bitmap_range2(rfs->reserve_blocks, - ext2fs_inode_table_loc(fs, i), - fs->inode_blocks_per_group); - else if (flex_bg && i < old_fs->group_desc_count) - ext2fs_mark_block_bitmap_range2(rfs->reserve_blocks, - ext2fs_inode_table_loc(old_fs, i), - old_fs->inode_blocks_per_group); - - group_blk += rfs->new_fs->super->s_blocks_per_group; - } - - /* Allocate the missing data structures */ - for (i = 0; i < max_groups; i++) { - if (ext2fs_inode_table_loc(fs, i) && - ext2fs_inode_bitmap_loc(fs, i) && - ext2fs_block_bitmap_loc(fs, i)) - continue; + if (fs->group_desc[i].bg_block_bitmap) + ext2fs_mark_block_bitmap(rfs->reserve_blocks, + fs->group_desc[i].bg_block_bitmap); + if (fs->group_desc[i].bg_inode_bitmap) + ext2fs_mark_block_bitmap(rfs->reserve_blocks, + fs->group_desc[i].bg_inode_bitmap); + if (fs->group_desc[i].bg_inode_table) + for (blk = fs->group_desc[i].bg_inode_table, j=0; + j < fs->inode_blocks_per_group ; j++, blk++) + ext2fs_mark_block_bitmap(rfs->reserve_blocks, + blk); + /* + * Allocate the missing data structures + * + * XXX We have a problem with FLEX_BG and off-line + * resizing where we are growing the size of the + * filesystem. ext2fs_allocate_group_table() will try + * to reserve the inode table in the desired flex_bg + * location. However, passing rfs->reserve_blocks + * doesn't work since it only has reserved the blocks + * that will be used in the new block group -- and + * with flex_bg, we can and will allocate the tables + * outside of the block group. And we can't pass in + * the fs->block_map because it doesn't handle + * overlapping inode table movements right. So for + * now, we temporarily disable flex_bg to force + * ext2fs_allocate_group_tables() to allocate the bg + * metadata in side the block group, and the restore + * it afterwards. Ugly, until we can fix this up + * right later. + */ + save_incompat_flag = fs->super->s_feature_incompat; + fs->super->s_feature_incompat &= ~EXT4_FEATURE_INCOMPAT_FLEX_BG; retval = ext2fs_allocate_group_table(fs, i, rfs->reserve_blocks); + fs->super->s_feature_incompat = save_incompat_flag; if (retval) goto errout; @@ -1066,20 +950,20 @@ static errcode_t blocks_to_move(ext2_resize_t rfs) * For those structures that have changed, we need to * do bookkeepping. */ - if (ext2fs_block_bitmap_loc(old_fs, i) != - (blk = ext2fs_block_bitmap_loc(fs, i))) { - ext2fs_block_alloc_stats2(fs, blk, +1); - if (ext2fs_test_block_bitmap2(old_fs->block_map, blk) && - !ext2fs_test_block_bitmap2(meta_bmap, blk)) - ext2fs_mark_block_bitmap2(rfs->move_blocks, + if (FS_BLOCK_BM(old_fs, i) != + (blk = FS_BLOCK_BM(fs, i))) { + ext2fs_block_alloc_stats(fs, blk, +1); + if (ext2fs_test_block_bitmap(old_fs->block_map, blk) && + !ext2fs_test_block_bitmap(meta_bmap, blk)) + ext2fs_mark_block_bitmap(rfs->move_blocks, blk); } - if (ext2fs_inode_bitmap_loc(old_fs, i) != - (blk = ext2fs_inode_bitmap_loc(fs, i))) { - ext2fs_block_alloc_stats2(fs, blk, +1); - if (ext2fs_test_block_bitmap2(old_fs->block_map, blk) && - !ext2fs_test_block_bitmap2(meta_bmap, blk)) - ext2fs_mark_block_bitmap2(rfs->move_blocks, + if (FS_INODE_BM(old_fs, i) != + (blk = FS_INODE_BM(fs, i))) { + ext2fs_block_alloc_stats(fs, blk, +1); + if (ext2fs_test_block_bitmap(old_fs->block_map, blk) && + !ext2fs_test_block_bitmap(meta_bmap, blk)) + ext2fs_mark_block_bitmap(rfs->move_blocks, blk); } @@ -1090,8 +974,8 @@ static errcode_t blocks_to_move(ext2_resize_t rfs) * can't have the inode table be destroyed during the * block relocation phase. */ - if (ext2fs_inode_table_loc(fs, i) == ext2fs_inode_table_loc(old_fs, i)) - continue; /* inode table not moved */ + if (FS_INODE_TB(fs, i) == FS_INODE_TB(old_fs, i)) + goto next_group; /* inode table not moved */ rfs->needed_blocks += fs->inode_blocks_per_group; @@ -1100,12 +984,12 @@ static errcode_t blocks_to_move(ext2_resize_t rfs) * allocation bitmap, and move any blocks that might * be necessary. */ - for (blk = ext2fs_inode_table_loc(fs, i), j=0; + for (blk = fs->group_desc[i].bg_inode_table, j=0; j < fs->inode_blocks_per_group ; j++, blk++) { - ext2fs_block_alloc_stats2(fs, blk, +1); - if (ext2fs_test_block_bitmap2(old_fs->block_map, blk) && - !ext2fs_test_block_bitmap2(meta_bmap, blk)) - ext2fs_mark_block_bitmap2(rfs->move_blocks, + ext2fs_block_alloc_stats(fs, blk, +1); + if (ext2fs_test_block_bitmap(old_fs->block_map, blk) && + !ext2fs_test_block_bitmap(meta_bmap, blk)) + ext2fs_mark_block_bitmap(rfs->move_blocks, blk); } @@ -1113,9 +997,12 @@ static errcode_t blocks_to_move(ext2_resize_t rfs) * Make sure the old inode table is reserved in the * block reservation bitmap. */ - for (blk = ext2fs_inode_table_loc(rfs->old_fs, i), j=0; + for (blk = rfs->old_fs->group_desc[i].bg_inode_table, j=0; j < fs->inode_blocks_per_group ; j++, blk++) - ext2fs_mark_block_bitmap2(rfs->reserve_blocks, blk); + ext2fs_mark_block_bitmap(rfs->reserve_blocks, blk); + + next_group: + group_blk += rfs->new_fs->super->s_blocks_per_group; } retval = 0; @@ -1149,18 +1036,18 @@ static void init_block_alloc(ext2_resize_t rfs) rfs->new_blk = rfs->new_fs->super->s_first_data_block; #if 0 /* HACK for testing */ - if (ext2fs_blocks_count(rfs->new_fs->super) > - ext2fs_blocks_count(rfs->old_fs->super)) - rfs->new_blk = ext2fs_blocks_count(rfs->old_fs->super); + if (rfs->new_fs->super->s_blocks_count > + rfs->old_fs->super->s_blocks_count) + rfs->new_blk = rfs->old_fs->super->s_blocks_count; #endif } -static blk64_t get_new_block(ext2_resize_t rfs) +static blk_t get_new_block(ext2_resize_t rfs) { ext2_filsys fs = rfs->new_fs; while (1) { - if (rfs->new_blk >= ext2fs_blocks_count(fs->super)) { + if (rfs->new_blk >= fs->super->s_blocks_count) { if (rfs->alloc_state == DESPERATION) return 0; @@ -1173,12 +1060,12 @@ static blk64_t get_new_block(ext2_resize_t rfs) rfs->new_blk = fs->super->s_first_data_block; continue; } - if (ext2fs_test_block_bitmap2(fs->block_map, rfs->new_blk) || - ext2fs_test_block_bitmap2(rfs->reserve_blocks, + if (ext2fs_test_block_bitmap(fs->block_map, rfs->new_blk) || + ext2fs_test_block_bitmap(rfs->reserve_blocks, rfs->new_blk) || ((rfs->alloc_state == AVOID_OLD) && - (rfs->new_blk < ext2fs_blocks_count(rfs->old_fs->super)) && - ext2fs_test_block_bitmap2(rfs->old_fs->block_map, + (rfs->new_blk < rfs->old_fs->super->s_blocks_count) && + ext2fs_test_block_bitmap(rfs->old_fs->block_map, rfs->new_blk))) { rfs->new_blk++; continue; @@ -1191,7 +1078,7 @@ static errcode_t resize2fs_get_alloc_block(ext2_filsys fs, blk64_t goal, blk64_t *ret) { ext2_resize_t rfs = (ext2_resize_t) fs->priv_data; - blk64_t blk; + blk_t blk; blk = get_new_block(rfs); if (!blk) @@ -1199,23 +1086,22 @@ static errcode_t resize2fs_get_alloc_block(ext2_filsys fs, blk64_t goal, #ifdef RESIZE2FS_DEBUG if (rfs->flags & 0xF) - printf("get_alloc_block allocating %llu\n", blk); + printf("get_alloc_block allocating %u\n", blk); #endif - ext2fs_mark_block_bitmap2(rfs->old_fs->block_map, blk); - ext2fs_mark_block_bitmap2(rfs->new_fs->block_map, blk); + ext2fs_mark_block_bitmap(rfs->old_fs->block_map, blk); + ext2fs_mark_block_bitmap(rfs->new_fs->block_map, blk); *ret = (blk64_t) blk; return 0; } static errcode_t block_mover(ext2_resize_t rfs) { - blk64_t blk, old_blk, new_blk; + blk_t blk, old_blk, new_blk; ext2_filsys fs = rfs->new_fs; ext2_filsys old_fs = rfs->old_fs; errcode_t retval; - __u64 size; - int c; + int size, c; int to_move, moved; ext2_badblocks_list badblock_list = 0; int bb_modified = 0; @@ -1245,12 +1131,11 @@ static errcode_t block_mover(ext2_resize_t rfs) */ to_move = moved = 0; init_block_alloc(rfs); - for (blk = B2C(old_fs->super->s_first_data_block); - blk < ext2fs_blocks_count(old_fs->super); - blk += EXT2FS_CLUSTER_RATIO(fs)) { - if (!ext2fs_test_block_bitmap2(old_fs->block_map, blk)) + for (blk = old_fs->super->s_first_data_block; + blk < old_fs->super->s_blocks_count; blk++) { + if (!ext2fs_test_block_bitmap(old_fs->block_map, blk)) continue; - if (!ext2fs_test_block_bitmap2(rfs->move_blocks, blk)) + if (!ext2fs_test_block_bitmap(rfs->move_blocks, blk)) continue; if (ext2fs_badblocks_list_test(badblock_list, blk)) { ext2fs_badblocks_list_del(badblock_list, blk); @@ -1263,8 +1148,8 @@ static errcode_t block_mover(ext2_resize_t rfs) retval = ENOSPC; goto errout; } - ext2fs_block_alloc_stats2(fs, new_blk, +1); - ext2fs_add_extent_entry(rfs->bmap, B2C(blk), B2C(new_blk)); + ext2fs_block_alloc_stats(fs, new_blk, +1); + ext2fs_add_extent_entry(rfs->bmap, blk, new_blk); to_move++; } @@ -1294,23 +1179,20 @@ static errcode_t block_mover(ext2_resize_t rfs) if (retval) goto errout; if (!size) break; - old_blk = C2B(old_blk); - new_blk = C2B(new_blk); - size = C2B(size); #ifdef RESIZE2FS_DEBUG if (rfs->flags & RESIZE_DEBUG_BMOVE) - printf("Moving %llu blocks %llu->%llu\n", + printf("Moving %d blocks %u->%u\n", size, old_blk, new_blk); #endif do { c = size; if (c > fs->inode_blocks_per_group) c = fs->inode_blocks_per_group; - retval = io_channel_read_blk64(fs->io, old_blk, c, - rfs->itable_buf); + retval = io_channel_read_blk(fs->io, old_blk, c, + rfs->itable_buf); if (retval) goto errout; - retval = io_channel_write_blk64(fs->io, new_blk, c, - rfs->itable_buf); + retval = io_channel_write_blk(fs->io, new_blk, c, + rfs->itable_buf); if (retval) goto errout; size -= c; new_blk += c; @@ -1347,20 +1229,6 @@ errout: */ -/* - * The extent translation table is stored in clusters so we need to - * take special care when mapping a source block number to its - * destination block number. - */ -static __u64 extent_translate(ext2_filsys fs, ext2_extent extent, __u64 old_loc) -{ - __u64 new_block = C2B(ext2fs_extent_translate(extent, B2C(old_loc))); - - if (new_block != 0) - new_block += old_loc & (EXT2FS_CLUSTER_RATIO(fs) - 1); - return new_block; -} - struct process_block_struct { ext2_resize_t rfs; ext2_ino_t ino; @@ -1370,35 +1238,35 @@ struct process_block_struct { int changed; }; -static int process_block(ext2_filsys fs, blk64_t *block_nr, +static int process_block(ext2_filsys fs, blk_t *block_nr, e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), + blk_t ref_block EXT2FS_ATTR((unused)), int ref_offset EXT2FS_ATTR((unused)), void *priv_data) { struct process_block_struct *pb; errcode_t retval; - blk64_t block, new_block; + blk_t block, new_block; int ret = 0; pb = (struct process_block_struct *) priv_data; block = *block_nr; if (pb->rfs->bmap) { - new_block = extent_translate(fs, pb->rfs->bmap, block); + new_block = ext2fs_extent_translate(pb->rfs->bmap, block); if (new_block) { *block_nr = new_block; ret |= BLOCK_CHANGED; pb->changed = 1; #ifdef RESIZE2FS_DEBUG if (pb->rfs->flags & RESIZE_DEBUG_BMOVE) - printf("ino=%u, blockcnt=%lld, %llu->%llu\n", + printf("ino=%u, blockcnt=%lld, %u->%u\n", pb->ino, blockcnt, block, new_block); #endif block = new_block; } } if (pb->is_dir) { - retval = ext2fs_add_dir_block2(fs->dblist, pb->ino, - block, (int) blockcnt); + retval = ext2fs_add_dir_block(fs->dblist, pb->ino, + block, (int) blockcnt); if (retval) { pb->error = retval; ret |= BLOCK_ABORT; @@ -1444,8 +1312,7 @@ static errcode_t inode_scan_and_fix(ext2_resize_t rfs) errcode_t retval; char *block_buf = 0; ext2_ino_t start_to_move; - blk64_t orig_size; - blk64_t new_block; + blk_t orig_size, new_block; int inode_size; if ((rfs->old_fs->group_desc_count <= @@ -1459,10 +1326,10 @@ static errcode_t inode_scan_and_fix(ext2_resize_t rfs) * is larger. We need to do this to avoid catching an error * by the block iterator routines */ - orig_size = ext2fs_blocks_count(rfs->old_fs->super); - if (orig_size < ext2fs_blocks_count(rfs->new_fs->super)) - ext2fs_blocks_count_set(rfs->old_fs->super, - ext2fs_blocks_count(rfs->new_fs->super)); + orig_size = rfs->old_fs->super->s_blocks_count; + if (orig_size < rfs->new_fs->super->s_blocks_count) + rfs->old_fs->super->s_blocks_count = + rfs->new_fs->super->s_blocks_count; retval = ext2fs_open_inode_scan(rfs->old_fs, 0, &scan); if (retval) goto errout; @@ -1508,22 +1375,21 @@ static errcode_t inode_scan_and_fix(ext2_resize_t rfs) pb.is_dir = LINUX_S_ISDIR(inode->i_mode); pb.changed = 0; - if (ext2fs_file_acl_block(rfs->old_fs, inode) && rfs->bmap) { - new_block = extent_translate(rfs->old_fs, rfs->bmap, - ext2fs_file_acl_block(rfs->old_fs, inode)); + if (inode->i_file_acl && rfs->bmap) { + new_block = ext2fs_extent_translate(rfs->bmap, + inode->i_file_acl); if (new_block) { - ext2fs_file_acl_block_set(rfs->old_fs, inode, - new_block); + inode->i_file_acl = new_block; retval = ext2fs_write_inode_full(rfs->old_fs, ino, inode, inode_size); if (retval) goto errout; } } - if (ext2fs_inode_has_valid_blocks2(rfs->old_fs, inode) && + if (ext2fs_inode_has_valid_blocks(inode) && (rfs->bmap || pb.is_dir)) { pb.ino = ino; - retval = ext2fs_block_iterate3(rfs->old_fs, + retval = ext2fs_block_iterate2(rfs->old_fs, ino, 0, block_buf, process_block, &pb); if (retval) @@ -1571,7 +1437,7 @@ static errcode_t inode_scan_and_fix(ext2_resize_t rfs) io_channel_flush(rfs->old_fs->io); errout: - ext2fs_blocks_count_set(rfs->old_fs->super, orig_size); + rfs->old_fs->super->s_blocks_count = orig_size; if (rfs->bmap) { ext2fs_free_extent_table(rfs->bmap); rfs->bmap = 0; @@ -1660,7 +1526,7 @@ static errcode_t inode_ref_fix(ext2_resize_t rfs) * inode references */ is.num = 0; - is.max_dirs = ext2fs_dblist_count2(rfs->old_fs->dblist); + is.max_dirs = ext2fs_dblist_count(rfs->old_fs->dblist); is.rfs = rfs; is.err = 0; @@ -1714,12 +1580,11 @@ errout: */ static errcode_t move_itables(ext2_resize_t rfs) { - int n, num, size; - long long diff; + int n, num, size, diff; dgrp_t i, max_groups; ext2_filsys fs = rfs->new_fs; char *cp; - blk64_t old_blk, new_blk, blk; + blk_t old_blk, new_blk, blk; errcode_t retval; int j, to_move, moved; @@ -1739,8 +1604,8 @@ static errcode_t move_itables(ext2_resize_t rfs) */ to_move = moved = 0; for (i=0; i < max_groups; i++) - if (ext2fs_inode_table_loc(rfs->old_fs, i) != - ext2fs_inode_table_loc(fs, i)) + if (rfs->old_fs->group_desc[i].bg_inode_table != + fs->group_desc[i].bg_inode_table) to_move++; if (to_move == 0) @@ -1756,22 +1621,22 @@ static errcode_t move_itables(ext2_resize_t rfs) rfs->old_fs->flags |= EXT2_FLAG_MASTER_SB_ONLY; for (i=0; i < max_groups; i++) { - old_blk = ext2fs_inode_table_loc(rfs->old_fs, i); - new_blk = ext2fs_inode_table_loc(fs, i); + old_blk = rfs->old_fs->group_desc[i].bg_inode_table; + new_blk = fs->group_desc[i].bg_inode_table; diff = new_blk - old_blk; #ifdef RESIZE2FS_DEBUG if (rfs->flags & RESIZE_DEBUG_ITABLEMOVE) - printf("Itable move group %d block %llu->%llu (diff %lld)\n", + printf("Itable move group %d block %u->%u (diff %d)\n", i, old_blk, new_blk, diff); #endif if (!diff) continue; - retval = io_channel_read_blk64(fs->io, old_blk, - fs->inode_blocks_per_group, - rfs->itable_buf); + retval = io_channel_read_blk(fs->io, old_blk, + fs->inode_blocks_per_group, + rfs->itable_buf); if (retval) goto errout; /* @@ -1793,15 +1658,15 @@ static errcode_t move_itables(ext2_resize_t rfs) if (n > diff) num -= n; - retval = io_channel_write_blk64(fs->io, new_blk, - num, rfs->itable_buf); + retval = io_channel_write_blk(fs->io, new_blk, + num, rfs->itable_buf); if (retval) { - io_channel_write_blk64(fs->io, old_blk, - num, rfs->itable_buf); + io_channel_write_blk(fs->io, old_blk, + num, rfs->itable_buf); goto errout; } if (n > diff) { - retval = io_channel_write_blk64(fs->io, + retval = io_channel_write_blk(fs->io, old_blk + fs->inode_blocks_per_group, diff, (rfs->itable_buf + (fs->inode_blocks_per_group - diff) * @@ -1810,11 +1675,11 @@ static errcode_t move_itables(ext2_resize_t rfs) goto errout; } - for (blk = ext2fs_inode_table_loc(rfs->old_fs, i), j=0; + for (blk = rfs->old_fs->group_desc[i].bg_inode_table, j=0; j < fs->inode_blocks_per_group ; j++, blk++) - ext2fs_block_alloc_stats2(fs, blk, -1); + ext2fs_block_alloc_stats(fs, blk, -1); - ext2fs_inode_table_loc_set(rfs->old_fs, i, new_blk); + rfs->old_fs->group_desc[i].bg_inode_table = new_blk; ext2fs_group_desc_csum_set(rfs->old_fs, i); ext2fs_mark_super_dirty(rfs->old_fs); ext2fs_flush(rfs->old_fs); @@ -1845,7 +1710,7 @@ static errcode_t fix_resize_inode(ext2_filsys fs) { struct ext2_inode inode; errcode_t retval; - char *block_buf = NULL; + char * block_buf; if (!(fs->super->s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE)) @@ -1868,15 +1733,15 @@ static errcode_t fix_resize_inode(ext2_filsys fs) * should never happen anyway since the filesystem * should be fsck'ed and we assume it is consistent. */ - fprintf(stderr, "%s", + fprintf(stderr, _("Should never happen: resize inode corrupt!\n")); exit(1); } memset(block_buf, 0, fs->blocksize); - retval = io_channel_write_blk64(fs->io, inode.i_block[EXT2_DIND_BLOCK], - 1, block_buf); + retval = io_channel_write_blk(fs->io, inode.i_block[EXT2_DIND_BLOCK], + 1, block_buf); if (retval) goto errout; retval = ext2fs_create_resize_inode(fs); @@ -1894,60 +1759,60 @@ errout: */ static errcode_t ext2fs_calculate_summary_stats(ext2_filsys fs) { - blk64_t blk; + blk_t blk; ext2_ino_t ino; unsigned int group = 0; unsigned int count = 0; - blk64_t total_blocks_free = 0; - int total_inodes_free = 0; + int total_free = 0; int group_free = 0; int uninit = 0; - blk64_t super_blk, old_desc_blk, new_desc_blk; + blk_t super_blk, old_desc_blk, new_desc_blk; int old_desc_blocks; /* * First calculate the block statistics */ - uninit = ext2fs_bg_flags_test(fs, group, EXT2_BG_BLOCK_UNINIT); - ext2fs_super_and_bgd_loc2(fs, group, &super_blk, &old_desc_blk, - &new_desc_blk, 0); + uninit = fs->group_desc[group].bg_flags & EXT2_BG_BLOCK_UNINIT; + ext2fs_super_and_bgd_loc(fs, group, &super_blk, &old_desc_blk, + &new_desc_blk, 0); if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) old_desc_blocks = fs->super->s_first_meta_bg; else old_desc_blocks = fs->desc_blocks + fs->super->s_reserved_gdt_blocks; - for (blk = B2C(fs->super->s_first_data_block); - blk < ext2fs_blocks_count(fs->super); - blk += EXT2FS_CLUSTER_RATIO(fs)) { + for (blk = fs->super->s_first_data_block; + blk < fs->super->s_blocks_count; blk++) { if ((uninit && - !(EQ_CLSTR(blk, super_blk) || + !((blk == super_blk) || ((old_desc_blk && old_desc_blocks && - GE_CLSTR(blk, old_desc_blk) && - LT_CLSTR(blk, old_desc_blk + old_desc_blocks))) || - ((new_desc_blk && EQ_CLSTR(blk, new_desc_blk))) || - EQ_CLSTR(blk, ext2fs_block_bitmap_loc(fs, group)) || - EQ_CLSTR(blk, ext2fs_inode_bitmap_loc(fs, group)) || - ((GE_CLSTR(blk, ext2fs_inode_table_loc(fs, group)) && - LT_CLSTR(blk, ext2fs_inode_table_loc(fs, group) - + fs->inode_blocks_per_group))))) || - (!ext2fs_fast_test_block_bitmap2(fs->block_map, blk))) { + (blk >= old_desc_blk) && + (blk < old_desc_blk + old_desc_blocks))) || + ((new_desc_blk && (blk == new_desc_blk))) || + (blk == fs->group_desc[group].bg_block_bitmap) || + (blk == fs->group_desc[group].bg_inode_bitmap) || + ((blk >= fs->group_desc[group].bg_inode_table && + (blk < fs->group_desc[group].bg_inode_table + + fs->inode_blocks_per_group))))) || + (!ext2fs_fast_test_block_bitmap(fs->block_map, blk))) { group_free++; - total_blocks_free++; + total_free++; } count++; - if ((count == fs->super->s_clusters_per_group) || - EQ_CLSTR(blk, ext2fs_blocks_count(fs->super)-1)) { - ext2fs_bg_free_blocks_count_set(fs, group, group_free); + if ((count == fs->super->s_blocks_per_group) || + (blk == fs->super->s_blocks_count-1)) { + fs->group_desc[group].bg_free_blocks_count = + group_free; ext2fs_group_desc_csum_set(fs, group); group++; if (group >= fs->group_desc_count) break; count = 0; group_free = 0; - uninit = ext2fs_bg_flags_test(fs, group, EXT2_BG_BLOCK_UNINIT); - ext2fs_super_and_bgd_loc2(fs, group, &super_blk, - &old_desc_blk, - &new_desc_blk, 0); + uninit = (fs->group_desc[group].bg_flags & + EXT2_BG_BLOCK_UNINIT); + ext2fs_super_and_bgd_loc(fs, group, &super_blk, + &old_desc_blk, + &new_desc_blk, 0); if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) old_desc_blocks = fs->super->s_first_meta_bg; @@ -1956,38 +1821,40 @@ static errcode_t ext2fs_calculate_summary_stats(ext2_filsys fs) fs->super->s_reserved_gdt_blocks; } } - total_blocks_free = C2B(total_blocks_free); - ext2fs_free_blocks_count_set(fs->super, total_blocks_free); + fs->super->s_free_blocks_count = total_free; /* * Next, calculate the inode statistics */ group_free = 0; + total_free = 0; count = 0; group = 0; /* Protect loop from wrap-around if s_inodes_count maxed */ - uninit = ext2fs_bg_flags_test(fs, group, EXT2_BG_INODE_UNINIT); + uninit = fs->group_desc[group].bg_flags & EXT2_BG_INODE_UNINIT; for (ino = 1; ino <= fs->super->s_inodes_count && ino > 0; ino++) { if (uninit || - !ext2fs_fast_test_inode_bitmap2(fs->inode_map, ino)) { + !ext2fs_fast_test_inode_bitmap(fs->inode_map, ino)) { group_free++; - total_inodes_free++; + total_free++; } count++; if ((count == fs->super->s_inodes_per_group) || (ino == fs->super->s_inodes_count)) { - ext2fs_bg_free_inodes_count_set(fs, group, group_free); + fs->group_desc[group].bg_free_inodes_count = + group_free; ext2fs_group_desc_csum_set(fs, group); group++; if (group >= fs->group_desc_count) break; count = 0; group_free = 0; - uninit = ext2fs_bg_flags_test(fs, group, EXT2_BG_INODE_UNINIT); + uninit = (fs->group_desc[group].bg_flags & + EXT2_BG_INODE_UNINIT); } } - fs->super->s_free_inodes_count = total_inodes_free; + fs->super->s_free_inodes_count = total_free; ext2fs_mark_super_dirty(fs); return 0; } @@ -2012,45 +1879,20 @@ static errcode_t fix_sb_journal_backup(ext2_filsys fs) if (retval) return retval; memcpy(fs->super->s_jnl_blocks, inode.i_block, EXT2_N_BLOCKS*4); - fs->super->s_jnl_blocks[15] = inode.i_size_high; fs->super->s_jnl_blocks[16] = inode.i_size; fs->super->s_jnl_backup_type = EXT3_JNL_BACKUP_BLOCKS; ext2fs_mark_super_dirty(fs); return 0; } -static int calc_group_overhead(ext2_filsys fs, blk64_t grp, - int old_desc_blocks) -{ - blk64_t super_blk, old_desc_blk, new_desc_blk; - int overhead; - - /* inode table blocks plus allocation bitmaps */ - overhead = fs->inode_blocks_per_group + 2; - - ext2fs_super_and_bgd_loc2(fs, grp, &super_blk, - &old_desc_blk, &new_desc_blk, 0); - if ((grp == 0) || super_blk) - overhead++; - if (old_desc_blk) - overhead += old_desc_blocks; - else if (new_desc_blk) - overhead++; - return overhead; -} - - /* * calcluate the minimum number of blocks the given fs can be resized to */ -blk64_t calculate_minimum_resize_size(ext2_filsys fs, int flags) +blk_t calculate_minimum_resize_size(ext2_filsys fs) { - ext2_ino_t inode_count; - dgrp_t groups; - blk64_t blks_needed, data_blocks; - blk64_t grp, data_needed, last_start; - blk64_t overhead = 0; - int old_desc_blocks; + blk_t inode_count, blks_needed, groups, data_blocks; + blk_t grp, data_needed, last_start; + int overhead = 0, num_of_superblocks = 0; int extra_groups = 0; int flexbg_size = 1 << fs->super->s_log_groups_per_flex; @@ -2063,42 +1905,32 @@ blk64_t calculate_minimum_resize_size(ext2_filsys fs, int flags) blks_needed = ext2fs_div_ceil(inode_count, fs->super->s_inodes_per_group) * EXT2_BLOCKS_PER_GROUP(fs->super); - groups = ext2fs_div64_ceil(blks_needed, - EXT2_BLOCKS_PER_GROUP(fs->super)); -#ifdef RESIZE2FS_DEBUG - if (flags & RESIZE_DEBUG_MIN_CALC) - printf("fs has %d inodes, %d groups required.\n", - inode_count, groups); -#endif + groups = ext2fs_div_ceil(blks_needed, + EXT2_BLOCKS_PER_GROUP(fs->super)); /* - * number of old-style block group descriptor blocks + * we need to figure out how many backup superblocks we have so we can + * account for that in the metadata */ - if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) - old_desc_blocks = fs->super->s_first_meta_bg; - else - old_desc_blocks = fs->desc_blocks + - fs->super->s_reserved_gdt_blocks; + for (grp = 0; grp < fs->group_desc_count; grp++) { + if (ext2fs_bg_has_super(fs, grp)) + num_of_superblocks++; + } /* calculate how many blocks are needed for data */ - data_needed = ext2fs_blocks_count(fs->super) - - ext2fs_free_blocks_count(fs->super); + data_needed = fs->super->s_blocks_count - + fs->super->s_free_blocks_count; + data_needed -= SUPER_OVERHEAD(fs) * num_of_superblocks; + data_needed -= META_OVERHEAD(fs) * fs->group_desc_count; - for (grp = 0; grp < fs->group_desc_count; grp++) - data_needed -= calc_group_overhead(fs, grp, old_desc_blocks); -#ifdef RESIZE2FS_DEBUG - if (flags & RESIZE_DEBUG_MIN_CALC) - printf("fs requires %llu data blocks.\n", data_needed); -#endif - - /* - * For ext4 we need to allow for up to a flex_bg worth of - * inode tables of slack space so the resize operation can be - * guaranteed to finish. - */ if (fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_FLEX_BG) { + /* + * For ext4 we need to allow for up to a flex_bg worth + * of inode tables of slack space so the resize + * operation can be guaranteed to finish. + */ extra_groups = flexbg_size - (groups & (flexbg_size - 1)); - data_needed += fs->inode_blocks_per_group * extra_groups; + data_needed += META_OVERHEAD(fs) * extra_groups; extra_groups = groups % flexbg_size; } @@ -2109,7 +1941,10 @@ blk64_t calculate_minimum_resize_size(ext2_filsys fs, int flags) data_blocks = groups * EXT2_BLOCKS_PER_GROUP(fs->super); last_start = 0; for (grp = 0; grp < groups; grp++) { - overhead = calc_group_overhead(fs, grp, old_desc_blocks); + overhead = META_OVERHEAD(fs); + + if (ext2fs_bg_has_super(fs, grp)) + overhead += SUPER_OVERHEAD(fs); /* * we want to keep track of how much data we can store in @@ -2122,33 +1957,31 @@ blk64_t calculate_minimum_resize_size(ext2_filsys fs, int flags) data_blocks -= overhead; } -#ifdef RESIZE2FS_DEBUG - if (flags & RESIZE_DEBUG_MIN_CALC) - printf("With %d group(s), we have %llu blocks available.\n", - groups, data_blocks); -#endif /* * if we need more group descriptors in order to accomodate our data * then we need to add them here */ while (data_needed > data_blocks) { - blk64_t remainder = data_needed - data_blocks; - dgrp_t extra_grps; + blk_t remainder = data_needed - data_blocks; + blk_t extra_grps; /* figure out how many more groups we need for the data */ - extra_grps = ext2fs_div64_ceil(remainder, - EXT2_BLOCKS_PER_GROUP(fs->super)); + extra_grps = ext2fs_div_ceil(remainder, + EXT2_BLOCKS_PER_GROUP(fs->super)); data_blocks += extra_grps * EXT2_BLOCKS_PER_GROUP(fs->super); /* ok we have to account for the last group */ - overhead = calc_group_overhead(fs, groups-1, old_desc_blocks); + overhead = META_OVERHEAD(fs); + if (ext2fs_bg_has_super(fs, groups-1)) + overhead += SUPER_OVERHEAD(fs); last_start += EXT2_BLOCKS_PER_GROUP(fs->super) - overhead; for (grp = groups; grp < groups+extra_grps; grp++) { - overhead = calc_group_overhead(fs, grp, - old_desc_blocks); + overhead = META_OVERHEAD(fs); + if (ext2fs_bg_has_super(fs, grp)) + overhead += SUPER_OVERHEAD(fs); /* * again, we need to see how much data we cram into @@ -2173,39 +2006,21 @@ blk64_t calculate_minimum_resize_size(ext2_filsys fs, int flags) */ extra_groups = flexbg_size - (groups & (flexbg_size - 1)); - data_needed += (fs->inode_blocks_per_group * - extra_groups); + data_needed += META_OVERHEAD(fs) * extra_groups; extra_groups = groups % flexbg_size; } -#ifdef RESIZE2FS_DEBUG - if (flags & RESIZE_DEBUG_MIN_CALC) - printf("Added %d extra group(s), " - "data_needed %llu, data_blocks %llu, " - "last_start %llu\n", - extra_grps, data_needed, data_blocks, - last_start); -#endif } /* now for the fun voodoo */ - overhead = calc_group_overhead(fs, groups-1, old_desc_blocks); -#ifdef RESIZE2FS_DEBUG - if (flags & RESIZE_DEBUG_MIN_CALC) - printf("Last group's overhead is %llu\n", overhead); -#endif + overhead = META_OVERHEAD(fs); /* * if this is the case then the last group is going to have data in it * so we need to adjust the size of the last group accordingly */ if (last_start < data_needed) { - blk64_t remainder = data_needed - last_start; + blk_t remainder = data_needed - last_start; -#ifdef RESIZE2FS_DEBUG - if (flags & RESIZE_DEBUG_MIN_CALC) - printf("Need %llu data blocks in last group\n", - remainder); -#endif /* * 50 is a magic number that mkfs/resize uses to see if its * even worth making/resizing the fs. basically you need to @@ -2219,11 +2034,8 @@ blk64_t calculate_minimum_resize_size(ext2_filsys fs, int flags) } else overhead += 50; - overhead += fs->super->s_first_data_block; -#ifdef RESIZE2FS_DEBUG - if (flags & RESIZE_DEBUG_MIN_CALC) - printf("Final size of last group is %lld\n", overhead); -#endif + if (ext2fs_bg_has_super(fs, groups-1)) + overhead += SUPER_OVERHEAD(fs); /* * since our last group doesn't have to be BLOCKS_PER_GROUP large, we @@ -2233,40 +2045,19 @@ blk64_t calculate_minimum_resize_size(ext2_filsys fs, int flags) blks_needed = (groups-1) * EXT2_BLOCKS_PER_GROUP(fs->super); blks_needed += overhead; - /* - * Make sure blks_needed covers the end of the inode table in - * the last block group. - */ - overhead = ext2fs_inode_table_loc(fs, groups-1) + - fs->inode_blocks_per_group; - if (blks_needed < overhead) - blks_needed = overhead; - -#ifdef RESIZE2FS_DEBUG - if (flags & RESIZE_DEBUG_MIN_CALC) - printf("Estimated blocks needed: %llu\n", blks_needed); -#endif - /* * If at this point we've already added up more "needed" than * the current size, just return current size as minimum. */ - if (blks_needed >= ext2fs_blocks_count(fs->super)) - return ext2fs_blocks_count(fs->super); + if (blks_needed >= fs->super->s_blocks_count) + return fs->super->s_blocks_count; /* * We need to reserve a few extra blocks if extents are * enabled, in case we need to grow the extent tree. The more * we shrink the file system, the more space we need. */ - if (fs->super->s_feature_incompat & EXT3_FEATURE_INCOMPAT_EXTENTS) { - blk64_t safe_margin = (ext2fs_blocks_count(fs->super) - - blks_needed)/500; -#ifdef RESIZE2FS_DEBUG - if (flags & RESIZE_DEBUG_MIN_CALC) - printf("Extents safety margin: %llu\n", safe_margin); -#endif - blks_needed += safe_margin; - } + if (fs->super->s_feature_incompat & EXT3_FEATURE_INCOMPAT_EXTENTS) + blks_needed += (fs->super->s_blocks_count - blks_needed)/500; return blks_needed; } diff --git a/resize/resize2fs.h b/resize/resize2fs.h index 7aeab919..fab7290f 100644 --- a/resize/resize2fs.h +++ b/resize/resize2fs.h @@ -76,26 +76,10 @@ typedef struct ext2_sim_progress *ext2_sim_progmeter; #define RESIZE_DEBUG_BMOVE 0x0002 #define RESIZE_DEBUG_INODEMAP 0x0004 #define RESIZE_DEBUG_ITABLEMOVE 0x0008 -#define RESIZE_DEBUG_RTRACK 0x0010 -#define RESIZE_DEBUG_MIN_CALC 0x0020 #define RESIZE_PERCENT_COMPLETE 0x0100 #define RESIZE_VERBOSE 0x0200 -/* - * This structure is used for keeping track of how much resources have - * been used for a particular resize2fs pass. - */ -struct resource_track { - const char *desc; - struct timeval time_start; - struct timeval user_start; - struct timeval system_start; - void *brk_start; - unsigned long long bytes_read; - unsigned long long bytes_written; -}; - /* * The core state structure for the ext2 resizer */ @@ -108,14 +92,14 @@ struct ext2_resize_struct { ext2fs_block_bitmap move_blocks; ext2_extent bmap; ext2_extent imap; - blk64_t needed_blocks; + int needed_blocks; int flags; char *itable_buf; /* * For the block allocator */ - blk64_t new_blk; + blk_t new_blk; int alloc_state; /* @@ -138,41 +122,31 @@ struct ext2_resize_struct { /* prototypes */ -extern errcode_t resize_fs(ext2_filsys fs, blk64_t *new_size, int flags, +extern errcode_t resize_fs(ext2_filsys fs, blk_t *new_size, int flags, errcode_t (*progress)(ext2_resize_t rfs, int pass, unsigned long cur, unsigned long max)); extern errcode_t adjust_fs_info(ext2_filsys fs, ext2_filsys old_fs, ext2fs_block_bitmap reserve_blocks, - blk64_t new_size); -extern blk64_t calculate_minimum_resize_size(ext2_filsys fs, int flags); + blk_t new_size); +extern blk_t calculate_minimum_resize_size(ext2_filsys fs); /* extent.c */ extern errcode_t ext2fs_create_extent_table(ext2_extent *ret_extent, - __u64 size); + int size); extern void ext2fs_free_extent_table(ext2_extent extent); extern errcode_t ext2fs_add_extent_entry(ext2_extent extent, - __u64 old_loc, __u64 new_loc); -extern __u64 ext2fs_extent_translate(ext2_extent extent, __u64 old_loc); + __u32 old_loc, __u32 new_loc); +extern __u32 ext2fs_extent_translate(ext2_extent extent, __u32 old_loc); extern void ext2fs_extent_dump(ext2_extent extent, FILE *out); -extern errcode_t ext2fs_iterate_extent(ext2_extent extent, __u64 *old_loc, - __u64 *new_loc, __u64 *size); - -/* main.c */ -extern char *program_name; +extern errcode_t ext2fs_iterate_extent(ext2_extent extent, __u32 *old_loc, + __u32 *new_loc, int *size); /* online.c */ extern errcode_t online_resize_fs(ext2_filsys fs, const char *mtpt, - blk64_t *new_size, int flags); - -/* resource_track.c */ -extern void init_resource_track(struct resource_track *track, const char *desc, - io_channel channel); -extern void print_resource_track(ext2_resize_t rfs, - struct resource_track *track, - io_channel channel); + blk_t *new_size, int flags); /* sim_progress.c */ extern errcode_t ext2fs_progress_init(ext2_sim_progmeter *ret_prog, diff --git a/resize/resource_track.c b/resize/resource_track.c deleted file mode 100644 index 7908c951..00000000 --- a/resize/resource_track.c +++ /dev/null @@ -1,127 +0,0 @@ -/* - * resource_track.c --- resource tracking - * - * Copyright (C) 2013 by Theodore Ts'o - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - */ - - -#include "resize2fs.h" -#include -#ifdef HAVE_MALLOC_H -#include -#endif -#include - -void init_resource_track(struct resource_track *track, const char *desc, - io_channel channel) -{ -#ifdef HAVE_GETRUSAGE - struct rusage r; -#endif - io_stats io_start = 0; - - track->desc = desc; - track->brk_start = sbrk(0); - gettimeofday(&track->time_start, 0); -#ifdef HAVE_GETRUSAGE -#ifdef sun - memset(&r, 0, sizeof(struct rusage)); -#endif - getrusage(RUSAGE_SELF, &r); - track->user_start = r.ru_utime; - track->system_start = r.ru_stime; -#else - track->user_start.tv_sec = track->user_start.tv_usec = 0; - track->system_start.tv_sec = track->system_start.tv_usec = 0; -#endif - track->bytes_read = 0; - track->bytes_written = 0; - if (channel && channel->manager && channel->manager->get_stats) - channel->manager->get_stats(channel, &io_start); - if (io_start) { - track->bytes_read = io_start->bytes_read; - track->bytes_written = io_start->bytes_written; - } -} - -static float timeval_subtract(struct timeval *tv1, - struct timeval *tv2) -{ - return ((tv1->tv_sec - tv2->tv_sec) + - ((float) (tv1->tv_usec - tv2->tv_usec)) / 1000000); -} - -void print_resource_track(ext2_resize_t rfs, struct resource_track *track, - io_channel channel) -{ -#ifdef HAVE_GETRUSAGE - struct rusage r; -#endif -#ifdef HAVE_MALLINFO - struct mallinfo malloc_info; -#endif - struct timeval time_end; - - if ((rfs->flags & RESIZE_DEBUG_RTRACK) == 0) - return; - - gettimeofday(&time_end, 0); - - if (track->desc) - printf("%s: ", track->desc); - -#ifdef HAVE_MALLINFO -#define kbytes(x) (((unsigned long)(x) + 1023) / 1024) - - malloc_info = mallinfo(); - printf("Memory used: %luk/%luk (%luk/%luk), ", - kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd), - kbytes(malloc_info.uordblks), kbytes(malloc_info.fordblks)); -#else - printf("Memory used: %lu, ", - (unsigned long) (((char *) sbrk(0)) - - ((char *) track->brk_start))); -#endif -#ifdef HAVE_GETRUSAGE - getrusage(RUSAGE_SELF, &r); - - printf("time: %5.2f/%5.2f/%5.2f\n", - timeval_subtract(&time_end, &track->time_start), - timeval_subtract(&r.ru_utime, &track->user_start), - timeval_subtract(&r.ru_stime, &track->system_start)); -#else - printf("elapsed time: %6.3f\n", - timeval_subtract(&time_end, &track->time_start)); -#endif -#define mbytes(x) (((x) + 1048575) / 1048576) - if (channel && channel->manager && channel->manager->get_stats) { - io_stats delta = 0; - unsigned long long bytes_read = 0; - unsigned long long bytes_written = 0; - - channel->manager->get_stats(channel, &delta); - if (delta) { - bytes_read = delta->bytes_read - track->bytes_read; - bytes_written = delta->bytes_written - - track->bytes_written; - if (bytes_read == 0 && bytes_written == 0) - goto skip_io; - if (track->desc) - printf("%s: ", track->desc); - printf("I/O read: %lluMB, write: %lluMB, " - "rate: %.2fMB/s\n", - mbytes(bytes_read), - mbytes(bytes_written), - (double)mbytes(bytes_read + bytes_written) / - timeval_subtract(&time_end, &track->time_start)); - } - } -skip_io: - fflush(stdout); -} - diff --git a/resize/test-resize b/resize/test-resize deleted file mode 100755 index 3766f4fa..00000000 --- a/resize/test-resize +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh - -FS=/bigscratch/testfs -FEATURE="-O 64bit" - -RESIZE2FS=/tmp/resize2fs.static -MKE2FS=mke2fs -DUMPE2FS=dumpe2fs -E2FSCK=e2fsck - -/bin/rm -f $FS ; touch $FS -truncate -s 8T $FS -$MKE2FS -F -t ext4 $FEATURE $FS -$E2FSCK -FY $FS -$DUMPE2FS $FS > /tmp/d1 - -truncate -s 20T $FS -time $RESIZE2FS -d 31 -p $FS > /tmp/r1 -$DUMPE2FS $FS > /tmp/d2 -$E2FSCK -fy $FS -$DUMPE2FS $FS > /tmp/d3 - -truncate -s 21T $FS -time $RESIZE2FS -d 31 -p $FS > /tmp/r2 -$DUMPE2FS $FS > /tmp/d4 -$E2FSCK -fy $FS -$DUMPE2FS $FS > /tmp/d5 diff --git a/resize/test_extent.c b/resize/test_extent.c index a8678f1f..887b4760 100644 --- a/resize/test_extent.c +++ b/resize/test_extent.c @@ -20,8 +20,8 @@ void do_test(FILE *in, FILE *out) { char buf[128]; char *cp, *cmd, *arg1, *arg2; - __u64 num1, num2; - __u64 size; + __u32 num1, num2; + int size; errcode_t retval; ext2_extent extent = 0; const char *no_table = "# No extent table\n"; @@ -87,7 +87,7 @@ void do_test(FILE *in, FILE *out) goto handle_error; } else if (!strcmp(cmd, "lookup")) { num2 = ext2fs_extent_translate(extent, num1); - fprintf(out, "# Answer: %llu%s\n", num2, + fprintf(out, "# Answer: %u%s\n", num2, num2 ? "" : " (not found)"); } else if (!strcmp(cmd, "dump")) { ext2fs_extent_dump(extent, out); @@ -102,7 +102,7 @@ void do_test(FILE *in, FILE *out) goto handle_error; if (!size) break; - fprintf(out, "# %llu -> %llu (%llu)\n", + fprintf(out, "# %u -> %u (%d)\n", num1, num2, size); } } else diff --git a/tests/Makefile.in b/tests/Makefile.in index 37a043ea..148813e9 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -11,46 +11,33 @@ INSTALL = @INSTALL@ @MCONFIG@ -all:: @DO_TEST_SUITE@ test_one test_script +all:: @DO_TEST_SUITE@ -test_one: $(srcdir)/test_one.in Makefile mke2fs.conf - @echo "Creating test_one script..." - @echo "#!/bin/sh" > test_one -@HTREE_CMT@ @echo "HTREE=y" >> test_one -@QUOTA_CMT@ @echo "QUOTA=y" >> test_one - @echo "SRCDIR=@srcdir@" >> test_one - @echo "DIFF_OPTS=@UNI_DIFF_OPTS@" >> test_one - @cat $(srcdir)/test_one.in >> test_one - @chmod +x test_one - -test_script: test_one test_script.in Makefile mke2fs.conf +test_script: test_script.in Makefile mke2fs.conf @echo "Creating test_script..." @echo "#!/bin/sh" > test_script +@HTREE_CMT@ @echo "HTREE=y" >> test_script + @echo 'EGREP="@EGREP@"' >> test_script @echo "SRCDIR=@srcdir@" >> test_script + @echo "DIFF_OPTS=@UNI_DIFF_OPTS@" >> test_script @cat $(srcdir)/test_script.in >> test_script @chmod +x test_script mke2fs.conf: $(srcdir)/mke2fs.conf.in $(CP) $(srcdir)/mke2fs.conf.in mke2fs.conf -.PHONY : test_pre test_post check always_run - -TESTS=$(wildcard $(srcdir)/[a-z]_*) -$(TESTS):: test_one always_run - @./test_one $@ - -test_pre: - @$(RM) -f *.failed +check:: test_script @echo "Running e2fsprogs test suite..." @echo " " + @./test_script -test_post: test_pre $(TESTS) - @$(srcdir)/test_post - -check:: test_pre test_post test_script - -check-failed: $(basename $(wildcard *.failed)) - @$(srcdir)/test_post +check-failed: + @a=`/bin/ls *.failed 2> /dev/null | sed -e 's/.failed//'`; \ + if test "$$a"x == x ; then \ + echo "No failed tests" ; \ + else \ + ./test_script $$a ; \ + fi TDIR=f_testnew @@ -59,7 +46,7 @@ testnew: @echo "Creating a new e2fsck testcase in ${TDIR}" @mkdir -p ${TDIR} dd if=/dev/zero of=${TDIR}/image bs=1k count=8k - $(top_srcdir)/misc/mke2fs -j -F -N 256 ${TDIR}/image + mke2fs -j -F -N 256 ${TDIR}/image @echo "new test description" > ${TDIR}/name @echo; echo; echo "New test filesystem at ${TDIR}/image." @echo "Now, break the filesystem as appropriate, and run 'make testend'" @@ -67,9 +54,9 @@ testnew: EXPECT1=${TDIR}/expect.1 EXPECT2=${TDIR}/expect.2 # Target which generates the expect files for the new testcase. -testend: test_one ${TDIR}/image +testend: test_script ${TDIR}/image gzip -9 ${TDIR}/image - @OUT1=${EXPECT1} OUT2=${EXPECT2} ./test_one ${TDIR} + @OUT1=${EXPECT1} OUT2=${EXPECT2} ./test_script ${TDIR} @echo; echo; echo "*** output from first e2fsck run (${EXPECT1}) ***" @cat ${EXPECT1} @echo "*** output from second e2fsck run (${EXPECT2}) ***" @@ -79,7 +66,7 @@ testend: test_one ${TDIR}/image @echo "If all is well, edit ${TDIR}/name and rename ${TDIR}." clean:: - $(RM) -f *~ *.log *.new *.failed *.ok *.tmp test_one test_script mke2fs.conf + $(RM) -f *~ *.log *.new *.failed *.ok test.img test_script mke2fs.conf distclean:: clean $(RM) -f Makefile diff --git a/tests/d_loaddump/expect b/tests/d_loaddump/expect index f70df88d..f66e2183 100644 --- a/tests/d_loaddump/expect +++ b/tests/d_loaddump/expect @@ -1,7 +1,7 @@ debugfs load/dump test -mke2fs -Fq -b 1024 test.img 512 +mke2fs -Fq -b 1024 ./test.img 512 Exit status is 0 -debugfs -R ''write d_loaddump.tmp test_data'' -w test.img +debugfs -R ''write test.data test_data'' -w ./test.img Allocated inode: 12 Exit status is 0 e2fsck -yf -N test_filesys @@ -12,7 +12,7 @@ Pass 4: Checking reference counts Pass 5: Checking group summary information test_filesys: 12/64 files (0.0% non-contiguous), 158/512 blocks Exit status is 0 -debugfs -R ''dump test_data d_loaddump.ver.tmp'' test.img +debugfs -R ''dump test_data test.verify'' ./test.img Exit status is 0 -cmp d_loaddump.tmp d_loaddump.ver.tmp +cmp test.data test.verify Exit status is 0 diff --git a/tests/d_loaddump/script b/tests/d_loaddump/script index 39727ba6..70dfdef3 100644 --- a/tests/d_loaddump/script +++ b/tests/d_loaddump/script @@ -1,17 +1,15 @@ -if test -x $DEBUGFS_EXE; then - OUT=$test_name.log EXP=$test_dir/expect VERIFY_FSCK_OPT=-yf -TEST_DATA=$test_name.tmp -VERIFY_DATA=$test_name.ver.tmp +TEST_DATA=test.data +VERIFY_DATA=test.verify echo "debugfs load/dump test" > $OUT dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1 -echo "mke2fs -Fq -b 1024 test.img 512" >> $OUT +echo "mke2fs -Fq -b 1024 $TMPFILE 512" >> $OUT $MKE2FS -Fq $TMPFILE 512 > /dev/null 2>&1 status=$? @@ -20,23 +18,23 @@ echo Exit status is $status >> $OUT dd if=$TEST_BITS of=$TEST_DATA bs=128k count=1 conv=sync > /dev/null 2>&1 echo "file fragment odd size" >> $TEST_DATA -echo "debugfs -R ''write $TEST_DATA test_data'' -w test.img" > $OUT.new +echo "debugfs -R ''write $TEST_DATA test_data'' -w $TMPFILE" > $OUT.new $DEBUGFS -R "write $TEST_DATA test_data" -w $TMPFILE >> $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '2d' $OUT.new >> $OUT echo e2fsck $VERIFY_FSCK_OPT -N test_filesys > $OUT.new $FSCK $VERIFY_FSCK_OPT -N test_filesys $TMPFILE >> $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '2d' $OUT.new >> $OUT -echo "debugfs -R ''dump test_data $VERIFY_DATA'' test.img" > $OUT.new +echo "debugfs -R ''dump test_data $VERIFY_DATA'' $TMPFILE" > $OUT.new $DEBUGFS -R "dump test_data $VERIFY_DATA" $TMPFILE >> $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '2d' $OUT.new >> $OUT echo "cmp $TEST_DATA $VERIFY_DATA" >> $OUT cmp $TEST_DATA $VERIFY_DATA >>$OUT @@ -47,20 +45,17 @@ echo Exit status is $status >> $OUT # Do the verification # -rm -f $VERIFY_DATA $TEST_DATA $TMPFILE $OUT.new +rm -f $test_name.ok $test_name.failed $VERIFY_DATA $TEST_DATA $TMPFILE cmp -s $OUT $EXP status=$? if [ "$status" = 0 ] ; then - echo "$test_name: $test_description: ok" + echo "ok" touch $test_name.ok else - echo "$test_name: $test_description: failed" + echo "failed" diff $DIFF_OPTS $EXP $OUT > $test_name.failed fi unset VERIFY_FSCK_OPT NATIVE_FSCK_OPT OUT EXP TEST_DATA VERIFY_DATA -else #if test -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi diff --git a/tests/d_special_files/expect b/tests/d_special_files/expect deleted file mode 100644 index 2b2dbfaa..00000000 --- a/tests/d_special_files/expect +++ /dev/null @@ -1,85 +0,0 @@ -debugfs create special files -mke2fs -Fq -b 1024 test.img 512 -Exit status is 0 -debugfs -R ''stat foo'' -w test.img -Inode: 12 Type: symlink Mode: 0777 Flags: 0x0 -Generation: 0 Version: 0x00000000 -User: 0 Group: 0 Size: 3 -File ACL: 0 Directory ACL: 0 -Links: 1 Blockcount: 0 -Fragment: Address: 0 Number: 0 Size: 0 -ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -Fast_link_dest: bar -Exit status is 0 -debugfs -R ''stat foo2'' -w test.img -Inode: 13 Type: symlink Mode: 0777 Flags: 0x0 -Generation: 0 Version: 0x00000000 -User: 0 Group: 0 Size: 80 -File ACL: 0 Directory ACL: 0 -Links: 1 Blockcount: 2 -Fragment: Address: 0 Number: 0 Size: 0 -ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -BLOCKS: -(0):28 -TOTAL: 1 - -Exit status is 0 -debugfs -R ''block_dump 28'' -w test.img -0000 3132 3334 3536 3738 3930 3132 3334 3536 1234567890123456 -0020 3738 3930 3132 3334 3536 3738 3930 3132 7890123456789012 -0040 3334 3536 3738 3930 3132 3334 3536 3738 3456789012345678 -0060 3930 3132 3334 3536 3738 3930 3132 3334 9012345678901234 -0100 3536 3738 3930 3132 3334 3536 3738 3930 5678901234567890 -0120 0000 0000 0000 0000 0000 0000 0000 0000 ................ -* - -Exit status is 0 -debugfs -R ''stat pipe'' -w test.img -Inode: 14 Type: FIFO Mode: 0000 Flags: 0x0 -Generation: 0 Version: 0x00000000 -User: 0 Group: 0 Size: 0 -File ACL: 0 Directory ACL: 0 -Links: 1 Blockcount: 0 -Fragment: Address: 0 Number: 0 Size: 0 -ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -BLOCKS: - -Exit status is 0 -debugfs -R ''stat sda'' -w test.img -Inode: 15 Type: block special Mode: 0000 Flags: 0x0 -Generation: 0 Version: 0x00000000 -User: 0 Group: 0 Size: 0 -File ACL: 0 Directory ACL: 0 -Links: 1 Blockcount: 0 -Fragment: Address: 0 Number: 0 Size: 0 -ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -Device major/minor number: 08:00 (hex 08:00) -Exit status is 0 -debugfs -R ''stat null'' -w test.img -Inode: 16 Type: character special Mode: 0000 Flags: 0x0 -Generation: 0 Version: 0x00000000 -User: 0 Group: 0 Size: 0 -File ACL: 0 Directory ACL: 0 -Links: 1 Blockcount: 0 -Fragment: Address: 0 Number: 0 Size: 0 -ctime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -atime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -mtime: 0x50f560e0 -- Tue Jan 15 14:00:00 2013 -Device major/minor number: 01:03 (hex 01:03) -Exit status is 0 -e2fsck -yf -N test_filesys -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 16/64 files (0.0% non-contiguous), 29/512 blocks -Exit status is 0 diff --git a/tests/d_special_files/name b/tests/d_special_files/name deleted file mode 100644 index 98d10d23..00000000 --- a/tests/d_special_files/name +++ /dev/null @@ -1 +0,0 @@ -create special files in debugfs diff --git a/tests/d_special_files/script b/tests/d_special_files/script deleted file mode 100644 index 1a1999a0..00000000 --- a/tests/d_special_files/script +++ /dev/null @@ -1,94 +0,0 @@ -if test -x $DEBUGFS_EXE; then - -OUT=$test_name.log -EXP=$test_dir/expect -VERIFY_FSCK_OPT=-yf - -TEST_DATA=$test_name.tmp -VERIFY_DATA=$test_name.ver.tmp - -echo "debugfs create special files" > $OUT - -dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1 - -echo "mke2fs -Fq -b 1024 test.img 512" >> $OUT - -$MKE2FS -Fq $TMPFILE 512 > /dev/null 2>&1 -status=$? -echo Exit status is $status >> $OUT - -$DEBUGFS -w $TMPFILE << EOF > /dev/null 2>&1 -set_current_time 201301151400 -set_super_value lastcheck 0 -set_super_value hash_seed null -set_super_value mkfs_time 0 -symlink foo bar -symlink foo2 12345678901234567890123456789012345678901234567890123456789012345678901234567890 -mknod pipe p -mknod sda b 8 0 -mknod null c 1 3 -EOF - -echo "debugfs -R ''stat foo'' -w test.img" > $OUT.new -$DEBUGFS -R "stat foo" -w $TMPFILE >> $OUT.new 2>&1 -status=$? -echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT - -echo "debugfs -R ''stat foo2'' -w test.img" > $OUT.new -$DEBUGFS -R "stat foo2" -w $TMPFILE >> $OUT.new 2>&1 -status=$? -echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT - -echo "debugfs -R ''block_dump 28'' -w test.img" > $OUT.new -$DEBUGFS -R "block_dump 28" -w $TMPFILE >> $OUT.new 2>&1 -status=$? -echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT - -echo "debugfs -R ''stat pipe'' -w test.img" > $OUT.new -$DEBUGFS -R "stat pipe" -w $TMPFILE >> $OUT.new 2>&1 -status=$? -echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT - -echo "debugfs -R ''stat sda'' -w test.img" > $OUT.new -$DEBUGFS -R "stat sda" -w $TMPFILE >> $OUT.new 2>&1 -status=$? -echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT - -echo "debugfs -R ''stat null'' -w test.img" > $OUT.new -$DEBUGFS -R "stat null" -w $TMPFILE >> $OUT.new 2>&1 -status=$? -echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT - -echo e2fsck $VERIFY_FSCK_OPT -N test_filesys > $OUT.new -$FSCK $VERIFY_FSCK_OPT -N test_filesys $TMPFILE >> $OUT.new 2>&1 -status=$? -echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT - -# -# Do the verification -# - -rm -f $TMPFILE $OUT.new -cmp -s $OUT $EXP -status=$? - -if [ "$status" = 0 ] ; then - echo "$test_name: $test_description: ok" - touch $test_name.ok -else - echo "$test_name: $test_description: failed" - diff $DIFF_OPTS $EXP $OUT > $test_name.failed -fi - -unset VERIFY_FSCK_OPT NATIVE_FSCK_OPT OUT EXP TEST_DATA VERIFY_DATA - -else #if test -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi diff --git a/tests/defaults/e_script b/tests/defaults/e_script index 8c9cfb6a..b9150ba7 100644 --- a/tests/defaults/e_script +++ b/tests/defaults/e_script @@ -37,10 +37,10 @@ status=$? rm -f $test_name.failed $test_name.ok if [ "$status" = 0 ] ; then - echo "$test_name: $test_description: ok" + echo "ok" touch $test_name.ok else - echo "$test_name: $test_description: failed" + echo "failed" diff $DIFF_OPTS $EXPECT $OUT > $test_name.failed fi diff --git a/tests/e_brel_bma/script b/tests/e_brel_bma/script index 037e2fb0..c046675e 100644 --- a/tests/e_brel_bma/script +++ b/tests/e_brel_bma/script @@ -1 +1,2 @@ -echo "$test_name: $test_description: skipped" +rm -f $test_name.ok $test_name.failed +echo "skipped" diff --git a/tests/e_icount_normal/name b/tests/e_icount_normal/name index 13178768..eafa8020 100644 --- a/tests/e_icount_normal/name +++ b/tests/e_icount_normal/name @@ -1 +1 @@ -inode counting structure optimized for low counts +inode counting abstraction optimized for storing inode counts diff --git a/tests/e_irel_ima/script b/tests/e_irel_ima/script index 037e2fb0..c046675e 100644 --- a/tests/e_irel_ima/script +++ b/tests/e_irel_ima/script @@ -1 +1,2 @@ -echo "$test_name: $test_description: skipped" +rm -f $test_name.ok $test_name.failed +echo "skipped" diff --git a/tests/f_bad_disconnected_inode/expect.1 b/tests/f_bad_disconnected_inode/expect.1 index 11862f65..d3920e30 100644 --- a/tests/f_bad_disconnected_inode/expect.1 +++ b/tests/f_bad_disconnected_inode/expect.1 @@ -2,12 +2,21 @@ Pass 1: Checking inodes, blocks, and sizes Inode 1 has EXTENTS_FL flag set on filesystem without extents support. Clear? yes +Inode 9 should not have EOFBLOCKS_FL set (size 0, lblk -1) +Clear? yes + +Inode 10 should not have EOFBLOCKS_FL set (size 0, lblk -1) +Clear? yes + Inode 15 has EXTENTS_FL flag set on filesystem without extents support. Clear? yes Inode 16 has EXTENTS_FL flag set on filesystem without extents support. Clear? yes +Inode 13 should not have EOFBLOCKS_FL set (size 0, lblk -1) +Clear? yes + Pass 2: Checking directory structure Pass 3: Checking directory connectivity /lost+found not found. Create? yes diff --git a/tests/f_baddir/expect.1 b/tests/f_baddir/expect.1 index cf46a60c..39735061 100644 --- a/tests/f_baddir/expect.1 +++ b/tests/f_baddir/expect.1 @@ -39,9 +39,6 @@ Pass 5: Checking group summary information Block bitmap differences: -22 Fix? yes -Free blocks count wrong (74, counted=75). -Fix? yes - Inode bitmap differences: -13 Fix? yes diff --git a/tests/f_badroot/expect.1 b/tests/f_badroot/expect.1 index f9d01e57..66ff32ee 100644 --- a/tests/f_badroot/expect.1 +++ b/tests/f_badroot/expect.1 @@ -4,7 +4,7 @@ Pass 1: Checking inodes, blocks, and sizes Root inode is not a directory. Clear? yes Pass 2: Checking directory structure -Entry '..' in <2>/<11> (11) has deleted/unused inode 2. Clear? yes +Entry '..' in ??? (11) has deleted/unused inode 2. Clear? yes Pass 3: Checking directory connectivity Root inode not allocated. Allocate? yes diff --git a/tests/f_crashdisk/expect.1 b/tests/f_crashdisk/expect.1 index 70ddf2ec..b6fd71a8 100644 --- a/tests/f_crashdisk/expect.1 +++ b/tests/f_crashdisk/expect.1 @@ -1,6 +1,5 @@ -ext2fs_open2: The ext2 superblock is corrupt ../e2fsck/e2fsck: Superblock invalid, trying backup blocks... -../e2fsck/e2fsck: The ext2 superblock is corrupt while trying to open test.img +../e2fsck/e2fsck: The ext2 superblock is corrupt while trying to open ./test.img The superblock could not be read or does not describe a correct ext2 filesystem. If the device is valid and it really contains an ext2 diff --git a/tests/f_desc_size_128/expect.1 b/tests/f_desc_size_128/expect.1 deleted file mode 100644 index a62f112e..00000000 --- a/tests/f_desc_size_128/expect.1 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 11/256 files (0.0% non-contiguous), 150/8192 blocks -Exit status is 0 diff --git a/tests/f_desc_size_128/expect.2 b/tests/f_desc_size_128/expect.2 deleted file mode 100644 index a62f112e..00000000 --- a/tests/f_desc_size_128/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 11/256 files (0.0% non-contiguous), 150/8192 blocks -Exit status is 0 diff --git a/tests/f_desc_size_128/image.gz b/tests/f_desc_size_128/image.gz deleted file mode 100644 index eda0cabc..00000000 Binary files a/tests/f_desc_size_128/image.gz and /dev/null differ diff --git a/tests/f_desc_size_128/name b/tests/f_desc_size_128/name deleted file mode 100644 index f09e003e..00000000 --- a/tests/f_desc_size_128/name +++ /dev/null @@ -1 +0,0 @@ -128-byte group descriptors diff --git a/tests/f_desc_size_bad/expect.1 b/tests/f_desc_size_bad/expect.1 deleted file mode 100644 index 009ee041..00000000 --- a/tests/f_desc_size_bad/expect.1 +++ /dev/null @@ -1,11 +0,0 @@ -ext2fs_check_desc: Block group descriptor size incorrect -../e2fsck/e2fsck: Group descriptors look bad... trying backup blocks... -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information - -test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** -test_filesys: 11/32 files (0.0% non-contiguous), 801/2048 blocks -Exit status is 1 diff --git a/tests/f_desc_size_bad/expect.2 b/tests/f_desc_size_bad/expect.2 deleted file mode 100644 index d1429fdc..00000000 --- a/tests/f_desc_size_bad/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 11/32 files (0.0% non-contiguous), 801/2048 blocks -Exit status is 0 diff --git a/tests/f_desc_size_bad/script b/tests/f_desc_size_bad/script deleted file mode 100644 index 54403286..00000000 --- a/tests/f_desc_size_bad/script +++ /dev/null @@ -1,17 +0,0 @@ -if ! test -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" - return 0 -fi - -DESCRIPTION="bad superblock s_desc_size" -SKIP_GUNZIP=true -touch $TMPFILE -$MKE2FS -F -o Linux -O 64bit,extents -N 32 -b 1024 -g 512 -E desc_size=128 $TMPFILE 2048 > $test_name.log 2>&1 -$DEBUGFS -R "ssv desc_size 129" -w $TMPFILE >> $test_name.log 2>&1 - -E2FSCK_TIME=200704102100 -export E2FSCK_TIME - -. $cmd_dir/run_e2fsck - -unset E2FSCK_TIME diff --git a/tests/f_dup/expect.1 b/tests/f_dup/expect.1 index e7128f34..ce369062 100644 --- a/tests/f_dup/expect.1 +++ b/tests/f_dup/expect.1 @@ -27,7 +27,7 @@ Pass 5: Checking group summary information Free blocks count wrong for group #0 (44, counted=60). Fix? yes -Free blocks count wrong (62, counted=60). +Free blocks count wrong (44, counted=60). Fix? yes Padding at end of block bitmap is not set. Fix? yes diff --git a/tests/f_dup2/expect.1 b/tests/f_dup2/expect.1 index 0476005d..79a5f1a0 100644 --- a/tests/f_dup2/expect.1 +++ b/tests/f_dup2/expect.1 @@ -34,7 +34,7 @@ Pass 5: Checking group summary information Free blocks count wrong for group #0 (8, counted=22). Fix? yes -Free blocks count wrong (26, counted=22). +Free blocks count wrong (8, counted=22). Fix? yes Padding at end of block bitmap is not set. Fix? yes diff --git a/tests/f_dup4/script b/tests/f_dup4/script index 7c45bed9..350f88e6 100644 --- a/tests/f_dup4/script +++ b/tests/f_dup4/script @@ -1,7 +1,5 @@ -if test -x $DEBUGFS_EXE; then - SKIP_GUNZIP="true" -TEST_DATA="$test_name.tmp" +TEST_DATA="test.data" echo "/ Murphy Magic. The SeCrEt of the UnIvErSe is 43, NOT 42" > $TEST_DATA @@ -50,7 +48,3 @@ export E2FSCK_TIME rm -f $TEST_DATA unset E2FSCK_TIME TEST_DATA - -else #if test -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi diff --git a/tests/f_dup_ba/expect.1 b/tests/f_dup_ba/expect.1 deleted file mode 100644 index f0ad4570..00000000 --- a/tests/f_dup_ba/expect.1 +++ /dev/null @@ -1,69 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Inode 16, i_size is 8192, should be 409600. Fix? yes - -Inode 16, i_blocks is 128, should be 896. Fix? yes - - -Running additional passes to resolve blocks claimed by more than one inode... -Pass 1B: Rescanning for multiply-claimed blocks -Multiply-claimed block(s) in inode 16: 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 -Multiply-claimed block(s) in inode 17: 160 161 -Multiply-claimed block(s) in inode 18: 176 177 -Multiply-claimed block(s) in inode 19: 192 193 -Multiply-claimed block(s) in inode 20: 208 209 -Multiply-claimed block(s) in inode 21: 224 225 -Pass 1C: Scanning directories for inodes with multiply-claimed blocks -Pass 1D: Reconciling multiply-claimed blocks -(There are 6 inodes containing multiply-claimed blocks.) - -File /5 (inode #16, mod time Sun Nov 27 04:39:31 2011) - has 5 multiply-claimed block(s), shared with 5 file(s): - /10 (inode #21, mod time Sun Nov 27 04:39:36 2011) - /9 (inode #20, mod time Sun Nov 27 04:39:35 2011) - /8 (inode #19, mod time Sun Nov 27 04:39:34 2011) - /7 (inode #18, mod time Sun Nov 27 04:39:33 2011) - /6 (inode #17, mod time Sun Nov 27 04:39:32 2011) -Clone multiply-claimed blocks? yes - -File /6 (inode #17, mod time Sun Nov 27 04:39:32 2011) - has 1 multiply-claimed block(s), shared with 1 file(s): - /5 (inode #16, mod time Sun Nov 27 04:39:31 2011) -Multiply-claimed blocks already reassigned or cloned. - -File /7 (inode #18, mod time Sun Nov 27 04:39:33 2011) - has 1 multiply-claimed block(s), shared with 1 file(s): - /5 (inode #16, mod time Sun Nov 27 04:39:31 2011) -Multiply-claimed blocks already reassigned or cloned. - -File /8 (inode #19, mod time Sun Nov 27 04:39:34 2011) - has 1 multiply-claimed block(s), shared with 1 file(s): - /5 (inode #16, mod time Sun Nov 27 04:39:31 2011) -Multiply-claimed blocks already reassigned or cloned. - -File /9 (inode #20, mod time Sun Nov 27 04:39:35 2011) - has 1 multiply-claimed block(s), shared with 1 file(s): - /5 (inode #16, mod time Sun Nov 27 04:39:31 2011) -Multiply-claimed blocks already reassigned or cloned. - -File /10 (inode #21, mod time Sun Nov 27 04:39:36 2011) - has 1 multiply-claimed block(s), shared with 1 file(s): - /5 (inode #16, mod time Sun Nov 27 04:39:31 2011) -Multiply-claimed blocks already reassigned or cloned. - -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -Block bitmap differences: +240 -Fix? yes - -Free blocks count wrong for group #0 (49, counted=43). -Fix? yes - -Free blocks count wrong (784, counted=688). -Fix? yes - - -test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** -test_filesys: 21/64 files (0.0% non-contiguous), 336/1024 blocks -Exit status is 1 diff --git a/tests/f_dup_ba/expect.2 b/tests/f_dup_ba/expect.2 deleted file mode 100644 index ec04450b..00000000 --- a/tests/f_dup_ba/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 21/64 files (4.8% non-contiguous), 336/1024 blocks -Exit status is 0 diff --git a/tests/f_dup_ba/image.gz b/tests/f_dup_ba/image.gz deleted file mode 100644 index 4b318638..00000000 Binary files a/tests/f_dup_ba/image.gz and /dev/null differ diff --git a/tests/f_dup_ba/name b/tests/f_dup_ba/name deleted file mode 100644 index a1a8b809..00000000 --- a/tests/f_dup_ba/name +++ /dev/null @@ -1 +0,0 @@ -multiply claimed blocks with bigalloc diff --git a/tests/f_dup_de/script b/tests/f_dup_de/script index 60378cdc..84c8bfff 100644 --- a/tests/f_dup_de/script +++ b/tests/f_dup_de/script @@ -1,5 +1,3 @@ -if test -x $DEBUGFS_EXE; then - if test "$HTREE"x = x ; then gunzip < $test_dir/image.gz > $TMPFILE $DEBUGFS -w -R "feature ^dir_index" $TMPFILE >/dev/null 2>&1 @@ -10,7 +8,3 @@ if test "$HTREE"x = x ; then fi . $cmd_dir/run_e2fsck rm -f "$TMPFILE".gz - -else #if test -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi diff --git a/tests/f_dup_resize/script b/tests/f_dup_resize/script index 34ec4aea..7a5214c0 100644 --- a/tests/f_dup_resize/script +++ b/tests/f_dup_resize/script @@ -1,7 +1,5 @@ -if test -x $DEBUGFS_EXE; then - SKIP_GUNZIP="true" -TEST_DATA="$test_name.tmp" +TEST_DATA="test.data" dd if=$TEST_BITS of=$TEST_DATA bs=63k count=1 conv=sync > /dev/null 2>&1 @@ -24,7 +22,3 @@ export E2FSCK_TIME rm -f $TEST_DATA unset E2FSCK_TIME TEST_DATA - -else #if test -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi diff --git a/tests/f_dupdot/expect.1 b/tests/f_dupdot/expect.1 index afce8d6e..611f8701 100644 --- a/tests/f_dupdot/expect.1 +++ b/tests/f_dupdot/expect.1 @@ -1,9 +1,9 @@ Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure -Entry '.' in <14>/<12> (12) is duplicate '.' entry. +Entry '.' in ??? (12) is duplicate '.' entry. Fix? yes -Entry '..' in <14>/<12> (12) is duplicate '..' entry. +Entry '..' in ??? (12) is duplicate '..' entry. Fix? yes Pass 3: Checking directory connectivity diff --git a/tests/f_end-bitmap/expect.1 b/tests/f_end-bitmap/expect.1 index 87e2fd64..3348a2b3 100644 --- a/tests/f_end-bitmap/expect.1 +++ b/tests/f_end-bitmap/expect.1 @@ -8,6 +8,9 @@ Pass 5: Checking group summary information Free blocks count wrong for group #0 (44, counted=63). Fix? yes +Free blocks count wrong (44, counted=63). +Fix? yes + Padding at end of block bitmap is not set. Fix? yes diff --git a/tests/f_eofblocks/expect.1 b/tests/f_eofblocks/expect.1 deleted file mode 100644 index 2e9133e1..00000000 --- a/tests/f_eofblocks/expect.1 +++ /dev/null @@ -1,13 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Inode 30, i_size is 2048, should be 4096. Fix? yes - -Inode 31, i_size is 2048, should be 4096. Fix? yes - -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information - -test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** -test_filesys: 31/56 files (29.0% non-contiguous), 83/400 blocks -Exit status is 1 diff --git a/tests/f_eofblocks/expect.2 b/tests/f_eofblocks/expect.2 deleted file mode 100644 index 2a2bca5c..00000000 --- a/tests/f_eofblocks/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 31/56 files (29.0% non-contiguous), 83/400 blocks -Exit status is 0 diff --git a/tests/f_eofblocks/image.gz b/tests/f_eofblocks/image.gz deleted file mode 100644 index 2586a6a7..00000000 Binary files a/tests/f_eofblocks/image.gz and /dev/null differ diff --git a/tests/f_eofblocks/name b/tests/f_eofblocks/name deleted file mode 100644 index d93adc19..00000000 --- a/tests/f_eofblocks/name +++ /dev/null @@ -1 +0,0 @@ -blocks after i_size diff --git a/tests/f_expand/expect.1.gz b/tests/f_expand/expect.1.gz index 1015e155..91799bb0 100644 Binary files a/tests/f_expand/expect.1.gz and b/tests/f_expand/expect.1.gz differ diff --git a/tests/f_ext_journal/name b/tests/f_ext_journal/name deleted file mode 100644 index 10e950cf..00000000 --- a/tests/f_ext_journal/name +++ /dev/null @@ -1 +0,0 @@ -test external journal device diff --git a/tests/f_ext_zero_len/expect.1 b/tests/f_ext_zero_len/expect.1 deleted file mode 100644 index 40109b34..00000000 --- a/tests/f_ext_zero_len/expect.1 +++ /dev/null @@ -1,13 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Inode 12 has zero length extent - (invalid logical block 0, physical block 37) -Clear? yes - -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information - -test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** -test_filesys: 12/16 files (0.0% non-contiguous), 21/100 blocks -Exit status is 1 diff --git a/tests/f_ext_zero_len/expect.2 b/tests/f_ext_zero_len/expect.2 deleted file mode 100644 index 4ee5d96a..00000000 --- a/tests/f_ext_zero_len/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 12/16 files (0.0% non-contiguous), 21/100 blocks -Exit status is 0 diff --git a/tests/f_ext_zero_len/image.gz b/tests/f_ext_zero_len/image.gz deleted file mode 100644 index a03e5fd8..00000000 Binary files a/tests/f_ext_zero_len/image.gz and /dev/null differ diff --git a/tests/f_ext_zero_len/name b/tests/f_ext_zero_len/name deleted file mode 100644 index ada4a72f..00000000 --- a/tests/f_ext_zero_len/name +++ /dev/null @@ -1 +0,0 @@ -extent with zero length diff --git a/tests/f_extent_interior_start_lblk/expect.1 b/tests/f_extent_interior_start_lblk/expect.1 deleted file mode 100644 index f5b7d46a..00000000 --- a/tests/f_extent_interior_start_lblk/expect.1 +++ /dev/null @@ -1,12 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Interior extent node level 0 of inode 12: -Logical start 0 does not match logical start 2 at next level. Fix? yes - -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information - -test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** -test_filesys: 12/16 files (0.0% non-contiguous), 29/100 blocks -Exit status is 1 diff --git a/tests/f_extent_interior_start_lblk/expect.2 b/tests/f_extent_interior_start_lblk/expect.2 deleted file mode 100644 index 06c6082c..00000000 --- a/tests/f_extent_interior_start_lblk/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 12/16 files (0.0% non-contiguous), 29/100 blocks -Exit status is 0 diff --git a/tests/f_extent_interior_start_lblk/image.gz b/tests/f_extent_interior_start_lblk/image.gz deleted file mode 100644 index 0ed71286..00000000 Binary files a/tests/f_extent_interior_start_lblk/image.gz and /dev/null differ diff --git a/tests/f_extent_interior_start_lblk/name b/tests/f_extent_interior_start_lblk/name deleted file mode 100644 index fbd5f58f..00000000 --- a/tests/f_extent_interior_start_lblk/name +++ /dev/null @@ -1 +0,0 @@ -incorrect starting lblk in an interior node diff --git a/tests/f_extent_oobounds/expect.1 b/tests/f_extent_oobounds/expect.1 deleted file mode 100644 index 3164ea0e..00000000 --- a/tests/f_extent_oobounds/expect.1 +++ /dev/null @@ -1,24 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Inode 12, end of extent exceeds allowed value - (logical block 15, physical block 200, len 30) -Clear? yes - -Inode 12, i_blocks is 154, should be 94. Fix? yes - -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -Block bitmap differences: -(200--229) -Fix? yes - -Free blocks count wrong for group #0 (156, counted=186). -Fix? yes - -Free blocks count wrong (156, counted=186). -Fix? yes - - -test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** -test_filesys: 12/32 files (8.3% non-contiguous), 70/256 blocks -Exit status is 1 diff --git a/tests/f_extent_oobounds/expect.2 b/tests/f_extent_oobounds/expect.2 deleted file mode 100644 index 22c4f2cc..00000000 --- a/tests/f_extent_oobounds/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 12/32 files (8.3% non-contiguous), 70/256 blocks -Exit status is 0 diff --git a/tests/f_extent_oobounds/script b/tests/f_extent_oobounds/script deleted file mode 100644 index b00b031a..00000000 --- a/tests/f_extent_oobounds/script +++ /dev/null @@ -1,42 +0,0 @@ -if test -x $DEBUGFS_EXE; then - -SKIP_GUNZIP="true" -TEST_DATA="$test_name.tmp" - -dd if=/dev/zero of=$TMPFILE bs=1k count=256 > /dev/null 2>&1 -$MKE2FS -Ft ext4 $TMPFILE > /dev/null 2>&1 -$DEBUGFS -w $TMPFILE << EOF > /dev/null 2>&1 -write /dev/null testfile -extent_open testfile - insert_node 0 15 100 - insert_node --after 15 15 115 - insert_node --after 30 15 130 - insert_node --after 45 15 145 - split - down - split - root - down - next - replace_node 15 30 200 - extent_close -set_inode_field testfile i_size 61400 -set_inode_field testfile i_blocks 154 -setb 100 15 -setb 130 30 -setb 200 30 -set_bg 0 free_blocks_count 156 -set_bg 0 bg_checksum calc -set_super_value free_blocks_count 156 -q -EOF - -. $cmd_dir/run_e2fsck - -rm -f $TEST_DATA - -unset E2FSCK_TIME TEST_DATA - -else #if test -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi diff --git a/tests/f_h_badnode/script b/tests/f_h_badnode/script index e5fc6b2b..9eec0840 100644 --- a/tests/f_h_badnode/script +++ b/tests/f_h_badnode/script @@ -1,5 +1,6 @@ if test "$HTREE"x = yx ; then . $cmd_dir/run_e2fsck else - echo "$test_name: $test_description: skipped" + rm -f $test_name.ok $test_name.failed + echo "skipped" fi diff --git a/tests/f_h_badroot/script b/tests/f_h_badroot/script index e5fc6b2b..9eec0840 100644 --- a/tests/f_h_badroot/script +++ b/tests/f_h_badroot/script @@ -1,5 +1,6 @@ if test "$HTREE"x = yx ; then . $cmd_dir/run_e2fsck else - echo "$test_name: $test_description: skipped" + rm -f $test_name.ok $test_name.failed + echo "skipped" fi diff --git a/tests/f_h_normal/script b/tests/f_h_normal/script index e5fc6b2b..9eec0840 100644 --- a/tests/f_h_normal/script +++ b/tests/f_h_normal/script @@ -1,5 +1,6 @@ if test "$HTREE"x = yx ; then . $cmd_dir/run_e2fsck else - echo "$test_name: $test_description: skipped" + rm -f $test_name.ok $test_name.failed + echo "skipped" fi diff --git a/tests/f_h_reindex/script b/tests/f_h_reindex/script index e5fc6b2b..9eec0840 100644 --- a/tests/f_h_reindex/script +++ b/tests/f_h_reindex/script @@ -1,5 +1,6 @@ if test "$HTREE"x = yx ; then . $cmd_dir/run_e2fsck else - echo "$test_name: $test_description: skipped" + rm -f $test_name.ok $test_name.failed + echo "skipped" fi diff --git a/tests/f_h_unsigned/script b/tests/f_h_unsigned/script index e5fc6b2b..9eec0840 100644 --- a/tests/f_h_unsigned/script +++ b/tests/f_h_unsigned/script @@ -1,5 +1,6 @@ if test "$HTREE"x = yx ; then . $cmd_dir/run_e2fsck else - echo "$test_name: $test_description: skipped" + rm -f $test_name.ok $test_name.failed + echo "skipped" fi diff --git a/tests/f_illbbitmap/expect.1 b/tests/f_illbbitmap/expect.1 index 8746d23a..ae61bf52 100644 --- a/tests/f_illbbitmap/expect.1 +++ b/tests/f_illbbitmap/expect.1 @@ -1,4 +1,3 @@ -ext2fs_check_desc: Corrupt group descriptor: bad block for block bitmap Note: if several inode or block bitmap blocks or part of the inode table require relocation, you may wish to try running e2fsck with the '-b 8193' option first. The problem diff --git a/tests/f_illibitmap/expect.1 b/tests/f_illibitmap/expect.1 index 5bae25d1..2ed55b67 100644 --- a/tests/f_illibitmap/expect.1 +++ b/tests/f_illibitmap/expect.1 @@ -1,4 +1,3 @@ -ext2fs_check_desc: Corrupt group descriptor: bad block for inode bitmap Note: if several inode or block bitmap blocks or part of the inode table require relocation, you may wish to try running e2fsck with the '-b 8193' option first. The problem diff --git a/tests/f_illitable/expect.1 b/tests/f_illitable/expect.1 index 552a2e79..fbb3aefa 100644 --- a/tests/f_illitable/expect.1 +++ b/tests/f_illitable/expect.1 @@ -1,4 +1,3 @@ -ext2fs_check_desc: Corrupt group descriptor: bad block for inode table Note: if several inode or block bitmap blocks or part of the inode table require relocation, you may wish to try running e2fsck with the '-b 8193' option first. The problem diff --git a/tests/f_illitable_flexbg/expect.1 b/tests/f_illitable_flexbg/expect.1 index fa42a0f8..2d8bd0ce 100644 --- a/tests/f_illitable_flexbg/expect.1 +++ b/tests/f_illitable_flexbg/expect.1 @@ -1,15 +1,18 @@ -ext2fs_check_desc: Corrupt group descriptor: bad block for inode table ../e2fsck/e2fsck: Group descriptors look bad... trying backup blocks... +One or more block group descriptor checksums are invalid. Fix? yes + +Group descriptor 0 checksum is invalid. FIXED. Inode table for group 1 is not in group. (block 0) WARNING: SEVERE DATA LOSS POSSIBLE. Relocate? yes +Group descriptor 1 checksum is invalid. FIXED. +Group descriptor 2 checksum is invalid. FIXED. +Group descriptor 3 checksum is invalid. FIXED. Pass 1: Checking inodes, blocks, and sizes Relocating group 1's inode table to 142... Restarting e2fsck from the beginning... -One or more block group descriptor checksums are invalid. Fix? yes - -Group descriptor 1 checksum is 0x1cee, should be 0xf809. FIXED. +Group descriptor 1 checksum is invalid. FIXED. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity diff --git a/tests/f_imagic_fs/script b/tests/f_imagic_fs/script index 1060f04d..572ace15 100644 --- a/tests/f_imagic_fs/script +++ b/tests/f_imagic_fs/script @@ -1,9 +1,3 @@ -if test -x $DEBUGFS_EXE; then - IMAGE=$test_dir/../f_imagic/image.gz PREP_CMD='$DEBUGFS -w -R "feature imagic_inodes" $TMPFILE > /dev/null 2>&1' . $cmd_dir/run_e2fsck - -else #if test -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi diff --git a/tests/f_invalid_bad_inode/expect.1 b/tests/f_invalid_bad_inode/expect.1 deleted file mode 100644 index 5a37cb07..00000000 --- a/tests/f_invalid_bad_inode/expect.1 +++ /dev/null @@ -1,11 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -The bad block inode looks invalid. Clear? yes - -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information - -test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** -test_filesys: 11/16 files (0.0% non-contiguous), 21/100 blocks -Exit status is 1 diff --git a/tests/f_invalid_bad_inode/expect.2 b/tests/f_invalid_bad_inode/expect.2 deleted file mode 100644 index 41ceefb4..00000000 --- a/tests/f_invalid_bad_inode/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 11/16 files (0.0% non-contiguous), 21/100 blocks -Exit status is 0 diff --git a/tests/f_invalid_bad_inode/image.gz b/tests/f_invalid_bad_inode/image.gz deleted file mode 100644 index 5dac1470..00000000 Binary files a/tests/f_invalid_bad_inode/image.gz and /dev/null differ diff --git a/tests/f_invalid_bad_inode/name b/tests/f_invalid_bad_inode/name deleted file mode 100644 index f981e8d9..00000000 --- a/tests/f_invalid_bad_inode/name +++ /dev/null @@ -1 +0,0 @@ -check for bogus bad inode diff --git a/tests/f_invalid_extent_symlink/expect.1 b/tests/f_invalid_extent_symlink/expect.1 deleted file mode 100644 index 7bda0b73..00000000 --- a/tests/f_invalid_extent_symlink/expect.1 +++ /dev/null @@ -1,12 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Symlink /a (inode #12) is invalid. -Clear? yes - -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information - -test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** -test_filesys: 11/16 files (9.1% non-contiguous), 21/100 blocks -Exit status is 1 diff --git a/tests/f_invalid_extent_symlink/expect.2 b/tests/f_invalid_extent_symlink/expect.2 deleted file mode 100644 index 41ceefb4..00000000 --- a/tests/f_invalid_extent_symlink/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 11/16 files (0.0% non-contiguous), 21/100 blocks -Exit status is 0 diff --git a/tests/f_invalid_extent_symlink/image.gz b/tests/f_invalid_extent_symlink/image.gz deleted file mode 100644 index d4a6eef7..00000000 Binary files a/tests/f_invalid_extent_symlink/image.gz and /dev/null differ diff --git a/tests/f_invalid_extent_symlink/name b/tests/f_invalid_extent_symlink/name deleted file mode 100644 index 3792aac7..00000000 --- a/tests/f_invalid_extent_symlink/name +++ /dev/null @@ -1 +0,0 @@ -extent-mapped symlink with two blocks diff --git a/tests/f_jnl_32bit/expect.0 b/tests/f_jnl_32bit/expect.0 deleted file mode 100644 index b7de48ea..00000000 --- a/tests/f_jnl_32bit/expect.0 +++ /dev/null @@ -1,567 +0,0 @@ -Journal starts at block 1, transaction 2 -Found expected sequence 2, type 1 (descriptor block) at block 1 -Dumping descriptor block, sequence 2, at block 1: - FS block 2 logged at journal block 2 (flags 0x8) -Found expected sequence 2, type 2 (commit block) at block 3 -Found expected sequence 3, type 1 (descriptor block) at block 4 -Dumping descriptor block, sequence 3, at block 4: - FS block 82 logged at journal block 5 (flags 0x0) - FS block 2 logged at journal block 6 (flags 0x2) - FS block 99 logged at journal block 7 (flags 0x2) - FS block 66 logged at journal block 8 (flags 0x2) - FS block 81 logged at journal block 9 (flags 0x2) - FS block 98 logged at journal block 10 (flags 0x2) - FS block 68 logged at journal block 11 (flags 0x2) - FS block 83 logged at journal block 12 (flags 0x2) - FS block 354 logged at journal block 13 (flags 0x2) - FS block 84 logged at journal block 14 (flags 0x2) - FS block 100 logged at journal block 15 (flags 0x2) - FS block 97 logged at journal block 16 (flags 0x2) - FS block 101 logged at journal block 17 (flags 0x2) - FS block 611 logged at journal block 18 (flags 0x2) - FS block 102 logged at journal block 19 (flags 0x2) - FS block 103 logged at journal block 20 (flags 0x2) - FS block 612 logged at journal block 21 (flags 0x2) - FS block 104 logged at journal block 22 (flags 0x2) - FS block 85 logged at journal block 23 (flags 0x2) - FS block 105 logged at journal block 24 (flags 0x2) - FS block 86 logged at journal block 25 (flags 0x2) - FS block 106 logged at journal block 26 (flags 0x2) - FS block 87 logged at journal block 27 (flags 0x2) - FS block 107 logged at journal block 28 (flags 0x2) - FS block 108 logged at journal block 29 (flags 0x2) - FS block 88 logged at journal block 30 (flags 0x2) - FS block 109 logged at journal block 31 (flags 0x2) - FS block 355 logged at journal block 32 (flags 0x2) - FS block 613 logged at journal block 33 (flags 0x2) - FS block 110 logged at journal block 34 (flags 0x2) - FS block 614 logged at journal block 35 (flags 0x2) - FS block 111 logged at journal block 36 (flags 0x2) - FS block 615 logged at journal block 37 (flags 0x2) - FS block 112 logged at journal block 38 (flags 0x2) - FS block 113 logged at journal block 39 (flags 0x2) - FS block 616 logged at journal block 40 (flags 0x2) - FS block 89 logged at journal block 41 (flags 0x2) - FS block 114 logged at journal block 42 (flags 0x2) - FS block 90 logged at journal block 43 (flags 0x2) - FS block 115 logged at journal block 44 (flags 0x2) - FS block 91 logged at journal block 45 (flags 0x2) - FS block 116 logged at journal block 46 (flags 0x2) - FS block 92 logged at journal block 47 (flags 0x2) - FS block 117 logged at journal block 48 (flags 0x2) - FS block 118 logged at journal block 49 (flags 0x2) - FS block 356 logged at journal block 50 (flags 0x2) - FS block 93 logged at journal block 51 (flags 0x2) - FS block 119 logged at journal block 52 (flags 0x2) - FS block 94 logged at journal block 53 (flags 0x2) - FS block 120 logged at journal block 54 (flags 0x2) - FS block 95 logged at journal block 55 (flags 0x2) - FS block 121 logged at journal block 56 (flags 0x2) - FS block 96 logged at journal block 57 (flags 0x2) - FS block 122 logged at journal block 58 (flags 0x2) - FS block 123 logged at journal block 59 (flags 0x2) - FS block 617 logged at journal block 60 (flags 0x2) - FS block 124 logged at journal block 61 (flags 0x2) - FS block 618 logged at journal block 62 (flags 0x2) - FS block 125 logged at journal block 63 (flags 0x2) - FS block 619 logged at journal block 64 (flags 0x2) - FS block 126 logged at journal block 65 (flags 0x2) - FS block 620 logged at journal block 66 (flags 0x2) - FS block 357 logged at journal block 67 (flags 0x2) - FS block 621 logged at journal block 68 (flags 0x2) - FS block 127 logged at journal block 69 (flags 0x2) - FS block 128 logged at journal block 70 (flags 0x2) - FS block 622 logged at journal block 71 (flags 0x2) - FS block 129 logged at journal block 72 (flags 0x2) - FS block 623 logged at journal block 73 (flags 0x2) - FS block 130 logged at journal block 74 (flags 0x2) - FS block 624 logged at journal block 75 (flags 0x2) - FS block 131 logged at journal block 76 (flags 0x2) - FS block 625 logged at journal block 77 (flags 0x2) - FS block 132 logged at journal block 78 (flags 0x2) - FS block 133 logged at journal block 79 (flags 0x2) - FS block 626 logged at journal block 80 (flags 0x2) - FS block 134 logged at journal block 81 (flags 0x2) - FS block 627 logged at journal block 82 (flags 0x2) - FS block 135 logged at journal block 83 (flags 0x2) - FS block 628 logged at journal block 84 (flags 0x2) - FS block 136 logged at journal block 85 (flags 0x2) - FS block 358 logged at journal block 86 (flags 0x2) - FS block 629 logged at journal block 87 (flags 0x2) - FS block 137 logged at journal block 88 (flags 0xa) -Found expected sequence 3, type 1 (descriptor block) at block 89 -Dumping descriptor block, sequence 3, at block 89: - FS block 138 logged at journal block 90 (flags 0x0) - FS block 630 logged at journal block 91 (flags 0x2) - FS block 139 logged at journal block 92 (flags 0x2) - FS block 631 logged at journal block 93 (flags 0x2) - FS block 140 logged at journal block 94 (flags 0x2) - FS block 632 logged at journal block 95 (flags 0x2) - FS block 633 logged at journal block 96 (flags 0x2) - FS block 141 logged at journal block 97 (flags 0x2) - FS block 634 logged at journal block 98 (flags 0x2) - FS block 142 logged at journal block 99 (flags 0x2) - FS block 143 logged at journal block 100 (flags 0x2) - FS block 635 logged at journal block 101 (flags 0x2) - FS block 144 logged at journal block 102 (flags 0x2) - FS block 636 logged at journal block 103 (flags 0x2) - FS block 145 logged at journal block 104 (flags 0x2) - FS block 359 logged at journal block 105 (flags 0x2) - FS block 637 logged at journal block 106 (flags 0x2) - FS block 146 logged at journal block 107 (flags 0x2) - FS block 638 logged at journal block 108 (flags 0x2) - FS block 147 logged at journal block 109 (flags 0x2) - FS block 148 logged at journal block 110 (flags 0x2) - FS block 639 logged at journal block 111 (flags 0x2) - FS block 149 logged at journal block 112 (flags 0x2) - FS block 640 logged at journal block 113 (flags 0x2) - FS block 150 logged at journal block 114 (flags 0x2) - FS block 641 logged at journal block 115 (flags 0x2) - FS block 151 logged at journal block 116 (flags 0x2) - FS block 642 logged at journal block 117 (flags 0x2) - FS block 152 logged at journal block 118 (flags 0x2) - FS block 153 logged at journal block 119 (flags 0x2) - FS block 643 logged at journal block 120 (flags 0x2) - FS block 154 logged at journal block 121 (flags 0x2) - FS block 644 logged at journal block 122 (flags 0x2) - FS block 360 logged at journal block 123 (flags 0x2) - FS block 645 logged at journal block 124 (flags 0x2) - FS block 155 logged at journal block 125 (flags 0x2) - FS block 646 logged at journal block 126 (flags 0x2) - FS block 156 logged at journal block 127 (flags 0x2) - FS block 647 logged at journal block 128 (flags 0x2) - FS block 157 logged at journal block 129 (flags 0x2) - FS block 158 logged at journal block 130 (flags 0x2) - FS block 648 logged at journal block 131 (flags 0x2) - FS block 159 logged at journal block 132 (flags 0x2) - FS block 649 logged at journal block 133 (flags 0x2) - FS block 160 logged at journal block 134 (flags 0x2) - FS block 650 logged at journal block 135 (flags 0x2) - FS block 161 logged at journal block 136 (flags 0x2) - FS block 651 logged at journal block 137 (flags 0x2) - FS block 162 logged at journal block 138 (flags 0x2) - FS block 163 logged at journal block 139 (flags 0x2) - FS block 652 logged at journal block 140 (flags 0x2) - FS block 164 logged at journal block 141 (flags 0x2) - FS block 361 logged at journal block 142 (flags 0x2) - FS block 653 logged at journal block 143 (flags 0x2) - FS block 165 logged at journal block 144 (flags 0x2) - FS block 654 logged at journal block 145 (flags 0x2) - FS block 166 logged at journal block 146 (flags 0x2) - FS block 655 logged at journal block 147 (flags 0x2) - FS block 167 logged at journal block 148 (flags 0x2) - FS block 168 logged at journal block 149 (flags 0x2) - FS block 656 logged at journal block 150 (flags 0x2) - FS block 657 logged at journal block 151 (flags 0x2) - FS block 169 logged at journal block 152 (flags 0x2) - FS block 658 logged at journal block 153 (flags 0x2) - FS block 170 logged at journal block 154 (flags 0x2) - FS block 659 logged at journal block 155 (flags 0x2) - FS block 171 logged at journal block 156 (flags 0x2) - FS block 660 logged at journal block 157 (flags 0x2) - FS block 172 logged at journal block 158 (flags 0x2) - FS block 173 logged at journal block 159 (flags 0x2) - FS block 362 logged at journal block 160 (flags 0x2) - FS block 661 logged at journal block 161 (flags 0x2) - FS block 174 logged at journal block 162 (flags 0x2) - FS block 662 logged at journal block 163 (flags 0x2) - FS block 175 logged at journal block 164 (flags 0x2) - FS block 663 logged at journal block 165 (flags 0x2) - FS block 176 logged at journal block 166 (flags 0x2) - FS block 664 logged at journal block 167 (flags 0x2) - FS block 177 logged at journal block 168 (flags 0x2) - FS block 178 logged at journal block 169 (flags 0x2) - FS block 665 logged at journal block 170 (flags 0x2) - FS block 179 logged at journal block 171 (flags 0x2) - FS block 666 logged at journal block 172 (flags 0x2) - FS block 180 logged at journal block 173 (flags 0xa) -Found expected sequence 3, type 1 (descriptor block) at block 174 -Dumping descriptor block, sequence 3, at block 174: - FS block 667 logged at journal block 175 (flags 0x0) - FS block 181 logged at journal block 176 (flags 0x2) - FS block 668 logged at journal block 177 (flags 0x2) - FS block 363 logged at journal block 178 (flags 0x2) - FS block 669 logged at journal block 179 (flags 0x2) - FS block 182 logged at journal block 180 (flags 0x2) - FS block 183 logged at journal block 181 (flags 0x2) - FS block 670 logged at journal block 182 (flags 0x2) - FS block 184 logged at journal block 183 (flags 0x2) - FS block 671 logged at journal block 184 (flags 0x2) - FS block 185 logged at journal block 185 (flags 0x2) - FS block 672 logged at journal block 186 (flags 0x2) - FS block 186 logged at journal block 187 (flags 0x2) - FS block 673 logged at journal block 188 (flags 0x2) - FS block 187 logged at journal block 189 (flags 0x2) - FS block 188 logged at journal block 190 (flags 0x2) - FS block 674 logged at journal block 191 (flags 0x2) - FS block 189 logged at journal block 192 (flags 0x2) - FS block 675 logged at journal block 193 (flags 0x2) - FS block 190 logged at journal block 194 (flags 0x2) - FS block 676 logged at journal block 195 (flags 0x2) - FS block 191 logged at journal block 196 (flags 0x2) - FS block 364 logged at journal block 197 (flags 0x2) - FS block 677 logged at journal block 198 (flags 0x2) - FS block 192 logged at journal block 199 (flags 0x2) - FS block 193 logged at journal block 200 (flags 0x2) - FS block 678 logged at journal block 201 (flags 0x2) - FS block 194 logged at journal block 202 (flags 0x2) - FS block 679 logged at journal block 203 (flags 0x2) - FS block 195 logged at journal block 204 (flags 0x2) - FS block 680 logged at journal block 205 (flags 0x2) - FS block 681 logged at journal block 206 (flags 0x2) - FS block 196 logged at journal block 207 (flags 0x2) - FS block 682 logged at journal block 208 (flags 0x2) - FS block 197 logged at journal block 209 (flags 0x2) - FS block 198 logged at journal block 210 (flags 0x2) - FS block 683 logged at journal block 211 (flags 0x2) - FS block 199 logged at journal block 212 (flags 0x2) - FS block 684 logged at journal block 213 (flags 0x2) - FS block 200 logged at journal block 214 (flags 0x2) - FS block 365 logged at journal block 215 (flags 0x2) - FS block 685 logged at journal block 216 (flags 0x2) - FS block 201 logged at journal block 217 (flags 0x2) - FS block 686 logged at journal block 218 (flags 0x2) - FS block 202 logged at journal block 219 (flags 0x2) - FS block 203 logged at journal block 220 (flags 0x2) - FS block 687 logged at journal block 221 (flags 0xa) -Found expected sequence 3, type 2 (commit block) at block 222 -Found expected sequence 4, type 1 (descriptor block) at block 223 -Dumping descriptor block, sequence 4, at block 223: - FS block 204 logged at journal block 224 (flags 0x0) - FS block 687 logged at journal block 225 (flags 0x2) - FS block 203 logged at journal block 226 (flags 0x2) - FS block 365 logged at journal block 227 (flags 0x2) - FS block 2 logged at journal block 228 (flags 0x2) - FS block 82 logged at journal block 229 (flags 0x2) - FS block 83 logged at journal block 230 (flags 0x2) - FS block 66 logged at journal block 231 (flags 0x2) - FS block 688 logged at journal block 232 (flags 0x2) - FS block 364 logged at journal block 233 (flags 0x2) - FS block 680 logged at journal block 234 (flags 0x2) - FS block 205 logged at journal block 235 (flags 0x2) - FS block 689 logged at journal block 236 (flags 0x2) - FS block 206 logged at journal block 237 (flags 0x2) - FS block 690 logged at journal block 238 (flags 0x2) - FS block 207 logged at journal block 239 (flags 0x2) - FS block 208 logged at journal block 240 (flags 0x2) - FS block 691 logged at journal block 241 (flags 0x2) - FS block 209 logged at journal block 242 (flags 0x2) - FS block 692 logged at journal block 243 (flags 0x2) - FS block 98 logged at journal block 244 (flags 0x2) - FS block 68 logged at journal block 245 (flags 0x2) - FS block 366 logged at journal block 246 (flags 0x2) - FS block 693 logged at journal block 247 (flags 0x2) - FS block 210 logged at journal block 248 (flags 0x2) - FS block 694 logged at journal block 249 (flags 0x2) - FS block 211 logged at journal block 250 (flags 0x2) - FS block 695 logged at journal block 251 (flags 0x2) - FS block 212 logged at journal block 252 (flags 0x2) - FS block 213 logged at journal block 253 (flags 0x2) - FS block 696 logged at journal block 254 (flags 0x2) - FS block 214 logged at journal block 255 (flags 0x2) - FS block 697 logged at journal block 256 (flags 0x2) - FS block 215 logged at journal block 257 (flags 0x2) - FS block 698 logged at journal block 258 (flags 0x2) - FS block 216 logged at journal block 259 (flags 0x2) - FS block 699 logged at journal block 260 (flags 0x2) - FS block 217 logged at journal block 261 (flags 0x2) - FS block 218 logged at journal block 262 (flags 0x2) - FS block 700 logged at journal block 263 (flags 0x2) - FS block 219 logged at journal block 264 (flags 0x2) - FS block 367 logged at journal block 265 (flags 0x2) - FS block 701 logged at journal block 266 (flags 0x2) - FS block 220 logged at journal block 267 (flags 0x2) - FS block 702 logged at journal block 268 (flags 0x2) - FS block 221 logged at journal block 269 (flags 0x2) - FS block 703 logged at journal block 270 (flags 0x2) - FS block 222 logged at journal block 271 (flags 0x2) - FS block 223 logged at journal block 272 (flags 0x2) - FS block 704 logged at journal block 273 (flags 0x2) - FS block 705 logged at journal block 274 (flags 0x2) - FS block 224 logged at journal block 275 (flags 0x2) - FS block 706 logged at journal block 276 (flags 0x2) - FS block 225 logged at journal block 277 (flags 0x2) - FS block 707 logged at journal block 278 (flags 0x2) - FS block 226 logged at journal block 279 (flags 0x2) - FS block 708 logged at journal block 280 (flags 0x2) - FS block 227 logged at journal block 281 (flags 0x2) - FS block 228 logged at journal block 282 (flags 0x2) - FS block 368 logged at journal block 283 (flags 0x2) - FS block 709 logged at journal block 284 (flags 0x2) - FS block 229 logged at journal block 285 (flags 0x2) - FS block 710 logged at journal block 286 (flags 0x2) - FS block 230 logged at journal block 287 (flags 0x2) - FS block 711 logged at journal block 288 (flags 0x2) - FS block 231 logged at journal block 289 (flags 0x2) - FS block 712 logged at journal block 290 (flags 0x2) - FS block 232 logged at journal block 291 (flags 0x2) - FS block 233 logged at journal block 292 (flags 0x2) - FS block 713 logged at journal block 293 (flags 0x2) - FS block 234 logged at journal block 294 (flags 0x2) - FS block 714 logged at journal block 295 (flags 0x2) - FS block 235 logged at journal block 296 (flags 0x2) - FS block 715 logged at journal block 297 (flags 0x2) - FS block 236 logged at journal block 298 (flags 0x2) - FS block 716 logged at journal block 299 (flags 0x2) - FS block 369 logged at journal block 300 (flags 0x2) - FS block 717 logged at journal block 301 (flags 0x2) - FS block 237 logged at journal block 302 (flags 0x2) - FS block 238 logged at journal block 303 (flags 0x2) - FS block 718 logged at journal block 304 (flags 0x2) - FS block 239 logged at journal block 305 (flags 0x2) - FS block 719 logged at journal block 306 (flags 0x2) - FS block 240 logged at journal block 307 (flags 0xa) -Found expected sequence 4, type 1 (descriptor block) at block 308 -Dumping descriptor block, sequence 4, at block 308: - FS block 720 logged at journal block 309 (flags 0x0) - FS block 241 logged at journal block 310 (flags 0x2) - FS block 721 logged at journal block 311 (flags 0x2) - FS block 242 logged at journal block 312 (flags 0x2) - FS block 243 logged at journal block 313 (flags 0x2) - FS block 722 logged at journal block 314 (flags 0x2) - FS block 244 logged at journal block 315 (flags 0x2) - FS block 723 logged at journal block 316 (flags 0x2) - FS block 245 logged at journal block 317 (flags 0x2) - FS block 724 logged at journal block 318 (flags 0x2) - FS block 246 logged at journal block 319 (flags 0x2) - FS block 370 logged at journal block 320 (flags 0x2) - FS block 725 logged at journal block 321 (flags 0x2) - FS block 247 logged at journal block 322 (flags 0x2) - FS block 248 logged at journal block 323 (flags 0x2) - FS block 726 logged at journal block 324 (flags 0x2) - FS block 249 logged at journal block 325 (flags 0x2) - FS block 727 logged at journal block 326 (flags 0x2) - FS block 250 logged at journal block 327 (flags 0xa) -Found expected sequence 4, type 2 (commit block) at block 328 -Found expected sequence 5, type 5 (revoke table) at block 329 -Dumping revoke block, sequence 5, at block 329: - Revoke FS block 640 - Revoke FS block 641 - Revoke FS block 642 - Revoke FS block 643 - Revoke FS block 644 - Revoke FS block 645 - Revoke FS block 646 - Revoke FS block 647 - Revoke FS block 648 - Revoke FS block 649 - Revoke FS block 650 - Revoke FS block 651 - Revoke FS block 652 - Revoke FS block 653 - Revoke FS block 654 - Revoke FS block 655 - Revoke FS block 656 - Revoke FS block 657 - Revoke FS block 81 - Revoke FS block 658 - Revoke FS block 659 - Revoke FS block 660 - Revoke FS block 84 - Revoke FS block 661 - Revoke FS block 85 - Revoke FS block 662 - Revoke FS block 86 - Revoke FS block 663 - Revoke FS block 87 - Revoke FS block 664 - Revoke FS block 88 - Revoke FS block 665 - Revoke FS block 89 - Revoke FS block 666 - Revoke FS block 90 - Revoke FS block 667 - Revoke FS block 91 - Revoke FS block 668 - Revoke FS block 92 - Revoke FS block 669 - Revoke FS block 93 - Revoke FS block 670 - Revoke FS block 94 - Revoke FS block 671 - Revoke FS block 95 - Revoke FS block 672 - Revoke FS block 96 - Revoke FS block 673 - Revoke FS block 97 - Revoke FS block 674 - Revoke FS block 675 - Revoke FS block 611 - Revoke FS block 676 - Revoke FS block 612 - Revoke FS block 677 - Revoke FS block 613 - Revoke FS block 678 - Revoke FS block 614 - Revoke FS block 679 - Revoke FS block 615 - Revoke FS block 616 - Revoke FS block 617 - Revoke FS block 682 - Revoke FS block 618 - Revoke FS block 683 - Revoke FS block 619 - Revoke FS block 684 - Revoke FS block 620 - Revoke FS block 685 - Revoke FS block 621 - Revoke FS block 622 - Revoke FS block 687 - Revoke FS block 623 - Revoke FS block 688 - Revoke FS block 624 - Revoke FS block 689 - Revoke FS block 625 - Revoke FS block 690 - Revoke FS block 626 - Revoke FS block 691 - Revoke FS block 627 - Revoke FS block 628 - Revoke FS block 629 - Revoke FS block 630 - Revoke FS block 631 - Revoke FS block 632 - Revoke FS block 633 - Revoke FS block 634 - Revoke FS block 635 - Revoke FS block 636 - Revoke FS block 637 - Revoke FS block 638 - Revoke FS block 639 -Found expected sequence 5, type 1 (descriptor block) at block 330 -Dumping descriptor block, sequence 5, at block 330: - FS block 98 logged at journal block 331 (flags 0x0) - FS block 99 logged at journal block 332 (flags 0x2) - FS block 354 logged at journal block 333 (flags 0x2) - FS block 1 logged at journal block 334 (flags 0x2) - FS block 105 logged at journal block 335 (flags 0x2) - FS block 2 logged at journal block 336 (flags 0x2) - FS block 82 logged at journal block 337 (flags 0x2) - FS block 104 logged at journal block 338 (flags 0x2) - FS block 66 logged at journal block 339 (flags 0x2) - FS block 83 logged at journal block 340 (flags 0x2) - FS block 355 logged at journal block 341 (flags 0x2) - FS block 112 logged at journal block 342 (flags 0x2) - FS block 113 logged at journal block 343 (flags 0x2) - FS block 102 logged at journal block 344 (flags 0x2) - FS block 103 logged at journal block 345 (flags 0x2) - FS block 107 logged at journal block 346 (flags 0x2) - FS block 108 logged at journal block 347 (flags 0x2) - FS block 101 logged at journal block 348 (flags 0x2) - FS block 100 logged at journal block 349 (flags 0x2) - FS block 110 logged at journal block 350 (flags 0x2) - FS block 109 logged at journal block 351 (flags 0x2) - FS block 111 logged at journal block 352 (flags 0x2) - FS block 106 logged at journal block 353 (flags 0x2) - FS block 68 logged at journal block 354 (flags 0x2) - FS block 356 logged at journal block 355 (flags 0x2) - FS block 119 logged at journal block 356 (flags 0x2) - FS block 118 logged at journal block 357 (flags 0x2) - FS block 126 logged at journal block 358 (flags 0x2) - FS block 125 logged at journal block 359 (flags 0x2) - FS block 116 logged at journal block 360 (flags 0x2) - FS block 115 logged at journal block 361 (flags 0x2) - FS block 117 logged at journal block 362 (flags 0x2) - FS block 121 logged at journal block 363 (flags 0x2) - FS block 120 logged at journal block 364 (flags 0x2) - FS block 114 logged at journal block 365 (flags 0x2) - FS block 124 logged at journal block 366 (flags 0x2) - FS block 123 logged at journal block 367 (flags 0x2) - FS block 122 logged at journal block 368 (flags 0x2) - FS block 357 logged at journal block 369 (flags 0x2) - FS block 132 logged at journal block 370 (flags 0x2) - FS block 133 logged at journal block 371 (flags 0x2) - FS block 358 logged at journal block 372 (flags 0x2) - FS block 140 logged at journal block 373 (flags 0x2) - FS block 139 logged at journal block 374 (flags 0x2) - FS block 130 logged at journal block 375 (flags 0x2) - FS block 129 logged at journal block 376 (flags 0x2) - FS block 131 logged at journal block 377 (flags 0x2) - FS block 135 logged at journal block 378 (flags 0x2) - FS block 134 logged at journal block 379 (flags 0x2) - FS block 128 logged at journal block 380 (flags 0x2) - FS block 137 logged at journal block 381 (flags 0x2) - FS block 138 logged at journal block 382 (flags 0x2) - FS block 136 logged at journal block 383 (flags 0x2) - FS block 127 logged at journal block 384 (flags 0x2) - FS block 359 logged at journal block 385 (flags 0x2) - FS block 146 logged at journal block 386 (flags 0x2) - FS block 145 logged at journal block 387 (flags 0x2) - FS block 154 logged at journal block 388 (flags 0x2) - FS block 153 logged at journal block 389 (flags 0x2) - FS block 144 logged at journal block 390 (flags 0x2) - FS block 143 logged at journal block 391 (flags 0x2) - FS block 149 logged at journal block 392 (flags 0x2) - FS block 148 logged at journal block 393 (flags 0x2) - FS block 142 logged at journal block 394 (flags 0x2) - FS block 151 logged at journal block 395 (flags 0x2) - FS block 150 logged at journal block 396 (flags 0x2) - FS block 152 logged at journal block 397 (flags 0x2) - FS block 141 logged at journal block 398 (flags 0x2) - FS block 147 logged at journal block 399 (flags 0x2) - FS block 360 logged at journal block 400 (flags 0x2) - FS block 160 logged at journal block 401 (flags 0x2) - FS block 159 logged at journal block 402 (flags 0x2) - FS block 361 logged at journal block 403 (flags 0x2) - FS block 167 logged at journal block 404 (flags 0x2) - FS block 168 logged at journal block 405 (flags 0x2) - FS block 157 logged at journal block 406 (flags 0x2) - FS block 158 logged at journal block 407 (flags 0x2) - FS block 162 logged at journal block 408 (flags 0x2) - FS block 163 logged at journal block 409 (flags 0x2) - FS block 156 logged at journal block 410 (flags 0x2) - FS block 155 logged at journal block 411 (flags 0x2) - FS block 165 logged at journal block 412 (flags 0x2) - FS block 164 logged at journal block 413 (flags 0x2) - FS block 166 logged at journal block 414 (flags 0xa) -Found expected sequence 5, type 1 (descriptor block) at block 415 -Dumping descriptor block, sequence 5, at block 415: - FS block 161 logged at journal block 416 (flags 0x0) - FS block 362 logged at journal block 417 (flags 0x2) - FS block 174 logged at journal block 418 (flags 0x2) - FS block 173 logged at journal block 419 (flags 0x2) - FS block 181 logged at journal block 420 (flags 0x2) - FS block 180 logged at journal block 421 (flags 0x2) - FS block 171 logged at journal block 422 (flags 0x2) - FS block 170 logged at journal block 423 (flags 0x2) - FS block 172 logged at journal block 424 (flags 0x2) - FS block 176 logged at journal block 425 (flags 0x2) - FS block 175 logged at journal block 426 (flags 0x2) - FS block 169 logged at journal block 427 (flags 0x2) - FS block 179 logged at journal block 428 (flags 0x2) - FS block 178 logged at journal block 429 (flags 0x2) - FS block 177 logged at journal block 430 (flags 0x2) - FS block 363 logged at journal block 431 (flags 0x2) - FS block 187 logged at journal block 432 (flags 0x2) - FS block 188 logged at journal block 433 (flags 0x2) - FS block 364 logged at journal block 434 (flags 0x2) - FS block 195 logged at journal block 435 (flags 0x2) - FS block 194 logged at journal block 436 (flags 0x2) - FS block 185 logged at journal block 437 (flags 0x2) - FS block 184 logged at journal block 438 (flags 0x2) - FS block 186 logged at journal block 439 (flags 0x2) - FS block 190 logged at journal block 440 (flags 0x2) - FS block 189 logged at journal block 441 (flags 0x2) - FS block 183 logged at journal block 442 (flags 0x2) - FS block 192 logged at journal block 443 (flags 0x2) - FS block 193 logged at journal block 444 (flags 0x2) - FS block 191 logged at journal block 445 (flags 0x2) - FS block 182 logged at journal block 446 (flags 0x2) - FS block 365 logged at journal block 447 (flags 0x2) - FS block 201 logged at journal block 448 (flags 0x2) - FS block 200 logged at journal block 449 (flags 0x2) - FS block 680 logged at journal block 450 (flags 0x2) - FS block 209 logged at journal block 451 (flags 0x2) - FS block 208 logged at journal block 452 (flags 0x2) - FS block 199 logged at journal block 453 (flags 0x2) - FS block 198 logged at journal block 454 (flags 0x2) - FS block 204 logged at journal block 455 (flags 0x2) - FS block 203 logged at journal block 456 (flags 0x2) - FS block 197 logged at journal block 457 (flags 0x2) - FS block 206 logged at journal block 458 (flags 0x2) - FS block 205 logged at journal block 459 (flags 0x2) - FS block 207 logged at journal block 460 (flags 0x2) - FS block 681 logged at journal block 461 (flags 0x2) - FS block 196 logged at journal block 462 (flags 0xa) -Found expected sequence 5, type 2 (commit block) at block 463 -No magic number at block 464: end of journal. diff --git a/tests/f_jnl_32bit/expect.1 b/tests/f_jnl_32bit/expect.1 deleted file mode 100644 index 56aab48b..00000000 --- a/tests/f_jnl_32bit/expect.1 +++ /dev/null @@ -1,16 +0,0 @@ -test_filesys: recovering journal -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -Free blocks count wrong (14699, counted=14660). -Fix? yes - -Free inodes count wrong (4085, counted=3697). -Fix? yes - - -test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** -test_filesys: 399/4096 files (0.0% non-contiguous), 1724/16384 blocks -Exit status is 1 diff --git a/tests/f_jnl_32bit/expect.2 b/tests/f_jnl_32bit/expect.2 deleted file mode 100644 index be948d21..00000000 --- a/tests/f_jnl_32bit/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 399/4096 files (0.0% non-contiguous), 1724/16384 blocks -Exit status is 0 diff --git a/tests/f_jnl_32bit/image.gz b/tests/f_jnl_32bit/image.gz deleted file mode 100644 index b3081023..00000000 Binary files a/tests/f_jnl_32bit/image.gz and /dev/null differ diff --git a/tests/f_jnl_32bit/name b/tests/f_jnl_32bit/name deleted file mode 100644 index 60e99139..00000000 --- a/tests/f_jnl_32bit/name +++ /dev/null @@ -1 +0,0 @@ -on-disk 32-bit journal format diff --git a/tests/f_jnl_32bit/script b/tests/f_jnl_32bit/script deleted file mode 100644 index 9fb4366d..00000000 --- a/tests/f_jnl_32bit/script +++ /dev/null @@ -1,4 +0,0 @@ -PREP_CMD='$DEBUGFS -R "logdump -a" $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed > $test_name.0.log' -PASS_ZERO=true - -. $cmd_dir/run_e2fsck diff --git a/tests/f_jnl_64bit/expect.0 b/tests/f_jnl_64bit/expect.0 deleted file mode 100644 index 2007f039..00000000 --- a/tests/f_jnl_64bit/expect.0 +++ /dev/null @@ -1,928 +0,0 @@ -Journal starts at block 67, transaction 32 -Found expected sequence 32, type 5 (revoke table) at block 67 -Dumping revoke block, sequence 32, at block 67: - Revoke FS block 0 - Revoke FS block 1536 - Revoke FS block 0 - Revoke FS block 1472 - Revoke FS block 0 - Revoke FS block 1473 - Revoke FS block 0 - Revoke FS block 1474 - Revoke FS block 0 - Revoke FS block 1475 - Revoke FS block 0 - Revoke FS block 1476 - Revoke FS block 0 - Revoke FS block 1541 - Revoke FS block 0 - Revoke FS block 1477 - Revoke FS block 0 - Revoke FS block 1478 - Revoke FS block 0 - Revoke FS block 1479 - Revoke FS block 0 - Revoke FS block 1480 - Revoke FS block 0 - Revoke FS block 1481 - Revoke FS block 0 - Revoke FS block 1482 - Revoke FS block 0 - Revoke FS block 1483 - Revoke FS block 0 - Revoke FS block 1484 - Revoke FS block 0 - Revoke FS block 1485 - Revoke FS block 0 - Revoke FS block 1486 - Revoke FS block 0 - Revoke FS block 1487 - Revoke FS block 0 - Revoke FS block 1488 - Revoke FS block 0 - Revoke FS block 1489 - Revoke FS block 0 - Revoke FS block 1490 - Revoke FS block 0 - Revoke FS block 1491 - Revoke FS block 0 - Revoke FS block 1556 - Revoke FS block 0 - Revoke FS block 1492 - Revoke FS block 0 - Revoke FS block 1493 - Revoke FS block 0 - Revoke FS block 1429 - Revoke FS block 0 - Revoke FS block 1494 - Revoke FS block 0 - Revoke FS block 1495 - Revoke FS block 0 - Revoke FS block 1496 - Revoke FS block 0 - Revoke FS block 1432 - Revoke FS block 0 - Revoke FS block 1497 - Revoke FS block 0 - Revoke FS block 1498 - Revoke FS block 0 - Revoke FS block 1434 - Revoke FS block 0 - Revoke FS block 1499 - Revoke FS block 0 - Revoke FS block 1435 - Revoke FS block 0 - Revoke FS block 1500 - Revoke FS block 0 - Revoke FS block 1501 - Revoke FS block 0 - Revoke FS block 1502 - Revoke FS block 0 - Revoke FS block 1503 - Revoke FS block 0 - Revoke FS block 1504 - Revoke FS block 0 - Revoke FS block 1505 - Revoke FS block 0 - Revoke FS block 1506 - Revoke FS block 0 - Revoke FS block 1442 - Revoke FS block 0 - Revoke FS block 1507 - Revoke FS block 0 - Revoke FS block 1508 - Revoke FS block 0 - Revoke FS block 1444 - Revoke FS block 0 - Revoke FS block 1509 - Revoke FS block 0 - Revoke FS block 1445 - Revoke FS block 0 - Revoke FS block 1510 - Revoke FS block 0 - Revoke FS block 1511 - Revoke FS block 0 - Revoke FS block 1512 - Revoke FS block 0 - Revoke FS block 1513 - Revoke FS block 0 - Revoke FS block 1449 - Revoke FS block 0 - Revoke FS block 1514 - Revoke FS block 0 - Revoke FS block 1515 - Revoke FS block 0 - Revoke FS block 1516 - Revoke FS block 0 - Revoke FS block 1517 - Revoke FS block 0 - Revoke FS block 1453 - Revoke FS block 0 - Revoke FS block 1518 - Revoke FS block 0 - Revoke FS block 1519 - Revoke FS block 0 - Revoke FS block 1520 - Revoke FS block 0 - Revoke FS block 1456 - Revoke FS block 0 - Revoke FS block 1521 - Revoke FS block 0 - Revoke FS block 1457 - Revoke FS block 0 - Revoke FS block 1522 - Revoke FS block 0 - Revoke FS block 1458 - Revoke FS block 0 - Revoke FS block 1523 - Revoke FS block 0 - Revoke FS block 1459 - Revoke FS block 0 - Revoke FS block 1524 - Revoke FS block 0 - Revoke FS block 1460 - Revoke FS block 0 - Revoke FS block 1525 - Revoke FS block 0 - Revoke FS block 1461 - Revoke FS block 0 - Revoke FS block 1526 - Revoke FS block 0 - Revoke FS block 1462 - Revoke FS block 0 - Revoke FS block 1527 - Revoke FS block 0 - Revoke FS block 1463 - Revoke FS block 0 - Revoke FS block 1528 - Revoke FS block 0 - Revoke FS block 1464 - Revoke FS block 0 - Revoke FS block 1529 - Revoke FS block 0 - Revoke FS block 1465 - Revoke FS block 0 - Revoke FS block 1530 - Revoke FS block 0 - Revoke FS block 1466 - Revoke FS block 0 - Revoke FS block 1531 - Revoke FS block 0 - Revoke FS block 1467 - Revoke FS block 0 - Revoke FS block 1532 - Revoke FS block 0 - Revoke FS block 1468 - Revoke FS block 0 - Revoke FS block 1533 - Revoke FS block 0 - Revoke FS block 1469 - Revoke FS block 0 - Revoke FS block 1534 - Revoke FS block 0 - Revoke FS block 1470 - Revoke FS block 0 - Revoke FS block 1535 - Revoke FS block 0 - Revoke FS block 1471 -Found expected sequence 32, type 1 (descriptor block) at block 68 -Dumping descriptor block, sequence 32, at block 68: - FS block 802 logged at journal block 69 (flags 0x0) - FS block 803 logged at journal block 70 (flags 0x2) - FS block 131 logged at journal block 71 (flags 0x2) - FS block 2 logged at journal block 72 (flags 0x2) - FS block 1 logged at journal block 73 (flags 0x2) - FS block 147 logged at journal block 74 (flags 0x2) - FS block 783 logged at journal block 75 (flags 0x2) - FS block 130 logged at journal block 76 (flags 0x2) - FS block 807 logged at journal block 77 (flags 0x2) - FS block 808 logged at journal block 78 (flags 0x2) - FS block 788 logged at journal block 79 (flags 0x2) - FS block 789 logged at journal block 80 (flags 0x2) - FS block 785 logged at journal block 81 (flags 0x2) - FS block 786 logged at journal block 82 (flags 0x2) - FS block 787 logged at journal block 83 (flags 0x2) - FS block 798 logged at journal block 84 (flags 0x2) - FS block 799 logged at journal block 85 (flags 0x2) - FS block 800 logged at journal block 86 (flags 0x2) - FS block 801 logged at journal block 87 (flags 0x2) - FS block 812 logged at journal block 88 (flags 0x2) - FS block 813 logged at journal block 89 (flags 0x2) - FS block 790 logged at journal block 90 (flags 0x2) - FS block 132 logged at journal block 91 (flags 0x2) - FS block 162 logged at journal block 92 (flags 0x2) - FS block 815 logged at journal block 93 (flags 0x2) - FS block 819 logged at journal block 94 (flags 0x2) - FS block 820 logged at journal block 95 (flags 0x2) - FS block 838 logged at journal block 96 (flags 0x2) - FS block 839 logged at journal block 97 (flags 0x2) - FS block 836 logged at journal block 98 (flags 0x2) - FS block 837 logged at journal block 99 (flags 0x2) - FS block 829 logged at journal block 100 (flags 0x2) - FS block 830 logged at journal block 101 (flags 0x2) - FS block 823 logged at journal block 102 (flags 0x2) - FS block 824 logged at journal block 103 (flags 0x2) - FS block 826 logged at journal block 104 (flags 0x2) - FS block 827 logged at journal block 105 (flags 0x2) - FS block 817 logged at journal block 106 (flags 0x2) - FS block 818 logged at journal block 107 (flags 0x2) - FS block 828 logged at journal block 108 (flags 0x2) - FS block 816 logged at journal block 109 (flags 0x2) - FS block 841 logged at journal block 110 (flags 0x2) - FS block 842 logged at journal block 111 (flags 0x2) - FS block 832 logged at journal block 112 (flags 0x2) - FS block 833 logged at journal block 113 (flags 0x2) - FS block 843 logged at journal block 114 (flags 0x2) - FS block 846 logged at journal block 115 (flags 0x2) - FS block 847 logged at journal block 116 (flags 0x2) - FS block 825 logged at journal block 117 (flags 0x2) - FS block 848 logged at journal block 118 (flags 0x2) - FS block 844 logged at journal block 119 (flags 0x2) - FS block 834 logged at journal block 120 (flags 0x2) - FS block 835 logged at journal block 121 (flags 0x2) - FS block 840 logged at journal block 122 (flags 0x2) - FS block 821 logged at journal block 123 (flags 0x2) - FS block 822 logged at journal block 124 (flags 0x2) - FS block 831 logged at journal block 125 (flags 0x2) - FS block 845 logged at journal block 126 (flags 0x2) - FS block 852 logged at journal block 127 (flags 0x2) - FS block 853 logged at journal block 128 (flags 0x2) - FS block 871 logged at journal block 129 (flags 0x2) - FS block 872 logged at journal block 130 (flags 0x2) - FS block 868 logged at journal block 131 (flags 0x2) - FS block 869 logged at journal block 132 (flags 0x2) - FS block 870 logged at journal block 133 (flags 0x2) - FS block 862 logged at journal block 134 (flags 0x2) - FS block 863 logged at journal block 135 (flags 0x2) - FS block 856 logged at journal block 136 (flags 0x2) - FS block 857 logged at journal block 137 (flags 0x2) - FS block 858 logged at journal block 138 (flags 0x2) - FS block 859 logged at journal block 139 (flags 0x2) - FS block 849 logged at journal block 140 (flags 0x2) - FS block 850 logged at journal block 141 (flags 0x2) - FS block 851 logged at journal block 142 (flags 0x2) - FS block 860 logged at journal block 143 (flags 0x2) - FS block 861 logged at journal block 144 (flags 0x2) - FS block 873 logged at journal block 145 (flags 0x2) - FS block 874 logged at journal block 146 (flags 0x2) - FS block 864 logged at journal block 147 (flags 0x2) - FS block 865 logged at journal block 148 (flags 0x2) - FS block 866 logged at journal block 149 (flags 0xa) -Found expected sequence 32, type 1 (descriptor block) at block 150 -Dumping descriptor block, sequence 32, at block 150: - FS block 875 logged at journal block 151 (flags 0x0) - FS block 876 logged at journal block 152 (flags 0x2) - FS block 878 logged at journal block 153 (flags 0x2) - FS block 879 logged at journal block 154 (flags 0x2) - FS block 880 logged at journal block 155 (flags 0x2) - FS block 881 logged at journal block 156 (flags 0x2) - FS block 877 logged at journal block 157 (flags 0x2) - FS block 867 logged at journal block 158 (flags 0x2) - FS block 854 logged at journal block 159 (flags 0x2) - FS block 855 logged at journal block 160 (flags 0x2) - FS block 885 logged at journal block 161 (flags 0x2) - FS block 886 logged at journal block 162 (flags 0x2) - FS block 903 logged at journal block 163 (flags 0x2) - FS block 904 logged at journal block 164 (flags 0x2) - FS block 901 logged at journal block 165 (flags 0x2) - FS block 902 logged at journal block 166 (flags 0x2) - FS block 895 logged at journal block 167 (flags 0x2) - FS block 896 logged at journal block 168 (flags 0x2) - FS block 888 logged at journal block 169 (flags 0x2) - FS block 889 logged at journal block 170 (flags 0x2) - FS block 891 logged at journal block 171 (flags 0x2) - FS block 892 logged at journal block 172 (flags 0x2) - FS block 882 logged at journal block 173 (flags 0x2) - FS block 883 logged at journal block 174 (flags 0x2) - FS block 893 logged at journal block 175 (flags 0x2) - FS block 906 logged at journal block 176 (flags 0x2) - FS block 907 logged at journal block 177 (flags 0x2) - FS block 897 logged at journal block 178 (flags 0x2) - FS block 898 logged at journal block 179 (flags 0x2) - FS block 908 logged at journal block 180 (flags 0x2) - FS block 911 logged at journal block 181 (flags 0x2) - FS block 912 logged at journal block 182 (flags 0x2) - FS block 890 logged at journal block 183 (flags 0x2) - FS block 913 logged at journal block 184 (flags 0x2) - FS block 894 logged at journal block 185 (flags 0x2) - FS block 909 logged at journal block 186 (flags 0x2) - FS block 900 logged at journal block 187 (flags 0x2) - FS block 905 logged at journal block 188 (flags 0x2) - FS block 887 logged at journal block 189 (flags 0x2) - FS block 884 logged at journal block 190 (flags 0x2) - FS block 899 logged at journal block 191 (flags 0x2) - FS block 910 logged at journal block 192 (flags 0x2) - FS block 917 logged at journal block 193 (flags 0x2) - FS block 918 logged at journal block 194 (flags 0x2) - FS block 1537 logged at journal block 195 (flags 0x2) - FS block 936 logged at journal block 196 (flags 0x2) - FS block 937 logged at journal block 197 (flags 0x2) - FS block 933 logged at journal block 198 (flags 0x2) - FS block 1554 logged at journal block 199 (flags 0x2) - FS block 934 logged at journal block 200 (flags 0xa) -Found expected sequence 32, type 2 (commit block) at block 201 -Found expected sequence 33, type 5 (revoke table) at block 202 -Dumping revoke block, sequence 33, at block 202: - Revoke FS block 0 - Revoke FS block 1600 - Revoke FS block 0 - Revoke FS block 1601 - Revoke FS block 0 - Revoke FS block 1537 - Revoke FS block 0 - Revoke FS block 1602 - Revoke FS block 0 - Revoke FS block 1538 - Revoke FS block 0 - Revoke FS block 1603 - Revoke FS block 0 - Revoke FS block 1539 - Revoke FS block 0 - Revoke FS block 1604 - Revoke FS block 0 - Revoke FS block 1540 - Revoke FS block 0 - Revoke FS block 1605 - Revoke FS block 0 - Revoke FS block 1606 - Revoke FS block 0 - Revoke FS block 1542 - Revoke FS block 0 - Revoke FS block 1607 - Revoke FS block 0 - Revoke FS block 1543 - Revoke FS block 0 - Revoke FS block 1608 - Revoke FS block 0 - Revoke FS block 1544 - Revoke FS block 0 - Revoke FS block 1609 - Revoke FS block 0 - Revoke FS block 1545 - Revoke FS block 0 - Revoke FS block 1610 - Revoke FS block 0 - Revoke FS block 1546 - Revoke FS block 0 - Revoke FS block 1611 - Revoke FS block 0 - Revoke FS block 1547 - Revoke FS block 0 - Revoke FS block 1612 - Revoke FS block 0 - Revoke FS block 1548 - Revoke FS block 0 - Revoke FS block 1613 - Revoke FS block 0 - Revoke FS block 1549 - Revoke FS block 0 - Revoke FS block 1614 - Revoke FS block 0 - Revoke FS block 1550 - Revoke FS block 0 - Revoke FS block 1615 - Revoke FS block 0 - Revoke FS block 1551 - Revoke FS block 0 - Revoke FS block 1616 - Revoke FS block 0 - Revoke FS block 1552 - Revoke FS block 0 - Revoke FS block 1617 - Revoke FS block 0 - Revoke FS block 1553 - Revoke FS block 0 - Revoke FS block 1554 - Revoke FS block 0 - Revoke FS block 1555 - Revoke FS block 0 - Revoke FS block 1557 - Revoke FS block 0 - Revoke FS block 1558 - Revoke FS block 0 - Revoke FS block 1559 - Revoke FS block 0 - Revoke FS block 1560 - Revoke FS block 0 - Revoke FS block 1561 - Revoke FS block 0 - Revoke FS block 1562 - Revoke FS block 0 - Revoke FS block 1563 - Revoke FS block 0 - Revoke FS block 1564 - Revoke FS block 0 - Revoke FS block 1565 - Revoke FS block 0 - Revoke FS block 1566 - Revoke FS block 0 - Revoke FS block 1567 - Revoke FS block 0 - Revoke FS block 1568 - Revoke FS block 0 - Revoke FS block 1569 - Revoke FS block 0 - Revoke FS block 1570 - Revoke FS block 0 - Revoke FS block 1571 - Revoke FS block 0 - Revoke FS block 1572 - Revoke FS block 0 - Revoke FS block 1573 - Revoke FS block 0 - Revoke FS block 1574 - Revoke FS block 0 - Revoke FS block 1575 - Revoke FS block 0 - Revoke FS block 1576 - Revoke FS block 0 - Revoke FS block 1577 - Revoke FS block 0 - Revoke FS block 1578 - Revoke FS block 0 - Revoke FS block 1579 - Revoke FS block 0 - Revoke FS block 1580 - Revoke FS block 0 - Revoke FS block 1581 - Revoke FS block 0 - Revoke FS block 1582 - Revoke FS block 0 - Revoke FS block 1583 - Revoke FS block 0 - Revoke FS block 1584 - Revoke FS block 0 - Revoke FS block 1585 - Revoke FS block 0 - Revoke FS block 1586 - Revoke FS block 0 - Revoke FS block 1587 - Revoke FS block 0 - Revoke FS block 1588 - Revoke FS block 0 - Revoke FS block 1589 - Revoke FS block 0 - Revoke FS block 1590 - Revoke FS block 0 - Revoke FS block 1591 - Revoke FS block 0 - Revoke FS block 1592 - Revoke FS block 0 - Revoke FS block 1593 - Revoke FS block 0 - Revoke FS block 1594 - Revoke FS block 0 - Revoke FS block 1595 - Revoke FS block 0 - Revoke FS block 1596 - Revoke FS block 0 - Revoke FS block 1597 - Revoke FS block 0 - Revoke FS block 1598 - Revoke FS block 0 - Revoke FS block 1599 -Found expected sequence 33, type 1 (descriptor block) at block 203 -Dumping descriptor block, sequence 33, at block 203: - FS block 933 logged at journal block 204 (flags 0x0) - FS block 1 logged at journal block 205 (flags 0x2) - FS block 935 logged at journal block 206 (flags 0x2) - FS block 131 logged at journal block 207 (flags 0x2) - FS block 2 logged at journal block 208 (flags 0x2) - FS block 147 logged at journal block 209 (flags 0x2) - FS block 934 logged at journal block 210 (flags 0x2) - FS block 913 logged at journal block 211 (flags 0x2) - FS block 130 logged at journal block 212 (flags 0x2) - FS block 936 logged at journal block 213 (flags 0x2) - FS block 927 logged at journal block 214 (flags 0x2) - FS block 928 logged at journal block 215 (flags 0x2) - FS block 921 logged at journal block 216 (flags 0x2) - FS block 922 logged at journal block 217 (flags 0x2) - FS block 923 logged at journal block 218 (flags 0x2) - FS block 924 logged at journal block 219 (flags 0x2) - FS block 925 logged at journal block 220 (flags 0x2) - FS block 915 logged at journal block 221 (flags 0x2) - FS block 916 logged at journal block 222 (flags 0x2) - FS block 926 logged at journal block 223 (flags 0x2) - FS block 914 logged at journal block 224 (flags 0x2) - FS block 938 logged at journal block 225 (flags 0x2) - FS block 939 logged at journal block 226 (flags 0x2) - FS block 940 logged at journal block 227 (flags 0x2) - FS block 930 logged at journal block 228 (flags 0x2) - FS block 931 logged at journal block 229 (flags 0x2) - FS block 941 logged at journal block 230 (flags 0x2) - FS block 943 logged at journal block 231 (flags 0x2) - FS block 944 logged at journal block 232 (flags 0x2) - FS block 945 logged at journal block 233 (flags 0x2) - FS block 946 logged at journal block 234 (flags 0x2) - FS block 942 logged at journal block 235 (flags 0x2) - FS block 932 logged at journal block 236 (flags 0x2) - FS block 937 logged at journal block 237 (flags 0x2) - FS block 918 logged at journal block 238 (flags 0x2) - FS block 919 logged at journal block 239 (flags 0x2) - FS block 920 logged at journal block 240 (flags 0x2) - FS block 917 logged at journal block 241 (flags 0x2) - FS block 929 logged at journal block 242 (flags 0x2) - FS block 132 logged at journal block 243 (flags 0x2) - FS block 162 logged at journal block 244 (flags 0x2) - FS block 950 logged at journal block 245 (flags 0x2) - FS block 951 logged at journal block 246 (flags 0x2) - FS block 969 logged at journal block 247 (flags 0x2) - FS block 970 logged at journal block 248 (flags 0x2) - FS block 966 logged at journal block 249 (flags 0x2) - FS block 967 logged at journal block 250 (flags 0x2) - FS block 968 logged at journal block 251 (flags 0x2) - FS block 960 logged at journal block 252 (flags 0x2) - FS block 961 logged at journal block 253 (flags 0x2) - FS block 954 logged at journal block 254 (flags 0x2) - FS block 955 logged at journal block 255 (flags 0x2) - FS block 956 logged at journal block 256 (flags 0x2) - FS block 957 logged at journal block 257 (flags 0x2) - FS block 947 logged at journal block 258 (flags 0x2) - FS block 948 logged at journal block 259 (flags 0x2) - FS block 958 logged at journal block 260 (flags 0x2) - FS block 971 logged at journal block 261 (flags 0x2) - FS block 972 logged at journal block 262 (flags 0x2) - FS block 962 logged at journal block 263 (flags 0x2) - FS block 963 logged at journal block 264 (flags 0x2) - FS block 973 logged at journal block 265 (flags 0x2) - FS block 976 logged at journal block 266 (flags 0x2) - FS block 977 logged at journal block 267 (flags 0x2) - FS block 978 logged at journal block 268 (flags 0x2) - FS block 959 logged at journal block 269 (flags 0x2) - FS block 974 logged at journal block 270 (flags 0x2) - FS block 975 logged at journal block 271 (flags 0x2) - FS block 965 logged at journal block 272 (flags 0x2) - FS block 952 logged at journal block 273 (flags 0x2) - FS block 949 logged at journal block 274 (flags 0x2) - FS block 964 logged at journal block 275 (flags 0x2) - FS block 953 logged at journal block 276 (flags 0x2) - FS block 979 logged at journal block 277 (flags 0x2) - FS block 982 logged at journal block 278 (flags 0x2) - FS block 983 logged at journal block 279 (flags 0x2) - FS block 984 logged at journal block 280 (flags 0x2) - FS block 1001 logged at journal block 281 (flags 0x2) - FS block 1002 logged at journal block 282 (flags 0x2) - FS block 999 logged at journal block 283 (flags 0x2) - FS block 1000 logged at journal block 284 (flags 0xa) -Found expected sequence 33, type 1 (descriptor block) at block 285 -Dumping descriptor block, sequence 33, at block 285: - FS block 992 logged at journal block 286 (flags 0x0) - FS block 993 logged at journal block 287 (flags 0x2) - FS block 994 logged at journal block 288 (flags 0x2) - FS block 986 logged at journal block 289 (flags 0x2) - FS block 987 logged at journal block 290 (flags 0x2) - FS block 989 logged at journal block 291 (flags 0x2) - FS block 990 logged at journal block 292 (flags 0x2) - FS block 980 logged at journal block 293 (flags 0x2) - FS block 981 logged at journal block 294 (flags 0x2) - FS block 991 logged at journal block 295 (flags 0x2) - FS block 1004 logged at journal block 296 (flags 0x2) - FS block 1005 logged at journal block 297 (flags 0x2) - FS block 995 logged at journal block 298 (flags 0x2) - FS block 996 logged at journal block 299 (flags 0x2) - FS block 1006 logged at journal block 300 (flags 0x2) - FS block 1009 logged at journal block 301 (flags 0x2) - FS block 1010 logged at journal block 302 (flags 0x2) - FS block 988 logged at journal block 303 (flags 0x2) - FS block 1011 logged at journal block 304 (flags 0x2) - FS block 1007 logged at journal block 305 (flags 0x2) - FS block 997 logged at journal block 306 (flags 0x2) - FS block 998 logged at journal block 307 (flags 0x2) - FS block 1003 logged at journal block 308 (flags 0x2) - FS block 985 logged at journal block 309 (flags 0x2) - FS block 1008 logged at journal block 310 (flags 0x2) - FS block 146 logged at journal block 311 (flags 0x2) - FS block 163 logged at journal block 312 (flags 0x2) - FS block 145 logged at journal block 313 (flags 0x2) - FS block 148 logged at journal block 314 (flags 0x2) - FS block 164 logged at journal block 315 (flags 0x2) - FS block 161 logged at journal block 316 (flags 0x2) - FS block 165 logged at journal block 317 (flags 0x2) - FS block 674 logged at journal block 318 (flags 0x2) - FS block 1541 logged at journal block 319 (flags 0x2) - FS block 166 logged at journal block 320 (flags 0x2) - FS block 167 logged at journal block 321 (flags 0x2) - FS block 1556 logged at journal block 322 (flags 0x2) - FS block 168 logged at journal block 323 (flags 0x2) - FS block 1618 logged at journal block 324 (flags 0x2) - FS block 169 logged at journal block 325 (flags 0x2) - FS block 1187 logged at journal block 326 (flags 0x2) - FS block 170 logged at journal block 327 (flags 0x2) - FS block 1188 logged at journal block 328 (flags 0x2) - FS block 171 logged at journal block 329 (flags 0x2) - FS block 1619 logged at journal block 330 (flags 0x2) - FS block 172 logged at journal block 331 (flags 0x2) - FS block 1620 logged at journal block 332 (flags 0x2) - FS block 173 logged at journal block 333 (flags 0x2) - FS block 149 logged at journal block 334 (flags 0x2) - FS block 174 logged at journal block 335 (flags 0x2) - FS block 675 logged at journal block 336 (flags 0x2) - FS block 150 logged at journal block 337 (flags 0x2) - FS block 175 logged at journal block 338 (flags 0x2) - FS block 176 logged at journal block 339 (flags 0x2) - FS block 151 logged at journal block 340 (flags 0x2) - FS block 177 logged at journal block 341 (flags 0x2) - FS block 152 logged at journal block 342 (flags 0x2) - FS block 178 logged at journal block 343 (flags 0x2) - FS block 1189 logged at journal block 344 (flags 0x2) - FS block 179 logged at journal block 345 (flags 0x2) - FS block 1190 logged at journal block 346 (flags 0x2) - FS block 180 logged at journal block 347 (flags 0x2) - FS block 1191 logged at journal block 348 (flags 0x2) - FS block 181 logged at journal block 349 (flags 0x2) - FS block 1192 logged at journal block 350 (flags 0x2) - FS block 182 logged at journal block 351 (flags 0x2) - FS block 1621 logged at journal block 352 (flags 0x2) - FS block 183 logged at journal block 353 (flags 0x2) - FS block 676 logged at journal block 354 (flags 0x2) - FS block 1622 logged at journal block 355 (flags 0x2) - FS block 184 logged at journal block 356 (flags 0x2) - FS block 185 logged at journal block 357 (flags 0x2) - FS block 1623 logged at journal block 358 (flags 0x2) - FS block 186 logged at journal block 359 (flags 0x2) - FS block 1624 logged at journal block 360 (flags 0x2) - FS block 187 logged at journal block 361 (flags 0x2) - FS block 153 logged at journal block 362 (flags 0x2) - FS block 188 logged at journal block 363 (flags 0x2) - FS block 154 logged at journal block 364 (flags 0x2) - FS block 189 logged at journal block 365 (flags 0x2) - FS block 155 logged at journal block 366 (flags 0xa) -Found expected sequence 33, type 1 (descriptor block) at block 367 -Dumping descriptor block, sequence 33, at block 367: - FS block 190 logged at journal block 368 (flags 0x0) - FS block 156 logged at journal block 369 (flags 0x2) - FS block 191 logged at journal block 370 (flags 0x2) - FS block 157 logged at journal block 371 (flags 0x2) - FS block 192 logged at journal block 372 (flags 0x2) - FS block 677 logged at journal block 373 (flags 0x2) - FS block 158 logged at journal block 374 (flags 0x2) - FS block 159 logged at journal block 375 (flags 0x2) - FS block 193 logged at journal block 376 (flags 0x2) - FS block 194 logged at journal block 377 (flags 0x2) - FS block 160 logged at journal block 378 (flags 0x2) - FS block 195 logged at journal block 379 (flags 0x2) - FS block 1193 logged at journal block 380 (flags 0x2) - FS block 196 logged at journal block 381 (flags 0x2) - FS block 1194 logged at journal block 382 (flags 0x2) - FS block 197 logged at journal block 383 (flags 0x2) - FS block 1195 logged at journal block 384 (flags 0x2) - FS block 198 logged at journal block 385 (flags 0x2) - FS block 1196 logged at journal block 386 (flags 0x2) - FS block 199 logged at journal block 387 (flags 0x2) - FS block 1197 logged at journal block 388 (flags 0x2) - FS block 200 logged at journal block 389 (flags 0x2) - FS block 678 logged at journal block 390 (flags 0x2) - FS block 1198 logged at journal block 391 (flags 0x2) - FS block 201 logged at journal block 392 (flags 0x2) - FS block 1199 logged at journal block 393 (flags 0x2) - FS block 202 logged at journal block 394 (flags 0x2) - FS block 203 logged at journal block 395 (flags 0x2) - FS block 1200 logged at journal block 396 (flags 0x2) - FS block 204 logged at journal block 397 (flags 0x2) - FS block 1625 logged at journal block 398 (flags 0x2) - FS block 205 logged at journal block 399 (flags 0x2) - FS block 1626 logged at journal block 400 (flags 0x2) - FS block 206 logged at journal block 401 (flags 0x2) - FS block 1627 logged at journal block 402 (flags 0x2) - FS block 207 logged at journal block 403 (flags 0x2) - FS block 1628 logged at journal block 404 (flags 0x2) - FS block 208 logged at journal block 405 (flags 0x2) - FS block 1629 logged at journal block 406 (flags 0x2) - FS block 209 logged at journal block 407 (flags 0x2) - FS block 679 logged at journal block 408 (flags 0x2) - FS block 1630 logged at journal block 409 (flags 0x2) - FS block 210 logged at journal block 410 (flags 0x2) - FS block 1631 logged at journal block 411 (flags 0x2) - FS block 211 logged at journal block 412 (flags 0x2) - FS block 212 logged at journal block 413 (flags 0x2) - FS block 1632 logged at journal block 414 (flags 0x2) - FS block 213 logged at journal block 415 (flags 0x2) - FS block 1201 logged at journal block 416 (flags 0x2) - FS block 214 logged at journal block 417 (flags 0x2) - FS block 1202 logged at journal block 418 (flags 0x2) - FS block 215 logged at journal block 419 (flags 0x2) - FS block 1203 logged at journal block 420 (flags 0xa) -Found expected sequence 33, type 2 (commit block) at block 421 -Found expected sequence 34, type 1 (descriptor block) at block 422 -Dumping descriptor block, sequence 34, at block 422: - FS block 146 logged at journal block 423 (flags 0x0) - FS block 2 logged at journal block 424 (flags 0x2) - FS block 215 logged at journal block 425 (flags 0x2) - FS block 679 logged at journal block 426 (flags 0x2) - FS block 1203 logged at journal block 427 (flags 0x2) - FS block 131 logged at journal block 428 (flags 0x2) - FS block 216 logged at journal block 429 (flags 0x2) - FS block 147 logged at journal block 430 (flags 0x2) - FS block 130 logged at journal block 431 (flags 0x2) - FS block 1204 logged at journal block 432 (flags 0x2) - FS block 677 logged at journal block 433 (flags 0x2) - FS block 158 logged at journal block 434 (flags 0x2) - FS block 217 logged at journal block 435 (flags 0x2) - FS block 1542 logged at journal block 436 (flags 0x2) - FS block 218 logged at journal block 437 (flags 0x2) - FS block 680 logged at journal block 438 (flags 0x2) - FS block 1555 logged at journal block 439 (flags 0x2) - FS block 219 logged at journal block 440 (flags 0x2) - FS block 1543 logged at journal block 441 (flags 0x2) - FS block 220 logged at journal block 442 (flags 0x2) - FS block 221 logged at journal block 443 (flags 0x2) - FS block 1544 logged at journal block 444 (flags 0x2) - FS block 222 logged at journal block 445 (flags 0x2) - FS block 1553 logged at journal block 446 (flags 0x2) - FS block 162 logged at journal block 447 (flags 0x2) - FS block 132 logged at journal block 448 (flags 0x2) - FS block 1554 logged at journal block 449 (flags 0x2) - FS block 223 logged at journal block 450 (flags 0x2) - FS block 1617 logged at journal block 451 (flags 0x2) - FS block 224 logged at journal block 452 (flags 0x2) - FS block 1205 logged at journal block 453 (flags 0x2) - FS block 225 logged at journal block 454 (flags 0x2) - FS block 1206 logged at journal block 455 (flags 0x2) - FS block 226 logged at journal block 456 (flags 0x2) - FS block 681 logged at journal block 457 (flags 0x2) - FS block 1207 logged at journal block 458 (flags 0x2) - FS block 227 logged at journal block 459 (flags 0x2) - FS block 1208 logged at journal block 460 (flags 0x2) - FS block 228 logged at journal block 461 (flags 0x2) - FS block 1537 logged at journal block 462 (flags 0x2) - FS block 229 logged at journal block 463 (flags 0x2) - FS block 230 logged at journal block 464 (flags 0x2) - FS block 1538 logged at journal block 465 (flags 0x2) - FS block 231 logged at journal block 466 (flags 0x2) - FS block 1539 logged at journal block 467 (flags 0x2) - FS block 232 logged at journal block 468 (flags 0x2) - FS block 1540 logged at journal block 469 (flags 0x2) - FS block 233 logged at journal block 470 (flags 0x2) - FS block 1557 logged at journal block 471 (flags 0x2) - FS block 234 logged at journal block 472 (flags 0x2) - FS block 1558 logged at journal block 473 (flags 0x2) - FS block 235 logged at journal block 474 (flags 0x2) - FS block 682 logged at journal block 475 (flags 0x2) - FS block 1559 logged at journal block 476 (flags 0x2) - FS block 236 logged at journal block 477 (flags 0x2) - FS block 1560 logged at journal block 478 (flags 0x2) - FS block 237 logged at journal block 479 (flags 0x2) - FS block 1209 logged at journal block 480 (flags 0x2) - FS block 238 logged at journal block 481 (flags 0x2) - FS block 239 logged at journal block 482 (flags 0x2) - FS block 1210 logged at journal block 483 (flags 0x2) - FS block 240 logged at journal block 484 (flags 0x2) - FS block 1211 logged at journal block 485 (flags 0x2) - FS block 241 logged at journal block 486 (flags 0x2) - FS block 1212 logged at journal block 487 (flags 0x2) - FS block 242 logged at journal block 488 (flags 0x2) - FS block 1213 logged at journal block 489 (flags 0x2) - FS block 243 logged at journal block 490 (flags 0x2) - FS block 1214 logged at journal block 491 (flags 0x2) - FS block 244 logged at journal block 492 (flags 0x2) - FS block 683 logged at journal block 493 (flags 0x2) - FS block 1215 logged at journal block 494 (flags 0x2) - FS block 245 logged at journal block 495 (flags 0x2) - FS block 1216 logged at journal block 496 (flags 0x2) - FS block 246 logged at journal block 497 (flags 0x2) - FS block 1545 logged at journal block 498 (flags 0x2) - FS block 247 logged at journal block 499 (flags 0x2) - FS block 248 logged at journal block 500 (flags 0x2) - FS block 1546 logged at journal block 501 (flags 0x2) - FS block 249 logged at journal block 502 (flags 0x2) - FS block 1547 logged at journal block 503 (flags 0xa) -Found expected sequence 34, type 1 (descriptor block) at block 504 -Dumping descriptor block, sequence 34, at block 504: - FS block 250 logged at journal block 505 (flags 0x0) - FS block 1548 logged at journal block 506 (flags 0x2) - FS block 251 logged at journal block 507 (flags 0x2) - FS block 1549 logged at journal block 508 (flags 0x2) - FS block 1550 logged at journal block 509 (flags 0x2) - FS block 252 logged at journal block 510 (flags 0x2) - FS block 684 logged at journal block 511 (flags 0x2) - FS block 1551 logged at journal block 512 (flags 0x2) - FS block 253 logged at journal block 513 (flags 0x2) - FS block 1552 logged at journal block 514 (flags 0x2) - FS block 254 logged at journal block 515 (flags 0x2) - FS block 1561 logged at journal block 516 (flags 0x2) - FS block 255 logged at journal block 517 (flags 0x2) - FS block 1562 logged at journal block 518 (flags 0x2) - FS block 256 logged at journal block 519 (flags 0x2) - FS block 257 logged at journal block 520 (flags 0x2) - FS block 1563 logged at journal block 521 (flags 0x2) - FS block 258 logged at journal block 522 (flags 0x2) - FS block 1564 logged at journal block 523 (flags 0x2) - FS block 259 logged at journal block 524 (flags 0x2) - FS block 1565 logged at journal block 525 (flags 0x2) - FS block 260 logged at journal block 526 (flags 0x2) - FS block 1566 logged at journal block 527 (flags 0x2) - FS block 261 logged at journal block 528 (flags 0x2) - FS block 685 logged at journal block 529 (flags 0x2) - FS block 1567 logged at journal block 530 (flags 0x2) - FS block 262 logged at journal block 531 (flags 0x2) - FS block 1568 logged at journal block 532 (flags 0x2) - FS block 263 logged at journal block 533 (flags 0x2) - FS block 1601 logged at journal block 534 (flags 0x2) - FS block 264 logged at journal block 535 (flags 0x2) - FS block 1602 logged at journal block 536 (flags 0x2) - FS block 265 logged at journal block 537 (flags 0x2) - FS block 266 logged at journal block 538 (flags 0x2) - FS block 1603 logged at journal block 539 (flags 0x2) - FS block 267 logged at journal block 540 (flags 0x2) - FS block 1604 logged at journal block 541 (flags 0x2) - FS block 268 logged at journal block 542 (flags 0x2) - FS block 1605 logged at journal block 543 (flags 0x2) - FS block 269 logged at journal block 544 (flags 0x2) - FS block 1606 logged at journal block 545 (flags 0x2) - FS block 270 logged at journal block 546 (flags 0x2) - FS block 686 logged at journal block 547 (flags 0x2) - FS block 1607 logged at journal block 548 (flags 0x2) - FS block 271 logged at journal block 549 (flags 0x2) - FS block 1608 logged at journal block 550 (flags 0x2) - FS block 272 logged at journal block 551 (flags 0x2) - FS block 1609 logged at journal block 552 (flags 0x2) - FS block 273 logged at journal block 553 (flags 0x2) - FS block 1610 logged at journal block 554 (flags 0x2) - FS block 274 logged at journal block 555 (flags 0x2) - FS block 275 logged at journal block 556 (flags 0x2) - FS block 1611 logged at journal block 557 (flags 0x2) - FS block 276 logged at journal block 558 (flags 0x2) - FS block 1612 logged at journal block 559 (flags 0x2) - FS block 277 logged at journal block 560 (flags 0x2) - FS block 1613 logged at journal block 561 (flags 0x2) - FS block 278 logged at journal block 562 (flags 0x2) - FS block 1614 logged at journal block 563 (flags 0x2) - FS block 279 logged at journal block 564 (flags 0x2) - FS block 687 logged at journal block 565 (flags 0x2) - FS block 1615 logged at journal block 566 (flags 0x2) - FS block 280 logged at journal block 567 (flags 0x2) - FS block 1616 logged at journal block 568 (flags 0x2) - FS block 1569 logged at journal block 569 (flags 0x2) - FS block 281 logged at journal block 570 (flags 0x2) - FS block 1570 logged at journal block 571 (flags 0x2) - FS block 282 logged at journal block 572 (flags 0x2) - FS block 1571 logged at journal block 573 (flags 0x2) - FS block 283 logged at journal block 574 (flags 0x2) - FS block 284 logged at journal block 575 (flags 0x2) - FS block 1572 logged at journal block 576 (flags 0x2) - FS block 285 logged at journal block 577 (flags 0x2) - FS block 1573 logged at journal block 578 (flags 0x2) - FS block 286 logged at journal block 579 (flags 0x2) - FS block 1574 logged at journal block 580 (flags 0x2) - FS block 287 logged at journal block 581 (flags 0x2) - FS block 688 logged at journal block 582 (flags 0x2) - FS block 1575 logged at journal block 583 (flags 0x2) - FS block 288 logged at journal block 584 (flags 0x2) - FS block 1576 logged at journal block 585 (flags 0xa) -Found expected sequence 34, type 1 (descriptor block) at block 586 -Dumping descriptor block, sequence 34, at block 586: - FS block 289 logged at journal block 587 (flags 0x0) - FS block 1577 logged at journal block 588 (flags 0x2) - FS block 290 logged at journal block 589 (flags 0x2) - FS block 1578 logged at journal block 590 (flags 0x2) - FS block 291 logged at journal block 591 (flags 0x2) - FS block 1579 logged at journal block 592 (flags 0x2) - FS block 292 logged at journal block 593 (flags 0x2) - FS block 293 logged at journal block 594 (flags 0x2) - FS block 1580 logged at journal block 595 (flags 0x2) - FS block 294 logged at journal block 596 (flags 0x2) - FS block 1581 logged at journal block 597 (flags 0x2) - FS block 295 logged at journal block 598 (flags 0x2) - FS block 1582 logged at journal block 599 (flags 0x2) - FS block 296 logged at journal block 600 (flags 0x2) - FS block 689 logged at journal block 601 (flags 0x2) - FS block 1583 logged at journal block 602 (flags 0x2) - FS block 297 logged at journal block 603 (flags 0x2) - FS block 1584 logged at journal block 604 (flags 0x2) - FS block 298 logged at journal block 605 (flags 0x2) - FS block 1585 logged at journal block 606 (flags 0x2) - FS block 299 logged at journal block 607 (flags 0x2) - FS block 1586 logged at journal block 608 (flags 0x2) - FS block 300 logged at journal block 609 (flags 0x2) - FS block 1587 logged at journal block 610 (flags 0x2) - FS block 301 logged at journal block 611 (flags 0x2) - FS block 302 logged at journal block 612 (flags 0x2) - FS block 1588 logged at journal block 613 (flags 0x2) - FS block 303 logged at journal block 614 (flags 0x2) - FS block 1589 logged at journal block 615 (flags 0x2) - FS block 304 logged at journal block 616 (flags 0x2) - FS block 1590 logged at journal block 617 (flags 0x2) - FS block 305 logged at journal block 618 (flags 0x2) - FS block 690 logged at journal block 619 (flags 0x2) - FS block 1591 logged at journal block 620 (flags 0x2) - FS block 306 logged at journal block 621 (flags 0x2) - FS block 1592 logged at journal block 622 (flags 0x2) - FS block 307 logged at journal block 623 (flags 0x2) - FS block 1593 logged at journal block 624 (flags 0x2) - FS block 308 logged at journal block 625 (flags 0x2) - FS block 1594 logged at journal block 626 (flags 0x2) - FS block 309 logged at journal block 627 (flags 0x2) - FS block 1595 logged at journal block 628 (flags 0x2) - FS block 1596 logged at journal block 629 (flags 0x2) - FS block 310 logged at journal block 630 (flags 0x2) - FS block 311 logged at journal block 631 (flags 0x2) - FS block 1597 logged at journal block 632 (flags 0x2) - FS block 312 logged at journal block 633 (flags 0x2) - FS block 1598 logged at journal block 634 (flags 0x2) - FS block 313 logged at journal block 635 (flags 0x2) - FS block 691 logged at journal block 636 (flags 0x2) - FS block 1599 logged at journal block 637 (flags 0x2) - FS block 314 logged at journal block 638 (flags 0x2) - FS block 1600 logged at journal block 639 (flags 0xa) -Found expected sequence 34, type 2 (commit block) at block 640 -No magic number at block 641: end of journal. diff --git a/tests/f_jnl_64bit/expect.1 b/tests/f_jnl_64bit/expect.1 deleted file mode 100644 index e360e2fe..00000000 --- a/tests/f_jnl_64bit/expect.1 +++ /dev/null @@ -1,16 +0,0 @@ -test_filesys: recovering journal -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -Free blocks count wrong (14059, counted=12712). -Fix? yes - -Free inodes count wrong (8181, counted=6834). -Fix? yes - - -test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** -test_filesys: 1358/8192 files (0.0% non-contiguous), 3672/16384 blocks -Exit status is 1 diff --git a/tests/f_jnl_64bit/expect.2 b/tests/f_jnl_64bit/expect.2 deleted file mode 100644 index 93cb7300..00000000 --- a/tests/f_jnl_64bit/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 1358/8192 files (0.0% non-contiguous), 3672/16384 blocks -Exit status is 0 diff --git a/tests/f_jnl_64bit/image.gz b/tests/f_jnl_64bit/image.gz deleted file mode 100644 index 9758f903..00000000 Binary files a/tests/f_jnl_64bit/image.gz and /dev/null differ diff --git a/tests/f_jnl_64bit/name b/tests/f_jnl_64bit/name deleted file mode 100644 index 2c8dd15f..00000000 --- a/tests/f_jnl_64bit/name +++ /dev/null @@ -1 +0,0 @@ -on-disk 64-bit journal format diff --git a/tests/f_jnl_64bit/script b/tests/f_jnl_64bit/script deleted file mode 100644 index 9fb4366d..00000000 --- a/tests/f_jnl_64bit/script +++ /dev/null @@ -1,4 +0,0 @@ -PREP_CMD='$DEBUGFS -R "logdump -a" $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed > $test_name.0.log' -PASS_ZERO=true - -. $cmd_dir/run_e2fsck diff --git a/tests/f_jnl_errno/expect.0 b/tests/f_jnl_errno/expect.0 deleted file mode 100644 index 6dad72a1..00000000 --- a/tests/f_jnl_errno/expect.0 +++ /dev/null @@ -1,47 +0,0 @@ -Filesystem volume name: -Last mounted on: -Filesystem magic number: 0xEF53 -Filesystem revision #: 1 (dynamic) -Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize -Default mount options: user_xattr acl -Filesystem state: clean -Errors behavior: Remount read-only -Filesystem OS type: Linux -Inode count: 2048 -Block count: 8192 -Reserved block count: 409 -Free blocks: 6862 -Free inodes: 2037 -First block: 1 -Block size: 1024 -Fragment size: 1024 -Reserved GDT blocks: 31 -Blocks per group: 8192 -Fragments per group: 8192 -Inodes per group: 2048 -Inode blocks per group: 256 -Flex block group size: 16 -Mount count: 0 -Check interval: 0 () -Reserved blocks uid: 0 -Reserved blocks gid: 0 -First inode: 11 -Inode size: 128 -Journal inode: 8 -Default directory hash: half_md4 -Journal backup: inode blocks -Journal features: (none) -Journal size: 1024k -Journal length: 1024 -Journal sequence: 0x00000005 -Journal start: 0 - - -Group 0: (Blocks 1-8191) [ITABLE_ZEROED] - Primary superblock at 1, Group descriptors at 2-2 - Reserved GDT blocks at 3-33 - Block bitmap at 34 (+33), Inode bitmap at 50 (+49) - Inode table at 66-321 (+65) - 6862 free blocks, 2037 free inodes, 2 directories, 2037 unused inodes - Free blocks: 1330-8191 - Free inodes: 12-2048 diff --git a/tests/f_jnl_errno/expect.1 b/tests/f_jnl_errno/expect.1 deleted file mode 100644 index c5729512..00000000 --- a/tests/f_jnl_errno/expect.1 +++ /dev/null @@ -1,9 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information - -test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** -test_filesys: 11/2048 files (9.1% non-contiguous), 1330/8192 blocks -Exit status is 1 diff --git a/tests/f_jnl_errno/expect.2 b/tests/f_jnl_errno/expect.2 deleted file mode 100644 index db16a759..00000000 --- a/tests/f_jnl_errno/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 11/2048 files (9.1% non-contiguous), 1330/8192 blocks -Exit status is 0 diff --git a/tests/f_jnl_errno/image.gz b/tests/f_jnl_errno/image.gz deleted file mode 100644 index c55c775d..00000000 Binary files a/tests/f_jnl_errno/image.gz and /dev/null differ diff --git a/tests/f_jnl_errno/name b/tests/f_jnl_errno/name deleted file mode 100644 index e5f64d6d..00000000 --- a/tests/f_jnl_errno/name +++ /dev/null @@ -1 +0,0 @@ -journal s_errno handling diff --git a/tests/f_jnl_errno/script b/tests/f_jnl_errno/script deleted file mode 100644 index ef5006a8..00000000 --- a/tests/f_jnl_errno/script +++ /dev/null @@ -1,4 +0,0 @@ -AFTER_CMD='$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed > $test_name.0.log' -PASS_ZERO=true - -. $cmd_dir/run_e2fsck diff --git a/tests/f_lpf/expect.1 b/tests/f_lpf/expect.1 index 4f2853c5..6c0a746c 100644 --- a/tests/f_lpf/expect.1 +++ b/tests/f_lpf/expect.1 @@ -30,7 +30,7 @@ Fix? yes Free blocks count wrong for group #0 (24, counted=33). Fix? yes -Free blocks count wrong (38, counted=33). +Free blocks count wrong (24, counted=33). Fix? yes Inode bitmap differences: +13 diff --git a/tests/f_miss_blk_bmap/expect.1 b/tests/f_miss_blk_bmap/expect.1 index 998b61ad..4c51a16e 100644 --- a/tests/f_miss_blk_bmap/expect.1 +++ b/tests/f_miss_blk_bmap/expect.1 @@ -1,4 +1,3 @@ -ext2fs_check_desc: Corrupt group descriptor: bad block for block bitmap Pass 1: Checking inodes, blocks, and sizes Relocating group 0's block bitmap to 2... Pass 2: Checking directory structure diff --git a/tests/f_misstable/expect.1 b/tests/f_misstable/expect.1 index a8cf264e..93d4e899 100644 --- a/tests/f_misstable/expect.1 +++ b/tests/f_misstable/expect.1 @@ -1,4 +1,3 @@ -ext2fs_check_desc: Corrupt group descriptor: bad block for inode table ../e2fsck/e2fsck: Group descriptors look bad... trying backup blocks... Inode table for group 1 is not in group. (block 0) WARNING: SEVERE DATA LOSS POSSIBLE. diff --git a/tests/f_mmp/name b/tests/f_mmp/name deleted file mode 100644 index 20d66d60..00000000 --- a/tests/f_mmp/name +++ /dev/null @@ -1 +0,0 @@ -disable MMP with tune2fs after e2fsck killed diff --git a/tests/f_mmp/script b/tests/f_mmp/script deleted file mode 100644 index d921672e..00000000 --- a/tests/f_mmp/script +++ /dev/null @@ -1,74 +0,0 @@ -FSCK_OPT=-yf - -TMPFILE=$test_name.tmp -> $TMPFILE - -stat -f $TMPFILE | grep -q "Type: tmpfs" -if [ $? = 0 ]; then - rm -f $TMPFILE - echo "$test_name: $test_description: skipped for tmpfs (no O_DIRECT)" - return 0 -fi - -echo "make the test image ..." > $test_name.log -$MKE2FS -q -F -o Linux -b 4096 -O mmp -E mmp_update_interval=1 $TMPFILE 100 >> $test_name.log 2>&1 -status=$? -if [ "$status" != 0 ] ; then - echo "mke2fs -O mmp failed" > $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi - -kill_debugfs() { - trap 0 - PID=$(ps -o pid,command | grep -v awk | - awk "/debugfs -w $TMPFILE/ { print \$1 }") - [ "x$PID" != "x" ] && kill -9 $PID -} - -# this will cause debugfs to create the $test_name.mark file once it has -# passed the MMP startup, then continue reading input until it is killed -MARKFILE=$test_name.new -rm -f $MARKFILE -trap kill_debugfs EXIT -echo "set mmp sequence to EXT2_MMP_SEQ_FSCK..." >> $test_name.log -( { echo dump_mmp; echo "dump_inode <2> $MARKFILE"; cat /dev/zero; } | - $DEBUGFS -w $TMPFILE >> $test_name.log 2>&1 & ) > /dev/null 2>&1 & -echo "wait until debugfs has started ..." >> $test_name.log -while [ ! -e $MARKFILE ]; do - sleep 1 -done -rm -f $MARKFILE -echo "kill debugfs abruptly (simulates e2fsck failure) ..." >> $test_name.log -kill_debugfs - - -echo "e2fsck (should fail mmp_seq = EXT2_MMP_SEQ_FSCK) ..." >> $test_name.log -$FSCK $FSCK_OPT $TMPFILE >> $test_name.log 2>&1 -status=$? -if [ "$status" = 0 ] ; then - echo "e2fsck with MMP as EXT2_MMP_SEQ_FSCK ran!" > $test_name.failed - echo "$test_name: $test_description: failed" - return 1 -fi - -echo "clear mmp_seq with tune2fs ..." >> $test_name.log -$TUNE2FS -f -E clear_mmp $TMPFILE >> $test_name.log 2>&1 -status=$? -if [ "$status" != 0 ] ; then - echo "tune2fs clearing EXT2_MMP_SEQ_FSCK failed" > $test_name.failed - echo "$test_name: $test_description: failed" - return 1 -fi - -echo "run e2fsck again (should pass with clean mmp_seq) ..." >> $test_name.log -$FSCK $FSCK_OPT $TMPFILE >> $test_name.log 2>&1 -status=$? -if [ "$status" != 0 ] ; then - echo "e2fsck after clearing EXT2_MMP_SEQ_FSCK failed"> $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi - -echo "$test_name: $test_description: ok" -rm -f $TMPFILE diff --git a/tests/f_mmp_garbage/expect.1 b/tests/f_mmp_garbage/expect.1 deleted file mode 100644 index a8add101..00000000 --- a/tests/f_mmp_garbage/expect.1 +++ /dev/null @@ -1,9 +0,0 @@ -Superblock has invalid MMP magic. Fix? yes - -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 11/64 files (0.0% non-contiguous), 13/100 blocks -Exit status is 0 diff --git a/tests/f_mmp_garbage/expect.2 b/tests/f_mmp_garbage/expect.2 deleted file mode 100644 index 66300025..00000000 --- a/tests/f_mmp_garbage/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 11/64 files (0.0% non-contiguous), 13/100 blocks -Exit status is 0 diff --git a/tests/f_mmp_garbage/name b/tests/f_mmp_garbage/name deleted file mode 100644 index 17e0b141..00000000 --- a/tests/f_mmp_garbage/name +++ /dev/null @@ -1 +0,0 @@ -repair MMP when it is corrupted diff --git a/tests/f_mmp_garbage/script b/tests/f_mmp_garbage/script deleted file mode 100644 index 02cc12a4..00000000 --- a/tests/f_mmp_garbage/script +++ /dev/null @@ -1,27 +0,0 @@ -FSCK_OPT=-yf - -TMPFILE=$test_name.tmp -> $TMPFILE - -stat -f $TMPFILE | grep -q "Type: tmpfs" -if [ $? = 0 ] ; then - rm -f $TMPFILE - echo "$test_name: $test_description: skipped for tmpfs (no O_DIRECT)" - return 0 -fi - -echo "make the test image ..." > $test_name.log -$MKE2FS -q -F -o Linux -b 4096 -O mmp -E mmp_update_interval=1 $TMPFILE 100 >> $test_name.log 2>&1 -status=$? -if [ "$status" != 0 ] ; then - echo "mke2fs -O mmp failed" > $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi - -# create a corrupted image -echo "modify the mmp sequence ..." >> $test_name.log -$DEBUGFS -w -R "set_mmp_value magic 0x12345678" $TMPFILE >> $test_name.log 2>&1 - -SKIP_GUNZIP=true -. $cmd_dir/run_e2fsck diff --git a/tests/f_okgroup/expect.1 b/tests/f_okgroup/expect.1 index 7d29741f..6f44d891 100644 --- a/tests/f_okgroup/expect.1 +++ b/tests/f_okgroup/expect.1 @@ -5,5 +5,7 @@ Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** test_filesys: 11/2048 files (0.0% non-contiguous), 274/8193 blocks -Exit status is 0 +Exit status is 1 diff --git a/tests/f_orphan_dotdot_ft/expect.1 b/tests/f_orphan_dotdot_ft/expect.1 index 6a1373f2..ac309e8a 100644 --- a/tests/f_orphan_dotdot_ft/expect.1 +++ b/tests/f_orphan_dotdot_ft/expect.1 @@ -7,23 +7,23 @@ Pass 2: Checking directory structure Entry 'dir' in / (2) has an incorrect filetype (was 2, should be 6). Fix? yes -Entry '..' in <12>/<13> (13) has an incorrect filetype (was 2, should be 6). +Entry '..' in ??? (13) has an incorrect filetype (was 2, should be 6). Fix? yes -Entry '..' in <12>/<14> (14) has an incorrect filetype (was 2, should be 6). +Entry '..' in ??? (14) has an incorrect filetype (was 2, should be 6). Fix? yes -Entry '..' in <12>/<15> (15) has an incorrect filetype (was 2, should be 6). +Entry '..' in ??? (15) has an incorrect filetype (was 2, should be 6). Fix? yes Pass 3: Checking directory connectivity -Unconnected directory inode 13 (<12>/<13>) +Unconnected directory inode 13 (???) Connect to /lost+found? yes -Unconnected directory inode 14 (<12>/<14>) +Unconnected directory inode 14 (???) Connect to /lost+found? yes -Unconnected directory inode 15 (<12>/<15>) +Unconnected directory inode 15 (???) Connect to /lost+found? yes Pass 4: Checking reference counts diff --git a/tests/f_orphan_extents_inode/expect.1 b/tests/f_orphan_extents_inode/expect.1 deleted file mode 100644 index 2eaab78a..00000000 --- a/tests/f_orphan_extents_inode/expect.1 +++ /dev/null @@ -1,10 +0,0 @@ -Truncating orphaned inode 12 (uid=0, gid=0, mode=0100644, size=0) -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information - -test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** -test_filesys: 12/16 files (0.0% non-contiguous), 21/100 blocks -Exit status is 1 diff --git a/tests/f_orphan_extents_inode/expect.2 b/tests/f_orphan_extents_inode/expect.2 deleted file mode 100644 index 4ee5d96a..00000000 --- a/tests/f_orphan_extents_inode/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 12/16 files (0.0% non-contiguous), 21/100 blocks -Exit status is 0 diff --git a/tests/f_orphan_extents_inode/image.gz b/tests/f_orphan_extents_inode/image.gz deleted file mode 100644 index 6c57fef5..00000000 Binary files a/tests/f_orphan_extents_inode/image.gz and /dev/null differ diff --git a/tests/f_orphan_extents_inode/name b/tests/f_orphan_extents_inode/name deleted file mode 100644 index fc48ec2a..00000000 --- a/tests/f_orphan_extents_inode/name +++ /dev/null @@ -1 +0,0 @@ -truncating an orphaned extent-mapped inode diff --git a/tests/f_orphan_indirect_inode/expect.1 b/tests/f_orphan_indirect_inode/expect.1 deleted file mode 100644 index 814a6888..00000000 --- a/tests/f_orphan_indirect_inode/expect.1 +++ /dev/null @@ -1,3 +0,0 @@ -test_filesys: Truncating orphaned inode 12 (uid=0, gid=0, mode=0100644, size=0) -test_filesys: clean, 12/16 files, 21/100 blocks -Exit status is 0 diff --git a/tests/f_orphan_indirect_inode/expect.2 b/tests/f_orphan_indirect_inode/expect.2 deleted file mode 100644 index 4ee5d96a..00000000 --- a/tests/f_orphan_indirect_inode/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 12/16 files (0.0% non-contiguous), 21/100 blocks -Exit status is 0 diff --git a/tests/f_orphan_indirect_inode/image.gz b/tests/f_orphan_indirect_inode/image.gz deleted file mode 100644 index 54b39094..00000000 Binary files a/tests/f_orphan_indirect_inode/image.gz and /dev/null differ diff --git a/tests/f_orphan_indirect_inode/name b/tests/f_orphan_indirect_inode/name deleted file mode 100644 index 04ccb312..00000000 --- a/tests/f_orphan_indirect_inode/name +++ /dev/null @@ -1 +0,0 @@ -truncating an orphaned inode in preen mode diff --git a/tests/f_orphan_indirect_inode/script b/tests/f_orphan_indirect_inode/script deleted file mode 100644 index ea3b93a3..00000000 --- a/tests/f_orphan_indirect_inode/script +++ /dev/null @@ -1,2 +0,0 @@ -FSCK_OPT=-p -. $cmd_dir/run_e2fsck diff --git a/tests/f_overfsblks/expect.1 b/tests/f_overfsblks/expect.1 index e5b93f0d..60f77d55 100644 --- a/tests/f_overfsblks/expect.1 +++ b/tests/f_overfsblks/expect.1 @@ -1,4 +1,3 @@ -ext2fs_check_desc: Corrupt group descriptor: bad block for inode bitmap Filesystem did not have a UUID; generating one. Pass 1: Checking inodes, blocks, and sizes diff --git a/tests/f_preen/expect.1 b/tests/f_preen/expect.1 index dd20572a..c65209dd 100644 --- a/tests/f_preen/expect.1 +++ b/tests/f_preen/expect.1 @@ -1,4 +1,3 @@ -test_filesys: Note: if several inode or block bitmap blocks or part of the inode table require relocation, you may wish to try running e2fsck with the '-b 8193' option first. The problem may lie only with the primary block group descriptors, and diff --git a/tests/f_rehash_dir/name b/tests/f_rehash_dir/name deleted file mode 100644 index a7a869a4..00000000 --- a/tests/f_rehash_dir/name +++ /dev/null @@ -1 +0,0 @@ -optimize htree directories diff --git a/tests/f_resize_inode/expect b/tests/f_resize_inode/expect index 3fffe44d..3af16c30 100644 --- a/tests/f_resize_inode/expect +++ b/tests/f_resize_inode/expect @@ -14,9 +14,8 @@ Maximum filesystem blocks=8421376 Superblock backups stored on blocks: 1025, 3073, 5121, 7169, 9217 -Allocating group tables: done -Writing inode tables: done -Writing superblocks and filesystem accounting information: done +Writing inode tables: 0/16 1/16 2/16 3/16 4/16 5/16 6/16 7/16 8/16 9/1610/1611/1612/1613/1614/1615/16done +Writing superblocks and filesystem accounting information: done Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure @@ -27,7 +26,7 @@ test_filesys: 11/4096 files (0.0% non-contiguous), 2107/16384 blocks Exit status is 0 ----------------------------------------------- -debugfs -R ''set_inode_field <7> block[2] 42'' -w test.img +debugfs -R ''set_inode_field <7> block[2] 42'' -w ./test.img Exit status is 0 Resize inode not valid. Recreate? yes @@ -55,7 +54,7 @@ test_filesys: 11/4096 files (0.0% non-contiguous), 2107/16384 blocks Exit status is 0 ----------------------------------------------- -debugfs -R ''clri <7>'' -w test.img +debugfs -R ''clri <7>'' -w ./test.img Exit status is 0 Resize inode not valid. Recreate? yes @@ -83,7 +82,7 @@ test_filesys: 11/4096 files (0.0% non-contiguous), 2107/16384 blocks Exit status is 0 ----------------------------------------------- -debugfs -R ''set_inode_field <7> bmap[524] 57'' -w test.img +debugfs -R ''set_inode_field <7> bmap[524] 57'' -w ./test.img Exit status is 0 Resize inode not valid. Recreate? yes @@ -111,9 +110,8 @@ test_filesys: 11/4096 files (0.0% non-contiguous), 2107/16384 blocks Exit status is 0 ----------------------------------------------- -debugfs -R ''set_super_value reserved_gdt_blocks 15679'' -w test.img +debugfs -R ''set_super_value reserved_gdt_blocks 15679'' -w ./test.img Exit status is 0 -ext2fs_check_desc: Corrupt group descriptor: bad block for block bitmap ../e2fsck/e2fsck: Group descriptors look bad... trying backup blocks... Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure @@ -126,7 +124,7 @@ test_filesys: 11/4096 files (0.0% non-contiguous), 2107/16384 blocks Exit status is 1 ----------------------------------------------- -debugfs -R ''set_super_value reserved_gdt_blocks 32'' -w test.img +debugfs -R ''set_super_value reserved_gdt_blocks 32'' -w ./test.img Exit status is 0 Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure diff --git a/tests/f_resize_inode/script b/tests/f_resize_inode/script index 190871b4..75d90fee 100644 --- a/tests/f_resize_inode/script +++ b/tests/f_resize_inode/script @@ -1,10 +1,8 @@ -if test -x $DEBUGFS_EXE; then - -test_description="e2fsck with resize_inode" +printf "e2fsck with resize_inode: " FSCK_OPT=-yf OUT=$test_name.log if [ -f $test_dir/expect.gz ]; then - EXP=$test_name.tmp + EXP=tmp_expect gunzip < $test_dir/expect.gz > $EXP1 else EXP=$test_dir/expect @@ -15,129 +13,128 @@ cp /dev/null $OUT dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1 echo mke2fs -F -O resize_inode -o Linux -b 1024 -g 1024 test.img 16384 > $OUT -$MKE2FS -F -O resize_inode -o Linux -b 1024 -g 1024 $TMPFILE 16384 2>&1 | - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT +$MKE2FS -F -O resize_inode -o Linux -b 1024 -g 1024 $TMPFILE 16384 2>&1 \ + | sed -e '1d' | grep -v "automatically checked" | + grep -v "whichever comes first" >> $OUT $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new echo ----------------------------------------------- >> $OUT echo " " >> $OUT -echo "debugfs -R ''set_inode_field <7> block[2] 42'' -w test.img" > $OUT.new +echo "debugfs -R ''set_inode_field <7> block[2] 42'' -w $TMPFILE" > $OUT.new $DEBUGFS -R "set_inode_field <7> block[2] 42" -w $TMPFILE >> $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '2d' $OUT.new >> $OUT $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new echo ----------------------------------------------- >> $OUT echo " " >> $OUT -echo "debugfs -R ''clri <7>'' -w test.img" > $OUT.new +echo "debugfs -R ''clri <7>'' -w $TMPFILE" > $OUT.new $DEBUGFS -R "clri <7>" -w $TMPFILE >> $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '2d' $OUT.new >> $OUT $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new echo ----------------------------------------------- >> $OUT echo " " >> $OUT -echo "debugfs -R ''set_inode_field <7> bmap[524] 57'' -w test.img" > $OUT.new +echo "debugfs -R ''set_inode_field <7> bmap[524] 57'' -w $TMPFILE" > $OUT.new $DEBUGFS -R "set_inode_field <7> bmap[524] 57" -w $TMPFILE >> $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '2d' $OUT.new >> $OUT $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new echo ----------------------------------------------- >> $OUT echo " " >> $OUT -echo "debugfs -R ''set_super_value reserved_gdt_blocks 15679'' -w test.img" > $OUT.new +echo "debugfs -R ''set_super_value reserved_gdt_blocks 15679'' -w $TMPFILE" > $OUT.new $DEBUGFS -R "set_super_value reserved_gdt_blocks 15679" -w $TMPFILE >> $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '2d' $OUT.new >> $OUT $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new echo ----------------------------------------------- >> $OUT echo " " >> $OUT -echo "debugfs -R ''set_super_value reserved_gdt_blocks 32'' -w test.img" > $OUT.new +echo "debugfs -R ''set_super_value reserved_gdt_blocks 32'' -w $TMPFILE" > $OUT.new $DEBUGFS -R "set_super_value reserved_gdt_blocks 32" -w $TMPFILE >> $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '2d' $OUT.new >> $OUT $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new +rm -f $test_name.ok $test_name.failed cmp -s $OUT $EXP status=$? if [ "$status" = 0 ] ; then - echo "$test_name: $test_description: ok" + echo "ok" touch $test_name.ok else - echo "$test_name: $test_description: failed" + echo "failed" diff $DIFF_OPTS $EXP $OUT > $test_name.failed rm -f tmp_expect fi unset IMAGE FSCK_OPT OUT EXP -else #if test -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi diff --git a/tests/f_summary_counts/expect.1 b/tests/f_summary_counts/expect.1 index ddb14bd6..5c528bb4 100644 --- a/tests/f_summary_counts/expect.1 +++ b/tests/f_summary_counts/expect.1 @@ -7,12 +7,18 @@ Pass 5: Checking group summary information Free blocks count wrong for group #0 (200, counted=80). Fix? yes +Free blocks count wrong (200, counted=80). +Fix? yes + Free inodes count wrong for group #0 (250, counted=5). Fix? yes Directories count wrong for group #0 (150, counted=2). Fix? yes +Free inodes count wrong (250, counted=5). +Fix? yes + test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** test_filesys: 11/16 files (0.0% non-contiguous), 20/100 blocks diff --git a/tests/f_toobig_extent_dir/expect.1 b/tests/f_toobig_extent_dir/expect.1 deleted file mode 100644 index 610ca3f0..00000000 --- a/tests/f_toobig_extent_dir/expect.1 +++ /dev/null @@ -1,12 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Inode 12 is too big. Truncate? yes - -Block #4294967281 (90) causes directory to be too big. CLEARED. -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information - -test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** -test_filesys: 12/56 files (0.0% non-contiguous), 28/400 blocks -Exit status is 1 diff --git a/tests/f_toobig_extent_dir/expect.2 b/tests/f_toobig_extent_dir/expect.2 deleted file mode 100644 index c0256452..00000000 --- a/tests/f_toobig_extent_dir/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 12/56 files (0.0% non-contiguous), 28/400 blocks -Exit status is 0 diff --git a/tests/f_toobig_extent_dir/image.gz b/tests/f_toobig_extent_dir/image.gz deleted file mode 100644 index 622f65a0..00000000 Binary files a/tests/f_toobig_extent_dir/image.gz and /dev/null differ diff --git a/tests/f_toobig_extent_dir/name b/tests/f_toobig_extent_dir/name deleted file mode 100644 index d7453ad3..00000000 --- a/tests/f_toobig_extent_dir/name +++ /dev/null @@ -1 +0,0 @@ -directory with a very large lblk in extent diff --git a/tests/f_uninit_ext_past_eof/expect.1 b/tests/f_uninit_ext_past_eof/expect.1 deleted file mode 100644 index 762159c9..00000000 --- a/tests/f_uninit_ext_past_eof/expect.1 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 12/1024 files (16.7% non-contiguous), 1227/4096 blocks -Exit status is 0 diff --git a/tests/f_uninit_ext_past_eof/expect.2 b/tests/f_uninit_ext_past_eof/expect.2 deleted file mode 100644 index 762159c9..00000000 --- a/tests/f_uninit_ext_past_eof/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 12/1024 files (16.7% non-contiguous), 1227/4096 blocks -Exit status is 0 diff --git a/tests/f_uninit_ext_past_eof/image.gz b/tests/f_uninit_ext_past_eof/image.gz deleted file mode 100644 index 0b691580..00000000 Binary files a/tests/f_uninit_ext_past_eof/image.gz and /dev/null differ diff --git a/tests/f_uninit_ext_past_eof/name b/tests/f_uninit_ext_past_eof/name deleted file mode 100644 index 9e0c6e02..00000000 --- a/tests/f_uninit_ext_past_eof/name +++ /dev/null @@ -1 +0,0 @@ -fallocated extents after i_size diff --git a/tests/f_uninit_ext_past_eof2/expect.1 b/tests/f_uninit_ext_past_eof2/expect.1 deleted file mode 100644 index eb8248e4..00000000 --- a/tests/f_uninit_ext_past_eof2/expect.1 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 12/16 files (8.3% non-contiguous), 70/100 blocks -Exit status is 0 diff --git a/tests/f_uninit_ext_past_eof2/expect.2 b/tests/f_uninit_ext_past_eof2/expect.2 deleted file mode 100644 index eb8248e4..00000000 --- a/tests/f_uninit_ext_past_eof2/expect.2 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 12/16 files (8.3% non-contiguous), 70/100 blocks -Exit status is 0 diff --git a/tests/f_uninit_ext_past_eof2/image.gz b/tests/f_uninit_ext_past_eof2/image.gz deleted file mode 100644 index c739e499..00000000 Binary files a/tests/f_uninit_ext_past_eof2/image.gz and /dev/null differ diff --git a/tests/f_uninit_ext_past_eof2/name b/tests/f_uninit_ext_past_eof2/name deleted file mode 100644 index 352a0f56..00000000 --- a/tests/f_uninit_ext_past_eof2/name +++ /dev/null @@ -1 +0,0 @@ -fallocated extents after nonzero i_size and total extents > 4 diff --git a/tests/f_uninit_last_uninit/script b/tests/f_uninit_last_uninit/script index 2fe4f3a0..87003292 100644 --- a/tests/f_uninit_last_uninit/script +++ b/tests/f_uninit_last_uninit/script @@ -1,5 +1,3 @@ -if test -x $DEBUGFS_EXE; then - SKIP_GUNZIP="true" touch $TMPFILE @@ -20,7 +18,3 @@ export E2FSCK_TIME . $cmd_dir/run_e2fsck unset E2FSCK_TIME - -else #if test -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi diff --git a/tests/f_unused_itable/expect.1 b/tests/f_unused_itable/expect.1 index a4da987e..d77e82a5 100644 --- a/tests/f_unused_itable/expect.1 +++ b/tests/f_unused_itable/expect.1 @@ -9,8 +9,8 @@ Fix? yes Restarting e2fsck from the beginning... One or more block group descriptor checksums are invalid. Fix? yes -Group descriptor 0 checksum is 0x289d, should be 0x788a. FIXED. -Group descriptor 1 checksum is 0xfaab, should be 0x3a9a. FIXED. +Group descriptor 0 checksum is invalid. FIXED. +Group descriptor 1 checksum is invalid. FIXED. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity @@ -22,6 +22,9 @@ Fix? yes Free inodes count wrong for group #1 (64, counted=58). Fix? yes +Free inodes count wrong (117, counted=109). +Fix? yes + test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** test_filesys: 19/128 files (0.0% non-contiguous), 165/1000 blocks diff --git a/tests/f_unused_itable/name b/tests/f_unused_itable/name index e129137c..39b68d64 100644 --- a/tests/f_unused_itable/name +++ b/tests/f_unused_itable/name @@ -1 +1 @@ -Don't move files to lost+found for bg_unused_itable +Invalid bg_unused_itable shouldn't move files to lost+found diff --git a/tests/f_zero_group/expect.1 b/tests/f_zero_group/expect.1 index 2a077674..577dadd4 100644 --- a/tests/f_zero_group/expect.1 +++ b/tests/f_zero_group/expect.1 @@ -1,4 +1,3 @@ -ext2fs_check_desc: Corrupt group descriptor: bad block for block bitmap ../e2fsck/e2fsck: Group descriptors look bad... trying backup blocks... Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure diff --git a/tests/f_zero_inode_size/expect.1 b/tests/f_zero_inode_size/expect.1 index b8bd7da2..9202131f 100644 --- a/tests/f_zero_inode_size/expect.1 +++ b/tests/f_zero_inode_size/expect.1 @@ -1,4 +1,3 @@ -ext2fs_open2: The ext2 superblock is corrupt ../e2fsck/e2fsck: Superblock invalid, trying backup blocks... Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure diff --git a/tests/f_zero_super/expect.1 b/tests/f_zero_super/expect.1 index e2b954d0..029f3f14 100644 --- a/tests/f_zero_super/expect.1 +++ b/tests/f_zero_super/expect.1 @@ -1,4 +1,3 @@ -ext2fs_open2: Bad magic number in super-block ../e2fsck/e2fsck: Superblock invalid, trying backup blocks... Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure diff --git a/tests/f_zero_xattr/expect.1 b/tests/f_zero_xattr/expect.1 deleted file mode 100644 index 0733af6e..00000000 --- a/tests/f_zero_xattr/expect.1 +++ /dev/null @@ -1,7 +0,0 @@ -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 12/24 files (0.0% non-contiguous), 25/200 blocks -Exit status is 0 diff --git a/tests/f_zero_xattr/image.gz b/tests/f_zero_xattr/image.gz deleted file mode 100644 index 40055520..00000000 Binary files a/tests/f_zero_xattr/image.gz and /dev/null differ diff --git a/tests/f_zero_xattr/name b/tests/f_zero_xattr/name deleted file mode 100644 index 52aab152..00000000 --- a/tests/f_zero_xattr/name +++ /dev/null @@ -1 +0,0 @@ -zero length extended attribute in in-inode xattr diff --git a/tests/f_zero_xattr/script b/tests/f_zero_xattr/script deleted file mode 100644 index 8ab2b9c6..00000000 --- a/tests/f_zero_xattr/script +++ /dev/null @@ -1,2 +0,0 @@ -ONE_PASS_ONLY="true" -. $cmd_dir/run_e2fsck diff --git a/tests/filter.sed b/tests/filter.sed deleted file mode 100644 index 91b956b7..00000000 --- a/tests/filter.sed +++ /dev/null @@ -1,19 +0,0 @@ -/^[dbgumpe2fsckrsiz]* [1-9]\.[0-9]*[.-][^ ]* ([0-9]*-[A-Za-z]*-[0-9]*)/d -s/\\015//g -/automatically checked/d -/^Directory Hash Seed:/d -/Discarding device blocks/d -/^Filesystem created:/d -/^Filesystem flags:/d -/^Filesystem UUID:/d -/^JFS DEBUG:/d -/^Last write time:/d -/^Last mount time:/d -/^Last checked:/d -/^Lifetime writes:/d -/^Maximum mount count:/d -/^Next check after:/d -/Reserved blocks uid:/s/ (user .*)// -/Reserved blocks gid:/s/ (group .*)// -/whichever comes first/d -/^ Checksum /d diff --git a/tests/filter_dumpe2fs b/tests/filter_dumpe2fs new file mode 100644 index 00000000..75442178 --- /dev/null +++ b/tests/filter_dumpe2fs @@ -0,0 +1,14 @@ +1s/^.*$// +/^Filesystem UUID:/d +/^Filesystem created:/d +/^Filesystem flags:/d +/^Last write time:/d +/^Last mount time:/d +/^Last checked:/d +/^Directory Hash Seed:/d +/^Next check after:/d +/^Maximum mount count:/d +/^Lifetime writes:/d +/Reserved blocks uid:/s/ (user .*)// +/Reserved blocks gid:/s/ (group .*)// +/^ Checksum /d diff --git a/tests/i_e2image/i_e2image.md5 b/tests/i_e2image/i_e2image.md5 deleted file mode 100644 index f96e7214..00000000 --- a/tests/i_e2image/i_e2image.md5 +++ /dev/null @@ -1,15 +0,0 @@ -i_e2image/image1024.orig -d34914e0da07bdae80ab02288118fae2 image1024.orig -bbef4e50d7237546c7d9c521d3df5b68 _image.raw -1d4eb39452bed097dcd2c5bcd57180e6 _image.qcow2 -bbef4e50d7237546c7d9c521d3df5b68 _image.qcow2.raw -i_e2image/image2048.orig -aa9f702de181188f2a6d2c5158686c09 image2048.orig -e6f8410d0690ef551bee0c2c0c642d8c _image.raw -dbbd9aa97c6c946b9122586bbd2a325a _image.qcow2 -e6f8410d0690ef551bee0c2c0c642d8c _image.qcow2.raw -i_e2image/image4096.orig -1d3e7f15b2ce9ca07aa23c32951c5176 image4096.orig -734119dd8f240a33704139f8cdd8127c _image.raw -85fdbf5a8451b24b36ab82a02196deb9 _image.qcow2 -734119dd8f240a33704139f8cdd8127c _image.qcow2.raw diff --git a/tests/i_e2image/image1024.orig.bz2 b/tests/i_e2image/image1024.orig.bz2 deleted file mode 100644 index ac90f861..00000000 Binary files a/tests/i_e2image/image1024.orig.bz2 and /dev/null differ diff --git a/tests/i_e2image/image2048.orig.bz2 b/tests/i_e2image/image2048.orig.bz2 deleted file mode 100644 index 18d07a8a..00000000 Binary files a/tests/i_e2image/image2048.orig.bz2 and /dev/null differ diff --git a/tests/i_e2image/image4096.orig.bz2 b/tests/i_e2image/image4096.orig.bz2 deleted file mode 100644 index e17b5a35..00000000 Binary files a/tests/i_e2image/image4096.orig.bz2 and /dev/null differ diff --git a/tests/i_e2image/script b/tests/i_e2image/script deleted file mode 100644 index adf59a46..00000000 --- a/tests/i_e2image/script +++ /dev/null @@ -1,59 +0,0 @@ -test_description="create/convert raw/qcow2 images" -if test -x $E2IMAGE_EXE; then - -ORIG_IMAGES="image1024.orig image2048.orig image4096.orig" - -RAW_IMG=_image.raw -QCOW2_IMG=_image.qcow2 -QCOW2_TO_RAW=_image.qcow2.raw -OUT=$test_name.log -MD5=$SRCDIR/$test_name/$test_name.md5 -MD5_TMP=$test_name.md5.tmp - -rm -f $test_name/_image.* $MD5_TMP $OUT >/dev/null 2>&1 - -( -for i in $ORIG_IMAGES; do - ORIG_IMG=$test_name/$i - echo $ORIG_IMG >> $MD5_TMP - - bunzip2 < $SRCDIR/$ORIG_IMG.bz2 > $i - md5sum $i >> $MD5_TMP - - rm -f $RAW_IMG - echo "e2image -r $ORIG_IMG $RAW_IMG" - $E2IMAGE -r $i $RAW_IMG - md5sum $RAW_IMG >> $MD5_TMP - - echo "e2image -Q $ORIG_IMG $QCOW2_IMG" - $E2IMAGE -Q $i $QCOW2_IMG - md5sum $QCOW2_IMG >> $MD5_TMP - - rm -f $QCOW2_TO_RAW - echo "e2image -r $QCOW2_IMG $QCOW2_TO_RAW" - $E2IMAGE -r $i $QCOW2_TO_RAW - md5sum $QCOW2_TO_RAW >> $MD5_TMP - - rm -f $i -done -) >> $OUT 2>&1 - -echo "md5sums:" >> $OUT -cat $MD5_TMP >> $OUT -echo "" >> $OUT - -diff $MD5 $MD5_TMP >> $OUT 2>&1 - -if [ $? -eq 0 ]; then - echo "$test_name: $test_description: ok" - touch $test_name.ok -else - ln -f $test_name.log $test_name.failed - echo "$test_name: $test_description: failed" -fi - -rm -f _image.* $MD5_TMP >/dev/null 2>&1 - -else #if test -x $E2IMAGE_EXE; then - echo "$test_name: $test_description: skipped" -fi diff --git a/tests/m_bigjournal/expect.1 b/tests/m_bigjournal/expect.1 deleted file mode 100644 index 312c2768..00000000 --- a/tests/m_bigjournal/expect.1 +++ /dev/null @@ -1,573 +0,0 @@ -Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 11/1344 files (0.0% non-contiguous), 1286989/2750000 blocks -Exit status is 0 -Filesystem volume name: -Last mounted on: -Filesystem magic number: 0xEF53 -Filesystem revision #: 1 (dynamic) -Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize -Default mount options: (none) -Filesystem state: clean -Errors behavior: Continue -Filesystem OS type: Linux -Inode count: 1344 -Block count: 2750000 -Reserved block count: 137500 -Free blocks: 1463011 -Free inodes: 1333 -First block: 0 -Block size: 4096 -Fragment size: 4096 -Reserved GDT blocks: 671 -Blocks per group: 32768 -Fragments per group: 32768 -Inodes per group: 16 -Inode blocks per group: 1 -Flex block group size: 512 -Mount count: 0 -Check interval: 15552000 (6 months) -Reserved blocks uid: 0 -Reserved blocks gid: 0 -First inode: 11 -Inode size: 256 -Required extra isize: 28 -Desired extra isize: 28 -Journal inode: 8 -Default directory hash: half_md4 -Journal backup: inode blocks -Journal features: (none) -Journal size: 5000M -Journal length: 1280000 -Journal sequence: 0x00000001 -Journal start: 0 - - -Group 0: (Blocks 0-32767) - Primary superblock at 0, Group descriptors at 1-1 - Reserved GDT blocks at 2-672 - Block bitmap at 673 (+673), Inode bitmap at 1185 (+1185) - Inode table at 1697-1697 (+1697) - 31836 free blocks, 5 free inodes, 2 directories, 5 unused inodes - Free blocks: 764-1184, 1269-1696, 1781-32767 - Free inodes: 12-16 -Group 1: (Blocks 32768-65535) [INODE_UNINIT] - Backup superblock at 32768, Group descriptors at 32769-32769 - Reserved GDT blocks at 32770-33440 - Block bitmap at 674 (bg #0 + 674), Inode bitmap at 1186 (bg #0 + 1186) - Inode table at 1698-1698 (bg #0 + 1698) - 32095 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 33441-65535 - Free inodes: 17-32 -Group 2: (Blocks 65536-98303) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 675 (bg #0 + 675), Inode bitmap at 1187 (bg #0 + 1187) - Inode table at 1699-1699 (bg #0 + 1699) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 65536-98303 - Free inodes: 33-48 -Group 3: (Blocks 98304-131071) [INODE_UNINIT] - Backup superblock at 98304, Group descriptors at 98305-98305 - Reserved GDT blocks at 98306-98976 - Block bitmap at 676 (bg #0 + 676), Inode bitmap at 1188 (bg #0 + 1188) - Inode table at 1700-1700 (bg #0 + 1700) - 32095 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 98977-131071 - Free inodes: 49-64 -Group 4: (Blocks 131072-163839) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 677 (bg #0 + 677), Inode bitmap at 1189 (bg #0 + 1189) - Inode table at 1701-1701 (bg #0 + 1701) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 131072-163839 - Free inodes: 65-80 -Group 5: (Blocks 163840-196607) [INODE_UNINIT] - Backup superblock at 163840, Group descriptors at 163841-163841 - Reserved GDT blocks at 163842-164512 - Block bitmap at 678 (bg #0 + 678), Inode bitmap at 1190 (bg #0 + 1190) - Inode table at 1702-1702 (bg #0 + 1702) - 32095 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 164513-196607 - Free inodes: 81-96 -Group 6: (Blocks 196608-229375) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 679 (bg #0 + 679), Inode bitmap at 1191 (bg #0 + 1191) - Inode table at 1703-1703 (bg #0 + 1703) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 196608-229375 - Free inodes: 97-112 -Group 7: (Blocks 229376-262143) [INODE_UNINIT] - Backup superblock at 229376, Group descriptors at 229377-229377 - Reserved GDT blocks at 229378-230048 - Block bitmap at 680 (bg #0 + 680), Inode bitmap at 1192 (bg #0 + 1192) - Inode table at 1704-1704 (bg #0 + 1704) - 32095 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 230049-262143 - Free inodes: 113-128 -Group 8: (Blocks 262144-294911) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 681 (bg #0 + 681), Inode bitmap at 1193 (bg #0 + 1193) - Inode table at 1705-1705 (bg #0 + 1705) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 262144-294911 - Free inodes: 129-144 -Group 9: (Blocks 294912-327679) [INODE_UNINIT] - Backup superblock at 294912, Group descriptors at 294913-294913 - Reserved GDT blocks at 294914-295584 - Block bitmap at 682 (bg #0 + 682), Inode bitmap at 1194 (bg #0 + 1194) - Inode table at 1706-1706 (bg #0 + 1706) - 32095 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 295585-327679 - Free inodes: 145-160 -Group 10: (Blocks 327680-360447) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 683 (bg #0 + 683), Inode bitmap at 1195 (bg #0 + 1195) - Inode table at 1707-1707 (bg #0 + 1707) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 327680-360447 - Free inodes: 161-176 -Group 11: (Blocks 360448-393215) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 684 (bg #0 + 684), Inode bitmap at 1196 (bg #0 + 1196) - Inode table at 1708-1708 (bg #0 + 1708) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 360448-393215 - Free inodes: 177-192 -Group 12: (Blocks 393216-425983) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 685 (bg #0 + 685), Inode bitmap at 1197 (bg #0 + 1197) - Inode table at 1709-1709 (bg #0 + 1709) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 393216-425983 - Free inodes: 193-208 -Group 13: (Blocks 425984-458751) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 686 (bg #0 + 686), Inode bitmap at 1198 (bg #0 + 1198) - Inode table at 1710-1710 (bg #0 + 1710) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 425984-458751 - Free inodes: 209-224 -Group 14: (Blocks 458752-491519) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 687 (bg #0 + 687), Inode bitmap at 1199 (bg #0 + 1199) - Inode table at 1711-1711 (bg #0 + 1711) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 458752-491519 - Free inodes: 225-240 -Group 15: (Blocks 491520-524287) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 688 (bg #0 + 688), Inode bitmap at 1200 (bg #0 + 1200) - Inode table at 1712-1712 (bg #0 + 1712) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 491520-524287 - Free inodes: 241-256 -Group 16: (Blocks 524288-557055) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 689 (bg #0 + 689), Inode bitmap at 1201 (bg #0 + 1201) - Inode table at 1713-1713 (bg #0 + 1713) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 524288-557055 - Free inodes: 257-272 -Group 17: (Blocks 557056-589823) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 690 (bg #0 + 690), Inode bitmap at 1202 (bg #0 + 1202) - Inode table at 1714-1714 (bg #0 + 1714) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 557056-589823 - Free inodes: 273-288 -Group 18: (Blocks 589824-622591) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 691 (bg #0 + 691), Inode bitmap at 1203 (bg #0 + 1203) - Inode table at 1715-1715 (bg #0 + 1715) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 589824-622591 - Free inodes: 289-304 -Group 19: (Blocks 622592-655359) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 692 (bg #0 + 692), Inode bitmap at 1204 (bg #0 + 1204) - Inode table at 1716-1716 (bg #0 + 1716) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 622592-655359 - Free inodes: 305-320 -Group 20: (Blocks 655360-688127) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 693 (bg #0 + 693), Inode bitmap at 1205 (bg #0 + 1205) - Inode table at 1717-1717 (bg #0 + 1717) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 655360-688127 - Free inodes: 321-336 -Group 21: (Blocks 688128-720895) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 694 (bg #0 + 694), Inode bitmap at 1206 (bg #0 + 1206) - Inode table at 1718-1718 (bg #0 + 1718) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 688128-720895 - Free inodes: 337-352 -Group 22: (Blocks 720896-753663) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 695 (bg #0 + 695), Inode bitmap at 1207 (bg #0 + 1207) - Inode table at 1719-1719 (bg #0 + 1719) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 720896-753663 - Free inodes: 353-368 -Group 23: (Blocks 753664-786431) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 696 (bg #0 + 696), Inode bitmap at 1208 (bg #0 + 1208) - Inode table at 1720-1720 (bg #0 + 1720) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 753664-786431 - Free inodes: 369-384 -Group 24: (Blocks 786432-819199) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 697 (bg #0 + 697), Inode bitmap at 1209 (bg #0 + 1209) - Inode table at 1721-1721 (bg #0 + 1721) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 786432-819199 - Free inodes: 385-400 -Group 25: (Blocks 819200-851967) [INODE_UNINIT] - Backup superblock at 819200, Group descriptors at 819201-819201 - Reserved GDT blocks at 819202-819872 - Block bitmap at 698 (bg #0 + 698), Inode bitmap at 1210 (bg #0 + 1210) - Inode table at 1722-1722 (bg #0 + 1722) - 32095 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 819873-851967 - Free inodes: 401-416 -Group 26: (Blocks 851968-884735) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 699 (bg #0 + 699), Inode bitmap at 1211 (bg #0 + 1211) - Inode table at 1723-1723 (bg #0 + 1723) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 851968-884735 - Free inodes: 417-432 -Group 27: (Blocks 884736-917503) [INODE_UNINIT] - Backup superblock at 884736, Group descriptors at 884737-884737 - Reserved GDT blocks at 884738-885408 - Block bitmap at 700 (bg #0 + 700), Inode bitmap at 1212 (bg #0 + 1212) - Inode table at 1724-1724 (bg #0 + 1724) - 32095 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 885409-917503 - Free inodes: 433-448 -Group 28: (Blocks 917504-950271) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 701 (bg #0 + 701), Inode bitmap at 1213 (bg #0 + 1213) - Inode table at 1725-1725 (bg #0 + 1725) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 917504-950271 - Free inodes: 449-464 -Group 29: (Blocks 950272-983039) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 702 (bg #0 + 702), Inode bitmap at 1214 (bg #0 + 1214) - Inode table at 1726-1726 (bg #0 + 1726) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 950272-983039 - Free inodes: 465-480 -Group 30: (Blocks 983040-1015807) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 703 (bg #0 + 703), Inode bitmap at 1215 (bg #0 + 1215) - Inode table at 1727-1727 (bg #0 + 1727) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 983040-1015807 - Free inodes: 481-496 -Group 31: (Blocks 1015808-1048575) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 704 (bg #0 + 704), Inode bitmap at 1216 (bg #0 + 1216) - Inode table at 1728-1728 (bg #0 + 1728) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 1015808-1048575 - Free inodes: 497-512 -Group 32: (Blocks 1048576-1081343) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 705 (bg #0 + 705), Inode bitmap at 1217 (bg #0 + 1217) - Inode table at 1729-1729 (bg #0 + 1729) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 1048576-1081343 - Free inodes: 513-528 -Group 33: (Blocks 1081344-1114111) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 706 (bg #0 + 706), Inode bitmap at 1218 (bg #0 + 1218) - Inode table at 1730-1730 (bg #0 + 1730) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 1081344-1114111 - Free inodes: 529-544 -Group 34: (Blocks 1114112-1146879) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 707 (bg #0 + 707), Inode bitmap at 1219 (bg #0 + 1219) - Inode table at 1731-1731 (bg #0 + 1731) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 1114112-1146879 - Free inodes: 545-560 -Group 35: (Blocks 1146880-1179647) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 708 (bg #0 + 708), Inode bitmap at 1220 (bg #0 + 1220) - Inode table at 1732-1732 (bg #0 + 1732) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 1146880-1179647 - Free inodes: 561-576 -Group 36: (Blocks 1179648-1212415) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 709 (bg #0 + 709), Inode bitmap at 1221 (bg #0 + 1221) - Inode table at 1733-1733 (bg #0 + 1733) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 1179648-1212415 - Free inodes: 577-592 -Group 37: (Blocks 1212416-1245183) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 710 (bg #0 + 710), Inode bitmap at 1222 (bg #0 + 1222) - Inode table at 1734-1734 (bg #0 + 1734) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 1212416-1245183 - Free inodes: 593-608 -Group 38: (Blocks 1245184-1277951) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 711 (bg #0 + 711), Inode bitmap at 1223 (bg #0 + 1223) - Inode table at 1735-1735 (bg #0 + 1735) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 1245184-1277951 - Free inodes: 609-624 -Group 39: (Blocks 1277952-1310719) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 712 (bg #0 + 712), Inode bitmap at 1224 (bg #0 + 1224) - Inode table at 1736-1736 (bg #0 + 1736) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 1277952-1310719 - Free inodes: 625-640 -Group 40: (Blocks 1310720-1343487) [INODE_UNINIT] - Block bitmap at 713 (bg #0 + 713), Inode bitmap at 1225 (bg #0 + 1225) - Inode table at 1737-1737 (bg #0 + 1737) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 641-656 -Group 41: (Blocks 1343488-1376255) [INODE_UNINIT] - Block bitmap at 714 (bg #0 + 714), Inode bitmap at 1226 (bg #0 + 1226) - Inode table at 1738-1738 (bg #0 + 1738) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 657-672 -Group 42: (Blocks 1376256-1409023) [INODE_UNINIT] - Block bitmap at 715 (bg #0 + 715), Inode bitmap at 1227 (bg #0 + 1227) - Inode table at 1739-1739 (bg #0 + 1739) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 673-688 -Group 43: (Blocks 1409024-1441791) [INODE_UNINIT] - Block bitmap at 716 (bg #0 + 716), Inode bitmap at 1228 (bg #0 + 1228) - Inode table at 1740-1740 (bg #0 + 1740) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 689-704 -Group 44: (Blocks 1441792-1474559) [INODE_UNINIT] - Block bitmap at 717 (bg #0 + 717), Inode bitmap at 1229 (bg #0 + 1229) - Inode table at 1741-1741 (bg #0 + 1741) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 705-720 -Group 45: (Blocks 1474560-1507327) [INODE_UNINIT] - Block bitmap at 718 (bg #0 + 718), Inode bitmap at 1230 (bg #0 + 1230) - Inode table at 1742-1742 (bg #0 + 1742) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 721-736 -Group 46: (Blocks 1507328-1540095) [INODE_UNINIT] - Block bitmap at 719 (bg #0 + 719), Inode bitmap at 1231 (bg #0 + 1231) - Inode table at 1743-1743 (bg #0 + 1743) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 737-752 -Group 47: (Blocks 1540096-1572863) [INODE_UNINIT] - Block bitmap at 720 (bg #0 + 720), Inode bitmap at 1232 (bg #0 + 1232) - Inode table at 1744-1744 (bg #0 + 1744) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 753-768 -Group 48: (Blocks 1572864-1605631) [INODE_UNINIT] - Block bitmap at 721 (bg #0 + 721), Inode bitmap at 1233 (bg #0 + 1233) - Inode table at 1745-1745 (bg #0 + 1745) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 769-784 -Group 49: (Blocks 1605632-1638399) [INODE_UNINIT] - Backup superblock at 1605632, Group descriptors at 1605633-1605633 - Reserved GDT blocks at 1605634-1606304 - Block bitmap at 722 (bg #0 + 722), Inode bitmap at 1234 (bg #0 + 1234) - Inode table at 1746-1746 (bg #0 + 1746) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 785-800 -Group 50: (Blocks 1638400-1671167) [INODE_UNINIT] - Block bitmap at 723 (bg #0 + 723), Inode bitmap at 1235 (bg #0 + 1235) - Inode table at 1747-1747 (bg #0 + 1747) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 801-816 -Group 51: (Blocks 1671168-1703935) [INODE_UNINIT] - Block bitmap at 724 (bg #0 + 724), Inode bitmap at 1236 (bg #0 + 1236) - Inode table at 1748-1748 (bg #0 + 1748) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 817-832 -Group 52: (Blocks 1703936-1736703) [INODE_UNINIT] - Block bitmap at 725 (bg #0 + 725), Inode bitmap at 1237 (bg #0 + 1237) - Inode table at 1749-1749 (bg #0 + 1749) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 833-848 -Group 53: (Blocks 1736704-1769471) [INODE_UNINIT] - Block bitmap at 726 (bg #0 + 726), Inode bitmap at 1238 (bg #0 + 1238) - Inode table at 1750-1750 (bg #0 + 1750) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 849-864 -Group 54: (Blocks 1769472-1802239) [INODE_UNINIT] - Block bitmap at 727 (bg #0 + 727), Inode bitmap at 1239 (bg #0 + 1239) - Inode table at 1751-1751 (bg #0 + 1751) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 865-880 -Group 55: (Blocks 1802240-1835007) [INODE_UNINIT] - Block bitmap at 728 (bg #0 + 728), Inode bitmap at 1240 (bg #0 + 1240) - Inode table at 1752-1752 (bg #0 + 1752) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 881-896 -Group 56: (Blocks 1835008-1867775) [INODE_UNINIT] - Block bitmap at 729 (bg #0 + 729), Inode bitmap at 1241 (bg #0 + 1241) - Inode table at 1753-1753 (bg #0 + 1753) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 897-912 -Group 57: (Blocks 1867776-1900543) [INODE_UNINIT] - Block bitmap at 730 (bg #0 + 730), Inode bitmap at 1242 (bg #0 + 1242) - Inode table at 1754-1754 (bg #0 + 1754) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 913-928 -Group 58: (Blocks 1900544-1933311) [INODE_UNINIT] - Block bitmap at 731 (bg #0 + 731), Inode bitmap at 1243 (bg #0 + 1243) - Inode table at 1755-1755 (bg #0 + 1755) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 929-944 -Group 59: (Blocks 1933312-1966079) [INODE_UNINIT] - Block bitmap at 732 (bg #0 + 732), Inode bitmap at 1244 (bg #0 + 1244) - Inode table at 1756-1756 (bg #0 + 1756) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 945-960 -Group 60: (Blocks 1966080-1998847) [INODE_UNINIT] - Block bitmap at 733 (bg #0 + 733), Inode bitmap at 1245 (bg #0 + 1245) - Inode table at 1757-1757 (bg #0 + 1757) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 961-976 -Group 61: (Blocks 1998848-2031615) [INODE_UNINIT] - Block bitmap at 734 (bg #0 + 734), Inode bitmap at 1246 (bg #0 + 1246) - Inode table at 1758-1758 (bg #0 + 1758) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 977-992 -Group 62: (Blocks 2031616-2064383) [INODE_UNINIT] - Block bitmap at 735 (bg #0 + 735), Inode bitmap at 1247 (bg #0 + 1247) - Inode table at 1759-1759 (bg #0 + 1759) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 993-1008 -Group 63: (Blocks 2064384-2097151) [INODE_UNINIT] - Block bitmap at 736 (bg #0 + 736), Inode bitmap at 1248 (bg #0 + 1248) - Inode table at 1760-1760 (bg #0 + 1760) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1009-1024 -Group 64: (Blocks 2097152-2129919) [INODE_UNINIT] - Block bitmap at 737 (bg #0 + 737), Inode bitmap at 1249 (bg #0 + 1249) - Inode table at 1761-1761 (bg #0 + 1761) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1025-1040 -Group 65: (Blocks 2129920-2162687) [INODE_UNINIT] - Block bitmap at 738 (bg #0 + 738), Inode bitmap at 1250 (bg #0 + 1250) - Inode table at 1762-1762 (bg #0 + 1762) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1041-1056 -Group 66: (Blocks 2162688-2195455) [INODE_UNINIT] - Block bitmap at 739 (bg #0 + 739), Inode bitmap at 1251 (bg #0 + 1251) - Inode table at 1763-1763 (bg #0 + 1763) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1057-1072 -Group 67: (Blocks 2195456-2228223) [INODE_UNINIT] - Block bitmap at 740 (bg #0 + 740), Inode bitmap at 1252 (bg #0 + 1252) - Inode table at 1764-1764 (bg #0 + 1764) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1073-1088 -Group 68: (Blocks 2228224-2260991) [INODE_UNINIT] - Block bitmap at 741 (bg #0 + 741), Inode bitmap at 1253 (bg #0 + 1253) - Inode table at 1765-1765 (bg #0 + 1765) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1089-1104 -Group 69: (Blocks 2260992-2293759) [INODE_UNINIT] - Block bitmap at 742 (bg #0 + 742), Inode bitmap at 1254 (bg #0 + 1254) - Inode table at 1766-1766 (bg #0 + 1766) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1105-1120 -Group 70: (Blocks 2293760-2326527) [INODE_UNINIT] - Block bitmap at 743 (bg #0 + 743), Inode bitmap at 1255 (bg #0 + 1255) - Inode table at 1767-1767 (bg #0 + 1767) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1121-1136 -Group 71: (Blocks 2326528-2359295) [INODE_UNINIT] - Block bitmap at 744 (bg #0 + 744), Inode bitmap at 1256 (bg #0 + 1256) - Inode table at 1768-1768 (bg #0 + 1768) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1137-1152 -Group 72: (Blocks 2359296-2392063) [INODE_UNINIT] - Block bitmap at 745 (bg #0 + 745), Inode bitmap at 1257 (bg #0 + 1257) - Inode table at 1769-1769 (bg #0 + 1769) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1153-1168 -Group 73: (Blocks 2392064-2424831) [INODE_UNINIT] - Block bitmap at 746 (bg #0 + 746), Inode bitmap at 1258 (bg #0 + 1258) - Inode table at 1770-1770 (bg #0 + 1770) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1169-1184 -Group 74: (Blocks 2424832-2457599) [INODE_UNINIT] - Block bitmap at 747 (bg #0 + 747), Inode bitmap at 1259 (bg #0 + 1259) - Inode table at 1771-1771 (bg #0 + 1771) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1185-1200 -Group 75: (Blocks 2457600-2490367) [INODE_UNINIT] - Block bitmap at 748 (bg #0 + 748), Inode bitmap at 1260 (bg #0 + 1260) - Inode table at 1772-1772 (bg #0 + 1772) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1201-1216 -Group 76: (Blocks 2490368-2523135) [INODE_UNINIT] - Block bitmap at 749 (bg #0 + 749), Inode bitmap at 1261 (bg #0 + 1261) - Inode table at 1773-1773 (bg #0 + 1773) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1217-1232 -Group 77: (Blocks 2523136-2555903) [INODE_UNINIT] - Block bitmap at 750 (bg #0 + 750), Inode bitmap at 1262 (bg #0 + 1262) - Inode table at 1774-1774 (bg #0 + 1774) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1233-1248 -Group 78: (Blocks 2555904-2588671) [INODE_UNINIT] - Block bitmap at 751 (bg #0 + 751), Inode bitmap at 1263 (bg #0 + 1263) - Inode table at 1775-1775 (bg #0 + 1775) - 0 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: - Free inodes: 1249-1264 -Group 79: (Blocks 2588672-2621439) [INODE_UNINIT] - Block bitmap at 752 (bg #0 + 752), Inode bitmap at 1264 (bg #0 + 1264) - Inode table at 1776-1776 (bg #0 + 1776) - 30047 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 2591393-2621439 - Free inodes: 1265-1280 -Group 80: (Blocks 2621440-2654207) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 753 (bg #0 + 753), Inode bitmap at 1265 (bg #0 + 1265) - Inode table at 1777-1777 (bg #0 + 1777) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 2621440-2654207 - Free inodes: 1281-1296 -Group 81: (Blocks 2654208-2686975) [INODE_UNINIT] - Backup superblock at 2654208, Group descriptors at 2654209-2654209 - Reserved GDT blocks at 2654210-2654880 - Block bitmap at 754 (bg #0 + 754), Inode bitmap at 1266 (bg #0 + 1266) - Inode table at 1778-1778 (bg #0 + 1778) - 32095 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 2654881-2686975 - Free inodes: 1297-1312 -Group 82: (Blocks 2686976-2719743) [INODE_UNINIT, BLOCK_UNINIT] - Block bitmap at 755 (bg #0 + 755), Inode bitmap at 1267 (bg #0 + 1267) - Inode table at 1779-1779 (bg #0 + 1779) - 32768 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 2686976-2719743 - Free inodes: 1313-1328 -Group 83: (Blocks 2719744-2749999) [INODE_UNINIT] - Block bitmap at 756 (bg #0 + 756), Inode bitmap at 1268 (bg #0 + 1268) - Inode table at 1780-1780 (bg #0 + 1780) - 30256 free blocks, 16 free inodes, 0 directories, 16 unused inodes - Free blocks: 2719744-2749999 - Free inodes: 1329-1344 diff --git a/tests/m_bigjournal/script b/tests/m_bigjournal/script deleted file mode 100644 index 1e21fdfe..00000000 --- a/tests/m_bigjournal/script +++ /dev/null @@ -1,4 +0,0 @@ -DESCRIPTION="journal over 4GB in size" -FS_SIZE=11000000 -MKE2FS_OPTS="-t ext4 -G 512 -N 1280 -J size=5000 -q -E lazy_journal_init,lazy_itable_init,nodiscard" -. $cmd_dir/run_mke2fs diff --git a/tests/m_dasd_bs/expect.1 b/tests/m_dasd_bs/expect.1 index 0cbe3394..808bc0ed 100644 --- a/tests/m_dasd_bs/expect.1 +++ b/tests/m_dasd_bs/expect.1 @@ -13,11 +13,11 @@ Maximum filesystem blocks=33554432 Superblock backups stored on blocks: 16384 -Allocating group tables: done -Writing inode tables: done -Writing superblocks and filesystem accounting information: done +Writing inode tables: done +Writing superblocks and filesystem accounting information: done Filesystem features: ext_attr resize_inode dir_index filetype sparse_super + Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity @@ -25,6 +25,7 @@ Pass 4: Checking reference counts Pass 5: Checking group summary information test_filesys: 11/16384 files (0.0% non-contiguous), 1104/32768 blocks Exit status is 0 + Filesystem volume name: Last mounted on: Filesystem magic number: 0xEF53 diff --git a/tests/m_desc_size_128/expect.1 b/tests/m_desc_size_128/expect.1 deleted file mode 100644 index 8f015913..00000000 --- a/tests/m_desc_size_128/expect.1 +++ /dev/null @@ -1,849 +0,0 @@ -Filesystem label= -OS type: Linux -Block size=1024 (log=0) -Fragment size=1024 (log=0) -Stride=0 blocks, Stripe width=0 blocks -8192 inodes, 131072 blocks -6553 blocks (5.00%) reserved for the super user -First data block=1 -Maximum filesystem blocks=2228224 -128 block groups -1024 blocks per group, 1024 fragments per group -64 inodes per group -Superblock backups stored on blocks: - 1025, 3073, 5121, 7169, 9217, 25601, 27649, 50177, 82945, 128001 - -Allocating group tables: done -Writing inode tables: done -Writing superblocks and filesystem accounting information: done - -Filesystem features: ext_attr resize_inode dir_index filetype extent 64bit sparse_super -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 11/8192 files (0.0% non-contiguous), 4298/131072 blocks -Exit status is 0 -Filesystem volume name: -Last mounted on: -Filesystem magic number: 0xEF53 -Filesystem revision #: 1 (dynamic) -Filesystem features: ext_attr resize_inode dir_index filetype extent 64bit sparse_super -Default mount options: (none) -Filesystem state: clean -Errors behavior: Continue -Filesystem OS type: Linux -Inode count: 8192 -Block count: 131072 -Reserved block count: 6553 -Free blocks: 126774 -Free inodes: 8181 -First block: 1 -Block size: 1024 -Fragment size: 1024 -Group descriptor size: 128 -Reserved GDT blocks: 256 -Blocks per group: 1024 -Fragments per group: 1024 -Inodes per group: 64 -Inode blocks per group: 8 -Mount count: 0 -Check interval: 15552000 (6 months) -Reserved blocks uid: 0 -Reserved blocks gid: 0 -First inode: 11 -Inode size: 128 -Default directory hash: half_md4 - - -Group 0: (Blocks 1-1024) - Primary superblock at 1, Group descriptors at 2-17 - Reserved GDT blocks at 18-273 - Block bitmap at 274 (+273), Inode bitmap at 275 (+274) - Inode table at 276-283 (+275) - 727 free blocks, 53 free inodes, 2 directories - Free blocks: 298-1024 - Free inodes: 12-64 -Group 1: (Blocks 1025-2048) - Backup superblock at 1025, Group descriptors at 1026-1041 - Reserved GDT blocks at 1042-1297 - Block bitmap at 1298 (+273), Inode bitmap at 1299 (+274) - Inode table at 1300-1307 (+275) - 741 free blocks, 64 free inodes, 0 directories - Free blocks: 1308-2048 - Free inodes: 65-128 -Group 2: (Blocks 2049-3072) - Block bitmap at 2049 (+0), Inode bitmap at 2050 (+1) - Inode table at 2051-2058 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 2059-3072 - Free inodes: 129-192 -Group 3: (Blocks 3073-4096) - Backup superblock at 3073, Group descriptors at 3074-3089 - Reserved GDT blocks at 3090-3345 - Block bitmap at 3346 (+273), Inode bitmap at 3347 (+274) - Inode table at 3348-3355 (+275) - 741 free blocks, 64 free inodes, 0 directories - Free blocks: 3356-4096 - Free inodes: 193-256 -Group 4: (Blocks 4097-5120) - Block bitmap at 4097 (+0), Inode bitmap at 4098 (+1) - Inode table at 4099-4106 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 4107-5120 - Free inodes: 257-320 -Group 5: (Blocks 5121-6144) - Backup superblock at 5121, Group descriptors at 5122-5137 - Reserved GDT blocks at 5138-5393 - Block bitmap at 5394 (+273), Inode bitmap at 5395 (+274) - Inode table at 5396-5403 (+275) - 741 free blocks, 64 free inodes, 0 directories - Free blocks: 5404-6144 - Free inodes: 321-384 -Group 6: (Blocks 6145-7168) - Block bitmap at 6145 (+0), Inode bitmap at 6146 (+1) - Inode table at 6147-6154 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 6155-7168 - Free inodes: 385-448 -Group 7: (Blocks 7169-8192) - Backup superblock at 7169, Group descriptors at 7170-7185 - Reserved GDT blocks at 7186-7441 - Block bitmap at 7442 (+273), Inode bitmap at 7443 (+274) - Inode table at 7444-7451 (+275) - 741 free blocks, 64 free inodes, 0 directories - Free blocks: 7452-8192 - Free inodes: 449-512 -Group 8: (Blocks 8193-9216) - Block bitmap at 8193 (+0), Inode bitmap at 8194 (+1) - Inode table at 8195-8202 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 8203-9216 - Free inodes: 513-576 -Group 9: (Blocks 9217-10240) - Backup superblock at 9217, Group descriptors at 9218-9233 - Reserved GDT blocks at 9234-9489 - Block bitmap at 9490 (+273), Inode bitmap at 9491 (+274) - Inode table at 9492-9499 (+275) - 741 free blocks, 64 free inodes, 0 directories - Free blocks: 9500-10240 - Free inodes: 577-640 -Group 10: (Blocks 10241-11264) - Block bitmap at 10241 (+0), Inode bitmap at 10242 (+1) - Inode table at 10243-10250 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 10251-11264 - Free inodes: 641-704 -Group 11: (Blocks 11265-12288) - Block bitmap at 11265 (+0), Inode bitmap at 11266 (+1) - Inode table at 11267-11274 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 11275-12288 - Free inodes: 705-768 -Group 12: (Blocks 12289-13312) - Block bitmap at 12289 (+0), Inode bitmap at 12290 (+1) - Inode table at 12291-12298 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 12299-13312 - Free inodes: 769-832 -Group 13: (Blocks 13313-14336) - Block bitmap at 13313 (+0), Inode bitmap at 13314 (+1) - Inode table at 13315-13322 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 13323-14336 - Free inodes: 833-896 -Group 14: (Blocks 14337-15360) - Block bitmap at 14337 (+0), Inode bitmap at 14338 (+1) - Inode table at 14339-14346 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 14347-15360 - Free inodes: 897-960 -Group 15: (Blocks 15361-16384) - Block bitmap at 15361 (+0), Inode bitmap at 15362 (+1) - Inode table at 15363-15370 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 15371-16384 - Free inodes: 961-1024 -Group 16: (Blocks 16385-17408) - Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1) - Inode table at 16387-16394 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 16395-17408 - Free inodes: 1025-1088 -Group 17: (Blocks 17409-18432) - Block bitmap at 17409 (+0), Inode bitmap at 17410 (+1) - Inode table at 17411-17418 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 17419-18432 - Free inodes: 1089-1152 -Group 18: (Blocks 18433-19456) - Block bitmap at 18433 (+0), Inode bitmap at 18434 (+1) - Inode table at 18435-18442 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 18443-19456 - Free inodes: 1153-1216 -Group 19: (Blocks 19457-20480) - Block bitmap at 19457 (+0), Inode bitmap at 19458 (+1) - Inode table at 19459-19466 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 19467-20480 - Free inodes: 1217-1280 -Group 20: (Blocks 20481-21504) - Block bitmap at 20481 (+0), Inode bitmap at 20482 (+1) - Inode table at 20483-20490 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 20491-21504 - Free inodes: 1281-1344 -Group 21: (Blocks 21505-22528) - Block bitmap at 21505 (+0), Inode bitmap at 21506 (+1) - Inode table at 21507-21514 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 21515-22528 - Free inodes: 1345-1408 -Group 22: (Blocks 22529-23552) - Block bitmap at 22529 (+0), Inode bitmap at 22530 (+1) - Inode table at 22531-22538 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 22539-23552 - Free inodes: 1409-1472 -Group 23: (Blocks 23553-24576) - Block bitmap at 23553 (+0), Inode bitmap at 23554 (+1) - Inode table at 23555-23562 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 23563-24576 - Free inodes: 1473-1536 -Group 24: (Blocks 24577-25600) - Block bitmap at 24577 (+0), Inode bitmap at 24578 (+1) - Inode table at 24579-24586 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 24587-25600 - Free inodes: 1537-1600 -Group 25: (Blocks 25601-26624) - Backup superblock at 25601, Group descriptors at 25602-25617 - Reserved GDT blocks at 25618-25873 - Block bitmap at 25874 (+273), Inode bitmap at 25875 (+274) - Inode table at 25876-25883 (+275) - 741 free blocks, 64 free inodes, 0 directories - Free blocks: 25884-26624 - Free inodes: 1601-1664 -Group 26: (Blocks 26625-27648) - Block bitmap at 26625 (+0), Inode bitmap at 26626 (+1) - Inode table at 26627-26634 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 26635-27648 - Free inodes: 1665-1728 -Group 27: (Blocks 27649-28672) - Backup superblock at 27649, Group descriptors at 27650-27665 - Reserved GDT blocks at 27666-27921 - Block bitmap at 27922 (+273), Inode bitmap at 27923 (+274) - Inode table at 27924-27931 (+275) - 741 free blocks, 64 free inodes, 0 directories - Free blocks: 27932-28672 - Free inodes: 1729-1792 -Group 28: (Blocks 28673-29696) - Block bitmap at 28673 (+0), Inode bitmap at 28674 (+1) - Inode table at 28675-28682 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 28683-29696 - Free inodes: 1793-1856 -Group 29: (Blocks 29697-30720) - Block bitmap at 29697 (+0), Inode bitmap at 29698 (+1) - Inode table at 29699-29706 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 29707-30720 - Free inodes: 1857-1920 -Group 30: (Blocks 30721-31744) - Block bitmap at 30721 (+0), Inode bitmap at 30722 (+1) - Inode table at 30723-30730 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 30731-31744 - Free inodes: 1921-1984 -Group 31: (Blocks 31745-32768) - Block bitmap at 31745 (+0), Inode bitmap at 31746 (+1) - Inode table at 31747-31754 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 31755-32768 - Free inodes: 1985-2048 -Group 32: (Blocks 32769-33792) - Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1) - Inode table at 32771-32778 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 32779-33792 - Free inodes: 2049-2112 -Group 33: (Blocks 33793-34816) - Block bitmap at 33793 (+0), Inode bitmap at 33794 (+1) - Inode table at 33795-33802 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 33803-34816 - Free inodes: 2113-2176 -Group 34: (Blocks 34817-35840) - Block bitmap at 34817 (+0), Inode bitmap at 34818 (+1) - Inode table at 34819-34826 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 34827-35840 - Free inodes: 2177-2240 -Group 35: (Blocks 35841-36864) - Block bitmap at 35841 (+0), Inode bitmap at 35842 (+1) - Inode table at 35843-35850 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 35851-36864 - Free inodes: 2241-2304 -Group 36: (Blocks 36865-37888) - Block bitmap at 36865 (+0), Inode bitmap at 36866 (+1) - Inode table at 36867-36874 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 36875-37888 - Free inodes: 2305-2368 -Group 37: (Blocks 37889-38912) - Block bitmap at 37889 (+0), Inode bitmap at 37890 (+1) - Inode table at 37891-37898 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 37899-38912 - Free inodes: 2369-2432 -Group 38: (Blocks 38913-39936) - Block bitmap at 38913 (+0), Inode bitmap at 38914 (+1) - Inode table at 38915-38922 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 38923-39936 - Free inodes: 2433-2496 -Group 39: (Blocks 39937-40960) - Block bitmap at 39937 (+0), Inode bitmap at 39938 (+1) - Inode table at 39939-39946 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 39947-40960 - Free inodes: 2497-2560 -Group 40: (Blocks 40961-41984) - Block bitmap at 40961 (+0), Inode bitmap at 40962 (+1) - Inode table at 40963-40970 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 40971-41984 - Free inodes: 2561-2624 -Group 41: (Blocks 41985-43008) - Block bitmap at 41985 (+0), Inode bitmap at 41986 (+1) - Inode table at 41987-41994 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 41995-43008 - Free inodes: 2625-2688 -Group 42: (Blocks 43009-44032) - Block bitmap at 43009 (+0), Inode bitmap at 43010 (+1) - Inode table at 43011-43018 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 43019-44032 - Free inodes: 2689-2752 -Group 43: (Blocks 44033-45056) - Block bitmap at 44033 (+0), Inode bitmap at 44034 (+1) - Inode table at 44035-44042 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 44043-45056 - Free inodes: 2753-2816 -Group 44: (Blocks 45057-46080) - Block bitmap at 45057 (+0), Inode bitmap at 45058 (+1) - Inode table at 45059-45066 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 45067-46080 - Free inodes: 2817-2880 -Group 45: (Blocks 46081-47104) - Block bitmap at 46081 (+0), Inode bitmap at 46082 (+1) - Inode table at 46083-46090 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 46091-47104 - Free inodes: 2881-2944 -Group 46: (Blocks 47105-48128) - Block bitmap at 47105 (+0), Inode bitmap at 47106 (+1) - Inode table at 47107-47114 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 47115-48128 - Free inodes: 2945-3008 -Group 47: (Blocks 48129-49152) - Block bitmap at 48129 (+0), Inode bitmap at 48130 (+1) - Inode table at 48131-48138 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 48139-49152 - Free inodes: 3009-3072 -Group 48: (Blocks 49153-50176) - Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1) - Inode table at 49155-49162 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 49163-50176 - Free inodes: 3073-3136 -Group 49: (Blocks 50177-51200) - Backup superblock at 50177, Group descriptors at 50178-50193 - Reserved GDT blocks at 50194-50449 - Block bitmap at 50450 (+273), Inode bitmap at 50451 (+274) - Inode table at 50452-50459 (+275) - 741 free blocks, 64 free inodes, 0 directories - Free blocks: 50460-51200 - Free inodes: 3137-3200 -Group 50: (Blocks 51201-52224) - Block bitmap at 51201 (+0), Inode bitmap at 51202 (+1) - Inode table at 51203-51210 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 51211-52224 - Free inodes: 3201-3264 -Group 51: (Blocks 52225-53248) - Block bitmap at 52225 (+0), Inode bitmap at 52226 (+1) - Inode table at 52227-52234 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 52235-53248 - Free inodes: 3265-3328 -Group 52: (Blocks 53249-54272) - Block bitmap at 53249 (+0), Inode bitmap at 53250 (+1) - Inode table at 53251-53258 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 53259-54272 - Free inodes: 3329-3392 -Group 53: (Blocks 54273-55296) - Block bitmap at 54273 (+0), Inode bitmap at 54274 (+1) - Inode table at 54275-54282 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 54283-55296 - Free inodes: 3393-3456 -Group 54: (Blocks 55297-56320) - Block bitmap at 55297 (+0), Inode bitmap at 55298 (+1) - Inode table at 55299-55306 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 55307-56320 - Free inodes: 3457-3520 -Group 55: (Blocks 56321-57344) - Block bitmap at 56321 (+0), Inode bitmap at 56322 (+1) - Inode table at 56323-56330 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 56331-57344 - Free inodes: 3521-3584 -Group 56: (Blocks 57345-58368) - Block bitmap at 57345 (+0), Inode bitmap at 57346 (+1) - Inode table at 57347-57354 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 57355-58368 - Free inodes: 3585-3648 -Group 57: (Blocks 58369-59392) - Block bitmap at 58369 (+0), Inode bitmap at 58370 (+1) - Inode table at 58371-58378 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 58379-59392 - Free inodes: 3649-3712 -Group 58: (Blocks 59393-60416) - Block bitmap at 59393 (+0), Inode bitmap at 59394 (+1) - Inode table at 59395-59402 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 59403-60416 - Free inodes: 3713-3776 -Group 59: (Blocks 60417-61440) - Block bitmap at 60417 (+0), Inode bitmap at 60418 (+1) - Inode table at 60419-60426 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 60427-61440 - Free inodes: 3777-3840 -Group 60: (Blocks 61441-62464) - Block bitmap at 61441 (+0), Inode bitmap at 61442 (+1) - Inode table at 61443-61450 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 61451-62464 - Free inodes: 3841-3904 -Group 61: (Blocks 62465-63488) - Block bitmap at 62465 (+0), Inode bitmap at 62466 (+1) - Inode table at 62467-62474 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 62475-63488 - Free inodes: 3905-3968 -Group 62: (Blocks 63489-64512) - Block bitmap at 63489 (+0), Inode bitmap at 63490 (+1) - Inode table at 63491-63498 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 63499-64512 - Free inodes: 3969-4032 -Group 63: (Blocks 64513-65536) - Block bitmap at 64513 (+0), Inode bitmap at 64514 (+1) - Inode table at 64515-64522 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 64523-65536 - Free inodes: 4033-4096 -Group 64: (Blocks 65537-66560) - Block bitmap at 65537 (+0), Inode bitmap at 65538 (+1) - Inode table at 65539-65546 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 65547-66560 - Free inodes: 4097-4160 -Group 65: (Blocks 66561-67584) - Block bitmap at 66561 (+0), Inode bitmap at 66562 (+1) - Inode table at 66563-66570 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 66571-67584 - Free inodes: 4161-4224 -Group 66: (Blocks 67585-68608) - Block bitmap at 67585 (+0), Inode bitmap at 67586 (+1) - Inode table at 67587-67594 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 67595-68608 - Free inodes: 4225-4288 -Group 67: (Blocks 68609-69632) - Block bitmap at 68609 (+0), Inode bitmap at 68610 (+1) - Inode table at 68611-68618 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 68619-69632 - Free inodes: 4289-4352 -Group 68: (Blocks 69633-70656) - Block bitmap at 69633 (+0), Inode bitmap at 69634 (+1) - Inode table at 69635-69642 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 69643-70656 - Free inodes: 4353-4416 -Group 69: (Blocks 70657-71680) - Block bitmap at 70657 (+0), Inode bitmap at 70658 (+1) - Inode table at 70659-70666 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 70667-71680 - Free inodes: 4417-4480 -Group 70: (Blocks 71681-72704) - Block bitmap at 71681 (+0), Inode bitmap at 71682 (+1) - Inode table at 71683-71690 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 71691-72704 - Free inodes: 4481-4544 -Group 71: (Blocks 72705-73728) - Block bitmap at 72705 (+0), Inode bitmap at 72706 (+1) - Inode table at 72707-72714 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 72715-73728 - Free inodes: 4545-4608 -Group 72: (Blocks 73729-74752) - Block bitmap at 73729 (+0), Inode bitmap at 73730 (+1) - Inode table at 73731-73738 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 73739-74752 - Free inodes: 4609-4672 -Group 73: (Blocks 74753-75776) - Block bitmap at 74753 (+0), Inode bitmap at 74754 (+1) - Inode table at 74755-74762 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 74763-75776 - Free inodes: 4673-4736 -Group 74: (Blocks 75777-76800) - Block bitmap at 75777 (+0), Inode bitmap at 75778 (+1) - Inode table at 75779-75786 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 75787-76800 - Free inodes: 4737-4800 -Group 75: (Blocks 76801-77824) - Block bitmap at 76801 (+0), Inode bitmap at 76802 (+1) - Inode table at 76803-76810 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 76811-77824 - Free inodes: 4801-4864 -Group 76: (Blocks 77825-78848) - Block bitmap at 77825 (+0), Inode bitmap at 77826 (+1) - Inode table at 77827-77834 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 77835-78848 - Free inodes: 4865-4928 -Group 77: (Blocks 78849-79872) - Block bitmap at 78849 (+0), Inode bitmap at 78850 (+1) - Inode table at 78851-78858 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 78859-79872 - Free inodes: 4929-4992 -Group 78: (Blocks 79873-80896) - Block bitmap at 79873 (+0), Inode bitmap at 79874 (+1) - Inode table at 79875-79882 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 79883-80896 - Free inodes: 4993-5056 -Group 79: (Blocks 80897-81920) - Block bitmap at 80897 (+0), Inode bitmap at 80898 (+1) - Inode table at 80899-80906 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 80907-81920 - Free inodes: 5057-5120 -Group 80: (Blocks 81921-82944) - Block bitmap at 81921 (+0), Inode bitmap at 81922 (+1) - Inode table at 81923-81930 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 81931-82944 - Free inodes: 5121-5184 -Group 81: (Blocks 82945-83968) - Backup superblock at 82945, Group descriptors at 82946-82961 - Reserved GDT blocks at 82962-83217 - Block bitmap at 83218 (+273), Inode bitmap at 83219 (+274) - Inode table at 83220-83227 (+275) - 741 free blocks, 64 free inodes, 0 directories - Free blocks: 83228-83968 - Free inodes: 5185-5248 -Group 82: (Blocks 83969-84992) - Block bitmap at 83969 (+0), Inode bitmap at 83970 (+1) - Inode table at 83971-83978 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 83979-84992 - Free inodes: 5249-5312 -Group 83: (Blocks 84993-86016) - Block bitmap at 84993 (+0), Inode bitmap at 84994 (+1) - Inode table at 84995-85002 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 85003-86016 - Free inodes: 5313-5376 -Group 84: (Blocks 86017-87040) - Block bitmap at 86017 (+0), Inode bitmap at 86018 (+1) - Inode table at 86019-86026 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 86027-87040 - Free inodes: 5377-5440 -Group 85: (Blocks 87041-88064) - Block bitmap at 87041 (+0), Inode bitmap at 87042 (+1) - Inode table at 87043-87050 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 87051-88064 - Free inodes: 5441-5504 -Group 86: (Blocks 88065-89088) - Block bitmap at 88065 (+0), Inode bitmap at 88066 (+1) - Inode table at 88067-88074 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 88075-89088 - Free inodes: 5505-5568 -Group 87: (Blocks 89089-90112) - Block bitmap at 89089 (+0), Inode bitmap at 89090 (+1) - Inode table at 89091-89098 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 89099-90112 - Free inodes: 5569-5632 -Group 88: (Blocks 90113-91136) - Block bitmap at 90113 (+0), Inode bitmap at 90114 (+1) - Inode table at 90115-90122 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 90123-91136 - Free inodes: 5633-5696 -Group 89: (Blocks 91137-92160) - Block bitmap at 91137 (+0), Inode bitmap at 91138 (+1) - Inode table at 91139-91146 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 91147-92160 - Free inodes: 5697-5760 -Group 90: (Blocks 92161-93184) - Block bitmap at 92161 (+0), Inode bitmap at 92162 (+1) - Inode table at 92163-92170 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 92171-93184 - Free inodes: 5761-5824 -Group 91: (Blocks 93185-94208) - Block bitmap at 93185 (+0), Inode bitmap at 93186 (+1) - Inode table at 93187-93194 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 93195-94208 - Free inodes: 5825-5888 -Group 92: (Blocks 94209-95232) - Block bitmap at 94209 (+0), Inode bitmap at 94210 (+1) - Inode table at 94211-94218 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 94219-95232 - Free inodes: 5889-5952 -Group 93: (Blocks 95233-96256) - Block bitmap at 95233 (+0), Inode bitmap at 95234 (+1) - Inode table at 95235-95242 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 95243-96256 - Free inodes: 5953-6016 -Group 94: (Blocks 96257-97280) - Block bitmap at 96257 (+0), Inode bitmap at 96258 (+1) - Inode table at 96259-96266 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 96267-97280 - Free inodes: 6017-6080 -Group 95: (Blocks 97281-98304) - Block bitmap at 97281 (+0), Inode bitmap at 97282 (+1) - Inode table at 97283-97290 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 97291-98304 - Free inodes: 6081-6144 -Group 96: (Blocks 98305-99328) - Block bitmap at 98305 (+0), Inode bitmap at 98306 (+1) - Inode table at 98307-98314 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 98315-99328 - Free inodes: 6145-6208 -Group 97: (Blocks 99329-100352) - Block bitmap at 99329 (+0), Inode bitmap at 99330 (+1) - Inode table at 99331-99338 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 99339-100352 - Free inodes: 6209-6272 -Group 98: (Blocks 100353-101376) - Block bitmap at 100353 (+0), Inode bitmap at 100354 (+1) - Inode table at 100355-100362 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 100363-101376 - Free inodes: 6273-6336 -Group 99: (Blocks 101377-102400) - Block bitmap at 101377 (+0), Inode bitmap at 101378 (+1) - Inode table at 101379-101386 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 101387-102400 - Free inodes: 6337-6400 -Group 100: (Blocks 102401-103424) - Block bitmap at 102401 (+0), Inode bitmap at 102402 (+1) - Inode table at 102403-102410 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 102411-103424 - Free inodes: 6401-6464 -Group 101: (Blocks 103425-104448) - Block bitmap at 103425 (+0), Inode bitmap at 103426 (+1) - Inode table at 103427-103434 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 103435-104448 - Free inodes: 6465-6528 -Group 102: (Blocks 104449-105472) - Block bitmap at 104449 (+0), Inode bitmap at 104450 (+1) - Inode table at 104451-104458 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 104459-105472 - Free inodes: 6529-6592 -Group 103: (Blocks 105473-106496) - Block bitmap at 105473 (+0), Inode bitmap at 105474 (+1) - Inode table at 105475-105482 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 105483-106496 - Free inodes: 6593-6656 -Group 104: (Blocks 106497-107520) - Block bitmap at 106497 (+0), Inode bitmap at 106498 (+1) - Inode table at 106499-106506 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 106507-107520 - Free inodes: 6657-6720 -Group 105: (Blocks 107521-108544) - Block bitmap at 107521 (+0), Inode bitmap at 107522 (+1) - Inode table at 107523-107530 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 107531-108544 - Free inodes: 6721-6784 -Group 106: (Blocks 108545-109568) - Block bitmap at 108545 (+0), Inode bitmap at 108546 (+1) - Inode table at 108547-108554 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 108555-109568 - Free inodes: 6785-6848 -Group 107: (Blocks 109569-110592) - Block bitmap at 109569 (+0), Inode bitmap at 109570 (+1) - Inode table at 109571-109578 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 109579-110592 - Free inodes: 6849-6912 -Group 108: (Blocks 110593-111616) - Block bitmap at 110593 (+0), Inode bitmap at 110594 (+1) - Inode table at 110595-110602 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 110603-111616 - Free inodes: 6913-6976 -Group 109: (Blocks 111617-112640) - Block bitmap at 111617 (+0), Inode bitmap at 111618 (+1) - Inode table at 111619-111626 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 111627-112640 - Free inodes: 6977-7040 -Group 110: (Blocks 112641-113664) - Block bitmap at 112641 (+0), Inode bitmap at 112642 (+1) - Inode table at 112643-112650 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 112651-113664 - Free inodes: 7041-7104 -Group 111: (Blocks 113665-114688) - Block bitmap at 113665 (+0), Inode bitmap at 113666 (+1) - Inode table at 113667-113674 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 113675-114688 - Free inodes: 7105-7168 -Group 112: (Blocks 114689-115712) - Block bitmap at 114689 (+0), Inode bitmap at 114690 (+1) - Inode table at 114691-114698 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 114699-115712 - Free inodes: 7169-7232 -Group 113: (Blocks 115713-116736) - Block bitmap at 115713 (+0), Inode bitmap at 115714 (+1) - Inode table at 115715-115722 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 115723-116736 - Free inodes: 7233-7296 -Group 114: (Blocks 116737-117760) - Block bitmap at 116737 (+0), Inode bitmap at 116738 (+1) - Inode table at 116739-116746 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 116747-117760 - Free inodes: 7297-7360 -Group 115: (Blocks 117761-118784) - Block bitmap at 117761 (+0), Inode bitmap at 117762 (+1) - Inode table at 117763-117770 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 117771-118784 - Free inodes: 7361-7424 -Group 116: (Blocks 118785-119808) - Block bitmap at 118785 (+0), Inode bitmap at 118786 (+1) - Inode table at 118787-118794 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 118795-119808 - Free inodes: 7425-7488 -Group 117: (Blocks 119809-120832) - Block bitmap at 119809 (+0), Inode bitmap at 119810 (+1) - Inode table at 119811-119818 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 119819-120832 - Free inodes: 7489-7552 -Group 118: (Blocks 120833-121856) - Block bitmap at 120833 (+0), Inode bitmap at 120834 (+1) - Inode table at 120835-120842 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 120843-121856 - Free inodes: 7553-7616 -Group 119: (Blocks 121857-122880) - Block bitmap at 121857 (+0), Inode bitmap at 121858 (+1) - Inode table at 121859-121866 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 121867-122880 - Free inodes: 7617-7680 -Group 120: (Blocks 122881-123904) - Block bitmap at 122881 (+0), Inode bitmap at 122882 (+1) - Inode table at 122883-122890 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 122891-123904 - Free inodes: 7681-7744 -Group 121: (Blocks 123905-124928) - Block bitmap at 123905 (+0), Inode bitmap at 123906 (+1) - Inode table at 123907-123914 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 123915-124928 - Free inodes: 7745-7808 -Group 122: (Blocks 124929-125952) - Block bitmap at 124929 (+0), Inode bitmap at 124930 (+1) - Inode table at 124931-124938 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 124939-125952 - Free inodes: 7809-7872 -Group 123: (Blocks 125953-126976) - Block bitmap at 125953 (+0), Inode bitmap at 125954 (+1) - Inode table at 125955-125962 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 125963-126976 - Free inodes: 7873-7936 -Group 124: (Blocks 126977-128000) - Block bitmap at 126977 (+0), Inode bitmap at 126978 (+1) - Inode table at 126979-126986 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 126987-128000 - Free inodes: 7937-8000 -Group 125: (Blocks 128001-129024) - Backup superblock at 128001, Group descriptors at 128002-128017 - Reserved GDT blocks at 128018-128273 - Block bitmap at 128274 (+273), Inode bitmap at 128275 (+274) - Inode table at 128276-128283 (+275) - 741 free blocks, 64 free inodes, 0 directories - Free blocks: 128284-129024 - Free inodes: 8001-8064 -Group 126: (Blocks 129025-130048) - Block bitmap at 129025 (+0), Inode bitmap at 129026 (+1) - Inode table at 129027-129034 (+2) - 1014 free blocks, 64 free inodes, 0 directories - Free blocks: 129035-130048 - Free inodes: 8065-8128 -Group 127: (Blocks 130049-131071) - Block bitmap at 130049 (+0), Inode bitmap at 130050 (+1) - Inode table at 130051-130058 (+2) - 1013 free blocks, 64 free inodes, 0 directories - Free blocks: 130059-131071 - Free inodes: 8129-8192 diff --git a/tests/m_desc_size_128/script b/tests/m_desc_size_128/script deleted file mode 100644 index de3def94..00000000 --- a/tests/m_desc_size_128/script +++ /dev/null @@ -1,4 +0,0 @@ -DESCRIPTION="enable 128-byte group descriptor on mkfs" -FS_SIZE=131072 -MKE2FS_OPTS="-b 1024 -O 64bit,extents -g 1024 -N 8192 -E desc_size=128" -. $cmd_dir/run_mke2fs diff --git a/tests/m_extent_journal/expect.1 b/tests/m_extent_journal/expect.1 deleted file mode 100644 index d5d7a244..00000000 --- a/tests/m_extent_journal/expect.1 +++ /dev/null @@ -1,124 +0,0 @@ -Filesystem label= -OS type: Linux -Block size=1024 (log=0) -Fragment size=1024 (log=0) -Stride=0 blocks, Stripe width=0 blocks -16384 inodes, 65536 blocks -3276 blocks (5.00%) reserved for the super user -First data block=1 -Maximum filesystem blocks=67108864 -8 block groups -8192 blocks per group, 8192 fragments per group -2048 inodes per group -Superblock backups stored on blocks: - 8193, 24577, 40961, 57345 - -Allocating group tables: done -Writing inode tables: done -Creating journal (4096 blocks): done -Writing superblocks and filesystem accounting information: done - -Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent sparse_super -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 11/16384 files (0.0% non-contiguous), 7460/65536 blocks -Exit status is 0 -Filesystem volume name: -Last mounted on: -Filesystem magic number: 0xEF53 -Filesystem revision #: 1 (dynamic) -Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent sparse_super -Default mount options: (none) -Filesystem state: clean -Errors behavior: Continue -Filesystem OS type: Linux -Inode count: 16384 -Block count: 65536 -Reserved block count: 3276 -Free blocks: 58076 -Free inodes: 16373 -First block: 1 -Block size: 1024 -Fragment size: 1024 -Reserved GDT blocks: 255 -Blocks per group: 8192 -Fragments per group: 8192 -Inodes per group: 2048 -Inode blocks per group: 256 -Mount count: 0 -Check interval: 15552000 (6 months) -Reserved blocks uid: 0 -Reserved blocks gid: 0 -First inode: 11 -Inode size: 128 -Journal inode: 8 -Default directory hash: half_md4 -Journal backup: inode blocks -Journal features: (none) -Journal size: 4096k -Journal length: 4096 -Journal sequence: 0x00000001 -Journal start: 0 - - -Group 0: (Blocks 1-8192) - Primary superblock at 1, Group descriptors at 2-2 - Reserved GDT blocks at 3-257 - Block bitmap at 258 (+257), Inode bitmap at 259 (+258) - Inode table at 260-515 (+259) - 7663 free blocks, 2037 free inodes, 2 directories - Free blocks: 530-8192 - Free inodes: 12-2048 -Group 1: (Blocks 8193-16384) - Backup superblock at 8193, Group descriptors at 8194-8194 - Reserved GDT blocks at 8195-8449 - Block bitmap at 8450 (+257), Inode bitmap at 8451 (+258) - Inode table at 8452-8707 (+259) - 7677 free blocks, 2048 free inodes, 0 directories - Free blocks: 8708-16384 - Free inodes: 2049-4096 -Group 2: (Blocks 16385-24576) - Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1) - Inode table at 16387-16642 (+2) - 3838 free blocks, 2048 free inodes, 0 directories - Free blocks: 20739-24576 - Free inodes: 4097-6144 -Group 3: (Blocks 24577-32768) - Backup superblock at 24577, Group descriptors at 24578-24578 - Reserved GDT blocks at 24579-24833 - Block bitmap at 24834 (+257), Inode bitmap at 24835 (+258) - Inode table at 24836-25091 (+259) - 7677 free blocks, 2048 free inodes, 0 directories - Free blocks: 25092-32768 - Free inodes: 6145-8192 -Group 4: (Blocks 32769-40960) - Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1) - Inode table at 32771-33026 (+2) - 7934 free blocks, 2048 free inodes, 0 directories - Free blocks: 33027-40960 - Free inodes: 8193-10240 -Group 5: (Blocks 40961-49152) - Backup superblock at 40961, Group descriptors at 40962-40962 - Reserved GDT blocks at 40963-41217 - Block bitmap at 41218 (+257), Inode bitmap at 41219 (+258) - Inode table at 41220-41475 (+259) - 7677 free blocks, 2048 free inodes, 0 directories - Free blocks: 41476-49152 - Free inodes: 10241-12288 -Group 6: (Blocks 49153-57344) - Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1) - Inode table at 49155-49410 (+2) - 7934 free blocks, 2048 free inodes, 0 directories - Free blocks: 49411-57344 - Free inodes: 12289-14336 -Group 7: (Blocks 57345-65535) - Backup superblock at 57345, Group descriptors at 57346-57346 - Reserved GDT blocks at 57347-57601 - Block bitmap at 57602 (+257), Inode bitmap at 57603 (+258) - Inode table at 57604-57859 (+259) - 7676 free blocks, 2048 free inodes, 0 directories - Free blocks: 57860-65535 - Free inodes: 14337-16384 diff --git a/tests/m_extent_journal/script b/tests/m_extent_journal/script deleted file mode 100644 index 5e0cac29..00000000 --- a/tests/m_extent_journal/script +++ /dev/null @@ -1,4 +0,0 @@ -DESCRIPTION="extent-mapped journal" -FS_SIZE=65536 -MKE2FS_OPTS="-O extents -j" -. $cmd_dir/run_mke2fs diff --git a/tests/m_large_file/expect.1 b/tests/m_large_file/expect.1 index ced94317..e4d0ea0a 100644 --- a/tests/m_large_file/expect.1 +++ b/tests/m_large_file/expect.1 @@ -11,11 +11,11 @@ Maximum filesystem blocks=16777216 32768 blocks per group, 32768 fragments per group 64 inodes per group -Allocating group tables: done -Writing inode tables: done -Writing superblocks and filesystem accounting information: done +Writing inode tables: done +Writing superblocks and filesystem accounting information: done Filesystem features: ext_attr resize_inode dir_index filetype sparse_super large_file + Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity @@ -23,6 +23,7 @@ Pass 4: Checking reference counts Pass 5: Checking group summary information test_filesys: 11/64 files (0.0% non-contiguous), 17/16384 blocks Exit status is 0 + Filesystem volume name: Last mounted on: Filesystem magic number: 0xEF53 diff --git a/tests/m_meta_bg/expect.1 b/tests/m_meta_bg/expect.1 index ec10d6e0..c2df8385 100644 --- a/tests/m_meta_bg/expect.1 +++ b/tests/m_meta_bg/expect.1 @@ -12,11 +12,11 @@ First data block=1 Superblock backups stored on blocks: 1025, 3073, 5121, 7169, 9217, 25601, 27649, 50177, 82945, 128001 -Allocating group tables: done -Writing inode tables: done -Writing superblocks and filesystem accounting information: done +Writing inode tables: done +Writing superblocks and filesystem accounting information: done Filesystem features: ext_attr dir_index filetype meta_bg sparse_super + Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity @@ -24,6 +24,7 @@ Pass 4: Checking reference counts Pass 5: Checking group summary information test_filesys: 11/32768 files (0.0% non-contiguous), 4389/131072 blocks Exit status is 0 + Filesystem volume name: Last mounted on: Filesystem magic number: 0xEF53 diff --git a/tests/m_mkfs_overhead/expect b/tests/m_mkfs_overhead/expect deleted file mode 100644 index adb8fd2f..00000000 --- a/tests/m_mkfs_overhead/expect +++ /dev/null @@ -1 +0,0 @@ -test.img: Cannot create filesystem with requested number of inodes while setting up superblock diff --git a/tests/m_mkfs_overhead/expect.1 b/tests/m_mkfs_overhead/expect.1 new file mode 100644 index 00000000..4bfc84e4 --- /dev/null +++ b/tests/m_mkfs_overhead/expect.1 @@ -0,0 +1,10 @@ +./test.img: Cannot create filesystem with requested number of inodes while setting up superblock +./test.img: Attempt to read block from filesystem resulted in short read while opening filesystem +features: Filesystem not open + +../e2fsck/e2fsck: Attempt to read block from filesystem resulted in short read while trying to open ./test.img +Could this be a zero-length partition? +Exit status is 8 + +../misc/dumpe2fs: Attempt to read block from filesystem resulted in short read while trying to open ./test.img +Couldn't find valid filesystem superblock. diff --git a/tests/m_mkfs_overhead/script b/tests/m_mkfs_overhead/script index c21da0c3..8cd91349 100644 --- a/tests/m_mkfs_overhead/script +++ b/tests/m_mkfs_overhead/script @@ -1,31 +1,5 @@ -test_description="test bg overhead calculation" - -OUT=$test_name.log -EXP=$test_dir/expect +DESCRIPTION="test bg overhead calculation" FS_SIZE=1024 MKE2FS_OPTS="-b 1024 -m 0 -g 256 -N 3745" +. $cmd_dir/run_mke2fs -MKE2FS_SKIP_PROGRESS=true -MKE2FS_SKIP_CHECK_MSG=true -export MKE2FS_SKIP_PROGRESS MKE2FS_SKIP_CHECK_MSG -> $TMPFILE - -cp /dev/null $OUT - -$MKE2FS -F -o Linux $MKE2FS_OPTS $TMPFILE $FS_SIZE 2>&1 | - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" > $OUT - -rm -f $TMPFILE - -cmp -s $OUT $EXP -status1=$? - -if [ "$status1" = 0 ] ; then - echo "$test_name: $test_description: ok" - touch $test_name.ok -else - echo "$test_name: $test_description: failed" - diff $DIFF_OPTS $EXP $OUT > $test_name.failed -fi - -unset OUT EXP DESCRIPTION FS_SIZE MKE2FS_OPTS MKE2FS_SKIP_PROGRESS diff --git a/tests/m_mmp/expect.1 b/tests/m_mmp/expect.1 deleted file mode 100644 index e18aa771..00000000 --- a/tests/m_mmp/expect.1 +++ /dev/null @@ -1,77 +0,0 @@ -Filesystem label= -OS type: Linux -Block size=4096 (log=2) -Fragment size=4096 (log=2) -Stride=0 blocks, Stripe width=0 blocks -65536 inodes, 65536 blocks -3276 blocks (5.00%) reserved for the super user -First data block=0 -Maximum filesystem blocks=67108864 -2 block groups -32768 blocks per group, 32768 fragments per group -32768 inodes per group -Superblock backups stored on blocks: - 32768 - -Allocating group tables: done -Writing inode tables: done -Multiple mount protection is enabled with update interval 5 seconds. -Writing superblocks and filesystem accounting information: done - -Filesystem features: ext_attr resize_inode dir_index filetype mmp sparse_super large_file -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 11/65536 files (0.0% non-contiguous), 2093/65536 blocks -Exit status is 0 -Filesystem volume name: -Last mounted on: -Filesystem magic number: 0xEF53 -Filesystem revision #: 1 (dynamic) -Filesystem features: ext_attr resize_inode dir_index filetype mmp sparse_super large_file -Default mount options: (none) -Filesystem state: clean -Errors behavior: Continue -Filesystem OS type: Linux -Inode count: 65536 -Block count: 65536 -Reserved block count: 3276 -Free blocks: 63443 -Free inodes: 65525 -First block: 0 -Block size: 4096 -Fragment size: 4096 -Reserved GDT blocks: 15 -Blocks per group: 32768 -Fragments per group: 32768 -Inodes per group: 32768 -Inode blocks per group: 1024 -Mount count: 0 -Check interval: 15552000 (6 months) -Reserved blocks uid: 0 -Reserved blocks gid: 0 -First inode: 11 -Inode size: 128 -Default directory hash: half_md4 -MMP block number: 1049 -MMP update interval: 5 - - -Group 0: (Blocks 0-32767) - Primary superblock at 0, Group descriptors at 1-1 - Reserved GDT blocks at 2-16 - Block bitmap at 17 (+17), Inode bitmap at 18 (+18) - Inode table at 19-1042 (+19) - 31718 free blocks, 32757 free inodes, 2 directories - Free blocks: 1050-32767 - Free inodes: 12-32768 -Group 1: (Blocks 32768-65535) - Backup superblock at 32768, Group descriptors at 32769-32769 - Reserved GDT blocks at 32770-32784 - Block bitmap at 32785 (+17), Inode bitmap at 32786 (+18) - Inode table at 32787-33810 (+19) - 31725 free blocks, 32768 free inodes, 0 directories - Free blocks: 33811-65535 - Free inodes: 32769-65536 diff --git a/tests/m_mmp/script b/tests/m_mmp/script deleted file mode 100644 index 02b0b4b8..00000000 --- a/tests/m_mmp/script +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION="enable MMP during mke2fs" -FS_SIZE=65536 -MKE2FS_DEVICE_SECTSIZE=2048 -export MKE2FS_DEVICE_SECTSIZE -TMPFILE=$test_name.tmp -> $TMPFILE -stat -f $TMPFILE | grep -q "Type: tmpfs" -if [ $? = 0 ]; then - rm -f $TMPFILE - echo "$test_name: $test_description: skipped for tmpfs (no O_DIRECT)" - return 0 -fi -MKE2FS_OPTS="-b 4096 -O mmp" -. $cmd_dir/run_mke2fs -unset MKE2FS_DEVICE_SECTSIZE diff --git a/tests/m_no_opt/expect.1 b/tests/m_no_opt/expect.1 index e7bf2dbf..eac91b1c 100644 --- a/tests/m_no_opt/expect.1 +++ b/tests/m_no_opt/expect.1 @@ -12,11 +12,11 @@ First data block=1 Superblock backups stored on blocks: 8193, 16385, 24577, 32769, 40961, 49153, 57345 -Allocating group tables: done -Writing inode tables: done -Writing superblocks and filesystem accounting information: done +Writing inode tables: done +Writing superblocks and filesystem accounting information: done Filesystem features:(none) + Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity @@ -24,6 +24,7 @@ Pass 4: Checking reference counts Pass 5: Checking group summary information test_filesys: 11/16384 files (0.0% non-contiguous), 2094/65536 blocks Exit status is 0 + Filesystem volume name: Last mounted on: Filesystem magic number: 0xEF53 diff --git a/tests/m_quota/expect.1 b/tests/m_quota/expect.1 deleted file mode 100644 index 830046e7..00000000 --- a/tests/m_quota/expect.1 +++ /dev/null @@ -1,172 +0,0 @@ - -Warning: the quota feature is still under development -See https://ext4.wiki.kernel.org/index.php/Quota for more information - -Filesystem label= -OS type: Linux -Block size=1024 (log=0) -Fragment size=1024 (log=0) -Stride=0 blocks, Stripe width=0 blocks -32768 inodes, 131072 blocks -6553 blocks (5.00%) reserved for the super user -First data block=1 -Maximum filesystem blocks=67371008 -16 block groups -8192 blocks per group, 8192 fragments per group -2048 inodes per group -Superblock backups stored on blocks: - 8193, 24577, 40961, 57345, 73729 - -Allocating group tables: done -Writing inode tables: done -Writing superblocks and filesystem accounting information: done - -Filesystem features: ext_attr resize_inode dir_index filetype sparse_super quota -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 11/32768 files (18.2% non-contiguous), 5703/131072 blocks -Exit status is 0 -Filesystem volume name: -Last mounted on: -Filesystem magic number: 0xEF53 -Filesystem revision #: 1 (dynamic) -Filesystem features: ext_attr resize_inode dir_index filetype sparse_super quota -Default mount options: (none) -Filesystem state: clean -Errors behavior: Continue -Filesystem OS type: Linux -Inode count: 32768 -Block count: 131072 -Reserved block count: 6553 -Free blocks: 125369 -Free inodes: 32757 -First block: 1 -Block size: 1024 -Fragment size: 1024 -Reserved GDT blocks: 256 -Blocks per group: 8192 -Fragments per group: 8192 -Inodes per group: 2048 -Inode blocks per group: 256 -Mount count: 0 -Check interval: 15552000 (6 months) -Reserved blocks uid: 0 -Reserved blocks gid: 0 -First inode: 11 -Inode size: 128 -Default directory hash: half_md4 -User quota inode: 3 -Group quota inode: 4 - - -Group 0: (Blocks 1-8192) - Primary superblock at 1, Group descriptors at 2-2 - Reserved GDT blocks at 3-258 - Block bitmap at 259 (+258), Inode bitmap at 260 (+259) - Inode table at 261-516 (+260) - 7650 free blocks, 2037 free inodes, 2 directories - Free blocks: 543-8192 - Free inodes: 12-2048 -Group 1: (Blocks 8193-16384) - Backup superblock at 8193, Group descriptors at 8194-8194 - Reserved GDT blocks at 8195-8450 - Block bitmap at 8451 (+258), Inode bitmap at 8452 (+259) - Inode table at 8453-8708 (+260) - 7676 free blocks, 2048 free inodes, 0 directories - Free blocks: 8709-16384 - Free inodes: 2049-4096 -Group 2: (Blocks 16385-24576) - Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1) - Inode table at 16387-16642 (+2) - 7934 free blocks, 2048 free inodes, 0 directories - Free blocks: 16643-24576 - Free inodes: 4097-6144 -Group 3: (Blocks 24577-32768) - Backup superblock at 24577, Group descriptors at 24578-24578 - Reserved GDT blocks at 24579-24834 - Block bitmap at 24835 (+258), Inode bitmap at 24836 (+259) - Inode table at 24837-25092 (+260) - 7676 free blocks, 2048 free inodes, 0 directories - Free blocks: 25093-32768 - Free inodes: 6145-8192 -Group 4: (Blocks 32769-40960) - Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1) - Inode table at 32771-33026 (+2) - 7934 free blocks, 2048 free inodes, 0 directories - Free blocks: 33027-40960 - Free inodes: 8193-10240 -Group 5: (Blocks 40961-49152) - Backup superblock at 40961, Group descriptors at 40962-40962 - Reserved GDT blocks at 40963-41218 - Block bitmap at 41219 (+258), Inode bitmap at 41220 (+259) - Inode table at 41221-41476 (+260) - 7676 free blocks, 2048 free inodes, 0 directories - Free blocks: 41477-49152 - Free inodes: 10241-12288 -Group 6: (Blocks 49153-57344) - Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1) - Inode table at 49155-49410 (+2) - 7934 free blocks, 2048 free inodes, 0 directories - Free blocks: 49411-57344 - Free inodes: 12289-14336 -Group 7: (Blocks 57345-65536) - Backup superblock at 57345, Group descriptors at 57346-57346 - Reserved GDT blocks at 57347-57602 - Block bitmap at 57603 (+258), Inode bitmap at 57604 (+259) - Inode table at 57605-57860 (+260) - 7676 free blocks, 2048 free inodes, 0 directories - Free blocks: 57861-65536 - Free inodes: 14337-16384 -Group 8: (Blocks 65537-73728) - Block bitmap at 65537 (+0), Inode bitmap at 65538 (+1) - Inode table at 65539-65794 (+2) - 7934 free blocks, 2048 free inodes, 0 directories - Free blocks: 65795-73728 - Free inodes: 16385-18432 -Group 9: (Blocks 73729-81920) - Backup superblock at 73729, Group descriptors at 73730-73730 - Reserved GDT blocks at 73731-73986 - Block bitmap at 73987 (+258), Inode bitmap at 73988 (+259) - Inode table at 73989-74244 (+260) - 7676 free blocks, 2048 free inodes, 0 directories - Free blocks: 74245-81920 - Free inodes: 18433-20480 -Group 10: (Blocks 81921-90112) - Block bitmap at 81921 (+0), Inode bitmap at 81922 (+1) - Inode table at 81923-82178 (+2) - 7934 free blocks, 2048 free inodes, 0 directories - Free blocks: 82179-90112 - Free inodes: 20481-22528 -Group 11: (Blocks 90113-98304) - Block bitmap at 90113 (+0), Inode bitmap at 90114 (+1) - Inode table at 90115-90370 (+2) - 7934 free blocks, 2048 free inodes, 0 directories - Free blocks: 90371-98304 - Free inodes: 22529-24576 -Group 12: (Blocks 98305-106496) - Block bitmap at 98305 (+0), Inode bitmap at 98306 (+1) - Inode table at 98307-98562 (+2) - 7934 free blocks, 2048 free inodes, 0 directories - Free blocks: 98563-106496 - Free inodes: 24577-26624 -Group 13: (Blocks 106497-114688) - Block bitmap at 106497 (+0), Inode bitmap at 106498 (+1) - Inode table at 106499-106754 (+2) - 7934 free blocks, 2048 free inodes, 0 directories - Free blocks: 106755-114688 - Free inodes: 26625-28672 -Group 14: (Blocks 114689-122880) - Block bitmap at 114689 (+0), Inode bitmap at 114690 (+1) - Inode table at 114691-114946 (+2) - 7934 free blocks, 2048 free inodes, 0 directories - Free blocks: 114947-122880 - Free inodes: 28673-30720 -Group 15: (Blocks 122881-131071) - Block bitmap at 122881 (+0), Inode bitmap at 122882 (+1) - Inode table at 122883-123138 (+2) - 7933 free blocks, 2048 free inodes, 0 directories - Free blocks: 123139-131071 - Free inodes: 30721-32768 diff --git a/tests/m_quota/script b/tests/m_quota/script deleted file mode 100644 index 36ab6306..00000000 --- a/tests/m_quota/script +++ /dev/null @@ -1,8 +0,0 @@ -DESCRIPTION="enable quota feature on mkfs" -FS_SIZE=131072 -MKE2FS_OPTS="-O quota" -if [ "$QUOTA" != "y" ]; then - echo "$test_name: $DESCRIPTION: skipped" - return 0 -fi -. $cmd_dir/run_mke2fs diff --git a/tests/m_raid_opt/expect.1 b/tests/m_raid_opt/expect.1 index 9548665e..88d2484e 100644 --- a/tests/m_raid_opt/expect.1 +++ b/tests/m_raid_opt/expect.1 @@ -13,11 +13,11 @@ Maximum filesystem blocks=8519680 Superblock backups stored on blocks: 1025, 3073, 5121, 7169, 9217, 25601, 27649, 50177, 82945, 128001 -Allocating group tables: done -Writing inode tables: done -Writing superblocks and filesystem accounting information: done +Writing inode tables: done +Writing superblocks and filesystem accounting information: done Filesystem features: ext_attr resize_inode dir_index filetype sparse_super + Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity @@ -25,6 +25,7 @@ Pass 4: Checking reference counts Pass 5: Checking group summary information test_filesys: 11/32768 files (0.0% non-contiguous), 7238/131072 blocks Exit status is 0 + Filesystem volume name: Last mounted on: Filesystem magic number: 0xEF53 diff --git a/tests/m_raid_opt/script b/tests/m_raid_opt/script index 296fe948..1e47cc13 100644 --- a/tests/m_raid_opt/script +++ b/tests/m_raid_opt/script @@ -1,4 +1,4 @@ DESCRIPTION="raid options" FS_SIZE=131072 -MKE2FS_OPTS="-E stride=13 -O sparse_super -g 1024" +MKE2FS_OPTS="-R stride=13 -O sparse_super -g 1024" . $cmd_dir/run_mke2fs diff --git a/tests/m_root_owner/expect.1 b/tests/m_root_owner/expect.1 deleted file mode 100644 index 72b0e084..00000000 --- a/tests/m_root_owner/expect.1 +++ /dev/null @@ -1,65 +0,0 @@ -Filesystem label= -OS type: Linux -Block size=1024 (log=0) -Fragment size=1024 (log=0) -Stride=0 blocks, Stripe width=0 blocks -128 inodes, 1024 blocks -51 blocks (4.98%) reserved for the super user -First data block=1 -Root directory owner=1234:1234 -Maximum filesystem blocks=1048576 -1 block group -8192 blocks per group, 8192 fragments per group -128 inodes per group - -Allocating group tables: done -Writing inode tables: done -Writing superblocks and filesystem accounting information: done - -Filesystem features: ext_attr resize_inode dir_index filetype sparse_super -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 11/128 files (0.0% non-contiguous), 38/1024 blocks -Exit status is 0 -Filesystem volume name: -Last mounted on: -Filesystem magic number: 0xEF53 -Filesystem revision #: 1 (dynamic) -Filesystem features: ext_attr resize_inode dir_index filetype sparse_super -Default mount options: (none) -Filesystem state: clean -Errors behavior: Continue -Filesystem OS type: Linux -Inode count: 128 -Block count: 1024 -Reserved block count: 51 -Free blocks: 986 -Free inodes: 117 -First block: 1 -Block size: 1024 -Fragment size: 1024 -Reserved GDT blocks: 3 -Blocks per group: 8192 -Fragments per group: 8192 -Inodes per group: 128 -Inode blocks per group: 16 -Mount count: 0 -Check interval: 15552000 (6 months) -Reserved blocks uid: 0 -Reserved blocks gid: 0 -First inode: 11 -Inode size: 128 -Default directory hash: half_md4 - - -Group 0: (Blocks 1-1023) - Primary superblock at 1, Group descriptors at 2-2 - Reserved GDT blocks at 3-5 - Block bitmap at 6 (+5), Inode bitmap at 7 (+6) - Inode table at 8-23 (+7) - 986 free blocks, 117 free inodes, 2 directories - Free blocks: 38-1023 - Free inodes: 12-128 diff --git a/tests/m_root_owner/script b/tests/m_root_owner/script deleted file mode 100644 index 02c5ef62..00000000 --- a/tests/m_root_owner/script +++ /dev/null @@ -1,4 +0,0 @@ -DESCRIPTION="root directory owner" -FS_SIZE=1024 -MKE2FS_OPTS="-E root_owner=1234:1234" -. $cmd_dir/run_mke2fs diff --git a/tests/m_std/expect.1 b/tests/m_std/expect.1 index f3565319..e9599dcc 100644 --- a/tests/m_std/expect.1 +++ b/tests/m_std/expect.1 @@ -13,11 +13,11 @@ Maximum filesystem blocks=67108864 Superblock backups stored on blocks: 8193, 24577, 40961, 57345 -Allocating group tables: done -Writing inode tables: done -Writing superblocks and filesystem accounting information: done +Writing inode tables: done +Writing superblocks and filesystem accounting information: done Filesystem features: ext_attr resize_inode dir_index filetype sparse_super + Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity @@ -25,6 +25,7 @@ Pass 4: Checking reference counts Pass 5: Checking group summary information test_filesys: 11/16384 files (0.0% non-contiguous), 3364/65536 blocks Exit status is 0 + Filesystem volume name: Last mounted on: Filesystem magic number: 0xEF53 diff --git a/tests/m_uninit/expect.1 b/tests/m_uninit/expect.1 index 3212e103..5fed62c9 100644 --- a/tests/m_uninit/expect.1 +++ b/tests/m_uninit/expect.1 @@ -13,11 +13,11 @@ Maximum filesystem blocks=67371008 Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729 -Allocating group tables: done -Writing inode tables: done -Writing superblocks and filesystem accounting information: done +Writing inode tables: done +Writing superblocks and filesystem accounting information: done Filesystem features: ext_attr resize_inode dir_index filetype sparse_super uninit_bg + Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity @@ -25,6 +25,7 @@ Pass 4: Checking reference counts Pass 5: Checking group summary information test_filesys: 11/32768 files (0.0% non-contiguous), 5691/131072 blocks Exit status is 0 + Filesystem volume name: Last mounted on: Filesystem magic number: 0xEF53 diff --git a/tests/mke2fs.conf.in b/tests/mke2fs.conf.in index c06050d8..99eb75f4 100644 --- a/tests/mke2fs.conf.in +++ b/tests/mke2fs.conf.in @@ -3,11 +3,7 @@ blocksize = 4096 inode_size = 256 inode_ratio = 16384 - reserved_ratio = 5.0 - enable_periodic_fsck = true lazy_itable_init = false - no_discard = true - default_mntopts = ^acl [fs_types] ext3 = { diff --git a/tests/progs/Makefile.in b/tests/progs/Makefile.in index 37abf232..0e281928 100644 --- a/tests/progs/Makefile.in +++ b/tests/progs/Makefile.in @@ -13,7 +13,7 @@ INSTALL = @INSTALL@ MK_CMDS= _SS_DIR_OVERRIDE=../../lib/ss ../../lib/ss/mk_cmds -PROGS= test_icount crcsum +PROGS= test_icount TEST_REL_OBJS= test_rel.o test_rel_cmds.o @@ -27,7 +27,6 @@ DEPLIBS= $(LIBEXT2FS) $(DEPLIBSS) $(DEPLIBCOM_ERR) .c.o: $(E) " CC $<" $(Q) $(CC) -c $(ALL_CFLAGS) $< -o $@ - $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< all:: $(PROGS) @@ -35,10 +34,6 @@ test_rel: $(TEST_REL_OBJS) $(DEPLIBS) $(E) " LD $@" $(Q) $(LD) $(ALL_LDFLAGS) -o test_rel $(TEST_REL_OBJS) $(LIBS) -crcsum: crcsum.o $(DEPLIBS) - $(E) " LD $@" - $(Q) $(LD) $(ALL_LDFLAGS) -o crcsum crcsum.o $(LIBS) - test_rel_cmds.c: test_rel_cmds.ct $(E) " MK_CMDS $@" $(Q) $(MK_CMDS) $(srcdir)/test_rel_cmds.ct diff --git a/tests/progs/crcsum.c b/tests/progs/crcsum.c deleted file mode 100644 index fd74da0d..00000000 --- a/tests/progs/crcsum.c +++ /dev/null @@ -1,67 +0,0 @@ -/* - * crcsum.c - * - * Copyright (C) 2013 Theodore Ts'o. - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - */ - -#include -#include -#include -#include -#include -#ifdef HAVE_GETOPT_H -#include -#endif -#include - -#include "et/com_err.h" -#include "ss/ss.h" -#include "ext2fs/ext2fs.h" - - -int main(int argc, char **argv) -{ - int c; - uint32_t crc = ~0; - uint32_t (*csum_func)(uint32_t crc, unsigned char const *p, - size_t len); - FILE *f; - - csum_func = ext2fs_crc32c_le; - - while ((c = getopt (argc, argv, "h")) != EOF) { - switch (c) { - case 'h': - default: - com_err(argv[0], 0, "Usage: crcsum [file]\n"); - return 1; - } - } - - if (optind == argc) - f = stdin; - else { - f = fopen(argv[optind], "r"); - if (!f) { - com_err(argv[0], errno, "while trying to open %s\n", - argv[optind]); - exit(1); - } - } - - while (!feof(f)) { - unsigned char buf[4096]; - - int c = fread(buf, 1, sizeof(buf), f); - - if (c) - crc = csum_func(crc, buf, c); - } - printf("%u\n", crc); - return 0; -} diff --git a/tests/progs/test_icount.c b/tests/progs/test_icount.c index 017cc4d8..aa9b9321 100644 --- a/tests/progs/test_icount.c +++ b/tests/progs/test_icount.c @@ -289,8 +289,6 @@ static int source_file(const char *cmd_file, int sci_idx) exit_status++; } } - if (f != stdin) - fclose(f); return exit_status; } @@ -310,7 +308,7 @@ int main(int argc, char **argv) * Create a sample filesystem structure */ memset(¶m, 0, sizeof(struct ext2_super_block)); - ext2fs_blocks_count_set(¶m, 80000); + param.s_blocks_count = 80000; param.s_inodes_count = 20000; retval = ext2fs_initialize("/dev/null", 0, ¶m, unix_io_manager, &test_fs); diff --git a/tests/r_1024_small_bg/script b/tests/r_1024_small_bg/script deleted file mode 100644 index fafcf914..00000000 --- a/tests/r_1024_small_bg/script +++ /dev/null @@ -1,27 +0,0 @@ -if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then - -test_description="ext2 1024 blocksize with small block groups" -FEATURES="-t ext2 -O ^resize_inode -b 1024 -g 1024" -SIZE_1=64M -SIZE_2=2G -LOG=$test_name.log -E2FSCK=../e2fsck/e2fsck - - -. $cmd_dir/scripts/resize_test - -if resize_test -then - echo "$test_name: $test_description: ok" - touch $test_name.ok -else - echo "$test_name: $test_description: failed" - touch $test_name.failed -fi - -unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK - -else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi - diff --git a/tests/r_64bit_big_expand/script b/tests/r_64bit_big_expand/script deleted file mode 100644 index 51f36e98..00000000 --- a/tests/r_64bit_big_expand/script +++ /dev/null @@ -1,31 +0,0 @@ -if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then - -test_description="very large fs growth using ext4 w/64bit" -FEATURES="-t ext4 -O 64bit" -SIZE_1=512M -SIZE_2=2T -LOG=$test_name.log -E2FSCK=../e2fsck/e2fsck - - -. $cmd_dir/scripts/resize_test - -resize_test -RC=$? -if [ $RC -eq 0 ]; then - echo "$test_name: $test_description: ok" - touch $test_name.ok -elif [ $RC -eq 111 ]; then - echo "$test_name: $test_description: skipped" - touch $test_name.ok -else - echo "$test_name: $test_description: failed" - touch $test_name.failed -fi - -unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK - -else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi - diff --git a/tests/r_bigalloc_big_expand/script b/tests/r_bigalloc_big_expand/script deleted file mode 100644 index 56c8c15d..00000000 --- a/tests/r_bigalloc_big_expand/script +++ /dev/null @@ -1,31 +0,0 @@ -if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then - -test_description="ext4 with bigalloc" -FEATURES="-t ext4 -O bigalloc" -SIZE_1=512M -SIZE_2=2T -LOG=$test_name.log -E2FSCK=../e2fsck/e2fsck -RESIZE2FS_OPTS=-f - -. $cmd_dir/scripts/resize_test - -resize_test -RC=$? -if [ $RC -eq 0 ]; then - echo "$test_name: $test_description: ok" - touch $test_name.ok -elif [ $RC -eq 111 ]; then - echo "$test_name: $test_description: skipped" - touch $test_name.ok -else - echo "$test_name: $test_description: failed" - touch $test_name.failed -fi - -unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK - -else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi - diff --git a/tests/r_ext4_big_expand/script b/tests/r_ext4_big_expand/script deleted file mode 100644 index a4f8fe63..00000000 --- a/tests/r_ext4_big_expand/script +++ /dev/null @@ -1,31 +0,0 @@ -if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then - -test_description="very large fs growth using ext4" -FEATURES="-t ext4" -SIZE_1=512M -SIZE_2=2T -LOG=$test_name.log -E2FSCK=../e2fsck/e2fsck - - -. $cmd_dir/scripts/resize_test - -resize_test -RC=$? -if [ $RC -eq 0 ]; then - echo "$test_name: $test_description: ok" - touch $test_name.ok -elif [ $RC -eq 111 ]; then - echo "$test_name: $test_description: skipped" - touch $test_name.ok -else - echo "$test_name: $test_description: failed" - touch $test_name.failed -fi - -unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK - -else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi - diff --git a/tests/r_ext4_small_bg/script b/tests/r_ext4_small_bg/script deleted file mode 100644 index 553cbd8a..00000000 --- a/tests/r_ext4_small_bg/script +++ /dev/null @@ -1,27 +0,0 @@ -if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then - -test_description="ext4 1024 blocksize with small block groups" -FEATURES="-t ext4 -O ^resize_inode -b 1024 -g 512" -SIZE_1=64M -SIZE_2=2G -LOG=$test_name.log -E2FSCK=../e2fsck/e2fsck - - -. $cmd_dir/scripts/resize_test - -if resize_test -then - echo "$test_name: $test_description: ok" - touch $test_name.ok -else - echo "$test_name: $test_description: failed" - touch $test_name.failed -fi - -unset FEATURES SIZE_1 SIZE_2 LOG E2FSCK - -else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi - diff --git a/tests/r_inline_xattr/expect b/tests/r_inline_xattr/expect index 9e712646..8e59de36 100644 --- a/tests/r_inline_xattr/expect +++ b/tests/r_inline_xattr/expect @@ -1,15 +1,15 @@ resize2fs test -debugfs -R ''stat file'' test.img 2>&1 | grep ''^Inode\|in inode body\|name = '' +debugfs -R ''stat file'' ./test.img 2>&1 | grep ''^Inode\|in inode body\|name = '' Inode: 1550 Type: regular Mode: 0644 Flags: 0x0 Extended attributes stored in inode body: name = "propervalue" (11) Exit status is 0 -resize2fs test.img 5M -Resizing the filesystem on test.img to 5120 (1k) blocks. -The filesystem on test.img is now 5120 blocks long. +resize2fs ./test.img 5M +Resizing the filesystem on ./test.img to 5120 (1k) blocks. +The filesystem on ./test.img is now 5120 blocks long. Exit status is 0 -debugfs -R ''stat file'' test.img 2>&1 | grep ''^Inode\|in inode body\|name = '' +debugfs -R ''stat file'' ./test.img 2>&1 | grep ''^Inode\|in inode body\|name = '' Inode: 12 Type: regular Mode: 0644 Flags: 0x0 Extended attributes stored in inode body: name = "propervalue" (11) diff --git a/tests/r_inline_xattr/script b/tests/r_inline_xattr/script index d8825872..eb923de4 100644 --- a/tests/r_inline_xattr/script +++ b/tests/r_inline_xattr/script @@ -1,4 +1,4 @@ -if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then +if test -x $RESIZE2FS_EXE; then IMAGE=$test_dir/image.gz FSCK_OPT=-yf @@ -10,20 +10,20 @@ gunzip < $IMAGE > $TMPFILE echo "resize2fs test" > $OUT # Look at existing inline extended attribute -echo "debugfs -R ''stat file'' test.img 2>&1 | grep ''^Inode\|in inode body\|name = ''" >> $OUT +echo "debugfs -R ''stat file'' $TMPFILE 2>&1 | grep ''^Inode\|in inode body\|name = ''" >> $OUT $DEBUGFS -R "stat file" $TMPFILE 2>&1 | grep "^Inode\|in inode body\|name = " >> $OUT status=$? echo Exit status is $status >> $OUT # resize it -echo "resize2fs test.img 5M" >> $OUT +echo "resize2fs $TMPFILE 5M" >> $OUT $RESIZE2FS $TMPFILE 5M 2>&1 >> $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT +sed -e '1d' $OUT.new >> $OUT # Look at inline extended attribute in resized fs -echo "debugfs -R ''stat file'' test.img 2>&1 | grep ''^Inode\|in inode body\|name = ''" >> $OUT +echo "debugfs -R ''stat file'' $TMPFILE 2>&1 | grep ''^Inode\|in inode body\|name = ''" >> $OUT $DEBUGFS -R "stat file" $TMPFILE 2>&1 | grep "^Inode\|in inode body\|name = " >> $OUT status=$? echo Exit status is $status >> $OUT @@ -34,20 +34,22 @@ rm $TMPFILE $OUT.new # Do the verification # +rm -f $test_name.ok $test_name.failed cmp -s $OUT $EXP status=$? if [ "$status" = 0 ] ; then - echo "$test_name: $test_description: ok" + echo "ok" touch $test_name.ok else - echo "$test_name: $test_description: failed" + echo "failed" diff $DIFF_OPTS $EXP $OUT > $test_name.failed fi unset IMAGE FSCK_OPT OUT EXP -else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" +else #if test -x $RESIZE2FS; then + rm -f $test_name.ok $test_name.failed + echo "skipped" fi diff --git a/tests/r_min_itable/expect b/tests/r_min_itable/expect deleted file mode 100644 index 2d8ecb45..00000000 --- a/tests/r_min_itable/expect +++ /dev/null @@ -1,15 +0,0 @@ -resize2fs test -resize2fs -M test.img -Resizing the filesystem on test.img to 1124 (1k) blocks. -The filesystem on test.img is now 1124 blocks long. - -Exit status is 0 - -fsck -yf -N test_filesys test.img -Pass 1: Checking inodes, blocks, and sizes -Pass 2: Checking directory structure -Pass 3: Checking directory connectivity -Pass 4: Checking reference counts -Pass 5: Checking group summary information -test_filesys: 13/512 files (0.0% non-contiguous), 1120/1124 blocks -Exit status is 0 diff --git a/tests/r_min_itable/image.gz b/tests/r_min_itable/image.gz deleted file mode 100644 index 7c40c566..00000000 Binary files a/tests/r_min_itable/image.gz and /dev/null differ diff --git a/tests/r_min_itable/name b/tests/r_min_itable/name deleted file mode 100644 index 841b0437..00000000 --- a/tests/r_min_itable/name +++ /dev/null @@ -1 +0,0 @@ -resize2fs -M with inode table in middle of last block group diff --git a/tests/r_min_itable/script b/tests/r_min_itable/script deleted file mode 100644 index beb6cf9c..00000000 --- a/tests/r_min_itable/script +++ /dev/null @@ -1,45 +0,0 @@ -if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then - -IMAGE=$test_dir/image.gz -FSCK_OPT=-yf -OUT=$test_name.log -EXP=$test_dir/expect - -gunzip < $IMAGE > $TMPFILE - -echo "resize2fs test" > $OUT - -echo "resize2fs -M test.img" >> $OUT -$RESIZE2FS -M $TMPFILE 2>&1 >> $OUT.new 2>&1 -status=$? -echo Exit status is $status >> $OUT.new - -echo " " >> $OUT.new -echo fsck $FSCK_OPT -N test_filesys test.img >> $OUT.new -$FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT.new 2>&1 -echo Exit status is $status >> $OUT.new - -sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT -rm $TMPFILE $OUT.new - -# -# Do the verification -# - -cmp -s $OUT $EXP -status=$? - -if [ "$status" = 0 ] ; then - echo "$test_name: $test_description: ok" - touch $test_name.ok -else - echo "$test_name: $test_description: failed" - diff $DIFF_OPTS $EXP $OUT > $test_name.failed -fi - -unset IMAGE FSCK_OPT OUT EXP - -else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" -fi - diff --git a/tests/r_move_itable/expect b/tests/r_move_itable/expect index b4b089bf..0d08b169 100644 --- a/tests/r_move_itable/expect +++ b/tests/r_move_itable/expect @@ -1,9 +1,9 @@ mke2fs -q -F -o Linux -b 1024 -g 256 test.img 1024 resize2fs -p test.img 10000 -Resizing the filesystem on test.img to 10000 (1k) blocks. +Resizing the filesystem on ./test.img to 10000 (1k) blocks. Begin pass 1 (max = 35) Extending the inode table ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -The filesystem on test.img is now 9985 blocks long. +The filesystem on ./test.img is now 9985 blocks long. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure @@ -13,6 +13,7 @@ Pass 5: Checking group summary information test_filesys: 11/1248 files (0.0% non-contiguous), 1281/9985 blocks Exit status is 0 dumpe2fs test.img + Filesystem volume name: Last mounted on: Filesystem magic number: 0xEF53 @@ -296,10 +297,10 @@ Group 38: (Blocks 9729-9984) Free inodes: 1217-1248 -------------------------------- resize2fs -p test.img 20000 -Resizing the filesystem on test.img to 20000 (1k) blocks. +Resizing the filesystem on ./test.img to 20000 (1k) blocks. Begin pass 1 (max = 39) Extending the inode table ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -The filesystem on test.img is now 19969 blocks long. +The filesystem on ./test.img is now 19969 blocks long. Filesystem did not have a UUID; generating one. @@ -308,9 +309,12 @@ Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** test_filesys: 11/2496 files (0.0% non-contiguous), 1644/19969 blocks -Exit status is 0 +Exit status is 1 dumpe2fs test.img + Filesystem volume name: Last mounted on: Filesystem magic number: 0xEF53 @@ -830,10 +834,10 @@ Group 77: (Blocks 19713-19968) Free inodes: 2465-2496 -------------------------------- resize2fs -p test.img 30000 -Resizing the filesystem on test.img to 30000 (1k) blocks. +Resizing the filesystem on ./test.img to 30000 (1k) blocks. Begin pass 1 (max = 39) Extending the inode table ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -The filesystem on test.img is now 29953 blocks long. +The filesystem on ./test.img is now 29953 blocks long. Filesystem did not have a UUID; generating one. @@ -842,9 +846,12 @@ Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** test_filesys: 11/3744 files (0.0% non-contiguous), 2007/29953 blocks -Exit status is 0 +Exit status is 1 dumpe2fs test.img + Filesystem volume name: Last mounted on: Filesystem magic number: 0xEF53 @@ -1600,10 +1607,10 @@ Group 116: (Blocks 29697-29952) Free inodes: 3713-3744 -------------------------------- resize2fs -p test.img 40000 -Resizing the filesystem on test.img to 40000 (1k) blocks. +Resizing the filesystem on ./test.img to 40000 (1k) blocks. Begin pass 1 (max = 40) Extending the inode table ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -The filesystem on test.img is now 40000 blocks long. +The filesystem on ./test.img is now 40000 blocks long. Filesystem did not have a UUID; generating one. @@ -1612,9 +1619,12 @@ Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** test_filesys: 11/5024 files (0.0% non-contiguous), 2376/40000 blocks -Exit status is 0 +Exit status is 1 dumpe2fs test.img + Filesystem volume name: Last mounted on: Filesystem magic number: 0xEF53 diff --git a/tests/r_move_itable/script b/tests/r_move_itable/script index e5678882..673f65c0 100644 --- a/tests/r_move_itable/script +++ b/tests/r_move_itable/script @@ -1,9 +1,9 @@ -if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then +if test -x $RESIZE2FS_EXE; then FSCK_OPT=-yf OUT=$test_name.log if [ -f $test_dir/expect.gz ]; then - EXP=$test_name.tmp + EXP=tmp_expect gunzip < $test_dir/expect.gz > $EXP1 else EXP=$test_dir/expect @@ -14,17 +14,17 @@ cp /dev/null $OUT dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1 echo mke2fs -q -F -o Linux -b 1024 -g 256 test.img 1024 > $OUT -$MKE2FS -q -F -o Linux -b 1024 -g 256 $TMPFILE 1024 2>&1 | - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT +$MKE2FS -q -F -o Linux -b 1024 -g 256 $TMPFILE 1024 2>&1 \ + | sed -e '1d' | grep -v "automatically checked" | + grep -v "whichever comes first" >> $OUT echo resize2fs -p test.img 10000 >> $OUT -$RESIZE2FS -p $TMPFILE 10000 2>&1 | - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT +$RESIZE2FS -p $TMPFILE 10000 2>&1 | sed -e '1d' >> $OUT $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new $DEBUGFS -R "set_super_value lastcheck 0" -w $TMPFILE >/dev/null 2>&1 @@ -33,18 +33,17 @@ $DEBUGFS -R "set_super_value mkfs_time 0" -w $TMPFILE >/dev/null 2>&1 $TUNE2FS -c 20 -U clear $TMPFILE >/dev/null 2>&1 echo dumpe2fs test.img >> $OUT -$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT +$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs >> $OUT echo "--------------------------------" >> $OUT echo resize2fs -p test.img 20000 >> $OUT -$RESIZE2FS -p $TMPFILE 20000 2>&1 | - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT +$RESIZE2FS -p $TMPFILE 20000 2>&1 | sed -e '1d' >> $OUT $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new $DEBUGFS -R "set_super_value lastcheck 0" -w $TMPFILE >/dev/null 2>&1 @@ -53,18 +52,17 @@ $DEBUGFS -R "set_super_value mkfs_time 0" -w $TMPFILE >/dev/null 2>&1 $TUNE2FS -c 20 -U clear $TMPFILE >/dev/null 2>&1 echo dumpe2fs test.img >> $OUT -$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT +$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs >> $OUT echo "--------------------------------" >> $OUT echo resize2fs -p test.img 30000 >> $OUT -$RESIZE2FS -p $TMPFILE 30000 2>&1 | - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT +$RESIZE2FS -p $TMPFILE 30000 2>&1 | sed -e '1d' >> $OUT $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new $DEBUGFS -R "set_super_value lastcheck 0" -w $TMPFILE >/dev/null 2>&1 @@ -73,18 +71,17 @@ $DEBUGFS -R "set_super_value mkfs_time 0" -w $TMPFILE >/dev/null 2>&1 $TUNE2FS -c 20 -U clear $TMPFILE >/dev/null 2>&1 echo dumpe2fs test.img >> $OUT -$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT +$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs >> $OUT echo "--------------------------------" >> $OUT echo resize2fs -p test.img 40000 >> $OUT -$RESIZE2FS -p $TMPFILE 40000 2>&1 | - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT +$RESIZE2FS -p $TMPFILE 40000 2>&1 | sed -e '1d' >> $OUT $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new $DEBUGFS -R "set_super_value lastcheck 0" -w $TMPFILE >/dev/null 2>&1 @@ -93,24 +90,25 @@ $DEBUGFS -R "set_super_value mkfs_time 0" -w $TMPFILE >/dev/null 2>&1 $TUNE2FS -c 20 -U clear $TMPFILE >/dev/null 2>&1 echo dumpe2fs test.img >> $OUT -$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT +$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs >> $OUT -rm -f $TMPFILE +rm -f $test_name.ok $test_name.failed $TMPFILE cmp -s $OUT $EXP status=$? if [ "$status" = 0 ] ; then - echo "$test_name: $test_description: ok" + echo "ok" touch $test_name.ok else - echo "$test_name: $test_description: failed" + echo "failed" diff $DIFF_OPTS $EXP $OUT > $test_name.failed - rm -f $test_name.tmp + rm -f tmp_expect fi unset IMAGE FSCK_OPT OUT EXP -else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then - echo "$test_name: $test_description: skipped" +else #if test -x $RESIZE2FS; then + rm -f $test_name.ok $test_name.failed + echo "skipped" fi diff --git a/tests/r_resize_inode/expect b/tests/r_resize_inode/expect index 786fe133..f4bee0fb 100644 --- a/tests/r_resize_inode/expect +++ b/tests/r_resize_inode/expect @@ -1,7 +1,7 @@ mke2fs -q -F -O resize_inode -o Linux -b 1024 -g 1024 test.img 16384 resize2fs test.img 65536 -Resizing the filesystem on test.img to 65536 (1k) blocks. -The filesystem on test.img is now 65536 blocks long. +Resizing the filesystem on ./test.img to 65536 (1k) blocks. +The filesystem on ./test.img is now 65536 blocks long. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure @@ -11,6 +11,7 @@ Pass 5: Checking group summary information test_filesys: 11/16384 files (0.0% non-contiguous), 4513/65536 blocks Exit status is 0 dumpe2fs test.img + Filesystem volume name: Last mounted on: Filesystem magic number: 0xEF53 @@ -447,8 +448,8 @@ Group 63: (Blocks 64513-65535) -------------------------------- mke2fs -q -F -O resize_inode -o Linux -b 1024 -g 1024 test.img 65536 resize2fs test.img 16384 -Resizing the filesystem on test.img to 16384 (1k) blocks. -The filesystem on test.img is now 16384 blocks long. +Resizing the filesystem on ./test.img to 16384 (1k) blocks. +The filesystem on ./test.img is now 16384 blocks long. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure @@ -458,6 +459,7 @@ Pass 5: Checking group summary information test_filesys: 11/4096 files (0.0% non-contiguous), 2107/16384 blocks Exit status is 0 dumpe2fs test.img + Filesystem volume name: Last mounted on: Filesystem magic number: 0xEF53 @@ -599,8 +601,8 @@ Group 15: (Blocks 15361-16383) Free inodes: 3841-4096 -------------------------------- resize2fs test.img 165536 -Resizing the filesystem on test.img to 165536 (1k) blocks. -The filesystem on test.img is now 165536 blocks long. +Resizing the filesystem on ./test.img to 165536 (1k) blocks. +The filesystem on ./test.img is now 165536 blocks long. Filesystem did not have a UUID; generating one. @@ -609,9 +611,12 @@ Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** test_filesys: 11/41472 files (0.0% non-contiguous), 8361/165536 blocks -Exit status is 0 +Exit status is 1 dumpe2fs test.img + Filesystem volume name: Last mounted on: Filesystem magic number: 0xEF53 diff --git a/tests/r_resize_inode/script b/tests/r_resize_inode/script index 0f121383..aced9c4f 100644 --- a/tests/r_resize_inode/script +++ b/tests/r_resize_inode/script @@ -3,7 +3,7 @@ if test -x $RESIZE2FS_EXE; then FSCK_OPT=-yf OUT=$test_name.log if [ -f $test_dir/expect.gz ]; then - EXP=$test_name.tmp + EXP=tmp_expect gunzip < $test_dir/expect.gz > $EXP1 else EXP=$test_dir/expect @@ -14,17 +14,17 @@ cp /dev/null $OUT dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1 echo mke2fs -q -F -O resize_inode -o Linux -b 1024 -g 1024 test.img 16384 > $OUT -$MKE2FS -q -F -O resize_inode -o Linux -b 1024 -g 1024 $TMPFILE 16384 2>&1 | - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT +$MKE2FS -q -F -O resize_inode -o Linux -b 1024 -g 1024 $TMPFILE 16384 2>&1 \ + | sed -e '1d' | grep -v "automatically checked" | + grep -v "whichever comes first" >> $OUT echo resize2fs test.img 65536 >> $OUT -$RESIZE2FS $TMPFILE 65536 2>&1 | - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT +$RESIZE2FS $TMPFILE 65536 2>&1 | sed -e '1d' >> $OUT $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new $DEBUGFS -R "set_super_value lastcheck 0" -w $TMPFILE >/dev/null 2>&1 @@ -33,24 +33,24 @@ $DEBUGFS -R "set_super_value mkfs_time 0" -w $TMPFILE >/dev/null 2>&1 $TUNE2FS -c 20 -U clear $TMPFILE >/dev/null 2>&1 echo dumpe2fs test.img >> $OUT -$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT +$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs >> $OUT echo "--------------------------------" >> $OUT dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1 echo mke2fs -q -F -O resize_inode -o Linux -b 1024 -g 1024 test.img 65536 >> $OUT -$MKE2FS -q -F -O resize_inode -o Linux -b 1024 -g 1024 $TMPFILE 65536 2>&1 | - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT +$MKE2FS -q -F -O resize_inode -o Linux -b 1024 -g 1024 $TMPFILE 65536 2>&1 \ + | sed -e '1d' | grep -v "automatically checked" | + grep -v "whichever comes first" >> $OUT echo resize2fs test.img 16384 >> $OUT -$RESIZE2FS $TMPFILE 16384 2>&1 | - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT +$RESIZE2FS $TMPFILE 16384 2>&1 | sed -e '1d' >> $OUT $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new $DEBUGFS -R "set_super_value lastcheck 0" -w $TMPFILE >/dev/null 2>&1 @@ -59,18 +59,17 @@ $DEBUGFS -R "set_super_value mkfs_time 0" -w $TMPFILE >/dev/null 2>&1 $TUNE2FS -c 20 -U clear $TMPFILE >/dev/null 2>&1 echo dumpe2fs test.img >> $OUT -$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT +$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs >> $OUT echo "--------------------------------" >> $OUT echo resize2fs test.img 165536 >> $OUT -$RESIZE2FS $TMPFILE 165536 2>&1 | - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT +$RESIZE2FS $TMPFILE 165536 2>&1 | sed -e '1d' >> $OUT $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1 status=$? echo Exit status is $status >> $OUT.new -sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT +sed -e '1d' $OUT.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT rm -f $OUT.new $DEBUGFS -R "set_super_value lastcheck 0" -w $TMPFILE >/dev/null 2>&1 @@ -79,23 +78,24 @@ $DEBUGFS -R "set_super_value mkfs_time 0" -w $TMPFILE >/dev/null 2>&1 $TUNE2FS -c 20 -U clear $TMPFILE >/dev/null 2>&1 echo dumpe2fs test.img >> $OUT -$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT +$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs >> $OUT -rm -f $TMPFILE +rm -f $test_name.ok $test_name.failed $TMPFILE cmp -s $OUT $EXP status=$? if [ "$status" = 0 ] ; then - echo "$test_name: $test_description: ok" + echo "ok" touch $test_name.ok else - echo "$test_name: $test_description: failed" + echo "failed" diff $DIFF_OPTS $EXP $OUT > $test_name.failed - rm -f $test_name.tmp + rm -f tmp_expect fi unset IMAGE FSCK_OPT OUT EXP else #if test -x $RESIZE2FS; then - echo "$test_name: $test_description: skipped" + rm -f $test_name.ok $test_name.failed + echo "skipped" fi diff --git a/tests/run_e2fsck b/tests/run_e2fsck index 5f28d921..9b4f170d 100644 --- a/tests/run_e2fsck +++ b/tests/run_e2fsck @@ -1,5 +1,5 @@ if [ "$DESCRIPTION"x != x ]; then - test_description="$DESCRIPTION" + printf "%s" "$DESCRIPTION: " fi if [ "$IMAGE"x = x ]; then IMAGE=$test_dir/image.gz @@ -23,7 +23,7 @@ fi if [ "$EXP1"x = x ]; then if [ -f $test_dir/expect.1.gz ]; then - EXP1=$test_name.1.tmp + EXP1=tmp_expect gunzip < $test_dir/expect.1.gz > $EXP1 else EXP1=$test_dir/expect.1 @@ -32,7 +32,7 @@ fi if [ "$EXP2"x = x ]; then if [ -f $test_dir/expect.2.gz ]; then - EXP2=$test_name.2.tmp + EXP2=tmp_expect gunzip < $test_dir/expect.2.gz > $EXP2 else EXP2=$test_dir/expect.2 @@ -50,19 +50,23 @@ eval $PREP_CMD $FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT1.new 2>&1 status=$? echo Exit status is $status >> $OUT1.new -sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT1.new >> $OUT1 +sed -e '1d' $OUT1.new | sed -e '/^JFS DEBUG:/d' | tr -d \\015 >> $OUT1 rm -f $OUT1.new if [ "$ONE_PASS_ONLY" != "true" ]; then $FSCK $SECOND_FSCK_OPT -N test_filesys $TMPFILE > $OUT2.new 2>&1 status=$? echo Exit status is $status >> $OUT2.new - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT2.new > $OUT2 + sed -e '1d' $OUT2.new | sed -e '/^JFS DEBUG:/d' > $OUT2 rm -f $OUT2.new fi eval $AFTER_CMD +if [ "$SKIP_UNLINK" != "true" ] ; then + rm $TMPFILE +fi + if [ "$SKIP_VERIFY" != "true" ] ; then rm -f $test_name.ok $test_name.failed cmp -s $OUT1 $EXP1 @@ -73,30 +77,13 @@ if [ "$SKIP_VERIFY" != "true" ] ; then else status2=0 fi - if [ "$PASS_ZERO" = "true" ]; then - cmp -s $test_name.0.log $test_dir/expect.0 - status3=$? - else - status3=0 - fi - if [ -z "$test_description" ] ; then - description="$test_name" - else - description="$test_name: $test_description" - fi - - if [ "$status1" -eq 0 -a "$status2" -eq 0 -a "$status3" -eq 0 ] ; then - echo "$description: ok" + if [ "$status1" = 0 -a "$status2" = 0 ] ; then + echo "ok" touch $test_name.ok else - echo "$description: failed" - rm -f $test_name.failed - if [ "$PASS_ZERO" = "true" ]; then - diff $DIFF_OPTS $test_dir/expect.0 \ - $test_name.0.log >> $test_name.failed - fi - diff $DIFF_OPTS $EXP1 $OUT1 >> $test_name.failed + echo "failed" + diff $DIFF_OPTS $EXP1 $OUT1 > $test_name.failed if [ "$ONE_PASS_ONLY" != "true" ]; then diff $DIFF_OPTS $EXP2 $OUT2 >> $test_name.failed fi @@ -107,6 +94,6 @@ fi if [ "$SKIP_CLEANUP" != "true" ] ; then unset IMAGE FSCK_OPT SECOND_FSCK_OPT OUT1 OUT2 EXP1 EXP2 unset SKIP_VERIFY SKIP_CLEANUP SKIP_GUNZIP ONE_PASS_ONLY PREP_CMD - unset DESCRIPTION SKIP_UNLINK AFTER_CMD PASS_ZERO + unset DESCRIPTION SKIP_UNLINK AFTER_CMD fi diff --git a/tests/run_mke2fs b/tests/run_mke2fs index 82eca41a..ab807a5a 100644 --- a/tests/run_mke2fs +++ b/tests/run_mke2fs @@ -1,5 +1,3 @@ -if test -x $DEBUGFS_EXE; then - if [ "$FS_SIZE"x = x ]; then FS_SIZE=1024 fi @@ -11,17 +9,7 @@ MKE2FS_SKIP_PROGRESS=true MKE2FS_SKIP_CHECK_MSG=true export MKE2FS_SKIP_PROGRESS MKE2FS_SKIP_CHECK_MSG > $TMPFILE -PREP_CMD='$MKE2FS -F -o Linux $MKE2FS_OPTS $TMPFILE $FS_SIZE 2>&1 | - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" > $OUT1; - $DEBUGFS -R features $TMPFILE 2>&1 | - sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" >> $OUT1' -AFTER_CMD='$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT1' +PREP_CMD='$MKE2FS -F -o Linux $MKE2FS_OPTS $TMPFILE $FS_SIZE 2>&1 | sed -e 1d | tr -d \\015 > $OUT1 ; $DEBUGFS -R features $TMPFILE 2>&1 | sed -e 1d | tr -d \\015 >> $OUT1 ; echo " " >> $OUT1' +AFTER_CMD='$DUMPE2FS $TMPFILE 2>&1 | sed -f $cmd_dir/filter_dumpe2fs | tr -d \\015 >> $OUT1' . $cmd_dir/run_e2fsck - -else #if test -x $DEBUGFS_EXE; then - rm -f $test_name.ok $test_name.failed - echo "skipped" -fi - -unset DESCRIPTION FS_SIZE MKE2FS_OPTS MKE2FS_SKIP_PROGRESS \ - MKE2FS_DEVICE_SECTSIZE +unset FS_SIZE MKE2FS_OPTS MKE2FS_SKIP_PROGRESS diff --git a/tests/scripts/mkdup b/tests/scripts/mkdup deleted file mode 100755 index c48a9f05..00000000 --- a/tests/scripts/mkdup +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -OPTS="-O bigalloc -C 8192" -SIZE=4096 -IMG=/tmp/foo.img -TMP=$(mktemp) -SIZE_A=15000 -SIZE_B=5000 -SIZE_C=20000 - -DEBUGFS=./debugfs/debugfs -MKE2FS=./misc/mke2fs -FSCK=./e2fsck/e2fsck - -dd if=/dev/zero of=$IMG bs=1k count=$SIZE -echo $MKE2FS -F -t ext4 -L test $OPTS test.img $SIZE -$MKE2FS -F -t ext4 -L test $OPTS $IMG $SIZE -dd if=/dev/zero of=$TMP bs=$SIZE_A count=1 >& /dev/null -echo Writing $SIZE_A bytes to a -$DEBUGFS -w -R "write $TMP a" $IMG -BLKS=$(./debugfs/debugfs -R "blocks a" $IMG) -cp /dev/null $TMP -echo "Releasing blocks $BLKS" -for i in $BLKS ; do echo "freeb $i" >> $TMP; done -$DEBUGFS -w $IMG < $TMP >& /dev/null - -echo Writing $SIZE_B bytes to b -dd if=/dev/zero of=$TMP bs=$SIZE_B count=1 >& /dev/null -$DEBUGFS -w -R "write $TMP b" $IMG -if [ -n "$SIZE_C" ]; then - BLKS=$(./debugfs/debugfs -R "blocks b" $IMG) - cp /dev/null $TMP - echo "Releasing blocks $BLKS" - for i in $BLKS ; do echo "freeb $i" >> $TMP; done - $DEBUGFS -w $IMG < $TMP >& /dev/null - - echo Writing $SIZE_C bytes to c - dd if=/dev/zero of=$TMP bs=$SIZE_C count=1 >& /dev/null - $DEBUGFS -w -R "write $TMP c" $IMG -fi -echo "set_inode_field a mtime 201107040000" > $TMP -echo "set_inode_field b mtime 201107050000" >> $TMP -if [ -n "$SIZE_C" ]; then - echo "set_inode_field c mtime 201107060000" >> $TMP -fi -$DEBUGFS -w $IMG < $TMP >& /dev/null - -$FSCK -fy $IMG -rm $TMP - diff --git a/tests/scripts/resize_test b/tests/scripts/resize_test deleted file mode 100755 index 6a8b0e97..00000000 --- a/tests/scripts/resize_test +++ /dev/null @@ -1,155 +0,0 @@ -#!/bin/sh - -resize_test () { - -rm -f $TMPFILE -touch $TMPFILE - -# Verify that the $TMP filesystem handles $SIZE_2 sparse files. -# If that fails, try the local filesystem instead. -if truncate -s $SIZE_2 $TMPFILE 2> /dev/null; then - > $TMPFILE -else - rm $TMPFILE - export TMPFILE=$(TMPDIR=. mktemp -t $test_name.XXXXXX.tmp) - touch $TMPFILE - if ! truncate -s $SIZE_2 $TMPFILE 2> /dev/null; then - rm $TMPFILE - return 111 - fi -fi - -echo $MKE2FS $FEATURES -qF $TMPFILE $SIZE_1 > $LOG -$MKE2FS $FEATURES -qF $TMPFILE $SIZE_1 >> $LOG - -OUT_TMP=$(mktemp -t csum-tmp.XXXXXX) - -date > $OUT_TMP -cat $E2FSCK >> $OUT_TMP -echo $CRCSUM $OUT_TMP >> $LOG 2>&1 -CSUM_1=$($CRCSUM $OUT_TMP) -echo Checksum is $CSUM_1 >> $LOG - -echo Setting up file system >> $LOG -$DEBUGFS -w $TMPFILE >> $LOG 2>&1 << EOF -mkdir test -cd test -write $OUT_TMP e2fsck -ls /test -stat /test/e2fsck -quit -EOF -echo " " >> $LOG - -rm -f $OUT_TMP - -echo $FSCK -fy $TMPFILE >> $LOG 2>&1 -$FSCK -fy $TMPFILE >> $LOG 2>&1 - -echo $RESIZE2FS $RESIZE2FS_OPTS -d 31 $TMPFILE $SIZE_2 >> $LOG 2>&1 -if ! $RESIZE2FS $RESIZE2FS_OPTS -d 31 $TMPFILE $SIZE_2 >> $LOG 2>&1 -then - return 1 -fi - -echo $FSCK -fp $TMPFILE >> $LOG 2>&1 -if ! $FSCK -fp $TMPFILE >> $LOG 2>&1 -then - dumpe2fs $TMPFILE >> $LOG - return 1 -fi - -echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1 -$DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1 - -echo $CRCSUM $OUT_TMP >> $LOG 2>&1 -CSUM_2=$($CRCSUM $OUT_TMP) -echo Checksum is $CSUM_2 >> $LOG - -if test "$CSUM_1" != "$CSUM_2" -then - return 1 -fi - -echo $RESIZE2FS $RESIZE2FS_OPTS -d 31 -M $TMPFILE $SIZE_2 >> $LOG 2>&1 -if ! $RESIZE2FS $RESIZE2FS_OPTS -d 31 -M $TMPFILE $SIZE_2 >> $LOG 2>&1 -then - return 1 -fi - -echo $FSCK -fp $TMPFILE >> $LOG 2>&1 -if ! $FSCK -fp $TMPFILE >> $LOG 2>&1 -then - dumpe2fs $TMPFILE >> $LOG - return 1 -fi - -echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1 -$DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1 - -echo $CRCSUM $OUT_TMP >> $LOG 2>&1 -CSUM_2=$($CRCSUM $OUT_TMP) -echo Checksum is $CSUM_2 >> $LOG - -if test "$CSUM_1" != "$CSUM_2" -then - return 1 -fi - -echo $RESIZE2FS $RESIZE2FS_OPTS -d 31 -M $TMPFILE $SIZE_2 >> $LOG 2>&1 -if ! $RESIZE2FS $RESIZE2FS_OPTS -d 31 -M $TMPFILE $SIZE_2 >> $LOG 2>&1 -then - return 1 -fi - -echo $FSCK -fp $TMPFILE >> $LOG 2>&1 -if ! $FSCK -fp $TMPFILE >> $LOG 2>&1 -then - dumpe2fs $TMPFILE >> $LOG - return 1 -fi - -echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1 -$DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1 - -echo $CRCSUM $OUT_TMP >> $LOG 2>&1 -CSUM_2=$($CRCSUM $OUT_TMP) -echo Checksum is $CSUM_2 >> $LOG - -if test "$CSUM_1" != "$CSUM_2" -then - return 1 -fi - -echo $RESIZE2FS $RESIZE2FS_OPTS -d 31 -M $TMPFILE $SIZE_2 >> $LOG 2>&1 -if ! $RESIZE2FS $RESIZE2FS_OPTS -d 31 -M $TMPFILE $SIZE_2 >> $LOG 2>&1 -then - return 1 -fi - -echo $FSCK -fp $TMPFILE >> $LOG 2>&1 -if ! $FSCK -fp $TMPFILE >> $LOG 2>&1 -then - dumpe2fs $TMPFILE >> $LOG - return 1 -fi - -echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1 -$DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1 - -echo $CRCSUM $OUT_TMP >> $LOG 2>&1 -CSUM_2=$($CRCSUM $OUT_TMP) -echo Checksum is $CSUM_2 >> $LOG - -rm $OUT_TMP -unset OUT_TMP - -if test "$CSUM_1" != "$CSUM_2" -then - return 1 -fi - -rm $TMPFILE -return 0 - -} diff --git a/tests/t_ext_jnl_rm/script b/tests/t_ext_jnl_rm/script deleted file mode 100644 index b2af80cf..00000000 --- a/tests/t_ext_jnl_rm/script +++ /dev/null @@ -1,26 +0,0 @@ -test_description="remove missing external journal device" -OUT=$test_name.log - -dd if=/dev/zero of=$TMPFILE bs=1k count=512 > /dev/null 2>&1 - -echo mke2fs -q -F -o Linux -b 1024 $TMPFILE >> $OUT -$MKE2FS -q -F -o Linux -I 128 -b 1024 $TMPFILE >> $OUT 2>&1 - -echo "debugfs add journal device/UUID" >> $OUT -$DEBUGFS -w -f - $TMPFILE <<- EOF >> $OUT 2>&1 - feature has_journal - ssv journal_dev 0x9999 - ssv journal_uuid 1db3f677-6832-4adb-bafc-8e4059c30a33 -EOF - -echo "tune2fs -f -O ^has_journal $TMPFILE" >> $OUT -$TUNE2FS -f -O ^has_journal $TMPFILE >> $OUT 2>&1 -$DUMPE2FS -h $TMPFILE >> $OUT 2>&1 -if [ "$(grep 'Journal UUID:' $OUT)" ]; then - mv $test_name.log $test_name.failed - echo "$test_name: $test_description: failed" -else - echo "$test_name: $test_description: ok" - mv $test_name.log $test_name.ok -fi -rm -f $TMPFILE diff --git a/tests/t_mmp_1on/name b/tests/t_mmp_1on/name deleted file mode 100644 index 62e16b20..00000000 --- a/tests/t_mmp_1on/name +++ /dev/null @@ -1 +0,0 @@ -enable MMP using tune2fs diff --git a/tests/t_mmp_1on/script b/tests/t_mmp_1on/script deleted file mode 100644 index 8fc8158f..00000000 --- a/tests/t_mmp_1on/script +++ /dev/null @@ -1,39 +0,0 @@ -FSCK_OPT=-yf - -TMPFILE=$test_name.tmp -> $TMPFILE - -stat -f $TMPFILE | grep -q "Type: tmpfs" -if [ $? = 0 ] ; then - rm -f $TMPFILE - echo "$test_name: $test_description: skipped for tmpfs (no O_DIRECT)" - return 0 -fi - -$MKE2FS -q -F -o Linux -b 4096 $TMPFILE 100 > $test_name.log 2>&1 -status=$? -if [ "$status" != 0 ] ; then - echo "mke2fs failed" > $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi - -$TUNE2FS -O mmp -E mmp_update_interval=1 $TMPFILE >> $test_name.log 2>&1 -status=$? -if [ "$status" != 0 ] ; then - echo "tune2fs -O mmp failed with $status" > $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi - -$FSCK $FSCK_OPT $TMPFILE >> $test_name.log 2>&1 -status=$? -if [ "$status" = 0 ] ; then - echo "$test_name: $test_description: ok" - touch $test_name.ok -else - echo "e2fsck with MMP enabled failed with $status" > $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi -rm -f $TMPFILE diff --git a/tests/t_mmp_2off/name b/tests/t_mmp_2off/name deleted file mode 100644 index d7cac514..00000000 --- a/tests/t_mmp_2off/name +++ /dev/null @@ -1 +0,0 @@ -disable MMP using tune2fs diff --git a/tests/t_mmp_2off/script b/tests/t_mmp_2off/script deleted file mode 100644 index 1dee14ed..00000000 --- a/tests/t_mmp_2off/script +++ /dev/null @@ -1,39 +0,0 @@ -FSCK_OPT=-yf - -TMPFILE=$test_name.tmp -> $TMPFILE - -stat -f $TMPFILE | grep -q "Type: tmpfs" -if [ $? = 0 ]; then - rm -f $TMPFILE - echo "$test_name: $test_description: skipped for tmpfs (no O_DIRECT)" - return 0 -fi - -$MKE2FS -q -F -o Linux -b 4096 -O mmp $TMPFILE 100 > $test_name.log 2>&1 -status=$? -if [ "$status" != 0 ] ; then - echo "mke2fs -O mmp failed" > $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi - -$TUNE2FS -O ^mmp $TMPFILE > $test_name.log 2>&1 -status=$? -if [ "$status" != 0 ] ; then - echo "tune2fs -O ^mmp failed" > $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi - -$FSCK $FSCK_OPT $TMPFILE > $test_name.log 2>&1 -status=$? -if [ "$status" = 0 ] ; then - echo "$test_name: $test_description: ok" - touch $test_name.ok -else - echo "e2fsck after MMP disable failed" > $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi -rm -f $TMPFILE diff --git a/tests/t_quota_1on/name b/tests/t_quota_1on/name deleted file mode 100644 index f92e2d58..00000000 --- a/tests/t_quota_1on/name +++ /dev/null @@ -1 +0,0 @@ -enable quota using tune2fs diff --git a/tests/t_quota_1on/script b/tests/t_quota_1on/script deleted file mode 100644 index ed17f337..00000000 --- a/tests/t_quota_1on/script +++ /dev/null @@ -1,42 +0,0 @@ -FSCK_OPT=-yf - -if [ "$QUOTA" != "y" ]; then - echo "$test_name: $test_description: skipped" - return 0 -fi - -$MKE2FS -q -F -o Linux -b 4096 $TMPFILE 10000 > $test_name.log 2>&1 -status=$? -if [ "$status" != 0 ] ; then - echo "mke2fs failed" > $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi - -dd if=/dev/zero of=$TMPFILE.2 bs=1048576 count=1 >> $test_name.log 2>&1 -cat <<- EOF | $DEBUGFS -w -f /dev/stdin $TMPFILE >> $test_name.log 2>&1 - write $TMPFILE.2 file1 - set_inode_field file1 uid 500 - set_inode_field file1 gid 500 -EOF -rm -f $TMPFILE.2 - -$TUNE2FS -O quota $TMPFILE >> $test_name.log 2>&1 -status=$? -if [ "$status" != 0 ] ; then - echo "tune2fs -O quota failed with $status" > $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi - -$FSCK $FSCK_OPT $TMPFILE >> $test_name.log 2>&1 -status=$? -if [ "$status" = 0 ] ; then - echo "$test_name: $test_description: ok" - touch $test_name.ok -else - echo "e2fsck with quota enabled failed with $status" > $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi -rm -f $TMPFILE diff --git a/tests/t_quota_2off/name b/tests/t_quota_2off/name deleted file mode 100644 index bb0ec98f..00000000 --- a/tests/t_quota_2off/name +++ /dev/null @@ -1 +0,0 @@ -disable quota using tune2fs diff --git a/tests/t_quota_2off/script b/tests/t_quota_2off/script deleted file mode 100644 index b170c59c..00000000 --- a/tests/t_quota_2off/script +++ /dev/null @@ -1,35 +0,0 @@ -FSCK_OPT=-yf - -if [ "$QUOTA" != "y" ]; then - echo "$test_name: $test_description: skipped" - return 0 -fi - -$MKE2FS -q -F -o Linux -b 4096 -O quota $TMPFILE 100 > $test_name.log 2>&1 -status=$? -if [ "$status" != 0 ] ; then - echo "mke2fs -O quota failed" > $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi - -$TUNE2FS -O ^quota $TMPFILE >> $test_name.log 2>&1 -status=$? -if [ "$status" != 0 ] ; then - echo "tune2fs -O ^quota failed" > $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi - -$FSCK $FSCK_OPT $TMPFILE >> $test_name.log 2>&1 -status=$? -if [ "$status" = 0 ] ; then - echo "$test_name: $test_description: ok" - touch $test_name.ok -else - echo "e2fsck with quota enabled failed with $status" > $test_name.failed - echo "$test_name: $test_description: failed" - return $status -fi - -rm -f $TMPFILE diff --git a/tests/test_config b/tests/test_config index 67896562..45130bad 100644 --- a/tests/test_config +++ b/tests/test_config @@ -9,19 +9,16 @@ DUMPE2FS="$USE_VALGRIND ../misc/dumpe2fs" TUNE2FS="$USE_VALGRIND ../misc/tune2fs" CHATTR="$USE_VALGRIND../misc/chattr" LSATTR="$USE_VALGRIND ../misc/lsattr" -E2IMAGE="$USE_VALGRIND ../misc/e2image" -E2IMAGE_EXE="../misc/e2image" DEBUGFS="$USE_VALGRIND ../debugfs/debugfs" -DEBUGFS_EXE="../debugfs/debugfs" TEST_BITS="../debugfs/debugfs" RESIZE2FS_EXE="../resize/resize2fs" RESIZE2FS="$USE_VALGRIND $RESIZE2FS_EXE" E2UNDO_EXE="../misc/e2undo" TEST_REL=../tests/progs/test_rel TEST_ICOUNT=../tests/progs/test_icount -CRCSUM=../tests/progs/crcsum LD_LIBRARY_PATH=../lib:../lib/ext2fs:../lib/e2p:../lib/et:../lib/ss DYLD_LIBRARY_PATH=../lib:../lib/ext2fs:../lib/e2p:../lib/et:../lib/ss +TMPFILE=./test.img export LD_LIBRARY_PATH export DYLD_LIBRARY_PATH TZ=GMT0 @@ -32,7 +29,4 @@ E2FSCK_CONFIG=/dev/null export E2FSCK_CONFIG MKE2FS_CONFIG=./mke2fs.conf export MKE2FS_CONFIG -E2FSPROGS_SKIP_PROGRESS=yes -export E2FSPROGS_SKIP_PROGRESS -EXT2FS_NO_MTAB_OK=yes -export EXT2FS_NO_MTAB_OK + diff --git a/tests/test_one.in b/tests/test_one.in deleted file mode 100644 index d053fd71..00000000 --- a/tests/test_one.in +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/sh -# run a single regression test - -LC_ALL=C -export LC_ALL - -case "$1" in - --valgrind) - export USE_VALGRIND="valgrind -q --sim-hints=lax-ioctls" - shift; - ;; - --valgrind-leakcheck) - export USE_VALGRIND="valgrind --sim-hints=lax-ioctls --leak-check=full --show-reachable=yes --log-file=/tmp/valgrind-%p.log" - shift; - ;; -esac - -case "$1" in - *.failed|*.new|*.ok|*.log|*.tmp) exit 0 ;; -esac - -test_dir=$1 -cmd_dir=$SRCDIR - -if test "$TEST_CONFIG"x = x; then - TEST_CONFIG=$SRCDIR/test_config -fi - -. $TEST_CONFIG - -TMPFILE=$(mktemp -t e2fsprogs-tmp.XXXXXX) - -test_name=`echo $test_dir | sed -e 's;.*/;;'` -if [ -f $test_dir ] ; then - exit 0; -fi -if [ ! -d $test_dir ] ; then - echo "The test '$test_name' does not exist." - exit 0; -fi -if [ -z "`ls $test_dir`" ]; then - exit 0 -fi -if [ -f $test_dir/name ]; then - test_description=`cat $test_dir/name` -else - test_description= -fi - -rm -f $test_name.ok $test_name.failed -#echo -e -n "$test_name: $test_description:\r" - -if [ -f $test_dir/script ]; then - . $test_dir/script -else - test_base=`echo $test_name | sed -e 's/_.*//'` - default_script=$SRCDIR/defaults/${test_base}_script - if [ -f $default_script ]; then - . $SRCDIR/defaults/${test_base}_script - else - echo "$test_name: Missing test script $default_script!" - fi - [ -f $test_name.failed ] && cat $test_name.failed -fi - -if [ "$SKIP_UNLINK" != "true" ] ; then - rm -f $TMPFILE -fi - diff --git a/tests/test_post b/tests/test_post deleted file mode 100755 index 12512663..00000000 --- a/tests/test_post +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# report stats about test scripts that were run - -num_ok=`ls *.ok 2>/dev/null | wc -l` -num_failed=`ls *.failed 2>/dev/null | wc -l` - -echo "$num_ok tests succeeded $num_failed tests failed" - -test "$num_failed" -eq 0 && exit 0 - -echo -n "Tests failed: " -for fname in $(ls *.failed); do - echo -n "${fname%%.failed} " -done -echo "" - -exit 1 diff --git a/tests/test_script.in b/tests/test_script.in index 41ad104b..aac28fb6 100644 --- a/tests/test_script.in +++ b/tests/test_script.in @@ -1,8 +1,12 @@ #!/bin/sh -# Run all or specified test scripts # +# Test script for e2fsck +# + +LC_ALL=C +export LC_ALL -case "$1" in +case "$1" in --valgrind) export USE_VALGRIND="valgrind -q --sim-hints=lax-ioctls" shift; @@ -14,19 +18,62 @@ case "$1" in esac if test "$1"x = x ; then - TESTS=`ls -d $SRCDIR/[a-zA-Z]_*` + TESTS=`ls -d $SRCDIR/[a-zA-Z]_* | $EGREP -v "\.failed|\.new"` else TESTS= - for i; do + for i + do case $i in + *.failed|*.new) continue ;; [a-zA-Z]) TESTS="$TESTS $SRCDIR/${i}_*" ;; *) TESTS="$TESTS $SRCDIR/$i" ;; esac done fi -for test_dir in $TESTS; do - ./test_one $test_dir +cmd_dir=$SRCDIR + +if test "$TEST_CONFIG"x = x; then + TEST_CONFIG=$SRCDIR/test_config +fi + +. $TEST_CONFIG + +for test_dir in $TESTS +do + test_name=`echo $test_dir | sed -e 's;.*/;;'` + if [ -f $test_dir ] ; then + continue; + fi + if [ ! -d $test_dir ] ; then + echo "The test '$test_name' does not exist." + continue; + fi + if [ -z "`ls $test_dir`" ]; then + continue + fi + if [ -f $test_dir/name ]; then + test_description=`cat $test_dir/name` + printf "%s: %s: " "$test_name" "$test_description" + else + printf "%s: " "$test_name" + fi + if [ -f $test_dir/script ]; then + . $test_dir/script + else + test_base=`echo $test_name | sed -e 's/_.*//'` + default_script=$SRCDIR/defaults/${test_base}_script + if [ -f $default_script ]; then + . $SRCDIR/defaults/${test_base}_script + else + echo "Missing test script!" + fi + fi done -$SRCDIR/test_post +num_ok=`ls *.ok 2>/dev/null | wc -l` +num_failed=`ls *.failed 2>/dev/null | wc -l` + +echo "$num_ok tests succeeded $num_failed tests failed" + +test "$num_failed" -eq 0 || exit 1 diff --git a/tests/u_mke2fs/script b/tests/u_mke2fs/script index fcf5eae9..8d511597 100644 --- a/tests/u_mke2fs/script +++ b/tests/u_mke2fs/script @@ -1,9 +1,9 @@ -test_description="e2undo with mke2fs" +printf "e2undo with mke2fs: " if test -x $E2UNDO_EXE; then -E2FSPROGS_UNDO_DIR=/tmp +E2FSPROGS_UNDO_DIR=./ export E2FSPROGS_UNDO_DIR -TDB_FILE=$E2FSPROGS_UNDO_DIR/mke2fs-$(basename $TMPFILE).e2undo +TDB_FILE=./mke2fs-test.img.e2undo OUT=$test_name.log rm -f $TDB_FILE >/dev/null 2>&1 @@ -24,11 +24,13 @@ new_md5=`md5sum $TMPFILE | cut -d " " -f 1` echo md5sum after e2undo $new_md5 >> $OUT if [ $md5 = $new_md5 ]; then - echo "$test_name: $test_description: ok" + echo "ok" touch $test_name.ok + rm -f $test_name.failed else + rm -f $test_name.ok ln -f $test_name.log $test_name.failed - echo "$test_name: $test_description: failed" + echo "failed" fi rm -f $TDB_FILE $TMPFILE fi diff --git a/tests/u_tune2fs/script b/tests/u_tune2fs/script index 4cc1e0c0..5382cad1 100644 --- a/tests/u_tune2fs/script +++ b/tests/u_tune2fs/script @@ -1,9 +1,9 @@ -test_description="e2undo with tune2fs" +printf "e2undo with tune2fs: " if test -x $E2UNDO_EXE; then -E2FSPROGS_UNDO_DIR=/tmp +E2FSPROGS_UNDO_DIR=./ export E2FSPROGS_UNDO_DIR -TDB_FILE=$E2FSPROGS_UNDO_DIR/tune2fs-$(basename $TMPFILE).e2undo +TDB_FILE=./tune2fs-test.img.e2undo OUT=$test_name.log rm -f $TDB_FILE >/dev/null 2>&1 @@ -24,11 +24,13 @@ new_md5=`md5sum $TMPFILE | cut -d " " -f 1` echo md5sum after e2undo $new_md5 >> $OUT if [ $md5 = $new_md5 ]; then - echo "$test_name: $test_description: ok" + echo "ok" touch $test_name.ok + rm -f $test_name.failed else + rm -f $test_name.ok ln -f $test_name.log $test_name.failed - echo "$test_name: $test_description: failed" + echo "failed" fi rm -f $TDB_FILE $TMPFILE fi diff --git a/util/Makefile.in b/util/Makefile.in index 76c3f88a..4ad769f6 100644 --- a/util/Makefile.in +++ b/util/Makefile.in @@ -16,9 +16,8 @@ SRCS = $(srcdir)/subst.c .c.o: $(E) " CC $<" $(Q) $(BUILD_CC) -c $(BUILD_CFLAGS) $< -o $@ - $(Q) $(CHECK_CMD) $(ALL_CFLAGS) $< -PROGS= subst symlinks +PROGS= subst all:: $(PROGS) gen-tarball @@ -30,10 +29,6 @@ copy_sparse: copy_sparse.o $(E) " LD $@" $(Q) $(BUILD_CC) $(BUILD_LDFLAGS) -o copy_sparse copy_sparse.o -symlinks: symlinks.o - $(E) " LD $@" - $(Q) $(BUILD_CC) $(BUILD_LDFLAGS) -o symlinks symlinks.o - gen-tarball: $(srcdir)/gen-tarball.in $(top_builddir)/config.status $(E) " CONFIG.STATUS $@" $(Q) cd $(top_builddir); CONFIG_FILES=util/gen-tarball ./config.status diff --git a/util/Makefile.pq b/util/Makefile.pq deleted file mode 100644 index ccde1183..00000000 --- a/util/Makefile.pq +++ /dev/null @@ -1,10 +0,0 @@ -TOPSRC=.. - -!include $(TOPSRC)\powerquest\MCONFIG - -ALL:: libecho.exe - -libecho.exe: libecho.c - -clean:: - $(RM) libecho.exe diff --git a/util/all.exclude b/util/all.exclude index d7d03b22..8247f755 100644 --- a/util/all.exclude +++ b/util/all.exclude @@ -5,7 +5,7 @@ patches README.subset build -build[^/]* +build.static rpm.log TODO powerquest diff --git a/util/install-symlink.in b/util/install-symlink.in deleted file mode 100644 index 24341b8b..00000000 --- a/util/install-symlink.in +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh -# -# install-symlink source destination destdir -# - -SYMLINKS=symlinks -LN_S="@LN_S@" -RM="@RM@" -FORCE_RELATIVE=NO -FORCE_ABSOLUTE=NO - -while echo $1 | grep -q -- ^- ; -do - case $1 in - --relative) - FORCE_RELATIVE=YES - ;; - --absolute) - FORCE_ABSOLUTE=YES - ;; - --debian) - FORCE_ABSOLUTE=NO - FORCE_RELATIVE=NO - ;; - --symlinks=*) - SYMLINKS=$(echo $1 | sed -e 's/--symlinks=//') - ;; - *) - echo "Unknown option $1" - exit 1 - ;; - esac - shift; -done - - -FIX_SYMLINK="$SYMLINKS -c" - -SRC="$1" -DEST="$2" -DESTDIR="$3" - -if ! echo $SRC | grep -q ^/ ; then - echo $SRC: Source pathname must be absolute - exit 1 -fi - -if ! echo $DEST | grep -q ^/ ; then - echo $DEST: Destination pathname must be absolute - exit 1 -fi - -if ! test -e "$DESTDIR$SRC" ; then - echo $DESTDIR$SRC: file or directory does not exist - exit 1 -fi - -$RM -f "$DESTDIR$DEST" - -if test "$LN_S" != "ln -s" ; then - $LN_S "$DESTDIR$SRC" "$DESTDIR$DEST" - exit 0 -fi - -if test $(dirname "$SRC") = $(dirname "$DEST") ; then - $LN_S "$(basename "$SRC")" "$DESTDIR$DEST" - exit 0 -fi - -TOP_SRC=$(echo $SRC | awk -F/ '{print $2}') -TOP_DEST=$(echo $DEST | awk -F/ '{print $2}') - -if test $FORCE_RELATIVE = YES ; then - TOP_SRC=FORCE - TOP_DEST=FORCE -fi - -if test $FORCE_ABSOLUTE = YES ; then - TOP_SRC=FORCE - TOP_DEST=FORCE_ABSOLUTE -fi - -if test $TOP_SRC != $TOP_DEST ; then - $LN_S "$SRC" "$DESTDIR$DEST" -else - $LN_S "$DESTDIR$SRC" "$DESTDIR$DEST" - $FIX_SYMLINK "$DESTDIR$DEST" -fi - diff --git a/util/subset.exclude b/util/subset.exclude index b988fa84..b8c839d8 100644 --- a/util/subset.exclude +++ b/util/subset.exclude @@ -4,7 +4,7 @@ .pc patches build -build[^/]* +build.static rpm.log TODO powerquest diff --git a/util/subst.c b/util/subst.c index 20dd6f21..b55f54bc 100644 --- a/util/subst.c +++ b/util/subst.c @@ -30,12 +30,14 @@ struct subst_entry { struct subst_entry *next; }; -static struct subst_entry *subst_table = 0; +struct subst_entry *subst_table = 0; static int add_subst(char *name, char *value) { struct subst_entry *ent = 0; + int retval; + retval = ENOMEM; ent = (struct subst_entry *) malloc(sizeof(struct subst_entry)); if (!ent) goto fail; @@ -53,9 +55,10 @@ static int add_subst(char *name, char *value) fail: if (ent) { free(ent->name); + free(ent->value); free(ent); } - return ENOMEM; + return retval; } static struct subst_entry *fetch_subst_entry(char *name) diff --git a/util/subst.conf.in b/util/subst.conf.in index 64fde7ad..d5707250 100644 --- a/util/subst.conf.in +++ b/util/subst.conf.in @@ -12,11 +12,8 @@ SIZEOF_SHORT @SIZEOF_SHORT@ datarootdir @datarootdir@ datadir @datadir@ root_sysconfdir @root_sysconfdir@ -$datarootdir @datarootdir@ $root_prefix @root_prefix@ $prefix @prefix@ # Enable the documentation for the journal device mke2fs, tune2fs, and # e2fsck's man page JDEV -# Enable documentation for quota feature in mke2fs -QUOTA_MAN_COMMENT @QUOTA_MAN_COMMENT@ diff --git a/util/symlinks.c b/util/symlinks.c deleted file mode 100644 index abb33f8b..00000000 --- a/util/symlinks.c +++ /dev/null @@ -1,387 +0,0 @@ -#define _FILE_OFFSET_BITS 64 -#define _LARGEFILE_SOURCE -#define _LARGEFILE64_SOURCE - -#include -#ifndef _POSIX_SOURCE -#define _POSIX_SOURCE -#endif -#include -#include -#ifdef HAVE_MALLOC_H -#include -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef S_ISLNK -#define S_ISLNK(mode) (((mode) & (_S_IFMT)) == (_S_IFLNK)) -#endif - -#ifndef PATH_MAX -#define PATH_MAX 1024 -#endif - -#define progver "%s: scan/change symbolic links - v1.3 - by Mark Lord\n\n" -static char *progname; -static int verbose = 0, fix_links = 0, recurse = 0, delete = 0, shorten = 0, - testing = 0, single_fs = 1; - -/* - * tidypath removes excess slashes and "." references from a path string - */ - -static int substr (char *s, char *old, char *new) -{ - char *tmp = NULL; - int oldlen = strlen(old), newlen = 0; - - if (NULL == strstr(s, old)) - return 0; - - if (new) - newlen = strlen(new); - - if (newlen > oldlen) { - if ((tmp = malloc(strlen(s))) == NULL) { - fprintf(stderr, "no memory\n"); - exit (1); - } - } - - while (NULL != (s = strstr(s, old))) { - char *p, *old_s = s; - - if (new) { - if (newlen > oldlen) - old_s = strcpy(tmp, s); - p = new; - while (*p) - *s++ = *p++; - } - p = old_s + oldlen; - while ((*s++ = *p++)); - } - if (tmp) - free(tmp); - return 1; -} - - -static int tidy_path (char *path) -{ - int tidied = 0; - char *s, *p; - - s = path + strlen(path) - 1; - if (s[0] != '/') { /* tmp trailing slash simplifies things */ - s[1] = '/'; - s[2] = '\0'; - } - while (substr(path, "/./", "/")) - tidied = 1; - while (substr(path, "//", "/")) - tidied = 1; - - while ((p = strstr(path,"/../")) != NULL) { - s = p+3; - for (p--; p != path; p--) if (*p == '/') break; - if (*p != '/') - break; - while ((*p++ = *s++)); - tidied = 1; - } - if (*path == '\0') - strcpy(path,"/"); - p = path + strlen(path) - 1; - if (p != path && *p == '/') - *p-- = '\0'; /* remove tmp trailing slash */ - while (p != path && *p == '/') { /* remove any others */ - *p-- = '\0'; - tidied = 1; - } - while (!strncmp(path,"./",2)) { - for (p = path, s = path+2; (*p++ = *s++);); - tidied = 1; - } - return tidied; -} - -static int shorten_path (char *path, char *abspath) -{ - static char dir[PATH_MAX]; - int shortened = 0; - char *p; - - /* get rid of unnecessary "../dir" sequences */ - while (abspath && strlen(abspath) > 1 && (p = strstr(path,"../"))) { - /* find innermost occurance of "../dir", and save "dir" */ - int slashes = 2; - char *a, *s, *d = dir; - while ((s = strstr(p+3, "../"))) { - ++slashes; - p = s; - } - s = p+3; - *d++ = '/'; - while (*s && *s != '/') - *d++ = *s++; - *d++ = '/'; - *d = '\0'; - if (!strcmp(dir,"//")) - break; - /* note: p still points at ../dir */ - if (*s != '/' || !*++s) - break; - a = abspath + strlen(abspath) - 1; - while (slashes-- > 0) { - if (a <= abspath) - goto ughh; - while (*--a != '/') { - if (a <= abspath) - goto ughh; - } - } - if (strncmp(dir, a, strlen(dir))) - break; - while ((*p++ = *s++)); /* delete the ../dir */ - shortened = 1; - } -ughh: - return shortened; -} - - -static void fix_symlink (char *path, dev_t my_dev) -{ - static char lpath[PATH_MAX], new[PATH_MAX], abspath[PATH_MAX]; - char *p, *np, *lp, *tail, *msg; - struct stat stbuf, lstbuf; - int c, fix_abs = 0, fix_messy = 0, fix_long = 0; - - if ((c = readlink(path, lpath, sizeof(lpath))) == -1) { - perror(path); - return; - } - lpath[c] = '\0'; /* readlink does not null terminate it */ - - /* construct the absolute address of the link */ - abspath[0] = '\0'; - if (lpath[0] != '/') { - strcat(abspath,path); - c = strlen(abspath); - if ((c > 0) && (abspath[c-1] == '/')) - abspath[c-1] = '\0'; /* cut trailing / */ - if ((p = strrchr(abspath,'/')) != NULL) - *p = '\0'; /* cut last component */ - strcat(abspath,"/"); - } - strcat(abspath,lpath); - (void) tidy_path(abspath); - - /* check for various things */ - if (stat(abspath, &stbuf) == -1) { - printf("dangling: %s -> %s\n", path, lpath); - if (delete) { - if (unlink (path)) { - perror(path); - } else - printf("deleted: %s -> %s\n", path, lpath); - } - return; - } - - if (single_fs) - lstat(abspath, &lstbuf); /* if the above didn't fail, then this shouldn't */ - - if (single_fs && lstbuf.st_dev != my_dev) { - msg = "other_fs:"; - } else if (lpath[0] == '/') { - msg = "absolute:"; - fix_abs = 1; - } else if (verbose) { - msg = "relative:"; - } else - msg = NULL; - fix_messy = tidy_path(strcpy(new,lpath)); - if (shorten) - fix_long = shorten_path(new, path); - if (!fix_abs) { - if (fix_messy) - msg = "messy: "; - else if (fix_long) - msg = "lengthy: "; - } - if (msg != NULL) - printf("%s %s -> %s\n", msg, path, lpath); - if (!(fix_links || testing) || !(fix_messy || fix_abs || fix_long)) - return; - - if (fix_abs) { - /* convert an absolute link to relative: */ - /* point tail at first part of lpath that differs from path */ - /* point p at first part of path that differs from lpath */ - (void) tidy_path(lpath); - tail = lp = lpath; - p = path; - while (*p && (*p == *lp)) { - if (*lp++ == '/') { - tail = lp; - while (*++p == '/'); - } - } - - /* now create new, with "../"s followed by tail */ - np = new; - while (*p) { - if (*p++ == '/') { - *np++ = '.'; - *np++ = '.'; - *np++ = '/'; - while (*p == '/') ++p; - } - } - strcpy (np, tail); - (void) tidy_path(new); - if (shorten) (void) shorten_path(new, path); - } - shorten_path(new,path); - if (!testing) { - if (unlink (path)) { - perror(path); - return; - } - if (symlink(new, path)) { - perror(path); - return; - } - } - printf("changed: %s -> %s\n", path, new); -} - -static void dirwalk (char *path, int pathlen, dev_t dev) -{ - char *name; - DIR *dfd; - static struct stat st; - static struct dirent *dp; - - if ((dfd = opendir(path)) == NULL) { - perror(path); - return; - } - - name = path + pathlen; - if (*(name-1) != '/') - *name++ = '/'; - - while ((dp = readdir(dfd)) != NULL ) { - strcpy(name, dp->d_name); - if (strcmp(name, ".") && strcmp(name,"..")) { - if (lstat(path, &st) == -1) { - perror(path); - } else if (st.st_dev == dev) { - if (S_ISLNK(st.st_mode)) { - fix_symlink (path, dev); - } else if (recurse && S_ISDIR(st.st_mode)) { - dirwalk(path, strlen(path), dev); - } - } - } - } - closedir(dfd); - path[pathlen] = '\0'; -} - -static void usage_error (void) -{ - fprintf(stderr, progver, progname); - fprintf(stderr, "Usage:\t%s [-cdorstv] LINK|DIR ...\n\n", progname); - fprintf(stderr, "Flags:" - "\t-c == change absolute/messy links to relative\n" - "\t-d == delete dangling links\n" - "\t-o == warn about links across file systems\n" - "\t-r == recurse into subdirs\n" - "\t-s == shorten lengthy links (displayed in output only when -c not specified)\n" - "\t-t == show what would be done by -c\n" - "\t-v == verbose (show all symlinks)\n\n"); - exit(1); -} - -int main(int argc, char **argv) -{ -#if defined (_GNU_SOURCE) && defined (__GLIBC__) - static char path[PATH_MAX+2]; - char* cwd = get_current_dir_name(); -#else - static char path[PATH_MAX+2], cwd[PATH_MAX+2]; -#endif - int dircount = 0; - char c, *p; - - if ((progname = (char *) strrchr(*argv, '/')) == NULL) - progname = *argv; - else - progname++; - -#if defined (_GNU_SOURCE) && defined (__GLIBC__) - if (NULL == cwd) { - fprintf(stderr,"get_current_dir_name() failed\n"); -#else - if (NULL == getcwd(cwd,PATH_MAX)) { - fprintf(stderr,"getcwd() failed\n"); -#endif - exit (1); - } -#if defined (_GNU_SOURCE) && defined (__GLIBC__) - cwd = realloc(cwd, strlen(cwd)+2); - if (cwd == NULL) { - fprintf(stderr, "realloc() failed\n"); - exit (1); - } -#endif - if (!*cwd || cwd[strlen(cwd)-1] != '/') - strcat(cwd,"/"); - - while (--argc) { - p = *++argv; - if (*p == '-') { - if (*++p == '\0') - usage_error(); - while ((c = *p++)) { - if (c == 'c') fix_links = 1; - else if (c == 'd') delete = 1; - else if (c == 'o') single_fs = 0; - else if (c == 'r') recurse = 1; - else if (c == 's') shorten = 1; - else if (c == 't') testing = 1; - else if (c == 'v') verbose = 1; - else usage_error(); - } - } else { - struct stat st; - if (*p == '/') - *path = '\0'; - else - strcpy(path,cwd); - tidy_path(strcat(path, p)); - if (lstat(path, &st) == -1) - perror(path); - else if (S_ISLNK(st.st_mode)) - fix_symlink(path, st.st_dev); - else - dirwalk(path, strlen(path), st.st_dev); - ++dircount; - } - } - if (dircount == 0) - usage_error(); - exit (0); -} diff --git a/version.h b/version.h index 2d192018..7005be16 100644 --- a/version.h +++ b/version.h @@ -7,5 +7,5 @@ * file may be redistributed under the GNU Public License v2. */ -#define E2FSPROGS_VERSION "1.42.9" -#define E2FSPROGS_DATE "28-Dec-2013" +#define E2FSPROGS_VERSION "1.41.14" +#define E2FSPROGS_DATE "22-Dec-2010" diff --git a/wordwrap.pl b/wordwrap.pl index 807c6288..646bbc35 100644 --- a/wordwrap.pl +++ b/wordwrap.pl @@ -9,8 +9,8 @@ while (<>) { } next if (/^$/); # skip blank lines $linelen = 0; - @words = split; - while (defined($word = shift @words)) { + split; + while (defined($word = shift @_)) { $word =~ s#\$\(srcdir\)/\.\./version.h#\$\(top_srcdir\)/version.h#; $word =~ s#\$\(srcdir\)/.\.\/\.\./version.h#\$\(top_srcdir\)/version.h#; $word =~ s#\$\(srcdir\)/.\.\/et/com_err.h#\$\(top_srcdir\)/lib/et/com_err.h#; -- cgit v1.2.3