zio.c (321542) | zio.c (321553) |
---|---|
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 6 unchanged lines hidden (view full) --- 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21/* 22 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 6 unchanged lines hidden (view full) --- 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21/* 22 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. |
23 * Copyright (c) 2011, 2016 by Delphix. All rights reserved. | 23 * Copyright (c) 2011, 2017 by Delphix. All rights reserved. |
24 * Copyright (c) 2011 Nexenta Systems, Inc. All rights reserved. 25 * Copyright (c) 2014 Integros [integros.com] 26 */ 27 28#include <sys/sysmacros.h> 29#include <sys/zfs_context.h> 30#include <sys/fm/fs/zfs.h> 31#include <sys/spa.h> --- 531 unchanged lines hidden (view full) --- 563static void 564zio_inherit_child_errors(zio_t *zio, enum zio_child c) 565{ 566 if (zio->io_child_error[c] != 0 && zio->io_error == 0) 567 zio->io_error = zio->io_child_error[c]; 568} 569 570int | 24 * Copyright (c) 2011 Nexenta Systems, Inc. All rights reserved. 25 * Copyright (c) 2014 Integros [integros.com] 26 */ 27 28#include <sys/sysmacros.h> 29#include <sys/zfs_context.h> 30#include <sys/fm/fs/zfs.h> 31#include <sys/spa.h> --- 531 unchanged lines hidden (view full) --- 563static void 564zio_inherit_child_errors(zio_t *zio, enum zio_child c) 565{ 566 if (zio->io_child_error[c] != 0 && zio->io_error == 0) 567 zio->io_error = zio->io_child_error[c]; 568} 569 570int |
571zio_timestamp_compare(const void *x1, const void *x2) | 571zio_bookmark_compare(const void *x1, const void *x2) |
572{ 573 const zio_t *z1 = x1; 574 const zio_t *z2 = x2; 575 | 572{ 573 const zio_t *z1 = x1; 574 const zio_t *z2 = x2; 575 |
576 if (z1->io_queued_timestamp < z2->io_queued_timestamp) 577 return (-1); 578 if (z1->io_queued_timestamp > z2->io_queued_timestamp) 579 return (1); 580 | |
581 if (z1->io_bookmark.zb_objset < z2->io_bookmark.zb_objset) 582 return (-1); 583 if (z1->io_bookmark.zb_objset > z2->io_bookmark.zb_objset) 584 return (1); 585 586 if (z1->io_bookmark.zb_object < z2->io_bookmark.zb_object) 587 return (-1); 588 if (z1->io_bookmark.zb_object > z2->io_bookmark.zb_object) --- 2258 unchanged lines hidden (view full) --- 2847 2848 nio = zio_io_to_allocate(zio->io_spa); 2849 mutex_exit(&spa->spa_alloc_lock); 2850 2851 if (nio == zio) 2852 return (ZIO_PIPELINE_CONTINUE); 2853 2854 if (nio != NULL) { | 576 if (z1->io_bookmark.zb_objset < z2->io_bookmark.zb_objset) 577 return (-1); 578 if (z1->io_bookmark.zb_objset > z2->io_bookmark.zb_objset) 579 return (1); 580 581 if (z1->io_bookmark.zb_object < z2->io_bookmark.zb_object) 582 return (-1); 583 if (z1->io_bookmark.zb_object > z2->io_bookmark.zb_object) --- 2258 unchanged lines hidden (view full) --- 2842 2843 nio = zio_io_to_allocate(zio->io_spa); 2844 mutex_exit(&spa->spa_alloc_lock); 2845 2846 if (nio == zio) 2847 return (ZIO_PIPELINE_CONTINUE); 2848 2849 if (nio != NULL) { |
2855 ASSERT3U(nio->io_queued_timestamp, <=, 2856 zio->io_queued_timestamp); | |
2857 ASSERT(nio->io_stage == ZIO_STAGE_DVA_THROTTLE); 2858 /* 2859 * We are passing control to a new zio so make sure that 2860 * it is processed by a different thread. We do this to 2861 * avoid stack overflows that can occur when parents are 2862 * throttled and children are making progress. We allow 2863 * it to go to the head of the taskq since it's already 2864 * been waiting. --- 1230 unchanged lines hidden --- | 2850 ASSERT(nio->io_stage == ZIO_STAGE_DVA_THROTTLE); 2851 /* 2852 * We are passing control to a new zio so make sure that 2853 * it is processed by a different thread. We do this to 2854 * avoid stack overflows that can occur when parents are 2855 * throttled and children are making progress. We allow 2856 * it to go to the head of the taskq since it's already 2857 * been waiting. --- 1230 unchanged lines hidden --- |