[stgt] [PATCHes] Updated patches for thin-provisioning support

ronnie sahlberg ronniesahlberg at gmail.com
Mon Apr 2 02:55:48 CEST 2012


That said,

I think thin-provisioning in tgtd should only be available when the
user specifies it explicitely.
But as you say,  end-users can often control whether the UNMAP command
is used or not, often when mounting the filesystem on the initiator
and this
might be sufficient.



I have no strong feelings either or.

If you want this to be on by default and let the initiators decide on
the matter, I am fine with that and can send you an updated patch that
makes it available by default.


regards
ronnie sahlberg



On Mon, Apr 2, 2012 at 10:50 AM, ronnie sahlberg
<ronniesahlberg at gmail.com> wrote:
> Hi,
>
> I think it should only be available if the user explicitely activates
> it on the LUN.
> The reason is that thin-provisioning is a bit dangerous if you are not careful.
>
> When using thin-provisioning you have to constantly monitor the
> underlying filesystem and that it is not running out of space.
> Because if the underlying filesystem becomes full,  and WRITE10 calls
> start failing, bad things will happen :-)
>
>
>
> When using thin-provisioning, this should be done by a concious
> choice, and the user should be aware of the risks
> and the need to monitor that the filesystem does not become full.
>
> I will write this up in a separate patch to the manpage to discuss the
> pros and cons of thin provisioning and the risks associated with it
> unless one is careful.
>
>
> We should also in a later patch implement 4.7.3.8.1 tresholds so that
> tgtd can tell thin-provisioning aware initiators when we are about to
> run out of space   so that those initiators can produce BIG warnings
> to the admin to "take action before it is too late" .
>
>
>
> regards
> ronnie sahlberg
>
>
> On Mon, Apr 2, 2012 at 10:26 AM, FUJITA Tomonori
> <fujita.tomonori at lab.ntt.co.jp> wrote:
>> On Mon, 02 Apr 2012 09:06:11 +0900 (JST)
>> FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp> wrote:
>>
>>> On Sun, 1 Apr 2012 08:26:27 +1000
>>> ronnie sahlberg <ronniesahlberg at gmail.com> wrote:
>>>
>>>> From 2830abc3935294eba621b781f72aecda604c65a7 Mon Sep 17 00:00:00 2001
>>>> From: Ronnie Sahlberg <ronniesahlberg at gmail.com>
>>>> Date: Sun, 1 Apr 2012 08:04:06 +1000
>>>> Subject: [PATCH 2/2] SBC UNMAP: Add support for thin-provisioning and the UNMAP command.
>>>>
>>>> The UNMAP command is implemented using FALLOC_FL_PUNCH_HOLE and will
>>>> release UNMAPPED blocks back to the underlying filesystem.
>>>>
>>>> FALLOC_FL_PUNCH_HOLE is fairly new addition to Linux but works on
>>>> ext4 and XFS filesystems currently.
>>>>
>>>> Signed-off-by: Ronnie Sahlberg <ronniesahlberg at gmail.com>
>>>> ---
>>>>  doc/tgtadm.8.xml |   25 ++++++++++++++
>>>>  usr/bs_rdwr.c    |   97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>>  usr/sbc.c        |   76 +++++++++++++++++++++++++++++++++++++++++-
>>>>  usr/scsi.h       |    1 +
>>>>  usr/spc.c        |   43 +++++++++++++++++++++--
>>>>  usr/target.c     |    2 +
>>>>  usr/tgtd.h       |    2 +
>>>>  7 files changed, 241 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/doc/tgtadm.8.xml b/doc/tgtadm.8.xml
>>>> index 668e184..a40f659 100644
>>>> --- a/doc/tgtadm.8.xml
>>>> +++ b/doc/tgtadm.8.xml
>>>> @@ -352,6 +352,31 @@ tgtadm --lld iscsi --mode logicalunit --op update --tid 1 --lun 1 \
>>>>           --params readonly=1
>>>>        </screen>
>>>>
>>>> +      <varlistentry><term><option>thin_provisioning=<0|1></option></term>
>>>> +        <listitem>
>>>> +          <para>
>>>> +        This controls the provisioning for the LUN. A thin-provisioned
>>>> +        LUN is represented as a sparse file.
>>>> +        TGTD supports provisioning type 2 for sparse files.
>>>> +        When initiators use the SCSI UNMAP command TGTD will release
>>>> +        the affected areas back to the filesystem using
>>>> +        FALLOC_FL_PUNCH_HOLE.
>>>> +          </para>
>>>> +          <para>
>>>> +        This parameter only applies to DISK devices.
>>>> +          </para>
>>>> +          <para>
>>>> +        Thin-provisioning only works for LUNs stored on filesystems
>>>> +        that support FALLOC_FL_PUNCH_HOLE.
>>>> +          </para>
>>>> +        </listitem>
>>>> +      </varlistentry>
>>>> +
>>>> +      <screen format="linespecific">
>>>> +tgtadm --lld iscsi --mode logicalunit --op update --tid 1 --lun 1 \
>>>> +         --params thin_provisioning=1
>>>> +      </screen>
>>>
>>> Users need to enable this explicitly?
>>>
>>> I mean that when a lu is added, tgtd can check if the backing storage
>>> supports FALLOC_FL_PUNCH_HOLE then enables it automatically?
>>
>> Note that I'm not against providing the explict option to users but
>> normally users has the option for this (e.g. btrfs mount option) on
>> the initiator side. So even if tgtd automatically enables this, users
>> can avoid using this feature. So I wonder that it's worth providing
>> the explict option.
--
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