Re: [lustre-devel] [PATCH 10/60] staging: lustre: obdclass: add more info to sysfs version string

From: Greg Kroah-Hartman
Date: Wed Feb 08 2017 - 01:27:25 EST


On Wed, Feb 08, 2017 at 01:04:52AM +0000, Dilger, Andreas wrote:
>
> > On Feb 3, 2017, at 03:33, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Sat, Jan 28, 2017 at 07:04:38PM -0500, James Simmons wrote:
> >> From: Andreas Dilger <andreas.dilger@xxxxxxxxx>
> >>
> >> Update the sysfs "version" file to print "lustre: " with
> >> the version number.
> >>
> >> Signed-off-by: Andreas Dilger <andreas.dilger@xxxxxxxxx>
> >> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5969
> >> Reviewed-on: http://review.whamcloud.com/16721
> >> Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx>
> >> Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx>
> >> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx>
> >> Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx>
> >> ---
> >> drivers/staging/lustre/lustre/obdclass/linux/linux-module.c | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c b/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c
> >> index 9f5e829..22e6d1f 100644
> >> --- a/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c
> >> +++ b/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c
> >> @@ -208,7 +208,7 @@ struct miscdevice obd_psdev = {
> >> static ssize_t version_show(struct kobject *kobj, struct attribute *attr,
> >> char *buf)
> >> {
> >> - return sprintf(buf, "%s\n", LUSTRE_VERSION_STRING);
> >> + return sprintf(buf, "lustre: %s\n", LUSTRE_VERSION_STRING);
> >> }
> >
> > Why? You "know" this is lustre, why say it again? Doesn't this affect
> > userspace tools?
>
> It included "lustre: " as a prefix until commit 8b8284450569 when the code
> moved from /proc to /sys, and is what the userspace tools expect. Formerly
> there were multiple strings printed in this file, each with a different prefix,
> but the "lustre: " prefix was dropped in the move to sysfs.
>
> That didn't matter until a userspace patch to stop using ioctl(IOC_GET_VERSION)
> and instead get the version from the existing /proc or /sys files, so that we
> can deprecate and eventually drop the IOC_GET_VERSION ioctl completely.
>
> So this patch is returning to the previous format of the /proc file, but if
> there is a big objection to this patch we can also change the userspace tools
> to live with or without this prefix now that there is only a single value here.

Think about it, it's a sysfs file, which should only have one value to
start with, and you are opening it from userspace knowing exactly where
it is (somewhere in the lustre subtree), so of course you know it is
"lustre"...

greg k-h