]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
erofs: move erofs out of staging
authorGao Xiang <hsiangkao@aol.com>
Thu, 22 Aug 2019 21:36:59 +0000 (05:36 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 24 Aug 2019 12:20:10 +0000 (14:20 +0200)
EROFS filesystem has been merged into linux-staging for a year.

EROFS is designed to be a better solution of saving extra storage
space with guaranteed end-to-end performance for read-only files
with the help of reduced metadata, fixed-sized output compression
and decompression inplace technologies.

In the past year, EROFS was greatly improved by many people as
a staging driver, self-tested, betaed by a large number of our
internal users, successfully applied to almost all in-service
HUAWEI smartphones as the part of EMUI 9.1 and proven to be stable
enough to be moved out of staging.

EROFS is a self-contained filesystem driver. Although there are
still some TODOs to be more generic, we have a dedicated team
actively keeping on working on EROFS in order to make it better
with the evolution of Linux kernel as the other in-kernel filesystems.

As Pavel suggested, it's better to do as one commit since git
can do moves and all histories will be saved in this way.

Let's promote it from staging and enhance it more actively as
a "real" part of kernel for more wider scenarios!

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Theodore Ts'o <tytso@mit.edu>
Cc: Pavel Machek <pavel@denx.de>
Cc: David Sterba <dsterba@suse.cz>
Cc: Amir Goldstein <amir73il@gmail.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Darrick J . Wong <darrick.wong@oracle.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: Jan Kara <jack@suse.cz>
Cc: Richard Weinberger <richard@nod.at>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Chao Yu <yuchao0@huawei.com>
Cc: Miao Xie <miaoxie@huawei.com>
Cc: Li Guifu <bluce.liguifu@huawei.com>
Cc: Fang Wei <fangwei1@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Link: https://lore.kernel.org/r/20190822213659.5501-1-hsiangkao@aol.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
28 files changed:
Documentation/filesystems/erofs.txt [moved from drivers/staging/erofs/Documentation/filesystems/erofs.txt with 98% similarity]
MAINTAINERS
drivers/staging/Kconfig
drivers/staging/Makefile
drivers/staging/erofs/TODO [deleted file]
fs/Kconfig
fs/Makefile
fs/erofs/Kconfig [moved from drivers/staging/erofs/Kconfig with 100% similarity]
fs/erofs/Makefile [moved from drivers/staging/erofs/Makefile with 68% similarity]
fs/erofs/compress.h [moved from drivers/staging/erofs/compress.h with 96% similarity]
fs/erofs/data.c [moved from drivers/staging/erofs/data.c with 99% similarity]
fs/erofs/decompressor.c [moved from drivers/staging/erofs/decompressor.c with 99% similarity]
fs/erofs/dir.c [moved from drivers/staging/erofs/dir.c with 98% similarity]
fs/erofs/erofs_fs.h [moved from drivers/staging/erofs/erofs_fs.h with 99% similarity]
fs/erofs/inode.c [moved from drivers/staging/erofs/inode.c with 99% similarity]
fs/erofs/internal.h [moved from drivers/staging/erofs/internal.h with 99% similarity]
fs/erofs/namei.c [moved from drivers/staging/erofs/namei.c with 99% similarity]
fs/erofs/super.c [moved from drivers/staging/erofs/super.c with 99% similarity]
fs/erofs/tagptr.h [moved from drivers/staging/erofs/tagptr.h with 100% similarity]
fs/erofs/utils.c [moved from drivers/staging/erofs/utils.c with 99% similarity]
fs/erofs/xattr.c [moved from drivers/staging/erofs/xattr.c with 99% similarity]
fs/erofs/xattr.h [moved from drivers/staging/erofs/xattr.h with 98% similarity]
fs/erofs/zdata.c [moved from drivers/staging/erofs/zdata.c with 99% similarity]
fs/erofs/zdata.h [moved from drivers/staging/erofs/zdata.h with 99% similarity]
fs/erofs/zmap.c [moved from drivers/staging/erofs/zmap.c with 99% similarity]
fs/erofs/zpvec.h [moved from drivers/staging/erofs/zpvec.h with 98% similarity]
include/trace/events/erofs.h [moved from drivers/staging/erofs/include/trace/events/erofs.h with 100% similarity]
include/uapi/linux/magic.h

similarity index 98%
rename from drivers/staging/erofs/Documentation/filesystems/erofs.txt
rename to Documentation/filesystems/erofs.txt
index 0eab600ca7cae3d8b345890f58791fb46b3584f0..38aa9126ec9822a23b7d58d44cbb68c438b4d2da 100644 (file)
@@ -49,10 +49,6 @@ Bugs and patches are welcome, please kindly help us and send to the following
 linux-erofs mailing list:
 >> linux-erofs mailing list   <linux-erofs@lists.ozlabs.org>
 
-Note that EROFS is still working in progress as a Linux staging driver,
-Cc the staging mailing list as well is highly recommended:
->> Linux Driver Project Developer List <devel@driverdev.osuosl.org>
-
 Mount options
 =============
 
index 6847372cfab879b31b2f57cc674af824080b1c94..0f38cba2c581ffb99d5f9f5f24a2cf00341bf4bf 100644 (file)
@@ -6046,6 +6046,13 @@ T:       git git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git
 F:     drivers/video/fbdev/s1d13xxxfb.c
 F:     include/video/s1d13xxxfb.h
 
+EROFS FILE SYSTEM
+M:     Gao Xiang <gaoxiang25@huawei.com>
+M:     Chao Yu <yuchao0@huawei.com>
+L:     linux-erofs@lists.ozlabs.org
+S:     Maintained
+F:     fs/erofs/
+
 ERRSEQ ERROR TRACKING INFRASTRUCTURE
 M:     Jeff Layton <jlayton@kernel.org>
 S:     Maintained
@@ -15229,13 +15236,6 @@ M:     H Hartley Sweeten <hsweeten@visionengravers.com>
 S:     Odd Fixes
 F:     drivers/staging/comedi/
 
-STAGING - EROFS FILE SYSTEM
-M:     Gao Xiang <gaoxiang25@huawei.com>
-M:     Chao Yu <yuchao0@huawei.com>
-L:     linux-erofs@lists.ozlabs.org
-S:     Maintained
-F:     drivers/staging/erofs/
-
 STAGING - FIELDBUS SUBSYSTEM
 M:     Sven Van Asbroeck <TheSven73@gmail.com>
 S:     Maintained
index 7c96a01eef6c714f390816c18d6916aaaddaa721..d972ec8e71fbce5ad78ff059024c91261450458b 100644 (file)
@@ -112,8 +112,6 @@ source "drivers/staging/gasket/Kconfig"
 
 source "drivers/staging/axis-fifo/Kconfig"
 
-source "drivers/staging/erofs/Kconfig"
-
 source "drivers/staging/fieldbus/Kconfig"
 
 source "drivers/staging/kpc2000/Kconfig"
index fcaac9693b8312d45d21667660c7f958a5c2a734..6018b9a4a077fafdf0f998d35a01c365d8a9ddc4 100644 (file)
@@ -46,7 +46,6 @@ obj-$(CONFIG_DMA_RALINK)      += ralink-gdma/
 obj-$(CONFIG_SOC_MT7621)       += mt7621-dts/
 obj-$(CONFIG_STAGING_GASKET_FRAMEWORK) += gasket/
 obj-$(CONFIG_XIL_AXIS_FIFO)    += axis-fifo/
-obj-$(CONFIG_EROFS_FS)         += erofs/
 obj-$(CONFIG_FIELDBUS_DEV)     += fieldbus/
 obj-$(CONFIG_KPC2000)          += kpc2000/
 obj-$(CONFIG_ISDN_CAPI)                += isdn/
diff --git a/drivers/staging/erofs/TODO b/drivers/staging/erofs/TODO
deleted file mode 100644 (file)
index a8608b2..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-
-EROFS is still working in progress, thus it is not suitable
-for all productive uses. play at your own risk :)
-
-TODO List:
- - add the missing error handling code
-   (mainly existed in xattr and decompression submodules);
-
- - finalize erofs ondisk format design  (which means that
-   minor on-disk revisions could happen later);
-
- - documentation and detailed technical analysis;
-
- - general code review and clean up
-   (including confusing variable names and code snippets);
-
- - support larger compressed clustersizes for selection
-   (currently erofs only works as expected with the page-sized
-    compressed cluster configuration, usually 4KB);
-
- - support more lossless data compression algorithms
-   in addition to LZ4 algorithms in VLE approach;
-
- - data deduplication and other useful features.
-
-The following git tree provides the file system user-space
-tools under development (ex, formatting tool mkfs.erofs):
->> git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git
-
-The open-source development of erofs-utils is at the early stage.
-Contact the original author Li Guifu <bluce.liguifu@huawei.com> and
-the co-maintainer Fang Wei <fangwei1@huawei.com> for the latest news
-and more details.
-
-Code, suggestions, etc, are welcome. Please feel free to
-ask and send patches,
-
-To:
-  linux-erofs mailing list   <linux-erofs@lists.ozlabs.org>
-  Gao Xiang                  <gaoxiang25@huawei.com>
-  Chao Yu                    <yuchao0@huawei.com>
-
-Cc: (for linux-kernel upstream patches)
-  Greg Kroah-Hartman         <gregkh@linuxfoundation.org>
-  linux-staging mailing list <devel@driverdev.osuosl.org>
-
index bfb1c6095c7a743c41125a0af3095a7d56cdff80..669d46550e6d3d13a805e28b462c3b8778bea425 100644 (file)
@@ -261,6 +261,7 @@ source "fs/romfs/Kconfig"
 source "fs/pstore/Kconfig"
 source "fs/sysv/Kconfig"
 source "fs/ufs/Kconfig"
