diff options
author | Mark Fasheh <mark.fasheh@oracle.com> | 2007-09-07 16:58:15 -0400 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2007-10-12 14:54:39 -0400 |
commit | 15b1e36bdb487d67ef924a37b0967453143be53a (patch) | |
tree | 448e955663c183a12f574f0e470e842d7722c1fb /fs/ocfs2/inode.c | |
parent | 8553cf4f360d6fc4913a0bdd3b22dd7b5bb9a3be (diff) |
ocfs2: Structure updates for inline data
Add the disk, network and memory structures needed to support data in inode.
Struct ocfs2_inline_data is defined and embedded in ocfs2_dinode for storing
inline data.
A new inode field, i_dyn_features, is added to facilitate tracking of
dynamic inode state. Since it will be used often, we want to mirror it on
ocfs2_inode_info, and transfer it via the meta data lvb.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Diffstat (limited to 'fs/ocfs2/inode.c')
-rw-r--r-- | fs/ocfs2/inode.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ocfs2/inode.c b/fs/ocfs2/inode.c index c53a6763bbbe..c8923bab422a 100644 --- a/fs/ocfs2/inode.c +++ b/fs/ocfs2/inode.c | |||
@@ -241,6 +241,7 @@ int ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe, | |||
241 | 241 | ||
242 | OCFS2_I(inode)->ip_clusters = le32_to_cpu(fe->i_clusters); | 242 | OCFS2_I(inode)->ip_clusters = le32_to_cpu(fe->i_clusters); |
243 | OCFS2_I(inode)->ip_attr = le32_to_cpu(fe->i_attr); | 243 | OCFS2_I(inode)->ip_attr = le32_to_cpu(fe->i_attr); |
244 | OCFS2_I(inode)->ip_dyn_features = le16_to_cpu(fe->i_dyn_features); | ||
244 | 245 | ||
245 | inode->i_version = 1; | 246 | inode->i_version = 1; |
246 | inode->i_generation = le32_to_cpu(fe->i_generation); | 247 | inode->i_generation = le32_to_cpu(fe->i_generation); |
@@ -1220,6 +1221,7 @@ int ocfs2_mark_inode_dirty(handle_t *handle, | |||
1220 | fe->i_clusters = cpu_to_le32(OCFS2_I(inode)->ip_clusters); | 1221 | fe->i_clusters = cpu_to_le32(OCFS2_I(inode)->ip_clusters); |
1221 | ocfs2_get_inode_flags(OCFS2_I(inode)); | 1222 | ocfs2_get_inode_flags(OCFS2_I(inode)); |
1222 | fe->i_attr = cpu_to_le32(OCFS2_I(inode)->ip_attr); | 1223 | fe->i_attr = cpu_to_le32(OCFS2_I(inode)->ip_attr); |
1224 | fe->i_dyn_features = cpu_to_le16(OCFS2_I(inode)->ip_dyn_features); | ||
1223 | spin_unlock(&OCFS2_I(inode)->ip_lock); | 1225 | spin_unlock(&OCFS2_I(inode)->ip_lock); |
1224 | 1226 | ||
1225 | fe->i_size = cpu_to_le64(i_size_read(inode)); | 1227 | fe->i_size = cpu_to_le64(i_size_read(inode)); |
@@ -1257,6 +1259,7 @@ void ocfs2_refresh_inode(struct inode *inode, | |||
1257 | 1259 | ||
1258 | OCFS2_I(inode)->ip_clusters = le32_to_cpu(fe->i_clusters); | 1260 | OCFS2_I(inode)->ip_clusters = le32_to_cpu(fe->i_clusters); |
1259 | OCFS2_I(inode)->ip_attr = le32_to_cpu(fe->i_attr); | 1261 | OCFS2_I(inode)->ip_attr = le32_to_cpu(fe->i_attr); |
1262 | OCFS2_I(inode)->ip_dyn_features = le16_to_cpu(fe->i_dyn_features); | ||
1260 | ocfs2_set_inode_flags(inode); | 1263 | ocfs2_set_inode_flags(inode); |
1261 | i_size_write(inode, le64_to_cpu(fe->i_size)); | 1264 | i_size_write(inode, le64_to_cpu(fe->i_size)); |
1262 | inode->i_nlink = le16_to_cpu(fe->i_links_count); | 1265 | inode->i_nlink = le16_to_cpu(fe->i_links_count); |