From owner-svn-src-all@freebsd.org Sat Dec 9 23:19:38 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BB4C4E9B65B for ; Sat, 9 Dec 2017 23:19:38 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-it0-x22d.google.com (mail-it0-x22d.google.com [IPv6:2607:f8b0:4001:c0b::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7AA4979832 for ; Sat, 9 Dec 2017 23:19:38 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-it0-x22d.google.com with SMTP id f190so9443687ita.5 for ; Sat, 09 Dec 2017 15:19:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=DugEn0wF8WkdlBuulYzWW7JuI9Nhf03TN3PBUffcSLc=; b=uXWCmtyAYKhLcK0/5Wkguwuu58WatTw5IIgr6fPcbi7mkMD1lXzx2hVFuDtczFH2FF 2etoCDSHTCHYW7M0iMlZ+GXy2AuLSFPysWW2c+/yLI+tM/Pt0MGKJ+iVDqRsK4aNy84O obm6YNL+qiMxBY4CdB5w/z4F1rCIThk6lRXSudyVHUdsUrsPEQRUipEWbieMNrPNWvjJ qj9Iu+ZcuEU67Nms65oLyJfM6vx2LHlZKjqAWhkx5CDQLMlb8J542OmfpbgWS1SN/GgO mu1P0mOlu8XYhAhdvhhsM/sQfIZ2gD5ewYJw5QcyvuDSDzCM2BkJFc7fUlLwwQIQJ8go f8Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=DugEn0wF8WkdlBuulYzWW7JuI9Nhf03TN3PBUffcSLc=; b=OtiqBwyI7HarHMRFmUydbCQuBonUyGJyf3f1dtc6QgC3u9wt1WY+LjMgbBSJrQhMfZ VrH4db1O/fS6N28LHemE3fF1wZLAYtT4BazLrWB65aD0UEg38UfK5C+pGFm0r9+ZcKjq ybzqJ9SJmnrzvjRGdcklAZcRK83R9OeJinrEAdJaUW5XOYvl0fhWjSBInlhgI5JSSo1A 8m996W8rg80HkVtZ+Zaeweg3hsfPqS301nFhW0o3TemJSWuqwiMcBHERQkptjxfVpl/p UAjcsJXaX75Gvz6nprag558IBw3DNk+il5/LnSro86xoWHnlUni99njASog3gioHKzjy c8xw== X-Gm-Message-State: AKGB3mI5lBAVpQvYSZmAV3aswRFAl0uyNfMqUgY//qH6jsJhdKTpDkGT 90hd1yguNl+P16mW9Ow0G4hHAeyjRoQu/38EoV8zDA== X-Google-Smtp-Source: ACJfBov50QsRhDhGLLAWbB/GlRdvNfSk+hejHEPQqjNwHt/t8ZhMmpX34WHYRFlim2isW6QHaj31WkPS3JfFnn0ngl0= X-Received: by 10.36.131.200 with SMTP id d191mr3537030ite.97.1512861577726; Sat, 09 Dec 2017 15:19:37 -0800 (PST) MIME-Version: 1.0 Sender: wlosh@bsdimp.com Received: by 10.79.108.204 with HTTP; Sat, 9 Dec 2017 15:19:36 -0800 (PST) X-Originating-IP: [2607:fb90:6cac:851b:54b5:2218:52a:92a0] Received: by 10.79.108.204 with HTTP; Sat, 9 Dec 2017 15:19:36 -0800 (PST) In-Reply-To: <20171209223713.GA15275@raichu> References: <201712091544.vB9FiVUI096790@repo.freebsd.org> <20171209223713.GA15275@raichu> From: Warner Losh Date: Sat, 9 Dec 2017 16:19:36 -0700 X-Google-Sender-Auth: -j_hFgIgWvEgxpYc9TbVMGUeEPM Message-ID: Subject: Re: svn commit: r326731 - head/sys/ufs/ffs To: Mark Johnston Cc: Andriy Gapon , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.25 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Dec 2017 23:19:38 -0000 On Dec 9, 2017 3:37 PM, "Mark Johnston" wrote: On Sat, Dec 09, 2017 at 08:03:37PM +0200, Andriy Gapon wrote: > On 09/12/2017 17:44, Mark Johnston wrote: > > Some GEOMs do not appear to handle BIO_ORDERED correctly, meaning that the > > Nitpick: this should be "geoms" or, even better, "GEOM classes" :-) Ok. :) > > barrier write may not work as intended. > Could the loss of BIO_ORDERED in g_duplicate_bio() contribute to the problem > with those GEOM classes? It does look like a bug that g_duplicate_bio() doesn't preserve that flag. However, the issue I was looking at was in gmirror: when a mirror is being synchronized, gmirror will delay writes that collide with an active synchronization request. However, subsequent writes which do not collide are passed directly to the mirrors, so an ordering violation is possible. I plan to fix this. I haven't checked, but graid might have a similar issue. I also noticed that gsched doesn't take BIO_ORDERED into account when sorting requests. Isilon has an I/O scheduler which has this problem too I think the cam iosched ignores it too. It's really a Pita. And what do you do with multiple streams setting these sorts of bios. It's a relic of the single threaded days... Warner