From: Dilger, Andreas <andreas.dilger@intel.com>
To: lustre-devel@lists.lustre.org
Subject: [lustre-devel] syncronous liblustreapi calls
Date: Sun, 25 Oct 2015 07:44:43 +0000 [thread overview]
Message-ID: <D251E3C0.113DBD%andreas.dilger@intel.com> (raw)
For lctl conf_param commands, this was tricky to implement with synchronous calls, since the configuration needs to be set on the MGS (where the log is stored), but only the client (or server, depending on the parameter) knows whether that parameter is valid since the MGS won't have a mounted client for e.g. "llite" tunables, nor a mounted server for e.g. "obdfilter" tunables. Also, there is an added complexity in whether "wait until completion" means "written to disk on the MGS" or "applied to one, some, or all clients or servers"?
I'm not saying that the current interface is good - some tests needs polling of /proc to check that conf_param parameter updates have completed. I'm open to suggestions that solve this in a manner that doesn't allow arbitrary clients to modify global filesystem tunables...
Cheers, Andreas
--
Andreas Dilger
Lustre Software Architect
Intel High Performance Data Division
On 2015/10/22, 08:50, "lustre-devel on behalf of Ben Evans" <lustre-devel-bounces at lists.lustre.org<mailto:lustre-devel-bounces@lists.lustre.org> on behalf of bevans at cray.com<mailto:bevans@cray.com>> wrote:
Is there some architectural reason behind a lack of synchronous calls to set values?
As an example, the changelog_clear operation does some preliminary checking in liblustreapi for things like non-negative ranges, and that the changelog user is formatted correctly (not that the user actually exists).
If everything checks out, it sends off an async request and tells the user everything is fine. On the MDS, many things may go wrong (such as the range being invalid, or the user not existing), and that gets written to the logs on the MDS, but there doesn?t seem to be a way of telling the user that something went wrong.
Is there some backstory on this, or is it just an architectural consequence of the way Lustre works?
-Ben Evans
next reply other threads:[~2015-10-25 7:44 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-25 7:44 Dilger, Andreas [this message]
-- strict thread matches above, loose matches on Subject: below --
2015-10-22 14:50 [lustre-devel] syncronous liblustreapi calls Ben Evans
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=D251E3C0.113DBD%andreas.dilger@intel.com \
--to=andreas.dilger@intel.com \
--cc=lustre-devel@lists.lustre.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.