Changes since 1.5.0.rev17

-   Use long form clientid to persist clientid on storage for V4 recovery.
    Since clientid could be 1024 byte long and contains non printable
    characters we devide the long form clientid into segments of 255
    characters to create a directory sturcture to represent the clientid.

    For example:
    abcdefghijklmn -> abcd/efgh/ijkl/mn

-   In the case of ip move the source node may be still releasing
    the state that we need to acquire. So let us be little patient
    to STATE_LOCK_CONFLICT errors if the lock is a reclaim and we are
    in grace and retry it.

-   Take state for all IPs if g_nodeid = 0.
    This can happen if FSAL_BuildExportContext does not set g_nodeid or
    there are no exports defined, i.e FSAL_BuildExportContext is never
    called.

-   Additional change for clientid persistence in commit
    37478930e402fc9400d361c148a382f2716bfc71

-   In nfs_release_v4_client, ignore stale clientid in hashtable.

-   Add cache for storing exports by id. This helps to avoid lenier search
    going through exports list and saves lot of CPU cycles.

-   resub_all_nlm_blocked mistakenly removed the state
    when lock request is successful.

-   nfs4_read_recov_clids need to handle (skip) malformat.

-   Check if there is any zombie process. If so we don't want to start restart
    due to gpfs inode_update issue

-   Free pevent if ioctl fails in GPFSFSAL_UP_Thread.

-   Set the client permissions for EXPORT_OPTION_NETBIOS_NAME option.

-   nfs4_create_clid_name failed to get the correct clidstr length
    when clientid has opaque char.
nfs4_create_clid_name failed to get the correct clidstr length
when clientid has opaque char.

Signed-off-by: Rong Zeng <rongzeng@us.ibm.com>
2 files changed