aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/ext4.h
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2009-05-14 00:58:52 -0400
committerTheodore Ts'o <tytso@mit.edu>2009-05-14 00:58:52 -0400
commitc21770573319922e3f3fcb331cfaa290c49f1c81 (patch)
treeee21ebb2d73d4d3b19d7e391e7accf00704371d9 /fs/ext4/ext4.h
parent12b7ac176831df1aa58a787e67c3e5d698b30163 (diff)
ext4: Define a new set of flags for ext4_get_blocks()
The functions ext4_get_blocks(), ext4_ext_get_blocks(), and ext4_ind_get_blocks() used an ad-hoc set of integer variables used as boolean flags passed in as arguments. Use a single flags parameter and a setandard set of bitfield flags instead. This saves space on the call stack, and it also makes the code a bit more understandable. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r--fs/ext4/ext4.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index 5dc8368e46bc..17feb4ac633a 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -314,10 +314,20 @@ struct ext4_new_group_data {
314}; 314};
315 315
316/* 316/*
317 * Following is used by preallocation code to tell get_blocks() that we 317 * Flags used by ext4_get_blocks()
318 * want uninitialzed extents.
319 */ 318 */
320#define EXT4_CREATE_UNINITIALIZED_EXT 2 319 /* Allocate any needed blocks and/or convert an unitialized
320 extent to be an initialized ext4 */
321#define EXT4_GET_BLOCKS_CREATE 1
322 /* Request the creation of an unitialized extent */
323#define EXT4_GET_BLOCKS_UNINIT_EXT 2
324#define EXT4_GET_BLOCKS_CREATE_UNINIT_EXT (EXT4_GET_BLOCKS_UNINIT_EXT|\
325 EXT4_GET_BLOCKS_CREATE)
326 /* Update the ext4_inode_info i_disksize field */
327#define EXT4_GET_BLOCKS_EXTEND_DISKSIZE 4
328 /* Caller is from the delayed allocation writeout path,
329 so the filesystem blocks have already been accounted for */
330#define EXT4_GET_BLOCKS_DELALLOC_RESERVE 8
321 331
322/* 332/*
323 * ioctl commands 333 * ioctl commands
@@ -1610,8 +1620,7 @@ extern int ext4_ext_index_trans_blocks(struct inode *inode, int nrblocks,
1610 int chunk); 1620 int chunk);
1611extern int ext4_ext_get_blocks(handle_t *handle, struct inode *inode, 1621extern int ext4_ext_get_blocks(handle_t *handle, struct inode *inode,
1612 ext4_lblk_t iblock, unsigned int max_blocks, 1622 ext4_lblk_t iblock, unsigned int max_blocks,
1613 struct buffer_head *bh_result, 1623 struct buffer_head *bh_result, int flags);
1614 int create, int extend_disksize);
1615extern void ext4_ext_truncate(struct inode *); 1624extern void ext4_ext_truncate(struct inode *);
1616extern void ext4_ext_init(struct super_block *); 1625extern void ext4_ext_init(struct super_block *);
1617extern void ext4_ext_release(struct super_block *); 1626extern void ext4_ext_release(struct super_block *);
@@ -1619,8 +1628,7 @@ extern long ext4_fallocate(struct inode *inode, int mode, loff_t offset,
1619 loff_t len); 1628 loff_t len);
1620extern int ext4_get_blocks(handle_t *handle, struct inode *inode, 1629extern int ext4_get_blocks(handle_t *handle, struct inode *inode,
1621 sector_t block, unsigned int max_blocks, 1630 sector_t block, unsigned int max_blocks,
1622 struct buffer_head *bh, int create, 1631 struct buffer_head *bh, int flags);
1623 int extend_disksize, int flag);
1624extern int ext4_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, 1632extern int ext4_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
1625 __u64 start, __u64 len); 1633 __u64 start, __u64 len);
1626 1634