[LU-2069] Cannot start ZFS-backed OST: "Can't find fsfilt_osd-zfs interface" Created: 01/Oct/12  Updated: 08/Oct/12  Resolved: 08/Oct/12

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.4.0
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Prakash Surya (Inactive) Assignee: Mikhail Pershin
Resolution: Fixed Votes: 0
Labels: topsequoia
Environment:

Lustre OSS: 2.3.51-2chaos


Severity: 3
Rank (Obsolete): 4322

 Description   

After upgrading our ZFS-backed servers to 2.3.51-2chaos, I'm unable to start the OST:

LustreError: 6295:0:(fsfilt.c:122:fsfilt_get_ops()) Can't find fsfilt_osd-zfs interface
LustreError: 6295:0:(filter.c:2324:filter_setup()) lstest-OST0181: filter_common_setup failed: -256.
LustreError: 6295:0:(obd_config.c:572:class_setup()) setup lstest-OST0181 failed (-256)
LustreError: 6295:0:(obd_config.c:1545:class_config_llog_handler()) MGC172.20.5.2@o2ib500: cfg command failed: rc = -256
Lustre:    cmd=cf003 0:lstest-OST0181  1:dev  2:0  3:f  
LustreError: 15c-8: MGC172.20.5.2@o2ib500: The configuration from log 'lstest-OST0181' failed (-256). This may be the result of communication errors between this node and the MGS, a bad configuration, or other errors. See the syslog for more information.
LustreError: 6183:0:(obd_mount.c:1212:server_start_targets()) failed to start server lstest-OST0181: -256
Lustre: lstest-OST0181: Unable to start target: -256
LustreError: 6183:0:(obd_config.c:619:class_cleanup()) Device 3 not setup
Lustre: server umount lstest-OST0181 complete
LustreError: 6183:0:(obd_mount.c:2332:lustre_fill_super()) Unable to mount  (-256)


 Comments   
Comment by Andreas Dilger [ 01/Oct/12 ]

This is because the code in master, unlike orion, still has the obdfilter module, in addition to the ofd module. One way to solve this (which we've done for testing on Hyperion) is to manually unload the obdfilter module, and modprobe the ofd module before mounting the OSTs. The test framework loads the modules explicitly, and has a "USE_OFD" environment variable that forces use of ofd, but that isn't helpful for direct mounting.

I suspect it would also be possible to add something to /etc/modprobe.d/lustre.conf that would prefer installation of ofd over obdfilter, but I don't know offhand the details.

The obdfilter module, along with its dependent code (lvfs, fsfilt, etc) will be removed from master shortly.

Comment by Andreas Dilger [ 01/Oct/12 ]

Or Alex...

Comment by Christopher Morrone [ 01/Oct/12 ]

Thanks, Andreas!

Comment by Prakash Surya (Inactive) [ 02/Oct/12 ]

Thanks for the workaround. I was able to bring up the server after a "rmmod obdfilter && modprobe ofd".

Comment by Andreas Dilger [ 02/Oct/12 ]

This could be fixed in a number of ways:

  • easiest thing is to delete the obdfilter code, as soon as ofd testing is working well
  • work out the recipie for /etc/modprobe.d/lustre.conf to force loading of ofd instead of ofd
  • add an explicit modprobe line to mount.lustre when it detects zfs backends

Since #1 is what we want to do anyway, I think that we should just avoid doing extra work to gracefully switch between obdfilter and ofd, and for those few sites that are testing ZFS outside of test-framework in the next week can do the explicit modprobe of ofd if needed. Also, with http://review.whamcloud.com/4148, if --without-ldiskfs is given then the obdfilter code isn't built at all.

Comment by Prakash Surya (Inactive) [ 02/Oct/12 ]

I'm OK with that approach. Once we fix the build system it should be a non issue using the "--without-ldiskfs" option, which works for us.

Comment by Ian Colle (Inactive) [ 08/Oct/12 ]

Patch 4148 landed to master

Generated at Sat Feb 10 01:22:06 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.