1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #include <linux/fs.h> 3*4882a593Smuzhiyun #include <linux/qnx4_fs.h> 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #define QNX4_DEBUG 0 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #if QNX4_DEBUG 8*4882a593Smuzhiyun #define QNX4DEBUG(X) printk X 9*4882a593Smuzhiyun #else 10*4882a593Smuzhiyun #define QNX4DEBUG(X) (void) 0 11*4882a593Smuzhiyun #endif 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun struct qnx4_sb_info { 14*4882a593Smuzhiyun unsigned int Version; /* may be useful */ 15*4882a593Smuzhiyun struct qnx4_inode_entry *BitMap; /* useful */ 16*4882a593Smuzhiyun }; 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun struct qnx4_inode_info { 19*4882a593Smuzhiyun struct qnx4_inode_entry raw; 20*4882a593Smuzhiyun loff_t mmu_private; 21*4882a593Smuzhiyun struct inode vfs_inode; 22*4882a593Smuzhiyun }; 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun extern struct inode *qnx4_iget(struct super_block *, unsigned long); 25*4882a593Smuzhiyun extern struct dentry *qnx4_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags); 26*4882a593Smuzhiyun extern unsigned long qnx4_count_free_blocks(struct super_block *sb); 27*4882a593Smuzhiyun extern unsigned long qnx4_block_map(struct inode *inode, long iblock); 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun extern const struct inode_operations qnx4_dir_inode_operations; 30*4882a593Smuzhiyun extern const struct file_operations qnx4_dir_operations; 31*4882a593Smuzhiyun extern int qnx4_is_free(struct super_block *sb, long block); 32*4882a593Smuzhiyun qnx4_sb(struct super_block * sb)33*4882a593Smuzhiyunstatic inline struct qnx4_sb_info *qnx4_sb(struct super_block *sb) 34*4882a593Smuzhiyun { 35*4882a593Smuzhiyun return sb->s_fs_info; 36*4882a593Smuzhiyun } 37*4882a593Smuzhiyun qnx4_i(struct inode * inode)38*4882a593Smuzhiyunstatic inline struct qnx4_inode_info *qnx4_i(struct inode *inode) 39*4882a593Smuzhiyun { 40*4882a593Smuzhiyun return container_of(inode, struct qnx4_inode_info, vfs_inode); 41*4882a593Smuzhiyun } 42*4882a593Smuzhiyun qnx4_raw_inode(struct inode * inode)43*4882a593Smuzhiyunstatic inline struct qnx4_inode_entry *qnx4_raw_inode(struct inode *inode) 44*4882a593Smuzhiyun { 45*4882a593Smuzhiyun return &qnx4_i(inode)->raw; 46*4882a593Smuzhiyun } 47