mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-14 04:41:26 +00:00
sysfs, kernfs: add skeletons for kernfs
Core sysfs implementation will be separated into kernfs so that it can be used by other non-kobject users. This patch creates fs/kernfs/ directory and makes boilerplate changes. kernfs interface will be directly based on sysfs_dirent and its forward declaration is moved to include/linux/kernfs.h which is included from include/linux/sysfs.h. sysfs core implementation will be gradually separated out and moved to kernfs. This patch doesn't introduce any functional changes. v2: mount.c added. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: linux-fsdevel@vger.kernel.org Cc: Christoph Hellwig <hch@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
ae2108ad32
commit
b8441ed279
@ -53,7 +53,7 @@ obj-$(CONFIG_FHANDLE) += fhandle.o
|
||||
obj-y += quota/
|
||||
|
||||
obj-$(CONFIG_PROC_FS) += proc/
|
||||
obj-$(CONFIG_SYSFS) += sysfs/
|
||||
obj-$(CONFIG_SYSFS) += sysfs/ kernfs/
|
||||
obj-$(CONFIG_CONFIGFS_FS) += configfs/
|
||||
obj-y += devpts/
|
||||
|
||||
|
5
fs/kernfs/Makefile
Normal file
5
fs/kernfs/Makefile
Normal file
@ -0,0 +1,5 @@
|
||||
#
|
||||
# Makefile for the kernfs pseudo filesystem
|
||||
#
|
||||
|
||||
obj-y := mount.o inode.o dir.o file.o symlink.o
|
9
fs/kernfs/dir.c
Normal file
9
fs/kernfs/dir.c
Normal file
@ -0,0 +1,9 @@
|
||||
/*
|
||||
* fs/kernfs/dir.c - kernfs directory implementation
|
||||
*
|
||||
* Copyright (c) 2001-3 Patrick Mochel
|
||||
* Copyright (c) 2007 SUSE Linux Products GmbH
|
||||
* Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org>
|
||||
*
|
||||
* This file is released under the GPLv2.
|
||||
*/
|
9
fs/kernfs/file.c
Normal file
9
fs/kernfs/file.c
Normal file
@ -0,0 +1,9 @@
|
||||
/*
|
||||
* fs/kernfs/file.c - kernfs file implementation
|
||||
*
|
||||
* Copyright (c) 2001-3 Patrick Mochel
|
||||
* Copyright (c) 2007 SUSE Linux Products GmbH
|
||||
* Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org>
|
||||
*
|
||||
* This file is released under the GPLv2.
|
||||
*/
|
9
fs/kernfs/inode.c
Normal file
9
fs/kernfs/inode.c
Normal file
@ -0,0 +1,9 @@
|
||||
/*
|
||||
* fs/kernfs/inode.c - kernfs inode implementation
|
||||
*
|
||||
* Copyright (c) 2001-3 Patrick Mochel
|
||||
* Copyright (c) 2007 SUSE Linux Products GmbH
|
||||
* Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org>
|
||||
*
|
||||
* This file is released under the GPLv2.
|
||||
*/
|
9
fs/kernfs/mount.c
Normal file
9
fs/kernfs/mount.c
Normal file
@ -0,0 +1,9 @@
|
||||
/*
|
||||
* fs/kernfs/mount.c - kernfs mount implementation
|
||||
*
|
||||
* Copyright (c) 2001-3 Patrick Mochel
|
||||
* Copyright (c) 2007 SUSE Linux Products GmbH
|
||||
* Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org>
|
||||
*
|
||||
* This file is released under the GPLv2.
|
||||
*/
|
9
fs/kernfs/symlink.c
Normal file
9
fs/kernfs/symlink.c
Normal file
@ -0,0 +1,9 @@
|
||||
/*
|
||||
* fs/kernfs/symlink.c - kernfs symlink implementation
|
||||
*
|
||||
* Copyright (c) 2001-3 Patrick Mochel
|
||||
* Copyright (c) 2007 SUSE Linux Products GmbH
|
||||
* Copyright (c) 2007, 2013 Tejun Heo <tj@kernel.org>
|
||||
*
|
||||
* This file is released under the GPLv2.
|
||||
*/
|
12
include/linux/kernfs.h
Normal file
12
include/linux/kernfs.h
Normal file
@ -0,0 +1,12 @@
|
||||
/*
|
||||
* kernfs.h - pseudo filesystem decoupled from vfs locking
|
||||
*
|
||||
* This file is released under the GPLv2.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_KERNFS_H
|
||||
#define __LINUX_KERNFS_H
|
||||
|
||||
struct sysfs_dirent;
|
||||
|
||||
#endif /* __LINUX_KERNFS_H */
|
@ -12,6 +12,7 @@
|
||||
#ifndef _SYSFS_H_
|
||||
#define _SYSFS_H_
|
||||
|
||||
#include <linux/kernfs.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/list.h>
|
||||
@ -175,8 +176,6 @@ struct sysfs_ops {
|
||||
ssize_t (*store)(struct kobject *, struct attribute *, const char *, size_t);
|
||||
};
|
||||
|
||||
struct sysfs_dirent;
|
||||
|
||||
#ifdef CONFIG_SYSFS
|
||||
|
||||
int sysfs_schedule_callback(struct kobject *kobj, void (*func)(void *),
|
||||
|
Loading…
Reference in New Issue
Block a user