From owner-freebsd-geom@FreeBSD.ORG Thu Aug 2 18:01:55 2012 Return-Path: Delivered-To: freebsd-geom@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4C937106566C for ; Thu, 2 Aug 2012 18:01:55 +0000 (UTC) (envelope-from jim.harris@gmail.com) Received: from mail-wg0-f50.google.com (mail-wg0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id D73628FC1C for ; Thu, 2 Aug 2012 18:01:54 +0000 (UTC) Received: by wgbds11 with SMTP id ds11so7990400wgb.31 for ; Thu, 02 Aug 2012 11:01:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type; bh=AznbRt/LX5zlsqtradLca8u1yjgxK/uBW3Bo0Q6IXBo=; b=twOANhYXBMCV8TXRcXNR2L7LJkC3NEA9g5U1c7MBUwboMfn9n2IX7moQGnTs7TRO+q I04dLHEaT0LfcrOw4vYW6XzvcJFFDqv0UrWswdIC61w771W8umEMyfLOcSbld/XIR8ED t4YzLSFvI443kgTZJlFpsHc/uXTrf/m59UZBirLIEukjqKIIXRvrURX1mAW2IQGvDvap vHT12BIL6ca8Jl+oqBHcIA7tQ6SnHFRgo0Uxi8RnAIVT9xxcvMgZ3i8XGfjfmB/J+2/I /IXRCtGlek9leHsXknacWIkcnv6Y9mGMuu5ahamWGuVV1GD75u26EQJuDP3CkgQe7lA7 TacQ== MIME-Version: 1.0 Received: by 10.180.84.104 with SMTP id x8mr6585883wiy.20.1343930513807; Thu, 02 Aug 2012 11:01:53 -0700 (PDT) Sender: jim.harris@gmail.com Received: by 10.216.241.203 with HTTP; Thu, 2 Aug 2012 11:01:53 -0700 (PDT) Date: Thu, 2 Aug 2012 11:01:53 -0700 X-Google-Sender-Auth: WLzGfr8NZrgzBaD8ZX6AyeQGvVg Message-ID: From: Jim Harris To: freebsd-geom@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: bio_flags (BIO_ORDERED) and g_clone_bio() X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2012 18:01:55 -0000 I'm trying to understand how the BIO_ORDERED flag ever gets passed down to disk consumers (i.e. daX) It's obvious that g_io_flush() sets the BIO_ORDERED flag, but when the bio gets cloned, the bio_flags do not get cloned. So while the FLUSH command does make it to the disk consumer, it is without the BIO_ORDERED flag. I'm sure some flags are not meant to be cloned, but is seems BIO_ORDERED should. I'm sure I'm missing something here, but haven't figured it out yet. Any help would be appreciated. Thanks, -Jim