diff options
Diffstat (limited to 'include/linux/reiserfs_fs.h')
-rw-r--r-- | include/linux/reiserfs_fs.h | 249 |
1 files changed, 107 insertions, 142 deletions
diff --git a/include/linux/reiserfs_fs.h b/include/linux/reiserfs_fs.h index bccff8b17dc4..32148625fc2f 100644 --- a/include/linux/reiserfs_fs.h +++ b/include/linux/reiserfs_fs.h | |||
@@ -114,47 +114,47 @@ if( !( cond ) ) \ | |||
114 | 114 | ||
115 | 115 | ||
116 | struct journal_params { | 116 | struct journal_params { |
117 | __u32 jp_journal_1st_block; /* where does journal start from on its | 117 | __le32 jp_journal_1st_block; /* where does journal start from on its |
118 | * device */ | 118 | * device */ |
119 | __u32 jp_journal_dev; /* journal device st_rdev */ | 119 | __le32 jp_journal_dev; /* journal device st_rdev */ |
120 | __u32 jp_journal_size; /* size of the journal */ | 120 | __le32 jp_journal_size; /* size of the journal */ |
121 | __u32 jp_journal_trans_max; /* max number of blocks in a transaction. */ | 121 | __le32 jp_journal_trans_max; /* max number of blocks in a transaction. */ |
122 | __u32 jp_journal_magic; /* random value made on fs creation (this | 122 | __le32 jp_journal_magic; /* random value made on fs creation (this |
123 | * was sb_journal_block_count) */ | 123 | * was sb_journal_block_count) */ |
124 | __u32 jp_journal_max_batch; /* max number of blocks to batch into a | 124 | __le32 jp_journal_max_batch; /* max number of blocks to batch into a |
125 | * trans */ | 125 | * trans */ |
126 | __u32 jp_journal_max_commit_age; /* in seconds, how old can an async | 126 | __le32 jp_journal_max_commit_age; /* in seconds, how old can an async |
127 | * commit be */ | 127 | * commit be */ |
128 | __u32 jp_journal_max_trans_age; /* in seconds, how old can a transaction | 128 | __le32 jp_journal_max_trans_age; /* in seconds, how old can a transaction |
129 | * be */ | 129 | * be */ |
130 | }; | 130 | }; |
131 | 131 | ||
132 | /* this is the super from 3.5.X, where X >= 10 */ | 132 | /* this is the super from 3.5.X, where X >= 10 */ |
133 | struct reiserfs_super_block_v1 | 133 | struct reiserfs_super_block_v1 |
134 | { | 134 | { |
135 | __u32 s_block_count; /* blocks count */ | 135 | __le32 s_block_count; /* blocks count */ |
136 | __u32 s_free_blocks; /* free blocks count */ | 136 | __le32 s_free_blocks; /* free blocks count */ |
137 | __u32 s_root_block; /* root block number */ | 137 | __le32 s_root_block; /* root block number */ |
138 | struct journal_params s_journal; | 138 | struct journal_params s_journal; |
139 | __u16 s_blocksize; /* block size */ | 139 | __le16 s_blocksize; /* block size */ |
140 | __u16 s_oid_maxsize; /* max size of object id array, see | 140 | __le16 s_oid_maxsize; /* max size of object id array, see |
141 | * get_objectid() commentary */ | 141 | * get_objectid() commentary */ |
142 | __u16 s_oid_cursize; /* current size of object id array */ | 142 | __le16 s_oid_cursize; /* current size of object id array */ |
143 | __u16 s_umount_state; /* this is set to 1 when filesystem was | 143 | __le16 s_umount_state; /* this is set to 1 when filesystem was |
144 | * umounted, to 2 - when not */ | 144 | * umounted, to 2 - when not */ |
145 | char s_magic[10]; /* reiserfs magic string indicates that | 145 | char s_magic[10]; /* reiserfs magic string indicates that |
146 | * file system is reiserfs: | 146 | * file system is reiserfs: |
147 | * "ReIsErFs" or "ReIsEr2Fs" or "ReIsEr3Fs" */ | 147 | * "ReIsErFs" or "ReIsEr2Fs" or "ReIsEr3Fs" */ |
148 | __u16 s_fs_state; /* it is set to used by fsck to mark which | 148 | __le16 s_fs_state; /* it is set to used by fsck to mark which |
149 | * phase of rebuilding is done */ | 149 | * phase of rebuilding is done */ |
150 | __u32 s_hash_function_code; /* indicate, what hash function is being use | 150 | __le32 s_hash_function_code; /* indicate, what hash function is being use |
151 | * to sort names in a directory*/ | 151 | * to sort names in a directory*/ |
152 | __u16 s_tree_height; /* height of disk tree */ | 152 | __le16 s_tree_height; /* height of disk tree */ |
153 | __u16 s_bmap_nr; /* amount of bitmap blocks needed to address | 153 | __le16 s_bmap_nr; /* amount of bitmap blocks needed to address |
154 | * each block of file system */ | 154 | * each block of file system */ |
155 | __u16 s_version; /* this field is only reliable on filesystem | 155 | __le16 s_version; /* this field is only reliable on filesystem |
156 | * with non-standard journal */ | 156 | * with non-standard journal */ |
157 | __u16 s_reserved_for_journal; /* size in blocks of journal area on main | 157 | __le16 s_reserved_for_journal; /* size in blocks of journal area on main |
158 | * device, we need to keep after | 158 | * device, we need to keep after |
159 | * making fs with non-standard journal */ | 159 | * making fs with non-standard journal */ |
160 | } __attribute__ ((__packed__)); | 160 | } __attribute__ ((__packed__)); |
@@ -165,8 +165,8 @@ struct reiserfs_super_block_v1 | |||
165 | struct reiserfs_super_block | 165 | struct reiserfs_super_block |
166 | { | 166 | { |
167 | struct reiserfs_super_block_v1 s_v1; | 167 | struct reiserfs_super_block_v1 s_v1; |
168 | __u32 s_inode_generation; | 168 | __le32 s_inode_generation; |
169 | __u32 s_flags; /* Right now used only by inode-attributes, if enabled */ | 169 | __le32 s_flags; /* Right now used only by inode-attributes, if enabled */ |
170 | unsigned char s_uuid[16]; /* filesystem unique identifier */ | 170 | unsigned char s_uuid[16]; /* filesystem unique identifier */ |
171 | unsigned char s_label[16]; /* filesystem volume label */ | 171 | unsigned char s_label[16]; /* filesystem volume label */ |
172 | char s_unused[88] ; /* zero filled by mkreiserfs and | 172 | char s_unused[88] ; /* zero filled by mkreiserfs and |
@@ -225,7 +225,7 @@ struct reiserfs_super_block | |||
225 | #define SB_ONDISK_JOURNAL_DEVICE(s) \ | 225 | #define SB_ONDISK_JOURNAL_DEVICE(s) \ |
226 | le32_to_cpu ((SB_ONDISK_JP(s)->jp_journal_dev)) | 226 | le32_to_cpu ((SB_ONDISK_JP(s)->jp_journal_dev)) |
227 | #define SB_ONDISK_RESERVED_FOR_JOURNAL(s) \ | 227 | #define SB_ONDISK_RESERVED_FOR_JOURNAL(s) \ |
228 | le32_to_cpu ((SB_V1_DISK_SUPER_BLOCK(s)->s_reserved_for_journal)) | 228 | le16_to_cpu ((SB_V1_DISK_SUPER_BLOCK(s)->s_reserved_for_journal)) |
229 | 229 | ||
230 | #define is_block_in_log_or_reserved_area(s, block) \ | 230 | #define is_block_in_log_or_reserved_area(s, block) \ |
231 | block >= SB_JOURNAL_1st_RESERVED_BLOCK(s) \ | 231 | block >= SB_JOURNAL_1st_RESERVED_BLOCK(s) \ |
@@ -269,7 +269,7 @@ int is_reiserfs_jr (struct reiserfs_super_block * rs); | |||
269 | #define QUOTA_EXCEEDED -6 | 269 | #define QUOTA_EXCEEDED -6 |
270 | 270 | ||
271 | typedef __u32 b_blocknr_t; | 271 | typedef __u32 b_blocknr_t; |
272 | typedef __u32 unp_t; | 272 | typedef __le32 unp_t; |
273 | 273 | ||
274 | struct unfm_nodeinfo { | 274 | struct unfm_nodeinfo { |
275 | unp_t unfm_nodenum; | 275 | unp_t unfm_nodenum; |
@@ -376,78 +376,57 @@ static inline struct reiserfs_sb_info *REISERFS_SB(const struct super_block *sb) | |||
376 | // directories use this key as well as old files | 376 | // directories use this key as well as old files |
377 | // | 377 | // |
378 | struct offset_v1 { | 378 | struct offset_v1 { |
379 | __u32 k_offset; | 379 | __le32 k_offset; |
380 | __u32 k_uniqueness; | 380 | __le32 k_uniqueness; |
381 | } __attribute__ ((__packed__)); | 381 | } __attribute__ ((__packed__)); |
382 | 382 | ||
383 | struct offset_v2 { | 383 | struct offset_v2 { |
384 | #ifdef __LITTLE_ENDIAN | 384 | __le64 v; |
385 | /* little endian version */ | ||
386 | __u64 k_offset:60; | ||
387 | __u64 k_type: 4; | ||
388 | #else | ||
389 | /* big endian version */ | ||
390 | __u64 k_type: 4; | ||
391 | __u64 k_offset:60; | ||
392 | #endif | ||
393 | } __attribute__ ((__packed__)); | 385 | } __attribute__ ((__packed__)); |
394 | 386 | ||
395 | #ifndef __LITTLE_ENDIAN | ||
396 | typedef union { | ||
397 | struct offset_v2 offset_v2; | ||
398 | __u64 linear; | ||
399 | } __attribute__ ((__packed__)) offset_v2_esafe_overlay; | ||
400 | |||
401 | static inline __u16 offset_v2_k_type( const struct offset_v2 *v2 ) | 387 | static inline __u16 offset_v2_k_type( const struct offset_v2 *v2 ) |
402 | { | 388 | { |
403 | offset_v2_esafe_overlay tmp = *(const offset_v2_esafe_overlay *)v2; | 389 | __u8 type = le64_to_cpu(v2->v) >> 60; |
404 | tmp.linear = le64_to_cpu( tmp.linear ); | 390 | return (type <= TYPE_MAXTYPE)?type:TYPE_ANY; |
405 | return (tmp.offset_v2.k_type <= TYPE_MAXTYPE)?tmp.offset_v2.k_type:TYPE_ANY; | ||
406 | } | 391 | } |
407 | 392 | ||
408 | static inline void set_offset_v2_k_type( struct offset_v2 *v2, int type ) | 393 | static inline void set_offset_v2_k_type( struct offset_v2 *v2, int type ) |
409 | { | 394 | { |
410 | offset_v2_esafe_overlay *tmp = (offset_v2_esafe_overlay *)v2; | 395 | v2->v = (v2->v & cpu_to_le64(~0ULL>>4)) | cpu_to_le64((__u64)type<<60); |
411 | tmp->linear = le64_to_cpu(tmp->linear); | ||
412 | tmp->offset_v2.k_type = type; | ||
413 | tmp->linear = cpu_to_le64(tmp->linear); | ||
414 | } | 396 | } |
415 | 397 | ||
416 | static inline loff_t offset_v2_k_offset( const struct offset_v2 *v2 ) | 398 | static inline loff_t offset_v2_k_offset( const struct offset_v2 *v2 ) |
417 | { | 399 | { |
418 | offset_v2_esafe_overlay tmp = *(const offset_v2_esafe_overlay *)v2; | 400 | return le64_to_cpu(v2->v) & (~0ULL>>4); |
419 | tmp.linear = le64_to_cpu( tmp.linear ); | ||
420 | return tmp.offset_v2.k_offset; | ||
421 | } | 401 | } |
422 | 402 | ||
423 | static inline void set_offset_v2_k_offset( struct offset_v2 *v2, loff_t offset ){ | 403 | static inline void set_offset_v2_k_offset( struct offset_v2 *v2, loff_t offset ){ |
424 | offset_v2_esafe_overlay *tmp = (offset_v2_esafe_overlay *)v2; | 404 | offset &= (~0ULL>>4); |
425 | tmp->linear = le64_to_cpu(tmp->linear); | 405 | v2->v = (v2->v & cpu_to_le64(15ULL<<60)) | cpu_to_le64(offset); |
426 | tmp->offset_v2.k_offset = offset; | ||
427 | tmp->linear = cpu_to_le64(tmp->linear); | ||
428 | } | 406 | } |
429 | #else | ||
430 | # define offset_v2_k_type(v2) ((v2)->k_type) | ||
431 | # define set_offset_v2_k_type(v2,val) (offset_v2_k_type(v2) = (val)) | ||
432 | # define offset_v2_k_offset(v2) ((v2)->k_offset) | ||
433 | # define set_offset_v2_k_offset(v2,val) (offset_v2_k_offset(v2) = (val)) | ||
434 | #endif | ||
435 | 407 | ||
436 | /* Key of an item determines its location in the S+tree, and | 408 | /* Key of an item determines its location in the S+tree, and |
437 | is composed of 4 components */ | 409 | is composed of 4 components */ |
438 | struct reiserfs_key { | 410 | struct reiserfs_key { |
439 | __u32 k_dir_id; /* packing locality: by default parent | 411 | __le32 k_dir_id; /* packing locality: by default parent |
440 | directory object id */ | 412 | directory object id */ |
441 | __u32 k_objectid; /* object identifier */ | 413 | __le32 k_objectid; /* object identifier */ |
442 | union { | 414 | union { |
443 | struct offset_v1 k_offset_v1; | 415 | struct offset_v1 k_offset_v1; |
444 | struct offset_v2 k_offset_v2; | 416 | struct offset_v2 k_offset_v2; |
445 | } __attribute__ ((__packed__)) u; | 417 | } __attribute__ ((__packed__)) u; |
446 | } __attribute__ ((__packed__)); | 418 | } __attribute__ ((__packed__)); |
447 | 419 | ||
420 | struct in_core_key { | ||
421 | __u32 k_dir_id; /* packing locality: by default parent | ||
422 | directory object id */ | ||
423 | __u32 k_objectid; /* object identifier */ | ||
424 | __u64 k_offset; | ||
425 | __u8 k_type; | ||
426 | }; | ||
448 | 427 | ||
449 | struct cpu_key { | 428 | struct cpu_key { |
450 | struct reiserfs_key on_disk_key; | 429 | struct in_core_key on_disk_key; |
451 | int version; | 430 | int version; |
452 | int key_length; /* 3 in all cases but direct2indirect and | 431 | int key_length; /* 3 in all cases but direct2indirect and |
453 | indirect2direct conversion */ | 432 | indirect2direct conversion */ |
@@ -508,15 +487,15 @@ struct item_head | |||
508 | item. Note that the key, not this field, is used to | 487 | item. Note that the key, not this field, is used to |
509 | determine the item type, and thus which field this | 488 | determine the item type, and thus which field this |
510 | union contains. */ | 489 | union contains. */ |
511 | __u16 ih_free_space_reserved; | 490 | __le16 ih_free_space_reserved; |
512 | /* Iff this is a directory item, this field equals the | 491 | /* Iff this is a directory item, this field equals the |
513 | number of directory entries in the directory item. */ | 492 | number of directory entries in the directory item. */ |
514 | __u16 ih_entry_count; | 493 | __le16 ih_entry_count; |
515 | } __attribute__ ((__packed__)) u; | 494 | } __attribute__ ((__packed__)) u; |
516 | __u16 ih_item_len; /* total size of the item body */ | 495 | __le16 ih_item_len; /* total size of the item body */ |
517 | __u16 ih_item_location; /* an offset to the item body | 496 | __le16 ih_item_location; /* an offset to the item body |
518 | * within the block */ | 497 | * within the block */ |
519 | __u16 ih_version; /* 0 for all old items, 2 for new | 498 | __le16 ih_version; /* 0 for all old items, 2 for new |
520 | ones. Highest bit is set by fsck | 499 | ones. Highest bit is set by fsck |
521 | temporary, cleaned after all | 500 | temporary, cleaned after all |
522 | done */ | 501 | done */ |
@@ -670,43 +649,29 @@ static inline void set_le_ih_k_type (struct item_head * ih, int type) | |||
670 | // | 649 | // |
671 | static inline loff_t cpu_key_k_offset (const struct cpu_key * key) | 650 | static inline loff_t cpu_key_k_offset (const struct cpu_key * key) |
672 | { | 651 | { |
673 | return (key->version == KEY_FORMAT_3_5) ? | 652 | return key->on_disk_key.k_offset; |
674 | key->on_disk_key.u.k_offset_v1.k_offset : | ||
675 | key->on_disk_key.u.k_offset_v2.k_offset; | ||
676 | } | 653 | } |
677 | 654 | ||
678 | static inline loff_t cpu_key_k_type (const struct cpu_key * key) | 655 | static inline loff_t cpu_key_k_type (const struct cpu_key * key) |
679 | { | 656 | { |
680 | return (key->version == KEY_FORMAT_3_5) ? | 657 | return key->on_disk_key.k_type; |
681 | uniqueness2type (key->on_disk_key.u.k_offset_v1.k_uniqueness) : | ||
682 | key->on_disk_key.u.k_offset_v2.k_type; | ||
683 | } | 658 | } |
684 | 659 | ||
685 | static inline void set_cpu_key_k_offset (struct cpu_key * key, loff_t offset) | 660 | static inline void set_cpu_key_k_offset (struct cpu_key * key, loff_t offset) |
686 | { | 661 | { |
687 | (key->version == KEY_FORMAT_3_5) ? | 662 | key->on_disk_key.k_offset = offset; |
688 | (key->on_disk_key.u.k_offset_v1.k_offset = offset) : | ||
689 | (key->on_disk_key.u.k_offset_v2.k_offset = offset); | ||
690 | } | 663 | } |
691 | 664 | ||
692 | |||
693 | static inline void set_cpu_key_k_type (struct cpu_key * key, int type) | 665 | static inline void set_cpu_key_k_type (struct cpu_key * key, int type) |
694 | { | 666 | { |
695 | (key->version == KEY_FORMAT_3_5) ? | 667 | key->on_disk_key.k_type = type; |
696 | (key->on_disk_key.u.k_offset_v1.k_uniqueness = type2uniqueness (type)): | ||
697 | (key->on_disk_key.u.k_offset_v2.k_type = type); | ||
698 | } | 668 | } |
699 | 669 | ||
700 | |||
701 | static inline void cpu_key_k_offset_dec (struct cpu_key * key) | 670 | static inline void cpu_key_k_offset_dec (struct cpu_key * key) |
702 | { | 671 | { |
703 | if (key->version == KEY_FORMAT_3_5) | 672 | key->on_disk_key.k_offset --; |
704 | key->on_disk_key.u.k_offset_v1.k_offset --; | ||
705 | else | ||
706 | key->on_disk_key.u.k_offset_v2.k_offset --; | ||
707 | } | 673 | } |
708 | 674 | ||
709 | |||
710 | #define is_direntry_cpu_key(key) (cpu_key_k_type (key) == TYPE_DIRENTRY) | 675 | #define is_direntry_cpu_key(key) (cpu_key_k_type (key) == TYPE_DIRENTRY) |
711 | #define is_direct_cpu_key(key) (cpu_key_k_type (key) == TYPE_DIRECT) | 676 | #define is_direct_cpu_key(key) (cpu_key_k_type (key) == TYPE_DIRECT) |
712 | #define is_indirect_cpu_key(key) (cpu_key_k_type (key) == TYPE_INDIRECT) | 677 | #define is_indirect_cpu_key(key) (cpu_key_k_type (key) == TYPE_INDIRECT) |
@@ -752,10 +717,10 @@ extern struct reiserfs_key root_key; | |||
752 | /* Header of a disk block. More precisely, header of a formatted leaf | 717 | /* Header of a disk block. More precisely, header of a formatted leaf |
753 | or internal node, and not the header of an unformatted node. */ | 718 | or internal node, and not the header of an unformatted node. */ |
754 | struct block_head { | 719 | struct block_head { |
755 | __u16 blk_level; /* Level of a block in the tree. */ | 720 | __le16 blk_level; /* Level of a block in the tree. */ |
756 | __u16 blk_nr_item; /* Number of keys/items in a block. */ | 721 | __le16 blk_nr_item; /* Number of keys/items in a block. */ |
757 | __u16 blk_free_space; /* Block free space in bytes. */ | 722 | __le16 blk_free_space; /* Block free space in bytes. */ |
758 | __u16 blk_reserved; | 723 | __le16 blk_reserved; |
759 | /* dump this in v4/planA */ | 724 | /* dump this in v4/planA */ |
760 | struct reiserfs_key blk_right_delim_key; /* kept only for compatibility */ | 725 | struct reiserfs_key blk_right_delim_key; /* kept only for compatibility */ |
761 | }; | 726 | }; |
@@ -819,19 +784,19 @@ struct block_head { | |||
819 | // | 784 | // |
820 | struct stat_data_v1 | 785 | struct stat_data_v1 |
821 | { | 786 | { |
822 | __u16 sd_mode; /* file type, permissions */ | 787 | __le16 sd_mode; /* file type, permissions */ |
823 | __u16 sd_nlink; /* number of hard links */ | 788 | __le16 sd_nlink; /* number of hard links */ |
824 | __u16 sd_uid; /* owner */ | 789 | __le16 sd_uid; /* owner */ |
825 | __u16 sd_gid; /* group */ | 790 | __le16 sd_gid; /* group */ |
826 | __u32 sd_size; /* file size */ | 791 | __le32 sd_size; /* file size */ |
827 | __u32 sd_atime; /* time of last access */ | 792 | __le32 sd_atime; /* time of last access */ |
828 | __u32 sd_mtime; /* time file was last modified */ | 793 | __le32 sd_mtime; /* time file was last modified */ |
829 | __u32 sd_ctime; /* time inode (stat data) was last changed (except changes to sd_atime and sd_mtime) */ | 794 | __le32 sd_ctime; /* time inode (stat data) was last changed (except changes to sd_atime and sd_mtime) */ |
830 | union { | 795 | union { |
831 | __u32 sd_rdev; | 796 | __le32 sd_rdev; |
832 | __u32 sd_blocks; /* number of blocks file uses */ | 797 | __le32 sd_blocks; /* number of blocks file uses */ |
833 | } __attribute__ ((__packed__)) u; | 798 | } __attribute__ ((__packed__)) u; |
834 | __u32 sd_first_direct_byte; /* first byte of file which is stored | 799 | __le32 sd_first_direct_byte; /* first byte of file which is stored |
835 | in a direct item: except that if it | 800 | in a direct item: except that if it |
836 | equals 1 it is a symlink and if it | 801 | equals 1 it is a symlink and if it |
837 | equals ~(__u32)0 there is no | 802 | equals ~(__u32)0 there is no |
@@ -897,20 +862,20 @@ struct stat_data_v1 | |||
897 | /* Stat Data on disk (reiserfs version of UFS disk inode minus the | 862 | /* Stat Data on disk (reiserfs version of UFS disk inode minus the |
898 | address blocks) */ | 863 | address blocks) */ |
899 | struct stat_data { | 864 | struct stat_data { |
900 | __u16 sd_mode; /* file type, permissions */ | 865 | __le16 sd_mode; /* file type, permissions */ |
901 | __u16 sd_attrs; /* persistent inode flags */ | 866 | __le16 sd_attrs; /* persistent inode flags */ |
902 | __u32 sd_nlink; /* number of hard links */ | 867 | __le32 sd_nlink; /* number of hard links */ |
903 | __u64 sd_size; /* file size */ | 868 | __le64 sd_size; /* file size */ |
904 | __u32 sd_uid; /* owner */ | 869 | __le32 sd_uid; /* owner */ |
905 | __u32 sd_gid; /* group */ | 870 | __le32 sd_gid; /* group */ |
906 | __u32 sd_atime; /* time of last access */ | 871 | __le32 sd_atime; /* time of last access */ |
907 | __u32 sd_mtime; /* time file was last modified */ | 872 | __le32 sd_mtime; /* time file was last modified */ |
908 | __u32 sd_ctime; /* time inode (stat data) was last changed (except changes to sd_atime and sd_mtime) */ | 873 | __le32 sd_ctime; /* time inode (stat data) was last changed (except changes to sd_atime and sd_mtime) */ |
909 | __u32 sd_blocks; | 874 | __le32 sd_blocks; |
910 | union { | 875 | union { |
911 | __u32 sd_rdev; | 876 | __le32 sd_rdev; |
912 | __u32 sd_generation; | 877 | __le32 sd_generation; |
913 | //__u32 sd_first_direct_byte; | 878 | //__le32 sd_first_direct_byte; |
914 | /* first byte of file which is stored in a | 879 | /* first byte of file which is stored in a |
915 | direct item: except that if it equals 1 | 880 | direct item: except that if it equals 1 |
916 | it is a symlink and if it equals | 881 | it is a symlink and if it equals |
@@ -993,12 +958,12 @@ struct stat_data { | |||
993 | 958 | ||
994 | struct reiserfs_de_head | 959 | struct reiserfs_de_head |
995 | { | 960 | { |
996 | __u32 deh_offset; /* third component of the directory entry key */ | 961 | __le32 deh_offset; /* third component of the directory entry key */ |
997 | __u32 deh_dir_id; /* objectid of the parent directory of the object, that is referenced | 962 | __le32 deh_dir_id; /* objectid of the parent directory of the object, that is referenced |
998 | by directory entry */ | 963 | by directory entry */ |
999 | __u32 deh_objectid; /* objectid of the object, that is referenced by directory entry */ | 964 | __le32 deh_objectid; /* objectid of the object, that is referenced by directory entry */ |
1000 | __u16 deh_location; /* offset of name in the whole item */ | 965 | __le16 deh_location; /* offset of name in the whole item */ |
1001 | __u16 deh_state; /* whether 1) entry contains stat data (for future), and 2) whether | 966 | __le16 deh_state; /* whether 1) entry contains stat data (for future), and 2) whether |
1002 | entry is hidden (unlinked) */ | 967 | entry is hidden (unlinked) */ |
1003 | } __attribute__ ((__packed__)); | 968 | } __attribute__ ((__packed__)); |
1004 | #define DEH_SIZE sizeof(struct reiserfs_de_head) | 969 | #define DEH_SIZE sizeof(struct reiserfs_de_head) |
@@ -1058,10 +1023,10 @@ struct reiserfs_de_head | |||
1058 | #define de_visible(deh) test_bit_unaligned (DEH_Visible, &((deh)->deh_state)) | 1023 | #define de_visible(deh) test_bit_unaligned (DEH_Visible, &((deh)->deh_state)) |
1059 | #define de_hidden(deh) !test_bit_unaligned (DEH_Visible, &((deh)->deh_state)) | 1024 | #define de_hidden(deh) !test_bit_unaligned (DEH_Visible, &((deh)->deh_state)) |
1060 | 1025 | ||
1061 | extern void make_empty_dir_item_v1 (char * body, __u32 dirid, __u32 objid, | 1026 | extern void make_empty_dir_item_v1 (char * body, __le32 dirid, __le32 objid, |
1062 | __u32 par_dirid, __u32 par_objid); | 1027 | __le32 par_dirid, __le32 par_objid); |
1063 | extern void make_empty_dir_item (char * body, __u32 dirid, __u32 objid, | 1028 | extern void make_empty_dir_item (char * body, __le32 dirid, __le32 objid, |
1064 | __u32 par_dirid, __u32 par_objid); | 1029 | __le32 par_dirid, __le32 par_objid); |
1065 | 1030 | ||
1066 | /* array of the entry headers */ | 1031 | /* array of the entry headers */ |
1067 | /* get item body */ | 1032 | /* get item body */ |
@@ -1160,9 +1125,9 @@ struct reiserfs_dir_entry | |||
1160 | /* Disk child pointer: The pointer from an internal node of the tree | 1125 | /* Disk child pointer: The pointer from an internal node of the tree |
1161 | to a node that is on disk. */ | 1126 | to a node that is on disk. */ |
1162 | struct disk_child { | 1127 | struct disk_child { |
1163 | __u32 dc_block_number; /* Disk child's block number. */ | 1128 | __le32 dc_block_number; /* Disk child's block number. */ |
1164 | __u16 dc_size; /* Disk child's used space. */ | 1129 | __le16 dc_size; /* Disk child's used space. */ |
1165 | __u16 dc_reserved; | 1130 | __le16 dc_reserved; |
1166 | }; | 1131 | }; |
1167 | 1132 | ||
1168 | #define DC_SIZE (sizeof(struct disk_child)) | 1133 | #define DC_SIZE (sizeof(struct disk_child)) |
@@ -1476,7 +1441,7 @@ struct tree_balance | |||
1476 | int fs_gen; /* saved value of `reiserfs_generation' counter | 1441 | int fs_gen; /* saved value of `reiserfs_generation' counter |
1477 | see FILESYSTEM_CHANGED() macro in reiserfs_fs.h */ | 1442 | see FILESYSTEM_CHANGED() macro in reiserfs_fs.h */ |
1478 | #ifdef DISPLACE_NEW_PACKING_LOCALITIES | 1443 | #ifdef DISPLACE_NEW_PACKING_LOCALITIES |
1479 | struct reiserfs_key key; /* key pointer, to pass to block allocator or | 1444 | struct in_core_key key; /* key pointer, to pass to block allocator or |
1480 | another low-level subsystem */ | 1445 | another low-level subsystem */ |
1481 | #endif | 1446 | #endif |
1482 | } ; | 1447 | } ; |
@@ -1630,10 +1595,10 @@ struct reiserfs_iget_args { | |||
1630 | 1595 | ||
1631 | /* first block written in a commit. */ | 1596 | /* first block written in a commit. */ |
1632 | struct reiserfs_journal_desc { | 1597 | struct reiserfs_journal_desc { |
1633 | __u32 j_trans_id ; /* id of commit */ | 1598 | __le32 j_trans_id ; /* id of commit */ |
1634 | __u32 j_len ; /* length of commit. len +1 is the commit block */ | 1599 | __le32 j_len ; /* length of commit. len +1 is the commit block */ |
1635 | __u32 j_mount_id ; /* mount id of this trans*/ | 1600 | __le32 j_mount_id ; /* mount id of this trans*/ |
1636 | __u32 j_realblock[1] ; /* real locations for each block */ | 1601 | __le32 j_realblock[1] ; /* real locations for each block */ |
1637 | } ; | 1602 | } ; |
1638 | 1603 | ||
1639 | #define get_desc_trans_id(d) le32_to_cpu((d)->j_trans_id) | 1604 | #define get_desc_trans_id(d) le32_to_cpu((d)->j_trans_id) |
@@ -1646,9 +1611,9 @@ struct reiserfs_journal_desc { | |||
1646 | 1611 | ||
1647 | /* last block written in a commit */ | 1612 | /* last block written in a commit */ |
1648 | struct reiserfs_journal_commit { | 1613 | struct reiserfs_journal_commit { |
1649 | __u32 j_trans_id ; /* must match j_trans_id from the desc block */ | 1614 | __le32 j_trans_id ; /* must match j_trans_id from the desc block */ |
1650 | __u32 j_len ; /* ditto */ | 1615 | __le32 j_len ; /* ditto */ |
1651 | __u32 j_realblock[1] ; /* real locations for each block */ | 1616 | __le32 j_realblock[1] ; /* real locations for each block */ |
1652 | } ; | 1617 | } ; |
1653 | 1618 | ||
1654 | #define get_commit_trans_id(c) le32_to_cpu((c)->j_trans_id) | 1619 | #define get_commit_trans_id(c) le32_to_cpu((c)->j_trans_id) |
@@ -1663,9 +1628,9 @@ struct reiserfs_journal_commit { | |||
1663 | ** and this transaction does not need to be replayed. | 1628 | ** and this transaction does not need to be replayed. |
1664 | */ | 1629 | */ |
1665 | struct reiserfs_journal_header { | 1630 | struct reiserfs_journal_header { |
1666 | __u32 j_last_flush_trans_id ; /* id of last fully flushed transaction */ | 1631 | __le32 j_last_flush_trans_id ; /* id of last fully flushed transaction */ |
1667 | __u32 j_first_unflushed_offset ; /* offset in the log of where to start replay after a crash */ | 1632 | __le32 j_first_unflushed_offset ; /* offset in the log of where to start replay after a crash */ |
1668 | __u32 j_mount_id ; | 1633 | __le32 j_mount_id ; |
1669 | /* 12 */ struct journal_params jh_journal; | 1634 | /* 12 */ struct journal_params jh_journal; |
1670 | } ; | 1635 | } ; |
1671 | 1636 | ||
@@ -2117,7 +2082,7 @@ struct buffer_head * get_FEB (struct tree_balance *); | |||
2117 | struct __reiserfs_blocknr_hint { | 2082 | struct __reiserfs_blocknr_hint { |
2118 | struct inode * inode; /* inode passed to allocator, if we allocate unf. nodes */ | 2083 | struct inode * inode; /* inode passed to allocator, if we allocate unf. nodes */ |
2119 | long block; /* file offset, in blocks */ | 2084 | long block; /* file offset, in blocks */ |
2120 | struct reiserfs_key key; | 2085 | struct in_core_key key; |
2121 | struct path * path; /* search path, used by allocator to deternine search_start by | 2086 | struct path * path; /* search path, used by allocator to deternine search_start by |
2122 | * various ways */ | 2087 | * various ways */ |
2123 | struct reiserfs_transaction_handle * th; /* transaction handle is needed to log super blocks and | 2088 | struct reiserfs_transaction_handle * th; /* transaction handle is needed to log super blocks and |
@@ -2144,7 +2109,7 @@ void reiserfs_init_alloc_options (struct super_block *s); | |||
2144 | * to use for a new object underneat it. The locality is returned | 2109 | * to use for a new object underneat it. The locality is returned |
2145 | * in disk byte order (le). | 2110 | * in disk byte order (le). |
2146 | */ | 2111 | */ |
2147 | u32 reiserfs_choose_packing(struct inode *dir); | 2112 | __le32 reiserfs_choose_packing(struct inode *dir); |
2148 | 2113 | ||
2149 | int is_reusable (struct super_block * s, b_blocknr_t block, int bit_value); | 2114 | int is_reusable (struct super_block * s, b_blocknr_t block, int bit_value); |
2150 | void reiserfs_free_block (struct reiserfs_transaction_handle *th, struct inode *, b_blocknr_t, int for_unformatted); | 2115 | void reiserfs_free_block (struct reiserfs_transaction_handle *th, struct inode *, b_blocknr_t, int for_unformatted); |