* [PATCH 1/2] ubifs: Kconfig: fix the description in Kconfig
@ 2015-07-01 5:29 Dongsheng Yang
2015-07-01 5:30 ` [PATCH 2/2] ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs Dongsheng Yang
2015-07-30 16:47 ` [PATCH 1/2] ubifs: Kconfig: fix the description in Kconfig Brian Norris
0 siblings, 2 replies; 6+ messages in thread
From: Dongsheng Yang @ 2015-07-01 5:29 UTC (permalink / raw)
To: richard.weinberger, dedekind1; +Cc: linux-mtd, Dongsheng Yang
If unsure we would say 'N' rather than 'Y'.
Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
---
fs/ubifs/Kconfig | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/ubifs/Kconfig b/fs/ubifs/Kconfig
index ba66d50..f9aaad1 100644
--- a/fs/ubifs/Kconfig
+++ b/fs/ubifs/Kconfig
@@ -27,11 +27,11 @@ config UBIFS_FS_LZO
default y
help
LZO compressor is generally faster than zlib but compresses worse.
- Say 'Y' if unsure.
+ Say 'N' if unsure.
config UBIFS_FS_ZLIB
bool "ZLIB compression support" if UBIFS_FS_ADVANCED_COMPR
depends on UBIFS_FS
default y
help
- Zlib compresses better than LZO but it is slower. Say 'Y' if unsure.
+ Zlib compresses better than LZO but it is slower. Say 'N' if unsure.
--
1.8.4.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs
2015-07-01 5:29 [PATCH 1/2] ubifs: Kconfig: fix the description in Kconfig Dongsheng Yang
@ 2015-07-01 5:30 ` Dongsheng Yang
2015-07-20 7:35 ` [PATCH v2] " Dongsheng Yang
2015-07-30 16:47 ` [PATCH 1/2] ubifs: Kconfig: fix the description in Kconfig Brian Norris
1 sibling, 1 reply; 6+ messages in thread
From: Dongsheng Yang @ 2015-07-01 5:30 UTC (permalink / raw)
To: richard.weinberger, dedekind1; +Cc: linux-mtd, 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@cn.fujitsu.com>
---
fs/ubifs/Kconfig | 11 ++++++++++
fs/ubifs/file.c | 3 +++
fs/ubifs/super.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
3 files changed, 75 insertions(+), 3 deletions(-)
diff --git a/fs/ubifs/Kconfig b/fs/ubifs/Kconfig
index f9aaad1..44474e7 100644
--- a/fs/ubifs/Kconfig
+++ b/fs/ubifs/Kconfig
@@ -35,3 +35,14 @@ config UBIFS_FS_ZLIB
default y
help
Zlib compresses better than LZO but it is slower. Say 'N' if unsure.
+
+config UBIFS_ATIME_SUPPORT
+ bool "Access time support" if UBIFS_FS
+ depends on UBIFS_FS
+ default n
+ help
+ This option allows ubifs to support atime. -o strictatime is harmful to
+ your flash, we don't suggest it. But relatime and lazytime are much
+ better.
+
+ If unsure, say 'N'
diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c
index 35efc10..93bbb61 100644
--- a/fs/ubifs/file.c
+++ b/fs/ubifs/file.c
@@ -1546,6 +1546,9 @@ static int ubifs_file_mmap(struct file *file, struct vm_area_struct *vma)
if (err)
return err;
vma->vm_ops = &ubifs_file_vm_ops;
+#ifdef CONFIG_UBIFS_ATIME_SUPPORT
+ file_accessed(file);
+#endif
return 0;
}
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index 75e6f04..76f51e6 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -128,7 +128,10 @@ struct inode *ubifs_iget(struct super_block *sb, unsigned long inum)
if (err)
goto out_ino;
- inode->i_flags |= (S_NOCMTIME | S_NOATIME);
+ inode->i_flags |= S_NOCMTIME;
+#ifndef CONFIG_UBIFS_ATIME_SUPPORT
+ inode->i_flags |= S_NOATIME;
+#endif
set_nlink(inode, le32_to_cpu(ino->nlink));
i_uid_write(inode, le32_to_cpu(ino->uid));
i_gid_write(inode, le32_to_cpu(ino->gid));
@@ -378,16 +381,61 @@ done:
clear_inode(inode);
}
+#ifdef CONFIG_UBIFS_ATIME_SUPPORT
+/*
+ * There is only one possible caller of ubifs_dirty_inode without holding
+ * ui->ui_mutex, file_accessed. We are going to support atime if user
+ * set UBIFS_ATIME_SUPPORT=y in Kconfig. In that case, ubifs_dirty_inode
+ * need to lock ui->ui_mutex by itself and do a budget by itself.
+ */
static void ubifs_dirty_inode(struct inode *inode, int flags)
{
struct ubifs_inode *ui = ubifs_inode(inode);
+ int locked = mutex_is_locked(&ui->ui_mutex);
+ struct ubifs_info *c = inode->i_sb->s_fs_info;
+ int ret = 0;
+
+ if (!locked)
+ mutex_lock(&ui->ui_mutex);
- ubifs_assert(mutex_is_locked(&ui->ui_mutex));
if (!ui->dirty) {
+ if (!locked) {
+ /*
+ * It's a little tricky here, there is only one
+ * possible user of ubifs_dirty_inode did not do
+ * a budget for this inode. At the same time, this
+ * user is not holding the ui->ui_mutex. Then if
+ * we found ui->ui_mutex is not locked, we can say:
+ * we need to do a budget in ubifs_dirty_inode here.
+ */
+ struct ubifs_budget_req req = { .dirtied_ino = 1,
+ .dirtied_ino_d = ALIGN(ui->data_len, 8) };
+
+ ret = ubifs_budget_space(c, &req);
+ if (ret)
+ goto out;
+ }
ui->dirty = 1;
dbg_gen("inode %lu", inode->i_ino);
}
+
+out:
+ if (!locked)
+ mutex_unlock(&ui->ui_mutex);
+ return;
+}
+#else
+static void ubifs_dirty_inode(struct inode *inode, int flags)
+{
+ struct ubifs_inode *ui = ubifs_inode(inode);
+
+ ubifs_assert(mutex_is_locked(&ui->ui_mutex));
+ if (!ui->dirty) {
+ ui->dirty = 1;
+ dbg_gen("inode %lu", inode->i_ino);
+ }
}
+#endif
static int ubifs_statfs(struct dentry *dentry, struct kstatfs *buf)
{
@@ -2138,7 +2186,17 @@ static struct dentry *ubifs_mount(struct file_system_type *fs_type, int flags,
if (err)
goto out_deact;
/* We do not support atime */
- sb->s_flags |= MS_ACTIVE | MS_NOATIME;
+ sb->s_flags |= MS_ACTIVE;
+#ifndef CONFIG_UBIFS_ATIME_SUPPORT
+ sb->s_flags |= MS_NOATIME;
+#else
+ ubifs_warn(c, "************WARNING START****************");
+ ubifs_warn(c, "Ubifs is supporting atime now, that would");
+ ubifs_warn(c, "probably damage your flash. If you are not");
+ ubifs_warn(c, "sure about it, please set UBIFS_ATIME_SUPPORT");
+ ubifs_warn(c, "to 'N'.");
+ ubifs_warn(c, "************WARNING END******************");
+#endif
}
/* 'fill_super()' opens ubi again so we must close it here */
--
1.8.4.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2] ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs
2015-07-01 5:30 ` [PATCH 2/2] ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs Dongsheng Yang
@ 2015-07-20 7:35 ` Dongsheng Yang
2015-07-30 5:43 ` [PATCH] " Dongsheng Yang
0 siblings, 1 reply; 6+ messages in thread
From: Dongsheng Yang @ 2015-07-20 7:35 UTC (permalink / raw)
To: richard.weinberger, dedekind1; +Cc: linux-mtd, 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@cn.fujitsu.com>
---
changelog:
v1: remove the new version of ubifs_dirty_inode()
which was implemented with a conditional locking.
fs/ubifs/Kconfig | 11 +++++++++++
fs/ubifs/file.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
fs/ubifs/super.c | 19 ++++++++++++++++---
3 files changed, 77 insertions(+), 3 deletions(-)
diff --git a/fs/ubifs/Kconfig b/fs/ubifs/Kconfig
index f9aaad1..44474e7 100644
--- a/fs/ubifs/Kconfig
+++ b/fs/ubifs/Kconfig
@@ -35,3 +35,14 @@ config UBIFS_FS_ZLIB
default y
help
Zlib compresses better than LZO but it is slower. Say 'N' if unsure.
+
+config UBIFS_ATIME_SUPPORT
+ bool "Access time support" if UBIFS_FS
+ depends on UBIFS_FS
+ default n
+ help
+ This option allows ubifs to support atime. -o strictatime is harmful to
+ your flash, we don't suggest it. But relatime and lazytime are much
+ better.
+
+ If unsure, say 'N'
diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c
index 35efc10..27de484 100644
--- a/fs/ubifs/file.c
+++ b/fs/ubifs/file.c
@@ -1364,6 +1364,47 @@ 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.
+ */
+static int ubifs_update_time(struct inode *inode, struct timespec *time,
+ int flags)
+{
+ struct ubifs_inode *ui = ubifs_inode(inode);
+ struct ubifs_info *c = inode->i_sb->s_fs_info;
+ struct ubifs_budget_req req = { .dirtied_ino = 1,
+ .dirtied_ino_d = ALIGN(ui->data_len, 8) };
+ int iflags = I_DIRTY_TIME;
+ int err, release;
+
+ err = ubifs_budget_space(c, &req);
+ if (err)
+ return err;
+
+ mutex_lock(&ui->ui_mutex);
+ if (flags & S_ATIME)
+ inode->i_atime = *time;
+ if (flags & S_VERSION)
+ inode_inc_iversion(inode);
+ if (flags & S_CTIME)
+ inode->i_ctime = *time;
+ if (flags & S_MTIME)
+ inode->i_mtime = *time;
+
+ if (!(inode->i_sb->s_flags & MS_LAZYTIME) || (flags & S_VERSION))
+ iflags |= I_DIRTY_SYNC;
+
+ release = ui->dirty;
+ __mark_inode_dirty(inode, iflags);
+ mutex_unlock(&ui->ui_mutex);
+ if (release)
+ ubifs_release_budget(c, &req);
+ return 0;
+}
+
+/**
* update_ctime - update mtime and ctime of an inode.
* @inode: inode to update
*
@@ -1546,6 +1587,9 @@ static int ubifs_file_mmap(struct file *file, struct vm_area_struct *vma)
if (err)
return err;
vma->vm_ops = &ubifs_file_vm_ops;
+#ifdef CONFIG_UBIFS_ATIME_SUPPORT
+ file_accessed(file);
+#endif
return 0;
}
@@ -1566,6 +1610,9 @@ const struct inode_operations ubifs_file_inode_operations = {
.getxattr = ubifs_getxattr,
.listxattr = ubifs_listxattr,
.removexattr = ubifs_removexattr,
+#ifdef CONFIG_UBIFS_ATIME_SUPPORT
+ .update_time = ubifs_update_time,
+#endif
};
const struct inode_operations ubifs_symlink_inode_operations = {
@@ -1577,6 +1624,9 @@ const struct inode_operations ubifs_symlink_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_file_operations = {
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index 75e6f04..c643261 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -128,7 +128,10 @@ struct inode *ubifs_iget(struct super_block *sb, unsigned long inum)
if (err)
goto out_ino;
- inode->i_flags |= (S_NOCMTIME | S_NOATIME);
+ inode->i_flags |= S_NOCMTIME;
+#ifndef CONFIG_UBIFS_ATIME_SUPPORT
+ inode->i_flags |= S_NOATIME;
+#endif
set_nlink(inode, le32_to_cpu(ino->nlink));
i_uid_write(inode, le32_to_cpu(ino->uid));
i_gid_write(inode, le32_to_cpu(ino->gid));
@@ -380,7 +383,7 @@ done:
static void ubifs_dirty_inode(struct inode *inode, int flags)
{
- struct ubifs_inode *ui = ubifs_inode(inode);
+ struct ubifs_inode *ui = ubifs_inode(inode);
ubifs_assert(mutex_is_locked(&ui->ui_mutex));
if (!ui->dirty) {
@@ -2138,7 +2141,17 @@ static struct dentry *ubifs_mount(struct file_system_type *fs_type, int flags,
if (err)
goto out_deact;
/* We do not support atime */
- sb->s_flags |= MS_ACTIVE | MS_NOATIME;
+ sb->s_flags |= MS_ACTIVE;
+#ifndef CONFIG_UBIFS_ATIME_SUPPORT
+ sb->s_flags |= MS_NOATIME;
+#else
+ ubifs_warn(c, "************WARNING START****************");
+ ubifs_warn(c, "Ubifs is supporting atime now, that would");
+ ubifs_warn(c, "probably damage your flash. If you are not");
+ ubifs_warn(c, "sure about it, please set UBIFS_ATIME_SUPPORT");
+ ubifs_warn(c, "to 'N'.");
+ ubifs_warn(c, "************WARNING END******************");
+#endif
}
/* 'fill_super()' opens ubi again so we must close it here */
--
1.8.4.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH] ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs
2015-07-20 7:35 ` [PATCH v2] " Dongsheng Yang
@ 2015-07-30 5:43 ` Dongsheng Yang
0 siblings, 0 replies; 6+ messages in thread
From: Dongsheng Yang @ 2015-07-30 5:43 UTC (permalink / raw)
To: richard.weinberger, dedekind1; +Cc: linux-mtd, 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
Test:
# ./check -ubifs -g atime
FSTYP -- ubifs
PLATFORM -- Linux/x86_64 atest-guest 4.1.0+
MKFS_OPTIONS -- /dev/ubi0_1
MOUNT_OPTIONS -- -o context=system_u:object_r:nfs_t:s0 /dev/ubi0_1 /mnt/scratch
generic/003 10s ... 10s
generic/192 40s ... 41s
Ran: generic/003 generic/192
Passed all 2 tests
Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
---
-v2:
implement update_time for ubifs
-v3:
Oops, forgot to assign update_time for
ubifs_dir_inode_operations.
fs/ubifs/Kconfig | 11 +++++++++++
fs/ubifs/dir.c | 3 +++
fs/ubifs/file.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
fs/ubifs/super.c | 19 ++++++++++++++++---
fs/ubifs/ubifs.h | 1 +
5 files changed, 81 insertions(+), 3 deletions(-)
diff --git a/fs/ubifs/Kconfig b/fs/ubifs/Kconfig
index f9aaad1..44474e7 100644
--- a/fs/ubifs/Kconfig
+++ b/fs/ubifs/Kconfig
@@ -35,3 +35,14 @@ config UBIFS_FS_ZLIB
default y
help
Zlib compresses better than LZO but it is slower. Say 'N' if unsure.
+
+config UBIFS_ATIME_SUPPORT
+ bool "Access time support" if UBIFS_FS
+ depends on UBIFS_FS
+ default n
+ help
+ This option allows ubifs to support atime. -o strictatime is harmful to
+ your flash, we don't suggest it. But relatime and lazytime are much
+ better.
+
+ 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..554d7b9 100644
--- a/fs/ubifs/file.c
+++ b/fs/ubifs/file.c
@@ -1364,6 +1364,47 @@ 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)
+{
+ struct ubifs_inode *ui = ubifs_inode(inode);
+ struct ubifs_info *c = inode->i_sb->s_fs_info;
+ struct ubifs_budget_req req = { .dirtied_ino = 1,
+ .dirtied_ino_d = ALIGN(ui->data_len, 8) };
+ int iflags = I_DIRTY_TIME;
+ int err, release;
+
+ err = ubifs_budget_space(c, &req);
+ if (err)
+ return err;
+
+ mutex_lock(&ui->ui_mutex);
+ if (flags & S_ATIME)
+ inode->i_atime = *time;
+ if (flags & S_VERSION)
+ inode_inc_iversion(inode);
+ if (flags & S_CTIME)
+ inode->i_ctime = *time;
+ if (flags & S_MTIME)
+ inode->i_mtime = *time;
+
+ if (!(inode->i_sb->s_flags & MS_LAZYTIME) || (flags & S_VERSION))
+ iflags |= I_DIRTY_SYNC;
+
+ release = ui->dirty;
+ __mark_inode_dirty(inode, iflags);
+ mutex_unlock(&ui->ui_mutex);
+ if (release)
+ ubifs_release_budget(c, &req);
+ return 0;
+}
+
+/**
* update_ctime - update mtime and ctime of an inode.
* @inode: inode to update
*
@@ -1546,6 +1587,9 @@ static int ubifs_file_mmap(struct file *file, struct vm_area_struct *vma)
if (err)
return err;
vma->vm_ops = &ubifs_file_vm_ops;
+#ifdef CONFIG_UBIFS_ATIME_SUPPORT
+ file_accessed(file);
+#endif
return 0;
}
@@ -1566,6 +1610,9 @@ const struct inode_operations ubifs_file_inode_operations = {
.getxattr = ubifs_getxattr,
.listxattr = ubifs_listxattr,
.removexattr = ubifs_removexattr,
+#ifdef CONFIG_UBIFS_ATIME_SUPPORT
+ .update_time = ubifs_update_time,
+#endif
};
const struct inode_operations ubifs_symlink_inode_operations = {
@@ -1577,6 +1624,9 @@ const struct inode_operations ubifs_symlink_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_file_operations = {
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index 75e6f04..c643261 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -128,7 +128,10 @@ struct inode *ubifs_iget(struct super_block *sb, unsigned long inum)
if (err)
goto out_ino;
- inode->i_flags |= (S_NOCMTIME | S_NOATIME);
+ inode->i_flags |= S_NOCMTIME;
+#ifndef CONFIG_UBIFS_ATIME_SUPPORT
+ inode->i_flags |= S_NOATIME;
+#endif
set_nlink(inode, le32_to_cpu(ino->nlink));
i_uid_write(inode, le32_to_cpu(ino->uid));
i_gid_write(inode, le32_to_cpu(ino->gid));
@@ -380,7 +383,7 @@ done:
static void ubifs_dirty_inode(struct inode *inode, int flags)
{
- struct ubifs_inode *ui = ubifs_inode(inode);
+ struct ubifs_inode *ui = ubifs_inode(inode);
ubifs_assert(mutex_is_locked(&ui->ui_mutex));
if (!ui->dirty) {
@@ -2138,7 +2141,17 @@ static struct dentry *ubifs_mount(struct file_system_type *fs_type, int flags,
if (err)
goto out_deact;
/* We do not support atime */
- sb->s_flags |= MS_ACTIVE | MS_NOATIME;
+ sb->s_flags |= MS_ACTIVE;
+#ifndef CONFIG_UBIFS_ATIME_SUPPORT
+ sb->s_flags |= MS_NOATIME;
+#else
+ ubifs_warn(c, "************WARNING START****************");
+ ubifs_warn(c, "Ubifs is supporting atime now, that would");
+ ubifs_warn(c, "probably damage your flash. If you are not");
+ ubifs_warn(c, "sure about it, please set UBIFS_ATIME_SUPPORT");
+ ubifs_warn(c, "to 'N'.");
+ ubifs_warn(c, "************WARNING END******************");
+#endif
}
/* 'fill_super()' opens ubi again so we must close it here */
diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h
index de75902..216ba87 100644
--- a/fs/ubifs/ubifs.h
+++ b/fs/ubifs/ubifs.h
@@ -1746,6 +1746,7 @@ int ubifs_calc_dark(const struct ubifs_info *c, int spc);
/* file.c */
int ubifs_fsync(struct file *file, loff_t start, loff_t end, int datasync);
int ubifs_setattr(struct dentry *dentry, struct iattr *attr);
+int ubifs_update_time(struct inode *inode, struct timespec *time, int flags);
/* dir.c */
struct inode *ubifs_new_inode(struct ubifs_info *c, const struct inode *dir,
--
1.8.4.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] ubifs: Kconfig: fix the description in Kconfig
2015-07-01 5:29 [PATCH 1/2] ubifs: Kconfig: fix the description in Kconfig Dongsheng Yang
2015-07-01 5:30 ` [PATCH 2/2] ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs Dongsheng Yang
@ 2015-07-30 16:47 ` Brian Norris
2015-07-31 0:03 ` Dongsheng Yang
1 sibling, 1 reply; 6+ messages in thread
From: Brian Norris @ 2015-07-30 16:47 UTC (permalink / raw)
To: Dongsheng Yang; +Cc: richard.weinberger, dedekind1, linux-mtd
On Wed, Jul 01, 2015 at 01:29:59PM +0800, Dongsheng Yang wrote:
> If unsure we would say 'N' rather than 'Y'.
>
> Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
> ---
> fs/ubifs/Kconfig | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/ubifs/Kconfig b/fs/ubifs/Kconfig
> index ba66d50..f9aaad1 100644
> --- a/fs/ubifs/Kconfig
> +++ b/fs/ubifs/Kconfig
> @@ -27,11 +27,11 @@ config UBIFS_FS_LZO
> default y
> help
> LZO compressor is generally faster than zlib but compresses worse.
> - Say 'Y' if unsure.
> + Say 'N' if unsure.
Why would we recommend 'N' yet set the default to 'Y'? Seems like
some dissonance.
Also, I'm not an expert on UBIFS, but I imagine the suggestion to say
yes is because of legacy support; what if you need to mount a file
system that was created with LZO?
>
> config UBIFS_FS_ZLIB
> bool "ZLIB compression support" if UBIFS_FS_ADVANCED_COMPR
> depends on UBIFS_FS
> default y
> help
> - Zlib compresses better than LZO but it is slower. Say 'Y' if unsure.
> + Zlib compresses better than LZO but it is slower. Say 'N' if unsure.
Same here.
Brian
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] ubifs: Kconfig: fix the description in Kconfig
2015-07-30 16:47 ` [PATCH 1/2] ubifs: Kconfig: fix the description in Kconfig Brian Norris
@ 2015-07-31 0:03 ` Dongsheng Yang
0 siblings, 0 replies; 6+ messages in thread
From: Dongsheng Yang @ 2015-07-31 0:03 UTC (permalink / raw)
To: Brian Norris; +Cc: richard.weinberger, dedekind1, linux-mtd
On 07/31/2015 12:47 AM, Brian Norris wrote:
> On Wed, Jul 01, 2015 at 01:29:59PM +0800, Dongsheng Yang wrote:
>> If unsure we would say 'N' rather than 'Y'.
>>
>> Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
>> ---
>> fs/ubifs/Kconfig | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/fs/ubifs/Kconfig b/fs/ubifs/Kconfig
>> index ba66d50..f9aaad1 100644
>> --- a/fs/ubifs/Kconfig
>> +++ b/fs/ubifs/Kconfig
>> @@ -27,11 +27,11 @@ config UBIFS_FS_LZO
>> default y
>> help
>> LZO compressor is generally faster than zlib but compresses worse.
>> - Say 'Y' if unsure.
>> + Say 'N' if unsure.
>
> Why would we recommend 'N' yet set the default to 'Y'? Seems like
> some dissonance.
OMG, that's TRUE. I can not recall what I was thinking when I sent
this patch, but I believe there was something wrong in my mind.
Thanx a lot to point it out, Brian.
Atem and Richard, Please ignore this noise. My bad :(.
Yang
>
> Also, I'm not an expert on UBIFS, but I imagine the suggestion to say
> yes is because of legacy support; what if you need to mount a file
> system that was created with LZO?
>
>>
>> config UBIFS_FS_ZLIB
>> bool "ZLIB compression support" if UBIFS_FS_ADVANCED_COMPR
>> depends on UBIFS_FS
>> default y
>> help
>> - Zlib compresses better than LZO but it is slower. Say 'Y' if unsure.
>> + Zlib compresses better than LZO but it is slower. Say 'N' if unsure.
>
> Same here.
>
> Brian
> .
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-07-31 0:09 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-01 5:29 [PATCH 1/2] ubifs: Kconfig: fix the description in Kconfig Dongsheng Yang
2015-07-01 5:30 ` [PATCH 2/2] ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs Dongsheng Yang
2015-07-20 7:35 ` [PATCH v2] " Dongsheng Yang
2015-07-30 5:43 ` [PATCH] " Dongsheng Yang
2015-07-30 16:47 ` [PATCH 1/2] ubifs: Kconfig: fix the description in Kconfig Brian Norris
2015-07-31 0:03 ` Dongsheng Yang
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.