+source "fs/erofs/Kconfig"
 
 endif # MISC_FILESYSTEMS
 
index d60089fd689bc08dabc06e3b41a921e895acb6a6..b2e4973a0bea269706ca6cc495d52a72db8725b8 100644 (file)
@@ -130,3 +130,4 @@ obj-$(CONFIG_F2FS_FS)               += f2fs/
 obj-$(CONFIG_CEPH_FS)          += ceph/
 obj-$(CONFIG_PSTORE)           += pstore/
 obj-$(CONFIG_EFIVAR_FS)                += efivarfs/
+obj-$(CONFIG_EROFS_FS)         += erofs/
similarity index 68%
rename from drivers/staging/erofs/Makefile
rename to fs/erofs/Makefile
index 5cdae21cb5afa6ffc2d1c506080980da3c257378..46f2aa4ba46c226e2b85aa2f82aefa508b586a1a 100644 (file)
@@ -1,12 +1,10 @@
 # SPDX-License-Identifier: GPL-2.0-only
 
-EROFS_VERSION = "1.0pre1"
+EROFS_VERSION = "1.0"
 
 ccflags-y += -DEROFS_VERSION=\"$(EROFS_VERSION)\"
 
 obj-$(CONFIG_EROFS_FS) += erofs.o
-# staging requirement: to be self-contained in its own directory
-ccflags-y += -I $(srctree)/$(src)/include
 erofs-objs := super.o inode.o data.o namei.o dir.o utils.o
 erofs-$(CONFIG_EROFS_FS_XATTR) += xattr.o
 erofs-$(CONFIG_EROFS_FS_ZIP) += decompressor.o zmap.o zdata.o
