[0/4] DST: Distributed storage: Succumbed to live ant.

2008-01-22 Thread Evgeniy Polyakov

Distributed storage: Succumbed to live ant.

I'm pleased to announce the 14'th release of the distributed
storage subsystem (DST).

DST allows to form a storage on top of local and remote nodes
and combine them into linear or mirroring setup, which in
turn can be exported to remote nodes.

This is a maintenance release only.

Short changelog:
 * do not allocate big enough address structure on stack during
local export node initialization
Thanks to Serge Leschinsky and Konstantin Kalin for testing.

Overall list of features of the DST can be found on project's homepage:

http://tservice.net.ru/~s0mbre/old/?section=projects&item=dst

DST is also exported as a git tree available for clone and pull from
http://tservice.net.ru/~s0mbre/archive/dst/dst.git

Thank you.

Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]>


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[0/4] DST: Distributed storage: Groundhogs strike back: no New Year for humans

2007-12-26 Thread Evgeniy Polyakov

Distributed storage: Groundhogs strike back: no New Year for humans

I'm pleased to announce the 13'th release of the distributed
storage subsystem (DST).

DST allows to form a storage on top of local and remote nodes
and combine them into linear or mirroring setup, which in
turn can be exported to remote nodes.

Short changelog:
 * mirroring algorithm improvements
 * debug cleanups
 * extended mirroring initialization
 * documentation update
 * name is 'Groundhogs strike back: no New Year for humans' now

Overall list of features of the DST can be found on project's homepage:

http://tservice.net.ru/~s0mbre/old/?section=projects&item=dst

DST is also exported as a git tree available for clone and pull from
http://tservice.net.ru/~s0mbre/archive/dst/dst.git

Thank you.

Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]>


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [0/4] DST: Distributed storage.

2007-12-18 Thread Evgeniy Polyakov
Hi David.

On Tue, Dec 18, 2007 at 12:00:04PM +1100, David Chinner ([EMAIL PROTECTED]) 
wrote:
> On Mon, Dec 17, 2007 at 06:03:38PM +0300, Evgeniy Polyakov wrote:
> > DST passed all FS tests in LTP with XFS (modulo MAX_LOCK_DEPTH too low bug:
> > [ 8398.605691] BUG: MAX_LOCK_DEPTH too low!
> > [ 8398.609641] turning off the locking correctness validator.
> 
> Evgeniy, can you please start reporting these XFS problems you are
> coming across to the XFS list ([EMAIL PROTECTED])? They may be
> real issues that we need to address and we should not be hearing
> about them for the first time in the release notes for a block
> device project

It is not XFS as is, but lock validator warning. I just found it
working with XFS - it can be anything else: VFS, block layer, DST itself
(there is number of locks too), so I did not fill the bug against
filesystem, but pointed that some problem, probalby harmless,
exists in tested environment.

-- 
Evgeniy Polyakov
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [0/4] DST: Distributed storage.

2007-12-17 Thread David Chinner
On Mon, Dec 17, 2007 at 06:03:38PM +0300, Evgeniy Polyakov wrote:
> DST passed all FS tests in LTP with XFS (modulo MAX_LOCK_DEPTH too low bug:
> [ 8398.605691] BUG: MAX_LOCK_DEPTH too low!
> [ 8398.609641] turning off the locking correctness validator.

Evgeniy, can you please start reporting these XFS problems you are
coming across to the XFS list ([EMAIL PROTECTED])? They may be
real issues that we need to address and we should not be hearing
about them for the first time in the release notes for a block
device project

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[0/4] DST: Distributed storage.

2007-12-17 Thread Evgeniy Polyakov

Distributed storage.

I'm pleased to announce the 12'th release of the distributed
storage subsystem (DST).

DST allows to form a storage on top of local and remote nodes
and combine them into linear or mirroring setup, which in
turn can be exported to remote nodes.

Short changelog:
 * new improved mirroring algorithm.
This algorithm uses sliding window approach for full resync
and write log for partial resync.
 * fixed number of typos and debug cleanups
 * update inode size when linear algorithm changes the size of the
storage in run time
 * extended number of sysfs files and documentation for them
 * fixed leak in local export node setup
 * name is 'Dancing with the smoked neutrino' now

Overall list of features of the DST can be found on project's homepage:

http://tservice.net.ru/~s0mbre/old/?section=projects&item=dst

DST is also exported as a git tree available for clone and pull from
http://tservice.net.ru/~s0mbre/archive/dst/dst.git

Interested reader can test DST with 2.6.23 tree too
(it should compile fine, but was not tested).

DST passed all FS tests in LTP with XFS (modulo MAX_LOCK_DEPTH too low bug:
[ 8398.605691] BUG: MAX_LOCK_DEPTH too low!
[ 8398.609641] turning off the locking correctness validator.

this is not DST problem though), but it was not performed with
offline/online nodes.

Thank you.

Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]>


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[0/4] DST: Distributed storage.

2007-12-10 Thread Evgeniy Polyakov

Distributed storage.

I'm pleased to announce the 11'th release of the distributed
storage subsystem (DST). This is a maintenance release and includes
bug fixes and simple feature extensions only.

DST allows to form a storage on top of local and remote nodes
and combine them into linear or mirroring setup, which in
turn can be exported to remote nodes.

Short changelog:
 * wakeup state when mirror detected error to seedup reconnect
 * if connecting in csum mode to no-csum server, do not enable csums
 * do not clean queue until all users are removed
 * allow to increase size of the storage in linear add callback 
(with this change it is possible to add nodes into linear array
in real time without stopping storage. Filesystem has to be prepared
for the case when underlying device has changed its size.
Real-time addon of mirror nodes is also supported)
 * allow to delete gendisk only after device was started
 * dst debug config option
 * Name: Gamardjoba, genacvale! ('Hi friend' in georgian)

Great thanks to Matthew Hodgson <[EMAIL PROTECTED]> for debugging!

Overall list of features of the DST can be found on project's homepage:

http://tservice.net.ru/~s0mbre/old/?section=projects&item=dst

Thank you.

Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]>


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [0/4] DST: Distributed storage.

