Communications in the QFileSvr.400 file system

The QFileSvr.400 file system communicates in the following ways.

  • TCP connections with the file server on a target server can be established only if the QSERVER subsystem on the target server is active.
  • SNA LU 6.2 connections are attempted only if there is a locally controlled session that is not in use (for example, a session specifically established for use by the LU 6.2 connection). When establishing LU 6.2 connections, the QFileSvr.400 file system uses a mode of BLANK. On the target system, a job named QPWFSERV is submitted to the QSERVER subsystem. The user profile of this job is defined by the communications entry for the BLANK mode. For more information about LU 6.2 communications, see APPC Programming Link to PDF.
  • File server requests that use TCP as the communications protocol are performed within the context of the job that is issuing the request. File server requests that use SNA as the communications protocol are performed by the IBM i system job Q400FILSVR.
  • If a connection is not yet established with the target server, the QFileSvr.400 file system assumes that the first-level directory represents a TCP/IP host name. The QFileSvr.400 file system goes through the following steps to establish a connection with the target server:
    1. Resolve the remote location name to an IP address.
      Note: The remote location name can be one that resolves to either an IPv4 or an IPv6 address provided that the target system is also at V6R1. In releases earlier than V6R1, only IPv4 addresses are supported.
    2. Connect to the host server's server mapper on well-known port 449 using the resolved IP address. Then send a query to the server mapper for the service name as-file. One of the following occurs as result of the query:
      • If as-file is in the service table on the target server, the server mapper returns the port on which the IBM i file server daemon is listening.
      • If the server mapper is not active on the target server, the default port number for as-file (8473) is used.

      The QFileSvr.400 file system then tries to establish a TCP connection with the IBM i file server daemon on the target server. When the connection is established, QFileSvr.400 exchanges requests and replies with the file server. Within the QSERVER subsystem, the QPWFSERVSO prestart requests take control of the connection. Each prestart job runs under its own user profile.

    3. If the remote location name is not resolved to an IP address, the first-level directory is assumed to be an SNA LU 6.2 name. Therefore, an attempt is made to establish an APPC connection with the IBM i file server.
  • The QFileSvr.400 file system supports two different TCP communication policies, single connection policy and multiple connection policy. For single connection policy, all of the jobs accessing one remote server will share one connection. For multiple connection policy, each job owns one separate connection. Single connection is the default policy. Multiple connection policy allows better concurrency.

    The QFileSvr.400 connection policy could be switched using the following steps:

    1. Add/set the system level environment variable QIBM_RFS_CONNECTION_POLICY to the desired value. The value '1' means multiple connection policy, other values are single connection policy. There is no default value.
    2. Remove all of the child directories under the '/QFileSvr.400' directory. If they are not all removed, the policy switch will fail.
    3. You must log out and log back on to enable the connection policy. The new connection policy will be enabled when you try to access the first remote server.
      Note: SNA only support single connection policy.
  • The QFileSvr.400 file system periodically (every 2 hours) checks to determine if there are any connections that are not being used (for example, no opened files associated with the connection) and for connections that have had no activity during a 2-hour period. If such a connection is found, the connection is ended.
  • The QFileSvr.400 file system cannot detect loops. The following path name is an example of a loop:
       /QFileSvr.400/Remote2/QFileSvr.400/Remote1/QFileSvr.400/Remote2/...

    where Remote1 is the local system. When the path name that contains a loop is specified, the QFileSvr.400 file system returns an error after a brief period of time. The error indicates that a time-out has occurred.

  • The QFileSvr.400 file system will use an existing free session when communicating over SNA. It is necessary to start the mode and establish a session for the QFileSvr.400 to successfully connect to the remote communications system.