]> err.no Git - linux-2.6/blobdiff - fs/ocfs2/extent_map.c
Merge branch 'tracehook' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux...
[linux-2.6] / fs / ocfs2 / extent_map.c
index e23e416ca74c769782875d9df4214609bcbfa2d9..c58668a326fe87f58074741965c531761fe97359 100644 (file)
@@ -373,37 +373,6 @@ out:
        return ret;
 }
 
-/*
- * Return the index of the extent record which contains cluster #v_cluster.
- * -1 is returned if it was not found.
- *
- * Should work fine on interior and exterior nodes.
- */
-static int ocfs2_search_extent_list(struct ocfs2_extent_list *el,
-                                   u32 v_cluster)
-{
-       int ret = -1;
-       int i;
-       struct ocfs2_extent_rec *rec;
-       u32 rec_end, rec_start, clusters;
-
-       for(i = 0; i < le16_to_cpu(el->l_next_free_rec); i++) {
-               rec = &el->l_recs[i];
-
-               rec_start = le32_to_cpu(rec->e_cpos);
-               clusters = ocfs2_rec_clusters(el, rec);
-
-               rec_end = rec_start + clusters;
-
-               if (v_cluster >= rec_start && v_cluster < rec_end) {
-                       ret = i;
-                       break;
-               }
-       }
-
-       return ret;
-}
-
 int ocfs2_get_clusters(struct inode *inode, u32 v_cluster,
                       u32 *p_cluster, u32 *num_clusters,
                       unsigned int *extent_flags)
@@ -418,6 +387,12 @@ int ocfs2_get_clusters(struct inode *inode, u32 v_cluster,
        struct ocfs2_extent_rec *rec;
        u32 coff;
 
+       if (OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL) {
+               ret = -ERANGE;
+               mlog_errno(ret);
+               goto out;
+       }
+
        ret = ocfs2_extent_map_lookup(inode, v_cluster, p_cluster,
                                      num_clusters, extent_flags);
        if (ret == 0)