int ntfs_file_open (struct inode * vi, struct file * filp);
Limit file size to the page cache limit on architectures where unsigned long is 32-bits. This is the most we can do for now without overflowing the page cache page index. Doing it this way means we don't run into problems because of existing too large files. It would be better to allow the user to read the beginning of the file but I doubt very much anyone is going to hit this check on a 32-bit architecture, so there is no point in adding the extra complexity required to support this.
On 64-bit architectures, the check is hopefully optimized away by the compiler.
After the check passes, just call generic_file_open to do its work.