]> err.no Git - linux-2.6/blobdiff - fs/ocfs2/inode.c
Slab API: remove useless ctor parameter and reorder parameters
[linux-2.6] / fs / ocfs2 / inode.c
index c53a6763bbbebf7500f4c53e9e1e38ca9806eb15..1d5e0cb0fda1ded9ad69ae0365c9c082fc48ca55 100644 (file)
@@ -241,6 +241,7 @@ int ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe,
 
        OCFS2_I(inode)->ip_clusters = le32_to_cpu(fe->i_clusters);
        OCFS2_I(inode)->ip_attr = le32_to_cpu(fe->i_attr);
+       OCFS2_I(inode)->ip_dyn_features = le16_to_cpu(fe->i_dyn_features);
 
        inode->i_version = 1;
        inode->i_generation = le32_to_cpu(fe->i_generation);
@@ -513,6 +514,10 @@ static int ocfs2_truncate_for_delete(struct ocfs2_super *osb,
 
        fe = (struct ocfs2_dinode *) fe_bh->b_data;
 
+       /*
+        * This check will also skip truncate of inodes with inline
+        * data and fast symlinks.
+        */
        if (fe->i_clusters) {
                handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS);
                if (IS_ERR(handle)) {
@@ -1220,6 +1225,7 @@ int ocfs2_mark_inode_dirty(handle_t *handle,
        fe->i_clusters = cpu_to_le32(OCFS2_I(inode)->ip_clusters);
        ocfs2_get_inode_flags(OCFS2_I(inode));
        fe->i_attr = cpu_to_le32(OCFS2_I(inode)->ip_attr);
+       fe->i_dyn_features = cpu_to_le16(OCFS2_I(inode)->ip_dyn_features);
        spin_unlock(&OCFS2_I(inode)->ip_lock);
 
        fe->i_size = cpu_to_le64(i_size_read(inode));
@@ -1257,6 +1263,7 @@ void ocfs2_refresh_inode(struct inode *inode,
 
        OCFS2_I(inode)->ip_clusters = le32_to_cpu(fe->i_clusters);
        OCFS2_I(inode)->ip_attr = le32_to_cpu(fe->i_attr);
+       OCFS2_I(inode)->ip_dyn_features = le16_to_cpu(fe->i_dyn_features);
        ocfs2_set_inode_flags(inode);
        i_size_write(inode, le64_to_cpu(fe->i_size));
        inode->i_nlink = le16_to_cpu(fe->i_links_count);