Thread (11 messages) flat view 11 messages, 4 authors, 2008-07-09

Re: AZFS file system proposal

From: Maxim Shchetynin <hidden>
Date: 2008-07-07 15:40:45
Also in: linux-fsdevel, lkml

Thank you Arnd for your comments. I have changed my patch accordinly (I wil=
l send it in a few minutes).
quoted
Subject: azfs: initial submit of azfs, a non-buffered filesystem
=20
Please make the patch subject the actual subject of your email next time,
and put the introductory text below the Signed-off-by: lines, separated
by a "---" line. That will make the standard tools work without extra
effort on my side. Also, please always Cc the person you want to merge
the patch, in this case probably me.
Done.
All other file systems are in separate directories, so it would be better
to rename fs/azfs.c to fs/azfs/inode.c
Done.
quoted
+#define AZFS_SUPERBLOCK_FLAGS		MS_NOEXEC | \
+					MS_SYNCHRONOUS | \
+					MS_DIRSYNC | \
+					MS_ACTIVE
=20
Why MS_NOEXEC? What happens on a remount if the user does not specifies
-o remount,exec?
I also don't see any reason of keeping MS_NOEXEC - have just removed it.
quoted
+static unsigned long
+azfs_block_find(struct inode *inode, enum azfs_direction direction,
+		unsigned long from, unsigned long *size)
+{
...
+}
=20
This overloading of the return type to mean either a pointer or an offset
on the block device is rather confusing. Why not just return the raw bloc=
k_id
before the last +=3D and leave that part up to the caller?
Changed.
quoted
+		if (copy_to_user(target, (void*) pin, size)) {
+			rc =3D -EFAULT;
+			goto out;
+		}
=20
Question to the powerpc folks: is copy_to_user safe for an __iomem source?
Should there be two copies (memcpy_fromio and copy_to_user) instead?
I leave this question open.
quoted
+	page_prot =3D pgprot_val(vma->vm_page_prot);
+	page_prot |=3D (_PAGE_NO_CACHE | _PAGE_RW);
+	page_prot &=3D ~_PAGE_GUARDED;
+	vma->vm_page_prot =3D __pgprot(page_prot);
=20
The pgprot modifications rely on powerpc specific flags, but the
file system should not really need to be powerpc only.
=20
The flags we want are more or less the same as PAGE_AGP, because
both are I/O mapped memory that needs to be uncached but should
not be guarded, for performance reasons.
=20
Maybe we can introduce a new PAGE_IOMEM here that we can use
in all places that need something like this. In spufs we need
the same flags for the local store mappings.
=20
I wouldn't hold up merging the file system for this problem, but
until it is solved, the Kconfig entry should probably have
a "depends on PPC".
Done.

--=20
Mit freundlichen Gr=C3=BC=C3=9Fen / met vriendelijke groeten / avec regards

    Maxim V. Shchetynin
    Linux Kernel Entwicklung
    IBM Deutschland Entwicklung GmbH
    Linux f=C3=BCr Cell, Abteilung 3250
    Sch=C3=B6naicher Stra=C3=9Fe 220
    71032 B=C3=B6blingen

Vorsitzender des Aufsichtsrats: Johann Weihen
Gesch=C3=A4ftsf=C3=BChrung: Herbert Kircher
Sitz der Gesellschaft: B=C3=B6blingen
Registriergericht: Amtsgericht Stuttgart, HRB 243294

Fahr nur so schnell wie dein Schutzengel fliegen kann!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help