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

Re: [MirageOS-devel] Irmin on BLOCK



I'm implementing this for a Part II project, so I've decided to go ahead and implement my own simple FS for BLOCK, rather than using IRMIN.

However, I'm coming across the difficulties that Dave mentioned, so I'm reading up on B-trees as we speak. I may well end up writing a simple B-tree library, so I'll let know you if I do.

Thanks for the help,

Rupert

On Tue, Nov 10, 2015 at 4:48 PM Rupert Horlick <ruperthorlick@xxxxxxxxx> wrote:
I'm implementing this for a Part II project, so I've decided to go ahead and implement my own simple FS for BLOCK, rather than using IRMIN.

However, I'm coming across the difficulties that Dave mentioned, so I'm reading up on B-trees as we speak. I may well end up writing a simple B-tree library, so I'll let know you if I do.

Thanks for the help,

Rupert

On Tue, Nov 10, 2015 at 12:08 PM David Scott <scott.dj@xxxxxxxxx> wrote:
On Mon, Nov 9, 2015 at 3:46 PM, Thomas Leonard <talex5@xxxxxxxxx> wrote:
Hi Rupert,

The main thing is to implement Irmin's AO signature:

https://github.com/mirage/irmin/blob/4ccccb5d3117e4cc1ecff4a83cc508da59006423/lib/irmin.mli#L360

i.e. given a block of data, write it to disk and return its hash.
Given a hash, return the file data.

You could write the data sequentially to the disk and keep an index of
where everything has been stored.

I guess a first version of this could keep the whole index cached in memory for convenience and write updates to a log, flushing a copy to disk every now and again using double-buffering for example. See mirage-block-volume[1]'s use of shared-block-ring[2] for an example of this. For bigger amounts of data we'd probably want to keep the index on disk too -- perhaps we should have some kind of on-disk b-tree library? I was wondering about the format used by Linux's dm-thin driver[3]
Â
Cheers,
Dave


Or, you could perhaps use the file's
hash to decide where to store it. There's also irmin-chunk
(https://github.com/mirage/irmin-chunk) which says it might help with
raw device backends, although I'm not sure what the idea is there.


On 7 November 2015 at 18:11, Rupert Horlick <rh572@xxxxxxxxx> wrote:
> Hi all,
>
> Iâm investigating using Irmin on top of a Mirage BLOCK implementation. Iâve been reading through the source, but I was wondering if anyone could point me to the files that will be of most use for this?
>
> Thanks,
>
> Rupert
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel



--
Dr Thomas Leonard    http://roscidus.com/blog/
GPG: DA98 25AE CAD0 8975 7CDAÂ BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel



--
Dave Scott
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.