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

[PATCH] large offset llseek breaks for device special files on ac series

Dear all,

The ac-kernel series include a check in default_llseek()
to not set the file position beyond the file systems
maximum file size.
This check should be done only for regular files, e.g. for
a device special file the test does not make sense.

Alan suggested that we remove the check from
the default_llseek method and introduce a
generic_file_llseek() method that checks the maximum
file size. The generic_file_llseek() method needs
to be put in all file systems in order to test
for the maximum file size.

I send the mail with the patch to all maintainers
of file systems, please comment.

Here is the patch. I put the generic_file_llseek
into adfs, affs, bfs, coda, ext2, fat, free_vxfs,
hfs, hpfs, jffs, jffs2, minix, ncpfs, nfs,
ntfs, openpromfs, qnx4, ramfs, reiserfs, smbfs,
sysv, and udf.
hfs got two additional llseek methods for the
metadata, same for openpromfs.

The patch applies to 2.4.5 ac 16.

The cmsfs directory produces an object file with
the wrong name, the patch fixes the cmsfs/Makefile
do produce the right object file.

Especially the hfs and openpromfs modifications
should be checked.

I did not touch the other file systems, there is
either no file read or write, or a fix is not
straight forward. I did not modifiy the proc file system,
the llseek problem should be fixed there in a more
general way.

Regards, Martin