s390/qdio: warn about unexpected SLSB states
[linux-2.6-microblaze.git] / fs / cifs / fscache.c
index ea6ace9..da68818 100644 (file)
@@ -96,6 +96,7 @@ void cifs_fscache_get_super_cookie(struct cifs_tcon *tcon)
 {
        struct TCP_Server_Info *server = tcon->ses->server;
        char *sharename;
+       struct cifs_fscache_super_auxdata auxdata;
 
        sharename = extract_sharename(tcon->treeName);
        if (IS_ERR(sharename)) {
@@ -104,11 +105,16 @@ void cifs_fscache_get_super_cookie(struct cifs_tcon *tcon)
                return;
        }
 
+       memset(&auxdata, 0, sizeof(auxdata));
+       auxdata.resource_id = tcon->resource_id;
+       auxdata.vol_create_time = tcon->vol_create_time;
+       auxdata.vol_serial_number = tcon->vol_serial_number;
+
        tcon->fscache =
                fscache_acquire_cookie(server->fscache,
                                       &cifs_fscache_super_index_def,
                                       sharename, strlen(sharename),
-                                      &tcon->resource_id, sizeof(tcon->resource_id),
+                                      &auxdata, sizeof(auxdata),
                                       tcon, 0, true);
        kfree(sharename);
        cifs_dbg(FYI, "%s: (0x%p/0x%p)\n",
@@ -117,8 +123,15 @@ void cifs_fscache_get_super_cookie(struct cifs_tcon *tcon)
 
 void cifs_fscache_release_super_cookie(struct cifs_tcon *tcon)
 {
+       struct cifs_fscache_super_auxdata auxdata;
+
+       memset(&auxdata, 0, sizeof(auxdata));
+       auxdata.resource_id = tcon->resource_id;
+       auxdata.vol_create_time = tcon->vol_create_time;
+       auxdata.vol_serial_number = tcon->vol_serial_number;
+
        cifs_dbg(FYI, "%s: (0x%p)\n", __func__, tcon->fscache);
-       fscache_relinquish_cookie(tcon->fscache, &tcon->resource_id, false);
+       fscache_relinquish_cookie(tcon->fscache, &auxdata, false);
        tcon->fscache = NULL;
 }