From: Zdenek Kabelac <zkabelac@redhat.com>
To: LVM general discussion and development <linux-lvm@redhat.com>
Subject: Re: [linux-lvm] Lvm think provisioning query
Date: Tue, 3 May 2016 16:49:46 +0200 [thread overview]
Message-ID: <5728BA8A.3040009@redhat.com> (raw)
In-Reply-To: <CAPLCSGBXKXZLthYSFGUkG+kGO=8aUXh8SS4wh+6Ynj8A7xfh2w@mail.gmail.com>
On 3.5.2016 14:21, Bhasker C V wrote:
> Here are the answers to your questions
>
> 1. fsck does not report any error and the file contained inside the FS is
> definitely greater than the allocatable LV size
> # fsck.ext4 -f -C0 /dev/virtp/vol01
> e2fsck 1.43-WIP (15-Mar-2016)
> Pass 1: Checking inodes, blocks, and sizes
> Pass 2: Checking directory structure
> Pass 3: Checking directory connectivity
> Pass 4: Checking reference counts
> Pass 5: Checking group summary information
> /dev/virtp/vol01: 12/65536 files (8.3% non-contiguous), 30492/262144 blocks
>
> 2. Size of the file
>
> # du -hs fil
> 69M fil
>
> (please note here that the LV virtual size is 1G but the parent pool size is
> just 40M I expect the file not to exceed 40M at any cost.)
>
> 3. lvs
> # lvs
> LV VG Attr LSize Pool Origin Data% Meta% Move Log
> Cpy%Sync Convert
> virtpool virtp twi-aotzD- 40.00m 100.00 1.37
> vol01 virtp Vwi-aotz-- 1.00g virtpool
>
>
> You can do this on any virtual machine. I use qemu with virtio back-end.
But this is VERY different case.
You filesystem IS 1GB in size and ext4 provisions mostly all 'metadatata'
during first mount.
So thin-pool has usually all filesystem's metadata space 'available' for
updating and if you use mount option data=ordered (being default) - it
happens that 'write' to provisioned space is OK, while write to 'data' space
gets async page lost.
And this all depends how are you willing to write your data.
Basically if you use page-cache and ignore 'fdatasync()' you NEVER know what
has been stored in disk (living in a dreamworld basically)
(i.e. close of your program/file descriptor DOES NOT flush)
When thin-pool gets full and you have not managed to resize your data LV
in-time various thing may go wrong - this is a fuzzy tricky land.
Now few people (me included) believe thin volume should error 'ANY' further
write when there was an overprovisioning error on a device and I'm afraid this
can't be solved elsewhere then in target driver.
ATM this thin volume puts filesystem into very complex situation which does
not have 'winning' scenario in number of cases - so we need to define number
of policies.
BUT ATM we clearly communicate - when you run OUT of thin-pool space
it's serious ADMIN failure - and we could only try to lower damage.
Thin-pool overfull CANNOT be compared to writing to a full filesystem
and there is absolutely no guarantee about content of non-flushed files!
Expecting you run out-of-space in thin-pool and nothing bad can happens is
naive ATM - we are cooperating at least with XFS/ext4 developers to solve some
corner case, but there is still a lot of work to do as we exercise quite
unusual error paths for them.
Zdenek
next prev parent reply other threads:[~2016-05-03 14:49 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-27 12:33 [linux-lvm] Lvm think provisioning query Bhasker C V
2016-04-27 14:33 ` Zdenek Kabelac
2016-04-28 14:36 ` Bhasker C V
2016-04-29 8:13 ` Zdenek Kabelac
2016-05-03 6:59 ` Bhasker C V
2016-05-03 9:54 ` Zdenek Kabelac
2016-05-03 12:21 ` Bhasker C V
2016-05-03 14:49 ` Zdenek Kabelac [this message]
2016-05-03 15:51 ` Xen
2016-05-03 16:27 ` Zdenek Kabelac
2016-05-03 17:07 ` Gionatan Danti
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5728BA8A.3040009@redhat.com \
--to=zkabelac@redhat.com \
--cc=linux-lvm@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).