diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2008-01-28 23:58:26 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2008-01-28 23:58:26 -0500 |
commit | c14c6fd5c56a0d0495d8a7c0f2bc330be658663e (patch) | |
tree | 6ca056c1cff1103739170d7a19c66a9966c59eb2 /include/linux | |
parent | 25ec56b518257a56d2ff41a941d288e4b5ff9488 (diff) |
ext4: Add EXT4_IOC_MIGRATE ioctl
The below patch add ioctl for migrating ext3 indirect block mapped inode
to ext4 extent mapped inode.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/ext4_fs.h | 4 | ||||
-rw-r--r-- | include/linux/ext4_fs_extents.h | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/ext4_fs.h b/include/linux/ext4_fs.h index b6092940c8b8..213974f7c5d8 100644 --- a/include/linux/ext4_fs.h +++ b/include/linux/ext4_fs.h | |||
@@ -243,6 +243,7 @@ struct ext4_new_group_data { | |||
243 | #endif | 243 | #endif |
244 | #define EXT4_IOC_GETRSVSZ _IOR('f', 5, long) | 244 | #define EXT4_IOC_GETRSVSZ _IOR('f', 5, long) |
245 | #define EXT4_IOC_SETRSVSZ _IOW('f', 6, long) | 245 | #define EXT4_IOC_SETRSVSZ _IOW('f', 6, long) |
246 | #define EXT4_IOC_MIGRATE _IO('f', 7) | ||
246 | 247 | ||
247 | /* | 248 | /* |
248 | * ioctl commands in 32 bit emulation | 249 | * ioctl commands in 32 bit emulation |
@@ -983,6 +984,9 @@ extern int ext4_ioctl (struct inode *, struct file *, unsigned int, | |||
983 | unsigned long); | 984 | unsigned long); |
984 | extern long ext4_compat_ioctl (struct file *, unsigned int, unsigned long); | 985 | extern long ext4_compat_ioctl (struct file *, unsigned int, unsigned long); |
985 | 986 | ||
987 | /* migrate.c */ | ||
988 | extern int ext4_ext_migrate(struct inode *, struct file *, unsigned int, | ||
989 | unsigned long); | ||
986 | /* namei.c */ | 990 | /* namei.c */ |
987 | extern int ext4_orphan_add(handle_t *, struct inode *); | 991 | extern int ext4_orphan_add(handle_t *, struct inode *); |
988 | extern int ext4_orphan_del(handle_t *, struct inode *); | 992 | extern int ext4_orphan_del(handle_t *, struct inode *); |
diff --git a/include/linux/ext4_fs_extents.h b/include/linux/ext4_fs_extents.h index 023683b9d883..1cfb4854c964 100644 --- a/include/linux/ext4_fs_extents.h +++ b/include/linux/ext4_fs_extents.h | |||
@@ -212,6 +212,8 @@ static inline int ext4_ext_get_actual_len(struct ext4_extent *ext) | |||
212 | (le16_to_cpu(ext->ee_len) - EXT_INIT_MAX_LEN)); | 212 | (le16_to_cpu(ext->ee_len) - EXT_INIT_MAX_LEN)); |
213 | } | 213 | } |
214 | 214 | ||
215 | extern ext4_fsblk_t idx_pblock(struct ext4_extent_idx *); | ||
216 | extern void ext4_ext_store_pblock(struct ext4_extent *, ext4_fsblk_t); | ||
215 | extern int ext4_extent_tree_init(handle_t *, struct inode *); | 217 | extern int ext4_extent_tree_init(handle_t *, struct inode *); |
216 | extern int ext4_ext_calc_credits_for_insert(struct inode *, struct ext4_ext_path *); | 218 | extern int ext4_ext_calc_credits_for_insert(struct inode *, struct ext4_ext_path *); |
217 | extern int ext4_ext_try_to_merge(struct inode *inode, | 219 | extern int ext4_ext_try_to_merge(struct inode *inode, |