Re: fsync() and LVM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 16, 2009 at 2:50 PM, Les Mikesell <lesmikesell@gmail.com> wrote:
> Stuart D. Gathman wrote:
>>
>>> No, it's more than that. PostgreSQL gurus say LVM doesn't honor fsync(),
>>
>> That is clearly wrong - since fsync() isn't LVM's responsibility.
>> I think they mean that fsync() can't garrantee that any writes are
>> actually on the platter.
>>
>>> that data doesn't even get to the controller, and it doesn't matter
>>> if the disks have write caches enabled or not. Or if they have battery
>>> backed
>>> caches. Please read the thread I linked. If what they say it's true,
>>
>> That is clearly wrong.  If writes don't work, nothing works.
>>
>>> you can't use LVM for anything that needs fsync(), including mail queues
>>> (sendmail), mail storage (imapd), as such. So I'd really like to know.
>>
>> fsync() is a file system call that writes dirty buffers, and then waits
>> for the physical writes to complete.  It is only the waiting part that
>> is broken.
>
> It's a yes or no question...  Fsync() either guarantees that the write is
> committed to physical media so the application can continue knowing that
> it's own transactional expectations are met (i.e. you can crash and recover
> that piece of data), or it is broken.  If it doesn't wait for completion, it
> can't possibly report the correct status.
>

This discussion seems a bit bizarre to me.  Many apps require data get
to stable memory in a well defined way.  Barriers is certainly one way
to do that, but I don't think barriers are supported by LVM, mdraid,
or drbd.

Those are some very significant subsystems.  I have to believe
filesystems have another way to implement fsync if barriers are not
supported in the stack of block susbsystems.

Maybe this discussion needs to move to a filesystem list, since it is
the filesystem that is responsible for making fsync() work even in the
absence of barriers.

Greg
-- 
Greg Freemyer
Head of EDD Tape Extraction and Processing team
Litigation Triage Solutions Specialist
http://www.linkedin.com/in/gregfreemyer
First 99 Days Litigation White Paper -
http://www.norcrossgroup.com/forms/whitepapers/99%20Days%20whitepaper.pdf

The Norcross Group
The Intersection of Evidence & Technology
http://www.norcrossgroup.com

_______________________________________________
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/

[Index of Archives]     [Gluster Users]     [Kernel Development]     [Linux Clusters]     [Device Mapper]     [Security]     [Bugtraq]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]

  Powered by Linux