All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Chaloupka <jchaloup-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Hugh Dickins <hughd-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	"Michael Kerrisk (man-pages)"
	<mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] madvise.2: madvise(, , MADV_REMOVE) supports ext4, ocfs2 and xfs as well
Date: Sat, 18 Oct 2014 17:11:34 +0200	[thread overview]
Message-ID: <54428326.9050908@redhat.com> (raw)
In-Reply-To: <alpine.LSU.2.11.1410171408260.11102-fupSdm12i1nKWymIFiNcPA@public.gmane.org>


On 10/17/2014 11:52 PM, Hugh Dickins wrote:
> On Fri, 17 Oct 2014, Michael Kerrisk (man-pages) wrote:
>> On 10/07/2014 04:03 PM, Jan Chaloupka wrote:
>>> As from upstream commit:
>>>
>>> commit 3f31d07571eeea18a7d34db9af21d2285b807a17
>>> Author: Hugh Dickins <hughd-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
>>> Date:   Tue May 29 15:06:40 2012 -0700
>>>
>>>      mm/fs: route MADV_REMOVE to FALLOC_FL_PUNCH_HOLE
>>>
>>>      Now tmpfs supports hole-punching via fallocate(), switch madvise_remove()
>>>      to use do_fallocate() instead of vmtruncate_range(): which extends
>>>      madvise(,,MADV_REMOVE) support from tmpfs to ext4, ocfs2 and xfs.
>>>
>>> madvise(,,MADV_REMOVE) support was extended by ext4, ocfs2 and xfs.
>>>
>>> bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1120294
>>>
>>> Justification from Rafael Aquini:
>>> Well, that code is committed in kernel since v3.5 (2012) and it surely is
>>> the expected behaviour since. It seems to me that madvise(2) man page text
>>> for MADV_REMOVE just got out-of-date in that regard.
>>>
>>> This patch mentions this support in madvise.2 man page.
>> The intent of this patch seems correct, but I think the details
>> need fixing. See below.
> Yes, I should have sent you a man page update long ago:
> sorry about that, and thank you to Jan for doing so.
>
>>
>>> Signed-off-by: Jan Chaloupka <jchaloup-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
>>> ---
>>>   man2/madvise.2 |    4 ++--
>>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/man2/madvise.2 b/man2/madvise.2
>>> index 032ead7..44698ec 100644
>>> --- a/man2/madvise.2
>>> +++ b/man2/madvise.2
>>> @@ -98,12 +98,12 @@ either in reloading of the memory contents from the underlying mapped file
>>>   or zero-fill-on-demand pages for mappings
>>>   without an underlying file.
>>>   .TP
>>> -.BR MADV_REMOVE " (since Linux 2.6.16)"
>>> +.BR MADV_REMOVE " (since Linux 3.5)"
>> I think the above should not change.
> Agreed,

Yeah, you are right. It refers to MADV_REMOVE itself, not to a 
particular filesystem.

>>>   Free up a given range of pages
>>>   and its associated backing store.
>>>   Currently,
>>>   .\" 2.6.18-rc5
>>> -only shmfs/tmpfs supports this; other filesystems return with the
>>> +only shmfs/tmpfs, ext4, ocfs2 and xfs supports this; other filesystems return with the
>> I think the above line should be:
>>
>>      only shmfs/tmpfs and (since Linux 3.5) ext4, ocfs2 and xfs supports this;
>>      other filesystems return with the
>>
>> See what I mean? Could you fix and resubmit please?
> Good suggestion in itself, but checking current kernel git indicates
> that btrfs, ceph, cifs, f2fs and perhaps fuse now also support
> FALLOC_FL_PUNCH_HOLE, and hence MADV_REMOVE.
>
> You may have better things to do than update the madvise man page
> every time another filesystem adds support for that fallocate mode!
>
> Looking at the fallocate(2) page installed on my system, I see
> "Not all file systems support FALLOC_FL_PUNCH_HOLE; if a file system
> doesn't support the operation, an error is returned."
>
> That looks like a less time-wasting wording; though I'm surprised
> it says "an error", rather than specifying EOPNOTSUPP.
>
> Jan, Michael, how about something like:
>
> Originally, only shmfs/tmpfs supported this; but since Linux 3.5, any
> file system which supports the fallocate(2) mode FALLOC_FL_PUNCH_HOLE
> also supports the madvise(2) advice MADV_REMOVE.  Other file systems
> return with the error EOPNOTSUPP.

I like this reformulation. fallocate(2) contains a list of some 
filesystems supporting FALLOC_FL_PUNCH_HOLE mode (ext4 among others).
Will prepare the patch. Thanks Michael, Hugh.
> Hugh
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2014-10-18 15:11 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-07 14:03 [PATCH] madvise.2: madvise(, , MADV_REMOVE) supports ext4, ocfs2 and xfs as well Jan Chaloupka
     [not found] ` <20141007140337.10571.62743.stgit-/v0jm+aXwyk2pP1PFFXgSPXAX3CI6PSWQQ4Iyu8u01E@public.gmane.org>
2014-10-13  8:24   ` Jan Chaloupka
2014-10-16 10:50   ` Jan Chaloupka
2014-10-17 14:35   ` Michael Kerrisk (man-pages)
     [not found]     ` <5441292E.5000008-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-10-17 21:52       ` Hugh Dickins
     [not found]         ` <alpine.LSU.2.11.1410171408260.11102-fupSdm12i1nKWymIFiNcPA@public.gmane.org>
2014-10-18 15:11           ` Jan Chaloupka [this message]
  -- strict thread matches above, loose matches on Subject: below --
2014-10-18 15:22 Jan Chaloupka
     [not found] ` <20141018152240.14951.14405.stgit-/v0jm+aXwyk2pP1PFFXgSPXAX3CI6PSWQQ4Iyu8u01E@public.gmane.org>
2014-10-22  8:41   ` Jan Chaloupka
2015-02-04  9:28   ` Michael Kerrisk (man-pages)
     [not found]     ` <CAKgNAkg_cOKFC_Mjmn+EjLr4PDnb2GKRq7BhKaEpdks9tgSa9A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-04  9:39       ` Jan Chaloupka

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=54428326.9050908@redhat.com \
    --to=jchaloup-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=hughd-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
    --cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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.