Re: T10 WCE interpretation in Linux & device level access

2013-04-27 Thread James Bottomley
On Wed, 2013-04-24 at 05:44 +, Elliott, Robert (Server Storage) wrote: > If the writeback cache is enabled (per the WCE bit in the Caching mode page), > prudent software uses the FUA bit in WRITE commands when writing metadata > and/or sends the SYNCHRONIZE CACHE command at important checkpoint

Re: T10 WCE interpretation in Linux & device level access

2013-04-26 Thread Paolo Bonzini
Il 25/04/2013 03:32, Martin K. Petersen ha scritto: > I'm ok with your patch. And a strong believer in not altering the > SYNCHRONIZE CACHE behavior that's been rigorously tested in the field by > adding SYNC_NV to the mix. SYNC_NV is absolutely necessary for targets that (a) have both volatile an

Re: T10 WCE interpretation in Linux & device level access

2013-04-25 Thread James Bottomley
On Thu, 2013-04-25 at 07:35 -0400, Ric Wheeler wrote: > It was pointed out to me that RCD is "Read Cache Disable" so by > setting it to > zero, we are enabling the read cache (not that we ever look at this > bit or send > it down). The WCE bit is "write cache enable" so the polarity of the > bits

Re: T10 WCE interpretation in Linux & device level access

2013-04-25 Thread Ric Wheeler
On 04/24/2013 06:46 PM, James Bottomley wrote: On Wed, 2013-04-24 at 18:36 -0400, Ric Wheeler wrote: On 04/24/2013 06:09 PM, James Bottomley wrote: On Wed, 2013-04-24 at 23:54 +0200, Paolo Bonzini wrote: Il 24/04/2013 23:02, James Bottomley ha scritto: That just leaves us with random standard

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Martin K. Petersen
> "James" == James Bottomley writes: James> I'm fairly ambivalent, except not force. The default behaviour James> is to do the mode select, so force seems to imply that as well, James> except it won't. I don't see a difference between assume and James> temporary. I'm ok with your patch. An

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread James Bottomley
On Wed, 2013-04-24 at 18:36 -0400, Ric Wheeler wrote: > On 04/24/2013 06:09 PM, James Bottomley wrote: > > On Wed, 2013-04-24 at 23:54 +0200, Paolo Bonzini wrote: > >> Il 24/04/2013 23:02, James Bottomley ha scritto: > >>> That just leaves us with random standards behaviour. Lets permit the > >>>

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Ric Wheeler
On 04/24/2013 06:09 PM, James Bottomley wrote: On Wed, 2013-04-24 at 23:54 +0200, Paolo Bonzini wrote: Il 24/04/2013 23:02, James Bottomley ha scritto: That just leaves us with random standards behaviour. Lets permit the deterministic thing instead for the distros. It kills two birds with one

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread James Bottomley
On Wed, 2013-04-24 at 23:54 +0200, Paolo Bonzini wrote: > Il 24/04/2013 23:02, James Bottomley ha scritto: > > That just leaves us with random standards behaviour. Lets permit the > > deterministic thing instead for the distros. It kills two birds with > > one stone because we can set WCE for the

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Paolo Bonzini
Il 24/04/2013 23:02, James Bottomley ha scritto: > That just leaves us with random standards behaviour. Lets permit the > deterministic thing instead for the distros. It kills two birds with > one stone because we can set WCE for the stupid UAS devices that clear > it wrongly as well. > > For th

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread James Bottomley
On Wed, 2013-04-24 at 16:41 -0400, Ric Wheeler wrote: > On 04/24/2013 02:20 PM, Black, David wrote: > > Jeremy, > > > > It looks like, you, Paolo and Ric have hit the nail on the head here - this > > is > > a nice summary, IMHO: > > > >> On 4/24/2013 7:57 AM, Paolo Bonzini wrote: > If the dev

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Ric Wheeler
On 04/24/2013 02:20 PM, Black, David wrote: Jeremy, It looks like, you, Paolo and Ric have hit the nail on the head here - this is a nice summary, IMHO: On 4/24/2013 7:57 AM, Paolo Bonzini wrote: If the device can promise this, we don't care (and don't know) how it manages that promise. It ca

