[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <56656E9D020000F90002141F@relay2.provo.novell.com>
Date: Sun, 06 Dec 2015 20:33:49 -0700
From: "Gang He" <ghe@...e.com>
To: <greg@...ah.com>
Cc: <akpm@...ux-foundation.org>, <ocfs2-devel@....oracle.com>,
"Mark Fasheh" <MFasheh@...e.com>, <rgoldwyn@...e.de>,
<pavel@....cz>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 0/4] Add online file check feature
Hello Greg and Pavel,
Sorry, there was a misunderstand, I was not aware that there were some design constraints for sysfs interfaces. I will review and modify this portion code.
Thanks
Gang
>>>
> On Fri, Dec 04, 2015 at 01:36:21AM -0700, Gang He wrote:
>> Hi Greg,
>>
>>
>> >>>
>> > On Wed, Dec 02, 2015 at 07:05:27PM -0700, Gang He wrote:
>> >> Hello Pavel,
>> >>
>> >>
>> >>
>> >> >>>
>> >> > On Wed 2015-10-28 14:25:57, Gang He wrote:
>> >> >> When there are errors in the ocfs2 filesystem,
>> >> >> they are usually accompanied by the inode number which caused the error.
>> >> >> This inode number would be the input to fixing the file.
>> >> >> One of these options could be considered:
>> >> >> A file in the sys filesytem which would accept inode numbers.
>> >> >> This could be used to communication back what has to be fixed or is fixed.
>> >> >> You could write:
>> >> >> $# echo "CHECK <inode>" > /sys/fs/ocfs2/devname/filecheck
>> >> >> or
>> >> >> $# echo "FIX <inode>" > /sys/fs/ocfs2/devname/filecheck
>> >> >>
>> >> >
>> >> > Are you sure this is reasonable interface? I mean.... sysfs is
>> >> > supposed to be one value per file. And I don't think its suitable for
>> >> > running commands.
>> >> Usually, the corrupted file (inode) should be rarely encountered for OCFS2
>> > file system, then
>> >> lots of commands are executed via this interface with high performance is
>> > not expected by us.
>> >> Second, after online file check is added, we also plan to add a mount
> option
>> > "error=fix", that means
>> >> the file system can fix these errors automatically without a manual command
>
>> > triggering.
>> >
>> > It's not a "performance" issue, it's a "sysfs files only have one value"
>> > type thing. Have two files, "inode_fix" and "inode_check" and then just
>> > write the inode into them, no need to have a "verb <inode>" type parser.
>> Current, we have three functional items "check, fix and set", in the future,
> maybe we can add more item.
>> Then, for each functional item, we need to create a sys file and add related
> code (actual some code is duplicated),
>> I prefer to one sys file to handle multiple sub-commands.
>
> No, sorry, that is not how sysfs works. Please use individual files,
> again, sysfs is "one value per file" you should never have to write a
> "parser" for a sysfs file either reading, or writing to it.
>
> If you need additional things in the future, great, add new sysfs files,
> that makes it the easiest way for your userspace tools to be able to
> determine if that feature is present in the kernel or not, it does not
> have to write a command that it doesn't know if the kernel can handle or
> not.
>
> thanks,
>
> greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists