On 4/25/12 2:23 PM, Eric Sandeen wrote: > ext4_dir_llseek() was recently added as part of a patch to allow > returning 64-bit name hashes. However, reworking _llseek() is not > necessary to achieve that goal. One unfortunate side effect of the > change is that it cut&pasted VFS code back into ext4, after Andi > had just removed other _llseek cut&paste in ext4 by extending the > VFS functionality. > > It also re-introduced i_mutex locking in the dir llseek paths, > un-doing the upstream (mostly) lockless llseek changes from Andi > in this case. > > Because of the above reasons, and because it introduces new > EINVAL returns which were not there before, and because SEEK_END+offset > behaves differently from SEEK_SET w.r.t. offset limits, and because > it's not clear what problem this is solving, remove it for now. > > (NFS only uses SEEK_SET and SEEK_CUR, so changes to SEEK_END shouldn't > affect it.) > > If & when a problematic and testable real-world use case is described, > this can be re-fixed properly, possibly by expanding the VFS _llseek() > functions to handle custom EOF offsets for cases such as this. Self-NAK. Realized this won't work for non-extent dirs, because the generic llseek will EINVAL for hash "offsets" larger than the max_bitmap_bytes value. Will send something a little less drastic. -Eric -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html