]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/inode.c
Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma
[karo-tx-linux.git] / fs / inode.c
index 14084b72b259cb064e9be3ee8c747ec1165a4013..f5f7c06c36fb159f89a793510c62f3f9170c3e4d 100644 (file)
@@ -798,11 +798,10 @@ static struct inode *find_inode(struct super_block *sb,
                                int (*test)(struct inode *, void *),
                                void *data)
 {
-       struct hlist_node *node;
        struct inode *inode = NULL;
 
 repeat:
-       hlist_for_each_entry(inode, node, head, i_hash) {
+       hlist_for_each_entry(inode, head, i_hash) {
                spin_lock(&inode->i_lock);
                if (inode->i_sb != sb) {
                        spin_unlock(&inode->i_lock);
@@ -830,11 +829,10 @@ repeat:
 static struct inode *find_inode_fast(struct super_block *sb,
                                struct hlist_head *head, unsigned long ino)
 {
-       struct hlist_node *node;
        struct inode *inode = NULL;
 
 repeat:
-       hlist_for_each_entry(inode, node, head, i_hash) {
+       hlist_for_each_entry(inode, head, i_hash) {
                spin_lock(&inode->i_lock);
                if (inode->i_ino != ino) {
                        spin_unlock(&inode->i_lock);
@@ -1132,11 +1130,10 @@ EXPORT_SYMBOL(iget_locked);
 static int test_inode_iunique(struct super_block *sb, unsigned long ino)
 {
        struct hlist_head *b = inode_hashtable + hash(sb, ino);
-       struct hlist_node *node;
        struct inode *inode;
 
        spin_lock(&inode_hash_lock);
-       hlist_for_each_entry(inode, node, b, i_hash) {
+       hlist_for_each_entry(inode, b, i_hash) {
                if (inode->i_ino == ino && inode->i_sb == sb) {
                        spin_unlock(&inode_hash_lock);
                        return 0;
@@ -1291,10 +1288,9 @@ int insert_inode_locked(struct inode *inode)
        struct hlist_head *head = inode_hashtable + hash(sb, ino);
 
        while (1) {
-               struct hlist_node *node;
                struct inode *old = NULL;
                spin_lock(&inode_hash_lock);
-               hlist_for_each_entry(old, node, head, i_hash) {
+               hlist_for_each_entry(old, head, i_hash) {
                        if (old->i_ino != ino)
                                continue;
                        if (old->i_sb != sb)
@@ -1306,7 +1302,7 @@ int insert_inode_locked(struct inode *inode)
                        }
                        break;
                }
-               if (likely(!node)) {
+               if (likely(!old)) {
                        spin_lock(&inode->i_lock);
                        inode->i_state |= I_NEW;
                        hlist_add_head(&inode->i_hash, head);
@@ -1334,11 +1330,10 @@ int insert_inode_locked4(struct inode *inode, unsigned long hashval,
        struct hlist_head *head = inode_hashtable + hash(sb, hashval);
 
        while (1) {
-               struct hlist_node *node;
                struct inode *old = NULL;
 
                spin_lock(&inode_hash_lock);
-               hlist_for_each_entry(old, node, head, i_hash) {
+               hlist_for_each_entry(old, head, i_hash) {
                        if (old->i_sb != sb)
                                continue;
                        if (!test(old, data))
@@ -1350,7 +1345,7 @@ int insert_inode_locked4(struct inode *inode, unsigned long hashval,
                        }
                        break;
                }
-               if (likely(!node)) {
+               if (likely(!old)) {
                        spin_lock(&inode->i_lock);
                        inode->i_state |= I_NEW;
                        hlist_add_head(&inode->i_hash, head);
@@ -1655,7 +1650,7 @@ EXPORT_SYMBOL(file_remove_suid);
 
 int file_update_time(struct file *file)
 {
-       struct inode *inode = file->f_path.dentry->d_inode;
+       struct inode *inode = file_inode(file);
        struct timespec now;
        int sync_it = 0;
        int ret;