-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NAS-115139 / None / Update TrueNAS SCALE Linux kernel to v5.15 #27
Commits on Mar 28, 2022
-
Configuration menu - View commit details
-
Copy full SHA for e75f728 - Browse repository at this point
Copy the full SHA e75f728View commit details -
Configuration menu - View commit details
-
Copy full SHA for b577f26 - Browse repository at this point
Copy the full SHA b577f26View commit details -
Add initial support for large xattrs (#1)
Support for alternate datastreams over the SMB protocol has been historically enabled in such a way that Samba writes them as filesystem extended attributes in the user namespace. FreeBSD has no practical limit on xattr size, and so clients (often MacOS) may write ones that exceed the 64 KiB limit imposed by the Linux kernel. Since XATTR_SIZE_MAX is uesd in many places in the kernel, and not all filesystems support large xattrs, introduce new constant XATTR_LARGE_SIZE_MAX that is used as an alternate value if the filesystem sb_flags has SB_LARGEXATTR. There will be corresponding commit in ZFS to set this flag when it is defined and xattrs are enabled on the ZFS dataset. This commit also introduces flag SB_NFSV4ACL which will be used to indicate and enable NFSv4-specific behavior in kernel with regard to permissions. These new features / alternate behavior are controlled by the compile-time kernel compilation flag CONFIG_TRUENAS, which defaults to n (off). In principle, TrueNAS-specific changes that deviate from a vanilla Linux kernel can be removed for testing purposes by changing CONFIG_TRUENAS=n in the relevant build scripts. Signed-off-by: Andrew Walker <awalker@ixsystems.com>
Configuration menu - View commit details
-
Copy full SHA for 686bc43 - Browse repository at this point
Copy the full SHA 686bc43View commit details -
Add nfsv4-specific permissions checks to kernel (#2)
There are various places in which evaluation of permissions in the presence of an NFSv4 ACL is more nuanced than what is typical when evaluating traditional POSIX permissions. For example, a user may be permitted to delete a file if he has DELETE permissions on the file or DELETE_CHILD permissions on the parent directory. Traditional POSIX permissions will only check for MAY_WRITE | MAY_EXEC on parent directory. Several new inode permissions masks have been added to facilitate these NFSv4-specific checks corresponding to different NFSv4 permissions that grant abilities to make changes to files. For the purpose of this commit and the goal of providing rough a approximation of NFSv4 access checks, only write (and not read) access checks have been implemented. This is selectively done in a way to grant minimal compliance with permissions as defined in RFC-5661. The new permissions-related behavior is only applied when the inode sb_flag SB_NFS4ACL is present. In this case, the onus of full implementation of requisite features to satisfy the ACL behavior specified in RFC-5661 is delegated to the filesystem's inode permissions interface (i_op->permission). If possible we try to check for the convention POSIX permission first before trying the NFSv4-equivalent. For example, when writing an xattr, we check for WRITE_DATA before WRITE_NAMED_ATTRS because in the case of former with a trivial ACL we can avoid having to evaluate the full ACL, and instead merely look at POSIX mode.
Configuration menu - View commit details
-
Copy full SHA for c6516c5 - Browse repository at this point
Copy the full SHA c6516c5View commit details -
Configuration menu - View commit details
-
Copy full SHA for aac2ce5 - Browse repository at this point
Copy the full SHA aac2ce5View commit details -
Remove Chelsio FCoE options from kernel config
csiostor seems to cause Chelsio T6 firmware to crash. Jira: NAS-110910
Configuration menu - View commit details
-
Copy full SHA for 9e6cdc3 - Browse repository at this point
Copy the full SHA 9e6cdc3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 714c4f1 - Browse repository at this point
Copy the full SHA 714c4f1View commit details -
Add /sys/kernel/wait_for_device_probe attribute.
Being written anything waits for all device probe to complete before returning. After that `udevadm settle` used by ZFS scripts really can provide system with all disks detected for boot pool import. Ticket: NAS-108200
Configuration menu - View commit details
-
Copy full SHA for 681fc1f - Browse repository at this point
Copy the full SHA 681fc1fView commit details -
truenas-scale: Add NTB to default tn.config
Enable NTB and NTB tools in the Truenas config. In addition, enable the Intel NTB driver, so that we have at least one NTB driver available.
Configuration menu - View commit details
-
Copy full SHA for 61af26a - Browse repository at this point
Copy the full SHA 61af26aView commit details -
ntb/plx: Add support for PLX hardware
Added initial support for PLX Non-Transparent Bridge.
Configuration menu - View commit details
-
Copy full SHA for 50a00b3 - Browse repository at this point
Copy the full SHA 50a00b3View commit details -
NTB: ntb_transport: Allow early client registration
Before this change it was impossible to load client modules before NTB hardware is probed. This change removes the limitation. New NTB transports will get their children devices as they come in.
Configuration menu - View commit details
-
Copy full SHA for 24f2714 - Browse repository at this point
Copy the full SHA 24f2714View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d0cce4 - Browse repository at this point
Copy the full SHA 6d0cce4View commit details -
Configuration menu - View commit details
-
Copy full SHA for c3cb04b - Browse repository at this point
Copy the full SHA c3cb04bView commit details -
Configuration menu - View commit details
-
Copy full SHA for e9362d6 - Browse repository at this point
Copy the full SHA e9362d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for aec02cd - Browse repository at this point
Copy the full SHA aec02cdView commit details -
ntb: Mask doorbells while processing them.
This fixes interrupt storms on hardware using legacy level-triggered interrupts, since doorbell processing could take time after interrupt handler completion, that triggered extra interrupts in a loop.
Configuration menu - View commit details
-
Copy full SHA for 190664a - Browse repository at this point
Copy the full SHA 190664aView commit details -
ntb_hw_plx: Report NTB topology.
I don't see it reasonably used anywhere, but why not.
Configuration menu - View commit details
-
Copy full SHA for eb14d4b - Browse repository at this point
Copy the full SHA eb14d4bView commit details -
ntb_hw_plx: Remove unneeded pidx check.
We support only one peer, so no need to check the index.
Configuration menu - View commit details
-
Copy full SHA for e9395e3 - Browse repository at this point
Copy the full SHA e9395e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for cc5bf2d - Browse repository at this point
Copy the full SHA cc5bf2dView commit details -
Setup CI for TrueNAS/Linux repository
Signed-off-by: Umer Saleem <usaleem@ixsystems.com>
Configuration menu - View commit details
-
Copy full SHA for cacb1a3 - Browse repository at this point
Copy the full SHA cacb1a3View commit details -
With the default workflow, GitHub Actions are invoked on every push and pull request. This commit adds the functionality to check if a previous successful run is present, then skip re-run for its pull request. Signed-off-by: Umer Saleem <usaleem@ixsystems.com>
Configuration menu - View commit details
-
Copy full SHA for f657470 - Browse repository at this point
Copy the full SHA f657470View commit details -
Implement native NFSv4 ACLs in NFS server (#17)
ZFS currently exposes native ZFS nfsv4 ACL type through the system.nfs4_acl_xdr xattr. underlying ACL type can be determined via inode sb flags (previous kernel work). This PR makes the Kernel NFS server aware of this ACL type and has it read from and write to the xattr is the relevant NFS40 ops. At this point only NFS40 ACLs are implemented (RFC3530) because they are currently only ones supported by the Kernel NFS client in Linux. ACE_INHERITED_ACE is returned in request for NFS40 ACL. This is for consistency with FreeBSD behavior, and is important for SMB / NFS compatibility. At a future point in time, full NFS41 ACL compatibility will most likely be required (for feature parity with other commercial vendors). nfs4-acl-tools version 0.3.3 and earlier contains a bug where the persence of ACE_INHERITED_ACE is mistakenly identified as making ACE apply to the file owner. Signed-off-by: Andrew Walker <awalker@ixsystems.com>
Configuration menu - View commit details
-
Copy full SHA for 9caa2bd - Browse repository at this point
Copy the full SHA 9caa2bdView commit details -
Bump changelog after rebasing on v5.15.26
Signed-off-by: Umer Saleem <usaleem@ixsystems.com>
Configuration menu - View commit details
-
Copy full SHA for 2ded2c8 - Browse repository at this point
Copy the full SHA 2ded2c8View commit details -
Better Linux kernel configuration procedure
Previously for TrueNAS, Debian Linux kernel configuration was used and TrueNAS config options were added on top of that. Because of that, TrueNAS kernel config in 'scripts/package/truenas/tn.config' has grown very large and difficult to manage for TrueNAS only options. Debian Linux kernel configuration for version 5.10.92 has been added as 'debian_amd64.config' to keep the options from Debian seperate from TrueNAS options. TrueNAS only config options are stored in 'truenas.config'. Kernel configuration can now be generated as: 1) make ARCH=x86_64 defconfig 2) ./scripts/kconfig/merge_config.sh .config \ ./scripts/package/truenas/debian_amd64.config 3) ./scripts/kconfig/merge_config.sh .config \ ./scripts/package/truenas/truenas.config 4) ./scripts/kconfig/merge_config.sh .config \ ./scripts/package/truenas/debug.config Signed-off-by: Umer Saleem <usaleem@ixsystems.com>
Configuration menu - View commit details
-
Copy full SHA for d77d975 - Browse repository at this point
Copy the full SHA d77d975View commit details -
Provide addition free space for CI kernel build
With kernel version 5.15 and Debian kernel config for v5.15, CI fails while exporting the artifacts due to lack of storage space. This commit adds a workaround to provide some extra free space. Reference: actions/runner-images#2840 Signed-off-by: Umer Saleem <usaleem@ixsystems.com>
Configuration menu - View commit details
-
Copy full SHA for 1fdbf02 - Browse repository at this point
Copy the full SHA 1fdbf02View commit details -
Add Debian Linux kernel config for v5.15.15-2
Signed-off-by: Umer Saleem <usaleem@ixsystems.com>
Configuration menu - View commit details
-
Copy full SHA for 507f5aa - Browse repository at this point
Copy the full SHA 507f5aaView commit details -
Bump changelog after rebasing on v5.15.32
Signed-off-by: Umer Saleem <usaleem@ixsystems.com>
Configuration menu - View commit details
-
Copy full SHA for adb64a5 - Browse repository at this point
Copy the full SHA adb64a5View commit details