summaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/extent_map.h
diff options
context:
space:
mode:
authorSunil Mushran <sunil.mushran@oracle.com>2011-07-25 23:58:15 +0200
committerSunil Mushran <sunil.mushran@oracle.com>2011-07-25 23:58:15 +0200
commit93862d5e1ab875664c6cc95254fc365028a48bb1 (patch)
tree3299a37486b2265e051a4c641aa7cfbb309a69d6 /fs/ocfs2/extent_map.h
parentocfs2: Fix ocfs2_page_mkwrite() (diff)
downloadlinux-93862d5e1ab875664c6cc95254fc365028a48bb1.tar.xz
linux-93862d5e1ab875664c6cc95254fc365028a48bb1.zip
ocfs2: Implement llseek()
ocfs2 implements its own llseek() to provide the SEEK_HOLE/SEEK_DATA functionality. SEEK_HOLE sets the file pointer to the start of either a hole or an unwritten (preallocated) extent, that is greater than or equal to the supplied offset. SEEK_DATA sets the file pointer to the start of an allocated extent (not unwritten) that is greater than or equal to the supplied offset. If the supplied offset is on a desired region, then the file pointer is set to it. Offsets greater than or equal to the file size return -ENXIO. Unwritten (preallocated) extents are considered holes because the file system treats reads to such regions in the same way as it does to holes. Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Diffstat (limited to 'fs/ocfs2/extent_map.h')
-rw-r--r--fs/ocfs2/extent_map.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/ocfs2/extent_map.h b/fs/ocfs2/extent_map.h
index e79d41c2c909..67ea57d2fd59 100644
--- a/fs/ocfs2/extent_map.h
+++ b/fs/ocfs2/extent_map.h
@@ -53,6 +53,8 @@ int ocfs2_extent_map_get_blocks(struct inode *inode, u64 v_blkno, u64 *p_blkno,
int ocfs2_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
u64 map_start, u64 map_len);
+int ocfs2_seek_data_hole_offset(struct file *file, loff_t *offset, int origin);
+
int ocfs2_xattr_get_clusters(struct inode *inode, u32 v_cluster,
u32 *p_cluster, u32 *num_clusters,
struct ocfs2_extent_list *el,