geom_slice.c (e805e8f0e8f9f762bfb5bffd72380a1b101b1a8b) | geom_slice.c (b1876192f015b1cf392b52b82b124265fc9683a7) |
---|---|
1/*- 2 * Copyright (c) 2002 Poul-Henning Kamp 3 * Copyright (c) 2002 Networks Associates Technology, Inc. 4 * All rights reserved. 5 * 6 * This software was developed for the FreeBSD Project by Poul-Henning Kamp 7 * and NAI Labs, the Security Research Division of Network Associates, Inc. 8 * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the --- 233 unchanged lines hidden (view full) --- 242 return (NULL); 243 } 244 *vp = gsp->softc; 245 *cpp = cp; 246 return (gp); 247} 248 249void | 1/*- 2 * Copyright (c) 2002 Poul-Henning Kamp 3 * Copyright (c) 2002 Networks Associates Technology, Inc. 4 * All rights reserved. 5 * 6 * This software was developed for the FreeBSD Project by Poul-Henning Kamp 7 * and NAI Labs, the Security Research Division of Network Associates, Inc. 8 * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the --- 233 unchanged lines hidden (view full) --- 242 return (NULL); 243 } 244 *vp = gsp->softc; 245 *cpp = cp; 246 return (gp); 247} 248 249void |
250g_slice_orphan(struct g_consumer *cp, struct thread *tp __unused) | 250g_slice_orphan(struct g_consumer *cp) |
251{ 252 struct g_geom *gp; 253 struct g_provider *pp; 254 int error; 255 256 g_trace(G_T_TOPOLOGY, "g_slice_orphan(%p/%s)", cp, cp->provider->name); 257 g_topology_assert(); 258 KASSERT(cp->provider->error != 0, 259 ("g_slice_orphan with error == 0")); 260 261 gp = cp->geom; 262 gp->flags |= G_GEOM_WITHER; 263 /* First prevent any new requests */ 264 error = cp->provider->error; 265 LIST_FOREACH(pp, &gp->provider, provider) 266 g_orphan_provider(pp, error); 267 268 return; 269} | 251{ 252 struct g_geom *gp; 253 struct g_provider *pp; 254 int error; 255 256 g_trace(G_T_TOPOLOGY, "g_slice_orphan(%p/%s)", cp, cp->provider->name); 257 g_topology_assert(); 258 KASSERT(cp->provider->error != 0, 259 ("g_slice_orphan with error == 0")); 260 261 gp = cp->geom; 262 gp->flags |= G_GEOM_WITHER; 263 /* First prevent any new requests */ 264 error = cp->provider->error; 265 LIST_FOREACH(pp, &gp->provider, provider) 266 g_orphan_provider(pp, error); 267 268 return; 269} |