Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 58d85426 authored by Jeff Mahoney's avatar Jeff Mahoney Committed by Jan Kara
Browse files

reiserfs: cleanup, remove sb argument from journal_end



journal_end doesn't need a separate sb argument; it's provided by the
transaction handle.

Signed-off-by: default avatarJeff Mahoney <jeffm@suse.com>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
parent 706a5323
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -96,7 +96,7 @@ static int reiserfs_file_release(struct inode *inode, struct file *filp)
#ifdef REISERFS_PREALLOCATE
	reiserfs_discard_prealloc(&th, inode);
#endif
	err = journal_end(&th, inode->i_sb);
	err = journal_end(&th);

	/* copy back the error code from journal_begin */
	if (!err)
@@ -227,7 +227,7 @@ int reiserfs_commit_page(struct inode *inode, struct page *page,
		}
	}
	if (logit) {
		ret = journal_end(&th, s);
		ret = journal_end(&th);
	      drop_write_lock:
		reiserfs_write_unlock(s);
	}
+15 −15
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ void reiserfs_evict_inode(struct inode *inode)
			reiserfs_write_lock_nested(inode->i_sb, depth);
		}

		if (journal_end(&th, inode->i_sb))
		if (journal_end(&th))
			goto out;

		/*
@@ -264,7 +264,7 @@ static int restart_transaction(struct reiserfs_transaction_handle *th,
		return 0;
	}
	reiserfs_update_sd(th, inode);
	err = journal_end(th, s);
	err = journal_end(th);
	if (!err) {
		err = journal_begin(th, s, JOURNAL_PER_BALANCE_CNT * 6);
		if (!err)
@@ -1790,7 +1790,7 @@ int reiserfs_write_inode(struct inode *inode, struct writeback_control *wbc)
		reiserfs_write_lock(inode->i_sb);
		if (!journal_begin(&th, inode->i_sb, jbegin_count)) {
			reiserfs_update_sd(&th, inode);
			journal_end_sync(&th, inode->i_sb);
			journal_end_sync(&th);
		}
		reiserfs_write_unlock(inode->i_sb);
	}
@@ -2097,7 +2097,7 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
	if (retval) {
		err = retval;
		reiserfs_check_path(&path_to_key);
		journal_end(th, th->t_super);
		journal_end(th);
		goto out_inserted_sd;
	}

@@ -2108,7 +2108,7 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
		if (retval) {
			err = retval;
			reiserfs_check_path(&path_to_key);
			journal_end(th, th->t_super);
			journal_end(th);
			goto out_inserted_sd;
		}
	} else if (inode->i_sb->s_flags & MS_POSIXACL) {
@@ -2125,7 +2125,7 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
		if (retval) {
			err = retval;
			reiserfs_check_path(&path_to_key);
			retval = journal_end(th, th->t_super);
			retval = journal_end(th);
			if (retval)
				err = retval;
			goto out_inserted_sd;
@@ -2147,7 +2147,7 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
	reiserfs_write_lock_nested(inode->i_sb, depth);

      out_end_trans:
	journal_end(th, th->t_super);
	journal_end(th);
	/*
	 * Drop can be outside and it needs more credits so it's better
	 * to have it outside
@@ -2317,7 +2317,7 @@ int reiserfs_truncate_file(struct inode *inode, int update_timestamps)
		 */
		add_save_link(&th, inode, 1);
	err2 = reiserfs_do_truncate(&th, inode, page, update_timestamps);
	error = journal_end(&th, inode->i_sb);
	error = journal_end(&th);
	if (error)
		goto out;

