Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
refcounttree.c File Reference
#include <linux/sort.h>
#include <cluster/masklog.h>
#include "ocfs2.h"
#include "inode.h"
#include "alloc.h"
#include "suballoc.h"
#include "journal.h"
#include "uptodate.h"
#include "super.h"
#include "buffer_head_io.h"
#include "blockcheck.h"
#include "refcounttree.h"
#include "sysfile.h"
#include "dlmglue.h"
#include "extent_map.h"
#include "aops.h"
#include "xattr.h"
#include "namei.h"
#include "ocfs2_trace.h"
#include <linux/bio.h>
#include <linux/blkdev.h>
#include <linux/slab.h>
#include <linux/writeback.h>
#include <linux/pagevec.h>
#include <linux/swap.h>
#include <linux/security.h>
#include <linux/fsnotify.h>
#include <linux/quotaops.h>
#include <linux/namei.h>
#include <linux/mount.h>

Go to the source code of this file.

Data Structures

struct  ocfs2_cow_context
 

Macros

#define MAX_CONTIG_BYTES   1048576
 

Enumerations

enum  ocfs2_ref_rec_contig { REF_CONTIG_NONE = 0, REF_CONTIG_LEFT, REF_CONTIG_RIGHT, REF_CONTIG_LEFTRIGHT }
 

Functions

int ocfs2_lock_refcount_tree (struct ocfs2_super *osb, u64 ref_blkno, int rw, struct ocfs2_refcount_tree **ret_tree, struct buffer_head **ref_bh)
 
void ocfs2_unlock_refcount_tree (struct ocfs2_super *osb, struct ocfs2_refcount_tree *tree, int rw)
 
void ocfs2_purge_refcount_trees (struct ocfs2_super *osb)
 
int ocfs2_remove_refcount_tree (struct inode *inode, struct buffer_head *di_bh)
 
int ocfs2_try_remove_refcount_tree (struct inode *inode, struct buffer_head *di_bh)
 
int ocfs2_increase_refcount (handle_t *handle, struct ocfs2_caching_info *ci, struct buffer_head *ref_root_bh, u64 cpos, u32 len, struct ocfs2_alloc_context *meta_ac, struct ocfs2_cached_dealloc_ctxt *dealloc)
 
int ocfs2_decrease_refcount (struct inode *inode, handle_t *handle, u32 cpos, u32 len, struct ocfs2_alloc_context *meta_ac, struct ocfs2_cached_dealloc_ctxt *dealloc, int delete)
 
int ocfs2_prepare_refcount_change_for_del (struct inode *inode, u64 refcount_loc, u64 phys_blkno, u32 clusters, int *credits, int *ref_blocks)
 
int ocfs2_duplicate_clusters_by_page (handle_t *handle, struct file *file, u32 cpos, u32 old_cluster, u32 new_cluster, u32 new_len)
 
int ocfs2_duplicate_clusters_by_jbd (handle_t *handle, struct file *file, u32 cpos, u32 old_cluster, u32 new_cluster, u32 new_len)
 
int ocfs2_cow_sync_writeback (struct super_block *sb, struct inode *inode, u32 cpos, u32 num_clusters)
 
int ocfs2_refcount_cow (struct inode *inode, struct file *file, struct buffer_head *di_bh, u32 cpos, u32 write_len, u32 max_cpos)
 
int ocfs2_refcounted_xattr_delete_need (struct inode *inode, struct ocfs2_caching_info *ref_ci, struct buffer_head *ref_root_bh, struct ocfs2_xattr_value_root *xv, int *meta_add, int *credits)
 
int ocfs2_refcount_cow_xattr (struct inode *inode, struct ocfs2_dinode *di, struct ocfs2_xattr_value_buf *vb, struct ocfs2_refcount_tree *ref_tree, struct buffer_head *ref_root_bh, u32 cpos, u32 write_len, struct ocfs2_post_refcount *post)
 
int ocfs2_add_refcount_flag (struct inode *inode, struct ocfs2_extent_tree *data_et, struct ocfs2_caching_info *ref_ci, struct buffer_head *ref_root_bh, u32 cpos, u32 p_cluster, u32 num_clusters, struct ocfs2_cached_dealloc_ctxt *dealloc, struct ocfs2_post_refcount *post)
 
int ocfs2_reflink_ioctl (struct inode *inode, const char __user *oldname, const char __user *newname, bool preserve)
 

Macro Definition Documentation

