[stgt] [PATCH 1/1] tgtd: Patch to add bsoflags options o tgtd.

Daniel Henrique Debonzi debonzi at linux.vnet.ibm.com
Tue Jun 29 17:16:55 CEST 2010


FUJITA Tomonori wrote:
> On Thu, 27 May 2010 17:10:43 -0300
> Daniel Henrique Debonzi <debonzi at linux.vnet.ibm.com> wrote:
> 
>> FUJITA Tomonori wrote:
>>> On Tue, 18 May 2010 16:21:00 -0300
>>> Daniel Henrique Debonzi <debonzi at linux.vnet.ibm.com> wrote:
>>>
>>>> One idea to solve it and don't make necessary to touch all backing 
>>>> stores to avoid this issue is to create a new template like bs_rdrw_sync 
>>>> O_SYNC and O_DIRECT flags on open, and don't have the options as this 
>>>> patch does. This way I got want I am interested in and don't need to 
>>>> involve all the other stuff. What are your thoughts about it?
>>> Or a new option to touch only bs_rdrw.
>>>
>>> However, I want to know why you want to use O_SYNC and O_DIRECT.
>>>
>>> - what's the advantage of O_SYNC compared with the current approach
>>> (sync_file after write)? notably faster?
>> We would like to be able to control those flags because for our case it 
>> has better performance. Some tests done recently showed that we can get 
>> good better results when using O_DIRECT than sync_file.
> 
> I see. Thanks for the explanation.
> 
> As we discussed, "--bsoflags" can't be applied to all the bs modes
> equally (e.g. bs_aio can use only O_DIRECT). But I guess that creating
> multiple options such as --bsoflags_rw, --bsoflags_aio, etc is too
> overdoing.
> 
> I'll take the approach add only "--bsoflags". --bsoflags="async
> direct" is not consistent with the other options. Let's use "," like
> --bsoflags="async,direct".

I can't use "," because it is the separator used for the options 
--bstype,--bsoflags,etc. If I use it, the second parameter if existente 
(like sync,direct) will not be used right. I used ":" once it is also 
used for portals (IP:port).

> 
> I don't think that we need "none" or "async". Let's support "sync" and
> "direct".

The async option doesn't exist. It only have sync and direct. The none 
option is available only for update. Lets say someone created a target 
with sync, and for some reason he doesn't want sync anymore. He can

tgtadm --op update --mode logicalunit --tid 1 --lun 1 --params online=0
tgtadm --op update --mode logicalunit --tid 1 --lun 1 --params\ 
bsoflags="none"

to clean up the bsoflags.

I put this changes in a separate patch, so you can drop it if you think 
it is not necessary.

> 
> Can you please send the updated patch?

I will send the patchs to the list soon.

Thanks,
Daniel Debonzi
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



More information about the stgt mailing list