2007-12-04 Thread Evgeniy Polyakov
On Tue, Dec 04, 2007 at 04:56:26PM +, Christoph Hellwig ([EMAIL PROTECTED]) 
wrote:
> > >  * fixed bug with XFS metadata update (it can provide slab pages to the
> > > DST, so it is not allowed to transfer them using ->sendpage())
> 
> xfs hasn't been doing that anymore for quite a while.  Block drivers
> don't need hacks for it anymore, epsecially as it's not reliably
> detectable.

I use 2.6.22 and it is there, maybe it was changed later.
Right now it can be detected quite trivially, but can result in a little
more bio startup overhead, I just did not know that it was allowed and
thus did not have a check in the DST.

-- 
Evgeniy Polyakov
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [0/4] DST: Distributed storage.

2007-12-04 Thread Christoph Hellwig
> >  * fixed bug with XFS metadata update (it can provide slab pages to the
> > DST, so it is not allowed to transfer them using ->sendpage())

xfs hasn't been doing that anymore for quite a while.  Block drivers
don't need hacks for it anymore, epsecially as it's not reliably
detectable.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [0/4] DST: Distributed storage.

2007-12-04 Thread Evgeniy Polyakov
Hi Mike.

On Tue, Dec 04, 2007 at 10:25:29AM -0500, Mike Snitzer ([EMAIL PROTECTED]) 
wrote:
> Thanks for your continued work on DST.  I'd like to know if you've
> thought further about how synchronous mirroring would be best
> implemented with DST.
> 
> You shared you views some time ago via comments on your blog:
> http://tservice.net.ru/~s0mbre/blog/devel/dst/2007_11_05.html
> 
> At that time you were saying you'd add a sync bit to the request
> structure that is sent to remote nodes.  I'd imagine this would also
> require ordering of the block io, no?  Is order guaranteed when the
> requests are submitted over the DST protocol?  Otherwise how can you
> ensure a valid remote mirror (in the case of network disconnects,
> etc)?
> 
> Guaranteeing consistent data on all members of a mirror is important.
> The main question is: what mechanisms _should_ be used in DST to
> provide this consistency?  And do you have a timeframe for when DST
> might support such mechanisms for consistent data?
> 
> For the purpose of this discussion please assume that the disk cache
> is either write-through or battery-backed.

In this case sync bit would only imply waiting until all pending
requests reached remote nodes. This is not implemented yet.
Order of the requests for given node is guaranteed by DST core,
it is possible to perform multiple requests in parallel for/from
different nodes.

In the more generic case it should wait until data has reached media,
i.e. perform flushing.
I did not implement that since actually no multiple-device system in
Linux supports barriers (please note, that in this discussion sync bit
actually means a barrier in the block layer).

Protocol changes are pretty trivial and are absolutely transparent for
the DST core - only remote targets (both userspace and kernelspace)
should be changed to invoke ->issue_flush_fn() callback when needed for
underlying device and do not process new requests until flush completed.
Thus barrier bit can be attached to data packets and can also be single
requests without data.

