This adds Makefile and Kconfig for f2fs, and updates Makefile and Kconfig files
in the fs directory.
Signed-off-by: Jaegeuk Kim <[email protected]>
---
fs/Kconfig | 1 +
fs/Makefile | 1 +
fs/f2fs/Kconfig | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
fs/f2fs/Makefile | 6 ++++++
4 files changed, 63 insertions(+)
create mode 100644 fs/f2fs/Kconfig
create mode 100644 fs/f2fs/Makefile
diff --git a/fs/Kconfig b/fs/Kconfig
index f95ae3a..e352b37 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -220,6 +220,7 @@ source "fs/pstore/Kconfig"
source "fs/sysv/Kconfig"
source "fs/ufs/Kconfig"
source "fs/exofs/Kconfig"
+source "fs/f2fs/Kconfig"
endif # MISC_FILESYSTEMS
diff --git a/fs/Makefile b/fs/Makefile
index 2fb9779..e09edb5 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -122,6 +122,7 @@ obj-$(CONFIG_DEBUG_FS) += debugfs/
obj-$(CONFIG_OCFS2_FS) += ocfs2/
obj-$(CONFIG_BTRFS_FS) += btrfs/
obj-$(CONFIG_GFS2_FS) += gfs2/
+obj-$(CONFIG_F2FS_FS) += f2fs/
obj-y += exofs/ # Multiple modules
obj-$(CONFIG_CEPH_FS) += ceph/
obj-$(CONFIG_PSTORE) += pstore/
diff --git a/fs/f2fs/Kconfig b/fs/f2fs/Kconfig
new file mode 100644
index 0000000..8821c6a
--- /dev/null
+++ b/fs/f2fs/Kconfig
@@ -0,0 +1,55 @@
+config F2FS_FS
+ tristate "F2FS filesystem support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ help
+ F2FS is based on Log-structured File System (LFS), which supports
+ versatile "flash-friendly" features. The design has been focused on
+ addressing the fundamental issues in LFS, which are snowball effect
+ of wandering tree and high cleaning overhead.
+
+ Since flash-based storages show different characteristics according to
+ the internal geometry or flash memory management schemes aka FTL, F2FS
+ and tools support various parameters not only for configuring on-disk
+ layout, but also for selecting allocation and cleaning algorithms.
+
+ If unsure, say N.
+
+config F2FS_STAT_FS
+ bool "F2FS Status Information"
+ depends on F2FS_FS
+ default y
+ help
+ /proc/fs/f2fs/ contains information about partitions mounted as f2fs.
+ For each partition, a corresponding directory, named as its device
+ name, is provided with the following proc entries.
+
+ f2fs_stat major file system information managed by f2fs currently
+ f2fs_sit_stat average SIT information about whole segments
+ f2fs_mem_stat current memory footprint consumed by f2fs
+
+ e.g., in /proc/fs/f2fs/sdb1/
+
+config F2FS_FS_XATTR
+ bool "F2FS extended attributes"
+ depends on F2FS_FS
+ default y
+ help
+ Extended attributes are name:value pairs associated with inodes by
+ the kernel or by users (see the attr(5) manual page, or visit
+ <http://acl.bestbits.at/> for details).
+
+ If unsure, say N.
+
+config F2FS_FS_POSIX_ACL
+ bool "F2FS Access Control Lists"
+ depends on F2FS_FS_XATTR
+ select FS_POSIX_ACL
+ default y
+ help
+ Posix Access Control Lists (ACLs) support permissions for users and
+ gourps beyond the owner/group/world scheme.
+
+ To learn more about Access Control Lists, visit the POSIX ACLs for
+ Linux website <http://acl.bestbits.at/>.
+
+ If you don't know what Access Control Lists are, say N
diff --git a/fs/f2fs/Makefile b/fs/f2fs/Makefile
new file mode 100644
index 0000000..72fcf9a
--- /dev/null
+++ b/fs/f2fs/Makefile
@@ -0,0 +1,6 @@
+obj-$(CONFIG_F2FS_FS) += f2fs.o
+
+f2fs-y := dir.o file.o inode.o namei.o hash.o super.o
+f2fs-y += checkpoint.o gc.o data.o node.o segment.o recovery.o
+f2fs-$(CONFIG_F2FS_FS_XATTR) += xattr.o
+f2fs-$(CONFIG_F2FS_FS_POSIX_ACL) += acl.o
--
1.7.9.5
---
Jaegeuk Kim
Samsung
On Fri, Oct 05, 2012 at 09:06:09PM +0900, 김재극 wrote:
> This adds Makefile and Kconfig for f2fs, and updates Makefile and Kconfig files
> in the fs directory.
I found it easier to comment about this here, instead of where the code
implemented this, as you describe it well here:
> +config F2FS_STAT_FS
> + bool "F2FS Status Information"
> + depends on F2FS_FS
> + default y
> + help
> + /proc/fs/f2fs/ contains information about partitions mounted as f2fs.
> + For each partition, a corresponding directory, named as its device
> + name, is provided with the following proc entries.
> +
> + f2fs_stat major file system information managed by f2fs currently
> + f2fs_sit_stat average SIT information about whole segments
> + f2fs_mem_stat current memory footprint consumed by f2fs
> +
> + e.g., in /proc/fs/f2fs/sdb1/
As this is primarily debugging information, why not just always enable
it, and put in debugfs instead of in procfs? That's where new debugging
information should be going. Side benefit, your code should shrink a
bit if you use debugfs instead of procfs :)
Or, if this is really needed by all users, what is wrong with
/sys/fs/f2fs/ instead?
thanks,
greg k-h
2012-10-05 (금), 09:53 -0700, Greg KH:
> On Fri, Oct 05, 2012 at 09:06:09PM +0900, 김재극 wrote:
> > This adds Makefile and Kconfig for f2fs, and updates Makefile and Kconfig files
> > in the fs directory.
>
> I found it easier to comment about this here, instead of where the code
> implemented this, as you describe it well here:
>
> > +config F2FS_STAT_FS
> > + bool "F2FS Status Information"
> > + depends on F2FS_FS
> > + default y
> > + help
> > + /proc/fs/f2fs/ contains information about partitions mounted as f2fs.
> > + For each partition, a corresponding directory, named as its device
> > + name, is provided with the following proc entries.
> > +
> > + f2fs_stat major file system information managed by f2fs currently
> > + f2fs_sit_stat average SIT information about whole segments
> > + f2fs_mem_stat current memory footprint consumed by f2fs
> > +
> > + e.g., in /proc/fs/f2fs/sdb1/
>
> As this is primarily debugging information, why not just always enable
> it, and put in debugfs instead of in procfs? That's where new debugging
> information should be going. Side benefit, your code should shrink a
> bit if you use debugfs instead of procfs :)
>
> Or, if this is really needed by all users, what is wrong with
> /sys/fs/f2fs/ instead?
>
Thank you for good recommendation. :)
Since this status information is just for showing how fs is working in
run-time, not configuring some kind of parameters in the fs, so I think
proc or debugfs would be one of candidates.
Between them, IMHO, this status information will not be used for
debugging in practical.
Instead, I think the debugging information would include something like
ftrace, locking trace, IO trace, and so on.
So, currently, I just want to show the current fs status by proc simply.
And, of course, in the future, I have to reexamine and rewrite the proc
entry finally.
Thank you,
> thanks,
>
> greg k-h
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
Jaegeuk Kim
Samsung