blob: 84149ed0e3402a9a2821bdd112f67a54a9885d05 [file] [log] [blame]
Dave Chinner0b61f8a2018-06-05 19:42:14 -07001// SPDX-License-Identifier: GPL-2.0
David Chinner2a82b8b2007-07-11 11:09:12 +10002/*
3 * Copyright (c) 2006-2007 Silicon Graphics, Inc.
4 * All Rights Reserved.
David Chinner2a82b8b2007-07-11 11:09:12 +10005 */
6#ifndef __XFS_FILESTREAM_H__
7#define __XFS_FILESTREAM_H__
8
David Chinner2a82b8b2007-07-11 11:09:12 +10009struct xfs_mount;
10struct xfs_inode;
David Chinner2a82b8b2007-07-11 11:09:12 +100011struct xfs_bmalloca;
Dave Chinner8f7747a2023-02-13 09:14:55 +110012struct xfs_alloc_arg;
David Chinner2a82b8b2007-07-11 11:09:12 +100013
David Chinner2a82b8b2007-07-11 11:09:12 +100014int xfs_filestream_mount(struct xfs_mount *mp);
15void xfs_filestream_unmount(struct xfs_mount *mp);
David Chinner2a82b8b2007-07-11 11:09:12 +100016void xfs_filestream_deassociate(struct xfs_inode *ip);
Dave Chinner8f7747a2023-02-13 09:14:55 +110017int xfs_filestream_select_ag(struct xfs_bmalloca *ap,
18 struct xfs_alloc_arg *args, xfs_extlen_t *blen);
David Chinner2a82b8b2007-07-11 11:09:12 +100019
Christoph Hellwigb8f82a42009-11-14 16:17:22 +000020static inline int
David Chinner2a82b8b2007-07-11 11:09:12 +100021xfs_inode_is_filestream(
22 struct xfs_inode *ip)
23{
Dave Chinner0560f312021-08-18 18:46:52 -070024 return xfs_has_filestreams(ip->i_mount) ||
Christoph Hellwigdb073492021-03-29 11:11:44 -070025 (ip->i_diflags & XFS_DIFLAG_FILESTREAM);
David Chinner2a82b8b2007-07-11 11:09:12 +100026}
27
David Chinner2a82b8b2007-07-11 11:09:12 +100028#endif /* __XFS_FILESTREAM_H__ */