for the fresh inode.  This can only be done outside a transaction, so
    if we return non-zero, we also end the transaction.  */
 int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
-                      struct inode *dir, int mode, const char *symname,
+                      struct inode *dir, umode_t mode, const char *symname,
                       /* 0 for regular, EMTRY_DIR_SIZE for dirs,
                          strlen (symname) for symlinks) */
                       loff_t i_size, struct dentry *dentry,
 
 ** outside of a transaction, so we had to pull some bits of
 ** reiserfs_new_inode out into this func.
 */
-static int new_inode_init(struct inode *inode, struct inode *dir, int mode)
+static int new_inode_init(struct inode *inode, struct inode *dir, umode_t mode)
 {
        /* Make inode invalid - just in case we are going to drop it before
         * the initialization happens */
 
 
 struct reiserfs_security_handle;
 int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
-                      struct inode *dir, int mode,
+                      struct inode *dir, umode_t mode,
                       const char *symname, loff_t i_size,
                       struct dentry *dentry, struct inode *inode,
                       struct reiserfs_security_handle *security);