envfs-commits Mailing List for /env file system (Page 2)
Status: Pre-Alpha
Brought to you by:
lethal
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(28) |
Oct
(7) |
Nov
|
Dec
|
---|
From: Paul M. <le...@us...> - 2001-09-19 03:07:40
|
Update of /cvsroot/envfs/envfs/fs/envfs In directory usw-pr-cvs1:/tmp/cvs-serv5906/fs/envfs Modified Files: file.c Log Message: 2.4.8 merge Index: file.c =================================================================== RCS file: /cvsroot/envfs/envfs/fs/envfs/file.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- file.c 2001/09/19 03:01:45 1.1 +++ file.c 2001/09/19 03:07:37 1.2 @@ -145,5 +145,6 @@ struct file_operations envfs_fops = { read: envfs_read_file, mmap: generic_file_mmap, + llseek: generic_file_llseek, }; |
From: Paul M. <le...@us...> - 2001-09-19 03:07:40
|
Update of /cvsroot/envfs/envfs In directory usw-pr-cvs1:/tmp/cvs-serv5906 Added Files: AGAINST-2.4.8 Removed Files: AGAINST-2.4.7 Log Message: 2.4.8 merge --- NEW FILE: AGAINST-2.4.8 --- --- AGAINST-2.4.7 DELETED --- |
From: Paul M. <le...@us...> - 2001-09-19 03:01:48
|
Update of /cvsroot/envfs/envfs/fs In directory usw-pr-cvs1:/tmp/cvs-serv4903/fs Added Files: Config.in Makefile Log Message: Initial import of envfs sources, against 2.4.7. --- NEW FILE: Config.in --- # # File system configuration # mainmenu_option next_comment comment 'File systems' bool 'Quota support' CONFIG_QUOTA tristate 'Kernel automounter support' CONFIG_AUTOFS_FS tristate 'Kernel automounter version 4 support (also supports v3)' CONFIG_AUTOFS4_FS dep_tristate 'Reiserfs support' CONFIG_REISERFS_FS $CONFIG_EXPERIMENTAL dep_mbool ' Have reiserfs do extra internal checking' CONFIG_REISERFS_CHECK $CONFIG_REISERFS_FS $CONFIG_EXPERIMENTAL dep_tristate 'ADFS file system support' CONFIG_ADFS_FS $CONFIG_EXPERIMENTAL dep_mbool ' ADFS write support (DANGEROUS)' CONFIG_ADFS_FS_RW $CONFIG_ADFS_FS $CONFIG_EXPERIMENTAL dep_tristate 'Amiga FFS file system support (EXPERIMENTAL)' CONFIG_AFFS_FS $CONFIG_EXPERIMENTAL dep_tristate 'Apple Macintosh file system support (EXPERIMENTAL)' CONFIG_HFS_FS $CONFIG_EXPERIMENTAL dep_tristate 'BFS file system support (EXPERIMENTAL)' CONFIG_BFS_FS $CONFIG_EXPERIMENTAL tristate 'Ext3 journalling file system support (EXPERIMENTAL)' CONFIG_EXT3_FS # CONFIG_JBD could be its own option (even modular), but until there are # other users than ext3, we will simply make it be the same as CONFIG_EXT3_FS # dep_tristate ' Journal Block Device support (JBD for ext3)' CONFIG_JBD $CONFIG_EXT3_FS define_bool CONFIG_JBD $CONFIG_EXT3_FS dep_mbool ' JBD (ext3) debugging support' CONFIG_JBD_DEBUG $CONFIG_JBD bool 'Buffer Head tracing (DEBUG)' CONFIG_BUFFER_DEBUG # msdos file systems tristate 'DOS FAT fs support' CONFIG_FAT_FS dep_tristate ' MSDOS fs support' CONFIG_MSDOS_FS $CONFIG_FAT_FS dep_tristate ' UMSDOS: Unix-like file system on top of standard MSDOS fs' CONFIG_UMSDOS_FS $CONFIG_MSDOS_FS dep_tristate ' VFAT (Windows-95) fs support' CONFIG_VFAT_FS $CONFIG_FAT_FS dep_tristate 'EFS file system support (read only) (EXPERIMENTAL)' CONFIG_EFS_FS $CONFIG_EXPERIMENTAL dep_tristate 'Journalling Flash File System (JFFS) support (EXPERIMENTAL)' CONFIG_JFFS_FS $CONFIG_EXPERIMENTAL $CONFIG_MTD if [ "$CONFIG_JFFS_FS" = "y" -o "$CONFIG_JFFS_FS" = "m" ] ; then int 'JFFS debugging verbosity (0 = quiet, 3 = noisy)' CONFIG_JFFS_FS_VERBOSE 0 fi tristate 'Compressed ROM file system support' CONFIG_CRAMFS bool 'Virtual memory file system support (former shm fs)' CONFIG_TMPFS tristate 'Simple RAM-based file system support' CONFIG_RAMFS tristate 'ISO 9660 CDROM file system support' CONFIG_ISO9660_FS dep_mbool ' Microsoft Joliet CDROM extensions' CONFIG_JOLIET $CONFIG_ISO9660_FS tristate 'Minix fs support' CONFIG_MINIX_FS tristate 'FreeVxFS file system support (VERITAS VxFS(TM) compatible)' CONFIG_VXFS_FS tristate 'NTFS file system support (read only)' CONFIG_NTFS_FS dep_mbool ' NTFS write support (DANGEROUS)' CONFIG_NTFS_RW $CONFIG_NTFS_FS $CONFIG_EXPERIMENTAL tristate 'OS/2 HPFS file system support' CONFIG_HPFS_FS bool '/proc file system support' CONFIG_PROC_FS dep_tristate '/env file system support (EXPERIMENTAL)' CONFIG_ENVFS_FS $CONFIG_EXPERIMENTAL dep_bool ' Debug envfs' CONFIG_ENVFS_FS_DEBUG $CONFIG_ENVFS_FS dep_bool '/dev file system support (EXPERIMENTAL)' CONFIG_DEVFS_FS $CONFIG_EXPERIMENTAL dep_bool ' Automatically mount at boot' CONFIG_DEVFS_MOUNT $CONFIG_DEVFS_FS dep_bool ' Debug devfs' CONFIG_DEVFS_DEBUG $CONFIG_DEVFS_FS # It compiles as a module for testing only. It should not be used # as a module in general. If we make this "tristate", a bunch of people # who don't know what they are doing turn it on and complain when it # breaks. dep_bool '/dev/pts file system for Unix98 PTYs' CONFIG_DEVPTS_FS $CONFIG_UNIX98_PTYS dep_tristate 'QNX4 file system support (read only) (EXPERIMENTAL)' CONFIG_QNX4FS_FS $CONFIG_EXPERIMENTAL dep_mbool ' QNX4FS write support (DANGEROUS)' CONFIG_QNX4FS_RW $CONFIG_QNX4FS_FS $CONFIG_EXPERIMENTAL tristate 'ROM file system support' CONFIG_ROMFS_FS tristate 'Second extended fs support' CONFIG_EXT2_FS tristate 'System V/Xenix/V7/Coherent file system support' CONFIG_SYSV_FS tristate 'UDF file system support (read only)' CONFIG_UDF_FS dep_mbool ' UDF write support (DANGEROUS)' CONFIG_UDF_RW $CONFIG_UDF_FS $CONFIG_EXPERIMENTAL tristate 'UFS file system support (read only)' CONFIG_UFS_FS dep_mbool ' UFS file system write support (DANGEROUS)' CONFIG_UFS_FS_WRITE $CONFIG_UFS_FS $CONFIG_EXPERIMENTAL if [ "$CONFIG_NET" = "y" ]; then mainmenu_option next_comment comment 'Network File Systems' dep_tristate 'Coda file system support (advanced network fs)' CONFIG_CODA_FS $CONFIG_INET dep_tristate 'NFS file system support' CONFIG_NFS_FS $CONFIG_INET dep_mbool ' Provide NFSv3 client support' CONFIG_NFS_V3 $CONFIG_NFS_FS dep_bool ' Root file system on NFS' CONFIG_ROOT_NFS $CONFIG_NFS_FS $CONFIG_IP_PNP dep_tristate 'NFS server support' CONFIG_NFSD $CONFIG_INET dep_mbool ' Provide NFSv3 server support' CONFIG_NFSD_V3 $CONFIG_NFSD if [ "$CONFIG_NFS_FS" = "y" -o "$CONFIG_NFSD" = "y" ]; then define_tristate CONFIG_SUNRPC y define_tristate CONFIG_LOCKD y else if [ "$CONFIG_NFS_FS" = "m" -o "$CONFIG_NFSD" = "m" ]; then define_tristate CONFIG_SUNRPC m define_tristate CONFIG_LOCKD m else define_tristate CONFIG_SUNRPC n define_tristate CONFIG_LOCKD n fi fi if [ "$CONFIG_NFSD_V3" = "y" -o "$CONFIG_NFS_V3" = "y" ]; then define_bool CONFIG_LOCKD_V4 y fi dep_tristate 'SMB file system support (to mount Windows shares etc.)' CONFIG_SMB_FS $CONFIG_INET if [ "$CONFIG_SMB_FS" != "n" ]; then bool ' Use a default NLS' CONFIG_SMB_NLS_DEFAULT if [ "$CONFIG_SMB_NLS_DEFAULT" = "y" ]; then string ' Default Remote NLS Option' CONFIG_SMB_NLS_REMOTE "cp437" fi fi if [ "$CONFIG_IPX" != "n" -o "$CONFIG_INET" != "n" ]; then tristate 'NCP file system support (to mount NetWare volumes)' CONFIG_NCP_FS source fs/ncpfs/Config.in else # for fs/nls/Config.in define_bool CONFIG_NCPFS_NLS n fi endmenu else # for fs/nls/Config.in define_bool CONFIG_NCPFS_NLS n define_bool CONFIG_SMB_FS n fi mainmenu_option next_comment comment 'Partition Types' source fs/partitions/Config.in endmenu source fs/nls/Config.in endmenu --- NEW FILE: Makefile --- # # Makefile for the Linux filesystems. # # 14 Sep 2000, Christoph Hellwig <hc...@ca...> # Rewritten to use lists instead of if-statements. # O_TARGET := fs.o export-objs := filesystems.o dcache.o buffer.o jbd-kernel.o mod-subdirs := nls obj-y := open.o read_write.o devices.o file_table.o buffer.o \ super.o block_dev.o char_dev.o stat.o exec.o pipe.o namei.o \ fcntl.o ioctl.o readdir.o select.o fifo.o locks.o \ dcache.o inode.o attr.o bad_inode.o file.o iobuf.o dnotify.o \ filesystems.o jbd-kernel.o ifeq ($(CONFIG_QUOTA),y) obj-y += dquot.o else obj-y += noquot.o endif subdir-$(CONFIG_PROC_FS) += proc subdir-y += partitions # Do not add any filesystems before this line subdir-$(CONFIG_EXT3_FS) += ext3 # Before ext2 so root fs can be ext3 subdir-$(CONFIG_JBD) += jbd subdir-$(CONFIG_EXT2_FS) += ext2 subdir-$(CONFIG_CRAMFS) += cramfs subdir-$(CONFIG_RAMFS) += ramfs subdir-$(CONFIG_CODA_FS) += coda subdir-$(CONFIG_MINIX_FS) += minix subdir-$(CONFIG_FAT_FS) += fat subdir-$(CONFIG_MSDOS_FS) += msdos subdir-$(CONFIG_VFAT_FS) += vfat subdir-$(CONFIG_BFS_FS) += bfs subdir-$(CONFIG_ISO9660_FS) += isofs subdir-$(CONFIG_DEVFS_FS) += devfs subdir-$(CONFIG_HFS_FS) += hfs subdir-$(CONFIG_VXFS_FS) += freevxfs subdir-$(CONFIG_NFS_FS) += nfs subdir-$(CONFIG_NFSD) += nfsd subdir-$(CONFIG_LOCKD) += lockd subdir-$(CONFIG_NLS) += nls subdir-$(CONFIG_UMSDOS_FS) += umsdos subdir-$(CONFIG_SYSV_FS) += sysv subdir-$(CONFIG_SMB_FS) += smbfs subdir-$(CONFIG_NCP_FS) += ncpfs subdir-$(CONFIG_HPFS_FS) += hpfs subdir-$(CONFIG_NTFS_FS) += ntfs subdir-$(CONFIG_UFS_FS) += ufs subdir-$(CONFIG_EFS_FS) += efs subdir-$(CONFIG_JFFS_FS) += jffs subdir-$(CONFIG_AFFS_FS) += affs subdir-$(CONFIG_ROMFS_FS) += romfs subdir-$(CONFIG_QNX4FS_FS) += qnx4 subdir-$(CONFIG_UDF_FS) += udf subdir-$(CONFIG_AUTOFS_FS) += autofs subdir-$(CONFIG_AUTOFS4_FS) += autofs4 subdir-$(CONFIG_ADFS_FS) += adfs subdir-$(CONFIG_REISERFS_FS) += reiserfs subdir-$(CONFIG_DEVPTS_FS) += devpts subdir-$(CONFIG_SUN_OPENPROMFS) += openpromfs subdir-$(CONFIG_ENVFS_FS) += envfs obj-$(CONFIG_BINFMT_AOUT) += binfmt_aout.o obj-$(CONFIG_BINFMT_EM86) += binfmt_em86.o obj-$(CONFIG_BINFMT_MISC) += binfmt_misc.o # binfmt_script is always there obj-y += binfmt_script.o obj-$(CONFIG_BINFMT_ELF) += binfmt_elf.o # persistent filesystems obj-y += $(join $(subdir-y),$(subdir-y:%=/%.o)) include $(TOPDIR)/Rules.make |
From: Paul M. <le...@us...> - 2001-09-19 03:01:47
|
Update of /cvsroot/envfs/envfs/fs/envfs In directory usw-pr-cvs1:/tmp/cvs-serv4903/fs/envfs Added Files: Makefile dir.c file.c inode.c super.c Log Message: Initial import of envfs sources, against 2.4.7. --- NEW FILE: Makefile --- # # Makefile for the Linux envfs filesystem routines. # # Note! Dependencies are done automagically by 'make dep', which also # removes any old dependencies. DON'T put your own dependencies here # unless it's something special (not a .c file). # # Note 2! The CFLAGS definitions are now in the main makefile. O_TARGET := envfs.o obj-y := super.o inode.o dir.o file.o obj-m := $(O_TARGET) include $(TOPDIR)/Rules.make --- NEW FILE: dir.c --- /* * fs/envfs/dir.c * * envfs directory operations * * Copyright (C) 2001 Paul Mundt <le...@ch...> * * Released under the terms of the GNU GPL v2.0. * */ #include <linux/envfs_fs.h> static struct dentry *envfs_lookup(struct inode *dir, struct dentry *dentry) { envfs_debug("entering\n"); if (!dentry) goto out; if (!dentry->d_name.name) goto out; envfs_debug("dir->i_ino == %d\n", dir->i_ino); envfs_debug("dentry->d_name.name == %s\n", dentry->d_name.name); dentry->d_inode = envfs_get_inode(dir->i_sb, 0644 | S_IFREG, dir->i_dev); out: envfs_debug("leaving\n"); return NULL; } static int envfs_mknod(struct inode *dir, struct dentry *dentry, int mode, int dev) { struct inode *inode = envfs_get_inode(dir->i_sb, mode, dev); envfs_debug("entering\n"); if (!inode) return -ENOSPC; dentry->d_inode = inode; envfs_debug("inode == %d\n", dentry->d_inode->i_ino); dentry->d_inode = inode; dget(dentry); envfs_debug("leaving\n"); return 0; } static int envfs_create(struct inode *dir, struct dentry *dentry, int mode) { envfs_debug("entering\n"); envfs_debug("dir->i_ino == %d\n", dir->i_ino); envfs_debug("leaving\n"); return envfs_mknod(dir, dentry, mode | S_IFREG, 0); } int envfs_create_by_name(const char *name, mode_t mode, struct dentry *parent, struct dentry **dentry) { struct qstr qstr; struct dentry *pdentry = parent; char *tmp; int ret = 0; envfs_debug("entering\n"); qstr.name = name; qstr.len = strlen(qstr.name); qstr.hash = full_name_hash(qstr.name, qstr.len); /* * FIXME: This is a hack.. for some odd reason, we get garbage * in the name when new environment variables are set. * * This check is just to ensure that we have a valid environment * variable before allocating an inode and setting up the dentry. */ tmp = envfs_getenv(qstr.name); if (!tmp) { ret = -EINVAL; goto out; } if (!pdentry) pdentry = envfs_find_sb_dentry(); if (!d_lookup(pdentry, &qstr)) { *dentry = d_alloc(pdentry, &qstr); ret = envfs_mknod(pdentry->d_inode, *dentry, mode, 0); } kfree(tmp); out: envfs_debug("leaving\n"); return ret; } static int envfs_readdir(struct file *filp, void *dirent, filldir_t filldir) { struct dentry *dentry = filp->f_dentry; envfs_debug("entering\n"); envfs_debug("filp->f_pos == %d\n", filp->f_pos); if (!dentry) goto out; if (!dentry->d_inode || !dentry->d_parent) goto out; switch ((unsigned int)filp->f_pos) { case 0: if (filldir(dirent, ".", 1, filp->f_pos, dentry->d_inode->i_ino, DT_DIR) < 0) { break; } filp->f_pos++; case 1: if (filldir(dirent, "..", 2, filp->f_pos, dentry->d_parent->d_inode->i_ino, DT_DIR) < 0) { break; } filp->f_pos++; default: envfs_getenv_vars(filp, dirent, filldir); break; } out: envfs_debug("leaving\n"); return 0; } struct file_operations envfs_dops = { read: generic_read_dir, readdir: envfs_readdir, }; struct inode_operations envfs_diops = { create: envfs_create, lookup: envfs_lookup, mknod: envfs_mknod, }; --- NEW FILE: file.c --- /* * fs/envfs/file.c * * envfs file operations * * Copyright (C) 2001 Paul Mundt <le...@ch...> * * Released under the terms of the GNU GPL v2.0. * */ #include <linux/slab.h> #include <linux/envfs_fs.h> #include <asm/uaccess.h> char *envfs_getenv_vars(struct file *filp, void *dirent, filldir_t filldir) { unsigned long currkey; struct dentry *dentry; char *buf, *opt; int i = 0; envfs_debug("entering\n"); buf = kmalloc(current->mm->env_end - current->mm->env_start, GFP_KERNEL); for (currkey = current->mm->env_start; currkey < current->mm->env_end; currkey++) { get_user(buf[i], (char *)currkey); if (buf[i] == ' '|| !buf[i] || buf[i] == '\t') buf[i] = '|'; i++; } for (i = 0; i < filp->f_pos - 2; i++) { strsep(&buf, "|"); } opt = strsep(&buf, "="); if (!*opt) goto out; if (envfs_create_by_name(opt, 0755 | S_IFREG, NULL, &dentry) == -EINVAL) goto out; if (filldir(dirent, dentry->d_name.name, dentry->d_name.len, filp->f_pos, dentry->d_inode->i_ino, DT_UNKNOWN) < 0) goto out; filp->f_pos++; out: kfree(buf); envfs_debug("leaving\n"); return NULL; } char *envfs_getenv(const char *key) { unsigned long currkey; char *buf, c; int i, match, len; envfs_debug("entering\n"); i = 1; match = 0; len = strlen(key) + 1; buf = kmalloc(ENVFS_MAX_ENVLEN, GFP_KERNEL); for (currkey = current->mm->env_start; currkey < current->mm->env_end; currkey++) { get_user(c, (char *)currkey); if (match) { if (i == (ENVFS_MAX_ENVLEN - 1)) c = '\0'; buf[i] = c; if (!c || c == ' ' || c == '\t') { if (i) { buf[i] = '\n'; buf[i+1] = '\0'; envfs_debug("leaving: 0\n"); return ++buf; } i = 0; } else { i++; } if (!c) break; continue; } if ((!i && !c) || (i && c == key[i - 1])) { i++; } else { i = 0; } if (i == len) { match = 1; i = 0; } } kfree(buf); envfs_debug("leaving: 1\n"); return NULL; } static ssize_t envfs_read_file(struct file *filp, char *buf, size_t count, loff_t *ppos) { char *tmpbuf; envfs_debug("entering\n"); tmpbuf = envfs_getenv((char *)filp->f_dentry->d_name.name); if (!tmpbuf) { kfree(tmpbuf); envfs_debug("leaving\n"); return 0; } if (count + *ppos > strlen(tmpbuf)) count = strlen(tmpbuf) - *ppos; copy_to_user(buf, tmpbuf + *ppos, count); *ppos += count; kfree(tmpbuf); envfs_debug("leaving\n"); return count; } struct file_operations envfs_fops = { read: envfs_read_file, mmap: generic_file_mmap, }; --- NEW FILE: inode.c --- /* * fs/envfs/inode.c * * envfs inode operations * * Copyright (C) 2001 Paul Mundt <le...@ch...> * * Released under the terms of the GNU GPL v2.0. * */ #include <linux/locks.h> #include <linux/envfs_fs.h> void envfs_read_inode(struct inode *inode) { inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; } struct inode *envfs_get_inode(struct super_block *sb, int mode, int dev) { struct inode *inode = new_inode(sb); envfs_debug("entering\n"); if (!inode) return NULL; inode->i_mode = mode; inode->i_uid = current->fsuid; inode->i_gid = current->fsgid; inode->i_blksize = PAGE_CACHE_SIZE; inode->i_blocks = 0; inode->i_rdev = NODEV; inode->i_mapping->a_ops = &envfs_aops; inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; /* * FIXME: This is a hack to force everything into a read-only state. * Since we don't currently support writing to or creating new * environment variables. */ inode->i_flags |= S_IMMUTABLE; switch (mode & S_IFMT) { case S_IFREG: inode->i_fop = &envfs_fops; break; case S_IFDIR: inode->i_op = &envfs_diops; inode->i_fop = &envfs_dops; break; default: init_special_inode(inode, mode, dev); break; } envfs_debug("leaving\n"); return inode; } struct address_space_operations envfs_aops = { /* Left empty intentionally */ }; --- NEW FILE: super.c --- /* * fs/envfs/super.c * * envfs superblock operations * * Copyright (C) 2001 Paul Mundt <le...@ch...> * * Released under the terms of the GNU GPL v2.0. * */ #include <linux/module.h> #include <linux/init.h> #include <linux/pagemap.h> #include <linux/envfs_fs.h> static struct vfsmount *envfs_mnt; static int envfs_statfs(struct super_block *sb, struct statfs *buf) { envfs_debug("entering\n"); buf->f_type = ENVFS_SUPER_MAGIC; buf->f_bsize = PAGE_CACHE_SIZE; buf->f_namelen = NAME_MAX; envfs_debug("leaving\n"); return 0; } struct dentry *envfs_find_sb_dentry(void) { struct super_block *sb; struct list_head *list; envfs_debug("entering\n"); list_for_each(list, &super_blocks) { sb = sb_entry(list); if (sb->s_magic == ENVFS_SUPER_MAGIC) { envfs_debug("leaving: 0\n"); return sb->s_root; } } envfs_debug("leaving: 1\n"); return NULL; } static struct super_operations envfs_sops = { statfs: envfs_statfs, put_inode: force_delete, read_inode: envfs_read_inode, }; static struct super_block *envfs_read_super(struct super_block *sb, void *data, int silent) { struct inode *root_inode; envfs_debug("entering\n"); sb->s_blocksize = PAGE_CACHE_SIZE; sb->s_blocksize_bits = PAGE_CACHE_SHIFT; sb->s_magic = ENVFS_SUPER_MAGIC; sb->s_op = &envfs_sops; root_inode = envfs_get_inode(sb, S_IFDIR | 0755, 0); if (!root_inode) return NULL; sb->s_root = d_alloc_root(root_inode); if (!sb->s_root) { iput(root_inode); return NULL; } envfs_debug("leaving\n"); return sb; } static DECLARE_FSTYPE(envfs_fs_type, "envfs", envfs_read_super, FS_SINGLE); static int __init init_envfs_fs(void) { int ret = register_filesystem(&envfs_fs_type); if (!ret) { envfs_mnt = kern_mount(&envfs_fs_type); ret = PTR_ERR(envfs_mnt); if (!IS_ERR(envfs_mnt)) ret = 0; } return ret; } static void __exit exit_envfs_fs(void) { kern_umount(envfs_mnt); unregister_filesystem(&envfs_fs_type); } EXPORT_NO_SYMBOLS; MODULE_AUTHOR("Paul Mundt <le...@ch...>"); MODULE_DESCRIPTION("/env file system"); module_init(init_envfs_fs); module_exit(exit_envfs_fs); |
From: Paul M. <le...@us...> - 2001-09-19 03:01:47
|
Update of /cvsroot/envfs/envfs/include/linux In directory usw-pr-cvs1:/tmp/cvs-serv4903/include/linux Added Files: envfs_fs.h Log Message: Initial import of envfs sources, against 2.4.7. --- NEW FILE: envfs_fs.h --- /* * include/linux/envfs_fs.h * * Primary envfs header. * * Copyright (C) 2001 Paul Mundt <le...@ch...> * * Released under the terms of the GNU GPL v2.0. * */ #ifndef __ENVFS_FS_H #define __ENVFS_FS_H #include <linux/slab.h> #include <linux/fs.h> #include <linux/config.h> #include <linux/kernel.h> #define ENVFS_SUPER_MAGIC 0x9cfe #define ENVFS_MAX_ENVLEN (4 << 10) #ifdef CONFIG_ENVFS_FS_DEBUG #define envfs_debug(x...) printk(KERN_DEBUG "envfs: " \ __FUNCTION__ "(): " ##x) #else #define envfs_debug(x...) #endif /* fs/envfs/inode.c */ extern struct address_space_operations envfs_aops; extern void envfs_read_inode(struct inode *inode); extern struct inode *envfs_get_inode(struct super_block *sb, int mode, int dev); /* fs/envfs/file.c */ extern struct file_operations envfs_fops; extern char *envfs_getenv_vars(struct file *filp, void *dirent, filldir_t filldir); extern char *envfs_getenv(const char *key); /* fs/envfs/super.c */ extern struct dentry *envfs_find_sb_dentry(void); /* fs/envfs/dir.c */ extern struct file_operations envfs_dops; extern struct inode_operations envfs_diops; extern int envfs_create_by_name(const char *name, mode_t mode, struct dentry *parent, struct dentry **dentry); #endif /* __ENVFS_FS_H */ |
From: Paul M. <le...@us...> - 2001-09-19 03:01:47
|
Update of /cvsroot/envfs/envfs In directory usw-pr-cvs1:/tmp/cvs-serv4903 Added Files: AGAINST-2.4.7 Log Message: Initial import of envfs sources, against 2.4.7. --- NEW FILE: AGAINST-2.4.7 --- |
From: Paul M. <le...@us...> - 2001-09-19 03:00:57
|
Update of /cvsroot/envfs/envfs/fs/envfs In directory usw-pr-cvs1:/tmp/cvs-serv4713/fs/envfs Log Message: Directory /cvsroot/envfs/envfs/fs/envfs added to the repository |
From: Paul M. <le...@us...> - 2001-09-19 03:00:57
|
Update of /cvsroot/envfs/envfs/include/linux In directory usw-pr-cvs1:/tmp/cvs-serv4713/include/linux Log Message: Directory /cvsroot/envfs/envfs/include/linux added to the repository |
From: Paul M. <le...@us...> - 2001-09-19 03:00:56
|
Update of /cvsroot/envfs/envfs/include In directory usw-pr-cvs1:/tmp/cvs-serv4713/include Log Message: Directory /cvsroot/envfs/envfs/include added to the repository |
From: Paul M. <le...@us...> - 2001-09-19 03:00:39
|
Update of /cvsroot/envfs/envfs/fs In directory usw-pr-cvs1:/tmp/cvs-serv4681/fs Log Message: Directory /cvsroot/envfs/envfs/fs added to the repository |