Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ece2ccb6 authored by Al Viro's avatar Al Viro
Browse files

Merge branches 'vfsmount-guts', 'umode_t' and 'partitions' into Z

Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -37,15 +37,15 @@ d_manage: no no yes (ref-walk) maybe

--------------------------- inode_operations --------------------------- 
prototypes:
	int (*create) (struct inode *,struct dentry *,int, struct nameidata *);
	int (*create) (struct inode *,struct dentry *,umode_t, struct nameidata *);
	struct dentry * (*lookup) (struct inode *,struct dentry *, struct nameid
ata *);
	int (*link) (struct dentry *,struct inode *,struct dentry *);
	int (*unlink) (struct inode *,struct dentry *);
	int (*symlink) (struct inode *,struct dentry *,const char *);
	int (*mkdir) (struct inode *,struct dentry *,int);
	int (*mkdir) (struct inode *,struct dentry *,umode_t);
	int (*rmdir) (struct inode *,struct dentry *);
	int (*mknod) (struct inode *,struct dentry *,int,dev_t);
	int (*mknod) (struct inode *,struct dentry *,umode_t,dev_t);
	int (*rename) (struct inode *, struct dentry *,
			struct inode *, struct dentry *);
	int (*readlink) (struct dentry *, char __user *,int);
+1 −1
Original line number Diff line number Diff line
@@ -192,7 +192,7 @@ attribute value uses the store_attribute() method.
	struct configfs_attribute {
		char                    *ca_name;
		struct module           *ca_owner;
		mode_t                  ca_mode;
		umode_t                  ca_mode;
	};

When a config_item wants an attribute to appear as a file in the item's
+12 −12
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ described below will work.

The most general way to create a file within a debugfs directory is with:

    struct dentry *debugfs_create_file(const char *name, mode_t mode,
    struct dentry *debugfs_create_file(const char *name, umode_t mode,
				       struct dentry *parent, void *data,
				       const struct file_operations *fops);

@@ -53,13 +53,13 @@ actually necessary; the debugfs code provides a number of helper functions
for simple situations.  Files containing a single integer value can be
created with any of:

    struct dentry *debugfs_create_u8(const char *name, mode_t mode,
    struct dentry *debugfs_create_u8(const char *name, umode_t mode,
				     struct dentry *parent, u8 *value);
    struct dentry *debugfs_create_u16(const char *name, mode_t mode,
    struct dentry *debugfs_create_u16(const char *name, umode_t mode,
				      struct dentry *parent, u16 *value);
    struct dentry *debugfs_create_u32(const char *name, mode_t mode,
    struct dentry *debugfs_create_u32(const char *name, umode_t mode,
				      struct dentry *parent, u32 *value);
    struct dentry *debugfs_create_u64(const char *name, mode_t mode,
    struct dentry *debugfs_create_u64(const char *name, umode_t mode,
				      struct dentry *parent, u64 *value);

These files support both reading and writing the given value; if a specific
@@ -67,13 +67,13 @@ file should not be written to, simply set the mode bits accordingly. The
values in these files are in decimal; if hexadecimal is more appropriate,
the following functions can be used instead:

    struct dentry *debugfs_create_x8(const char *name, mode_t mode,
    struct dentry *debugfs_create_x8(const char *name, umode_t mode,
				     struct dentry *parent, u8 *value);
    struct dentry *debugfs_create_x16(const char *name, mode_t mode,
    struct dentry *debugfs_create_x16(const char *name, umode_t mode,
				      struct dentry *parent, u16 *value);
    struct dentry *debugfs_create_x32(const char *name, mode_t mode,
    struct dentry *debugfs_create_x32(const char *name, umode_t mode,
				      struct dentry *parent, u32 *value);
    struct dentry *debugfs_create_x64(const char *name, mode_t mode,
    struct dentry *debugfs_create_x64(const char *name, umode_t mode,
				      struct dentry *parent, u64 *value);

These functions are useful as long as the developer knows the size of the
@@ -81,7 +81,7 @@ value to be exported. Some types can have different widths on different
architectures, though, complicating the situation somewhat.  There is a
function meant to help out in one special case:

    struct dentry *debugfs_create_size_t(const char *name, mode_t mode,
    struct dentry *debugfs_create_size_t(const char *name, umode_t mode,
				         struct dentry *parent, 
					 size_t *value);

@@ -90,7 +90,7 @@ a variable of type size_t.

Boolean values can be placed in debugfs with:

    struct dentry *debugfs_create_bool(const char *name, mode_t mode,
    struct dentry *debugfs_create_bool(const char *name, umode_t mode,
				       struct dentry *parent, u32 *value);

A read on the resulting file will yield either Y (for non-zero values) or
@@ -104,7 +104,7 @@ Finally, a block of arbitrary binary data can be exported with:
	unsigned long size;
    };

    struct dentry *debugfs_create_blob(const char *name, mode_t mode,
    struct dentry *debugfs_create_blob(const char *name, umode_t mode,
				       struct dentry *parent,
				       struct debugfs_blob_wrapper *blob);

+1 −1
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@ An attribute definition is simply:
struct attribute {
        char                    * name;
        struct module		*owner;
        mode_t                  mode;
        umode_t                 mode;
};


+3 −3
Original line number Diff line number Diff line
@@ -341,14 +341,14 @@ This describes how the VFS can manipulate an inode in your
filesystem. As of kernel 2.6.22, the following members are defined:

struct inode_operations {
	int (*create) (struct inode *,struct dentry *,int, struct nameidata *);
	int (*create) (struct inode *,struct dentry *, umode_t, struct nameidata *);
	struct dentry * (*lookup) (struct inode *,struct dentry *, struct nameidata *);
	int (*link) (struct dentry *,struct inode *,struct dentry *);
	int (*unlink) (struct inode *,struct dentry *);
	int (*symlink) (struct inode *,struct dentry *,const char *);
	int (*mkdir) (struct inode *,struct dentry *,int);
	int (*mkdir) (struct inode *,struct dentry *,umode_t);
	int (*rmdir) (struct inode *,struct dentry *);
	int (*mknod) (struct inode *,struct dentry *,int,dev_t);
	int (*mknod) (struct inode *,struct dentry *,umode_t,dev_t);
	int (*rename) (struct inode *, struct dentry *,
			struct inode *, struct dentry *);
	int (*readlink) (struct dentry *, char __user *,int);
Loading