diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-25 17:11:13 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-01-25 17:11:13 -0800 |
commit | 29bd17af7d8ffc16bb5eb286947495c166ea826e (patch) | |
tree | 5c20c44b51bdb3573949d1dc23bc3d3927d759fa /fs/ocfs2/ocfs2.h | |
parent | 2ba14a017a4ba8d2266316f481d4ad7400073d18 (diff) | |
parent | 2fe5c1d7eb88830b09c863a4b5b3279dc120f3af (diff) | |
download | linux-29bd17af7d8ffc16bb5eb286947495c166ea826e.tar.gz linux-29bd17af7d8ffc16bb5eb286947495c166ea826e.tar.bz2 linux-29bd17af7d8ffc16bb5eb286947495c166ea826e.zip |
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (31 commits)
ocfs2: clean up bh null checks
ocfs2: document access rules for blocked_lock_list
configfs: file.c fix possible recursive locking
configfs: dir.c fix possible recursive locking
configfs: Remove EXPERIMENTAL
ocfs2: bump version number
ocfs2/dlm: Clear joining_node on hearbeat node down
ocfs2: convert byte order of constant instead of variable
ocfs2: Update default cluster timeouts
ocfs2: printf fixes
ocfs2: Use generic_file_llseek
ocfs2: Safer read_inline_data()
ocfs2: Silence false lockdep warnings
[PATCH 2/2] ocfs2: cluster aware flock()
[PATCH 1/2] ocfs2: add flock lock type
ocfs2: Local alloc window size changeable via mount option
ocfs2: Support commit= mount option
ocfs2: Add missing permission checks
[PATCH 2/2] ocfs2: Implement group add for online resize
[PATCH 1/2] ocfs2: Add group extend for online resize
...
Diffstat (limited to 'fs/ocfs2/ocfs2.h')
-rw-r--r-- | fs/ocfs2/ocfs2.h | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h index 60a23e1906b0..d08480580470 100644 --- a/fs/ocfs2/ocfs2.h +++ b/fs/ocfs2/ocfs2.h @@ -101,6 +101,7 @@ enum ocfs2_unlock_action { * about to be * dropped. */ #define OCFS2_LOCK_QUEUED (0x00000100) /* queued for downconvert */ +#define OCFS2_LOCK_NOCACHE (0x00000200) /* don't use a holder count */ struct ocfs2_lock_res_ops; @@ -170,6 +171,7 @@ enum ocfs2_mount_options OCFS2_MOUNT_NOINTR = 1 << 2, /* Don't catch signals */ OCFS2_MOUNT_ERRORS_PANIC = 1 << 3, /* Panic on errors */ OCFS2_MOUNT_DATA_WRITEBACK = 1 << 4, /* No data ordering */ + OCFS2_MOUNT_LOCALFLOCKS = 1 << 5, /* No cluster aware user file locks */ }; #define OCFS2_OSB_SOFT_RO 0x0001 @@ -189,9 +191,7 @@ struct ocfs2_super struct ocfs2_slot_info *slot_info; spinlock_t node_map_lock; - struct ocfs2_node_map mounted_map; struct ocfs2_node_map recovery_map; - struct ocfs2_node_map umount_map; u64 root_blkno; u64 system_dir_blkno; @@ -231,7 +231,9 @@ struct ocfs2_super wait_queue_head_t checkpoint_event; atomic_t needs_checkpoint; struct ocfs2_journal *journal; + unsigned long osb_commit_interval; + int local_alloc_size; enum ocfs2_local_alloc_state local_alloc_state; struct buffer_head *local_alloc_bh; u64 la_last_gd; @@ -254,28 +256,21 @@ struct ocfs2_super wait_queue_head_t recovery_event; - spinlock_t vote_task_lock; - struct task_struct *vote_task; - wait_queue_head_t vote_event; - unsigned long vote_wake_sequence; - unsigned long vote_work_sequence; + spinlock_t dc_task_lock; + struct task_struct *dc_task; + wait_queue_head_t dc_event; + unsigned long dc_wake_sequence; + unsigned long dc_work_sequence; + /* + * Any thread can add locks to the list, but the downconvert + * thread is the only one allowed to remove locks. Any change + * to this rule requires updating + * ocfs2_downconvert_thread_do_work(). + */ struct list_head blocked_lock_list; unsigned long blocked_lock_count; - struct list_head vote_list; - int vote_count; - - u32 net_key; - spinlock_t net_response_lock; - unsigned int net_response_ids; - struct list_head net_response_list; - - struct o2hb_callback_func osb_hb_up; - struct o2hb_callback_func osb_hb_down; - - struct list_head osb_net_handlers; - wait_queue_head_t osb_mount_event; /* Truncate log info */ |