public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Thomas Schöbel-Theuer" <tst@1und1.de>
To: Christoph Hellwig <hch@infradead.org>
Cc: Greg KH <gregkh@linuxfoundation.org>,
	Thomas Schoebel-Theuer <tst@schoebel-theuer.de>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 49/50] mars: generic pre-patch for mars
Date: Thu, 03 Jul 2014 08:10:33 +0200	[thread overview]
Message-ID: <53B4F3D9.8050009@1und1.de> (raw)
In-Reply-To: <20140702184143.GA3061@infradead.org>

>> Please take into account that MARS Light is not just a "device driver",
>> but a long-distance distributed system dealing with huge masses of state
>> information.
> Which doesn't matter.  No kernel driver has a business messing with the
> filesystem namespace.  Especially no maintaining magic symlink farms.
>

I see the following alternative solutions for this:

a) MARS Light cannot go upstream because it is viewed as a driver
violating the rules. In this case, I could retry submission some years
laters when (subsets of) MARS Full strictly obey some hierarchy rules
which I have to know completely in advance in order to no longer make
any mistakes. However, I am not sure whether the limits in the solution
space are really appropriate for the problem space; I would have to make
new prototype implementations and compare them to other solutions. Only
after that, I would be able to decide whether to go upstream at all, or
to continue an out-of-tree project.

or

b) you permit me exceptions from the rules, justified by the fact that a
_distributed_ "driver" for long-distance replication of terabytes of
data (constructed for long-distance replication of _whole_ _datacenters_
) needs dynamically growing storage space for bulk data. In order to not
re-invent the wheel, you permit me storing both data and metadata in a
reserved filesystem instance. Storing metadata _together_ with the
_corresponding_ (!) bulk data is justified by the fact that separate
storage spaces would need some additional means for ensuring
_consistency_ between them in case of node failures etc.

or

c) MARS Light is viewed as a distributed system, similar to a cluster
filesystem, which just happens to export a block device to userspace (at
current stage of development; notice that the generic brick framework is
not limited to the block device layer).

or

d) both MARS Light and the future Full is viewed as a new generic
framework. In current stage, only some parts dealing with block devices
are implemented. In later stages of MARS Full, the future hierarchy
rules will be automatically checked / established by some future
strategy bricks, according to IOP design principles as proposed in my
papers / in my monography (a detailed discussion is probably out of
scope of this discussion).

Possibly there are further alternatives.

At least in cases c) and d), the sourcecode should IMHO not go to
drivers/block/ but somewhere else (please give me some suggestions; this
is why ./rework-mars-for-upstream.pl has is easily configurable).

Cheers,

Thomas


  reply	other threads:[~2014-07-03  6:11 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-01 21:46 Please review: generic brick framework + first application: asynchronous block device replication Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 01/50] mars: add new file include/linux/brick/lamport.h Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 02/50] mars: add new file drivers/block/mars/lamport.c Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 03/50] mars: add new file include/linux/brick/brick_say.h Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 04/50] mars: add new file drivers/block/mars/brick_say.c Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 05/50] mars: add new file include/linux/brick/brick_mem.h Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 06/50] mars: add new file drivers/block/mars/brick_mem.c Thomas Schoebel-Theuer