@@ -2480,7 +2480,7 @@ static int map_block_for_writepage(struct inode *inode,
      out:
	pathrelse(&path);
	if (trans_running) {
		int err = journal_end(&th, inode->i_sb);
		int err = journal_end(&th);
		if (err)
			retval = err;
		trans_running = 0;
@@ -2650,7 +2650,7 @@ static int reiserfs_write_full_page(struct page *page,
	} while ((bh = bh->b_this_page) != head);

	if (checked) {
		error = journal_end(&th, s);
		error = journal_end(&th);
		reiserfs_write_unlock(s);
		if (error)
			goto fail;
@@ -2953,7 +2953,7 @@ static int reiserfs_write_end(struct file *file, struct address_space *mapping,
		mark_inode_dirty(inode);
		reiserfs_update_sd(&myth, inode);
		update_sd = 1;
		ret = journal_end(&myth, inode->i_sb);
		ret = journal_end(&myth);
		if (ret)
			goto journal_error;
	}
@@ -3042,7 +3042,7 @@ int reiserfs_commit_write(struct file *f, struct page *page,
		mark_inode_dirty(inode);
		reiserfs_update_sd(&myth, inode);
		update_sd = 1;
		ret = journal_end(&myth, inode->i_sb);
		ret = journal_end(&myth);
		if (ret)
			goto journal_error;
	}
@@ -3346,7 +3346,7 @@ int reiserfs_setattr(struct dentry *dentry, struct iattr *attr)
				err = journal_begin(&th, inode->i_sb, 4);
				if (!err) {
					reiserfs_discard_prealloc(&th, inode);
					err = journal_end(&th, inode->i_sb);
					err = journal_end(&th);
				}
				if (err)
					error = err;
@@ -3398,7 +3398,7 @@ int reiserfs_setattr(struct dentry *dentry, struct iattr *attr)
		error = dquot_transfer(inode, attr);
		reiserfs_write_lock(inode->i_sb);
		if (error) {
			journal_end(&th, inode->i_sb);
			journal_end(&th);
			reiserfs_write_unlock(inode->i_sb);
			goto out;
		}
@@ -3412,7 +3412,7 @@ int reiserfs_setattr(struct dentry *dentry, struct iattr *attr)
		if (attr->ia_valid & ATTR_GID)
			inode->i_gid = attr->ia_gid;
		mark_inode_dirty(inode);
		error = journal_end(&th, inode->i_sb);
		error = journal_end(&th);
		reiserfs_write_unlock(inode->i_sb);
		if (error)
			goto out;
+22 −21
Original line number Diff line number Diff line
@@ -83,8 +83,7 @@
#define COMMIT_NOW  2		/* end and commit this transaction */
#define WAIT        4		/* wait for the log blocks to hit the disk */

static int do_journal_end(struct reiserfs_transaction_handle *,
			  struct super_block *, int flags);
static int do_journal_end(struct reiserfs_transaction_handle *, int flags);
static int flush_journal_list(struct super_block *s,
			      struct reiserfs_journal_list *jl, int flushall);
static int flush_commit_list(struct super_block *s,
@@ -1920,7 +1919,7 @@ static int do_journal_release(struct reiserfs_transaction_handle *th,
	if (!error && !(sb->s_flags & MS_RDONLY)) {
		/* end the current trans */
		BUG_ON(!th->t_trans_id);
		do_journal_end(th, sb, FLUSH_ALL);
		do_journal_end(th, FLUSH_ALL);

		/*
		 * make sure something gets logged to force
@@ -1932,7 +1931,7 @@ static int do_journal_release(struct reiserfs_transaction_handle *th,
						     1);
			journal_mark_dirty(&myth, sb,
					   SB_BUFFER_WITH_SB(sb));
			do_journal_end(&myth, sb, FLUSH_ALL);
			do_journal_end(&myth, FLUSH_ALL);
			flushed = 1;
		}
	}
@@ -1946,7 +1945,7 @@ static int do_journal_release(struct reiserfs_transaction_handle *th,
						     1);
			journal_mark_dirty(&myth, sb,
					   SB_BUFFER_WITH_SB(sb));
			do_journal_end(&myth, sb, FLUSH_ALL);
			do_journal_end(&myth, FLUSH_ALL);
		}
	}

@@ -3101,9 +3100,9 @@ static int do_journal_begin_r(struct reiserfs_transaction_handle *th,

		/* someone might have ended the transaction while we joined */
		if (old_trans_id != journal->j_trans_id) {
			retval = do_journal_end(&myth, sb, 0);
			retval = do_journal_end(&myth, 0);
		} else {
			retval = do_journal_end(&myth, sb, COMMIT_NOW);
			retval = do_journal_end(&myth, COMMIT_NOW);
		}

		if (retval)
@@ -3173,7 +3172,7 @@ int reiserfs_end_persistent_transaction(struct reiserfs_transaction_handle *th)
	struct super_block *s = th->t_super;
	int ret = 0;
	if (th->t_trans_id)
		ret = journal_end(th, th->t_super);
		ret = journal_end(th);
	else
		ret = -EIO;
	if (th->t_refcount == 0) {
@@ -3374,8 +3373,9 @@ int journal_mark_dirty(struct reiserfs_transaction_handle *th,
	return 0;
}

int journal_end(struct reiserfs_transaction_handle *th, struct super_block *sb)
int journal_end(struct reiserfs_transaction_handle *th)
{
	struct super_block *sb = th->t_super;
	if (!current->journal_info && th->t_refcount > 1)
		reiserfs_warning(sb, "REISER-NESTING",
				 "th NULL, refcount %d", th->t_refcount);
@@ -3402,7 +3402,7 @@ int journal_end(struct reiserfs_transaction_handle *th, struct super_block *sb)
		}
		return 0;
	} else {
		return do_journal_end(th, sb, 0);
		return do_journal_end(th, 0);
	}
}

@@ -3511,9 +3511,9 @@ static int can_dirty(struct reiserfs_journal_cnode *cn)
 * syncs the commit blocks, but does not force the real buffers to disk
 * will wait until the current transaction is done/committed before returning
 */
int journal_end_sync(struct reiserfs_transaction_handle *th,
		     struct super_block *sb)
int journal_end_sync(struct reiserfs_transaction_handle *th)
{
	struct super_block *sb = th->t_super;
	struct reiserfs_journal *journal = SB_JOURNAL(sb);

	BUG_ON(!th->t_trans_id);
@@ -3524,7 +3524,7 @@ int journal_end_sync(struct reiserfs_transaction_handle *th,
					     1);
		journal_mark_dirty(th, sb, SB_BUFFER_WITH_SB(sb));
	}
	return do_journal_end(th, sb, COMMIT_NOW | WAIT);
	return do_journal_end(th, COMMIT_NOW | WAIT);
}

/* writeback the pending async commits to disk */
@@ -3584,7 +3584,7 @@ void reiserfs_flush_old_commits(struct super_block *sb)
			 * no sense to do an async commit so that kreiserfsd
			 * can do it later
			 */
			do_journal_end(&th, sb, COMMIT_NOW | WAIT);
			do_journal_end(&th, COMMIT_NOW | WAIT);
		}
	}
}
@@ -3604,8 +3604,7 @@ void reiserfs_flush_old_commits(struct super_block *sb)
 * Note, we can't allow the journal_end to proceed while there are still
 * writers in the log.
 */
static int check_journal_end(struct reiserfs_transaction_handle *th,
			     struct super_block *sb, int flags)
static int check_journal_end(struct reiserfs_transaction_handle *th, int flags)
{

	time_t now;
@@ -3613,6 +3612,7 @@ static int check_journal_end(struct reiserfs_transaction_handle *th,
	int commit_now = flags & COMMIT_NOW;
	int wait_on_commit = flags & WAIT;
	struct reiserfs_journal_list *jl;
	struct super_block *sb = th->t_super;
	struct reiserfs_journal *journal = SB_JOURNAL(sb);

	BUG_ON(!th->t_trans_id);
@@ -3864,11 +3864,11 @@ static int __commit_trans_jl(struct inode *inode, unsigned long id,
			reiserfs_prepare_for_journal(sb, SB_BUFFER_WITH_SB(sb),
						     1);
			journal_mark_dirty(&th, sb, SB_BUFFER_WITH_SB(sb));
			ret = journal_end(&th, sb);
			ret = journal_end(&th);
			goto flush_commit_only;
		}

		ret = journal_end_sync(&th, sb);
		ret = journal_end_sync(&th);
		if (!ret)
			ret = 1;

@@ -3974,9 +3974,9 @@ int reiserfs_prepare_for_journal(struct super_block *sb,
 * If the journal is aborted, we just clean up. Things like flushing
 * journal lists, etc just won't happen.
 */
static int do_journal_end(struct reiserfs_transaction_handle *th,
			  struct super_block *sb, int flags)
static int do_journal_end(struct reiserfs_transaction_handle *th, int flags)
{
	struct super_block *sb = th->t_super;
	struct reiserfs_journal *journal = SB_JOURNAL(sb);
	struct reiserfs_journal_cnode *cn, *next, *jl_cn;
	struct reiserfs_journal_cnode *last_cn = NULL;
@@ -3998,6 +3998,7 @@ static int do_journal_end(struct reiserfs_transaction_handle *th,

	BUG_ON(th->t_refcount > 1);
	BUG_ON(!th->t_trans_id);
	BUG_ON(!th->t_super);

	/*
	 * protect flush_older_commits from doing mistakes if the
@@ -4031,7 +4032,7 @@ static int do_journal_end(struct reiserfs_transaction_handle *th,
	 * not return 1 it tells us if we should continue with the
	 * journal_end, or just return
	 */
	if (!check_journal_end(th, sb, flags)) {
	if (!check_journal_end(th, flags)) {
		reiserfs_schedule_old_flush(sb);
		wake_queued_writers(sb);
		reiserfs_async_progress_wait(sb);
+19 −19
Original line number Diff line number Diff line
@@ -672,7 +672,7 @@ static int reiserfs_create(struct inode *dir, struct dentry *dentry, umode_t mod
		int err;
		drop_nlink(inode);
		reiserfs_update_sd(&th, inode);
		err = journal_end(&th, dir->i_sb);
		err = journal_end(&th);
		if (err)
			retval = err;
		unlock_new_inode(inode);
@@ -684,7 +684,7 @@ static int reiserfs_create(struct inode *dir, struct dentry *dentry, umode_t mod

	unlock_new_inode(inode);
	d_instantiate(dentry, inode);
	retval = journal_end(&th, dir->i_sb);
	retval = journal_end(&th);

      out_failed:
	reiserfs_write_unlock(dir->i_sb);
@@ -755,7 +755,7 @@ static int reiserfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode
		int err;
		drop_nlink(inode);
		reiserfs_update_sd(&th, inode);
		err = journal_end(&th, dir->i_sb);
		err = journal_end(&th);
		if (err)
			retval = err;
		unlock_new_inode(inode);
@@ -765,7 +765,7 @@ static int reiserfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode

	unlock_new_inode(inode);
	d_instantiate(dentry, inode);
	retval = journal_end(&th, dir->i_sb);
	retval = journal_end(&th);

      out_failed:
	reiserfs_write_unlock(dir->i_sb);
@@ -847,7 +847,7 @@ static int reiserfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode
		clear_nlink(inode);
		DEC_DIR_INODE_NLINK(dir);
		reiserfs_update_sd(&th, inode);
		err = journal_end(&th, dir->i_sb);
		err = journal_end(&th);
		if (err)
			retval = err;
		unlock_new_inode(inode);
@@ -859,7 +859,7 @@ static int reiserfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode

	unlock_new_inode(inode);
	d_instantiate(dentry, inode);
	retval = journal_end(&th, dir->i_sb);
	retval = journal_end(&th);
out_failed:
	reiserfs_write_unlock(dir->i_sb);
	return retval;
@@ -956,7 +956,7 @@ static int reiserfs_rmdir(struct inode *dir, struct dentry *dentry)
	/* prevent empty directory from getting lost */
	add_save_link(&th, inode, 0 /* not truncate */ );

	retval = journal_end(&th, dir->i_sb);
	retval = journal_end(&th);
	reiserfs_check_path(&path);
      out_rmdir:
	reiserfs_write_unlock(dir->i_sb);
@@ -969,7 +969,7 @@ static int reiserfs_rmdir(struct inode *dir, struct dentry *dentry)
	 * release path if operation was not complete
	 */
	pathrelse(&path);
	err = journal_end(&th, dir->i_sb);
	err = journal_end(&th);
	reiserfs_write_unlock(dir->i_sb);
	return err ? err : retval;
}
@@ -1059,14 +1059,14 @@ static int reiserfs_unlink(struct inode *dir, struct dentry *dentry)
		/* prevent file from getting lost */
		add_save_link(&th, inode, 0 /* not truncate */ );

	retval = journal_end(&th, dir->i_sb);
	retval = journal_end(&th);
	reiserfs_check_path(&path);
	reiserfs_write_unlock(dir->i_sb);
	return retval;

      end_unlink:
	pathrelse(&path);
	err = journal_end(&th, dir->i_sb);
	err = journal_end(&th);
	reiserfs_check_path(&path);
	if (err)
		retval = err;
@@ -1153,7 +1153,7 @@ static int reiserfs_symlink(struct inode *parent_dir,
		int err;
		drop_nlink(inode);
		reiserfs_update_sd(&th, inode);
		err = journal_end(&th, parent_dir->i_sb);
		err = journal_end(&th);
		if (err)
			retval = err;
		unlock_new_inode(inode);
@@ -1163,7 +1163,7 @@ static int reiserfs_symlink(struct inode *parent_dir,

	unlock_new_inode(inode);
	d_instantiate(dentry, inode);
	retval = journal_end(&th, parent_dir->i_sb);
	retval = journal_end(&th);
      out_failed:
	reiserfs_write_unlock(parent_dir->i_sb);
	return retval;
@@ -1213,7 +1213,7 @@ static int reiserfs_link(struct dentry *old_dentry, struct inode *dir,
	if (retval) {
		int err;
		drop_nlink(inode);
		err = journal_end(&th, dir->i_sb);
		err = journal_end(&th);
		reiserfs_write_unlock(dir->i_sb);
		return err ? err : retval;
	}
@@ -1223,7 +1223,7 @@ static int reiserfs_link(struct dentry *old_dentry, struct inode *dir,

	ihold(inode);
	d_instantiate(dentry, inode);
	retval = journal_end(&th, dir->i_sb);
	retval = journal_end(&th);
	reiserfs_write_unlock(dir->i_sb);
	return retval;
}
@@ -1385,7 +1385,7 @@ static int reiserfs_rename(struct inode *old_dir, struct dentry *old_dentry,
				       "new entry is found, new inode == 0");
		}
	} else if (retval) {
		int err = journal_end(&th, old_dir->i_sb);
		int err = journal_end(&th);
		reiserfs_write_unlock(old_dir->i_sb);
		return err ? err : retval;
	}
@@ -1412,7 +1412,7 @@ static int reiserfs_rename(struct inode *old_dir, struct dentry *old_dentry,
					 &old_entry_path,
					 &old_de)) != NAME_FOUND) {
			pathrelse(&old_entry_path);
			journal_end(&th, old_dir->i_sb);
			journal_end(&th);
			reiserfs_write_unlock(old_dir->i_sb);
			return -EIO;
		}
@@ -1436,7 +1436,7 @@ static int reiserfs_rename(struct inode *old_dir, struct dentry *old_dentry,
		if (retval != NAME_FOUND_INVISIBLE && retval != NAME_FOUND) {
			pathrelse(&new_entry_path);
			pathrelse(&old_entry_path);
			journal_end(&th, old_dir->i_sb);
			journal_end(&th);
			reiserfs_write_unlock(old_dir->i_sb);
			return -EIO;
		}
@@ -1454,7 +1454,7 @@ static int reiserfs_rename(struct inode *old_dir, struct dentry *old_dentry,
				pathrelse(&dot_dot_entry_path);
				pathrelse(&new_entry_path);
				pathrelse(&old_entry_path);
				journal_end(&th, old_dir->i_sb);
				journal_end(&th);
				reiserfs_write_unlock(old_dir->i_sb);
				return -EIO;
			}
@@ -1601,7 +1601,7 @@ static int reiserfs_rename(struct inode *old_dir, struct dentry *old_dentry,
		reiserfs_update_sd(&th, new_dentry_inode);
	}

	retval = journal_end(&th, old_dir->i_sb);
	retval = journal_end(&th);
	reiserfs_write_unlock(old_dir->i_sb);
	return retval;
}
+2 −3
Original line number Diff line number Diff line
@@ -2914,9 +2914,8 @@ int journal_init(struct super_block *, const char *j_dev_name, int old_format,
int journal_release(struct reiserfs_transaction_handle *, struct super_block *);
int journal_release_error(struct reiserfs_transaction_handle *,
			  struct super_block *);
int journal_end(struct reiserfs_transaction_handle *, struct super_block *);
int journal_end_sync(struct reiserfs_transaction_handle *,
		     struct super_block *);
int journal_end(struct reiserfs_transaction_handle *);
int journal_end_sync(struct reiserfs_transaction_handle *);
int journal_mark_freed(struct reiserfs_transaction_handle *,
		       struct super_block *, b_blocknr_t blocknr);
int journal_transaction_should_end(struct reiserfs_transaction_handle *, int);
Loading