Just one JFS patch
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEIodevzQLVs53l6BhNqiEXrVAjGQFAmGCnuoACgkQNqiEXrVA jGS68RAAm/sHFB4Kha351GHiOzLTqdbecYR6g9FrGA1rjeum1H0KeCKxTZ8D+PAP pxUieR/n52UC+2qqnZWgJccRgVRdyMSqkVwRFJAGourv9cd8CILb0cZUaoCLaSpU GbHn2GPaOBbOOPGiCLY6AJ3IhhDY+2qhgC6M4eGGRW0uVl/vyuW/CuAUH0PUFL+y Xksf0qOLcr+nPCsqb+kIbY95ZRD67udtbtn09VW/T2wSCQeN1KJEBcs2zC0BB6Nz OwccEZrd0spyCh/15G4pzo2y5Pq4yu+ymeuxFEyCGRTzgT+CNFvS7URSW5fwOLUw Q20mi+Y0xu/4fVgGhkpIQXySaA1/4JTYfXDk65q5f1VpI5/7RAVOj8jRUWQKS+ra B0ihP1yJf91sh7W2ykxjQtqsw/+UukYJijiD4Jwk8LAOHd00bpsT6BnbF05dDFaH a7aWIzaon6qeJ5KDkgqhn9bRRjE5o3i2SqWu3W6QBEkaFYIIurej1m/FNYpgND1W c+z6VRO09N18g2vCVEG7nZ6i2ob7xjuB9aNS0r+btf6ZoKZ5pfxDpm8YcFcUlkS7 pHSt2VnbRZBoYF5/9Hw+2MzEj8Gum3J/CiEfR4nLCjqXUfCdIHYHk+vZFwybeNXy YRVRYpTMX60re+vyoRcnVBG0Ua9kvanEVj4HxiZpEukVRi9bzhE= =0HJn -----END PGP SIGNATURE----- Merge tag 'jfs-5.16' of git://github.com/kleikamp/linux-shaggy Pull jfs fix from David Kleikamp: "Just one JFS patch" * tag 'jfs-5.16' of git://github.com/kleikamp/linux-shaggy: JFS: fix memleak in jfs_mount
This commit is contained in:
commit
655fedaad3
|
@ -81,14 +81,14 @@ int jfs_mount(struct super_block *sb)
|
|||
* (initialize mount inode from the superblock)
|
||||
*/
|
||||
if ((rc = chkSuper(sb))) {
|
||||
goto errout20;
|
||||
goto out;
|
||||
}
|
||||
|
||||
ipaimap = diReadSpecial(sb, AGGREGATE_I, 0);
|
||||
if (ipaimap == NULL) {
|
||||
jfs_err("jfs_mount: Failed to read AGGREGATE_I");
|
||||
rc = -EIO;
|
||||
goto errout20;
|
||||
goto out;
|
||||
}
|
||||
sbi->ipaimap = ipaimap;
|
||||
|
||||
|
@ -99,7 +99,7 @@ int jfs_mount(struct super_block *sb)
|
|||
*/
|
||||
if ((rc = diMount(ipaimap))) {
|
||||
jfs_err("jfs_mount: diMount(ipaimap) failed w/rc = %d", rc);
|
||||
goto errout21;
|
||||
goto err_ipaimap;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -108,7 +108,7 @@ int jfs_mount(struct super_block *sb)
|
|||
ipbmap = diReadSpecial(sb, BMAP_I, 0);
|
||||
if (ipbmap == NULL) {
|
||||
rc = -EIO;
|
||||
goto errout22;
|
||||
goto err_umount_ipaimap;
|
||||
}
|
||||
|
||||
jfs_info("jfs_mount: ipbmap:0x%p", ipbmap);
|
||||
|
@ -120,7 +120,7 @@ int jfs_mount(struct super_block *sb)
|
|||
*/
|
||||
if ((rc = dbMount(ipbmap))) {
|
||||
jfs_err("jfs_mount: dbMount failed w/rc = %d", rc);
|
||||
goto errout22;
|
||||
goto err_ipbmap;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -139,7 +139,7 @@ int jfs_mount(struct super_block *sb)
|
|||
if (!ipaimap2) {
|
||||
jfs_err("jfs_mount: Failed to read AGGREGATE_I");
|
||||
rc = -EIO;
|
||||
goto errout35;
|
||||
goto err_umount_ipbmap;
|
||||
}
|
||||
sbi->ipaimap2 = ipaimap2;
|
||||
|
||||
|
@ -151,7 +151,7 @@ int jfs_mount(struct super_block *sb)
|
|||
if ((rc = diMount(ipaimap2))) {
|
||||
jfs_err("jfs_mount: diMount(ipaimap2) failed, rc = %d",
|
||||
rc);
|
||||
goto errout35;
|
||||
goto err_ipaimap2;
|
||||
}
|
||||
} else
|
||||
/* Secondary aggregate inode table is not valid */
|
||||
|
@ -168,7 +168,7 @@ int jfs_mount(struct super_block *sb)
|
|||
jfs_err("jfs_mount: Failed to read FILESYSTEM_I");
|
||||
/* open fileset secondary inode allocation map */
|
||||
rc = -EIO;
|
||||
goto errout40;
|
||||
goto err_umount_ipaimap2;
|
||||
}
|
||||
jfs_info("jfs_mount: ipimap:0x%p", ipimap);
|
||||
|
||||
|
@ -178,41 +178,34 @@ int jfs_mount(struct super_block *sb)
|
|||
/* initialize fileset inode allocation map */
|
||||
if ((rc = diMount(ipimap))) {
|
||||
jfs_err("jfs_mount: diMount failed w/rc = %d", rc);
|
||||
goto errout41;
|
||||
goto err_ipimap;
|
||||
}
|
||||
|
||||
goto out;
|
||||
return rc;
|
||||
|
||||
/*
|
||||
* unwind on error
|
||||
*/
|
||||
errout41: /* close fileset inode allocation map inode */
|
||||
err_ipimap:
|
||||
/* close fileset inode allocation map inode */
|
||||
diFreeSpecial(ipimap);
|
||||
|
||||
errout40: /* fileset closed */
|
||||
|
||||
err_umount_ipaimap2:
|
||||
/* close secondary aggregate inode allocation map */
|
||||
if (ipaimap2) {
|
||||
if (ipaimap2)
|
||||
diUnmount(ipaimap2, 1);
|
||||
err_ipaimap2:
|
||||
/* close aggregate inodes */
|
||||
if (ipaimap2)
|
||||
diFreeSpecial(ipaimap2);
|
||||
}
|
||||
|
||||
errout35:
|
||||
|
||||
/* close aggregate block allocation map */
|
||||
err_umount_ipbmap: /* close aggregate block allocation map */
|
||||
dbUnmount(ipbmap, 1);
|
||||
err_ipbmap: /* close aggregate inodes */
|
||||
diFreeSpecial(ipbmap);
|
||||
|
||||
errout22: /* close aggregate inode allocation map */
|
||||
|
||||
err_umount_ipaimap: /* close aggregate inode allocation map */
|
||||
diUnmount(ipaimap, 1);
|
||||
|
||||
errout21: /* close aggregate inodes */
|
||||
err_ipaimap: /* close aggregate inodes */
|
||||
diFreeSpecial(ipaimap);
|
||||
errout20: /* aggregate closed */
|
||||
|
||||
out:
|
||||
|
||||
out:
|
||||
if (rc)
|
||||
jfs_err("Mount JFS Failure: %d", rc);
|
||||
|
||||
|
|
Loading…
Reference in New Issue