]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/reiserfs/inode.c
reiserfs: journaled xattrs
[linux-2.6-omap-h63xx.git] / fs / reiserfs / inode.c
index 95157762b1bf42105c6df2b23dd814e9e000db28..995f6975cae184f720131ad648ce640a4315fa02 100644 (file)
@@ -841,12 +841,12 @@ int reiserfs_get_block(struct inode *inode, sector_t block,
                                                          tail_offset);
                                if (retval) {
                                        if (retval != -ENOSPC)
-                                               reiserfs_warning(inode->i_sb,
-                                                        "clm-6004",
-                                                        "convert tail failed "
-                                                        "inode %lu, error %d",
-                                                                inode->i_ino,
-                                                                retval);
+                                               reiserfs_error(inode->i_sb,
+                                                       "clm-6004",
+                                                       "convert tail failed "
+                                                       "inode %lu, error %d",
+                                                       inode->i_ino,
+                                                       retval);
                                        if (allocated_block_nr) {
                                                /* the bitmap, the super, and the stat data == 3 */
                                                if (!th)
@@ -1300,8 +1300,7 @@ static void update_stat_data(struct treepath *path, struct inode *inode,
        ih = PATH_PITEM_HEAD(path);
 
        if (!is_statdata_le_ih(ih))
-               reiserfs_panic(inode->i_sb,
-                              "vs-13065: update_stat_data: key %k, found item %h",
+               reiserfs_panic(inode->i_sb, "vs-13065", "key %k, found item %h",
                               INODE_PKEY(inode), ih);
 
        if (stat_data_v1(ih)) {
@@ -1333,10 +1332,9 @@ void reiserfs_update_sd_size(struct reiserfs_transaction_handle *th,
                /* look for the object's stat data */
                retval = search_item(inode->i_sb, &key, &path);
                if (retval == IO_ERROR) {
-                       reiserfs_warning(inode->i_sb, "vs-13050",
-                                        "i/o failure occurred trying to "
-                                        "update %K stat data",
-                                        &key);
+                       reiserfs_error(inode->i_sb, "vs-13050",
+                                      "i/o failure occurred trying to "
+                                      "update %K stat data", &key);
                        return;
                }
                if (retval == ITEM_NOT_FOUND) {
@@ -1425,9 +1423,9 @@ void reiserfs_read_locked_inode(struct inode *inode,
        /* look for the object's stat data */
        retval = search_item(inode->i_sb, &key, &path_to_sd);
        if (retval == IO_ERROR) {
-               reiserfs_warning(inode->i_sb, "vs-13070",
-                                "i/o failure occurred trying to find "
-                                "stat data of %K", &key);
+               reiserfs_error(inode->i_sb, "vs-13070",
+                              "i/o failure occurred trying to find "
+                              "stat data of %K", &key);
                reiserfs_make_bad_inode(inode);
                return;
        }
@@ -1679,8 +1677,8 @@ static int reiserfs_new_directory(struct reiserfs_transaction_handle *th,
        /* look for place in the tree for new item */
        retval = search_item(sb, &key, path);
        if (retval == IO_ERROR) {
-               reiserfs_warning(sb, "vs-13080",
-                                "i/o failure occurred creating new directory");
+               reiserfs_error(sb, "vs-13080",
+                              "i/o failure occurred creating new directory");
                return -EIO;
        }
        if (retval == ITEM_FOUND) {
@@ -1719,8 +1717,8 @@ static int reiserfs_new_symlink(struct reiserfs_transaction_handle *th, struct i
        /* look for place in the tree for new item */
        retval = search_item(sb, &key, path);
        if (retval == IO_ERROR) {
-               reiserfs_warning(sb, "vs-13080",
-                                "i/o failure occurred creating new symlink");
+               reiserfs_error(sb, "vs-13080",
+                              "i/o failure occurred creating new symlink");
                return -EIO;
        }
        if (retval == ITEM_FOUND) {
@@ -1916,9 +1914,8 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
                goto out_inserted_sd;
        }
 
-       /* XXX CHECK THIS */
        if (reiserfs_posixacl(inode->i_sb)) {
-               retval = reiserfs_inherit_default_acl(dir, dentry, inode);
+               retval = reiserfs_inherit_default_acl(th, dir, dentry, inode);
                if (retval) {
                        err = retval;
                        reiserfs_check_path(&path_to_key);
@@ -1929,9 +1926,8 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
                reiserfs_warning(inode->i_sb, "jdm-13090",
                                 "ACLs aren't enabled in the fs, "
                                 "but vfs thinks they are!");
-       } else if (is_reiserfs_priv_object(dir)) {
-               reiserfs_mark_inode_private(inode);
-       }
+       } else if (IS_PRIVATE(dir))
+               inode->i_flags |= S_PRIVATE;
 
        reiserfs_update_sd(th, inode);
        reiserfs_check_path(&path_to_key);
@@ -1960,19 +1956,7 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
        inode->i_nlink = 0;
        th->t_trans_id = 0;     /* so the caller can't use this handle later */
        unlock_new_inode(inode); /* OK to do even if we hadn't locked it */
-
-       /* If we were inheriting an ACL, we need to release the lock so that
-        * iput doesn't deadlock in reiserfs_delete_xattrs. The locking
-        * code really needs to be reworked, but this will take care of it
-        * for now. -jeffm */
-#ifdef CONFIG_REISERFS_FS_POSIX_ACL
-       if (REISERFS_I(dir)->i_acl_default && !IS_ERR(REISERFS_I(dir)->i_acl_default)) {
-               reiserfs_write_unlock_xattrs(dir->i_sb);
-               iput(inode);
-               reiserfs_write_lock_xattrs(dir->i_sb);
-       } else
-#endif
-               iput(inode);
+       iput(inode);
        return err;
 }
 
@@ -2044,10 +2028,8 @@ static int grab_tail_page(struct inode *p_s_inode,
                 ** I've screwed up the code to find the buffer, or the code to
                 ** call prepare_write
                 */
-               reiserfs_warning(p_s_inode->i_sb, "clm-6000",
-                                "error reading block %lu on dev %s",
-                                bh->b_blocknr,
-                                reiserfs_bdevname(p_s_inode->i_sb));
+               reiserfs_error(p_s_inode->i_sb, "clm-6000",
+                              "error reading block %lu", bh->b_blocknr);
                error = -EIO;
                goto unlock;
        }
@@ -2089,9 +2071,9 @@ int reiserfs_truncate_file(struct inode *p_s_inode, int update_timestamps)
                        // and get_block_create_0 could not find a block to read in,
                        // which is ok.
                        if (error != -ENOENT)
-                               reiserfs_warning(p_s_inode->i_sb, "clm-6001",
-                                                "grab_tail_page failed %d",
-                                                error);
+                               reiserfs_error(p_s_inode->i_sb, "clm-6001",
+                                              "grab_tail_page failed %d",
+                                              error);
                        page = NULL;
                        bh = NULL;
                }