···29442944 * Inode is being freed29452945 */29462946 list_del_init(&jfs_ip->anon_inode_list);29472947- } else if (! !mutex_trylock(&jfs_ip->commit_mutex)) {29472947+ } else if (mutex_trylock(&jfs_ip->commit_mutex)) {29482948 /*29492949 * inode will be removed from anonymous list29502950 * when it is committed
+16-17
fs/jfs/namei.c
···165165166166 out3:167167 txEnd(tid);168168- mutex_unlock(&JFS_IP(dip)->commit_mutex);169168 mutex_unlock(&JFS_IP(ip)->commit_mutex);169169+ mutex_unlock(&JFS_IP(dip)->commit_mutex);170170 if (rc) {171171 free_ea_wmap(ip);172172 ip->i_nlink = 0;···300300301301 out3:302302 txEnd(tid);303303- mutex_unlock(&JFS_IP(dip)->commit_mutex);304303 mutex_unlock(&JFS_IP(ip)->commit_mutex);304304+ mutex_unlock(&JFS_IP(dip)->commit_mutex);305305 if (rc) {306306 free_ea_wmap(ip);307307 ip->i_nlink = 0;···384384 if (rc == -EIO)385385 txAbort(tid, 1);386386 txEnd(tid);387387- mutex_unlock(&JFS_IP(dip)->commit_mutex);388387 mutex_unlock(&JFS_IP(ip)->commit_mutex);388388+ mutex_unlock(&JFS_IP(dip)->commit_mutex);389389390390 goto out2;391391 }···422422423423 txEnd(tid);424424425425- mutex_unlock(&JFS_IP(dip)->commit_mutex);426425 mutex_unlock(&JFS_IP(ip)->commit_mutex);426426+ mutex_unlock(&JFS_IP(dip)->commit_mutex);427427428428 /*429429 * Truncating the directory index table is not guaranteed. It···503503 if (rc == -EIO)504504 txAbort(tid, 1); /* Marks FS Dirty */505505 txEnd(tid);506506- mutex_unlock(&JFS_IP(dip)->commit_mutex);507506 mutex_unlock(&JFS_IP(ip)->commit_mutex);507507+ mutex_unlock(&JFS_IP(dip)->commit_mutex);508508 IWRITE_UNLOCK(ip);509509 goto out1;510510 }···527527 if ((new_size = commitZeroLink(tid, ip)) < 0) {528528 txAbort(tid, 1); /* Marks FS Dirty */529529 txEnd(tid);530530- mutex_unlock(&JFS_IP(dip)->commit_mutex);531530 mutex_unlock(&JFS_IP(ip)->commit_mutex);531531+ mutex_unlock(&JFS_IP(dip)->commit_mutex);532532 IWRITE_UNLOCK(ip);533533 rc = new_size;534534 goto out1;···556556557557 txEnd(tid);558558559559- mutex_unlock(&JFS_IP(dip)->commit_mutex);560559 mutex_unlock(&JFS_IP(ip)->commit_mutex);561561-560560+ mutex_unlock(&JFS_IP(dip)->commit_mutex);562561563562 while (new_size && (rc == 0)) {564563 tid = txBegin(dip->i_sb, 0);···846847 out:847848 txEnd(tid);848849849849- mutex_unlock(&JFS_IP(dir)->commit_mutex);850850 mutex_unlock(&JFS_IP(ip)->commit_mutex);851851+ mutex_unlock(&JFS_IP(dir)->commit_mutex);851852852853 jfs_info("jfs_link: rc:%d", rc);853854 return rc;···1036103710371038 out3:10381039 txEnd(tid);10391039- mutex_unlock(&JFS_IP(dip)->commit_mutex);10401040 mutex_unlock(&JFS_IP(ip)->commit_mutex);10411041+ mutex_unlock(&JFS_IP(dip)->commit_mutex);10411042 if (rc) {10421043 free_ea_wmap(ip);10431044 ip->i_nlink = 0;···11591160 if (S_ISDIR(new_ip->i_mode)) {11601161 new_ip->i_nlink--;11611162 if (new_ip->i_nlink) {11621162- mutex_unlock(&JFS_IP(new_dir)->commit_mutex);11631163- mutex_unlock(&JFS_IP(old_ip)->commit_mutex);11631163+ mutex_unlock(&JFS_IP(new_ip)->commit_mutex);11641164 if (old_dir != new_dir)11651165 mutex_unlock(&JFS_IP(old_dir)->commit_mutex);11661166+ mutex_unlock(&JFS_IP(old_ip)->commit_mutex);11671167+ mutex_unlock(&JFS_IP(new_dir)->commit_mutex);11661168 if (!S_ISDIR(old_ip->i_mode) && new_ip)11671169 IWRITE_UNLOCK(new_ip);11681170 jfs_error(new_ip->i_sb,···1281128112821282 out4:12831283 txEnd(tid);12841284-12851285- mutex_unlock(&JFS_IP(new_dir)->commit_mutex);12861286- mutex_unlock(&JFS_IP(old_ip)->commit_mutex);12871287- if (old_dir != new_dir)12881288- mutex_unlock(&JFS_IP(old_dir)->commit_mutex);12891284 if (new_ip)12901285 mutex_unlock(&JFS_IP(new_ip)->commit_mutex);12861286+ if (old_dir != new_dir)12871287+ mutex_unlock(&JFS_IP(old_dir)->commit_mutex);12881288+ mutex_unlock(&JFS_IP(old_ip)->commit_mutex);12891289+ mutex_unlock(&JFS_IP(new_dir)->commit_mutex);1291129012921291 while (new_size && (rc == 0)) {12931292 tid = txBegin(new_ip->i_sb, 0);