brintos

brintos / linux-shallow public Read only

0
0
Text · 1.5 KiB · 3cd85e8 Raw
63 lines · c
1// SPDX-License-Identifier: GPL-2.02/*3 * Copyright (c) 2005 Silicon Graphics, Inc.4 * All Rights Reserved.5 */6#ifndef __XFS_EXPORT_H__7#define __XFS_EXPORT_H__8 9/*10 * Common defines for code related to exporting XFS filesystems over NFS.11 *12 * The NFS fileid goes out on the wire as an array of13 * 32bit unsigned ints in host order.  There are 5 possible14 * formats.15 *16 * (1)	fileid_type=0x0017 *	(no fileid data; handled by the generic code)18 *19 * (2)	fileid_type=0x0120 *	inode-num21 *	generation22 *23 * (3)	fileid_type=0x0224 *	inode-num25 *	generation26 *	parent-inode-num27 *	parent-generation28 *29 * (4)	fileid_type=0x8130 *	inode-num-lo3231 *	inode-num-hi3232 *	generation33 *34 * (5)	fileid_type=0x8235 *	inode-num-lo3236 *	inode-num-hi3237 *	generation38 *	parent-inode-num-lo3239 *	parent-inode-num-hi3240 *	parent-generation41 *42 * Note, the NFS filehandle also includes an fsid portion which43 * may have an inode number in it.  That number is hardcoded to44 * 32bits and there is no way for XFS to intercept it.  In45 * practice this means when exporting an XFS filesystem with 64bit46 * inodes you should either export the mountpoint (rather than47 * a subdirectory) or use the "fsid" export option.48 */49 50struct xfs_fid64 {51	u64 ino;52	u32 gen;53	u64 parent_ino;54	u32 parent_gen;55} __attribute__((packed));56 57/* This flag goes on the wire.  Don't play with it. */58#define XFS_FILEID_TYPE_64FLAG	0x80	/* NFS fileid has 64bit inodes */59 60struct inode *xfs_nfs_get_inode(struct super_block *sb, u64 ino, u32 gen);61 62#endif	/* __XFS_EXPORT_H__ */63