Whamcloud - gitweb
Type proposals, simplifications.
[fs/lustre-release.git] / lustre / obdfs / namei.c
index 6630079..b874135 100644 (file)
@@ -107,9 +107,9 @@ static struct page * obdfs_find_entry (struct inode * dir,
                        /* this code is executed quadratically often */
                        /* do minimal checking `by hand' */
                        int de_len;
-                       CDEBUG(D_INODE, "Entry %p len %d, page at %#lx - %#lx , offset %lx\n",
+                       /* CDEBUG(D_INODE, "Entry %p len %d, page at %#lx - %#lx , offset %lx\n",
                               de, le16_to_cpu(de->rec_len), page_address(page),
-                              page_address(page) + PAGE_SIZE, offset);
+                              page_address(page) + PAGE_SIZE, offset); */
 
                        if ((char *) de + namelen <= dlimit &&
                            ext2_match (namelen, name, de)) {
@@ -125,14 +125,13 @@ static struct page * obdfs_find_entry (struct inode * dir,
                        /* prevent looping on a bad block */
                        de_len = le16_to_cpu(de->rec_len);
                        if (de_len <= 0) {
-                               CDEBUG(D_INODE, "Bad entry: at %p len %d\n",
-                                      de, de_len);
+                               printk("Bad entry at %p len %d\n", de, de_len);
                                goto failure;
                        }
                        offset += de_len;
                        de = (struct ext2_dir_entry_2 *)
                                ((char *) de + de_len);
-                       CDEBUG(D_INODE, "Next while %lx\n", offset);
+                       /* CDEBUG(D_INODE, "Next while %lx\n", offset); */
                }
                if ( lock ) 
                        UnlockPage(page);
@@ -455,22 +454,21 @@ int obdfs_create (struct inode * dir, struct dentry * dentry, int mode)
        struct page *page;
        struct ext2_dir_entry_2 * de;
        int err = -EIO;
-       ino_t ino;
+       objid id;
 
         ENTRY;
 
        /*
         * N.B. Several error exits in ext2_new_inode don't set err.
         */
-       ino = iops(dir)->o_create(iid(dir), 0, &err);
+       err = iops(dir)->o_create(iid(dir), 0, &id);
        if ( err ) 
                return err;
-       err = -EIO;
-       inode =  iget(dir->i_sb, ino);
+       inode =  iget(dir->i_sb, (ino_t)id);
        if (!inode || !list_empty(&inode->i_dentry)) {
-               CDEBUG(D_INODE, "No inode, ino %ld\n", ino);
+               CDEBUG(D_INODE, "No inode, ino %ld\n", id);
                EXIT;
-               return err;
+               return -EIO;
        }
 
        inode->i_op = &obdfs_file_inode_operations;
@@ -506,21 +504,21 @@ int obdfs_mknod (struct inode * dir, struct dentry *dentry, int mode, int rdev)
        struct inode * inode;
        struct page *page;
        struct ext2_dir_entry_2 * de;
-       int err = -EIO;
+       int err;
 
-       ino_t ino;
+       objid id;
 
         ENTRY;
 
        /*
         * N.B. Several error exits in ext2_new_inode don't set err.
         */
-       ino = iops(dir)->o_create(iid(dir), 0, &err);
-       if ( ino == -1 ) 
-               return -1;
-       inode =  iget(dir->i_sb, ino);
-       if (!inode)
+       err = iops(dir)->o_create(iid(dir), 0, &id);
+       if ( err ) 
                return err;
+       inode =  iget(dir->i_sb, (ino_t)id);
+       if (!inode)
+               return -EIO;
 
        inode->i_uid = current->fsuid;
        init_special_inode(inode, mode, rdev);
@@ -559,7 +557,7 @@ int obdfs_mkdir(struct inode * dir, struct dentry * dentry, int mode)
        struct page *page, *inode_page;
        struct ext2_dir_entry_2 * de;
        int err;
-       ino_t ino;
+       objid id;
 
        ENTRY;
 
@@ -567,13 +565,12 @@ int obdfs_mkdir(struct inode * dir, struct dentry * dentry, int mode)
        if (dir->i_nlink >= EXT2_LINK_MAX)
                goto out;
 
-       err = -EIO;
-       ino = iops(dir)->o_create(iid(dir), 0, &err);
-       if ( ino == -1 ) 
-               return -1;
-       inode =  iget(dir->i_sb, ino);
-       if (!inode)
+       err = iops(dir)->o_create(iid(dir), 0, &id);
+       if ( err ) 
                return err;
+       inode =  iget(dir->i_sb, (ino_t)id);
+       if (!inode)
+               return -EIO;
 
 
        inode->i_op = &obdfs_dir_inode_operations;
@@ -838,18 +835,18 @@ int obdfs_symlink (struct inode * dir, struct dentry *dentry, const char * symna
        char * link;
        int i, l, err = -EIO;
        char c;
-       ino_t ino;
+       objid id;
 
         ENTRY;
        /*
         * N.B. Several error exits in ext2_new_inode don't set err.
         */
-       ino = iops(dir)->o_create(iid(dir), 0, &err);
-       if ( ino == -1 )  {
+       err = iops(dir)->o_create(iid(dir), 0, &id);
+       if ( err )  {
                EXIT;
-               return -1;
+               return err;
        }
-       inode =  iget(dir->i_sb, ino);
+       inode =  iget(dir->i_sb, (ino_t)id);
        if (!inode) {
                EXIT;
                return err;