Commit d652eefb authored by marcin.slusarz@gmail.com's avatar marcin.slusarz@gmail.com Committed by Jan Kara

udf: replace udf_*_offset macros with functions

- translate udf_file_entry_alloc_offset macro into function
- translate udf_ext0_offset macro into function
- add comment about crypticly named fields in struct udf_inode_info
Signed-off-by: default avatarMarcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
parent 1ab92785
...@@ -12,8 +12,8 @@ struct udf_inode_info { ...@@ -12,8 +12,8 @@ struct udf_inode_info {
__u32 i_next_alloc_block; __u32 i_next_alloc_block;
__u32 i_next_alloc_goal; __u32 i_next_alloc_goal;
unsigned i_alloc_type : 3; unsigned i_alloc_type : 3;
unsigned i_efe : 1; unsigned i_efe : 1; /* extendedFileEntry */
unsigned i_use : 1; unsigned i_use : 1; /* unallocSpaceEntry */
unsigned i_strat4096 : 1; unsigned i_strat4096 : 1;
unsigned reserved : 26; unsigned reserved : 26;
union { union {
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include "udf_sb.h" #include "udf_sb.h"
#include "udfend.h" #include "udfend.h"
#include "udf_i.h"
#define UDF_PREALLOCATE #define UDF_PREALLOCATE
#define UDF_DEFAULT_PREALLOC_BLOCKS 8 #define UDF_DEFAULT_PREALLOC_BLOCKS 8
...@@ -42,16 +43,24 @@ do { \ ...@@ -42,16 +43,24 @@ do { \
#define UDF_NAME_LEN 256 #define UDF_NAME_LEN 256
#define UDF_PATH_LEN 1023 #define UDF_PATH_LEN 1023
#define udf_file_entry_alloc_offset(inode)\ static inline size_t udf_file_entry_alloc_offset(struct inode *inode)
(UDF_I(inode)->i_use ?\ {
sizeof(struct unallocSpaceEntry) :\ struct udf_inode_info *iinfo = UDF_I(inode);
((UDF_I(inode)->i_efe ?\ if (iinfo->i_use)
sizeof(struct extendedFileEntry) :\ return sizeof(struct unallocSpaceEntry);
sizeof(struct fileEntry)) + UDF_I(inode)->i_lenEAttr)) else if (iinfo->i_efe)
return sizeof(struct extendedFileEntry) + iinfo->i_lenEAttr;
#define udf_ext0_offset(inode)\ else
(UDF_I(inode)->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB ?\ return sizeof(struct fileEntry) + iinfo->i_lenEAttr;
udf_file_entry_alloc_offset(inode) : 0) }
static inline size_t udf_ext0_offset(struct inode *inode)
{
if (UDF_I(inode)->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB)
return udf_file_entry_alloc_offset(inode);
else
return 0;
}
#define udf_get_lb_pblock(sb,loc,offset) udf_get_pblock((sb), (loc).logicalBlockNum, (loc).partitionReferenceNum, (offset)) #define udf_get_lb_pblock(sb,loc,offset) udf_get_pblock((sb), (loc).logicalBlockNum, (loc).partitionReferenceNum, (offset))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment