Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
ocfs2.h File Reference
#include <linux/spinlock.h>
#include <linux/sched.h>
#include <linux/wait.h>
#include <linux/list.h>
#include <linux/rbtree.h>
#include <linux/workqueue.h>
#include <linux/kref.h>
#include <linux/mutex.h>
#include <linux/lockdep.h>
#include <linux/jbd2.h>
#include "stackglue.h"
#include "ocfs2_fs.h"
#include "ocfs2_lockid.h"
#include "ocfs2_ioctl.h"
#include "blockcheck.h"
#include "reservations.h"

Go to the source code of this file.

Data Structures

struct  ocfs2_caching_info
 
struct  ocfs2_node_map
 
struct  ocfs2_lock_res
 
struct  ocfs2_orphan_scan
 
struct  ocfs2_dlm_debug
 
struct  ocfs2_alloc_stats
 
struct  ocfs2_super
 

Macros

#define OCFS2_CACHE_INFO_MAX_ARRAY   2
 
#define OCFS2_NODE_MAP_MAX_NODES   256
 
#define OCFS2_LOCK_ATTACHED
 
#define OCFS2_LOCK_BUSY
 
#define OCFS2_LOCK_BLOCKED
 
#define OCFS2_LOCK_LOCAL   (0x00000008) /* newly created inode */
 
#define OCFS2_LOCK_NEEDS_REFRESH   (0x00000010)
 
#define OCFS2_LOCK_REFRESHING   (0x00000020)
 
#define OCFS2_LOCK_INITIALIZED
 
#define OCFS2_LOCK_FREEING
 
#define OCFS2_LOCK_QUEUED   (0x00000100) /* queued for downconvert */
 
#define OCFS2_LOCK_NOCACHE   (0x00000200) /* don't use a holder count */
 
#define OCFS2_LOCK_PENDING
 
#define OCFS2_LOCK_UPCONVERT_FINISHING
 
#define OCFS2_OSB_SOFT_RO   0x0001
 
#define OCFS2_OSB_HARD_RO   0x0002
 
#define OCFS2_OSB_ERROR_FS   0x0004
 
#define OCFS2_OSB_DROP_DENTRY_LOCK_IMMED   0x0008
 
#define OCFS2_DEFAULT_ATIME_QUANTUM   60
 
#define OCFS2_SB(sb)   ((struct ocfs2_super *)(sb)->s_fs_info)
 
#define OCFS2_IS_VALID_DINODE(ptr)   (!strcmp((ptr)->i_signature, OCFS2_INODE_SIGNATURE))
 
#define OCFS2_IS_VALID_EXTENT_BLOCK(ptr)   (!strcmp((ptr)->h_signature, OCFS2_EXTENT_BLOCK_SIGNATURE))
 
#define OCFS2_IS_VALID_GROUP_DESC(ptr)   (!strcmp((ptr)->bg_signature, OCFS2_GROUP_DESC_SIGNATURE))
 
#define OCFS2_IS_VALID_XATTR_BLOCK(ptr)   (!strcmp((ptr)->xb_signature, OCFS2_XATTR_BLOCK_SIGNATURE))
 
#define OCFS2_IS_VALID_DIR_TRAILER(ptr)   (!strcmp((ptr)->db_signature, OCFS2_DIR_TRAILER_SIGNATURE))
 
#define OCFS2_IS_VALID_DX_ROOT(ptr)   (!strcmp((ptr)->dr_signature, OCFS2_DX_ROOT_SIGNATURE))
 
#define OCFS2_IS_VALID_DX_LEAF(ptr)   (!strcmp((ptr)->dl_signature, OCFS2_DX_LEAF_SIGNATURE))
 
#define OCFS2_IS_VALID_REFCOUNT_BLOCK(ptr)   (!strcmp((ptr)->rf_signature, OCFS2_REFCOUNT_BLOCK_SIGNATURE))
 
#define ocfs2_set_bit(bit, addr)   _ocfs2_set_bit((bit), (unsigned long *)(addr))
 
#define ocfs2_clear_bit(bit, addr)   _ocfs2_clear_bit((bit), (unsigned long *)(addr))
 
#define ocfs2_test_bit   test_bit_le
 
#define ocfs2_find_next_zero_bit   find_next_zero_bit_le
 
#define ocfs2_find_next_bit   find_next_bit_le
 

Typedefs

typedef void(* ocfs2_lock_callback )(int status, unsigned long data)
 
typedef int(* ocfs2_journal_access_func )(handle_t *handle, struct ocfs2_caching_info *ci, struct buffer_head *bh, int type)
 

Enumerations

enum  ocfs2_caching_info_flags { OCFS2_CACHE_FL_INLINE = 1<<1 }
 
enum  ocfs2_ast_action { OCFS2_AST_INVALID = 0, OCFS2_AST_ATTACH, OCFS2_AST_CONVERT, OCFS2_AST_DOWNCONVERT }
 
enum  ocfs2_unlock_action { OCFS2_UNLOCK_INVALID = 0, OCFS2_UNLOCK_CANCEL_CONVERT, OCFS2_UNLOCK_DROP_LOCK }
 
