Skip to content
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

Debian-2.6.32 _LP64 compile issue #125

Closed
lundman opened this issue Feb 25, 2011 · 3 comments
Closed

Debian-2.6.32 _LP64 compile issue #125

lundman opened this issue Feb 25, 2011 · 3 comments

Comments

@lundman
Copy link
Contributor

lundman commented Feb 25, 2011

Hello, fresh Debian 6 install:

Linux huge 2.6.32-5-686 #1 SMP Wed Jan 12 04:01:41 UTC 2011 i686 GNU/Linux

spl-0.60rc1 compiles and insmod without issue.

zfs-0.60rc1 fails to compile due to:

/home/lundman/zfs/zfs-0.6.0-rc1/module/zfs/../../module/zfs/zfs_znode.c: In function ‘zfs_expldev’:
/home/lundman/zfs/zfs-0.6.0-rc1/module/zfs/../../module/zfs/zfs_znode.c:237: error: ‘NBITSMINOR32’ undeclared (first use in this function)
/home/lundman/zfs/zfs-0.6.0-rc1/module/zfs/../../module/zfs/zfs_znode.c:237: error: (Each undeclared identifier is reported only once
/home/lundman/zfs/zfs-0.6.0-rc1/module/zfs/../../module/zfs/zfs_znode.c:237: error: for each function it appears in.)
/home/lundman/zfs/zfs-0.6.0-rc1/module/zfs/../../module/zfs/zfs_znode.c:237: error: ‘MAXMAJ32’ undeclared (first use in this function)
/home/lundman/zfs/zfs-0.6.0-rc1/module/zfs/../../module/zfs/zfs_znode.c:239: error: ‘MAXMIN32’ undeclared (first use in this function)
make[7]: *** [/home/lundman/zfs/zfs-0.6.0-rc1/module/zfs/../../module/zfs/zfs_znode.o] Error 1

Attempted fix:

#define NBITSMINOR32    16
#define MAXMAJ32        0xffffUL
#define MAXMIN32        0xffffUL

But suspect it is wrong, since:

# ./cmd/zfs/zfs list
NAME        USED  AVAIL  REFER  MOUNTPOINT
zpool       150K  63.4M    21K  /zpool

# ls -la /zpool/

 kernel:[ 7261.068011] Oops: 0000 [#4] SMP 
Killed
 kernel:[ 7261.068011] EIP: [] generic_getxattr+0x25/0x5f SS:ESP 0068:c2d63e4c

Thanks for this work!

@behlendorf
Copy link
Contributor

Your in luck, I just took care of these fixes earlier in the week. Grab the spl master branch, and the zfs linux-compat branch. These fixes are just getting a little more testing before being merged in to what will be tagged as 0.6.0-rc2. If you could give them a test on Debian that would be great.

https://github.com/behlendorf/spl/tarball/master

https://github.com/behlendorf/zfs/tarball/linux-compat

@lundman
Copy link
Contributor Author

lundman commented Feb 25, 2011

Sweet. I checked out master of spl, and linux-compat of zfs:

behlendorf-spl-5a52a78 
behlendorf-zfs-61da501

and both spl and zfs build without any issues at all. (excluding that I use --with-spl= to the spl build tree).

Alas, the ls bug is still present:

# ./cmd/zpool/zpool create -f zpool /var/tmp/disk1.bin 
root@huge:/home/lundman/zfs/behlendorf-zfs-61da501# ./cmd/zpool/zpool status  pool: zpool
 state: ONLINE
 scan: none requested
config:

        NAME                  STATE     READ WRITE CKSUM
        zpool                 ONLINE       0     0     0
          /var/tmp/disk1.bin  ONLINE       0     0     0


# ./cmd/zfs/zfs list
NAME    USED  AVAIL  REFER  MOUNTPOINT
zpool  85.5K  63.4M    21K  /zpool

# mkdir /zpool/roger
# rmdir /zpool/roger
# ./cmd/zfs/zfs create zpool/roger
# cp zfs.spec /zpool/
# cp /zpool/zfs.spec p
# diff p zfs.spec
# \ls /zpool
roger  zfs.spec

# \ls -l /zpool

Message from syslogd@huge at Feb 25 15:12:29 ...
 kernel:[  338.632017] Oops: 0000 [#4] SMP 
Killed
 kernel:[  338.632017] last sysfs file: /sys/devices/virtual/zpios/zpios/uevent
 kernel:[  338.632017] Process ls (pid: 1552, ti=f34de000 task=f6402640 task.ti=f34de000)
 kernel:[  338.632017] EIP: [] generic_getxattr+0x25/0x5f SS:ESP 0068:f34dfe4c

Still, very impressive. As long as I don't want to stat() the file, it is fully usable! :)

@behlendorf
Copy link
Contributor

Great, I'm closing this bug for the build issue and I'll open a new one for your 'ls' crash. Based on the small bit you posted it looks like it's related to xattrs.

kernelOfTruth pushed a commit to kernelOfTruth/zfs that referenced this issue Mar 1, 2015
Ensure the test thread blocks until the shrinker has completed its
work.  This is done by putting the test thread to sleep and waking
it each time the shrinker callback runs.  Once the shrinker size
drops to zero or we time out the test is allowed to proceed.

Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#96
Closes openzfs#125
Closes openzfs#182
richardelling pushed a commit to richardelling/zfs that referenced this issue Oct 15, 2018
Moving the code for building cstor images from openebs/cstor
to this openebs/zfs repo. This will ensure that images are
built per commit and CI can be run with these intermediate
images

Also enabled travis builds to run on release branch and
release tags

Signed-off-by: kmova <[email protected]>
sdimitro pushed a commit to sdimitro/zfs that referenced this issue Feb 14, 2022
Non-send locks are implemented with an async_trait, which is ergnomic to
use, but unfortunately requires an additional memory allocation for
every call to the async trait.  This was observed to have a performance
impact (from inspecting CPU flame graphs under a moderate workload).

This change removes the use of async_trait, instead using a plain
function to do the non-send lock.
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants