Whamcloud - gitweb
LU-12635 build: Support for gcc -Wimplicit-fallthrough
[fs/lustre-release.git] / lustre / target / tgt_handler.c
index c6c7e54..027b05d 100644 (file)
@@ -997,6 +997,13 @@ int tgt_connect(struct tgt_session_info *tsi)
        tsi->tsi_exp->exp_connect_data.ocd_brw_size = reply->ocd_brw_size;
        spin_unlock(&tsi->tsi_exp->exp_lock);
 
+       if (strcmp(tsi->tsi_exp->exp_obd->obd_type->typ_name,
+                  LUSTRE_MDT_NAME) == 0) {
+               rc = req_check_sepol(tsi->tsi_pill);
+               if (rc)
+                       GOTO(out, rc);
+       }
+
        RETURN(0);
 out:
        obd_disconnect(class_export_get(tsi->tsi_exp));
@@ -1029,7 +1036,16 @@ int tgt_obd_ping(struct tgt_session_info *tsi)
 
        ENTRY;
 
-       rc = target_handle_ping(tgt_ses_req(tsi));
+       /* The target-specific part of OBD_PING request handling.
+        * It controls Filter Modification Data (FMD) expiration each time
+        * PING is received.
+        *
+        * Valid only for replayable targets, e.g. MDT and OFD
+        */
+       if (tsi->tsi_exp->exp_obd->obd_replayable)
+               tgt_fmd_expire(tsi->tsi_exp);
+
+       rc = req_capsule_server_pack(tsi->tsi_pill);
        if (rc)
                RETURN(err_serious(rc));
 
@@ -1862,7 +1878,7 @@ static void dump_all_bulk_pages(struct obdo *oa, int count,
                kunmap(local_nb[i].lnb_page);
        }
 
-       rc = ll_vfs_fsync_range(filp, 0, LLONG_MAX, 1);
+       rc = vfs_fsync_range(filp, 0, LLONG_MAX, 1);
        if (rc)
                CERROR("%s: sync returns %d\n", dbgcksum_file_name, rc);
        filp_close(filp, NULL);
@@ -2372,7 +2388,7 @@ out_lock:
 EXPORT_SYMBOL(tgt_brw_read);
 
 static int tgt_shortio2pages(struct niobuf_local *local, int npages,
-                            unsigned char *buf, int size)
+                            unsigned char *buf, unsigned int size)
 {
        int     i, off, len;
        char    *ptr;
@@ -2570,7 +2586,7 @@ int tgt_brw_write(struct tgt_session_info *tsi)
        if (rc < 0)
                GOTO(out_lock, rc);
        if (body->oa.o_flags & OBD_FL_SHORT_IO) {
-               int short_io_size;
+               unsigned int short_io_size;
                unsigned char *short_io_buf;
 
                short_io_size = req_capsule_get_size(&req->rq_pill,