Line data Source code
1 : // SPDX-License-Identifier: GPL-2.0 2 : /* 3 : * Copyright (c) 2000-2005 Silicon Graphics, Inc. 4 : * Copyright (c) 2013 Red Hat, Inc. 5 : * All Rights Reserved. 6 : */ 7 : #ifndef __XFS_SYMLINK_REMOTE_H 8 : #define __XFS_SYMLINK_REMOTE_H 9 : 10 : /* 11 : * Symlink decoding/encoding functions 12 : */ 13 : int xfs_symlink_blocks(struct xfs_mount *mp, int pathlen); 14 : int xfs_symlink_hdr_set(struct xfs_mount *mp, xfs_ino_t ino, uint32_t offset, 15 : uint32_t size, struct xfs_buf *bp); 16 : bool xfs_symlink_hdr_ok(xfs_ino_t ino, uint32_t offset, 17 : uint32_t size, struct xfs_buf *bp); 18 : void xfs_symlink_local_to_remote(struct xfs_trans *tp, struct xfs_buf *bp, 19 : struct xfs_inode *ip, struct xfs_ifork *ifp, 20 : void *priv); 21 : xfs_failaddr_t xfs_symlink_sf_verify_struct(void *sfp, int64_t size); 22 : xfs_failaddr_t xfs_symlink_shortform_verify(struct xfs_inode *ip); 23 : int xfs_symlink_remote_read(struct xfs_inode *ip, char *link); 24 : int __xfs_symlink_write_target(struct xfs_trans *tp, struct xfs_inode *ip, 25 : xfs_ino_t owner, const char *target_path, int pathlen, 26 : xfs_fsblock_t fs_blocks, uint resblks); 27 : 28 : static inline int 29 : xfs_symlink_write_target( 30 : struct xfs_trans *tp, 31 : struct xfs_inode *ip, 32 : const char *target_path, 33 : int pathlen, 34 : xfs_fsblock_t fs_blocks, 35 : uint resblks) 36 : { 37 27150221 : return __xfs_symlink_write_target(tp, ip, ip->i_ino, target_path, 38 : pathlen, fs_blocks, resblks); 39 : } 40 : int xfs_symlink_remote_truncate(struct xfs_trans *tp, struct xfs_inode *ip); 41 : 42 : #endif /* __XFS_SYMLINK_REMOTE_H */