Lines Matching +full:ip +full:- +full:blocks
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
4 * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved.
20 * gfs2_write_calc_reserv - calculate number of blocks needed to write to a file
21 * @ip: the file
23 * @data_blocks: returns the number of data blocks required
24 * @ind_blocks: returns the number of indirect blocks required
28 static inline void gfs2_write_calc_reserv(const struct gfs2_inode *ip, in gfs2_write_calc_reserv() argument
33 const struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode); in gfs2_write_calc_reserv()
36 BUG_ON(gfs2_is_dir(ip)); in gfs2_write_calc_reserv()
37 *data_blocks = (len >> sdp->sd_sb.sb_bsize_shift) + 3; in gfs2_write_calc_reserv()
38 *ind_blocks = 3 * (sdp->sd_max_height - 1); in gfs2_write_calc_reserv()
40 for (tmp = *data_blocks; tmp > sdp->sd_diptrs;) { in gfs2_write_calc_reserv()
41 tmp = DIV_ROUND_UP(tmp, sdp->sd_inptrs); in gfs2_write_calc_reserv()
49 int gfs2_unstuff_dinode(struct gfs2_inode *ip);
61 int gfs2_truncatei_resume(struct gfs2_inode *ip);
62 int gfs2_file_dealloc(struct gfs2_inode *ip);
63 int gfs2_write_alloc_required(struct gfs2_inode *ip, u64 offset,