Imported reiserfsprogs-3.6.4

This commit is contained in:
Jeff Mahoney committed 2012-10-11 11:28:37 -04:00
1 parent b69459eb80
commit 99c89460c3
52 files changed
+2263 -2407

No files matched your search

+55 -19
View File
@@ -3,12 +3,20 @@
*/
/* nothing abount reiserfs here */
#ifndef REISERFS_MISC_H
#define REISERFS_MISC_H
#include <endian.h>
#include "swab.h"
#include <linux/major.h>
#include <signal.h>
#include <unistd.h>
#define POSITION_FOUND 8
#define POSITION_NOT_FOUND 9
void check_memory_msg(void);
void die (char * fmt, ...) __attribute__ ((format (printf, 1, 2)));
void * getmem (int size);
void freemem (void * p);
@@ -20,6 +28,17 @@ int is_mounted_read_only (char * device_name);
void check_and_free_mem (void);
char * kdevname (int dev);
typedef struct dma_info {
int fd;
struct stat64 stat;
int support_type;
int dma;
__u64 speed;
} dma_info_t;
int prepare_dma_check(dma_info_t *dma_info);
int get_dma_info(dma_info_t *dma_info);
void clean_after_dma_check(int fd, dma_info_t *dma_info);
void print_how_far (FILE * fp, unsigned long * passed, unsigned long total, int inc, int quiet);
void print_how_fast (unsigned long total,
@@ -30,6 +49,7 @@ int generate_random_uuid (unsigned char * uuid);
int uuid_is_correct (unsigned char * uuid);
int set_uuid (const unsigned char * text, unsigned char * UUID);
#include <asm/bitops.h>
#if __BYTE_ORDER == __LITTLE_ENDIAN
int le_set_bit (int nr, void * addr);
int le_clear_bit (int nr, void * addr);
@@ -42,31 +62,14 @@ int le_find_next_zero_bit (const void *vaddr, unsigned size, unsigned offset);
# define le32_to_cpu(val) (val)
# define cpu_to_le64(val) (val)
# define le64_to_cpu(val) (val)
# define set_bit(nr, addr) le_set_bit(nr, addr)
# define clear_bit(nr, addr) le_clear_bit(nr, addr)
# define test_bit(nr, addr) le_test_bit(nr, addr)
# define find_first_zero_bit(vaddr, size) le_find_first_zero_bit(vaddr, size)
# define find_next_zero_bit(vaddr, size, off) \
le_find_next_zero_bit(vaddr, size, off)
#elif __BYTE_ORDER == __BIG_ENDIAN
int be_set_bit (int nr, void * addr);
int be_clear_bit (int nr, void * addr);
int be_test_bit(int nr, const void * addr);
int be_find_first_zero_bit (const void *vaddr, unsigned size);
int be_find_next_zero_bit (const void *vaddr, unsigned size, unsigned offset);
# define cpu_to_le16(val) swab16(val)
# define le16_to_cpu(val) swab16(val)
# define cpu_to_le32(val) swab32(val)
# define le32_to_cpu(val) swab32(val)
# define cpu_to_le64(val) swab64(val)
# define le64_to_cpu(val) swab64(val)
# define set_bit(nr, addr) be_set_bit(nr, addr)
# define clear_bit(nr, addr) be_clear_bit(nr, addr)
# define test_bit(nr, addr) be_test_bit(nr, addr)
# define find_first_zero_bit(vaddr, size) be_find_first_zero_bit(vaddr, size)
# define find_next_zero_bit(vaddr, size, off) \
be_find_next_zero_bit(vaddr, size, off)
#else
# error "nuxi/pdp-endian archs are not supported"
#endif
@@ -95,8 +98,10 @@ struct block_handler {
dev_t device;
};
int blocklist__is_block_saved (struct block_handler ** base, __u32 * count, __u32 blocknr, dev_t device, __u32 * position);
void blocklist__insert_in_position (void ** base, __u32 * count, void * block_h, int elem_size, __u32 * position);
int blocklist__is_block_saved (struct block_handler ** base, __u32 * count, __u32 blocknr,
dev_t device, __u32 * position);
void blocklist__insert_in_position (void * block_h, void ** base, __u32 * count,
int elem_size, __u32 * position);
int blockdev_list_compare (const void * block1, const void * block2);
@@ -134,3 +139,34 @@ int blockdev_list_compare (const void * block1, const void * block2);
/* get value written in specified bits */\
tmp >>= from;\
return tmp;
#ifndef MAJOR
#define MAJOR(rdev) ((rdev)>>8)
#define MINOR(rdev) ((rdev) & 0xff)
#endif /* MAJOR */
#ifndef SCSI_DISK_MAJOR
#define SCSI_DISK_MAJOR(maj) ((maj) == SCSI_DISK0_MAJOR || \
((maj) >= SCSI_DISK1_MAJOR && (maj) <= SCSI_DISK7_MAJOR))
#endif /* SCSI_DISK_MAJOR */
#ifndef SCSI_BLK_MAJOR
#define SCSI_BLK_MAJOR(maj) (SCSI_DISK_MAJOR(maj) || (maj) == SCSI_CDROM_MAJOR)
#endif /* SCSI_BLK_MAJOR */
#ifndef IDE_DISK_MAJOR
#ifdef IDE9_MAJOR
#define IDE_DISK_MAJOR(maj) ((maj) == IDE0_MAJOR || (maj) == IDE1_MAJOR || \
(maj) == IDE2_MAJOR || (maj) == IDE3_MAJOR || \
(maj) == IDE4_MAJOR || (maj) == IDE5_MAJOR || \
(maj) == IDE6_MAJOR || (maj) == IDE7_MAJOR || \
(maj) == IDE8_MAJOR || (maj) == IDE9_MAJOR)
#else
#define IDE_DISK_MAJOR(maj) ((maj) == IDE0_MAJOR || (maj) == IDE1_MAJOR || \
(maj) == IDE2_MAJOR || (maj) == IDE3_MAJOR || \
(maj) == IDE4_MAJOR || (maj) == IDE5_MAJOR)
#endif /* IDE9_MAJOR */
#endif /* IDE_DISK_MAJOR */
#endif /* REISERFS_MISC_H */
+25 -15
View File
@@ -426,6 +426,8 @@ struct reiserfs_journal_header {
__u32 jh_mount_id ;
struct journal_params jh_journal;
__u32 jh_last_check_mount_id; /* the mount id of the fs during the last reiserfsck --check. */
};
@@ -492,11 +494,9 @@ struct offset_v2 {
} __attribute__ ((__packed__));
/* Key of the object drop determines its location in the S+tree, and is
composed of 4 components */
/* Key of the object determines object's location in the tree, composed of 4 components */
struct key {
__u32 k2_dir_id; /* packing locality: by default parent directory object
id */
__u32 k2_dir_id; /* packing locality: by default parent directory object id */
__u32 k2_objectid; /* object identifier */
union {
struct offset_v1 k2_offset_v1;
@@ -640,9 +640,11 @@ void set_ih_key_format (struct item_head * ih, __u16 val);
( ! not_of_one_file(p_s_ih, p_s_key) && \
I_OFF_BYTE_IN_ITEM(p_s_ih, get_offset (p_s_key), n_blocksize) )
#define IH_Bad 0
#define IH_Unreachable 1
#define IH_WAS_TAIL 2
#define IH_Unreachable 0
#define IH_Was_Tail 1
#define IH_Checked 2
#define IH_Writable 3
/* Bad item flag is set temporary by recover_leaf */
/*
@@ -670,16 +672,23 @@ extern_inline __u16 unmark_item_bad( struct item_head *ih )
/* Unreachable bit is set on tree rebuilding and is cleared in semantic pass */
#define clean_ih_flags(ih) set_ih_flags (ih, 0)
#define ih_reachable(ih) (!(get_ih_flags (ih) & (1 << IH_Unreachable)))
#define ih_reachable(ih) (!(get_ih_flags (ih) & (1 << IH_Unreachable)))
#define mark_ih_reachable(ih) set_ih_flags (ih, get_ih_flags (ih) & ~(1 << IH_Unreachable))
#define mark_ih_unreachable(ih) set_ih_flags (ih, get_ih_flags (ih) | (1 << IH_Unreachable))
#define ih_was_tail(ih) (get_ih_flags (ih) & (1 << IH_WAS_TAIL))
#define mark_ih_was_tail(ih) set_ih_flags (ih, get_ih_flags (ih) | (1 << IH_WAS_TAIL))
#define mark_ih_become_tail(ih) set_ih_flags (ih, get_ih_flags (ih) & ~(1 << IH_WAS_TAIL))
#define ih_was_tail(ih) (get_ih_flags (ih) & (1 << IH_Was_Tail))
#define mark_ih_was_tail(ih) set_ih_flags (ih, get_ih_flags (ih) | (1 << IH_Was_Tail))
#define mark_ih_become_tail(ih) set_ih_flags (ih, get_ih_flags (ih) & ~(1 << IH_Was_Tail))
#define ih_checked(ih) (get_ih_flags (ih) & (1 << IH_Checked))
#define mark_ih_checked(ih) set_ih_flags (ih, get_ih_flags (ih) | (1 << IH_Checked))
#define clear_ih_checked(ih) set_ih_flags (ih, get_ih_flags (ih) & ~(1 << IH_Checked))
/* maximal length of item */
#define ih_writable(ih) (get_ih_flags (ih) & (1 << IH_Writable))
#define mark_ih_writable(ih) set_ih_flags (ih, get_ih_flags (ih) | (1 << IH_Writable))
#define clear_ih_writable(ih) set_ih_flags (ih, get_ih_flags (ih) & ~(1 << IH_Writable))
/* maximal length of item */
#define MAX_ITEM_LEN(block_size) (block_size - BLKH_SIZE - IH_SIZE)
#define MIN_ITEM_LEN 1
@@ -690,7 +699,7 @@ extern_inline __u16 unmark_item_bad( struct item_head *ih )
/*
* Picture represents a leaf of the S+tree
* Picture represents a leaf of internal tree
* ______________________________________________________
* | | Array of | | |
* |Block | Object-Item | F r e e | Objects- |
@@ -837,7 +846,7 @@ struct stat_data {
//
#define SD_SIZE (sizeof(struct stat_data))
// there are two ways: to check length of item or ih_version field
// there are two ways: to check length of item or ih_format field
// (for old stat data it is set to 0 (KEY_FORMAT_1))
#define stat_data_v1(ih) (get_ih_key_format (ih) == KEY_FORMAT_1)
@@ -1424,7 +1433,8 @@ struct buffer_info {
/* get stat-data */
#define B_I_STAT_DATA(bh, ih) ( (struct stat_data * )B_I_PITEM(bh,ih) )
#define MAX_DIRECT_ITEM_LEN(size) ((size) - BLKH_SIZE - 2*IH_SIZE - SD_V1_SIZE - UNFM_P_SIZE)
#define MAX_DIRECT_ITEM_LEN(size) ((size) - BLKH_SIZE - 2*IH_SIZE - SD_SIZE - UNFM_P_SIZE)
#define MAX_INDIRECT_ITEM_LEN(size) ((size) - BLKH_SIZE - IH_SIZE)
/* indirect items consist of entries which contain blocknrs, pos
indicates which entry, and B_I_POS_UNFM_POINTER resolves to the
+3 -1
View File
@@ -170,6 +170,7 @@ void reiserfs_delete_bitmap (reiserfs_bitmap_t * bm);
void reiserfs_bitmap_copy (reiserfs_bitmap_t * to, reiserfs_bitmap_t * from);
int reiserfs_bitmap_compare (reiserfs_bitmap_t * bm1, reiserfs_bitmap_t * bm2);
void reiserfs_bitmap_disjunction (reiserfs_bitmap_t * disk, reiserfs_bitmap_t * cont);
void reiserfs_bitmap_delta (reiserfs_bitmap_t * base, reiserfs_bitmap_t * exclude);
void reiserfs_bitmap_set_bit (reiserfs_bitmap_t * bm, unsigned int bit_number);
void reiserfs_bitmap_clear_bit (reiserfs_bitmap_t * bm, unsigned int bit_number);
@@ -214,7 +215,7 @@ int is_blocksize_correct (int blocksize);
int is_reiserfs_3_5_magic_string (struct reiserfs_super_block * rs);
int is_reiserfs_3_6_magic_string (struct reiserfs_super_block * rs);
int is_reiserfs_jr_magic_string (struct reiserfs_super_block * rs);
int does_look_like_super_block (struct reiserfs_super_block * rs, int blocksize);
int does_look_like_super_block (struct reiserfs_super_block * rs);
int is_any_reiserfs_magic_string (struct reiserfs_super_block * rs);
int get_reiserfs_format (struct reiserfs_super_block * sb);
int reiserfs_super_block_size (struct reiserfs_super_block * rs);
@@ -368,6 +369,7 @@ void print_journal_params (FILE * fp, struct journal_params * jp);
char * get_reiserfs_version (__u16 version);
int can_we_format_it (char * device_name, int force);
#define reiserfs_panic(fmt, list...) \
{\
fflush (stdout);\
+1
View File
@@ -0,0 +1 @@
timestamp
+4 -21
View File
@@ -1,25 +1,8 @@
/*
* Copyright 2002 by Hans Reiser, licensing governed by reiserfs/README
*/
#ifndef _REISERFS_SWAB_H_
#define _REISERFS_SWAB_H_
/* Stolen from linux/include/linux/byteorder/swab.h */
#define swab16(x) \
((__u16)( \
(((__u16)(x) & (__u16)0x00ffU) << 8) | \
(((__u16)(x) & (__u16)0xff00U) >> 8) ))
#define swab32(x) \
((__u32)( \
(((__u32)(x) & (__u32)0x000000ffUL) << 24) | \
(((__u32)(x) & (__u32)0x0000ff00UL) << 8) | \
(((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \
(((__u32)(x) & (__u32)0xff000000UL) >> 24) ))
#define swab64(x) \
((__u64)( \
(__u64)(((__u64)(x) & (__u64)0x00000000000000ffULL) << 56) | \
(__u64)(((__u64)(x) & (__u64)0x000000000000ff00ULL) << 40) | \
(__u64)(((__u64)(x) & (__u64)0x0000000000ff0000ULL) << 24) | \
(__u64)(((__u64)(x) & (__u64)0x00000000ff000000ULL) << 8) | \
(__u64)(((__u64)(x) & (__u64)0x000000ff00000000ULL) >> 8) | \
(__u64)(((__u64)(x) & (__u64)0x0000ff0000000000ULL) >> 24) | \
(__u64)(((__u64)(x) & (__u64)0x00ff000000000000ULL) >> 40) | \
(__u64)(((__u64)(x) & (__u64)0xff00000000000000ULL) >> 56) ))
#include <linux/byteorder/swab.h>
#endif /* _REISERFS_SWAB_H_ */