diff options
author | Pedro Martelletto <pedro@cvs.openbsd.org> | 2007-03-25 10:20:51 +0000 |
---|---|---|
committer | Pedro Martelletto <pedro@cvs.openbsd.org> | 2007-03-25 10:20:51 +0000 |
commit | d86215db870c08230fc11eb10b0e769ebe079822 (patch) | |
tree | 1df37219bbe7b5d3c329b9b874f47f8b721b2f8e /sys/isofs/cd9660 | |
parent | 4381160c5ac0b1946d2b26b4adcff02a55080bd1 (diff) |
Account for the space of all the previous sessions on disk when
mounting a multisession CD, as they may be accessed as well.
From FreeBSD via Enache Adrian, okay krw@ thib@ tedu@.
Diffstat (limited to 'sys/isofs/cd9660')
-rw-r--r-- | sys/isofs/cd9660/cd9660_vfsops.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/isofs/cd9660/cd9660_vfsops.c b/sys/isofs/cd9660/cd9660_vfsops.c index ed51eaf31cb..4a322f89877 100644 --- a/sys/isofs/cd9660/cd9660_vfsops.c +++ b/sys/isofs/cd9660/cd9660_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cd9660_vfsops.c,v 1.43 2007/03/21 13:44:04 pedro Exp $ */ +/* $OpenBSD: cd9660_vfsops.c,v 1.44 2007/03/25 10:20:50 pedro Exp $ */ /* $NetBSD: cd9660_vfsops.c,v 1.26 1997/06/13 15:38:58 pk Exp $ */ /*- @@ -359,7 +359,11 @@ iso_mountfs(devvp, mp, p, argp) isomp->root_extent = isonum_733 (rootp->extent); isomp->root_size = isonum_733 (rootp->size); isomp->joliet_level = 0; - + /* + * Since an ISO9660 multi-session CD can also access previous sessions, + * we have to include them into the space considerations. + */ + isomp->volume_space_size += sess; isomp->im_bmask = logical_block_size - 1; isomp->im_bshift = ffs(logical_block_size) - 1; |