@@ -1160,7 +1160,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
1160
1160
rc = dtModify (tid , new_dir , & new_dname , & ino ,
1161
1161
old_ip -> i_ino , JFS_RENAME );
1162
1162
if (rc )
1163
- goto out4 ;
1163
+ goto out_tx ;
1164
1164
drop_nlink (new_ip );
1165
1165
if (S_ISDIR (new_ip -> i_mode )) {
1166
1166
drop_nlink (new_ip );
@@ -1185,7 +1185,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
1185
1185
if ((new_size = commitZeroLink (tid , new_ip )) < 0 ) {
1186
1186
txAbort (tid , 1 ); /* Marks FS Dirty */
1187
1187
rc = new_size ;
1188
- goto out4 ;
1188
+ goto out_tx ;
1189
1189
}
1190
1190
tblk = tid_to_tblock (tid );
1191
1191
tblk -> xflag |= COMMIT_DELETE ;
@@ -1203,15 +1203,15 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
1203
1203
if (rc ) {
1204
1204
jfs_err ("jfs_rename didn't expect dtSearch to fail "
1205
1205
"w/rc = %d" , rc );
1206
- goto out4 ;
1206
+ goto out_tx ;
1207
1207
}
1208
1208
1209
1209
ino = old_ip -> i_ino ;
1210
1210
rc = dtInsert (tid , new_dir , & new_dname , & ino , & btstack );
1211
1211
if (rc ) {
1212
1212
if (rc == - EIO )
1213
1213
jfs_err ("jfs_rename: dtInsert returned -EIO" );
1214
- goto out4 ;
1214
+ goto out_tx ;
1215
1215
}
1216
1216
if (S_ISDIR (old_ip -> i_mode ))
1217
1217
inc_nlink (new_dir );
@@ -1226,7 +1226,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
1226
1226
jfs_err ("jfs_rename did not expect dtDelete to return rc = %d" ,
1227
1227
rc );
1228
1228
txAbort (tid , 1 ); /* Marks Filesystem dirty */
1229
- goto out4 ;
1229
+ goto out_tx ;
1230
1230
}
1231
1231
if (S_ISDIR (old_ip -> i_mode )) {
1232
1232
drop_nlink (old_dir );
@@ -1285,7 +1285,7 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
1285
1285
1286
1286
rc = txCommit (tid , ipcount , iplist , commit_flag );
1287
1287
1288
- out4 :
1288
+ out_tx :
1289
1289
txEnd (tid );
1290
1290
if (new_ip )
1291
1291
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
1308
}
1309
1309
if (new_ip && (new_ip -> i_nlink == 0 ))
1310
1310
set_cflag (COMMIT_Nolink , new_ip );
1311
- out3 :
1312
- free_UCSname (& new_dname );
1313
- out2 :
1314
- free_UCSname (& old_dname );
1315
- out1 :
1316
- if (new_ip && !S_ISDIR (new_ip -> i_mode ))
1317
- IWRITE_UNLOCK (new_ip );
1318
1311
/*
1319
1312
* Truncating the directory index table is not guaranteed. It
1320
1313
* may need to be done iteratively
@@ -1325,7 +1318,13 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry,
1325
1318
1326
1319
clear_cflag (COMMIT_Stale , old_dir );
1327
1320
}
1328
-
1321
+ if (new_ip && !S_ISDIR (new_ip -> i_mode ))
1322
+ IWRITE_UNLOCK (new_ip );
1323
+ out3 :
1324
+ free_UCSname (& new_dname );
1325
+ out2 :
1326
+ free_UCSname (& old_dname );
1327
+ out1 :
1329
1328
jfs_info ("jfs_rename: returning %d" , rc );
1330
1329
return rc ;
1331
1330
}
0 commit comments