Re: ZFS sharenfs broken
That gave me enough of a hint to go on. It does look like it was an issue with how I originally specified the options. For posterity's sake, here's how I fixed it: zfs set sharenfs='-ro -alldirs -network 172.16.1.0 -mask 255.255.255.0' rpool/data/build/pub (Applied the same sharenfs settings with the other datasets.) All is well now. Thanks a bunch, Alan! I really appreciate the help. :-) -- Shawn Webb Cofounder / Security Engineer HardenedBSD Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50 https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc On Thu, Oct 24, 2024 at 02:36:47PM UTC, Alan Somers wrote: > I think that's just an exports(5) syntax error. I don't think "=" > should follow "-ro". Try this instead: > > zfs set sharenfs='-ro -alldirs 172.16.1.0/24' rpool/data/build/pub > > On Thu, Oct 24, 2024 at 2:26 PM Shawn Webb wrote: > > > > Hey all, > > > > I'm exposing some ZFS datasets using the `zfs set sharenfs` option. > > However, this causes mountd to complain: > > > > BEGIN mountd LOG > > Oct 24 20:19:59 hbsd-os-build-01 mountd[89840]: bad exports list line > > '/data/build/pub/current -ro' > > Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: = after op: ro > > Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: bad exports list line > > '/data/build/pub -ro' > > Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: = after op: ro > > Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: bad exports list line > > '/data/build/pub/13-stable-ro' > > Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: = after op: ro > > Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: bad exports list line > > '/data/build/pub/cross-dso-cfi-ro' > > Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: = after op: ro > > END mountd LOG > > > > The command I ran for those datasets: > > > > zfs set sharenfs='ro=172.16.1.0/24,-alldirs' rpool/data/build/pub > > > > (Replace that last argument with the other datasets. The same exact > > command was used, just with the dataset changed.) > > > > The /etc/zfs/exports file contains: > > > > BEGIN exports > > # !!! DO NOT EDIT THIS FILE MANUALLY !!! > > > > /data/build/pub -ro=172.16.1.0/24 -alldirs > > /data/build/pub/13-stable -ro=172.16.1.0/24 -alldirs > > /data/build/pub/cross-dso-cfi -ro=172.16.1.0/24 -alldirs > > /data/build/pub/current -ro=172.16.1.0/24 -alldirs > > END exports === > > > > I'm a bit unsure of what to do here. I'm not sure if the issue lies in > > ZFS or mountd or something else entirely. > > > > `uname -a` shows: > > > > FreeBSD hbsd-os-build-01 15.0-CURRENT-HBSD FreeBSD 15.0-CURRENT-HBSD #0 > > hardened/current/master-n194236-a8e5e4e37b03: Thu Oct 24 19:49:31 UTC 2024 > >root@hbsd-os-build-01:/usr/obj/usr/src/amd64.amd64/sys/HARDENEDBSD amd64 > > > > Thanks, > > > > -- > > Shawn Webb > > Cofounder / Security Engineer > > HardenedBSD > > > > Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50 > > https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc signature.asc Description: PGP signature
Problem (re)building graphics/drm-61-kmod via PORTS_MODULES+=
So... I've been tracking FreeBSD (generally, daily) on various machines for a couple of decades or so. And I learned long ago to rebuild kmods from ports whenever I rebuilt the kernel, and that generally, the simplest way to ensure that that is done is to augment /etc/src.conf with (e.g.): PORTS_MODULES+=graphics/drm-61-kmod which (again, generally) works a treat. :-) It even worked Just Fine yesterday (main-n273108-d1d839d0b593 -> main-n273133-419249c1cacc). This morning, however, after updating sources to main-n273188-1c83996beda7, running: g1-48(15.0-C)[12] uname -aUK FreeBSD g1-48.catwhisker.org 15.0-CURRENT FreeBSD 15.0-CURRENT #110 main-n273133-419249c1cacc: Wed Oct 23 11:19:30 UTC 2024 r...@g1-48.catwhisker.org:/common/S4/obj/usr/src/amd64.amd64/sys/CANARY amd64 1500025 1500025 the attempt to rebuild graphics/drm-61-kmod failed on my laptops, thus: ... --- sync_file.o --- cc -O2 -pipe -fno-strict-aliasing -DLINUXKPI_VERSION=60100 '-DKBUILD_MODNAME="d mabuf"' -DCONFIG_DRM_AMDGPU_CIK -DCONFIG_DRM_AMDGPU_SI -DCONFIG_DRM_AMD_DC -DCON FIG_DRM_AMD_DC_SI -DCONFIG_AMD_PMC -DCONFIG_DRM_I915_FORCE_PROBE='"*"' -DCONFIG_DRM_I915_REQUEST_TIMEOUT=2 -DCONFIG_DRM_I915_CAPTURE_ERROR -DCONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250 -DCONFIG_DRM_I915_STOP_TIMEOUT=100 -DCONFIG_DRM_I915_PREEMPT_TIMEOUT=640 -DCONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 -DCONFIG_DRM_I915_TIMESLICE_DURATION=1 -DCONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000 -DCONFIG_DRM_I915_FENCE_TIMEOUT=1 -DCONFIG_DRM_MIPI_DSI -DCONFIG_DRM_PANEL_ORIENTATION_QUIRKS -DCONFIG_APERTURE_HELPERS -DCONFIG_DRM_FBDEV_EMULATION -DCONFIG_DRM_FBDEV_OVERALLOC=100 -DCONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG -DCONFIG_BACKLIGHT_CLASS_DEVICE -DCONFIG_DEBUG_FS -DCONFIG_DMI -DCONFIG_FB -DCONFIG_MTRR -DCONFIG_PCI -DCONFIG_PM -DCONFIG_PM_SLEEP -DCONFIG_SMP -DCONFIG_SUSPEND -DCONFIG_ACPI -DCONFIG_ACPI_SLEEP -DCONFIG_X86 -DCONFIG_X86_PAT -DCONFIG_64BIT -DCONFIG_AS_MOVNTDQA -DCONFIG_COMPAT -DCONFIG_X86_64 -DCONFIG_DRM_AMD_DC_DCN -DCONFIG_DRM_AMD_DC_DCN3_0 -DCONFIG_DRM_AMD_DC_DCN3_01 -DCONFIG_DRM_AMD_DC_DCN3_02 -DCONFIG_DRM_AMD_DC_DCN3_1 -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I/common/S4/obj/usr/src/amd64.amd64/sys/CANARY/common/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/gplv2/include -I/common/S4/obj/usr/src/amd64.amd64/sys/CANARY/common/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/bsd/include -I/usr/src/sys/compat/linuxkpi/common/include -I/common/S4/obj/usr/src/amd64.amd64/sys/CANARY/common/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/dummy/include -I/usr/src/sys/compat/linuxkpi/dummy/include -include /common/S4/obj/usr/src/amd64.amd64/sys/CANARY/common/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/obj/common/S4/obj/usr/src/amd64.amd64/sys/CANARY/common/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/dmabuf/opt_global.h -I. -I/usr/src/sys -I/usr/src/sys/contrib/ck/include -fno-common -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdebug-prefix-map=./machine=/usr/src/sys/amd64/include -fdebug-prefix-map=./x86=/usr/src/sys/x86/include -fdebug-prefix-map=./i386=/usr/src/sys/i386/include -MD -MF.depend.sync_file.o -MTsync_file.o -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wswitch -Wno-error=tautological-compare -Wno-error=empty-body -Wno-error=parentheses-equality -Wno-error=unused-function -Wno-error=pointer-sign -Wno-error=shift-negative-value -Wno-address-of-packed-member -Wno-format-zero-length -mno-aes -mno-avx -std=gnu99 -c /common/S4/obj/usr/src/amd64.amd64/sys/CANARY/common/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/drivers/dma-buf/sync_file.c -o sync_file.o --- dma-buf-kmod.o --- cc: error: no such include directory: '/common/S4/obj/usr/src/amd64.amd64/sys/CANARY/common/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/dummy/include' [-Werror,-Wmissing-include-dirs] --- dma-fence-array.o --- cc: error: no such include directory: '/common/S4/obj/usr/src/amd64.amd64/sys/CANARY/common/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/dummy/include' [-Werror,-Wmissing-include-dirs] --- dma-fence-unwrap.o --- cc: error: no such include directory: '/common/S4/obj/usr/src/amd64.amd64/sys/CANARY/common/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/dummy/include' [-Werror,-Wmissing-include-dirs] --- dma-fence.o --- cc: error: no such include directory: '/common/S4/obj/usr/src/amd64.amd64/sys/CANARY/common/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/dummy/include' [-Werror,-Wmissing-include-dirs] --- sync_file.o --- cc: error: no such include directory: '/common/S4/obj
Re: upgrade llvm19 broke drm-6.1 kmod
On Thu, 24 Oct 2024 at 14:26, Michael Butler wrote: > > It seems there are some additional constraints about non-existent > directories that now count as errors .. I ran into this as well, in my work tree that has drm-kmod 6.6 as a submodule. I think these include paths are just leftover from some earlier work, and I opened a pull request to remove them: https://github.com/freebsd/drm-kmod/pull/321
ZFS sharenfs broken
Hey all, I'm exposing some ZFS datasets using the `zfs set sharenfs` option. However, this causes mountd to complain: BEGIN mountd LOG Oct 24 20:19:59 hbsd-os-build-01 mountd[89840]: bad exports list line '/data/build/pub/current -ro' Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: = after op: ro Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: bad exports list line '/data/build/pub -ro' Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: = after op: ro Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: bad exports list line '/data/build/pub/13-stable-ro' Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: = after op: ro Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: bad exports list line '/data/build/pub/cross-dso-cfi-ro' Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: = after op: ro END mountd LOG The command I ran for those datasets: zfs set sharenfs='ro=172.16.1.0/24,-alldirs' rpool/data/build/pub (Replace that last argument with the other datasets. The same exact command was used, just with the dataset changed.) The /etc/zfs/exports file contains: BEGIN exports # !!! DO NOT EDIT THIS FILE MANUALLY !!! /data/build/pub -ro=172.16.1.0/24 -alldirs /data/build/pub/13-stable -ro=172.16.1.0/24 -alldirs /data/build/pub/cross-dso-cfi -ro=172.16.1.0/24 -alldirs /data/build/pub/current -ro=172.16.1.0/24 -alldirs END exports === I'm a bit unsure of what to do here. I'm not sure if the issue lies in ZFS or mountd or something else entirely. `uname -a` shows: FreeBSD hbsd-os-build-01 15.0-CURRENT-HBSD FreeBSD 15.0-CURRENT-HBSD #0 hardened/current/master-n194236-a8e5e4e37b03: Thu Oct 24 19:49:31 UTC 2024 root@hbsd-os-build-01:/usr/obj/usr/src/amd64.amd64/sys/HARDENEDBSD amd64 Thanks, -- Shawn Webb Cofounder / Security Engineer HardenedBSD Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50 https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc signature.asc Description: PGP signature
Re: ZFS sharenfs broken
I think that's just an exports(5) syntax error. I don't think "=" should follow "-ro". Try this instead: zfs set sharenfs='-ro -alldirs 172.16.1.0/24' rpool/data/build/pub On Thu, Oct 24, 2024 at 2:26 PM Shawn Webb wrote: > > Hey all, > > I'm exposing some ZFS datasets using the `zfs set sharenfs` option. > However, this causes mountd to complain: > > BEGIN mountd LOG > Oct 24 20:19:59 hbsd-os-build-01 mountd[89840]: bad exports list line > '/data/build/pub/current -ro' > Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: = after op: ro > Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: bad exports list line > '/data/build/pub -ro' > Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: = after op: ro > Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: bad exports list line > '/data/build/pub/13-stable-ro' > Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: = after op: ro > Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: bad exports list line > '/data/build/pub/cross-dso-cfi-ro' > Oct 24 20:20:07 hbsd-os-build-01 mountd[14071]: = after op: ro > END mountd LOG > > The command I ran for those datasets: > > zfs set sharenfs='ro=172.16.1.0/24,-alldirs' rpool/data/build/pub > > (Replace that last argument with the other datasets. The same exact > command was used, just with the dataset changed.) > > The /etc/zfs/exports file contains: > > BEGIN exports > # !!! DO NOT EDIT THIS FILE MANUALLY !!! > > /data/build/pub -ro=172.16.1.0/24 -alldirs > /data/build/pub/13-stable -ro=172.16.1.0/24 -alldirs > /data/build/pub/cross-dso-cfi -ro=172.16.1.0/24 -alldirs > /data/build/pub/current -ro=172.16.1.0/24 -alldirs > END exports === > > I'm a bit unsure of what to do here. I'm not sure if the issue lies in > ZFS or mountd or something else entirely. > > `uname -a` shows: > > FreeBSD hbsd-os-build-01 15.0-CURRENT-HBSD FreeBSD 15.0-CURRENT-HBSD #0 > hardened/current/master-n194236-a8e5e4e37b03: Thu Oct 24 19:49:31 UTC 2024 > root@hbsd-os-build-01:/usr/obj/usr/src/amd64.amd64/sys/HARDENEDBSD amd64 > > Thanks, > > -- > Shawn Webb > Cofounder / Security Engineer > HardenedBSD > > Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50 > https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc
Re: upgrade llvm19 broke drm-6.1 kmod
On October 24, 2024 9:25:35 PM GMT+03:00, Michael Butler wrote: >It seems there are some additional constraints about non-existent directories >that now count as errors .. > >--- sync_file.o --- >cc -O2 -pipe -fno-strict-aliasing -DLINUXKPI_VERSION=60100 >'-DKBUILD_MODNAME="dmabuf"' -DCONFIG_DRM_AMDGPU_CIK -DCONFIG_DRM_AMDGPU_SI >-DCONFIG_DRM_AMD_DC -DCONFIG_DRM_AMD_DC_SI -DCONFIG_AMD_PMC >-DCONFIG_DRM_I915_FORCE_PROBE='"*"' -DCONFIG_DRM_I915_REQUEST_TIMEOUT=2 >-DCONFIG_DRM_I915_CAPTURE_ERROR -DCONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250 >-DCONFIG_DRM_I915_STOP_TIMEOUT=100 -DCONFIG_DRM_I915_PREEMPT_TIMEOUT=640 >-DCONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 >-DCONFIG_DRM_I915_TIMESLICE_DURATION=1 >-DCONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000 >-DCONFIG_DRM_I915_FENCE_TIMEOUT=1 -DCONFIG_DRM_MIPI_DSI >-DCONFIG_DRM_PANEL_ORIENTATION_QUIRKS -DCONFIG_APERTURE_HELPERS >-DCONFIG_DRM_FBDEV_EMULATION -DCONFIG_DRM_FBDEV_OVERALLOC=100 >-DCONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG -DCONFIG_BACKLIGHT_CLASS_DEVICE >-DCONFIG_DEBUG_FS -DCONFIG_DMI -DCONFIG_FB -DCONFIG_MTRR -DCONFIG_PCI >-DCONFIG_PM -DCONFIG_PM_SLEEP -DCONFIG_SMP -DCONFIG_SUSPEND -DCONFIG_ACPI >-DCONFIG_ACPI_SLEEP -DCONFIG_X86 -DCONFIG_X86_PAT -DCONFIG_64BIT >-DCONFIG_AS_MOVNTDQA -DCONFIG_COMPAT -DCONFIG_X86_64 -DCONFIG_DRM_AMD_DC_DCN >-DCONFIG_DRM_AMD_DC_DCN3_0 -DCONFIG_DRM_AMD_DC_DCN3_01 >-DCONFIG_DRM_AMD_DC_DCN3_02 -DCONFIG_DRM_AMD_DC_DCN3_1 -Werror -D_KERNEL >-DKLD_MODULE -nostdinc >-I/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/gplv2/include > >-I/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/bsd/include > -I/usr/src/sys/compat/linuxkpi/common/include >-I/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/dummy/include > -I/usr/src/sys/compat/linuxkpi/dummy/include -include >/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/obj/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/dmabuf/opt_global.h > -I. -I/usr/src/sys -I/usr/src/sys/contrib/ck/include -fno-common >-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer >-fdebug-prefix-map=./machine=/usr/src/sys/amd64/include >-fdebug-prefix-map=./x86=/usr/src/sys/x86/include >-fdebug-prefix-map=./i386=/usr/src/sys/i386/include -MD >-MF.depend.sync_file.o -MTsync_file.o -mcmodel=kernel -mno-red-zone -mno-mmx >-mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fwrapv >-fstack-protector -Wall -Wstrict-prototypes -Wmissing-prototypes >-Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign >-D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs >-fdiagnostics-show-option -Wno-unknown-pragmas -Wswitch >-Wno-error=tautological-compare -Wno-error=empty-body >-Wno-error=parentheses-equality -Wno-error=unused-function >-Wno-error=pointer-sign -Wno-error=shift-negative-value >-Wno-address-of-packed-member -Wno-format-zero-length -mno-aes -mno-avx >-std=gnu99 -c >/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/drivers/dma-buf/sync_file.c > -o sync_file.o >--- dma-fence-chain.o --- >cc: error: no such include directory: >'/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/dummy/include' > [-Werror,-Wmissing-include-dirs] >--- dma-fence.o --- >cc: error: no such include directory: >'/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/dummy/include' > [-Werror,-Wmissing-include-dirs] >--- sync_file.o --- >cc: error: no such include directory: >'/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/dummy/include' > [-Werror,-Wmissing-include-dirs] >--- dma-buf.o --- >cc: error: no such include directory: >'/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/dummy/include' > [-Werror,-Wmissing-include-dirs] >--- dma-buf-kmod.o --- >cc: error: no such include directory: >'/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/dummy/include' > [-Werror,-Wmissing-include-dirs] >--- dma-resv.o --- >cc: error: no such include directory: >'/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/dummy/include' > [-Werror,-Wmissing-include-dirs] >--- dma-fence-unwrap.o --- >cc: error: no such include directory: >'/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/dummy/include' > [-Werror,-Wmissing-include-dirs] >--- dma-fence-array.o --- >cc: error: no such include directory: >'/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/linuxkpi/dummy/include' > [-Werror,-Wmissing-include-dirs] >--- dma-resv.o --- >*** [dma-resv.o] Error code 1 > >make[1]: stopped making "all" in >/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/dmabuf >--- sync_file.o --- >*** [sync_file.o] Error code 1 > >make[1]: stopped making "all" in >/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.92_0/dmabuf >--- dma-fence-unwrap.o --- >*** [dma-fence-unwrap.o] Error code 1 > > The following workaround did the trick for me. Works for drm-515 too and probably 510?