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)
2023-10-09 18:49:31 +02:00
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 ;
}
2023-10-09 18:49:31 +02:00
void gfs2_jindex_free ( struct gfs2_sbd * sdp ) ;
2008-12-19 15:32:06 +00:00
2023-10-09 18:49:31 +02:00
struct gfs2_jdesc * gfs2_jdesc_find ( struct gfs2_sbd * sdp , unsigned int jid ) ;
int gfs2_jdesc_check ( struct gfs2_jdesc * jd ) ;
int gfs2_lookup_in_master_dir ( struct gfs2_sbd * sdp , char * filename ,
struct gfs2_inode * * ipp ) ;
2006-01-16 16:50:04 +00:00
2023-10-09 18:49:31 +02:00
int gfs2_make_fs_rw ( struct gfs2_sbd * sdp ) ;
void gfs2_make_fs_ro ( struct gfs2_sbd * sdp ) ;
void gfs2_online_uevent ( struct gfs2_sbd * sdp ) ;
void gfs2_destroy_threads ( struct gfs2_sbd * sdp ) ;
int gfs2_statfs_init ( struct gfs2_sbd * sdp ) ;
void gfs2_statfs_change ( struct gfs2_sbd * sdp , s64 total , s64 free ,
s64 dinodes ) ;
void gfs2_statfs_change_in ( struct gfs2_statfs_change_host * sc ,
const void * buf ) ;
void gfs2_statfs_change_out ( const struct gfs2_statfs_change_host * sc ,
void * buf ) ;
void update_statfs ( struct gfs2_sbd * sdp , struct buffer_head * m_bh ) ;
int gfs2_statfs_sync ( struct super_block * sb , int type ) ;
void gfs2_freeze_func ( struct work_struct * work ) ;
void gfs2_thaw_freeze_initiator ( struct super_block * sb ) ;
2009-01-06 11:52:25 +00:00
2023-10-09 18:49:31 +02:00
void free_local_statfs_inodes ( struct gfs2_sbd * sdp ) ;
struct inode * find_local_statfs_inode ( struct gfs2_sbd * sdp ,
unsigned int index ) ;
void free_sbd ( struct gfs2_sbd * sdp ) ;
2019-05-16 22:46:30 +01:00
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
2023-09-30 02:00:16 -03:00
extern const struct xattr_handler * const gfs2_xattr_handlers_max [ ] ;
extern const struct xattr_handler * const * gfs2_xattr_handlers_min ;
2008-10-14 16:05:55 +01:00
2006-01-16 16:50:04 +00:00
# endif /* __SUPER_DOT_H__ */