patch 1 for dazukofs release 3.0.0

Lino Sanfilippo <[email protected]> Tue, 21 Apr 2009 17:39:44 +0200
Newsgroups gmane.linux.dazuko.devel
Message-ID <[email protected]>

Hi all,

this is the first patch of a series of patches that fixes some bugs, 
that I encountered while
testing dazukofs on various platforms. Please apply the patches 
consecutively.
I will do a short description for each bug:


Bug description:
On 32 Bit systems large file support may not be enabled. This prevents 
processes from opening
files larger than 4 GB.
This may cause a failure of the dentry_open() function which is used by 
dazukofs to get a
file descriptor for an accessed file.
This failure results in the file accessing process hanging infinitely 
while the dazukofs kernel code
tries to get an open file descriptor again and again, always failing due 
to the file size limits.
The solution is to open the file explicitly with large file support 
enabled by setting the
O_LARGEFILE flag.





GeschÀftsfÌhrender Gesellschafter: Tjark Auerbach
Sitz der Gesellschaft: Tettnang
Handelsregister: Amtsgericht Ulm, HRB 630992
ALLGEMEINE GESCHÄFTSBEDINGUNGEN
Es gelten unsere Allgemeinen GeschÀftsbedingungen
(AGB). Sie finden sie in der jeweils gÃŒltigen Fassung
im Internet unter http://www.avira.de/agb
***************************************************

_______________________________________________
Dazuko-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dazuko-devel
patch1 (text/plain, 622 B)
diff -rup dazukofs-3.0.0/event.c dazukofs-3.0.0-p1/event.c
--- dazukofs-3.0.0/event.c	2009-02-22 17:44:03.000000000 +0100
+++ dazukofs-3.0.0-p1/event.c	2009-03-15 18:25:44.000000000 +0100
@@ -928,7 +928,8 @@ static int open_file(struct dazukofs_eve
 	/* add myself to be ignored on file open (to avoid recursion) */
 	mask_proc(&proc);
 
-	ec->file = dentry_open(dget(evt->dentry), mntget(evt->mnt), O_RDONLY);
+	ec->file = dentry_open(dget(evt->dentry), mntget(evt->mnt), 
+			       O_RDONLY | O_LARGEFILE);
 	if (IS_ERR(ec->file)) {
 		check_recursion();  /* remove myself from proc_list */
 		ret = PTR_ERR(ec->file);