similarity index 96%
rename from drivers/staging/erofs/compress.h
rename to fs/erofs/compress.h
index 043013f9ef1b4959615aafc726a9bd32527675ca..07d279fd5d67dce831e8cde1df59a9905624da7b 100644 (file)
@@ -1,7 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * linux/drivers/staging/erofs/compress.h
- *
  * Copyright (C) 2019 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
similarity index 99%
rename from drivers/staging/erofs/data.c
rename to fs/erofs/data.c
index 72c4b4c5296b6a1c1991e5078482cf1dd07e017a..fda16ec8863ec8dab05408ed969c3873f96c9ee7 100644 (file)
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * linux/drivers/staging/erofs/data.c
- *
  * Copyright (C) 2017-2018 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
similarity index 99%
rename from drivers/staging/erofs/decompressor.c
rename to fs/erofs/decompressor.c
index 32a811ac704ace1906e2129716d21c4027cc8bda..5f4b7f3028638a1a44bcaad38d7a1f250d9a0e35 100644 (file)
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * linux/drivers/staging/erofs/decompressor.c
- *
  * Copyright (C) 2019 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
similarity index 98%
rename from drivers/staging/erofs/dir.c
rename to fs/erofs/dir.c
index 77ef856df9f3a5f7caa9fddf95599af697759aea..1976e60e5174f979751d0594b5939387731a472a 100644 (file)
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * linux/drivers/staging/erofs/dir.c
- *
  * Copyright (C) 2017-2018 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
similarity index 99%
rename from drivers/staging/erofs/erofs_fs.h
rename to fs/erofs/erofs_fs.h
index 6db70f395937133a9d11276df7ed79f8894ddc3b..afa7d45ca958f29d17fc5b5e4a4d960979aeca21 100644 (file)
@@ -1,7 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0-only OR Apache-2.0 */
 /*
- * linux/drivers/staging/erofs/erofs_fs.h
- *
  * Copyright (C) 2017-2018 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
@@ -10,7 +8,6 @@
 #define __EROFS_FS_H
 
 /* Enhanced(Extended) ROM File System */
