Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
[sfrench/cifs-2.6.git] / fs / ufs / namei.c
index e84c0ecf07304f0f8222e3c438f4e1b8bb5bed34..e3a9b1fac75a2c4f6d04c94f6c22bb39d530d523 100644 (file)
 
 #include <linux/time.h>
 #include <linux/fs.h>
-#include <linux/ufs_fs.h>
 #include <linux/smp_lock.h>
-#include "swab.h"      /* will go away - see comment in mknod() */
+
+#include "ufs_fs.h"
+#include "ufs.h"
 #include "util.h"
 
 static inline int ufs_add_nondir(struct dentry *dentry, struct inode *inode)
@@ -57,10 +58,10 @@ static struct dentry *ufs_lookup(struct inode * dir, struct dentry *dentry, stru
        lock_kernel();
        ino = ufs_inode_by_name(dir, dentry);
        if (ino) {
-               inode = iget(dir->i_sb, ino);
-               if (!inode) {
+               inode = ufs_iget(dir->i_sb, ino);
+               if (IS_ERR(inode)) {
                        unlock_kernel();
-                       return ERR_PTR(-EACCES);
+                       return ERR_CAST(inode);
                }
        }
        unlock_kernel();
@@ -110,7 +111,6 @@ static int ufs_mknod (struct inode * dir, struct dentry *dentry, int mode, dev_t
        err = PTR_ERR(inode);
        if (!IS_ERR(inode)) {
                init_special_inode(inode, mode, rdev);
-               /* NOTE: that'll go when we get wide dev_t */
                ufs_set_inode_dev(inode->i_sb, UFS_I(inode), rdev);
                mark_inode_dirty(inode);
                lock_kernel();
@@ -355,7 +355,7 @@ out:
        return err;
 }
 
-struct inode_operations ufs_dir_inode_operations = {
+const struct inode_operations ufs_dir_inode_operations = {
        .create         = ufs_create,
        .lookup         = ufs_lookup,
        .link           = ufs_link,