1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
4 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
5 | */ |
6 | |
7 | #ifndef __SUPER_DOT_H__ |
8 | #define __SUPER_DOT_H__ |
9 | |
10 | #include <linux/fs.h> |
11 | #include <linux/dcache.h> |
12 | #include "incore.h" |
13 | |
14 | /* Supported fs format version range */ |
15 | #define GFS2_FS_FORMAT_MIN (1801) |
16 | #define GFS2_FS_FORMAT_MAX (1802) |
17 | |
18 | void gfs2_lm_unmount(struct gfs2_sbd *sdp); |
19 | |
20 | static inline unsigned int gfs2_jindex_size(struct gfs2_sbd *sdp) |
21 | { |
22 | unsigned int x; |
23 | spin_lock(lock: &sdp->sd_jindex_spin); |
24 | x = sdp->sd_journals; |
25 | spin_unlock(lock: &sdp->sd_jindex_spin); |
26 | return x; |
27 | } |
28 | |
29 | void gfs2_jindex_free(struct gfs2_sbd *sdp); |
30 | |
31 | struct gfs2_jdesc *gfs2_jdesc_find(struct gfs2_sbd *sdp, unsigned int jid); |
32 | int gfs2_jdesc_check(struct gfs2_jdesc *jd); |
33 | int gfs2_lookup_in_master_dir(struct gfs2_sbd *sdp, char *filename, |
34 | struct gfs2_inode **ipp); |
35 | |
36 | int gfs2_make_fs_rw(struct gfs2_sbd *sdp); |
37 | void gfs2_make_fs_ro(struct gfs2_sbd *sdp); |
38 | void gfs2_online_uevent(struct gfs2_sbd *sdp); |
39 | void gfs2_destroy_threads(struct gfs2_sbd *sdp); |
40 | int gfs2_statfs_init(struct gfs2_sbd *sdp); |
41 | void gfs2_statfs_change(struct gfs2_sbd *sdp, s64 total, s64 free, |
42 | s64 dinodes); |
43 | void gfs2_statfs_change_in(struct gfs2_statfs_change_host *sc, |
44 | const void *buf); |
45 | void gfs2_statfs_change_out(const struct gfs2_statfs_change_host *sc, |
46 | void *buf); |
47 | void update_statfs(struct gfs2_sbd *sdp, struct buffer_head *m_bh); |
48 | int gfs2_statfs_sync(struct super_block *sb, int type); |
49 | void gfs2_freeze_func(struct work_struct *work); |
50 | void gfs2_thaw_freeze_initiator(struct super_block *sb); |
51 | |
52 | void free_local_statfs_inodes(struct gfs2_sbd *sdp); |
53 | struct inode *find_local_statfs_inode(struct gfs2_sbd *sdp, |
54 | unsigned int index); |
55 | void free_sbd(struct gfs2_sbd *sdp); |
56 | |
57 | extern struct file_system_type gfs2_fs_type; |
58 | extern struct file_system_type gfs2meta_fs_type; |
59 | extern const struct export_operations gfs2_export_ops; |
60 | extern const struct super_operations gfs2_super_ops; |
61 | extern const struct dentry_operations gfs2_dops; |
62 | |
63 | extern const struct xattr_handler * const gfs2_xattr_handlers_max[]; |
64 | extern const struct xattr_handler * const *gfs2_xattr_handlers_min; |
65 | |
66 | #endif /* __SUPER_DOT_H__ */ |
67 | |
68 | |