[stgt] [PATCH 1/1] Add DISK media support to TGTIMG
ronnie sahlberg
ronniesahlberg at gmail.com
Mon Apr 5 08:09:05 CEST 2010
On Mon, Apr 5, 2010 at 2:41 PM, FUJITA Tomonori
<fujita.tomonori at lab.ntt.co.jp> wrote:
> On Sun, 4 Apr 2010 08:13:47 +1000
> ronnie sahlberg <ronniesahlberg at gmail.com> wrote:
>
>> From c235db24c4b5eacf269926ad6e34498f25103fb5 Mon Sep 17 00:00:00 2001
>> From: Ronnie Sahlberg <ronniesahlberg at gmail.com>
>> Date: Sun, 4 Apr 2010 08:07:33 +1000
>> Subject: [PATCH] Update TGTIMG to use it to create DISK images.
>> This is a trivial reimplementation of dd if=/dev/zero bs=1M ...
>> but offers us to use one command for any type of media.
>>
>> Update the manpage for TGTIMG to describe how to use TGTIMG
>> to create DISK media.
>>
>> Change the example in README.iser to use TGTIMG instead of dd to
>> create the mediafile.
>>
>> Signed-off-by: Ronnie Sahlberg <ronniesahlberg at gmail.com>
>> ---
>> doc/README.iser | 3 +-
>> doc/htmlpages/tgtimg.8.html | 32 +++++++++++--------
>> doc/manpages/tgtimg.8 | 29 ++++++++++++-----
>> doc/tgtimg.8.xml | 26 ++++++++++-----
>> usr/tgtimg.c | 71 +++++++++++++++++++++++++++++++++++++++++++
>> 5 files changed, 129 insertions(+), 32 deletions(-)
>>
>> diff --git a/doc/README.iser b/doc/README.iser
>> index 2361c4e..f96e7aa 100644
>> --- a/doc/README.iser
>> +++ b/doc/README.iser
>> @@ -189,7 +189,8 @@ Configure the running target with one or more devices, using the tgtadm
>> program you just built (also as root). Full information is in
>> doc/README.iscsi. Here is a quick-start guide:
>>
>> - dd if=/dev/zero bs=1k count=1 seek=1048575 of=/tmp/tid1lun1
>> + ./tgtimg --op new --device-type disk --type disk --size 1024 \
>> + --file /tmp/tid1lun1
>
> The operations are slightly different. The previous operation using dd
> creates a sparse file. tgtimg doesn't.
>
> Worth adding the sparse option to tgtimg? I'm not sure.
((there is no sense code for "filesystem full))
I can add a --sparse if you want one.
I think default should be non-sparse since that avoids the "surprise" of
hosting filesysem 100% full, total dataloss for all LUNs with data
not yet destaged :-(
I personally don't think one should ever use sparse files in this kind
of application.
Some filesystems, such as XFS, support filesystem-specific code to
perform preallocation
of data blocks, which could be used.
That would however introduce fs-specific code into tgtimg.
I can add a --sparse if you or others want it.
>
>> +static int sbc_new(int op, char *path, char *capacity, char *media_type)
>> +{
>> + int fd;
>> +
>> + if (!strncasecmp("disk", media_type, 4)) {
>> + uint32_t pos, size;
>> + char *buf;
>> +
>> + sscanf(capacity, "%d", &size);
>> + if (size == 0) {
>
> if (!size) is preferred.
>
>
>> + printf("Capacity must be > 0\n");
>> + exit(3);
>> + }
>> +
>> + buf = malloc(1024*1024);
>> + if (buf == NULL) {
>
> If (!buf) is preferred.
>
> I can fix them so I'll merge this patch.
>
> Thanks,
>
thanks for applying the patch.
regards
ronnie sahlberg
--
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