enum  ocfs2_orphan_scan_state { ORPHAN_SCAN_ACTIVE, ORPHAN_SCAN_INACTIVE }
 
enum  ocfs2_vol_state {
  VOLUME_INIT = 0, VOLUME_MOUNTED, VOLUME_MOUNTED_QUOTAS, VOLUME_DISMOUNTED,
  VOLUME_DISABLED
}
 
enum  ocfs2_local_alloc_state { OCFS2_LA_UNUSED = 0, OCFS2_LA_ENABLED, OCFS2_LA_THROTTLED, OCFS2_LA_DISABLED }
 
enum  ocfs2_mount_options {
  OCFS2_MOUNT_HB_LOCAL = 1 << 0, OCFS2_MOUNT_BARRIER = 1 << 1, OCFS2_MOUNT_NOINTR = 1 << 2, OCFS2_MOUNT_ERRORS_PANIC = 1 << 3,
  OCFS2_MOUNT_DATA_WRITEBACK = 1 << 4, OCFS2_MOUNT_LOCALFLOCKS = 1 << 5, OCFS2_MOUNT_NOUSERXATTR = 1 << 6, OCFS2_MOUNT_INODE64 = 1 << 7,
  OCFS2_MOUNT_POSIX_ACL = 1 << 8, OCFS2_MOUNT_NO_POSIX_ACL = 1 << 9, OCFS2_MOUNT_USRQUOTA = 1 << 10, OCFS2_MOUNT_GRPQUOTA = 1 << 11,
  OCFS2_MOUNT_COHERENCY_BUFFERED = 1 << 12, OCFS2_MOUNT_HB_NONE = 1 << 13, OCFS2_MOUNT_HB_GLOBAL = 1 << 14
}
 

Functions

struct super_blockocfs2_metadata_cache_get_super (struct ocfs2_caching_info *ci)
 

Macro Definition Documentation

#define OCFS2_CACHE_INFO_MAX_ARRAY   2

Definition at line 59 of file ocfs2.h.

#define ocfs2_clear_bit (   bit,
  addr 
)    _ocfs2_clear_bit((bit), (unsigned long *)(addr))

Definition at line 834 of file ocfs2.h.

#define OCFS2_DEFAULT_ATIME_QUANTUM   60

Definition at line 269 of file ocfs2.h.

#define ocfs2_find_next_bit   find_next_bit_le

Definition at line 838 of file ocfs2.h.

#define ocfs2_find_next_zero_bit   find_next_zero_bit_le

Definition at line 837 of file ocfs2.h.

#define OCFS2_IS_VALID_DINODE (   ptr)    (!strcmp((ptr)->i_signature, OCFS2_INODE_SIGNATURE))

Definition at line 658 of file ocfs2.h.

#define OCFS2_IS_VALID_DIR_TRAILER (   ptr)    (!strcmp((ptr)->db_signature, OCFS2_DIR_TRAILER_SIGNATURE))

Definition at line 671 of file ocfs2.h.

#define OCFS2_IS_VALID_DX_LEAF (   ptr)    (!strcmp((ptr)->dl_signature, OCFS2_DX_LEAF_SIGNATURE))

Definition at line 677 of file ocfs2.h.

#define OCFS2_IS_VALID_DX_ROOT (   ptr)    (!strcmp((ptr)->dr_signature, OCFS2_DX_ROOT_SIGNATURE))

Definition at line 674 of file ocfs2.h.

#define OCFS2_IS_VALID_EXTENT_BLOCK (   ptr)    (!strcmp((ptr)->h_signature, OCFS2_EXTENT_BLOCK_SIGNATURE))

Definition at line 661 of file ocfs2.h.

#define OCFS2_IS_VALID_GROUP_DESC (   ptr)    (!strcmp((ptr)->bg_signature, OCFS2_GROUP_DESC_SIGNATURE))

Definition at line 664 of file ocfs2.h.

#define OCFS2_IS_VALID_REFCOUNT_BLOCK (   ptr)    (!strcmp((ptr)->rf_signature, OCFS2_REFCOUNT_BLOCK_SIGNATURE))

Definition at line 680 of file ocfs2.h.

#define OCFS2_IS_VALID_XATTR_BLOCK (   ptr)    (!strcmp((ptr)->xb_signature, OCFS2_XATTR_BLOCK_SIGNATURE))

Definition at line 668 of file ocfs2.h.

#define OCFS2_LOCK_ATTACHED
Value:
(0x00000001) /* we have initialized
* the lvb */

Definition at line 120 of file ocfs2.h.

#define OCFS2_LOCK_BLOCKED
Value:
(0x00000004) /* blocked waiting to
* downconvert*/

Definition at line 122 of file ocfs2.h.

#define OCFS2_LOCK_BUSY
Value:
(0x00000002) /* we are currently in
* dlm_lock */

Definition at line 121 of file ocfs2.h.

#define OCFS2_LOCK_FREEING
Value:
(0x00000080) /* help dlmglue track
* when to skip queueing
* a lock because it's
* about to be
* dropped. */

