162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2006-2007 Silicon Graphics, Inc.
462306a36Sopenharmony_ci * All Rights Reserved.
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci#ifndef __XFS_FILESTREAM_H__
762306a36Sopenharmony_ci#define __XFS_FILESTREAM_H__
862306a36Sopenharmony_ci
962306a36Sopenharmony_cistruct xfs_mount;
1062306a36Sopenharmony_cistruct xfs_inode;
1162306a36Sopenharmony_cistruct xfs_bmalloca;
1262306a36Sopenharmony_cistruct xfs_alloc_arg;
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciint xfs_filestream_mount(struct xfs_mount *mp);
1562306a36Sopenharmony_civoid xfs_filestream_unmount(struct xfs_mount *mp);
1662306a36Sopenharmony_civoid xfs_filestream_deassociate(struct xfs_inode *ip);
1762306a36Sopenharmony_ciint xfs_filestream_select_ag(struct xfs_bmalloca *ap,
1862306a36Sopenharmony_ci		struct xfs_alloc_arg *args, xfs_extlen_t *blen);
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_cistatic inline int
2162306a36Sopenharmony_cixfs_inode_is_filestream(
2262306a36Sopenharmony_ci	struct xfs_inode	*ip)
2362306a36Sopenharmony_ci{
2462306a36Sopenharmony_ci	return xfs_has_filestreams(ip->i_mount) ||
2562306a36Sopenharmony_ci		(ip->i_diflags & XFS_DIFLAG_FILESTREAM);
2662306a36Sopenharmony_ci}
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci#endif /* __XFS_FILESTREAM_H__ */
29