#define MAX_CONTIG_BYTES   1048576

Definition at line 2589 of file refcounttree.c.

Enumeration Type Documentation

Enumerator:
REF_CONTIG_NONE 
REF_CONTIG_LEFT 
REF_CONTIG_RIGHT 
REF_CONTIG_LEFTRIGHT 

Definition at line 1147 of file refcounttree.c.

Function Documentation

int ocfs2_add_refcount_flag ( struct inode inode,
struct ocfs2_extent_tree data_et,
struct ocfs2_caching_info ref_ci,
struct buffer_head *  ref_root_bh,
u32  cpos,
u32  p_cluster,
u32  num_clusters,
struct ocfs2_cached_dealloc_ctxt dealloc,
struct ocfs2_post_refcount post 
)

Definition at line 3735 of file refcounttree.c.

int ocfs2_cow_sync_writeback ( struct super_block sb,
struct inode inode,
u32  cpos,
u32  num_clusters 
)

Definition at line 3165 of file refcounttree.c.

int ocfs2_decrease_refcount ( struct inode inode,
handle_t *  handle,
u32  cpos,
u32  len,
struct ocfs2_alloc_context meta_ac,
struct ocfs2_cached_dealloc_ctxt dealloc,
int  delete 
)

Definition at line 2296 of file refcounttree.c.

int ocfs2_duplicate_clusters_by_jbd ( handle_t *  handle,
struct file file,
u32  cpos,
u32  old_cluster,
u32  new_cluster,
u32  new_len 
)

Definition at line 3017 of file refcounttree.c.

int ocfs2_duplicate_clusters_by_page ( handle_t *  handle,
struct file file,
u32  cpos,
u32  old_cluster,
u32  new_cluster,
u32  new_len 
)

Definition at line 2924 of file refcounttree.c.

int ocfs2_increase_refcount ( handle_t *  handle,
struct ocfs2_caching_info ci,
struct buffer_head *  ref_root_bh,
u64  cpos,
u32  len,
struct ocfs2_alloc_context meta_ac,
struct ocfs2_cached_dealloc_ctxt dealloc 
)

Definition at line 2162 of file refcounttree.c.

int ocfs2_lock_refcount_tree ( struct ocfs2_super osb,
u64  ref_blkno,
int  rw,
struct ocfs2_refcount_tree **  ret_tree,
struct buffer_head **  ref_bh 
)

Definition at line 452 of file refcounttree.c.

int ocfs2_prepare_refcount_change_for_del ( struct inode inode,
u64  refcount_loc,
u64  phys_blkno,
u32  clusters,
int credits,
int ref_blocks 
)

Definition at line 2535 of file refcounttree.c.

void ocfs2_purge_refcount_trees ( struct ocfs2_super osb)

Definition at line 538 of file refcounttree.c.

int ocfs2_refcount_cow ( struct inode inode,
struct file file,
struct buffer_head *  di_bh,
u32  cpos,
u32  write_len,
u32  max_cpos 
)

Definition at line 3534 of file refcounttree.c.

int ocfs2_refcount_cow_xattr ( struct inode inode,
struct ocfs2_dinode di,
struct ocfs2_xattr_value_buf vb,
struct ocfs2_refcount_tree ref_tree,
struct buffer_head *  ref_root_bh,
u32  cpos,
u32  write_len,
struct ocfs2_post_refcount post 
)

Definition at line 3672 of file refcounttree.c.

int ocfs2_refcounted_xattr_delete_need ( struct inode inode,
struct ocfs2_caching_info ref_ci,
struct buffer_head *  ref_root_bh,
struct ocfs2_xattr_value_root xv,
int meta_add,
int credits 
)

Definition at line 3587 of file refcounttree.c.

int ocfs2_reflink_ioctl ( struct inode inode,
const char __user oldname,
const char __user newname,
bool  preserve 
)

Definition at line 4438 of file refcounttree.c.

int ocfs2_remove_refcount_tree ( struct inode inode,
struct buffer_head *  di_bh 
)

Definition at line 759 of file refcounttree.c.

int ocfs2_try_remove_refcount_tree ( struct inode inode,
struct buffer_head *  di_bh 
)

Definition at line 928 of file refcounttree.c.

void ocfs2_unlock_refcount_tree ( struct ocfs2_super osb,
struct ocfs2_refcount_tree tree,
int  rw 
)

Definition at line 526 of file refcounttree.c.