diff --git a/drivers/staging/erofs/Documentation/filesystems/erofs.txt b/Documentation/filesystems/erofs.txt similarity index 98% rename from drivers/staging/erofs/Documentation/filesystems/erofs.txt rename to Documentation/filesystems/erofs.txt index 0eab600ca7ca..38aa9126ec98 100644 --- a/drivers/staging/erofs/Documentation/filesystems/erofs.txt +++ b/Documentation/filesystems/erofs.txt @@ -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 -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 - Mount options ============= diff --git a/MAINTAINERS b/MAINTAINERS index 6847372cfab8..0f38cba2c581 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -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 +M: Chao Yu +L: linux-erofs@lists.ozlabs.org +S: Maintained +F: fs/erofs/ + ERRSEQ ERROR TRACKING INFRASTRUCTURE M: Jeff Layton S: Maintained @@ -15229,13 +15236,6 @@ M: H Hartley Sweeten S: Odd Fixes F: drivers/staging/comedi/ -STAGING - EROFS FILE SYSTEM -M: Gao Xiang -M: Chao Yu -L: linux-erofs@lists.ozlabs.org -S: Maintained -F: drivers/staging/erofs/ - STAGING - FIELDBUS SUBSYSTEM M: Sven Van Asbroeck S: Maintained diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig index 7c96a01eef6c..d972ec8e71fb 100644 --- a/drivers/staging/Kconfig +++ b/drivers/staging/Kconfig @@ -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" diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile index fcaac9693b83..6018b9a4a077 100644 --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile @@ -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 index a8608b2f72bd..000000000000 --- a/drivers/staging/erofs/TODO +++ /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 and -the co-maintainer Fang Wei 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 - Gao Xiang - Chao Yu - -Cc: (for linux-kernel upstream patches) - Greg Kroah-Hartman - linux-staging mailing list - diff --git a/fs/Kconfig b/fs/Kconfig index bfb1c6095c7a..669d46550e6d 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -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 diff --git a/fs/Makefile b/fs/Makefile index d60089fd689b..b2e4973a0bea 100644 --- a/fs/Makefile +++ b/fs/Makefile @@ -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/ diff --git a/drivers/staging/erofs/Kconfig b/fs/erofs/Kconfig similarity index 100% rename from drivers/staging/erofs/Kconfig rename to fs/erofs/Kconfig diff --git a/drivers/staging/erofs/Makefile b/fs/erofs/Makefile similarity index 68% rename from drivers/staging/erofs/Makefile rename to fs/erofs/Makefile index 5cdae21cb5af..46f2aa4ba46c 100644 --- a/drivers/staging/erofs/Makefile +++ b/fs/erofs/Makefile @@ -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 diff --git a/drivers/staging/erofs/compress.h b/fs/erofs/compress.h similarity index 96% rename from drivers/staging/erofs/compress.h rename to fs/erofs/compress.h index 043013f9ef1b..07d279fd5d67 100644 --- a/drivers/staging/erofs/compress.h +++ b/fs/erofs/compress.h @@ -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 diff --git a/drivers/staging/erofs/data.c b/fs/erofs/data.c similarity index 99% rename from drivers/staging/erofs/data.c rename to fs/erofs/data.c index 72c4b4c5296b..fda16ec8863e 100644 --- a/drivers/staging/erofs/data.c +++ b/fs/erofs/data.c @@ -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 diff --git a/drivers/staging/erofs/decompressor.c b/fs/erofs/decompressor.c similarity index 99% rename from drivers/staging/erofs/decompressor.c rename to fs/erofs/decompressor.c index 32a811ac704a..5f4b7f302863 100644 --- a/drivers/staging/erofs/decompressor.c +++ b/fs/erofs/decompressor.c @@ -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 diff --git a/drivers/staging/erofs/dir.c b/fs/erofs/dir.c similarity index 98% rename from drivers/staging/erofs/dir.c rename to fs/erofs/dir.c index 77ef856df9f3..1976e60e5174 100644 --- a/drivers/staging/erofs/dir.c +++ b/fs/erofs/dir.c @@ -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 diff --git a/drivers/staging/erofs/erofs_fs.h b/fs/erofs/erofs_fs.h similarity index 99% rename from drivers/staging/erofs/erofs_fs.h rename to fs/erofs/erofs_fs.h index 6db70f395937..afa7d45ca958 100644 --- a/drivers/staging/erofs/erofs_fs.h +++ b/fs/erofs/erofs_fs.h @@ -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 @@ -10,7 +8,6 @@ #define __EROFS_FS_H /* Enhanced(Extended) ROM File System */ -#define EROFS_SUPER_MAGIC_V1 0xE0F5E1E2 #define EROFS_SUPER_OFFSET 1024 /* diff --git a/drivers/staging/erofs/inode.c b/fs/erofs/inode.c similarity index 99% rename from drivers/staging/erofs/inode.c rename to fs/erofs/inode.c index cbc2c342a37f..80f4fe919ee7 100644 --- a/drivers/staging/erofs/inode.c +++ b/fs/erofs/inode.c @@ -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 diff --git a/drivers/staging/erofs/internal.h b/fs/erofs/internal.h similarity index 99% rename from drivers/staging/erofs/internal.h rename to fs/erofs/internal.h index 0e8d58546c52..620b73fcc416 100644 --- a/drivers/staging/erofs/internal.h +++ b/fs/erofs/internal.h @@ -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 @@ -15,6 +13,7 @@ #include #include #include +#include #include #include #include "erofs_fs.h" diff --git a/drivers/staging/erofs/namei.c b/fs/erofs/namei.c similarity index 99% rename from drivers/staging/erofs/namei.c rename to fs/erofs/namei.c index 8334a910acef..8832b5d95d91 100644 --- a/drivers/staging/erofs/namei.c +++ b/fs/erofs/namei.c @@ -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 diff --git a/drivers/staging/erofs/super.c b/fs/erofs/super.c similarity index 99% rename from drivers/staging/erofs/super.c rename to fs/erofs/super.c index 2da471010a86..6d3a9bcb8daa 100644 --- a/drivers/staging/erofs/super.c +++ b/fs/erofs/super.c @@ -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 diff --git a/drivers/staging/erofs/tagptr.h b/fs/erofs/tagptr.h similarity index 100% rename from drivers/staging/erofs/tagptr.h rename to fs/erofs/tagptr.h diff --git a/drivers/staging/erofs/utils.c b/fs/erofs/utils.c similarity index 99% rename from drivers/staging/erofs/utils.c rename to fs/erofs/utils.c index 814c2ee037ae..1dd041aa0f5a 100644 --- a/drivers/staging/erofs/utils.c +++ b/fs/erofs/utils.c @@ -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 diff --git a/drivers/staging/erofs/xattr.c b/fs/erofs/xattr.c similarity index 99% rename from drivers/staging/erofs/xattr.c rename to fs/erofs/xattr.c index e7e5840e3f9d..a8286998a079 100644 --- a/drivers/staging/erofs/xattr.c +++ b/fs/erofs/xattr.c @@ -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 diff --git a/drivers/staging/erofs/xattr.h b/fs/erofs/xattr.h similarity index 98% rename from drivers/staging/erofs/xattr.h rename to fs/erofs/xattr.h index e20249647541..c5ca47d814dd 100644 --- a/drivers/staging/erofs/xattr.h +++ b/fs/erofs/xattr.h @@ -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 diff --git a/drivers/staging/erofs/zdata.c b/fs/erofs/zdata.c similarity index 99% rename from drivers/staging/erofs/zdata.c rename to fs/erofs/zdata.c index 60d7c20db87d..b32ad585237c 100644 --- a/drivers/staging/erofs/zdata.c +++ b/fs/erofs/zdata.c @@ -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 diff --git a/drivers/staging/erofs/zdata.h b/fs/erofs/zdata.h similarity index 99% rename from drivers/staging/erofs/zdata.h rename to fs/erofs/zdata.h index e11fe1959ca2..4fc547bc01f9 100644 --- a/drivers/staging/erofs/zdata.h +++ b/fs/erofs/zdata.h @@ -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 diff --git a/drivers/staging/erofs/zmap.c b/fs/erofs/zmap.c similarity index 99% rename from drivers/staging/erofs/zmap.c rename to fs/erofs/zmap.c index 774dacbc5b32..4dc9cec01297 100644 --- a/drivers/staging/erofs/zmap.c +++ b/fs/erofs/zmap.c @@ -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 diff --git a/drivers/staging/erofs/zpvec.h b/fs/erofs/zpvec.h similarity index 98% rename from drivers/staging/erofs/zpvec.h rename to fs/erofs/zpvec.h index 9798f5627786..bd3cee16491c 100644 --- a/drivers/staging/erofs/zpvec.h +++ b/fs/erofs/zpvec.h @@ -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 diff --git a/drivers/staging/erofs/include/trace/events/erofs.h b/include/trace/events/erofs.h similarity index 100% rename from drivers/staging/erofs/include/trace/events/erofs.h rename to include/trace/events/erofs.h diff --git a/include/uapi/linux/magic.h b/include/uapi/linux/magic.h index 1274c692e59c..903cc2d2750b 100644 --- a/include/uapi/linux/magic.h +++ b/include/uapi/linux/magic.h @@ -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