1997-04-26 17:21:57 +04:00
|
|
|
#
|
1997-04-29 20:17:09 +04:00
|
|
|
# Copyright (C) 1993, 1994, 1995, 1996 Theodore Ts'o.
|
|
|
|
#
|
|
|
|
# %Begin-Header%
|
|
|
|
# This file may be redistributed under the terms of the GNU Public
|
|
|
|
# License.
|
|
|
|
# %End-Header%
|
1997-04-26 17:21:57 +04:00
|
|
|
#
|
|
|
|
error_table ext2
|
|
|
|
|
|
|
|
ec EXT2_ET_BASE,
|
1997-04-26 18:37:06 +04:00
|
|
|
"EXT2FS Library version @E2FSPROGS_VERSION@"
|
1997-04-26 17:34:30 +04:00
|
|
|
|
|
|
|
ec EXT2_ET_MAGIC_EXT2FS_FILSYS,
|
|
|
|
"Wrong magic number for ext2_filsys structure"
|
|
|
|
|
|
|
|
ec EXT2_ET_MAGIC_BADBLOCKS_LIST,
|
|
|
|
"Wrong magic number for badblocks_list structure"
|
|
|
|
|
|
|
|
ec EXT2_ET_MAGIC_BADBLOCKS_ITERATE,
|
|
|
|
"Wrong magic number for badblocks_iterate structure"
|
|
|
|
|
|
|
|
ec EXT2_ET_MAGIC_INODE_SCAN,
|
|
|
|
"Wrong magic number for inode_scan structure"
|
|
|
|
|
|
|
|
ec EXT2_ET_MAGIC_IO_CHANNEL,
|
|
|
|
"Wrong magic number for io_channel structure"
|
|
|
|
|
|
|
|
ec EXT2_ET_MAGIC_UNIX_IO_CHANNEL,
|
|
|
|
"Wrong magic number for unix io_channel structure"
|
|
|
|
|
|
|
|
ec EXT2_ET_MAGIC_IO_MANAGER,
|
|
|
|
"Wrong magic number for io_manager structure"
|
|
|
|
|
|
|
|
ec EXT2_ET_MAGIC_BLOCK_BITMAP,
|
|
|
|
"Wrong magic number for block_bitmap structure"
|
|
|
|
|
|
|
|
ec EXT2_ET_MAGIC_INODE_BITMAP,
|
|
|
|
"Wrong magic number for inode_bitmap structure"
|
|
|
|
|
1997-04-29 18:53:37 +04:00
|
|
|
ec EXT2_ET_MAGIC_GENERIC_BITMAP,
|
|
|
|
"Wrong magic number for generic_bitmap structure"
|
1997-04-26 17:34:30 +04:00
|
|
|
|
1997-04-29 20:17:09 +04:00
|
|
|
ec EXT2_ET_MAGIC_TEST_IO_CHANNEL,
|
|
|
|
"Wrong magic number for test io_channel structure"
|
1997-04-26 17:34:30 +04:00
|
|
|
|
1997-04-29 20:17:09 +04:00
|
|
|
ec EXT2_ET_MAGIC_DBLIST,
|
|
|
|
"Wrong magic number for directory block list structure"
|
1997-04-26 17:34:30 +04:00
|
|
|
|
1997-04-29 20:17:09 +04:00
|
|
|
ec EXT2_ET_MAGIC_ICOUNT,
|
|
|
|
"Wrong magic number for icount structure"
|
1997-04-26 17:34:30 +04:00
|
|
|
|
1997-10-25 08:19:14 +04:00
|
|
|
ec EXT2_ET_MAGIC_PQ_IO_CHANNEL,
|
|
|
|
"Wrong magic number for Powerquest io_channel structure"
|
1997-04-26 17:34:30 +04:00
|
|
|
|
1997-10-26 02:37:42 +04:00
|
|
|
ec EXT2_ET_MAGIC_EXT2_FILE,
|
|
|
|
"Wrong magic number for ext2 file structure"
|
1997-04-26 17:34:30 +04:00
|
|
|
|
ChangeLog, Makefile.in, e2image.h, ext2_err.et.in, ext2fs.h, imager.c:
imager.c (ext2fs_image_{inode,super,bitmap}_{read,write}, ext2_fs.h,
Makefile.in: New file that has routines that save ext2fs metadata to a
file.
ext2_err.et.in (EXT2_ET_MAGIC_E2IMAGE): New error code assigned.
e2image.h: New file which defines the file format for the ext2 image
file. (Saved copy of ext2 metadata to a file as a saving throw
against worst-case damage.)
ChangeLog, Makefile.in, e2image.c:
e2image.c, Makefile.in: New program which saves ext2 metadata to a
file for people who need a last-ditch saving throw.
2000-11-12 22:32:20 +03:00
|
|
|
ec EXT2_ET_MAGIC_E2IMAGE,
|
|
|
|
"Wrong magic number for Ext2 Image Header"
|
1997-04-26 17:34:30 +04:00
|
|
|
|
2002-02-20 09:06:25 +03:00
|
|
|
ec EXT2_ET_MAGIC_INODE_IO_CHANNEL,
|
|
|
|
"Wrong magic number for inode io_channel structure"
|
1997-04-26 17:34:30 +04:00
|
|
|
|
|
|
|
ec EXT2_ET_MAGIC_RESERVED_9,
|
|
|
|
"Wrong magic number --- RESERVED_9"
|
1997-04-26 17:21:57 +04:00
|
|
|
|
|
|
|
ec EXT2_ET_BAD_MAGIC,
|
|
|
|
"Bad magic number in super-block"
|
|
|
|
|
1997-04-26 17:34:30 +04:00
|
|
|
ec EXT2_ET_REV_TOO_HIGH,
|
|
|
|
"Filesystem revision too high"
|
|
|
|
|
1997-04-26 17:21:57 +04:00
|
|
|
ec EXT2_ET_RO_FILSYS,
|
|
|
|
"Attempt to write to filesystem opened read-only"
|
|
|
|
|
|
|
|
ec EXT2_ET_GDESC_READ,
|
|
|
|
"Can't read group descriptors"
|
|
|
|
|
|
|
|
ec EXT2_ET_GDESC_WRITE,
|
|
|
|
"Can't write group descriptors"
|
|
|
|
|
|
|
|
ec EXT2_ET_GDESC_BAD_BLOCK_MAP,
|
|
|
|
"Corrupt group descriptor: bad block for block bitmap"
|
|
|
|
|
|
|
|
ec EXT2_ET_GDESC_BAD_INODE_MAP,
|
|
|
|
"Corrupt group descriptor: bad block for inode bitmap"
|
|
|
|
|
|
|
|
ec EXT2_ET_GDESC_BAD_INODE_TABLE,
|
|
|
|
"Corrupt group descriptor: bad block for inode table"
|
|
|
|
|
|
|
|
ec EXT2_ET_INODE_BITMAP_WRITE,
|
|
|
|
"Can't write an inode bitmap"
|
|
|
|
|
|
|
|
ec EXT2_ET_INODE_BITMAP_READ,
|
|
|
|
"Can't read an inode bitmap"
|
|
|
|
|
|
|
|
ec EXT2_ET_BLOCK_BITMAP_WRITE,
|
|
|
|
"Can't write an block bitmap"
|
|
|
|
|
|
|
|
ec EXT2_ET_BLOCK_BITMAP_READ,
|
|
|
|
"Can't read an block bitmap"
|
|
|
|
|
|
|
|
ec EXT2_ET_INODE_TABLE_WRITE,
|
|
|
|
"Can't write an inode table"
|
|
|
|
|
|
|
|
ec EXT2_ET_INODE_TABLE_READ,
|
|
|
|
"Can't read an inode table"
|
|
|
|
|
|
|
|
ec EXT2_ET_NEXT_INODE_READ,
|
|
|
|
"Can't read next inode"
|
|
|
|
|
|
|
|
ec EXT2_ET_UNEXPECTED_BLOCK_SIZE,
|
|
|
|
"Filesystem has unexpected block size"
|
|
|
|
|
|
|
|
ec EXT2_ET_DIR_CORRUPTED,
|
|
|
|
"EXT2 directory corrupted"
|
|
|
|
|
|
|
|
ec EXT2_ET_SHORT_READ,
|
|
|
|
"Attempt to read block from filesystem resulted in short read"
|
|
|
|
|
|
|
|
ec EXT2_ET_SHORT_WRITE,
|
|
|
|
"Attempt to write block from filesystem resulted in short write"
|
|
|
|
|
|
|
|
ec EXT2_ET_DIR_NO_SPACE,
|
|
|
|
"No free space in the directory"
|
|
|
|
|
|
|
|
ec EXT2_ET_NO_INODE_BITMAP,
|
|
|
|
"Inode bitmap not loaded"
|
|
|
|
|
|
|
|
ec EXT2_ET_NO_BLOCK_BITMAP,
|
1997-10-26 04:53:39 +03:00
|
|
|
"Block bitmap not loaded"
|
1997-04-26 17:21:57 +04:00
|
|
|
|
|
|
|
ec EXT2_ET_BAD_INODE_NUM,
|
|
|
|
"Illegal inode number"
|
|
|
|
|
|
|
|
ec EXT2_ET_BAD_BLOCK_NUM,
|
|
|
|
"Illegal block number"
|
|
|
|
|
|
|
|
ec EXT2_ET_EXPAND_DIR_ERR,
|
|
|
|
"Internal error in ext2fs_expand_dir"
|
|
|
|
|
|
|
|
ec EXT2_ET_TOOSMALL,
|
|
|
|
"Not enough space to build proposed filesystem"
|
|
|
|
|
1997-04-26 17:34:30 +04:00
|
|
|
ec EXT2_ET_BAD_BLOCK_MARK,
|
|
|
|
"Illegal block number passed to ext2fs_mark_block_bitmap"
|
|
|
|
|
|
|
|
ec EXT2_ET_BAD_BLOCK_UNMARK,
|
|
|
|
"Illegal block number passed to ext2fs_unmark_block_bitmap"
|
|
|
|
|
|
|
|
ec EXT2_ET_BAD_BLOCK_TEST,
|
|
|
|
"Illegal block number passed to ext2fs_test_block_bitmap"
|
|
|
|
|
|
|
|
ec EXT2_ET_BAD_INODE_MARK,
|
|
|
|
"Illegal inode number passed to ext2fs_mark_inode_bitmap"
|
|
|
|
|
|
|
|
ec EXT2_ET_BAD_INODE_UNMARK,
|
|
|
|
"Illegal inode number passed to ext2fs_unmark_inode_bitmap"
|
|
|
|
|
|
|
|
ec EXT2_ET_BAD_INODE_TEST,
|
|
|
|
"Illegal inode number passed to ext2fs_test_inode_bitmap"
|
|
|
|
|
|
|
|
ec EXT2_ET_FUDGE_BLOCK_BITMAP_END,
|
|
|
|
"Attempt to fudge end of block bitmap past the real end"
|
|
|
|
|
|
|
|
ec EXT2_ET_FUDGE_INODE_BITMAP_END,
|
|
|
|
"Attempt to fudge end of inode bitmap past the real end"
|
|
|
|
|
|
|
|
ec EXT2_ET_BAD_IND_BLOCK,
|
|
|
|
"Illegal indirect block found"
|
|
|
|
|
|
|
|
ec EXT2_ET_BAD_DIND_BLOCK,
|
|
|
|
"Illegal doubly indirect block found"
|
|
|
|
|
|
|
|
ec EXT2_ET_BAD_TIND_BLOCK,
|
|
|
|
"Illegal triply indirect block found"
|
|
|
|
|
1997-04-26 17:58:21 +04:00
|
|
|
ec EXT2_ET_NEQ_BLOCK_BITMAP,
|
|
|
|
"Block bitmaps are not the same"
|
|
|
|
|
|
|
|
ec EXT2_ET_NEQ_INODE_BITMAP,
|
|
|
|
"Inode bitmaps are not the same"
|
|
|
|
|
|
|
|
ec EXT2_ET_BAD_DEVICE_NAME,
|
|
|
|
"Illegal or malformed device name"
|
|
|
|
|
1997-04-26 18:48:50 +04:00
|
|
|
ec EXT2_ET_MISSING_INODE_TABLE,
|
1997-04-29 18:53:37 +04:00
|
|
|
"A block group is missing an inode table"
|
1997-04-26 18:48:50 +04:00
|
|
|
|
1997-04-29 18:53:37 +04:00
|
|
|
ec EXT2_ET_CORRUPT_SUPERBLOCK,
|
|
|
|
"The ext2 superblock is corrupt"
|
|
|
|
|
|
|
|
ec EXT2_ET_BAD_GENERIC_MARK,
|
|
|
|
"Illegal generic bit number passed to ext2fs_mark_generic_bitmap"
|
|
|
|
|
|
|
|
ec EXT2_ET_BAD_GENERIC_UNMARK,
|
|
|
|
"Illegal generic bit number passed to ext2fs_unmark_generic_bitmap"
|
|
|
|
|
|
|
|
ec EXT2_ET_BAD_GENERIC_TEST,
|
|
|
|
"Illegal generic bit number passed to ext2fs_test_generic_bitmap"
|
1997-04-26 17:21:57 +04:00
|
|
|
|
1997-04-29 18:53:37 +04:00
|
|
|
ec EXT2_ET_SYMLINK_LOOP,
|
|
|
|
"Too many symbolic links encountered."
|
|
|
|
|
|
|
|
ec EXT2_ET_CALLBACK_NOTHANDLED,
|
|
|
|
"The callback function will not handle this case"
|
|
|
|
|
1997-04-29 20:17:09 +04:00
|
|
|
ec EXT2_ET_BAD_BLOCK_IN_INODE_TABLE,
|
|
|
|
"The inode is from a bad block in the inode table"
|
|
|
|
|
|
|
|
ec EXT2_ET_UNSUPP_FEATURE,
|
|
|
|
"Filesystem has unsupported feature(s)"
|
|
|
|
|
|
|
|
ec EXT2_ET_RO_UNSUPP_FEATURE,
|
|
|
|
"Filesystem has unsupported read-only feature(s)"
|
|
|
|
|
1997-10-31 09:17:08 +03:00
|
|
|
ec EXT2_ET_LLSEEK_FAILED,
|
1997-07-02 06:41:59 +04:00
|
|
|
"IO Channel failed to seek on read or write"
|
|
|
|
|
1997-10-31 09:17:08 +03:00
|
|
|
ec EXT2_ET_NO_MEMORY,
|
1997-10-25 08:19:14 +04:00
|
|
|
"Memory allocation failed"
|
|
|
|
|
1997-10-31 09:17:08 +03:00
|
|
|
ec EXT2_ET_INVALID_ARGUMENT,
|
1997-10-25 08:19:14 +04:00
|
|
|
"Invalid argument passed to ext2 library"
|
|
|
|
|
1997-10-31 09:17:08 +03:00
|
|
|
ec EXT2_ET_BLOCK_ALLOC_FAIL,
|
1997-10-25 08:19:14 +04:00
|
|
|
"Could not allocate block in ext2 filesystem"
|
|
|
|
|
1997-10-31 09:17:08 +03:00
|
|
|
ec EXT2_ET_INODE_ALLOC_FAIL,
|
1997-10-25 08:19:14 +04:00
|
|
|
"Could not allocate inode in ext2 filesystem"
|
|
|
|
|
1997-10-31 09:17:08 +03:00
|
|
|
ec EXT2_ET_NO_DIRECTORY,
|
1997-10-25 08:19:14 +04:00
|
|
|
"Ext2 inode is not a directory"
|
|
|
|
|
1997-10-31 09:17:08 +03:00
|
|
|
ec EXT2_ET_TOO_MANY_REFS,
|
1997-10-25 08:19:14 +04:00
|
|
|
"Too many references in table"
|
|
|
|
|
1997-10-31 09:17:08 +03:00
|
|
|
ec EXT2_ET_FILE_NOT_FOUND,
|
1997-10-25 08:19:14 +04:00
|
|
|
"File not found by ext2_lookup"
|
|
|
|
|
1997-10-31 09:17:08 +03:00
|
|
|
ec EXT2_ET_FILE_RO,
|
1997-10-26 02:37:42 +04:00
|
|
|
"File open read-only"
|
|
|
|
|
1997-10-31 09:17:08 +03:00
|
|
|
ec EXT2_ET_DB_NOT_FOUND,
|
1997-10-26 04:53:39 +03:00
|
|
|
"Ext2 directory block not found"
|
|
|
|
|
1997-10-31 09:17:08 +03:00
|
|
|
ec EXT2_ET_DIR_EXISTS,
|
1997-10-26 04:53:39 +03:00
|
|
|
"Ext2 directory already exists"
|
|
|
|
|
1997-11-12 06:48:07 +03:00
|
|
|
ec EXT2_ET_UNIMPLEMENTED,
|
|
|
|
"Unimplemented ext2 library function"
|
|
|
|
|
1998-02-24 07:25:52 +03:00
|
|
|
ec EXT2_ET_CANCEL_REQUESTED,
|
|
|
|
"User cancel requested"
|
|
|
|
|
Many files:
ext2fs.h: Add new superblock fields (s_algorithm_usage_bitmap,
s_prealloc_blocks, s_prealloc_dir_blocks). Added conditional defines
of new features COMPAT_DIR_PREALLOC, RO_COMPAT_LARGE_FILE
RO_COMPAT_BTREE_DIR, INCOMPAT_COMPRESSION, INCOMPAT_DIRNAME_SIZE.
Changed the library to declare that we support COMPAT_DIR_PREALLOC,
INCOMPAT_DIRNAME_SIZE, RO_COMPAT_LARGE_FILE.
fileio.c: Rename function ext2fs_file_llseek to be ext2fs_file_lseek,
which is more accurate.
block.c: Add new function ext2fs_block_iterate3 which calls the
iterator function with the blockcount argument of type blkcnt_t. This
version of the function is allowed to handle large files; the other
fucntions are not.
ext2fs.h: Add new type blkcnt_t
ext2_err.et.in: Add error code EXT2_ET_FILE_TOO_BIG
block.c (ext2fs_block_iterate2): Fix bug where the block count field
wasn't getting correctly incremented for sparse files when the
indirect or doubly-indirect block specified in the inode was zero.
unlink.c (unlink_proc):
lookup.c (lookup_proc):
link.c (link_proc):
get_pathname.c (get_pathname_proc):
dir_iterate.c (ext2fs_process_dir_block): Mask off high 8 bits from
dirent->name_len, so it can be used for other purposes.
ext2fs.h: Add definition of EXT2_FEATURE_INCOMPAT_DIRNAME_SIZE, and
indicate that we have support for this incompatible option.
1998-03-23 05:06:52 +03:00
|
|
|
ec EXT2_ET_FILE_TOO_BIG,
|
|
|
|
"Ext2 file too big"
|
|
|
|
|
2001-04-17 04:53:25 +04:00
|
|
|
ec EXT2_ET_JOURNAL_NOT_BLOCK,
|
2000-10-24 22:33:16 +04:00
|
|
|
"Supplied journal device not a block device"
|
|
|
|
|
2001-04-17 04:53:25 +04:00
|
|
|
ec EXT2_ET_NO_JOURNAL_SB,
|
ChangeLog, ext2_err.et.in, ext2fs.h, initialize.c, mkjournal.c, openfs.c:
initialize.c (ext2fs_initialize): Add support for initializing the
ext2 superblock for external journal devices. This basically means we
don't bother to allocate any block group descriptors.
openfs.c (ext2fs_open): Only open external journal devices if the new
flag EXT2_FLAG_JOURNAL_DEV_OK is passed to ext2fs_open. When opening
such devices, don't try to read the block group descriptors, since
they're not there.
ext2_err.et.in (EXT2_NO_JOURNAL_SB): Add new error code
mkjournal.c: Export a new function,
ext2fs_create_journal_superblock(), which allocates and returns a
buffer containing a journal superblock. This is needed by mke2fs to
create an external journal. Rewrote ext2fs_add_journal_device() so
that it no longer creates the external journal, but rather adds a
filesystem to an existing external journal. It handles all of the
UUID manipulation.
ext2fs.h: List the EXT3_FEATURE_JOURNAL_DEV as a flag supported by the
library. Define the EXT2_FLAG_JOURNAL_DEV_OK. Changed function
prototype for ext2fs_add_journal_device().
2001-01-16 09:56:14 +03:00
|
|
|
"Journal superblock not found"
|
|
|
|
|
2001-04-17 04:53:25 +04:00
|
|
|
ec EXT2_ET_JOURNAL_TOO_SMALL,
|
|
|
|
"Journal must be at least 1024 blocks"
|
|
|
|
|
2001-05-23 22:30:10 +04:00
|
|
|
ec EXT2_ET_JOURNAL_UNSUPP_VERSION,
|
|
|
|
"Unsupported journal version"
|
|
|
|
|
2001-07-23 08:17:49 +04:00
|
|
|
ec EXT2_ET_LOAD_EXT_JOURNAL,
|
|
|
|
"Error loading external journal"
|
|
|
|
|
2002-02-20 09:06:25 +03:00
|
|
|
ec EXT2_ET_NO_JOURNAL,
|
|
|
|
"Journal not found"
|
|
|
|
|
2002-03-11 23:04:45 +03:00
|
|
|
ec EXT2_ET_DIRHASH_UNSUPP,
|
|
|
|
"Directory hash unsupported"
|
|
|
|
|
1997-04-29 18:53:37 +04:00
|
|
|
end
|
1997-10-31 09:17:08 +03:00
|
|
|
|