]> git.baikalelectronics.ru Git - kernel.git/commit
isofs: Fix lseek() to position beyond 4 GB
authorJan Andres <jandres@gmx.net>
Wed, 4 Aug 2010 20:52:46 +0000 (22:52 +0200)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 11 Aug 2010 04:29:47 +0000 (00:29 -0400)
commite36ba0c8ef0c1294b430b5d6502242d5b83e68b3
treedc41e40bb9e0e8c9f1a5947c23670da9e8ba9b49
parentc9518b327802759759fce0c518f5ba8ecb359a49
isofs: Fix lseek() to position beyond 4 GB

isofs supports files larger than 4 GB by using multi-extent files.
However an lseek() to a position beyond 4 GB in such a file will
fail with EINVAL, because s_maxbytes in the isofs superblock is
initialized to 2^32-1, and generic_file_llseek() checks against
that value.

I therefore suggest increasing the value of s_maxbytes to have
full support for large files in isofs. With multi-extent files, file
size is only limited by the maximum size of the file system (8 TB),
so this seems a reasonable value for s_maxbytes.

Signed-off-by: Jan Andres <jandres@gmx.net>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/isofs/inode.c