RE: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Black, David
ginal Message- > From: Jeremy Linton [mailto:jlin...@tributary.com] > Sent: Wednesday, April 24, 2013 10:36 AM > To: Paolo Bonzini > Cc: Ric Wheeler; Hannes Reinecke; James Bottomley; linux-scsi@vger.kernel.org; > Martin K. Petersen; Jeff Moyer; Tejun Heo; Mike Snitzer; Black, David; &g

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Douglas Gilbert
On 13-04-23 03:41 PM, Ric Wheeler wrote: For many years, we have used WCE as an indication that a device has a volatile write cache (not just a write cache) and used this as a trigger to send down SYNCHRONIZE_CACHE commands as needed. Some arrays with non-volatile cache seem to have WCE set and

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Jeremy Linton
On 4/24/2013 7:57 AM, Paolo Bonzini wrote: >> If the device can promise this, we don't care (and don't know) how it >> manages that promise. It can leave the data on battery backed DRAM, can >> archive it to flash or any other scheme that works. > > That's exactly the point of SYNC_NV=1.

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Paolo Bonzini
Il 24/04/2013 14:27, Ric Wheeler ha scritto: >> The point is to _avoid_ hitting the disk. :) > > The point is to have a crash-proof version of the data acknowledged by > the target device while letting data sit in volatile state as long as > possible. To be even clearer, we would love to do this f

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Ric Wheeler
On 04/24/2013 08:08 AM, Paolo Bonzini wrote: Il 24/04/2013 14:07, Hannes Reinecke ha scritto: On 04/24/2013 01:17 PM, Paolo Bonzini wrote: Il 23/04/2013 22:07, James Bottomley ha scritto: On Tue, 2013-04-23 at 15:41 -0400, Ric Wheeler wrote: For many years, we have used WCE as an indication t

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Mike Snitzer
On Wed, Apr 24 2013 at 8:12am -0400, Hannes Reinecke wrote: > On 04/24/2013 02:08 PM, Paolo Bonzini wrote: > > Il 24/04/2013 14:07, Hannes Reinecke ha scritto: > >> On 04/24/2013 01:17 PM, Paolo Bonzini wrote: > >>> Il 23/04/2013 22:07, James Bottomley ha scritto: > On Tue, 2013-04-23 at 15

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Paolo Bonzini
Il 24/04/2013 14:12, Hannes Reinecke ha scritto: > On 04/24/2013 02:08 PM, Paolo Bonzini wrote: >> Il 24/04/2013 14:07, Hannes Reinecke ha scritto: >>> On 04/24/2013 01:17 PM, Paolo Bonzini wrote: Il 23/04/2013 22:07, James Bottomley ha scritto: > On Tue, 2013-04-23 at 15:41 -0400, Ric Whe

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Hannes Reinecke
On 04/24/2013 02:08 PM, Paolo Bonzini wrote: > Il 24/04/2013 14:07, Hannes Reinecke ha scritto: >> On 04/24/2013 01:17 PM, Paolo Bonzini wrote: >>> Il 23/04/2013 22:07, James Bottomley ha scritto: On Tue, 2013-04-23 at 15:41 -0400, Ric Wheeler wrote: > For many years, we have used WCE as a

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Paolo Bonzini
Il 24/04/2013 14:07, Hannes Reinecke ha scritto: > On 04/24/2013 01:17 PM, Paolo Bonzini wrote: >> Il 23/04/2013 22:07, James Bottomley ha scritto: >>> On Tue, 2013-04-23 at 15:41 -0400, Ric Wheeler wrote: For many years, we have used WCE as an indication that a device has a volatile >>

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Hannes Reinecke
On 04/24/2013 01:17 PM, Paolo Bonzini wrote: > Il 23/04/2013 22:07, James Bottomley ha scritto: >> On Tue, 2013-04-23 at 15:41 -0400, Ric Wheeler wrote: >>> For many years, we have used WCE as an indication that a device has a >>> volatile >>> write cache (not just a write cache) and used this as

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Hannes Reinecke
On 04/23/2013 10:07 PM, James Bottomley wrote: > On Tue, 2013-04-23 at 15:41 -0400, Ric Wheeler wrote: >> For many years, we have used WCE as an indication that a device has a >> volatile >> write cache (not just a write cache) and used this as a trigger to send down >> SYNCHRONIZE_CACHE command

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Paolo Bonzini
Il 23/04/2013 22:07, James Bottomley ha scritto: > On Tue, 2013-04-23 at 15:41 -0400, Ric Wheeler wrote: >> For many years, we have used WCE as an indication that a device has a >> volatile >> write cache (not just a write cache) and used this as a trigger to send down >> SYNCHRONIZE_CACHE comma

Re: T10 WCE interpretation in Linux & device level access

2013-04-24 Thread Ric Wheeler
ey Cc: Ric Wheeler; linux-scsi@vger.kernel.org; Martin K. Petersen; Jeff Moyer; Tejun Heo; Mike Snitzer; dgilb...@interlog.com Subject: Re: T10 WCE interpretation in Linux & device level access On 4/23/2013 3:07 PM, James Bottomley wrote: I bet they don't; they probably obey the spec. Th

RE: T10 WCE interpretation in Linux & device level access

2013-04-23 Thread Elliott, Robert (Server Storage)
ux-scsi-ow...@vger.kernel.org] On Behalf Of Jeremy Linton Sent: Tuesday, April 23, 2013 5:40 PM To: James Bottomley Cc: Ric Wheeler; linux-scsi@vger.kernel.org; Martin K. Petersen; Jeff Moyer; Tejun Heo; Mike Snitzer; dgilb...@interlog.com Subject: Re: T10 WCE interpretation in Linux & device level a

Re: T10 WCE interpretation in Linux & device level access

2013-04-23 Thread Jeremy Linton
On 4/23/2013 3:07 PM, James Bottomley wrote: > > I bet they don't; they probably obey the spec. There's a SYNC_NV bit > which if unset (which it is in our implementation) means only sync your > non-NV cache. For a device with all NV, that equates to nop. Yes, linux leaves the SYNC_NV b

Re: T10 WCE interpretation in Linux & device level access

2013-04-23 Thread Douglas Gilbert
On 13-04-23 03:41 PM, Ric Wheeler wrote: For many years, we have used WCE as an indication that a device has a volatile write cache (not just a write cache) and used this as a trigger to send down SYNCHRONIZE_CACHE commands as needed. Some arrays with non-volatile cache seem to have WCE set and

Re: T10 WCE interpretation in Linux & device level access

2013-04-23 Thread James Bottomley
On Tue, 2013-04-23 at 15:41 -0400, Ric Wheeler wrote: > For many years, we have used WCE as an indication that a device has a > volatile > write cache (not just a write cache) and used this as a trigger to send down > SYNCHRONIZE_CACHE commands as needed. > > Some arrays with non-volatile cache

T10 WCE interpretation in Linux & device level access

2013-04-23 Thread Ric Wheeler
For many years, we have used WCE as an indication that a device has a volatile write cache (not just a write cache) and used this as a trigger to send down SYNCHRONIZE_CACHE commands as needed. Some arrays with non-volatile cache seem to have WCE set and simply ignore the command. Some arr