DST will continue to collect data, but will not send it to remote nodes
(actually it can send it, but data will not be processed and will stay
in the remote's receiving queue). This is a main concern about barrier -
should or not main node continue to process requests if previous ones
have not reached media yet, thus I have not yet implemented barriers.

> regards,
> Mike

-- 
Evgeniy Polyakov
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [0/4] DST: Distributed storage.

2007-12-04 Thread Mike Snitzer
On Dec 4, 2007 9:37 AM, Evgeniy Polyakov <[EMAIL PROTECTED]> wrote:
>
> Distributed storage.
>
> I'm pleased to announce the 10'th release of the distributed
> storage subsystem (DST). This is a maintenance release and includes
> bug fixes and simple feature extensions only.
>
> DST allows to form a storage on top of local and remote nodes
> and combine them into linear or mirroring setup, which in
> turn can be exported to remote nodes.
>
> Short changelog:
>  * fixed bug with XFS metadata update (it can provide slab pages to the
> DST, so it is not allowed to transfer them using ->sendpage())
>  * fixed async error completion path
>  * extended netlink communication channel to report errors back to userspace
>  * DST name is now "The 10'th dynasty of smuggled slothes"
>  * number of fixes for userspace DST target
>
> Great thanks to Matthew Hodgson <[EMAIL PROTECTED]> for debugging and
> fixes for userspace DST target and preliminary netlink extension patches.
>
> Overall list of features of the DST can be found on project's homepage:
>
> http://tservice.net.ru/~s0mbre/old/?section=projects&item=dst
>
> Thank you.
>
> Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]>

Evgeniy,

Thanks for your continued work on DST.  I'd like to know if you've
thought further about how synchronous mirroring would be best
implemented with DST.

You shared you views some time ago via comments on your blog:
http://tservice.net.ru/~s0mbre/blog/devel/dst/2007_11_05.html

At that time you were saying you'd add a sync bit to the request
structure that is sent to remote nodes.  I'd imagine this would also
require ordering of the block io, no?  Is order guaranteed when the
requests are submitted over the DST protocol?  Otherwise how can you
ensure a valid remote mirror (in the case of network disconnects,
etc)?

Guaranteeing consistent data on all members of a mirror is important.
The main question is: what mechanisms _should_ be used in DST to
provide this consistency?  And do you have a timeframe for when DST
might support such mechanisms for consistent data?

For the purpose of this discussion please assume that the disk cache
is either write-through or battery-backed.

regards,
Mike
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[0/4] DST: Distributed storage.

2007-12-04 Thread Evgeniy Polyakov

Distributed storage.

I'm pleased to announce the 10'th release of the distributed
storage subsystem (DST). This is a maintenance release and includes
bug fixes and simple feature extensions only.

DST allows to form a storage on top of local and remote nodes
and combine them into linear or mirroring setup, which in
turn can be exported to remote nodes.

Short changelog:
 * fixed bug with XFS metadata update (it can provide slab pages to the
DST, so it is not allowed to transfer them using ->sendpage())
 * fixed async error completion path
 * extended netlink communication channel to report errors back to userspace
 * DST name is now "The 10'th dynasty of smuggled slothes"
 * number of fixes for userspace DST target

Great thanks to Matthew Hodgson <[EMAIL PROTECTED]> for debugging and
fixes for userspace DST target and preliminary netlink extension patches.

Overall list of features of the DST can be found on project's homepage:

http://tservice.net.ru/~s0mbre/old/?section=projects&item=dst

Thank you.

Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]>


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[0/4] dst: Distributed storage.

2007-11-29 Thread Evgeniy Polyakov

Distributed storage.

I'm pleased to announce the 9'th release of the distributed
storage subsystem (DST). This is maintenance release and include
bug fixing only.

DST allows to form a storage on top of local and remote nodes
and combine them into linear or mirroring setup, which in
turn can be exported to remote nodes.

Short changelog:
 * use node's size in sectors instead of bytes
 * fixed old/new ages for the first node. 
Error spotted by Matthew Hodgson <[EMAIL PROTECTED]>
 * fixed debug printk declaration
 * it is now called 'astonishingly screwed tapeworm'

Overall list of features of the DST can be found on project's homepage:

http://tservice.net.ru/~s0mbre/old/?section=projects&item=dst

Thank you.

Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]>


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[take8 0/4] dst: Distributed storage.

2007-11-20 Thread Evgeniy Polyakov

Distributed storage.

I'm pleased to announce the 8'th release of the distributed
storage subsystem (DST). This is a maintenance release and includes
bug fixes only.

DST allows to form a storage on top of local and remote nodes
and combine them into linear or mirroring setup, which in
turn can be exported to remote nodes.

Short changelog:
 * cleanup sysfs files on error path.
Patch by Chris Madden <[EMAIL PROTECTED]>

Overall list of features of the DST can be found on project's homepage:

http://tservice.net.ru/~s0mbre/old/?section=projects&item=dst

Thank you.

Signed-off-by: Evgeniy Polyakov <[EMAIL PROTECTED]>


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html