Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
fs
gfs2
trans.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
3
* Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved.
4
*
5
* This copyrighted material is made available to anyone wishing to use,
6
* modify, copy, or redistribute it subject to the terms and conditions
7
* of the GNU General Public License version 2.
8
*/
9
10
#ifndef __TRANS_DOT_H__
11
#define __TRANS_DOT_H__
12
13
#include <
linux/buffer_head.h
>
14
struct
gfs2_sbd
;
15
struct
gfs2_rgrpd
;
16
struct
gfs2_glock
;
17
18
#define RES_DINODE 1
19
#define RES_INDIRECT 1
20
#define RES_JDATA 1
21
#define RES_DATA 1
22
#define RES_LEAF 1
23
#define RES_RG_HDR 1
24
#define RES_RG_BIT 2
25
#define RES_EATTR 1
26
#define RES_STATFS 1
27
#define RES_QUOTA 2
28
29
/* reserve either the number of blocks to be allocated plus the rg header
30
* block, or all of the blocks in the rg, whichever is smaller */
31
static
inline
unsigned
int
gfs2_rg_blocks(
const
struct
gfs2_inode
*
ip
,
unsigned
requested)
32
{
33
if
(requested < ip->i_rgd->rd_length)
34
return
requested + 1;
35
return
ip->
i_rgd
->rd_length;
36
}
37
38
extern
int
gfs2_trans_begin
(
struct
gfs2_sbd
*sdp,
unsigned
int
blocks,
39
unsigned
int
revokes);
40
41
extern
void
gfs2_trans_end
(
struct
gfs2_sbd
*sdp);
42
extern
void
gfs2_trans_add_bh
(
struct
gfs2_glock
*gl,
struct
buffer_head *bh,
int
meta
);
43
extern
void
gfs2_trans_add_revoke
(
struct
gfs2_sbd
*sdp,
struct
gfs2_bufdata
*bd);
44
extern
void
gfs2_trans_add_unrevoke
(
struct
gfs2_sbd
*sdp,
u64
blkno,
unsigned
int
len);
45
46
#endif
/* __TRANS_DOT_H__ */
Generated on Thu Jan 10 2013 14:47:20 for Linux Kernel by
1.8.2