From: Edward Shishkin <edward.shishkin@gmail.com>
To: Ivan Shapovalov <intelfx100@gmail.com>,
ReiserFS development mailing list
<reiserfs-devel@vger.kernel.org>
Subject: Re: [patch] reiser4: port for Linux-4.1
Date: Sat, 04 Jul 2015 15:53:05 +0800 [thread overview]
Message-ID: <559790E1.2020009@gmail.com> (raw)
In-Reply-To: <1435793708.3758.14.camel@gmail.com>
On 07/02/2015 07:35 AM, Ivan Shapovalov wrote:
> On 2015-06-30 at 10:58 +0200, Edward Shishkin wrote:
>> On 06/30/2015 10:06 AM, Ivan Shapovalov wrote:
>>> On 2015-06-30 at 09:30 +0200, Edward Shishkin wrote:
>>>> On 06/30/2015 09:13 AM, Ivan Shapovalov wrote:
>>>>> On 2015-06-30 at 01:54 +0800, Edward Shishkin wrote:
>>>>>> Oh, bad
>>>>>> generic_write_checks() doesn't change offset now,
>>>>>> please, ignore this patch..
>>>>> Hi,
>>>> Hello.
>>>>
>>>>> it does change it, but in struct kiocb instance, but we keep
>>>>> using
>>>>> initial "off".
>>>>>
>>>>> i'm trying to port file_operations' ->write() to ->write_iter()
>>>>> right
>>>> Hmm. You'll need to modify ->write() of both file plugins -
>>>> it's not simple, esp. for cryptcompress, which performs writes by
>>>> chunks (4, 8, ... 64K)
>>> Yeah, I understand. However, it doesn't seem too complex. It's
>>> simply
>>> iov_iter* instead of a char*+size_t. I just need to grok how does
>>> the
>>> page cache work (wrt. "faulting in" pages, flushing caches, error
>>> handling, etc).
>>>
>>> I'm now trying to read the generic code together with btrfs'
>>> implementation, compare bit-by-bit and implement the same in
>>> reiser4.
>>>
>>>>> now, FTR. The obvious fix (assign back ki_pos to off) is too
>>>>> ugly
>>>>> :)
>>>> may be just create a static inline function
>>>> reiser4_write_check() ?
>>>> {
>>>> ...
>>>> generic_write_check();
>>>> *off = iocb.ki_pos;
>>>> }
>>> Sure, it will work, but right now, as everything in vfs moves
>>> towards
>>> *_iter methods, I guess there could be some sense in moving to
>>> those as
>>> well...
>>>
>>> Yes, I understand that vfs is a fast-moving target, but why not?
>> I afraid it'll get stuck in the queue "for review"..
> Then let's say that we have an "experimental"/"unreviewed" branch :)
>
>> BTW, we need to do something with the "precise discard extension":
>> http://sourceforge.net/projects/reiser4/files/patches/
>> It reports erase unit 512 bytes for my samsung SSD 840 EVO.
>> You said that this is incorrect. If so, then how to retrieve correct
>> discard parameters?
> I was wrong about usage of `hdparm -I`. The "limit" it says about
> is in fact "how many 512-byte blocks worth of LBA ranges can be given
> to the drive in a single ATA trim command"[1].
>
> In fact, the standard (referenced below) doesn't seem to contain
> any references to the trim granularity, let alone to define any means
> to query it.
>
> So, I guess, the kernel will never tell us correct values for ATA SSDs,
> and the only option is direct testing at mount time.
And how to test directly at mount time?
It seems that nobody cares about it..
E.g. I have the following (samsung SSD 840 EVO):
reiser4: sdb1: enable discard support (erase unit 512 bytes, alignment 0
bytes)
Thanks,
Edward.
>
> [1]: ATA8-ACS3 (nevar.pl/pliki/ATA8-ACS-3.pdf), 7.16.7.55
> "IDENTIFY DEVICE" - "Input From the Device to the Host Data
> Structure" - "7.16.7.55 Word 105: Maximum number of 512-byte
> blocks of LBA Range Entries per DATA SET MANAGEMENT command".
>
> Thanks,
next prev parent reply other threads:[~2015-07-04 7:53 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-26 14:06 [patch] reiser4: port for Linux-4.1 Edward Shishkin
2015-06-29 17:54 ` Edward Shishkin
2015-06-30 7:13 ` Ivan Shapovalov
2015-06-30 7:30 ` Edward Shishkin
2015-06-30 8:06 ` Ivan Shapovalov
2015-06-30 8:58 ` Edward Shishkin
2015-07-01 23:35 ` Ivan Shapovalov
2015-07-04 7:53 ` Edward Shishkin [this message]
2015-07-04 17:53 ` Ivan Shapovalov
2015-07-04 18:33 ` Edward Shishkin
2015-07-05 13:08 ` Ivan Shapovalov
2015-07-05 13:46 ` Edward Shishkin
2015-07-05 15:11 ` Ivan Shapovalov
2015-07-05 15:43 ` Edward Shishkin
[not found] ` <CADW=+3=J7Rt1yxtTfW=ZCLC40-D1FPCFR7KGSyp_YLgcRcH3FQ@mail.gmail.com>
2015-07-05 15:13 ` Ivan Shapovalov
2015-07-06 8:56 ` Edward Shishkin
2016-02-09 17:53 ` Edward Shishkin
2016-02-10 4:04 ` Ivan Shapovalov
2016-02-10 9:01 ` Edward Shishkin
2016-04-06 16:54 ` Ivan Shapovalov
2016-04-06 18:03 ` Edward Shishkin
2015-07-04 18:06 ` Ivan Shapovalov
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=559790E1.2020009@gmail.com \
--to=edward.shishkin@gmail.com \
--cc=intelfx100@gmail.com \
--cc=reiserfs-devel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.