.. | .. |
---|
35 | 35 | // a function that blocks |
---|
36 | 36 | @ blocks @ |
---|
37 | 37 | identifier block_f; |
---|
38 | | -identifier wait_event =~ "^wait_event_.*"; |
---|
| 38 | +identifier wait =~ "^wait_.*"; |
---|
39 | 39 | @@ |
---|
40 | 40 | block_f(...) { |
---|
41 | 41 | ... when exists |
---|
42 | | - wait_event(...) |
---|
| 42 | + wait(...) |
---|
43 | 43 | ... when exists |
---|
44 | 44 | } |
---|
45 | 45 | |
---|
.. | .. |
---|
49 | 49 | // XXX currently reader_blocks supports only direct and 1-level indirect cases. |
---|
50 | 50 | @ reader_blocks_direct @ |
---|
51 | 51 | identifier stream_reader.readstream; |
---|
52 | | -identifier wait_event =~ "^wait_event_.*"; |
---|
| 52 | +identifier wait =~ "^wait_.*"; |
---|
53 | 53 | @@ |
---|
54 | 54 | readstream(...) |
---|
55 | 55 | { |
---|
56 | 56 | ... when exists |
---|
57 | | - wait_event(...) |
---|
| 57 | + wait(...) |
---|
58 | 58 | ... when exists |
---|
59 | 59 | } |
---|
60 | 60 | |
---|
.. | .. |
---|
134 | 134 | .llseek = no_llseek, |
---|
135 | 135 | }; |
---|
136 | 136 | |
---|
| 137 | +@ has_noop_llseek @ |
---|
| 138 | +identifier fops0.fops; |
---|
| 139 | +@@ |
---|
| 140 | + struct file_operations fops = { |
---|
| 141 | + .llseek = noop_llseek, |
---|
| 142 | + }; |
---|
| 143 | + |
---|
137 | 144 | @ has_mmap @ |
---|
138 | 145 | identifier fops0.fops; |
---|
139 | 146 | identifier mmap_f; |
---|
.. | .. |
---|
180 | 187 | // |
---|
181 | 188 | // XXX for simplicity require no .{read/write}_iter and no .splice_{read/write} for now. |
---|
182 | 189 | // XXX maybe_steam.fops cannot be used in other rules - it gives "bad rule maybe_stream or bad variable fops". |
---|
183 | | -@ maybe_stream depends on (!has_llseek || has_no_llseek) && !has_mmap && !has_copy_file_range && !has_remap_file_range && !has_read_iter && !has_write_iter && !has_splice_read && !has_splice_write @ |
---|
| 190 | +@ maybe_stream depends on (!has_llseek || has_no_llseek || has_noop_llseek) && !has_mmap && !has_copy_file_range && !has_remap_file_range && !has_read_iter && !has_write_iter && !has_splice_read && !has_splice_write @ |
---|
184 | 191 | identifier fops0.fops; |
---|
185 | 192 | @@ |
---|
186 | 193 | struct file_operations fops = { |
---|