Smb datastore fixes

This patch should safely modify ```rport``` and ```smbdirect``` without writing to their datastore options. Same type of fix as #3630. If you guys feel this kind of fix is ok to correct direct datastore assignments, my next patch will attempt to fix them all instead of having a bunch of PRs.