From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
To: Kyungmin Park <kmpark@infradead.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
Lukas Czerner <lczerner@redhat.com>,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH v6] fat: Batched discard support for fat
Date: Tue, 24 May 2011 16:32:16 +0900 [thread overview]
Message-ID: <87mxick0zj.fsf@devron.myhome.or.jp> (raw)
In-Reply-To: <BANLkTi=i5S1Pj6xOm1cY1XSUxx0jByq+JQ@mail.gmail.com> (Kyungmin Park's message of "Tue, 24 May 2011 15:55:34 +0900")
Kyungmin Park <kmpark@infradead.org> writes:
>>> It's handled at trim implementation. It just trim the fat aware block.
>>> Not trim the blocks which fat doesn't know.
>>> As fat don't use the block 0, 1, it adjust the start block at kernel.
>>>
>>> + if (start < FAT_START_ENT)
>>> + start = FAT_START_ENT;
>>>
>>> and don't exceed the max cluster size.
>>>
>>> + len = (len > sbi->max_cluster) ? sbi->max_cluster : len;
>>>
>>> + for (count = start; count <= len; count++) {
>>
>> Yes. We _adjust_ from 0 to 2 here, so, the end of block also have to be
>> _adjusted_.
>>
>> From other point of view, if userland specified 0 - max-length
>> (i.e. number of blocks), what happens? It would trim block of 2 -
>> (max-length - 2), right?
>
> No, length is not changed. so max-length is used.
No, no. Userland will know max-length from statvfs, right? So, let's
assume it is 100 (->f_blocks) * 1024 (->f_bsize).
Now, userland know about max length, 102400, ok? Let's start to trim.
Assume, userland want to trim whole. So, userland will specify like
trim(0, 102400).
What happen in kernel actually?
Current implement doesn't map blocks. So, in the case of FAT, it adjusts
from 0 to 2 * 1024.
So, it trims between 2048 and 102400. The problem is here. FS layout is
actually, 2048 and (102400 + 2048). I.e. actually userland has to do
trim(2048, 102400 + 2048)
to specify whole. How to know 2048?
See what I'm saying?
FAT has liner block space, so the problem is small against mapping. But
other FSes has bigger problem.
Thanks.
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
next prev parent reply other threads:[~2011-05-24 7:32 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-28 10:34 [PATCH v6] fat: Batched discard support for fat Kyungmin Park
2011-03-29 5:04 ` OGAWA Hirofumi
2011-03-29 5:11 ` Kyungmin Park
2011-03-29 6:37 ` OGAWA Hirofumi
2011-03-29 6:42 ` Kyungmin Park
2011-03-29 7:28 ` OGAWA Hirofumi
2011-03-30 13:22 ` Arnd Bergmann
2011-03-30 13:50 ` Lukas Czerner
2011-03-30 13:58 ` Kyungmin Park
2011-03-30 14:45 ` Arnd Bergmann
2011-03-30 14:20 ` Arnd Bergmann
2011-03-30 14:44 ` Kyungmin Park
2011-03-30 15:06 ` Arnd Bergmann
2011-05-24 1:18 ` Kyungmin Park
2011-05-24 4:47 ` OGAWA Hirofumi
2011-05-24 5:21 ` Kyungmin Park
2011-05-24 6:39 ` OGAWA Hirofumi
2011-05-24 6:55 ` Kyungmin Park
2011-05-24 7:32 ` OGAWA Hirofumi [this message]
2011-05-24 8:54 ` Kyungmin Park
2011-05-24 9:44 ` OGAWA Hirofumi
2011-05-24 9:25 ` Lukas Czerner
2011-05-24 10:07 ` OGAWA Hirofumi
2011-05-24 10:44 ` Lukas Czerner
2011-05-24 11:14 ` OGAWA Hirofumi
2011-05-24 11:32 ` Lukas Czerner
2011-05-24 12:19 ` OGAWA Hirofumi
2011-05-24 13:30 ` Lukas Czerner
2011-05-24 14:19 ` OGAWA Hirofumi
2011-08-31 13:02 ` Kyungmin Park
2011-08-31 17:51 ` OGAWA Hirofumi
2011-10-05 14:38 ` Lukas Czerner
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=87mxick0zj.fsf@devron.myhome.or.jp \
--to=hirofumi@mail.parknet.co.jp \
--cc=arnd@arndb.de \
--cc=kmpark@infradead.org \
--cc=lczerner@redhat.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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