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!