]> err.no Git - linux-2.6/blobdiff - fs/udf/inode.c
[JFFS2] Fix sparse warning in nodemgmt.c
[linux-2.6] / fs / udf / inode.c
index 6b4409f501964a4c29199b0c967431b439909d2b..24cfa55d0fdc4a2ecd4964f4c759a8babd428e72 100644 (file)
@@ -52,7 +52,7 @@ static int udf_update_inode(struct inode *, int);
 static void udf_fill_inode(struct inode *, struct buffer_head *);
 static int udf_alloc_i_data(struct inode *inode, size_t size);
 static struct buffer_head *inode_getblk(struct inode *, sector_t, int *,
-                                       long *, int *);
+                                       sector_t *, int *);
 static int8_t udf_insert_aext(struct inode *, struct extent_position,
                              kernel_lb_addr, uint32_t);
 static void udf_split_extents(struct inode *, int *, int, int,
@@ -119,7 +119,7 @@ void udf_clear_inode(struct inode *inode)
                udf_discard_prealloc(inode);
                udf_truncate_tail_extent(inode);
                unlock_kernel();
-               write_inode_now(inode, 1);
+               write_inode_now(inode, 0);
        }
        iinfo = UDF_I(inode);
        kfree(iinfo->i_ext.i_data);
@@ -219,8 +219,8 @@ struct buffer_head *udf_expand_dir_adinicb(struct inode *inode, int *block,
        struct extent_position epos;
 
        struct udf_fileident_bh sfibh, dfibh;
-       loff_t f_pos = udf_ext0_offset(inode) >> 2;
-       int size = (udf_ext0_offset(inode) + inode->i_size) >> 2;
+       loff_t f_pos = udf_ext0_offset(inode);
+       int size = udf_ext0_offset(inode) + inode->i_size;
        struct fileIdentDesc cfi, *sfi, *dfi;
        struct udf_inode_info *iinfo = UDF_I(inode);
 
@@ -256,11 +256,11 @@ struct buffer_head *udf_expand_dir_adinicb(struct inode *inode, int *block,
        mark_buffer_dirty_inode(dbh, inode);
 
        sfibh.soffset = sfibh.eoffset =
-                       (f_pos & ((inode->i_sb->s_blocksize - 1) >> 2)) << 2;
+                       f_pos & (inode->i_sb->s_blocksize - 1);
        sfibh.sbh = sfibh.ebh = NULL;
        dfibh.soffset = dfibh.eoffset = 0;
        dfibh.sbh = dfibh.ebh = dbh;
-       while ((f_pos < size)) {
+       while (f_pos < size) {
                iinfo->i_alloc_type = ICBTAG_FLAG_AD_IN_ICB;
                sfi = udf_fileident_read(inode, &f_pos, &sfibh, &cfi, NULL,
                                         NULL, NULL, NULL);
@@ -289,7 +289,7 @@ struct buffer_head *udf_expand_dir_adinicb(struct inode *inode, int *block,
        eloc.logicalBlockNum = *block;
        eloc.partitionReferenceNum =
                                iinfo->i_location.partitionReferenceNum;
-       elen = inode->i_size;
+       elen = inode->i_sb->s_blocksize;
        iinfo->i_lenExtents = elen;
        epos.bh = NULL;
        epos.block = iinfo->i_location;
@@ -307,7 +307,7 @@ static int udf_get_block(struct inode *inode, sector_t block,
 {
        int err, new;
        struct buffer_head *bh;
-       unsigned long phys;
+       sector_t phys = 0;
        struct udf_inode_info *iinfo;
 
        if (!create) {
@@ -489,7 +489,7 @@ out:
 }
 
 static struct buffer_head *inode_getblk(struct inode *inode, sector_t block,
-                                       int *err, long *phys, int *new)
+                                       int *err, sector_t *phys, int *new)
 {
        static sector_t last_block;
        struct buffer_head *result = NULL;