From d86215db870c08230fc11eb10b0e769ebe079822 Mon Sep 17 00:00:00 2001 From: Pedro Martelletto Date: Sun, 25 Mar 2007 10:20:51 +0000 Subject: 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@. --- sys/isofs/cd9660/cd9660_vfsops.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'sys/isofs/cd9660/cd9660_vfsops.c') 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; -- cgit v1.2.3