2014-07-03 15:01   ` Michal Marek
2014-07-01 21:46 ` [PATCH 07/50] mars: add new file include/linux/brick/brick_checking.h Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 08/50] mars: add new file include/linux/brick/meta.h Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 09/50] mars: add new file include/linux/brick/brick.h Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 10/50] mars: add new file drivers/block/mars/brick.c Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 11/50] mars: add new file include/linux/brick/lib_pairing_heap.h Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 12/50] mars: add new file include/linux/brick/lib_queue.h Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 13/50] mars: add new file include/linux/brick/lib_rank.h Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 14/50] mars: add new file drivers/block/mars/lib_rank.c Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 15/50] mars: add new file include/linux/brick/lib_timing.h Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 16/50] mars: add new file drivers/block/mars/lib_timing.c Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 17/50] mars: add new file include/linux/brick/lib_limiter.h Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 18/50] mars: add new file drivers/block/mars/lib_limiter.c Thomas Schoebel-Theuer
2014-07-01 21:46 ` [PATCH 19/50] mars: add new file include/linux/xio.h Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 20/50] mars: add new file drivers/block/mars/xio_bricks/xio.c Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 21/50] mars: add new file include/linux/xio_net.h Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 22/50] mars: add new file drivers/block/mars/xio_bricks/xio_net.c Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 23/50] mars: add new file include/linux/lib_mapfree.h Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 24/50] mars: add new file drivers/block/mars/xio_bricks/lib_mapfree.c Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 25/50] mars: add new file include/linux/lib_log.h Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 26/50] mars: add new file drivers/block/mars/xio_bricks/lib_log.c Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 27/50] mars: add new file include/linux/xio/xio_bio.h Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 28/50] mars: add new file drivers/block/mars/xio_bricks/xio_bio.c Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 29/50] mars: add new file include/linux/xio/xio_aio.h Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 30/50] mars: add new file drivers/block/mars/xio_bricks/xio_aio.c Thomas Schoebel-Theuer
2014-07-03 19:59   ` Andi Kleen
2014-07-01 21:47 ` [PATCH 31/50] mars: add new file include/linux/xio/xio_client.h Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 32/50] mars: add new file drivers/block/mars/xio_bricks/xio_client.c Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 33/50] mars: add new file include/linux/xio/xio_if.h Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 34/50] mars: add new file drivers/block/mars/xio_bricks/xio_if.c Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 35/50] mars: add new file include/linux/xio/xio_copy.h Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 36/50] mars: add new file drivers/block/mars/xio_bricks/xio_copy.c Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 37/50] mars: add new file include/linux/xio/xio_trans_logger.h Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 38/50] mars: add new file drivers/block/mars/xio_bricks/xio_trans_logger.c Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 39/50] mars: add new file include/linux/mars_light/light_strategy.h Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 40/50] mars: add new file drivers/block/mars/mars_light/light_strategy.c Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 41/50] mars: add new file drivers/block/mars/mars_light/light_net.c Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 42/50] mars: add new file include/linux/xio/xio_server.h Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 43/50] mars: add new file drivers/block/mars/xio_bricks/xio_server.c Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 44/50] mars: add new file include/linux/mars_light/mars_proc.h Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 45/50] mars: add new file drivers/block/mars/mars_light/mars_proc.c Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 46/50] mars: add new file drivers/block/mars/mars_light/mars_light.c Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 47/50] mars: add new file drivers/block/mars/Makefile Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 48/50] mars: add new file drivers/block/mars/Kconfig Thomas Schoebel-Theuer
2014-07-01 21:47 ` [PATCH 49/50] mars: generic pre-patch for mars Thomas Schoebel-Theuer
2014-07-01 22:36   ` Greg KH
2014-07-02  7:19     ` Thomas Schoebel-Theuer
2014-07-02  8:24       ` Greg KH
2014-07-02  9:02         ` Thomas Schoebel-Theuer
2014-07-02 16:36           ` Greg KH
2014-07-02 13:27         ` Christoph Hellwig
2014-07-02 14:36           ` Thomas Schöbel-Theuer
2014-07-02 14:50             ` Christoph Hellwig
2014-07-02 16:20               ` Thomas Schöbel-Theuer
2014-07-02 18:41                 ` Christoph Hellwig
2014-07-03  6:10                   ` Thomas Schöbel-Theuer [this message]
2014-07-03 10:41                     ` Christoph Hellwig
2014-07-01 21:47 ` [PATCH 50/50] mars: activate MARS in drivers/block/mars/ Thomas Schoebel-Theuer

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=53B4F3D9.8050009@1und1.de \
    --to=tst@1und1.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tst@schoebel-theuer.de \
    /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