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 void fatal_error(e2fsck_t ctx, const char * fmt_string);
+extern void fatal_error(e2fsck_t ctx, const char * fmt_string)
+ E2FSCK_ATTR((noreturn));
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, ...)
void fatal_error(e2fsck_t ctx, const char *msg)
{
- return;
+ exit(0);
}
void preenhalt(e2fsck_t ctx)
(ext2fs_get_tstamp(fs->super, s_mtime) > ctx->now)) {
pctx.num = ext2fs_get_tstamp(fs->super, s_mtime);
problem = PR_0_FUTURE_SB_LAST_MOUNT;
- if (pctx.num <= ctx->now + ctx->time_fudge)
+ if ((time_t) pctx.num <= ctx->now + ctx->time_fudge)
problem = PR_0_FUTURE_SB_LAST_MOUNT_FUDGED;
if (fix_problem(ctx, problem, &pctx)) {
ext2fs_set_tstamp(fs->super, s_mtime, ctx->now);
(ext2fs_get_tstamp(fs->super, s_wtime) > ctx->now)) {
pctx.num = ext2fs_get_tstamp(fs->super, s_wtime);
problem = PR_0_FUTURE_SB_LAST_WRITE;
- if (pctx.num <= ctx->now + ctx->time_fudge)
+ if ((time_t) pctx.num <= ctx->now + ctx->time_fudge)
problem = PR_0_FUTURE_SB_LAST_WRITE_FUDGED;
if (fix_problem(ctx, problem, &pctx)) {
ext2fs_set_tstamp(fs->super, s_wtime, ctx->now);
struct ext2_super_block *sb;
io_channel io = NULL;
void *buf = NULL;
- int blocksize = EXT2_MIN_BLOCK_SIZE;
+ unsigned int blocksize = EXT2_MIN_BLOCK_SIZE;
int blocksize_known = 0;
blk_t bpg = 0;
blk64_t ret_sb = 8193;
blk64_t num_blocks;
if (fs && fs->super) {
- num_blocks = ext2fs_blocks_count(fs->super);
+ limit = ext2fs_blocks_count(fs->super) / this_bpg;
} else if (ctx && ext2fs_get_device_size2(ctx->filesystem_name,
blocksize,
&num_blocks) == 0) {
ext2fs_swap_super(sb);
#endif
if ((sb->s_magic == EXT2_SUPER_MAGIC) &&
- (EXT2_BLOCK_SIZE(sb) == blocksize)) {
+ ((unsigned) EXT2_BLOCK_SIZE(sb) == blocksize)) {
ret_sb = superblock;
if (ctx) {
ctx->superblock = superblock;
{
return (extra & EXT4_NSEC_MASK) >> EXT4_EPOCH_BITS;
}
-#define ext2fs_inode_actual_size(inode) \
- (EXT2_GOOD_OLD_INODE_SIZE + \
- (sizeof(*inode) > EXT2_GOOD_OLD_INODE_SIZE ? \
- ((struct ext2_inode_large *)(inode))->i_extra_isize : 0))
+#define ext2fs_inode_actual_size(inode) \
+ ((size_t)(EXT2_GOOD_OLD_INODE_SIZE + \
+ (sizeof(*inode) > EXT2_GOOD_OLD_INODE_SIZE ? \
+ ((struct ext2_inode_large *)(inode))->i_extra_isize : 0)))
#define clamp(val, min, max) ((val) < (min) ? (min) : ((val) > (max) ? \
(max) : (val)))
#define ext2fs_inode_xtime_set(inode, field, sec) \
ext2_ino_t newfile;
errcode_t retval;
struct ext2_inode inode;
- char *cp;
retval = ext2fs_new_inode(fs, cwd, 010755, 0, &newfile);
if (retval)
errcode_t __populate_fs_from_tar(ext2_filsys fs, ext2_ino_t root_ino,
const char *source_tar, ext2_ino_t root,
- struct hdlinks_s *hdlinks,
+ struct hdlinks_s *hdlinks EXT2FS_ATTR((unused)),
struct file_info *target,
struct fs_ops_callbacks *fs_callbacks)
{
static void *op_init(struct fuse_conn_info *conn
#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
- , struct fuse_config *cfg
+ , struct fuse_config *cfg EXT2FS_ATTR((unused))
#endif
)
{
static int op_getattr(const char *path, struct stat *statbuf
#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
- , struct fuse_file_info *fi
+ , struct fuse_file_info *fi EXT2FS_ATTR((unused))
#endif
)
{
static int op_rename(const char *from, const char *to
#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
- , unsigned int flags
+ , unsigned int flags EXT2FS_ATTR((unused))
#endif
)
{
static int op_chmod(const char *path, mode_t mode
#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
- , struct fuse_file_info *fi
+ , struct fuse_file_info *fi EXT2FS_ATTR((unused))
#endif
)
{
static int op_chown(const char *path, uid_t owner, gid_t group
#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
- , struct fuse_file_info *fi
+ , struct fuse_file_info *fi EXT2FS_ATTR((unused))
#endif
)
{
static int op_truncate(const char *path, off_t len
#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
- , struct fuse_file_info *fi
+ , struct fuse_file_info *fi EXT2FS_ATTR((unused))
#endif
)
{
off_t offset EXT2FS_ATTR((unused)),
struct fuse_file_info *fp
#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
- , enum fuse_readdir_flags flags
+ , enum fuse_readdir_flags flags EXT2FS_ATTR((unused))
#endif
)
{
static int op_utimens(const char *path, const struct timespec ctv[2]
#if FUSE_VERSION >= FUSE_MAKE_VERSION(3, 0)
- , struct fuse_file_info *fi
+ , struct fuse_file_info *fi EXT2FS_ATTR((unused))
#endif
)
{
errcode_t ret;
int mnt_flags, fd;
char label[FSLABEL_MAX];
- int maxlen = FSLABEL_MAX - 1;
+ unsigned int maxlen = FSLABEL_MAX - 1;
char mntpt[PATH_MAX + 1];
ret = ext2fs_check_mount_point(device_name, &mnt_flags,