]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/ocfs2/ocfs2.h
Merge branch 'locks-3.15' of git://git.samba.org/jlayton/linux
[karo-tx-linux.git] / fs / ocfs2 / ocfs2.h
index 553f53cc73ae532f7bad618b17f566ecba6bb690..8d64a97a9d5e509b0109e94b1b5e01b41669a8e8 100644 (file)
@@ -30,6 +30,7 @@
 #include <linux/sched.h>
 #include <linux/wait.h>
 #include <linux/list.h>
+#include <linux/llist.h>
 #include <linux/rbtree.h>
 #include <linux/workqueue.h>
 #include <linux/kref.h>
@@ -274,19 +275,16 @@ enum ocfs2_mount_options
        OCFS2_MOUNT_HB_GLOBAL = 1 << 14, /* Global heartbeat */
 };
 
-#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_OSB_SOFT_RO      0x0001
+#define OCFS2_OSB_HARD_RO      0x0002
+#define OCFS2_OSB_ERROR_FS     0x0004
+#define OCFS2_DEFAULT_ATIME_QUANTUM    60
 
 struct ocfs2_journal;
 struct ocfs2_slot_info;
 struct ocfs2_recovery_map;
 struct ocfs2_replay_map;
 struct ocfs2_quota_recovery;
-struct ocfs2_dentry_lock;
 struct ocfs2_super
 {
        struct task_struct *commit_task;
@@ -414,10 +412,9 @@ struct ocfs2_super
        struct list_head blocked_lock_list;
        unsigned long blocked_lock_count;
 
-       /* List of dentry locks to release. Anyone can add locks to
-        * the list, ocfs2_wq processes the list  */
-       struct ocfs2_dentry_lock *dentry_lock_list;
-       struct work_struct dentry_lock_work;
+       /* List of dquot structures to drop last reference to */
+       struct llist_head dquot_drop_list;
+       struct work_struct dquot_drop_work;
 
        wait_queue_head_t               osb_mount_event;
 
@@ -449,6 +446,8 @@ struct ocfs2_super
        /* rb tree root for refcount lock. */
        struct rb_root  osb_rf_lock_tree;
        struct ocfs2_refcount_tree *osb_ref_tree_lru;
+
+       struct mutex system_file_mutex;
 };
 
 #define OCFS2_SB(sb)       ((struct ocfs2_super *)(sb)->s_fs_info)
@@ -579,18 +578,6 @@ static inline void ocfs2_set_osb_flag(struct ocfs2_super *osb,
        spin_unlock(&osb->osb_lock);
 }
 
-
-static inline unsigned long  ocfs2_test_osb_flag(struct ocfs2_super *osb,
-                                                unsigned long flag)
-{
-       unsigned long ret;
-
-       spin_lock(&osb->osb_lock);
-       ret = osb->osb_flags & flag;
-       spin_unlock(&osb->osb_lock);
-       return ret;
-}
-
 static inline void ocfs2_set_ro_flag(struct ocfs2_super *osb,
                                     int hard)
 {