From: Andreas Rohner <andreas.rohner-hi6Y0CQ0nG0@public.gmane.org>
To: Ryusuke Konishi
<konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
Cc: linux-nilfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v2 4/5] nilfs-utils: add support for NILFS_IOCTL_SET_SUINFO ioctl
Date: Sun, 26 Jan 2014 12:24:06 +0100 [thread overview]
Message-ID: <52E4F056.3020502@gmx.net> (raw)
In-Reply-To: <20140126.190004.443429632.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
On 2014-01-26 11:00, Ryusuke Konishi wrote:
> On Fri, 24 Jan 2014 21:00:03 +0100, Andreas Rohner wrote:
>> On 2014-01-24 19:26, Ryusuke Konishi wrote:
>>>> + ret = nilfs_set_suinfo(nilfs, supv, n);
>>>> + free(supv);
>>>> + if (ret >= 0) {
>>>> + /* success, tell caller
>>>> + * to try another segment/s */
>>>> + ret = -EGCTRYAGAIN;
>>>> + goto out_lock;
>>>> + }
>
> Returning -EGCTRYAGAIN looks confusing, since posix error code Exxxxx
> is usually stored in errno variable in userland. It also looks a bit
> hacky.
True. Vyacheslav had similar concerns.
> How about handling this as follows ?
>
> - Add a new structure to return result of GC, for instance, as
> follows:
>
> struct nilfs_reclaim_status {
> unsigned int ncleanedsegs; /* number of segments cleaned
> with nilfs_clean_segments() */
> unsigned int ndeferredsegs;/* number of segments deferred
> with nilfs_set_suinfo() */
> unsigned long nliveblocks; /* sum of live virtual blocks and live
> DAT blocks */
> unsigned long ndeadblocks; /* number of reclaimable blocks */
> unsigned long nlivevblocks; /* live virtual blocks */
> unsigned long nfreevblocks; /* freed virtual block addresses */
> ...
> };
>
> - Use the structure as an argument of the "new" API function
> (i.e. variant of nilfs_reclaim_segment() )
>
> - Rewrite the variant API function so that it returns a success value
> (0) also for the EGCTRYAGAIN case.
>
> - Store other status information in nilfs_reclaim_status structures.
>
>
> And, I think adding nilfs_set_suinfo() API should be a separate patch.
Yes EGCTRYAGAIN is not necessary for the nilfs_set_suinfo() API to work.
It is a good idea to use a separate patch for this.
br,
Andreas Rohner
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-01-26 11:24 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-21 13:59 [PATCH v2 0/5] nilfs-utils: skip inefficient gc operations Andreas Rohner
[not found] ` <cover.1390310509.git.andreas.rohner-hi6Y0CQ0nG0@public.gmane.org>
2014-01-21 13:59 ` [PATCH v2 1/5] nilfs-utils: cldconfig add an option to set minimal free blocks Andreas Rohner
[not found] ` <22b5b3ac403052d3044dc8c1bebe323191376c03.1390310509.git.andreas.rohner-hi6Y0CQ0nG0@public.gmane.org>
2014-01-21 14:10 ` dexen deVries
2014-01-21 14:38 ` Andreas Rohner
2014-01-21 14:53 ` Andreas Rohner
2014-01-23 17:49 ` Vyacheslav Dubeyko
[not found] ` <B1FCAEBD-EB58-4A06-BD6B-7D4FB533D9F1-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2014-01-23 18:31 ` Andreas Rohner
2014-01-21 13:59 ` [PATCH v2 2/5] nilfs-utils: cleanerd: add custom error value to enable fast retry Andreas Rohner
[not found] ` <e9d3dd17318a994fe7e2c100368212e0b4029e13.1390310509.git.andreas.rohner-hi6Y0CQ0nG0@public.gmane.org>
2014-01-23 17:49 ` Vyacheslav Dubeyko
[not found] ` <FE7FB751-68F4-48C3-A97A-782F4F6E69FE-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2014-01-23 19:08 ` Andreas Rohner
2014-01-21 13:59 ` [PATCH v2 3/5] nilfs-utils: refactoring of nilfs_reclaim_segment to add minblocks param Andreas Rohner
[not found] ` <36ef66ee15b3de8ca00815a6baa7bf6b62ca57d4.1390310509.git.andreas.rohner-hi6Y0CQ0nG0@public.gmane.org>
2014-01-24 18:04 ` Ryusuke Konishi
2014-01-21 13:59 ` [PATCH v2 4/5] nilfs-utils: add support for NILFS_IOCTL_SET_SUINFO ioctl Andreas Rohner
[not found] ` <72f8c37258d08ba9793b0c1bb0374dd8efcd4756.1390310509.git.andreas.rohner-hi6Y0CQ0nG0@public.gmane.org>
2014-01-23 17:49 ` Vyacheslav Dubeyko
[not found] ` <62FA32DB-83AC-4570-BD73-618C169390FE-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2014-01-23 19:17 ` Andreas Rohner
[not found] ` <52E16AE4.4000303-hi6Y0CQ0nG0@public.gmane.org>
2014-01-25 16:16 ` Vyacheslav Dubeyko
2014-01-24 18:26 ` Ryusuke Konishi
[not found] ` <20140125.032633.184837411.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
2014-01-24 20:00 ` Andreas Rohner
[not found] ` <52E2C643.3070704-hi6Y0CQ0nG0@public.gmane.org>
2014-01-25 18:52 ` Ryusuke Konishi
2014-01-26 10:00 ` Ryusuke Konishi
[not found] ` <20140126.190004.443429632.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
2014-01-26 11:24 ` Andreas Rohner [this message]
2014-01-21 13:59 ` [PATCH v2 5/5] nilfs-utils: man: add description of min_free_blocks_threshold Andreas Rohner
2014-01-21 14:00 ` [PATCH v2 1/3] nilfs2: add new nilfs_suinfo_update struct Andreas Rohner
[not found] ` <cec6a449ddf5ae9da2928cdddfb96ebcb2789eee.1390312777.git.andreas.rohner-hi6Y0CQ0nG0@public.gmane.org>
2014-01-21 14:00 ` [PATCH v2 2/3] nilfs2: add nilfs_sufile_set_suinfo to update segment usage info Andreas Rohner
[not found] ` <2fd48b2d524a59a02bdad13c0c194de3e5b55cc7.1390312777.git.andreas.rohner-hi6Y0CQ0nG0@public.gmane.org>
2014-01-24 11:56 ` Ryusuke Konishi
[not found] ` <20140124.205623.400541300.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
2014-01-24 12:34 ` Andreas Rohner
[not found] ` <52E25DDC.2060502-hi6Y0CQ0nG0@public.gmane.org>
2014-01-24 16:34 ` Ryusuke Konishi
2014-01-21 14:00 ` [PATCH v2 3/3] nilfs2: implementation of NILFS_IOCTL_SET_SUINFO ioctl Andreas Rohner
[not found] ` <6fb5a6d45afca9ae2599c471c0e42805ed1b6c55.1390312777.git.andreas.rohner-hi6Y0CQ0nG0@public.gmane.org>
2014-01-24 13:20 ` Ryusuke Konishi
[not found] ` <20140124.222016.110509397.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
2014-01-24 13:44 ` Andreas Rohner
[not found] ` <52E26E46.3030702-hi6Y0CQ0nG0@public.gmane.org>
2014-01-24 15:23 ` Ryusuke Konishi
2014-01-24 4:56 ` [PATCH v2 1/3] nilfs2: add new nilfs_suinfo_update struct Ryusuke Konishi
[not found] ` <20140124.135635.27780504.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
2014-01-24 12:11 ` Andreas Rohner
[not found] ` <52E25883.3010307-hi6Y0CQ0nG0@public.gmane.org>
2014-01-24 12:37 ` Ryusuke Konishi
2014-01-22 23:46 ` [PATCH v2 0/5] nilfs-utils: skip inefficient gc operations Michael L. Semon
[not found] ` <52E05863.90604-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-01-23 10:25 ` Andreas Rohner
[not found] ` <52E0EE08.3040703-hi6Y0CQ0nG0@public.gmane.org>
2014-01-23 20:57 ` Michael L. Semon
2014-01-23 17:48 ` Vyacheslav Dubeyko
[not found] ` <85EBEC6B-CA69-472A-8DDD-8E056F809EC4-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2014-01-23 18:12 ` Andreas Rohner
[not found] ` <52E15B9E.6040307-hi6Y0CQ0nG0@public.gmane.org>
2014-01-24 8:02 ` Vyacheslav Dubeyko
[not found] ` <FC7F25C5-1E72-4DF5-B860-FBCE36E91EAB-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2014-01-24 14:18 ` Andreas Rohner
[not found] ` <52E27651.6070207-hi6Y0CQ0nG0@public.gmane.org>
2014-01-25 16:33 ` Vyacheslav Dubeyko
[not found] ` <82ACC3FC-BE83-483F-99D8-D13F4D02C58F-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2014-01-26 6:57 ` Ryusuke Konishi
[not found] ` <20140126.155740.56352351.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
2014-01-26 10:36 ` Andreas Rohner
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=52E4F056.3020502@gmx.net \
--to=andreas.rohner-hi6y0cq0ng0@public.gmane.org \
--cc=konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org \
--cc=linux-nilfs-u79uwXL29TY76Z2rM5mHXA@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.