1 Index: linux-2.6.7/fs/ext3/extents-in-ea.c
2 ===================================================================
3 --- linux-2.6.7.orig/fs/ext3/extents-in-ea.c 2004-08-13 08:58:28.000000000 +0800
4 +++ linux-2.6.7/fs/ext3/extents-in-ea.c 2004-08-13 08:58:34.000000000 +0800
10 +EXPORT_SYMBOL(ext3_init_tree_in_ea);
12 ext3_ext_in_ea_new_extent(struct ext3_extents_tree *tree,
13 struct ext3_ext_path *path,
19 +EXPORT_SYMBOL(ext3_ext_in_ea_alloc_space);
20 int ext3_ext_in_ea_remove_space(struct inode *inode, int name_index,
21 const char *eaname, unsigned long from,
28 +EXPORT_SYMBOL(ext3_ext_in_ea_remove_space);
29 int ext3_ext_in_ea_presence(struct inode *inode, int name_index,
30 const char *eaname, unsigned long block)
36 +EXPORT_SYMBOL(ext3_ext_in_ea_ioctl);
37 +int ext3_ext_in_ea_get_extents(struct inode *inode, int name_index,
38 + const char *eaname, char **buf, int *size)
40 + /*allocate the buffer and put the extents there*/
41 + struct ext3_extents_tree tree;
42 + struct ext3_extent_buf ex_buf;
44 + err = ext3_init_tree_in_ea_desc(&tree, inode, name_index, eaname);
49 + tree.private = &ex_buf;
52 + err = ext3_ext_walk_space(&tree, ex_buf.start, EXT_MAX_BLOCK,
53 + ext3_ext_store_extent_cb);
56 + ext3_release_tree_in_ea_desc(&tree);
60 +EXPORT_SYMBOL(ext3_ext_in_ea_get_extents);
61 +int ext3_ext_in_ea_get_extents_num(struct inode *inode, int name_index,
62 + const char *eaname, int *size)
64 + struct ext3_extents_tree tree;
65 + struct ext3_extent_tree_stats stats_buf;
66 + int err = 0, ext_num;
67 + /*get extents number*/
68 + err = ext3_init_tree_in_ea_desc(&tree, inode, name_index, eaname);
71 + tree.private = &stats_buf;
72 + err = ext3_ext_walk_space(&tree, 0, EXT_MAX_BLOCK,
73 + ext3_ext_collect_stats_cb);
74 + ext_num = stats_buf.extents_num;
75 + ext3_release_tree_in_ea_desc(&tree);
77 + *size = ext_num * sizeof(struct ext3_extent);
81 +EXPORT_SYMBOL(ext3_ext_in_ea_get_extents_num);
82 Index: linux-2.6.7/fs/ext3/ioctl.c
83 ===================================================================
84 --- linux-2.6.7.orig/fs/ext3/ioctl.c 2004-08-13 08:58:28.000000000 +0800
85 +++ linux-2.6.7/fs/ext3/ioctl.c 2004-08-13 08:58:34.000000000 +0800
87 #include <linux/jbd.h>
88 #include <linux/ext3_fs.h>
89 #include <linux/ext3_jbd.h>
90 +#include <linux/ext3_extents.h>
91 #include <linux/time.h>
92 #include <asm/uaccess.h>