lkml.org 
[lkml]   [2008]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 09/10] udf: replace udf_*_offset macros with functions
    On Wed 30-01-08 22:03:59, marcin.slusarz@gmail.com wrote:
    > - 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: Marcin Slusarz <marcin.slusarz@gmail.com>
    > Cc: Jan Kara <jack@suse.cz>
    Acked-by: Jan Kara <jack@suse.cz>

    Honza

    > ---
    > fs/udf/udfdecl.h | 29 +++++++++++++++++++----------
    > include/linux/udf_fs_i.h | 4 ++--
    > 2 files changed, 21 insertions(+), 12 deletions(-)
    >
    > diff --git a/fs/udf/udfdecl.h b/fs/udf/udfdecl.h
    > index c6c457b..375be1b 100644
    > --- a/fs/udf/udfdecl.h
    > +++ b/fs/udf/udfdecl.h
    > @@ -12,6 +12,7 @@
    > #include <linux/buffer_head.h>
    >
    > #include "udfend.h"
    > +#include "udf_i.h"
    >
    > #define udf_fixed_to_variable(x) ( ( ( (x) >> 5 ) * 39 ) + ( (x) & 0x0000001F ) )
    > #define udf_variable_to_fixed(x) ( ( ( (x) / 39 ) << 5 ) + ( (x) % 39 ) )
    > @@ -23,16 +24,24 @@
    > #define UDF_NAME_LEN 256
    > #define UDF_PATH_LEN 1023
    >
    > -#define udf_file_entry_alloc_offset(inode)\
    > - (UDF_I(inode)->i_use ?\
    > - sizeof(struct unallocSpaceEntry) :\
    > - ((UDF_I(inode)->i_efe ?\
    > - sizeof(struct extendedFileEntry) :\
    > - sizeof(struct fileEntry)) + UDF_I(inode)->i_lenEAttr))
    > -
    > -#define udf_ext0_offset(inode)\
    > - (UDF_I(inode)->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB ?\
    > - udf_file_entry_alloc_offset(inode) : 0)
    > +static inline size_t udf_file_entry_alloc_offset(struct inode *inode)
    > +{
    > + struct udf_inode_info *iinfo = UDF_I(inode);
    > + if (iinfo->i_use)
    > + return sizeof(struct unallocSpaceEntry);
    > + else if (iinfo->i_efe)
    > + return sizeof(struct extendedFileEntry) + iinfo->i_lenEAttr;
    > + else
    > + return sizeof(struct fileEntry) + iinfo->i_lenEAttr;
    > +}
    > +
    > +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))
    >
    > diff --git a/include/linux/udf_fs_i.h b/include/linux/udf_fs_i.h
    > index ffaf056..6281a52 100644
    > --- a/include/linux/udf_fs_i.h
    > +++ b/include/linux/udf_fs_i.h
    > @@ -27,8 +27,8 @@ struct udf_inode_info
    > __u32 i_next_alloc_block;
    > __u32 i_next_alloc_goal;
    > unsigned i_alloc_type : 3;
    > - unsigned i_efe : 1;
    > - unsigned i_use : 1;
    > + unsigned i_efe : 1; /* extendedFileEntry */
    > + unsigned i_use : 1; /* unallocSpaceEntry */
    > unsigned i_strat4096 : 1;
    > unsigned reserved : 26;
    > union
    > --
    > 1.5.3.7
    >
    --
    Jan Kara <jack@suse.cz>
    SUSE Labs, CR


    \
     
     \ /
      Last update: 2008-01-31 17:51    [W:2.309 / U:0.988 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site