diff options
author | Mark Fasheh <mark.fasheh@oracle.com> | 2007-09-07 17:05:51 -0400 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2007-10-12 14:54:39 -0400 |
commit | 6798d35a31c413bbb3f83bbaa844bd2598168ccc (patch) | |
tree | ff3e2928ebdfda06f08605d9dbc7002f0413e731 /fs/ocfs2/extent_map.c | |
parent | 15b1e36bdb487d67ef924a37b0967453143be53a (diff) |
ocfs2: Read support for inline data
This hooks up ocfs2_readpage() to populate a page with data from an inode
block. Direct IO reads from inline data are modified to fall back to
buffered I/O. Appropriate checks are also placed in the extent map code to
avoid reading an extent list when inline data might be stored.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Diffstat (limited to 'fs/ocfs2/extent_map.c')
-rw-r--r-- | fs/ocfs2/extent_map.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/ocfs2/extent_map.c b/fs/ocfs2/extent_map.c index 03c1d365c78..c58668a326f 100644 --- a/fs/ocfs2/extent_map.c +++ b/fs/ocfs2/extent_map.c | |||
@@ -387,6 +387,12 @@ int ocfs2_get_clusters(struct inode *inode, u32 v_cluster, | |||
387 | struct ocfs2_extent_rec *rec; | 387 | struct ocfs2_extent_rec *rec; |
388 | u32 coff; | 388 | u32 coff; |
389 | 389 | ||
390 | if (OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL) { | ||
391 | ret = -ERANGE; | ||
392 | mlog_errno(ret); | ||
393 | goto out; | ||
394 | } | ||
395 | |||
390 | ret = ocfs2_extent_map_lookup(inode, v_cluster, p_cluster, | 396 | ret = ocfs2_extent_map_lookup(inode, v_cluster, p_cluster, |
391 | num_clusters, extent_flags); | 397 | num_clusters, extent_flags); |
392 | if (ret == 0) | 398 | if (ret == 0) |