2019-05-31 01:09:56 -07:00
/* SPDX-License-Identifier: GPL-2.0-only */
2006-01-16 16:50:04 +00:00
/*
* Copyright ( C ) Sistina Software , Inc . 1997 - 2003 All rights reserved .
2006-05-18 15:09:15 -04:00
* Copyright ( C ) 2004 - 2006 Red Hat , Inc . All rights reserved .
2006-01-16 16:50:04 +00:00
*/
# ifndef __SUPER_DOT_H__
# define __SUPER_DOT_H__
2008-10-14 16:05:55 +01:00
# include <linux/fs.h>
# include <linux/dcache.h>
2006-09-05 10:39:21 -04:00
# include "incore.h"
2021-02-05 17:10:17 +00:00
/* Supported fs format version range */
# define GFS2_FS_FORMAT_MIN (1801)
# define GFS2_FS_FORMAT_MAX (1802)
2009-01-06 11:52:25 +00:00
extern void gfs2_lm_unmount ( struct gfs2_sbd * sdp ) ;
2006-01-16 16:50:04 +00:00
static inline unsigned int gfs2_jindex_size ( struct gfs2_sbd * sdp )
{
unsigned int x ;
spin_lock ( & sdp - > sd_jindex_spin ) ;
x = sdp - > sd_journals ;
spin_unlock ( & sdp - > sd_jindex_spin ) ;
return x ;
}
2009-07-31 11:07:29 +01:00
extern void gfs2_jindex_free ( struct gfs2_sbd * sdp ) ;
2008-12-19 15:32:06 +00:00
2009-01-06 11:52:25 +00:00
extern struct gfs2_jdesc * gfs2_jdesc_find ( struct gfs2_sbd * sdp , unsigned int jid ) ;
extern int gfs2_jdesc_check ( struct gfs2_jdesc * jd ) ;
extern int gfs2_lookup_in_master_dir ( struct gfs2_sbd * sdp , char * filename ,
struct gfs2_inode * * ipp ) ;
2006-01-16 16:50:04 +00:00
2009-01-06 11:52:25 +00:00
extern int gfs2_make_fs_rw ( struct gfs2_sbd * sdp ) ;
2021-03-04 09:28:57 -05:00
extern void gfs2_make_fs_ro ( struct gfs2_sbd * sdp ) ;
2009-07-31 11:07:29 +01:00
extern void gfs2_online_uevent ( struct gfs2_sbd * sdp ) ;
2009-01-06 11:52:25 +00:00
extern int gfs2_statfs_init ( struct gfs2_sbd * sdp ) ;
extern void gfs2_statfs_change ( struct gfs2_sbd * sdp , s64 total , s64 free ,
s64 dinodes ) ;
2009-06-25 15:09:51 -05:00
extern void gfs2_statfs_change_in ( struct gfs2_statfs_change_host * sc ,
const void * buf ) ;
2020-10-20 15:58:03 -05:00
extern void gfs2_statfs_change_out ( const struct gfs2_statfs_change_host * sc ,
void * buf ) ;
2021-06-30 11:46:17 -05:00
extern void update_statfs ( struct gfs2_sbd * sdp , struct buffer_head * m_bh ) ;
2009-09-11 14:36:44 +01:00
extern int gfs2_statfs_sync ( struct super_block * sb , int type ) ;
2014-11-13 20:42:04 -06:00
extern void gfs2_freeze_func ( struct work_struct * work ) ;
2009-01-06 11:52:25 +00:00
2020-10-20 15:58:04 -05:00
extern void free_local_statfs_inodes ( struct gfs2_sbd * sdp ) ;
extern struct inode * find_local_statfs_inode ( struct gfs2_sbd * sdp ,
unsigned int index ) ;
2019-05-16 22:46:30 +01:00
extern void free_sbd ( struct gfs2_sbd * sdp ) ;
2008-10-14 16:05:55 +01:00
extern struct file_system_type gfs2_fs_type ;
extern struct file_system_type gfs2meta_fs_type ;
extern const struct export_operations gfs2_export_ops ;
extern const struct super_operations gfs2_super_ops ;
2009-02-20 06:00:05 +00:00
extern const struct dentry_operations gfs2_dops ;
2021-02-05 17:10:18 +00:00
extern const struct xattr_handler * gfs2_xattr_handlers_max [ ] ;
extern const struct xattr_handler * * gfs2_xattr_handlers_min ;
2008-10-14 16:05:55 +01:00
2006-01-16 16:50:04 +00:00
# endif /* __SUPER_DOT_H__ */