[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <50931601.4060102@symas.com>
Date: Thu, 01 Nov 2012 17:38:25 -0700
From: Howard Chu <hyc@...as.com>
To: General Discussion of SQLite Database <sqlite-users@...ite.org>
CC: Alan Cox <alan@...rguk.ukuu.org.uk>,
Vladislav Bolkhovitin <vst@...b.net>,
Theodore Ts'o <tytso@....edu>, drh@...ci.com,
linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org
Subject: Re: [sqlite] light weight write barriers
Alan Cox wrote:
>> How about that recently preliminary infrastructure to send ORDERED commands
>> instead of queue draining was deleted from the kernel, because "there's no
>> difference where to drain the queue, on the kernel or the storage side"?
>
> Send patches.
Isn't any type of kernel-side ordering an exercise in futility, since
a) the kernel has no knowledge of the disk's actual geometry
b) most drives will internally re-order requests anyway
c) cheap drives won't support barriers
Even assuming the drives honored all your requests without lying, how would
you really want this behavior exposed? From the userland perspective, there
are very few apps that care. Probably only transactional databases, really.
As a DB author, I'm not sure I'd be keen on this as an open() or fcntl()
option. Databases that really care would be on dedicated filesystems and/or
devices, so per-file control would be tedious. You would most likely want to
say "all writes to this string of devices should be order-preserving" and
forget about it. With that guarantee, a careful writer can have perfectly
intact data structures all the time, without ever slowing down for a fsync.
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists