.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
---|
3 | 4 | * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved. |
---|
4 | | - * |
---|
5 | | - * This copyrighted material is made available to anyone wishing to use, |
---|
6 | | - * modify, copy, or redistribute it subject to the terms and conditions |
---|
7 | | - * of the GNU General Public License version 2. |
---|
8 | 5 | */ |
---|
9 | 6 | |
---|
10 | 7 | #ifndef __RGRP_DOT_H__ |
---|
.. | .. |
---|
18 | 15 | * By reserving 32 blocks at a time, we can optimize / shortcut how we search |
---|
19 | 16 | * through the bitmaps by looking a word at a time. |
---|
20 | 17 | */ |
---|
21 | | -#define RGRP_RSRV_MINBYTES 8 |
---|
22 | | -#define RGRP_RSRV_MINBLKS ((u32)(RGRP_RSRV_MINBYTES * GFS2_NBBY)) |
---|
| 18 | +#define RGRP_RSRV_MINBLKS 32 |
---|
23 | 19 | #define RGRP_RSRV_ADDBLKS 64 |
---|
24 | 20 | |
---|
25 | 21 | struct gfs2_rgrpd; |
---|
.. | .. |
---|
37 | 33 | extern void gfs2_free_clones(struct gfs2_rgrpd *rgd); |
---|
38 | 34 | extern int gfs2_rgrp_go_lock(struct gfs2_holder *gh); |
---|
39 | 35 | extern void gfs2_rgrp_brelse(struct gfs2_rgrpd *rgd); |
---|
40 | | -extern void gfs2_rgrp_go_unlock(struct gfs2_holder *gh); |
---|
41 | 36 | |
---|
42 | 37 | extern struct gfs2_alloc *gfs2_alloc_get(struct gfs2_inode *ip); |
---|
43 | 38 | |
---|
.. | .. |
---|
49 | 44 | extern int gfs2_alloc_blocks(struct gfs2_inode *ip, u64 *bn, unsigned int *n, |
---|
50 | 45 | bool dinode, u64 *generation); |
---|
51 | 46 | |
---|
52 | | -extern int gfs2_rsqa_alloc(struct gfs2_inode *ip); |
---|
53 | 47 | extern void gfs2_rs_deltree(struct gfs2_blkreserv *rs); |
---|
54 | | -extern void gfs2_rsqa_delete(struct gfs2_inode *ip, atomic_t *wcount); |
---|
55 | | -extern void __gfs2_free_blocks(struct gfs2_inode *ip, u64 bstart, u32 blen, int meta); |
---|
56 | | -extern void gfs2_free_meta(struct gfs2_inode *ip, u64 bstart, u32 blen); |
---|
| 48 | +extern void gfs2_rs_delete(struct gfs2_inode *ip); |
---|
| 49 | +extern void __gfs2_free_blocks(struct gfs2_inode *ip, struct gfs2_rgrpd *rgd, |
---|
| 50 | + u64 bstart, u32 blen, int meta); |
---|
| 51 | +extern void gfs2_free_meta(struct gfs2_inode *ip, struct gfs2_rgrpd *rgd, |
---|
| 52 | + u64 bstart, u32 blen); |
---|
57 | 53 | extern void gfs2_free_di(struct gfs2_rgrpd *rgd, struct gfs2_inode *ip); |
---|
58 | 54 | extern void gfs2_unlink_di(struct inode *inode); |
---|
59 | 55 | extern int gfs2_check_blk_type(struct gfs2_sbd *sdp, u64 no_addr, |
---|
.. | .. |
---|
68 | 64 | |
---|
69 | 65 | extern void gfs2_rlist_add(struct gfs2_inode *ip, struct gfs2_rgrp_list *rlist, |
---|
70 | 66 | u64 block); |
---|
71 | | -extern void gfs2_rlist_alloc(struct gfs2_rgrp_list *rlist, unsigned int state); |
---|
| 67 | +extern void gfs2_rlist_alloc(struct gfs2_rgrp_list *rlist); |
---|
72 | 68 | extern void gfs2_rlist_free(struct gfs2_rgrp_list *rlist); |
---|
73 | 69 | extern u64 gfs2_ri_total(struct gfs2_sbd *sdp); |
---|
74 | | -extern void gfs2_rgrp_dump(struct seq_file *seq, const struct gfs2_glock *gl); |
---|
| 70 | +extern void gfs2_rgrp_dump(struct seq_file *seq, struct gfs2_rgrpd *rgd, |
---|
| 71 | + const char *fs_id_buf); |
---|
75 | 72 | extern int gfs2_rgrp_send_discards(struct gfs2_sbd *sdp, u64 offset, |
---|
76 | 73 | struct buffer_head *bh, |
---|
77 | 74 | const struct gfs2_bitmap *bi, unsigned minlen, u64 *ptrimmed); |
---|