]> err.no Git - linux-2.6/blobdiff - fs/ocfs2/dlmglue.c
Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6
[linux-2.6] / fs / ocfs2 / dlmglue.c
index 024777abc8e32d1d97938541d38430369a342293..41c76ff2fcfbc4d725be65a4498b5fd603aa6f2c 100644 (file)
@@ -27,7 +27,6 @@
 #include <linux/slab.h>
 #include <linux/highmem.h>
 #include <linux/mm.h>
-#include <linux/smp_lock.h>
 #include <linux/crc32.h>
 #include <linux/kthread.h>
 #include <linux/pagemap.h>
@@ -601,15 +600,13 @@ static inline int ocfs2_highest_compat_lock_level(int level)
 static void lockres_set_flags(struct ocfs2_lock_res *lockres,
                              unsigned long newflags)
 {
-       struct list_head *pos, *tmp;
-       struct ocfs2_mask_waiter *mw;
+       struct ocfs2_mask_waiter *mw, *tmp;
 
        assert_spin_locked(&lockres->l_lock);
 
        lockres->l_flags = newflags;
 
-       list_for_each_safe(pos, tmp, &lockres->l_mask_waiters) {
-               mw = list_entry(pos, struct ocfs2_mask_waiter, mw_item);
+       list_for_each_entry_safe(mw, tmp, &lockres->l_mask_waiters, mw_item) {
                if ((lockres->l_flags & mw->mw_mask) != mw->mw_goal)
                        continue;
 
@@ -1485,6 +1482,7 @@ static void __ocfs2_stuff_meta_lvb(struct inode *inode)
        lvb->lvb_imtime_packed =
                cpu_to_be64(ocfs2_pack_timespec(&inode->i_mtime));
        lvb->lvb_iattr    = cpu_to_be32(oi->ip_attr);
+       lvb->lvb_idynfeatures = cpu_to_be16(oi->ip_dyn_features);
        lvb->lvb_igeneration = cpu_to_be32(inode->i_generation);
 
 out:
@@ -1518,6 +1516,7 @@ static void ocfs2_refresh_inode_from_lvb(struct inode *inode)
        i_size_write(inode, be64_to_cpu(lvb->lvb_isize));
 
        oi->ip_attr = be32_to_cpu(lvb->lvb_iattr);
+       oi->ip_dyn_features = be16_to_cpu(lvb->lvb_idynfeatures);
        ocfs2_set_inode_flags(inode);
 
        /* fast-symlinks are a special case */