diff options
author | jv227347 <Jordan.Vaughan@Sun.com> | 2010-08-12 17:34:26 -0700 |
---|---|---|
committer | jv227347 <Jordan.Vaughan@Sun.com> | 2010-08-12 17:34:26 -0700 |
commit | a19609f85693e4e7d7e744d836a4e87193c934e4 (patch) | |
tree | 7ea27321d90fa4b9b61e48ec06e5b52f5f7b509a /usr/src/uts/common/os/shm.c | |
parent | a69116193464f859a8b27a2db19ad330ce163a55 (diff) | |
download | illumos-joyent-a19609f85693e4e7d7e744d836a4e87193c934e4.tar.gz |
6906740 Zones need an improved reference counting mechanism
Diffstat (limited to 'usr/src/uts/common/os/shm.c')
-rw-r--r-- | usr/src/uts/common/os/shm.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/usr/src/uts/common/os/shm.c b/usr/src/uts/common/os/shm.c index bf18627c34..bacc595f78 100644 --- a/usr/src/uts/common/os/shm.c +++ b/usr/src/uts/common/os/shm.c @@ -20,8 +20,7 @@ */ /* - * Copyright 2010 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. + * Copyright (c) 1986, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ @@ -605,7 +604,7 @@ shm_dtor(kipc_perm_t *perm) rsize = ptob(btopr(sp->shm_segsz)); ipcs_lock(shm_svc); sp->shm_perm.ipc_proj->kpj_data.kpd_shmmax -= rsize; - sp->shm_perm.ipc_zone->zone_shmmax -= rsize; + sp->shm_perm.ipc_zone_ref.zref_zone->zone_shmmax -= rsize; ipcs_unlock(shm_svc); } } @@ -924,13 +923,13 @@ top: sp->shm_perm.ipc_proj->kpj_rctls, pp, rsize, RCA_SAFE) & RCT_DENY) || (rctl_test(rc_zone_shmmax, - sp->shm_perm.ipc_zone->zone_rctls, pp, rsize, + sp->shm_perm.ipc_zone_ref.zref_zone->zone_rctls, pp, rsize, RCA_SAFE) & RCT_DENY)) { ipc_cleanup(shm_svc, (kipc_perm_t *)sp); return (EINVAL); } sp->shm_perm.ipc_proj->kpj_data.kpd_shmmax += rsize; - sp->shm_perm.ipc_zone->zone_shmmax += rsize; + sp->shm_perm.ipc_zone_ref.zref_zone->zone_shmmax += rsize; lock = ipc_commit_end(shm_svc, &sp->shm_perm); } @@ -1258,7 +1257,7 @@ shm_rm_amp(kshmid_t *sp) struct anon_map *amp = sp->shm_amp; zone_t *zone; - zone = sp->shm_perm.ipc_zone; + zone = sp->shm_perm.ipc_zone_ref.zref_zone; ASSERT(zone != NULL); /* * Free up the anon_map. |