Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
3
-
9223372036854775807
Description
copy_file_range(2) reads from a Lustre file hang.
With no .copy_file_range VFS API implemented it calls do_splice_direct()->splice_direct_to_actor()->do_splice_to()->ll_file_splice_read().
While the call chain of ll_file_splice_read()->ll_file_io_generic()->generic_file_splice_read()->ll_file_read_iter()->ll_file_io_generic().
And that would try to get LDLM lock twice in ll_file_io_generic(), so that hang ensued.