linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Damien Le Moal <Damien.LeMoal@wdc.com>
To: Viacheslav Dubeyko <slava@dubeyko.com>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"linux-xfs@vger.kernel.org" <linux-xfs@vger.kernel.org>,
	Christoph Hellwig <hch@lst.de>
Cc: Johannes Thumshirn <jthumshirn@suse.de>,
	Hannes Reinecke <hare@suse.de>, Ting Yao <d201577678@hust.edu.cn>
Subject: Re: [PATCH RFC] fs: New zonefs file system
Date: Thu, 18 Jul 2019 00:57:19 +0000	[thread overview]
Message-ID: <BYAPR04MB5816F5F607F5061AD53499F5E7C80@BYAPR04MB5816.namprd04.prod.outlook.com> (raw)
In-Reply-To: 1563295882.2741.49.camel@dubeyko.com

Slava,

On 2019/07/17 1:51, Viacheslav Dubeyko wrote:
>> As mentioned previously, zonefs goal is to represent zones of a zoned
>> block
>> device with files, thus providing a simple abstraction one file ==
>> one zone and
>> simplifying application implementation. And this means that the only
>> sensible
>> use case for zonefs is applications using large container like files.
>> LSM-tree
>> based applications being a very good match in this respect.
>>
> 
> 
> I am talking not about file size but about number of files on the
> volume here. I meant that file system could easily contain about
> 100,000 files on the volume. So, if every file uses 256 MB zone then
> 100,000 files need in 24 TB volume.

zonefs provides a different representation of the raw device. It is not
abstracting it. One file is one zone. So if the use case needs more files, then
another device model must be used (higher capacity or smaller zone size). It is
as simple as that.

>> What do you mean allocation scheme ? There is none ! one file == one
>> zone and
>> all files are fully provisioned and allocated on mount. zonefs does
>> not allow
>> the creation of files and there is no dynamic "block allocation".
>> Again, please
>> do not consider zonefs as a normal file system. It is closer to a raw
>> block
>> device interface than to a fully featured file system.
>>
> 
> OK. It sounds that a file cannot grow beyond the allocated number of
> contigous zone(s) during the mount operation. Am I correct? But if a
> file is needed to be resized what can be done in such case? Should it
> need to re-mount the file system?

In the case of sequential zone files, one file always represents a single zone.
In the case of conventional zones, the default behavior is the same, and
optionally one file can be a set of contiguous conventional zones. And a remount
can switch between one conventional zone per file or aggregated conventional
zones files. Conventional zone files have a fixed size set to the zone size.
These files cannot be truncated. For sequential zone files, only truncation to 0
is possible. That is equivalent to doing a zone reset.

A remount will not allow resizing the maximum size of files because that is
determine by the device zone size, which is fixed and cannot be changed.

> By the way, does this approach provides the way to use the device's
> internal parallelism? What should anybody take into account for
> exploiting the device's internal parallelism?

zonefs uses the standard BIO interface which does not have any provision for
exposing HW specific parallel resources. So no, there is no such feature
implemented. Zoned block devices are for now SMR HDDs only anyway, and HDDs are
have no parallelism.


-- 
Damien Le Moal
Western Digital Research

  reply	other threads:[~2019-07-18  0:57 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-12  3:00 [PATCH RFC] fs: New zonefs file system Damien Le Moal
2019-07-12  8:00 ` Johannes Thumshirn
2019-07-12  8:31   ` Damien Le Moal
2019-07-12  8:47     ` Johannes Thumshirn
2019-07-12 17:10 ` Viacheslav Dubeyko
2019-07-12 22:56   ` Damien Le Moal
2019-07-15 16:54     ` Viacheslav Dubeyko
2019-07-15 23:53       ` Damien Le Moal
2019-07-16 16:51         ` Viacheslav Dubeyko
2019-07-18  0:57           ` Damien Le Moal [this message]
2019-07-15  1:19 ` Dave Chinner
2019-07-15  6:57   ` Johannes Thumshirn
2019-07-16 11:21   ` Damien Le Moal
2019-07-18 14:11 ` Jeff Moyer
2019-07-18 23:02   ` Damien Le Moal
2019-07-19 14:25     ` Jeff Moyer
2019-07-20  1:07       ` Damien Le Moal
2019-07-22  0:12         ` Dave Chinner
2019-07-20  7:15       ` Damien Le Moal
2019-07-22  0:04         ` Dave Chinner
2019-07-22  0:09           ` Damien Le Moal

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=BYAPR04MB5816F5F607F5061AD53499F5E7C80@BYAPR04MB5816.namprd04.prod.outlook.com \
    --to=damien.lemoal@wdc.com \
    --cc=d201577678@hust.edu.cn \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=jthumshirn@suse.de \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=slava@dubeyko.com \
    /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;
as well as URLs for NNTP newsgroup(s).