Open
Conversation
In v6.1-rc5-2-ge9a688bcb193, get_random_u32_below() becomes available and can start replacing prandom_bytes_max(). Switch to it where we can. get_random_bytes() has been available since el7, so also replace prandom_bytes() where we're using it. Signed-off-by: Auke Kok <auke.kok@versity.com>
egrep Is no longer in el10, so replace it with `grep -E` everywhere. Signed-off-by: Auke Kok <auke.kok@versity.com>
In v6.6-rc5-1-g077c212f0344, one can no longer directly access the inode m_time and a_time etc. We have to go through these static inline functions to get to them. The compat is matched closely to mimic the new functions. Further back, ctime accessors were added in v6.5-rc1-7-g9b6304c1d537, and need to be applied as well. Signed-off-by: Auke Kok <auke.kok@versity.com>
The logic only accounted for single-digit versions. With el10, that breaks. Signed-off-by: Auke Kok <auke.kok@versity.com>
The new format in el10 has non-hex output, separated by a comma. Add the additional filter string so this works as expected. Signed-off-by: Auke Kok <auke.kok@versity.com>
In v6.12-rc1-3-g5f60d5f6bbc1, asm/unaligned.h only included asm-generic/unaligned.h and that was cleaned up from architecture specific things. Everyone should now include linux/unaligned.h and the former include was removed. A quick peek at server.c shows that while included, it no longer uses any function from this header at all, so it can just be dropped. Signed-off-by: Auke Kok <auke.kok@versity.com>
Instead of defining a struct that ends with a flex array member with `val[0]`, the compiler now balks at this since technically, the spec considers this unsanitary. As a result however, we can't memcpy to `struct->val` since that's a pointer and now we're writing something of a different length (u8's in our case) into something that's of pointer size. So there we have to do the opposite, and memcpy to &struct->val[0]. Signed-off-by: Auke Kok <auke.kok@versity.com>
v6.9-rc4-29-g203c1ce0bb06 removes bd_inode. The canonical replacement is bd_mapping->host, were applicable. We have one use where we directly need the mapping instead of the inode, as well. Signed-off-by: Auke Kok <auke.kok@versity.com>
In v6.8-9146-gc759e609030c, the second argument for __assign_str() was removed, as the second parameter is already derived from the __string() definition and no longer needed. We have to do a little digging in headers here to find the definition. Note the missing `;` at a few places... it has to be added now. Signed-off-by: Auke Kok <auke.kok@versity.com>
The return type always has been int, so, we just need to add return value checking and do something with it. We could return -ENOMEM here as well, either way it'll fall all the way through no matter what. This is since v6.4-rc2-100-g83f2caaaf9cb. Signed-off-by: Auke Kok <auke.kok@versity.com>
Yet another major shrinker API evolution in v6.6-rc4-53-gc42d50aefd17. The struct shrinker now has to be dynamically allocated. This is purposely a backwards incompatible break. We add another KC_ wrapper around the new shrinker_alloc() and move some initialization around to make this as much as possible low impact, but compatible with the old APIs through substitution. Signed-off-by: Auke Kok <auke.kok@versity.com>
Since ~v6.5-rc1-95-g0d72b92883c6, generic_fillattr() asks us to pass through the request_mask from the caller. This allows it to only request a subset. Signed-off-by: Auke Kok <auke.kok@versity.com>
In v6.9-rc4-8-gead083aeeed9, this now takes a struct file argument, adding to the ifdef salad we've got going on here. Signed-off-by: Auke Kok <auke.kok@versity.com>
Since v5.1-rc3-29-gaa30f47cf666, and in el9, there are changes to reduce the amount of boilerplate code needed to hook up lots of attribute files using a .default_groups member. In el10, this becomes the required method as the .default_attrs member now becomes removed. This touches every sysfs part that we have. Signed-off-by: Auke Kok <auke.kok@versity.com>
This is somewhat cumbersome, we want to see the error message, but the format changes enough to make this messy. We opt to change the golden to the new format, which only shows one of the arguments in its error output: the thing that cannot be overwritten. We then add a filter that rewrites the old output format with sed patterns to be exactly like the new format, so this will work everywhere again, without changing or adding filters to obscure error messages. Signed-off-by: Auke Kok <auke.kok@versity.com>
This caller of scoutfs_get_block is now actively used in el10 and the WARN_ON_ONCE(!lock) in data.c:567 triggers. XXX FIXME XXX However, this will hit the `BUG_ON(!list_empty(pages));` that's a few lines further, in some of our testing, so, it's still not right Signed-off-by: Auke Kok <auke.kok@versity.com>
Due to folios, the kernel will call scoutfs_writepages() and this becomes unused. It could be ported but the helper function to call isn't exported anymore. Signed-off-by: Auke Kok <auke.kok@versity.com>
Based on my reading of the gfs2 driver, it appears it's likely the safer approach to take copy_splice_read instead of filemap_splice_read as it may potentially lead to cluster deadlocks. Signed-off-by: Auke Kok <auke.kok@versity.com>
This works together with the dropped block_write_full_page(), allowing us to drop the _writepage() method as long as we implement _writepages(). Since v5.19-rc3-395-g67235182a41c. This used to be the .migratepage() method. Signed-off-by: Auke Kok <auke.kok@versity.com>
Since v4.6-rc3-29-g6192269444eb there has been a special readdir VFS method that can be called for the same directory multiple times in parallel, without any additional VFS locking. The VFS has provided a WRAP_DIR_ITER() macro to re-wrap the method with extra locking, in case the method wasn't safe for this. With el10, the old .readdir method is now gone, and we have no choice but to either use the wrapper, or just hook up our readdir() method to the .iterate_shared op. From what I can see, our implementation is safe to do this. Signed-off-by: Auke Kok <auke.kok@versity.com>
In RHEL10, the grep version is bumped from 3.6 to 3.11, and grep
no longer recognizes the \Z character anymore.
We have 2 solutions: We can either choose to use `grep -P` to
continue using it, or, alternatively, we can choose a different
`null` match to have an effectively empty exclude list.
The latter seems easy enough: By default, we can just exclude
empty lines ("^$") obtaining the exact same behavior as before.
Signed-off-by: Auke Kok <auke.kok@versity.com>
In el10, we don't need compat for list_lru_walk, as was intended in 8b6418f. However, the actual redefine from kc_list_lru_walk to list_lru_walk was omitted. It wasn't needed until el10. Add it now. Signed-off-by: Auke Kok <auke.kok@versity.com>
Adds compat handlers for block_write_begin and block_write_end to take a folio argument instead of page, as this is needed since v6.11-rc1-54-g9f04609f74ec. To avoid having two duplicate page_mkwrite functions there's now a complete page/folio ifdef split here to make it handle either. This is ugly but it's the most straightforward solution here and avoids more obscure macros. Signed-off-by: Auke Kok <auke.kok@versity.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
commit messages still need work.