linux-fsdevel mailing list

FromSubjectsort iconDate
David Newall
Re: [RFC PATCH 0/5] Shadow directories
If I understand your problem, you wish to treat an archive file as if it was a directory. Thus, in the ideal situation, you could do the following: cat hello.zip/hello.c gcc hello.zip/hello.c -o hello etc.. Rather than complicate matters with a second tree, use FUSE with an explicit directory. For example, ~/expand could be your shadow, thus to compile hello.c from ~/hello.zip: gcc ~/expand/hello.zip^/hello.c -o hello I think no kernel change would be required. I'm not kee...
Oct 18, 4:37 pm 2007
Al Viro
Re: [RFC PATCH 0/5] Shadow directories
Learn to read. Linux has never allowed that. Most of the Unix systems do not allow that. Original _did_ allow that, but at the cost of very easily triggered fs corruption (and it didn't have things like rename(2) - it _did_ have userland implementation, of course, in suid-root mv(1), but that sucker had been extremely racy and could be easily used to screw filesystem to hell and back; adding rename(2) to the set of primitives combined with multiple links to directories leads to very nasty issues ...
Oct 18, 4:47 pm 2007
Jan Engelhardt
Re: [RFC PATCH 0/5] Shadow directories
But hell will break lose if you allow hardlinking directories. mkdir /tmp/a ln /tmp/a /tmp/a/b And you would not be able to rmdir /tmp/a/b because the directory is not empty (it contains "b" [full path: /tmp/a/b/b]). -
Oct 18, 4:09 pm 2007
Evgeniy Polyakov
[2/3] Distributed storage. Network state machine.
Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru> diff --git a/drivers/block/dst/kst.c b/drivers/block/dst/kst.c new file mode 100644 index 0000000..b0608c9 --- /dev/null +++ b/drivers/block/dst/kst.c @@ -0,0 +1,1606 @@ +/* + * 2007+ Copyright (c) Evgeniy Polyakov <johnpol@2ka.mipt.ru> + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Softwa...
Oct 18, 3:17 pm 2007
Evgeniy Polyakov
[3/3] Distributed storage. Documentation and algorithms.
Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru> diff --git a/Documentation/dst/algorithms.txt b/Documentation/dst/algorithms.txt new file mode 100644 index 0000000..1437a6a --- /dev/null +++ b/Documentation/dst/algorithms.txt @@ -0,0 +1,115 @@ +Each storage by itself is just a set of contiguous logical blocks, with +allowed number of operations. Nodes, each of which has own start and size, +are placed into storage by appropriate algorithm, which remaps +logical sector number into rea...
Oct 18, 3:18 pm 2007
Evgeniy Polyakov
[1/3] Distributed storage. Core files.
Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru> diff --git a/drivers/block/Makefile b/drivers/block/Makefile index dd88e33..fcf042d 100644 --- a/drivers/block/Makefile +++ b/drivers/block/Makefile @@ -29,3 +29,4 @@ obj-$(CONFIG_VIODASD) += viodasd.o obj-$(CONFIG_BLK_DEV_SX8) += sx8.o obj-$(CONFIG_BLK_DEV_UB) += ub.o +obj-$(CONFIG_DST) += dst/ diff --git a/drivers/block/dst/Kconfig b/drivers/block/dst/Kconfig new file mode 100644 index 0000000..5bb9de8 --- /dev/null +++ b/dr...
Oct 18, 3:17 pm 2007
Evgeniy Polyakov
[0/3] Distributed storage. Mirror algo extension for automat...
Hi. I'm pleased to announce sixth release of the distributed storage subsystem, which allows to form a storage on top of remote and local nodes, which in turn can be exported to another storage as a node to form tree-like storages. This release includes mirroring algorithm extension, which allows to store 'age' of the given node on the underlying media. In this case, if failed node gets new media, which does not contain correct 'age' (unique id assigned to the whole storage during initializ...
Oct 18, 3:17 pm 2007
Jaroslav Sykora
[RFC PATCH 0/5] Shadow directories
Hello, Let's say we have an archive file "hello.zip" with a hello world program source code. We want to do this: cat hello.zip^/hello.c gcc hello.zip^/hello.c -o hello etc.. The '^' is an escape character and it tells the computer to treat the file as a directory. [Note: We can't do "cat hello.zip/hello.c" because of http://lwn.net/Articles/100148/ ] The kernel patch implements only a redirection of the request to another directory ("shadow directory") where a FUSE server must be mounted. Th...
Oct 18, 11:21 am 2007
Jan Engelhardt
Re: [RFC PATCH 0/5] Shadow directories
Too bad, since ^ is a valid character in a *file*name. Everything is, with the exception of '\0' and '/'. At the end of the day, there are no control characters you could use. But what you could do is: write a FUSE fs that mirrors the lower content (lofs/fuseloop/however it was named) and expands .zip files as directories are readdir'ed or the zip files stat'ed. That saves us from cluttering up the Linux VFS with such stuff. -
Oct 18, 12:05 pm 2007
Jaroslav Sykora
Re: [RFC PATCH 0/5] Shadow directories
Yes, that's exactly what RheaVFS and AVFS do. Except that they both use an escape character because: 1. without it some programs may break [ http://lwn.net/Articles/100148/ ] 2. it's very useful to pass additional parameters after the escape char to the server. We can start VFS servers (mentioned above) and chroot the whole user session into the mount directory of the server. It works but it's very slow, practically unusable. So both servers need some kind of VFS redirector. In the past there were...
Oct 18, 1:07 pm 2007
Jan Engelhardt
Re: [RFC PATCH 0/5] Shadow directories
Sounds like a program bug, since NTFS-3G is proof of concept that FUSE -
Oct 18, 1:10 pm 2007
Jaroslav Sykora
Re: [RFC PATCH 0/5] Shadow directories
Good point, I'll look onto it. A minor implementation problem with chrooted environment is that the FUSE VFS server must be run with root privileges to allow setuid programs on the mounted filesystems. But it's certainly doable. -- "Elves and Dragons!" I says to him. "Cabbages and potatoes are better for you and me." -- J. R. R. Tolkien -
Oct 18, 4:10 pm 2007
Jan Engelhardt
Re: [RFC PATCH 0/5] Shadow directories
You would not want user-supplied filesystems to carry SUID bits... -
Oct 18, 4:12 pm 2007
David Newall
Re: [RFC PATCH 0/5] Shadow directories
Wouldn't you do this as a user space filesystem? -
Oct 18, 12:30 pm 2007
David Newall
Re: [RFC PATCH 0/5] Shadow directories
Which is what you were saying. *SMACK* I so stupid. -
Oct 18, 12:33 pm 2007
David Newall
Re: [RFC PATCH 0/5] Shadow directories
On third thoughts, what's the reason for this? -
Oct 18, 12:53 pm 2007
Jaroslav Sykora
[RFC PATCH 5/5] Shadow directories: documentation
Documentation of the shadow directories. Signed-off-by: Jaroslav Sykora <jaroslav.sykora@gmail.com> Documentation/filesystems/shadow-directories.txt | 177 +++++++++++++ 1 file changed, 177 insertions(+) --- /dev/null 2007-10-18 09:34:42.624413454 +0200 +++ new/Documentation/filesystems/shadow-directories.txt 2007-10-18 17:03:06.000000000 +0200 @@ -0,0 +1,177 @@ +Shadow directories +================== + +The Goal +-------- + +Let's say we have an archive file "hello.zip" with a he...
Oct 18, 11:28 am 2007
Jaroslav Sykora
[RFC PATCH 4/5] Shadow directories: procfs
Procfs interface: /proc/<pid>/status, /proc/<pid>/{root-shdw, cwd-shdw}. Signed-off-by: Jaroslav Sykora <jaroslav.sykora@gmail.com> fs/proc/array.c | 23 +++++++++++++++++++ fs/proc/base.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) --- orig/fs/proc/base.c 2007-10-07 19:00:20.000000000 +0200 +++ new/fs/proc/base.c 2007-10-07 13:39:08.000000000 +0200 @@ -171,6 +171,32 @@ static int proc_cwd_link(struct inode *i return result; ...
Oct 18, 11:26 am 2007
Jaroslav Sykora
[RFC PATCH 3/5] Shadow directories: chdir, fchdir
sys_chdir and sys_fchdir changes. Signed-off-by: Jaroslav Sykora <jaroslav.sykora@gmail.com> fs/open.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 73 insertions(+), 6 deletions(-) --- orig/fs/open.c 2007-10-07 19:00:19.000000000 +0200 +++ new/fs/open.c 2007-10-16 21:04:56.000000000 +0200 @@ -476,13 +476,51 @@ asmlinkage long sys_access(const char __ return sys_faccessat(AT_FDCWD, filename, mode); } +static inline int read_fs_flags(void) +{ + int...
Oct 18, 11:25 am 2007
Jaroslav Sykora
[RFC PATCH 2/5] Shadow directories: core
Implements two stage lookup with escape character filtering and system calls for i386. Changes lookup path, namely do_path_lookup. This function is split into path_lookup_norm(), which performs standard name lookup, and path_lookup_shdw(), which performs name lookup in an associated shadow directory. Signed-off-by: Jaroslav Sykora <jaroslav.sykora@gmail.com> arch/i386/kernel/syscall_table.S | 6 fs/exec.c | 4 fs/file_table.c | 19 fs/na...
Oct 18, 11:23 am 2007
Jaroslav Sykora
[RFC PATCH 1/5] Shadow directories: headers
Header file changes for shadow directories. Adds pointers to shadows dirs to the struct file and struct fs_struct. Defines internal lookup flags and syscall flags. Signed-off-by: Jaroslav Sykora <jaroslav.sykora@gmail.com> include/linux/file.h | 2 ++ include/linux/fs.h | 18 ++++++++++++++++++ include/linux/fs_struct.h | 25 +++++++++++++++++++++++++ include/linux/namei.h | 16 ++++++++++++++++ 4 files changed, 61 insertions(+) --- orig/include/linux/fs.h 2007...
Oct 18, 11:22 am 2007
previous daytodaynext day
October 17, 2007October 18, 2007October 19, 2007