Definition at line 127 of file ocfs2.h.

#define OCFS2_LOCK_INITIALIZED
Value:
(0x00000040) /* track initialization
* for shutdown paths */

Definition at line 126 of file ocfs2.h.

#define OCFS2_LOCK_LOCAL   (0x00000008) /* newly created inode */

Definition at line 123 of file ocfs2.h.

#define OCFS2_LOCK_NEEDS_REFRESH   (0x00000010)

Definition at line 124 of file ocfs2.h.

#define OCFS2_LOCK_NOCACHE   (0x00000200) /* don't use a holder count */

Definition at line 129 of file ocfs2.h.

#define OCFS2_LOCK_PENDING
Value:
(0x00000400) /* This lockres is pending a
call to dlm_lock. Only
exists with BUSY set. */

Definition at line 130 of file ocfs2.h.

#define OCFS2_LOCK_QUEUED   (0x00000100) /* queued for downconvert */

Definition at line 128 of file ocfs2.h.

#define OCFS2_LOCK_REFRESHING   (0x00000020)

Definition at line 125 of file ocfs2.h.

#define OCFS2_LOCK_UPCONVERT_FINISHING
Value:
(0x00000800) /* blocks the dc thread
* from downconverting
* before the upconvert
* has completed */

Definition at line 131 of file ocfs2.h.

#define OCFS2_NODE_MAP_MAX_NODES   256

Definition at line 99 of file ocfs2.h.

#define OCFS2_OSB_DROP_DENTRY_LOCK_IMMED   0x0008

Definition at line 267 of file ocfs2.h.

#define OCFS2_OSB_ERROR_FS   0x0004

Definition at line 266 of file ocfs2.h.

#define OCFS2_OSB_HARD_RO   0x0002

Definition at line 265 of file ocfs2.h.

#define OCFS2_OSB_SOFT_RO   0x0001

Definition at line 264 of file ocfs2.h.

#define OCFS2_SB (   sb)    ((struct ocfs2_super *)(sb)->s_fs_info)

Definition at line 441 of file ocfs2.h.

#define ocfs2_set_bit (   bit,
  addr 
)    _ocfs2_set_bit((bit), (unsigned long *)(addr))

Definition at line 828 of file ocfs2.h.

#define ocfs2_test_bit   test_bit_le

Definition at line 836 of file ocfs2.h.

Typedef Documentation

typedef int(* ocfs2_journal_access_func)(handle_t *handle, struct ocfs2_caching_info *ci, struct buffer_head *bh, int type)

Definition at line 444 of file ocfs2.h.

typedef void(* ocfs2_lock_callback)(int status, unsigned long data)

Definition at line 135 of file ocfs2.h.

Enumeration Type Documentation

Enumerator:
OCFS2_AST_INVALID 
OCFS2_AST_ATTACH 
OCFS2_AST_CONVERT 
OCFS2_AST_DOWNCONVERT 

Definition at line 105 of file ocfs2.h.

Enumerator:
OCFS2_CACHE_FL_INLINE 

Definition at line 63 of file ocfs2.h.

Enumerator:
OCFS2_LA_UNUSED 
OCFS2_LA_ENABLED 
OCFS2_LA_THROTTLED 
OCFS2_LA_DISABLED 

Definition at line 232 of file ocfs2.h.

Enumerator:
OCFS2_MOUNT_HB_LOCAL 
OCFS2_MOUNT_BARRIER 
OCFS2_MOUNT_NOINTR 
OCFS2_MOUNT_ERRORS_PANIC 
OCFS2_MOUNT_DATA_WRITEBACK 
OCFS2_MOUNT_LOCALFLOCKS 
OCFS2_MOUNT_NOUSERXATTR 
OCFS2_MOUNT_INODE64 
OCFS2_MOUNT_POSIX_ACL 
OCFS2_MOUNT_NO_POSIX_ACL 
OCFS2_MOUNT_USRQUOTA 
OCFS2_MOUNT_GRPQUOTA 
OCFS2_MOUNT_COHERENCY_BUFFERED 
OCFS2_MOUNT_HB_NONE 
OCFS2_MOUNT_HB_GLOBAL 

Definition at line 243 of file ocfs2.h.

Enumerator:
ORPHAN_SCAN_ACTIVE 
ORPHAN_SCAN_INACTIVE 

Definition at line 192 of file ocfs2.h.

Enumerator:
OCFS2_UNLOCK_INVALID 
OCFS2_UNLOCK_CANCEL_CONVERT 
OCFS2_UNLOCK_DROP_LOCK 

Definition at line 113 of file ocfs2.h.

Enumerator:
VOLUME_INIT 
VOLUME_MOUNTED 
VOLUME_MOUNTED_QUOTAS 
VOLUME_DISMOUNTED 
VOLUME_DISABLED 

Definition at line 214 of file ocfs2.h.

Function Documentation

struct super_block* ocfs2_metadata_cache_get_super ( struct ocfs2_caching_info ci)
read

Definition at line 79 of file uptodate.c.