vserver 1.9.5.x5
[linux-2.6.git] / fs / ufs / inode.c
index 06415ae..718627c 100644 (file)
@@ -99,8 +99,8 @@ u64  ufs_frag_map(struct inode *inode, sector_t frag)
        sector_t offsets[4], *p;
        int depth = ufs_block_to_path(inode, frag >> uspi->s_fpbshift, offsets);
        u64  ret = 0L;
-       u32 block;
-       u64 u2_block = 0L;
+       __fs32 block;
+       __fs64 u2_block = 0L;
        unsigned flags = UFS_SB(sb)->s_flags;
        u64 temp = 0L;
 
@@ -126,7 +126,7 @@ u64  ufs_frag_map(struct inode *inode, sector_t frag)
                bh = sb_bread(sb, uspi->s_sbbase + fs32_to_cpu(sb, block)+(n>>shift));
                if (!bh)
                        goto out;
-               block = ((u32*) bh->b_data)[n & mask];
+               block = ((__fs32 *) bh->b_data)[n & mask];
                brelse (bh);
                if (!block)
                        goto out;
@@ -148,7 +148,7 @@ ufs2:
                bh = sb_bread(sb, temp +(u64) (n>>shift));
                if (!bh)
                        goto out;
-               u2_block = ((u64*)bh->b_data)[n & mask];
+               u2_block = ((__fs64 *)bh->b_data)[n & mask];
                brelse(bh);
                if (!u2_block)
                        goto out;
@@ -171,7 +171,7 @@ static struct buffer_head * ufs_inode_getfrag (struct inode *inode,
        struct buffer_head * result;
        unsigned block, blockoff, lastfrag, lastblock, lastblockoff;
        unsigned tmp, goal;
-       u32 * p, * p2;
+       __fs32 * p, * p2;
        unsigned flags = 0;
 
        UFSD(("ENTER, ino %lu, fragment %u, new_fragment %u, required %u\n",
@@ -272,7 +272,7 @@ repeat:
                *new = 1;
        }
 
-       inode->i_ctime = CURRENT_TIME;
+       inode->i_ctime = CURRENT_TIME_SEC;
        if (IS_SYNC(inode))
                ufs_sync_inode (inode);
        mark_inode_dirty(inode);
@@ -303,7 +303,7 @@ static struct buffer_head * ufs_block_getfrag (struct inode *inode,
        struct ufs_sb_private_info * uspi;
        struct buffer_head * result;
        unsigned tmp, goal, block, blockoff;
-       u32 * p;
+       __fs32 * p;
 
        sb = inode->i_sb;
        uspi = UFS_SB(sb)->s_uspi;
@@ -322,7 +322,7 @@ static struct buffer_head * ufs_block_getfrag (struct inode *inode,
                        goto out;
        }
 
-       p = (u32 *) bh->b_data + block;
+       p = (__fs32 *) bh->b_data + block;
 repeat:
        tmp = fs32_to_cpu(sb, *p);
        if (tmp) {
@@ -338,7 +338,7 @@ repeat:
                }
        }
 
-       if (block && (tmp = fs32_to_cpu(sb, ((u32*)bh->b_data)[block-1]) + uspi->s_fpb))
+       if (block && (tmp = fs32_to_cpu(sb, ((__fs32*)bh->b_data)[block-1]) + uspi->s_fpb))
                goal = tmp + uspi->s_fpb;
        else
                goal = bh->b_blocknr + uspi->s_fpb;
@@ -363,7 +363,7 @@ repeat:
        mark_buffer_dirty(bh);
        if (IS_SYNC(inode))
                sync_dirty_buffer(bh);
-       inode->i_ctime = CURRENT_TIME;
+       inode->i_ctime = CURRENT_TIME_SEC;
        mark_inode_dirty(inode);
 out:
        brelse (bh);
@@ -629,7 +629,7 @@ void ufs_read_inode (struct inode * inode)
                }
        } else
                init_special_inode(inode, inode->i_mode,
-                       old_decode_dev(fs32_to_cpu(sb, ufsi->i_u1.i_data[0])));
+                       ufs_get_inode_dev(sb, ufsi));
 
        brelse (bh);
 
@@ -705,7 +705,7 @@ ufs2_inode :
                }
        } else   /* TODO  : here ...*/
                init_special_inode(inode, inode->i_mode,
-                       old_decode_dev(fs32_to_cpu(sb, ufsi->i_u1.i_data[0])));
+                       ufs_get_inode_dev(sb, ufsi));
 
        brelse(bh);
 
@@ -788,11 +788,13 @@ static int ufs_update_inode(struct inode * inode, int do_sync)
        return 0;
 }
 
-void ufs_write_inode (struct inode * inode, int wait)
+int ufs_write_inode (struct inode * inode, int wait)
 {
+       int ret;
        lock_kernel();
-       ufs_update_inode (inode, wait);
+       ret = ufs_update_inode (inode, wait);
        unlock_kernel();
+       return ret;
 }
 
 int ufs_sync_inode (struct inode *inode)