[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1343735309-30579-37-git-send-email-wenqing.lz@taobao.com>
Date: Tue, 31 Jul 2012 19:48:29 +0800
From: Zheng Liu <gnehzuil.liu@...il.com>
To: linux-ext4@...r.kernel.org
Cc: Zheng Liu <wenqing.lz@...bao.com>
Subject: [PATCH 36/36 v4] tune2fs: set inline_data feature
From: Zheng Liu <wenqing.lz@...bao.com>
Now inline_data feature can be set when ext_attr feature enabled. Currently we
cannot clear this feature in tune2fs because we need to allocate some blocks for
inode which contains inline data, and it may exhaust all of disk space.
Signed-off-by: Zheng Liu <wenqing.lz@...bao.com>
---
misc/tune2fs.8.in | 5 +++++
misc/tune2fs.c | 15 ++++++++++++++-
2 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/misc/tune2fs.8.in b/misc/tune2fs.8.in
index e77dde7..c10696a 100644
--- a/misc/tune2fs.8.in
+++ b/misc/tune2fs.8.in
@@ -531,6 +531,11 @@ Setting the filesystem feature is equivalent to using the
.B \-j
option.
.TP
+.B inline_data
+Allow data to be stored in inode.
+.B Tune2fs
+only supports setting this filesystem feature.
+.TP
.B large_file
Filesystem can contain files that are greater than 2GB. (Modern kernels
set this feature automatically when a file > 2GB is created.)
diff --git a/misc/tune2fs.c b/misc/tune2fs.c
index 6a48009..1ee6a65 100644
--- a/misc/tune2fs.c
+++ b/misc/tune2fs.c
@@ -137,7 +137,8 @@ static __u32 ok_features[3] = {
EXT2_FEATURE_INCOMPAT_FILETYPE |
EXT3_FEATURE_INCOMPAT_EXTENTS |
EXT4_FEATURE_INCOMPAT_FLEX_BG |
- EXT4_FEATURE_INCOMPAT_MMP,
+ EXT4_FEATURE_INCOMPAT_MMP |
+ EXT4_FEATURE_INCOMPAT_INLINE_DATA,
/* R/O compat */
EXT2_FEATURE_RO_COMPAT_LARGE_FILE |
EXT4_FEATURE_RO_COMPAT_HUGE_FILE|
@@ -991,6 +992,18 @@ mmp_error:
disable_uninit_bg(fs,
EXT4_FEATURE_RO_COMPAT_GDT_CSUM);
+ if (FEATURE_ON(E2P_FEATURE_INCOMPAT,
+ EXT4_FEATURE_INCOMPAT_INLINE_DATA)) {
+ /* We cannot be enable inline_data when ext_attr disabled */
+ if (!(fs->super->s_feature_compat &
+ EXT2_FEATURE_COMPAT_EXT_ATTR)) {
+ fputs(_("The inline data feature can't "
+ "be set if the extend attribute feature "
+ "disabled.\n"), stderr);
+ return 1;
+ }
+ }
+
if (FEATURE_ON(E2P_FEATURE_RO_INCOMPAT,
EXT4_FEATURE_RO_COMPAT_QUOTA)) {
/*
--
1.7.4.1
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists