Option 2, change 12550, seems like the best stop-gap measure as of version Patch Set 6. I marked it -1 but my quibbles are pretty minor and easily addressed.
Longer term, we really need to address some a bigger issue with this code, but it doesn't really need to be addressed in this ticket:
We shouldn't call osd_init() at all for client mounts. Better yet, maybe we should split the server mounts out into a separate mount command, e.g. mount.lustre_server. Or maybe even one for each osd type: mount.losd_zfs, mount.losd_ldiskfs.
Patches have landed to Master. Please reopen ticket if more work is still needed.