[PATCH v6] ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs
Dongsheng Yang
yangds.fnst at cn.fujitsu.com
Fri Nov 6 20:35:00 PST 2015
On 11/06/2015 05:25 PM, Richard Weinberger wrote:
> Am 03.10.2015 um 20:34 schrieb Richard Weinberger:
>> Am 21.08.2015 um 05:10 schrieb Dongsheng Yang:
>>> To make ubifs support atime flexily, this commit introduces
>>> a Kconfig option named as UBIFS_ATIME_SUPPORT.
>>>
>>> With UBIFS_ATIME_SUPPORT=n:
>>> ubifs keeps the full compatibility to no_atime from
>>> the start of ubifs.
>>> =================UBIFS_ATIME_SUPPORT=n=======================
>>> -o - no atime
>>> -o atime - no atime
>>> -o noatime - no atime
>>> -o relatime - no atime
>>> -o strictatime - no atime
>>> -o lazyatime - no atime
>>>
>>> With UBIFS_ATIME_SUPPORT=y:
>>> ubifs supports the atime same with other main stream
>>> file systems.
>>> =================UBIFS_ATIME_SUPPORT=y=======================
>>> -o - default behavior (relatime currently)
>>> -o atime - atime support
>>> -o noatime - no atime support
>>> -o relatime - relative atime support
>>> -o strictatime - strict atime support
>>> -o lazyatime - lazy atime support
>>>
>>> Signed-off-by: Dongsheng Yang <yangds.fnst at cn.fujitsu.com>
>>> ---
>>> -v2:
>>> implement update_time for ubifs
>>> -v3:
>>> Oops, forgot to assign update_time for
>>> ubifs_dir_inode_operations.
>>> -v4:
>>> drop the patch to change 'Y' to 'N' in
>>> Kconfig
>>> -v5:
>>> simplify the warning in atime supporting
>>> -v6:
>>> * replace ubifs_warn with ubifs_msg
>>> * rewrite the messages in Kconfig as Artem suggested
>>> * remove S_VERSION related code
>>> fs/ubifs/Kconfig | 15 +++++++++++++++
>>> fs/ubifs/dir.c | 3 +++
>>> fs/ubifs/file.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
>>> fs/ubifs/super.c | 12 ++++++++++--
>>> fs/ubifs/ubifs.h | 1 +
>>> 5 files changed, 77 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/fs/ubifs/Kconfig b/fs/ubifs/Kconfig
>>> index ba66d50..7ff7712 100644
>>> --- a/fs/ubifs/Kconfig
>>> +++ b/fs/ubifs/Kconfig
>>> @@ -35,3 +35,18 @@ config UBIFS_FS_ZLIB
>>> default y
>>> help
>>> Zlib compresses better than LZO but it is slower. Say 'Y' if unsure.
>>> +
>>> +config UBIFS_ATIME_SUPPORT
>>> + bool "Access time support" if UBIFS_FS
>>> + depends on UBIFS_FS
>>> + default n
>>> + help
>>> + Originally UBIFS did not support atime, because it looked like a bad idea due
>>> + increased flash wear. This option adds atime support and it is disabled by default
>>> + to preserve the old behavior. If you enable this option, UBIFS starts updating atime,
>>> + which means that file-system read operations will cause writes (inode atime
>>> + updates). This may affect file-system performance and increase flash device wear,
>>> + so be careful. How often atime is updated depends on the selected strategy:
>>> + strictatime is the "heavy", relatime is "lighter", etc.
>>> +
>>> + If unsure, say 'N'
>>> diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c
>>> index 27060fc..8d93427 100644
>>> --- a/fs/ubifs/dir.c
>>> +++ b/fs/ubifs/dir.c
>>> @@ -1187,6 +1187,9 @@ const struct inode_operations ubifs_dir_inode_operations = {
>>> .getxattr = ubifs_getxattr,
>>> .listxattr = ubifs_listxattr,
>>> .removexattr = ubifs_removexattr,
>>> +#ifdef CONFIG_UBIFS_ATIME_SUPPORT
>>> + .update_time = ubifs_update_time,
>>> +#endif
>>> };
>>>
>>> const struct file_operations ubifs_dir_operations = {
>>> diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c
>>> index 35efc10..423ce6b 100644
>>> --- a/fs/ubifs/file.c
>>> +++ b/fs/ubifs/file.c
>>> @@ -1364,6 +1364,45 @@ static inline int mctime_update_needed(const struct inode *inode,
>>> }
>>>
>>> /**
>>> + * ubifs_update_time - update time of inode.
>>> + * @inode: inode to update
>>> + *
>>> + * This function updates time of the inode.
>>> + */
>>> +int ubifs_update_time(struct inode *inode, struct timespec *time,
>>> + int flags)
>>
>> This function should be under an "#ifdef CONFIG_UBIFS_ATIME_SUPPORT".
>>
>> Beside of that,
>> Reviewed-by: Richard Weinberger <richard at nod.at>
>>
>> I think we can queue it for v4.4. Artem, what do you think?
>
> Yang, ping?
Oh, forgot to update it! Will send a V7 soon.
Yang
> Artem and I would like to have this in v4.4.
>
> Thanks,
> //richard
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> .
>
More information about the linux-mtd
mailing list