> > > > OK. What about Eddie's question: > > > > If realinode is nested overlay inode, then realinode->i_sb->s_maxbytes > > > > will not reflect the "real" inode's maxbytes. > > > > Not to mention other crazy things that filesystems may do for SET/CUR/END. > > > > Take ext4_llseek() for example, for the less common case (ext3 format inode) > > > > the value of inode->i_sb->s_maxbytes is not used as maxbytes, but a smaller > > > > value. > > > > Hi Amir, Thanks your detail information and the patch. I ran into this issue by using a proprietary stacked file system as lower and the file system does not initial it's s_maxbytes, therefore caused file larger than 2GB fails lseek. A quick workaround is to set the fs s_maxbytes to MAX_LFS_FILESIZE, but like you said, for certain cases this might be a problem. I have verified this patch with same configuration and the lower inode f_op->llseek does get invoked, looks like enough to resolve my particular case. thanks, Eddie