2008-10-30 17:06:18 +11:00
/*
* Copyright ( c ) 2000 - 2006 Silicon Graphics , Inc .
* All Rights Reserved .
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation .
*
* This program is distributed in the hope that it would be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write the Free Software Foundation ,
* Inc . , 51 Franklin St , Fifth Floor , Boston , MA 02110 - 1301 USA
*/
2008-10-30 17:06:08 +11:00
# ifndef XFS_SYNC_H
# define XFS_SYNC_H 1
2008-10-30 17:06:18 +11:00
struct xfs_mount ;
2009-02-09 08:47:34 +01:00
struct xfs_perag ;
2008-10-30 17:06:18 +11:00
2009-06-08 15:37:16 +02:00
# define SYNC_WAIT 0x0001 /* wait for i/o to complete */
# define SYNC_TRYLOCK 0x0002 /* only try to lock inodes */
2008-10-30 17:06:18 +11:00
2012-10-08 21:56:11 +11:00
int xfs_iget ( struct xfs_mount * mp , struct xfs_trans * tp , xfs_ino_t ino ,
uint flags , uint lock_flags , xfs_inode_t * * ipp ) ;
2012-10-08 21:55:59 +11:00
void xfs_reclaim_worker ( struct work_struct * work ) ;
2008-10-30 17:06:18 +11:00
2009-06-08 15:35:12 +02:00
int xfs_reclaim_inodes ( struct xfs_mount * mp , int mode ) ;
2011-07-08 14:14:46 +10:00
int xfs_reclaim_inodes_count ( struct xfs_mount * mp ) ;
void xfs_reclaim_inodes_nr ( struct xfs_mount * mp , int nr_to_scan ) ;
2008-10-30 17:37:03 +11:00
2008-10-30 17:37:26 +11:00
void xfs_inode_set_reclaim_tag ( struct xfs_inode * ip ) ;
2009-06-08 15:35:27 +02:00
2012-11-06 09:50:38 -05:00
void xfs_inode_set_eofblocks_tag ( struct xfs_inode * ip ) ;
void xfs_inode_clear_eofblocks_tag ( struct xfs_inode * ip ) ;
2012-11-07 12:21:12 -05:00
int xfs_icache_free_eofblocks ( struct xfs_mount * , struct xfs_eofblocks * ) ;
2012-11-06 09:50:47 -05:00
void xfs_eofblocks_worker ( struct work_struct * ) ;
2012-11-06 09:50:38 -05:00
2010-09-28 12:28:19 +10:00
int xfs_sync_inode_grab ( struct xfs_inode * ip ) ;
2009-06-08 15:35:27 +02:00
int xfs_inode_ag_iterator ( struct xfs_mount * mp ,
2012-11-06 09:50:39 -05:00
int ( * execute ) ( struct xfs_inode * ip , struct xfs_perag * pag ,
int flags , void * args ) ,
int flags , void * args ) ;
int xfs_inode_ag_iterator_tag ( struct xfs_mount * mp ,
int ( * execute ) ( struct xfs_inode * ip , struct xfs_perag * pag ,
int flags , void * args ) ,
int flags , void * args , int tag ) ;
2010-04-29 09:55:50 +10:00
2008-10-30 17:06:08 +11:00
# endif