diff options
Diffstat (limited to 'fs/xfs/xfs_symlink.h')
-rw-r--r-- | fs/xfs/xfs_symlink.h | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/fs/xfs/xfs_symlink.h b/fs/xfs/xfs_symlink.h index 374394880c01..99338ba666ac 100644 --- a/fs/xfs/xfs_symlink.h +++ b/fs/xfs/xfs_symlink.h | |||
@@ -17,50 +17,11 @@ | |||
17 | #ifndef __XFS_SYMLINK_H | 17 | #ifndef __XFS_SYMLINK_H |
18 | #define __XFS_SYMLINK_H 1 | 18 | #define __XFS_SYMLINK_H 1 |
19 | 19 | ||
20 | struct xfs_mount; | 20 | /* Kernel only symlink defintions */ |
21 | struct xfs_trans; | ||
22 | struct xfs_inode; | ||
23 | struct xfs_buf; | ||
24 | struct xfs_ifork; | ||
25 | struct xfs_name; | ||
26 | |||
27 | #define XFS_SYMLINK_MAGIC 0x58534c4d /* XSLM */ | ||
28 | |||
29 | struct xfs_dsymlink_hdr { | ||
30 | __be32 sl_magic; | ||
31 | __be32 sl_offset; | ||
32 | __be32 sl_bytes; | ||
33 | __be32 sl_crc; | ||
34 | uuid_t sl_uuid; | ||
35 | __be64 sl_owner; | ||
36 | __be64 sl_blkno; | ||
37 | __be64 sl_lsn; | ||
38 | }; | ||
39 | |||
40 | /* | ||
41 | * The maximum pathlen is 1024 bytes. Since the minimum file system | ||
42 | * blocksize is 512 bytes, we can get a max of 3 extents back from | ||
43 | * bmapi when crc headers are taken into account. | ||
44 | */ | ||
45 | #define XFS_SYMLINK_MAPS 3 | ||
46 | |||
47 | #define XFS_SYMLINK_BUF_SPACE(mp, bufsize) \ | ||
48 | ((bufsize) - (xfs_sb_version_hascrc(&(mp)->m_sb) ? \ | ||
49 | sizeof(struct xfs_dsymlink_hdr) : 0)) | ||
50 | |||
51 | int xfs_symlink_blocks(struct xfs_mount *mp, int pathlen); | ||
52 | |||
53 | void xfs_symlink_local_to_remote(struct xfs_trans *tp, struct xfs_buf *bp, | ||
54 | struct xfs_inode *ip, struct xfs_ifork *ifp); | ||
55 | |||
56 | extern const struct xfs_buf_ops xfs_symlink_buf_ops; | ||
57 | |||
58 | #ifdef __KERNEL__ | ||
59 | 21 | ||
60 | int xfs_symlink(struct xfs_inode *dp, struct xfs_name *link_name, | 22 | int xfs_symlink(struct xfs_inode *dp, struct xfs_name *link_name, |
61 | const char *target_path, umode_t mode, struct xfs_inode **ipp); | 23 | const char *target_path, umode_t mode, struct xfs_inode **ipp); |
62 | int xfs_readlink(struct xfs_inode *ip, char *link); | 24 | int xfs_readlink(struct xfs_inode *ip, char *link); |
63 | int xfs_inactive_symlink(struct xfs_inode *ip, struct xfs_trans **tpp); | 25 | int xfs_inactive_symlink(struct xfs_inode *ip, struct xfs_trans **tpp); |
64 | 26 | ||
65 | #endif /* __KERNEL__ */ | ||
66 | #endif /* __XFS_SYMLINK_H */ | 27 | #endif /* __XFS_SYMLINK_H */ |