2008-09-06 00:13:11 +04:00
/*
* Copyright ( C ) 2008 Oracle . 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 v2 as published by the Free Software Foundation .
*
* This program is distributed in the hope that it will 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 to the
* Free Software Foundation , Inc . , 59 Temple Place - Suite 330 ,
* Boston , MA 021110 - 1307 , USA .
*/
# ifndef __TREE_LOG_
# define __TREE_LOG_
2009-10-13 21:21:08 +04:00
/* return value for btrfs_log_dentry_safe that means we don't need to log it at all */
# define BTRFS_NO_LOG_SYNC 256
2008-09-06 00:13:11 +04:00
int btrfs_sync_log ( struct btrfs_trans_handle * trans ,
struct btrfs_root * root ) ;
int btrfs_free_log ( struct btrfs_trans_handle * trans , struct btrfs_root * root ) ;
2010-05-16 18:49:59 +04:00
int btrfs_free_log_root_tree ( struct btrfs_trans_handle * trans ,
struct btrfs_fs_info * fs_info ) ;
2008-09-06 00:13:11 +04:00
int btrfs_recover_log_trees ( struct btrfs_root * tree_root ) ;
int btrfs_log_dentry_safe ( struct btrfs_trans_handle * trans ,
struct btrfs_root * root , struct dentry * dentry ) ;
int btrfs_del_dir_entries_in_log ( struct btrfs_trans_handle * trans ,
struct btrfs_root * root ,
const char * name , int name_len ,
struct inode * dir , u64 index ) ;
int btrfs_del_inode_ref_in_log ( struct btrfs_trans_handle * trans ,
struct btrfs_root * root ,
const char * name , int name_len ,
struct inode * inode , u64 dirid ) ;
2012-03-01 17:56:26 +04:00
void btrfs_end_log_trans ( struct btrfs_root * root ) ;
2009-03-24 17:24:20 +03:00
int btrfs_pin_log_trans ( struct btrfs_root * root ) ;
void btrfs_record_unlink_dir ( struct btrfs_trans_handle * trans ,
struct inode * dir , struct inode * inode ,
int for_rename ) ;
int btrfs_log_new_name ( struct btrfs_trans_handle * trans ,
struct inode * inode , struct inode * old_dir ,
struct dentry * parent ) ;
2008-09-06 00:13:11 +04:00
# endif