Re: New filesystem for Linux

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>>>> As my PhD thesis, I am designing and writing a filesystem, and it's now in
>>>> a state that it can be released. You can download it from
>>>> http://artax.karlin.mff.cuni.cz/~mikulas/spadfs/
>>>>
>> Hmm, I see, they changed some stuff ... and in 2.6.19 too. I made a new 
>> version that compiles with 2.6.18 and 2.6.19rc4, so try it.
>
>This error looks fixed, now I have a new one here :)
>
>cc -D__NOT_FROM_SPAD -D__NOT_FROM_SPAD_TREE -Wall
>-fdollars-in-identifiers -O2 -fomit-frame-pointer -c -o MKSPADFS.o -x c
>MKSPADFS.C
>MKSPADFS.C:146: error: expected declaration specifiers or '...' before
>'_llseek'
>MKSPADFS.C:146: error: expected declaration specifiers or '...' before 'fd'
>MKSPADFS.C:146: error: expected declaration specifiers or '...' before 'hi'
>MKSPADFS.C:146: error: expected declaration specifiers or '...' before 'lo'
>MKSPADFS.C:146: error: expected declaration specifiers or '...' before 'res'
>MKSPADFS.C:146: error: expected declaration specifiers or '...' before 'wh'
>MKSPADFS.C:146: warning: type defaults to 'int' in declaration of
>'_syscall5'

Ugh this syscall 'crap' is butt-ugly.

So anyway, why do you need _llseek? Can't you just use lseek() like 
everyone else?

>In file included from MKSPADFS.C:153:
>GETHSIZE.I: In function 'test_access':
>GETHSIZE.I:13: warning: implicit declaration of function '_llseek'
>make: *** [MKSPADFS.o] Error 1

And why are the filenames all uppercase? I think I left the DOS times 
some years ago. Your makefile also has some pits. Look at unionfs how to 
organize kernel and userspace files in a better way in one tree.


spadfs-01.diff
Index: spadfs-0.9.1/Kbuild
===================================================================
--- /dev/null
+++ spadfs-0.9.1/Kbuild
@@ -0,0 +1,2 @@
+obj-m  := spadfs.o
+spadfs-y := alloc.o buffer.o dir.o file.o inode.o link.o name.o namei.o super.o
Index: spadfs-0.9.1/Makefile
===================================================================
--- spadfs-0.9.1.orig/Makefile
+++ spadfs-0.9.1/Makefile
@@ -1,6 +1,4 @@
 ifneq ($(KERNELRELEASE),)
-obj-m  := spadfs.o
-spadfs-y := alloc.o buffer.o dir.o file.o inode.o link.o name.o namei.o super.o
 else
 KERNELDIR := /usr/src/linux-`uname -r`/
 all : spadfs mkspadfs spadfsck
#<EOF>


spadfs-02.diff
Index: spadfs-0.9.1/Kbuild
===================================================================
--- spadfs-0.9.1.orig/Kbuild
+++ spadfs-0.9.1/Kbuild
@@ -1,2 +1,2 @@
-obj-m  := spadfs.o
+obj-m += spadfs.o
 spadfs-y := alloc.o buffer.o dir.o file.o inode.o link.o name.o namei.o super.o
Index: spadfs-0.9.1/Makefile
===================================================================
--- spadfs-0.9.1.orig/Makefile
+++ spadfs-0.9.1/Makefile
@@ -1,19 +1,24 @@
-ifneq ($(KERNELRELEASE),)
-else
-KERNELDIR := /usr/src/linux-`uname -r`/
+
+KERNELDIR := /lib/modules/$(shell uname -r)/build
+
 all : spadfs mkspadfs spadfsck
+
 spadfs :
 	$(MAKE) -C $(KERNELDIR) M=`pwd`
-CFLAGS=-D__NOT_FROM_SPAD -D__NOT_FROM_SPAD_TREE -Wall -fdollars-in-identifiers -O2 -fomit-frame-pointer
+
+CFLAGS := -D__NOT_FROM_SPAD -D__NOT_FROM_SPAD_TREE -Wall -fdollars-in-identifiers -O2 -fomit-frame-pointer
 #CC=icc
 #CFLAGS=-D__NOT_FROM_SPAD -D__NOT_FROM_SPAD_TREE
+
 %.o : %.C
 	$(CC) $(CFLAGS) -c -o $@ -x c $<
+
 mkspadfs : MKSPADFS.o SFSAPAGE.o
 	$(CC) $(CFLAGS) -o $@ $^ && strip $@
+
 spadfsck : SPAD-API.o FSCK/SCK.o FSCK/SCKALLOC.o FSCK/SCKAPAGE.o FSCK/SCKBUF.o FSCK/SCKCCT.o FSCK/SCKCRT.o FSCK/SCKDIR.o FSCK/SCKEA.o FSCK/SCKFBLK.o FSCK/SCKFILE.o FSCK/SCKFN.o FSCK/SCKFXFN.o FSCK/SCKHDLNK.o FSCK/SCKLOG.o FSCK/SCKRCV.o FSCK/SCKSUPER.o FSCK/SCKXL.o
 	$(CC) $(CFLAGS) -o $@ $^ && strip $@
+
 clean :
-	rm -f *.o *.ko mkspadfs FSCK/*.o spadfsck .*.cmd spadfs.mod.c Modules.symvers
-	rm -rf .tmp_versions
-endif
+	${MAKE} -C ${KERNELDIR} M=$$PWD clean
+	rm -f *.o mkspadfs FSCK/*.o spadfsck Modules.symvers
#<EOF>


	-`J'
-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux