Commit f76d94de authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'jfs-4.2' of git://github.com/kleikamp/linux-shaggy

Pull jfs fixes from David Kleikamp:
 "A couple trivial fixes and an error path fix"

* tag 'jfs-4.2' of git://github.com/kleikamp/linux-shaggy:
  jfs: clean up jfs_rename and fix out of order unlock
  jfs: fix indentation on if statement
  jfs: removed a prohibited space after opening parenthesis
parents 3aa20508 26456955
...@@ -76,7 +76,7 @@ static int jfs_open(struct inode *inode, struct file *file) ...@@ -76,7 +76,7 @@ static int jfs_open(struct inode *inode, struct file *file)
if (ji->active_ag == -1) { if (ji->active_ag == -1) {
struct jfs_sb_info *jfs_sb = JFS_SBI(inode->i_sb); struct jfs_sb_info *jfs_sb = JFS_SBI(inode->i_sb);
ji->active_ag = BLKTOAG(addressPXD(&ji->ixpxd), jfs_sb); ji->active_ag = BLKTOAG(addressPXD(&ji->ixpxd), jfs_sb);
atomic_inc( &jfs_sb->bmap->db_active[ji->active_ag]); atomic_inc(&jfs_sb->bmap->db_active[ji->active_ag]);
} }
spin_unlock_irq(&ji->ag_lock); spin_unlock_irq(&ji->ag_lock);
} }
......
...@@ -134,11 +134,11 @@ int jfs_write_inode(struct inode *inode, struct writeback_control *wbc) ...@@ -134,11 +134,11 @@ int jfs_write_inode(struct inode *inode, struct writeback_control *wbc)
* It has been committed since the last change, but was still * It has been committed since the last change, but was still
* on the dirty inode list. * on the dirty inode list.
*/ */
if (!test_cflag(COMMIT_Dirty, inode)) { if (!test_cflag(COMMIT_Dirty, inode)) {
/* Make sure committed changes hit the disk */ /* Make sure committed changes hit the disk */
jfs_flush_journal(JFS_SBI(inode->i_sb)->log, wait); jfs_flush_journal(JFS_SBI(inode->i_sb)->log, wait);
return 0; return 0;
} }
if (jfs_commit_inode(inode, wait)) { if (jfs_commit_inode(inode, wait)) {
jfs_err("jfs_write_inode: jfs_commit_inode failed!"); jfs_err("jfs_write_inode: jfs_commit_inode failed!");
......
...@@ -1160,7 +1160,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -1160,7 +1160,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
rc = dtModify(tid, new_dir, &new_dname, &ino, rc = dtModify(tid, new_dir, &new_dname, &ino,
old_ip->i_ino, JFS_RENAME); old_ip->i_ino, JFS_RENAME);
if (rc) if (rc)
goto out4; goto out_tx;
drop_nlink(new_ip); drop_nlink(new_ip);
if (S_ISDIR(new_ip->i_mode)) { if (S_ISDIR(new_ip->i_mode)) {
drop_nlink(new_ip); drop_nlink(new_ip);
...@@ -1185,7 +1185,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -1185,7 +1185,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
if ((new_size = commitZeroLink(tid, new_ip)) < 0) { if ((new_size = commitZeroLink(tid, new_ip)) < 0) {
txAbort(tid, 1); /* Marks FS Dirty */ txAbort(tid, 1); /* Marks FS Dirty */
rc = new_size; rc = new_size;
goto out4; goto out_tx;
} }
tblk = tid_to_tblock(tid); tblk = tid_to_tblock(tid);
tblk->xflag |= COMMIT_DELETE; tblk->xflag |= COMMIT_DELETE;
...@@ -1203,7 +1203,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -1203,7 +1203,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
if (rc) { if (rc) {
jfs_err("jfs_rename didn't expect dtSearch to fail " jfs_err("jfs_rename didn't expect dtSearch to fail "
"w/rc = %d", rc); "w/rc = %d", rc);
goto out4; goto out_tx;
} }
ino = old_ip->i_ino; ino = old_ip->i_ino;
...@@ -1211,7 +1211,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -1211,7 +1211,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
if (rc) { if (rc) {
if (rc == -EIO) if (rc == -EIO)
jfs_err("jfs_rename: dtInsert returned -EIO"); jfs_err("jfs_rename: dtInsert returned -EIO");
goto out4; goto out_tx;
} }
if (S_ISDIR(old_ip->i_mode)) if (S_ISDIR(old_ip->i_mode))
inc_nlink(new_dir); inc_nlink(new_dir);
...@@ -1226,7 +1226,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -1226,7 +1226,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
jfs_err("jfs_rename did not expect dtDelete to return rc = %d", jfs_err("jfs_rename did not expect dtDelete to return rc = %d",
rc); rc);
txAbort(tid, 1); /* Marks Filesystem dirty */ txAbort(tid, 1); /* Marks Filesystem dirty */
goto out4; goto out_tx;
} }
if (S_ISDIR(old_ip->i_mode)) { if (S_ISDIR(old_ip->i_mode)) {
drop_nlink(old_dir); drop_nlink(old_dir);
...@@ -1285,7 +1285,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -1285,7 +1285,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
rc = txCommit(tid, ipcount, iplist, commit_flag); rc = txCommit(tid, ipcount, iplist, commit_flag);
out4: out_tx:
txEnd(tid); txEnd(tid);
if (new_ip) if (new_ip)
mutex_unlock(&JFS_IP(new_ip)->commit_mutex); mutex_unlock(&JFS_IP(new_ip)->commit_mutex);
...@@ -1308,13 +1308,6 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -1308,13 +1308,6 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
} }
if (new_ip && (new_ip->i_nlink == 0)) if (new_ip && (new_ip->i_nlink == 0))
set_cflag(COMMIT_Nolink, new_ip); set_cflag(COMMIT_Nolink, new_ip);
out3:
free_UCSname(&new_dname);
out2:
free_UCSname(&old_dname);
out1:
if (new_ip && !S_ISDIR(new_ip->i_mode))
IWRITE_UNLOCK(new_ip);
/* /*
* Truncating the directory index table is not guaranteed. It * Truncating the directory index table is not guaranteed. It
* may need to be done iteratively * may need to be done iteratively
...@@ -1325,7 +1318,13 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -1325,7 +1318,13 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
clear_cflag(COMMIT_Stale, old_dir); clear_cflag(COMMIT_Stale, old_dir);
} }
if (new_ip && !S_ISDIR(new_ip->i_mode))
IWRITE_UNLOCK(new_ip);
out3:
free_UCSname(&new_dname);
out2:
free_UCSname(&old_dname);
out1:
jfs_info("jfs_rename: returning %d", rc); jfs_info("jfs_rename: returning %d", rc);
return rc; return rc;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment