Linux can't read large size from direct I/O NFS.
It is defined in fs/nfs/direct.c,

#define MAX_DIRECTIO_SIZE       (4096UL << PAGE_SHIFT)


If remove O_DIRECT from growisofs.c, growisofs works fine.


--- growisofs.c.org     2006-01-27 06:16:54.000000000 +0900
+++ growisofs.c 2006-03-03 00:15:36.000000000 +0900
@@ -2501,11 +2501,7 @@
 
                        if (sscanf(in_image,"/dev/fd/%u",&imgfd) == 1)
                            imgfd = dup (imgfd); /* validate descriptor */
-#ifdef O_DIRECT
-                       else if ((imgfd = open64(in_image,O_RDONLY|O_DIRECT))<0)
-#else
                        else
-#endif
                            imgfd = open64(in_image,O_RDONLY);
 
                        if (imgfd < 0)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to