switch ufs to simple_fsync()
[safe/jmp/linux-2.6] / fs / ufs / inode.c
index 5446b88..3d2512c 100644 (file)
@@ -622,7 +622,6 @@ static int ufs1_read_inode(struct inode *inode, struct ufs_inode *ufs_inode)
        struct ufs_inode_info *ufsi = UFS_I(inode);
        struct super_block *sb = inode->i_sb;
        mode_t mode;
-       unsigned i;
 
        /*
         * Copy data to the in-core inode.
@@ -655,11 +654,12 @@ static int ufs1_read_inode(struct inode *inode, struct ufs_inode *ufs_inode)
 
        
        if (S_ISCHR(mode) || S_ISBLK(mode) || inode->i_blocks) {
-               for (i = 0; i < (UFS_NDADDR + UFS_NINDIR); i++)
-                       ufsi->i_u1.i_data[i] = ufs_inode->ui_u2.ui_addr.ui_db[i];
+               memcpy(ufsi->i_u1.i_data, &ufs_inode->ui_u2.ui_addr,
+                      sizeof(ufs_inode->ui_u2.ui_addr));
        } else {
-               for (i = 0; i < (UFS_NDADDR + UFS_NINDIR) * 4; i++)
-                       ufsi->i_u1.i_symlink[i] = ufs_inode->ui_u2.ui_symlink[i];
+               memcpy(ufsi->i_u1.i_symlink, ufs_inode->ui_u2.ui_symlink,
+                      sizeof(ufs_inode->ui_u2.ui_symlink) - 1);
+               ufsi->i_u1.i_symlink[sizeof(ufs_inode->ui_u2.ui_symlink) - 1] = 0;
        }
        return 0;
 }
@@ -669,7 +669,6 @@ static int ufs2_read_inode(struct inode *inode, struct ufs2_inode *ufs2_inode)
        struct ufs_inode_info *ufsi = UFS_I(inode);
        struct super_block *sb = inode->i_sb;
        mode_t mode;
-       unsigned i;
 
        UFSD("Reading ufs2 inode, ino %lu\n", inode->i_ino);
        /*
@@ -704,12 +703,12 @@ static int ufs2_read_inode(struct inode *inode, struct ufs2_inode *ufs2_inode)
        */
 
        if (S_ISCHR(mode) || S_ISBLK(mode) || inode->i_blocks) {
-               for (i = 0; i < (UFS_NDADDR + UFS_NINDIR); i++)
-                       ufsi->i_u1.u2_i_data[i] =
-                               ufs2_inode->ui_u2.ui_addr.ui_db[i];
+               memcpy(ufsi->i_u1.u2_i_data, &ufs2_inode->ui_u2.ui_addr,
+                      sizeof(ufs2_inode->ui_u2.ui_addr));
        } else {
-               for (i = 0; i < (UFS_NDADDR + UFS_NINDIR) * 4; i++)
-                       ufsi->i_u1.i_symlink[i] = ufs2_inode->ui_u2.ui_symlink[i];
+               memcpy(ufsi->i_u1.i_symlink, ufs2_inode->ui_u2.ui_symlink,
+                      sizeof(ufs2_inode->ui_u2.ui_symlink) - 1);
+               ufsi->i_u1.i_symlink[sizeof(ufs2_inode->ui_u2.ui_symlink) - 1] = 0;
        }
        return 0;
 }
@@ -781,7 +780,6 @@ static void ufs1_update_inode(struct inode *inode, struct ufs_inode *ufs_inode)
 {
        struct super_block *sb = inode->i_sb;
        struct ufs_inode_info *ufsi = UFS_I(inode);
-       unsigned i;
 
        ufs_inode->ui_mode = cpu_to_fs16(sb, inode->i_mode);
        ufs_inode->ui_nlink = cpu_to_fs16(sb, inode->i_nlink);
@@ -809,12 +807,12 @@ static void ufs1_update_inode(struct inode *inode, struct ufs_inode *ufs_inode)
                /* ufs_inode->ui_u2.ui_addr.ui_db[0] = cpu_to_fs32(sb, inode->i_rdev); */
                ufs_inode->ui_u2.ui_addr.ui_db[0] = ufsi->i_u1.i_data[0];
        } else if (inode->i_blocks) {
-               for (i = 0; i < (UFS_NDADDR + UFS_NINDIR); i++)
-                       ufs_inode->ui_u2.ui_addr.ui_db[i] = ufsi->i_u1.i_data[i];
+               memcpy(&ufs_inode->ui_u2.ui_addr, ufsi->i_u1.i_data,
+                      sizeof(ufs_inode->ui_u2.ui_addr));
        }
        else {
-               for (i = 0; i < (UFS_NDADDR + UFS_NINDIR) * 4; i++)
-                       ufs_inode->ui_u2.ui_symlink[i] = ufsi->i_u1.i_symlink[i];
+               memcpy(&ufs_inode->ui_u2.ui_symlink, ufsi->i_u1.i_symlink,
+                      sizeof(ufs_inode->ui_u2.ui_symlink));
        }
 
        if (!inode->i_nlink)
@@ -825,7 +823,6 @@ static void ufs2_update_inode(struct inode *inode, struct ufs2_inode *ufs_inode)
 {
        struct super_block *sb = inode->i_sb;
        struct ufs_inode_info *ufsi = UFS_I(inode);
-       unsigned i;
 
        UFSD("ENTER\n");
        ufs_inode->ui_mode = cpu_to_fs16(sb, inode->i_mode);
@@ -850,11 +847,11 @@ static void ufs2_update_inode(struct inode *inode, struct ufs2_inode *ufs_inode)
                /* ufs_inode->ui_u2.ui_addr.ui_db[0] = cpu_to_fs32(sb, inode->i_rdev); */
                ufs_inode->ui_u2.ui_addr.ui_db[0] = ufsi->i_u1.u2_i_data[0];
        } else if (inode->i_blocks) {
-               for (i = 0; i < (UFS_NDADDR + UFS_NINDIR); i++)
-                       ufs_inode->ui_u2.ui_addr.ui_db[i] = ufsi->i_u1.u2_i_data[i];
+               memcpy(&ufs_inode->ui_u2.ui_addr, ufsi->i_u1.u2_i_data,
+                      sizeof(ufs_inode->ui_u2.ui_addr));
        } else {
-               for (i = 0; i < (UFS_NDADDR + UFS_NINDIR) * 4; i++)
-                       ufs_inode->ui_u2.ui_symlink[i] = ufsi->i_u1.i_symlink[i];
+               memcpy(&ufs_inode->ui_u2.ui_symlink, ufsi->i_u1.i_symlink,
+                      sizeof(ufs_inode->ui_u2.ui_symlink));
        }
 
        if (!inode->i_nlink)
@@ -929,7 +926,7 @@ void ufs_delete_inode (struct inode * inode)
        old_i_size = inode->i_size;
        inode->i_size = 0;
        if (inode->i_blocks && ufs_truncate(inode, old_i_size))
-               ufs_warning(inode->i_sb, __FUNCTION__, "ufs_truncate failed\n");
+               ufs_warning(inode->i_sb, __func__, "ufs_truncate failed\n");
        ufs_free_inode (inode);
        unlock_kernel();
        return;