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.
Attachments
Issue Links
Activity
Link | Original: This issue is related to DDN-1752 [ DDN-1752 ] |
Link | New: This issue is related to DDN-1718 [ DDN-1718 ] |
Link | New: This issue is related to DDN-1752 [ DDN-1752 ] |
Labels | New: always_except |
Assignee | Original: WC Triage [ wc-triage ] | New: Zhenyu Xu [ bobijam ] |
Description |
Original:
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. |
New:
{{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. |
Link | New: This issue is related to JFC-10 [ JFC-10 ] |