Date: Mon, 5 Aug 2002 18:55:03 -0700 (PDT) From: Lamont Granquist <lamont@scriptkiddie.org> To: Terry Lambert <tlambert2@mindspring.com> Cc: "Justin T. Gibbs" <gibbs@scsiguy.com>, Zhihui Zhang <zzhang@cs.binghamton.edu>, <freebsd-hackers@FreeBSD.ORG>, <freebsd-scsi@FreeBSD.ORG> Subject: Re: transaction ordering in SCSI subsystem Message-ID: <20020805184018.F2654-100000@coredump.scriptkiddie.org> In-Reply-To: <3D4E1E0D.582EBE7C@mindspring.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 4 Aug 2002, Terry Lambert wrote: > Operations which can *not* occur concurrently are requested only > serially. This serialization is called a "stall barrier": the > next operation is not attempted until the previous operation has > been committed to stable storage. > > Operations at the CAM layer are proxied transactions; as Justin > stated, operations queued to CAM are guaranteed to be queued to > the underlying physical device in the same order. So it sounds like CAM has two features which aid in preserving data integrity. First it serializes operations with the same tag and second it implements stall barriers in those pipelines? Is there a good SCSI reference out there for someone interested more in the features of CAM and the upper layers of the protocol? Also, at a higher level in the VFS layer, which operations are tagged the same? Are operations on the same vnode tagged the same and then write barriers are introduced appropriately between data and metadata writes? Are operations on different vnodes always different tags? And how is the consistancy of something like the block allocation table maintained? [ p.s. thanks quite a lot for that last response ] To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020805184018.F2654-100000>