VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   32 Branches   54 Tags
b24413180f560 (Greg Kroah-Hartman 2017-11-01 15:07:57 +0100  1) /* SPDX-License-Identifier: GPL-2.0 */
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400  2) #include <linux/fs.h>
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400  3) #include <linux/qnx4_fs.h>
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400  4) 
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400  5) #define QNX4_DEBUG 0
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400  6) 
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400  7) #if QNX4_DEBUG
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400  8) #define QNX4DEBUG(X) printk X
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400  9) #else
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 10) #define QNX4DEBUG(X) (void) 0
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 11) #endif
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 12) 
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 13) struct qnx4_sb_info {
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 14) 	unsigned int		Version;	/* may be useful */
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 15) 	struct qnx4_inode_entry	*BitMap;	/* useful */
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 16) };
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 17) 
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 18) struct qnx4_inode_info {
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 19) 	struct qnx4_inode_entry raw;
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 20) 	loff_t mmu_private;
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 21) 	struct inode vfs_inode;
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 22) };
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 23) 
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 24) extern struct inode *qnx4_iget(struct super_block *, unsigned long);
00cd8dd3bf95f (Al Viro            2012-06-10 17:13:09 -0400 25) extern struct dentry *qnx4_lookup(struct inode *dir, struct dentry *dentry, unsigned int flags);
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 26) extern unsigned long qnx4_count_free_blocks(struct super_block *sb);
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 27) extern unsigned long qnx4_block_map(struct inode *inode, long iblock);
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 28) 
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 29) extern const struct inode_operations qnx4_dir_inode_operations;
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 30) extern const struct file_operations qnx4_dir_operations;
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 31) extern int qnx4_is_free(struct super_block *sb, long block);
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 32) 
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 33) static inline struct qnx4_sb_info *qnx4_sb(struct super_block *sb)
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 34) {
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 35) 	return sb->s_fs_info;
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 36) }
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 37) 
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 38) static inline struct qnx4_inode_info *qnx4_i(struct inode *inode)
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 39) {
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 40) 	return container_of(inode, struct qnx4_inode_info, vfs_inode);
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 41) }
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 42) 
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 43) static inline struct qnx4_inode_entry *qnx4_raw_inode(struct inode *inode)
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 44) {
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 45) 	return &qnx4_i(inode)->raw;
964f5369667b3 (Al Viro            2009-06-07 09:47:13 -0400 46) }