-#define EROFS_SUPER_MAGIC_V1    0xE0F5E1E2
 #define EROFS_SUPER_OFFSET      1024
 
 /*
similarity index 99%
rename from drivers/staging/erofs/inode.c
rename to fs/erofs/inode.c
index cbc2c342a37fcd6b9ae2d29d1808261ebbaf124e..80f4fe919ee74d0efb286b54ff4d18a3c48daa9b 100644 (file)
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * linux/drivers/staging/erofs/inode.c
- *
  * Copyright (C) 2017-2018 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
similarity index 99%
rename from drivers/staging/erofs/internal.h
rename to fs/erofs/internal.h
index 0e8d58546c528209e75c41e6dd48892a9f0e09c7..620b73fcc4165fb52325d3546d4650e293b2c183 100644 (file)
@@ -1,7 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * linux/drivers/staging/erofs/internal.h
- *
  * Copyright (C) 2017-2018 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
@@ -15,6 +13,7 @@
 #include <linux/pagemap.h>
 #include <linux/bio.h>
 #include <linux/buffer_head.h>
+#include <linux/magic.h>
 #include <linux/slab.h>
 #include <linux/vmalloc.h>
 #include "erofs_fs.h"
similarity index 99%
rename from drivers/staging/erofs/namei.c
rename to fs/erofs/namei.c
index 8334a910acef5ebf3a97f126b55c5d39665a6411..8832b5d95d91e1ccd525289c2af85e63f49d583d 100644 (file)
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * linux/drivers/staging/erofs/namei.c
- *
  * Copyright (C) 2017-2018 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
similarity index 99%
rename from drivers/staging/erofs/super.c
rename to fs/erofs/super.c
index 2da471010a869edfd277f0f3d5f9f12f8606df37..6d3a9bcb8daafa3cfb37eeef9a4246901015fb0d 100644 (file)
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * linux/drivers/staging/erofs/super.c
- *
  * Copyright (C) 2017-2018 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
similarity index 99%
rename from drivers/staging/erofs/utils.c
rename to fs/erofs/utils.c
index 814c2ee037aee4bd89dd555527a7204128eaafbd..1dd041aa0f5a419910769cb2ac7b3bcac68836b3 100644 (file)
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * linux/drivers/staging/erofs/utils.c
- *
  * Copyright (C) 2018 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
similarity index 99%
rename from drivers/staging/erofs/xattr.c
rename to fs/erofs/xattr.c
index e7e5840e3f9dbccfd798caff1ac37019479a90a3..a8286998a07960f3e338dd558819380fd3dd871a 100644 (file)
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * linux/drivers/staging/erofs/xattr.c
- *
  * Copyright (C) 2017-2018 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
similarity index 98%
rename from drivers/staging/erofs/xattr.h
rename to fs/erofs/xattr.h
index e20249647541388ec7de373e32ddf7a17efd913f..c5ca47d814dd56ae71e33ae6495b30b4a32d52ed 100644 (file)
@@ -1,7 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * linux/drivers/staging/erofs/xattr.h
- *
  * Copyright (C) 2017-2018 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
similarity index 99%
rename from drivers/staging/erofs/zdata.c
rename to fs/erofs/zdata.c
index 60d7c20db87db549c08fc1cf754f49cccc8814e9..b32ad585237c7a9478b6ab05aad74edfddb0e891 100644 (file)
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * linux/drivers/staging/erofs/zdata.c
- *
  * Copyright (C) 2018 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
similarity index 99%
rename from drivers/staging/erofs/zdata.h
rename to fs/erofs/zdata.h
index e11fe1959ca2c2c4bcaeda3536099f7c82d08e7c..4fc547bc01f9b9765188102b480ce00946ba6437 100644 (file)
@@ -1,7 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * linux/drivers/staging/erofs/zdata.h
- *
  * Copyright (C) 2018 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
similarity index 99%
rename from drivers/staging/erofs/zmap.c
rename to fs/erofs/zmap.c
index 774dacbc5b323f6a8f2a981ec997e64f9cb67faf..4dc9cec01297dc314a63f2b8968228d798d1bb58 100644 (file)
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * linux/drivers/staging/erofs/zmap.c
- *
  * Copyright (C) 2018-2019 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
similarity index 98%
rename from drivers/staging/erofs/zpvec.h
rename to fs/erofs/zpvec.h
index 9798f5627786a4e7df2a755fe78f74fd962d92d7..bd3cee16491cf1ba536faede815d4ba3557689eb 100644 (file)
@@ -1,7 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * linux/drivers/staging/erofs/zpvec.h
- *
  * Copyright (C) 2018 HUAWEI, Inc.
  *             http://www.huawei.com/
  * Created by Gao Xiang <gaoxiang25@huawei.com>
index 1274c692e59c5474fcb89a4e75fc8198831b7591..903cc2d2750b24f4bc48cbdce4a71c5543e41137 100644 (file)
@@ -19,6 +19,7 @@
 #define SQUASHFS_MAGIC         0x73717368
 #define ECRYPTFS_SUPER_MAGIC   0xf15f
 #define EFS_SUPER_MAGIC                0x414A53
+#define EROFS_SUPER_MAGIC_V1   0xE0F5E1E2
 #define EXT2_SUPER_MAGIC       0xEF53
 #define EXT3_SUPER_MAGIC       0xEF53
 #define XENFS_SUPER_MAGIC      0xabba1974