Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
meta_io.c File Reference
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/completion.h>
#include <linux/buffer_head.h>
#include <linux/mm.h>
#include <linux/pagemap.h>
#include <linux/writeback.h>
#include <linux/swap.h>
#include <linux/delay.h>
#include <linux/bio.h>
#include <linux/gfs2_ondisk.h>
#include "gfs2.h"
#include "incore.h"
#include "glock.h"
#include "glops.h"
#include "inode.h"
#include "log.h"
#include "lops.h"
#include "meta_io.h"
#include "rgrp.h"
#include "trans.h"
#include "util.h"
#include "trace_gfs2.h"

Go to the source code of this file.

Functions

void gfs2_meta_sync (struct gfs2_glock *gl)
 
struct buffer_head * gfs2_getbuf (struct gfs2_glock *gl, u64 blkno, int create)
 
struct buffer_head * gfs2_meta_new (struct gfs2_glock *gl, u64 blkno)
 
int gfs2_meta_read (struct gfs2_glock *gl, u64 blkno, int flags, struct buffer_head **bhp)
 
int gfs2_meta_wait (struct gfs2_sbd *sdp, struct buffer_head *bh)
 
void gfs2_attach_bufdata (struct gfs2_glock *gl, struct buffer_head *bh, int meta)
 
void gfs2_remove_from_journal (struct buffer_head *bh, struct gfs2_trans *tr, int meta)
 
void gfs2_meta_wipe (struct gfs2_inode *ip, u64 bstart, u32 blen)
 
int gfs2_meta_indirect_buffer (struct gfs2_inode *ip, int height, u64 num, struct buffer_head **bhp)
 
struct buffer_head * gfs2_meta_ra (struct gfs2_glock *gl, u64 dblock, u32 extlen)
 

Variables

struct address_space_operations gfs2_meta_aops
 

Function Documentation

void gfs2_attach_bufdata ( struct gfs2_glock gl,
struct buffer_head *  bh,
int  meta 
)

gfs2_attach_bufdata - attach a struct gfs2_bufdata structure to a buffer : the glock the buffer belongs to : The buffer to be attached to : Flag to indicate whether its metadata or not

Definition at line 281 of file meta_io.c.

struct buffer_head* gfs2_getbuf ( struct gfs2_glock gl,
u64  blkno,
int  create 
)
read

gfs2_getbuf - Get a buffer with a given address space : the glock : the block number (filesystem scope) : 1 if the buffer should be created

Returns: the buffer

Definition at line 127 of file meta_io.c.

int gfs2_meta_indirect_buffer ( struct gfs2_inode ip,
int  height,
u64  num,
struct buffer_head **  bhp 
)

gfs2_meta_indirect_buffer - Get a metadata buffer : The GFS2 inode : The level of this buf in the metadata (indir addr) tree (if any) : The block number (device relative) of the buffer : the buffer is returned here

Returns: errno

Definition at line 385 of file meta_io.c.

struct buffer_head* gfs2_meta_new ( struct gfs2_glock gl,
u64  blkno 
)
read

gfs2_meta_new - Get a block : The glock associated with this block : The block number

Returns: The buffer

Definition at line 192 of file meta_io.c.

struct buffer_head* gfs2_meta_ra ( struct gfs2_glock gl,
u64  dblock,
u32  extlen 
)
read

gfs2_meta_ra - start readahead on an extent of a file : the glock the blocks belong to : the starting disk block : the number of blocks in the extent

returns: the first buffer in the extent

Definition at line 412 of file meta_io.c.

int gfs2_meta_read ( struct gfs2_glock gl,
u64  blkno,
int  flags,
struct buffer_head **  bhp 
)

gfs2_meta_read - Read a block from disk : The glock covering the block : The block number : flags : the place where the buffer is returned (NULL on failure)

Returns: errno

Definition at line 210 of file meta_io.c.

void gfs2_meta_sync ( struct gfs2_glock gl)

gfs2_meta_sync - Sync all buffers associated with a glock : The glock

Definition at line 106 of file meta_io.c.

int gfs2_meta_wait ( struct gfs2_sbd sdp,
struct buffer_head *  bh 
)

gfs2_meta_wait - Reread a block from disk : the filesystem : The block to wait for

Returns: errno

Definition at line 255 of file meta_io.c.

void gfs2_meta_wipe ( struct gfs2_inode ip,
u64  bstart,
u32  blen 
)

gfs2_meta_wipe - make inode's buffers so they aren't dirty/pinned anymore : the inode who owns the buffers : the first buffer in the run : the number of buffers in the run

Definition at line 354 of file meta_io.c.

void gfs2_remove_from_journal ( struct buffer_head *  bh,
struct gfs2_trans tr,
int  meta 
)

Definition at line 309 of file meta_io.c.

Variable Documentation

Initial value:
= {
.writepage = gfs2_aspace_writepage,
.releasepage = gfs2_releasepage,
}

Definition at line 95 of file meta_io.c.