summaryrefslogtreecommitdiffstats
path: root/drivers/s390/char/vmur.h
diff options
context:
space:
mode:
authorMichael Holzheu <holzheu@de.ibm.com>2007-08-22 13:51:41 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-08-22 13:51:48 +0200
commit8127a1f80a002d02a30909ddf6187faedf89e00a (patch)
tree754edbf66f6d27b25ac6816e986669cca14c504a /drivers/s390/char/vmur.h
parent[S390] vmur: fix diag14 exceptions with addresses > 2GB. (diff)
downloadlinux-8127a1f80a002d02a30909ddf6187faedf89e00a.tar.xz
linux-8127a1f80a002d02a30909ddf6187faedf89e00a.zip
[S390] vmur: fix reference counting for vmur device structure
When a vmur device is removed due to a detach of the device, currently the ur device structure is freed. Unfortunately it can happen, that there is still a user of the device structure, when the character device is open during the detach process. To fix this, reference counting for the vmur structure is introduced. In addition to that, the online, offline, probe and remove functions are serialized now using a global mutex. Signed-off-by: Michael Holzheu <holzheu@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'drivers/s390/char/vmur.h')
-rw-r--r--drivers/s390/char/vmur.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/s390/char/vmur.h b/drivers/s390/char/vmur.h
index 2b3c564e0472..fa959644735a 100644
--- a/drivers/s390/char/vmur.h
+++ b/drivers/s390/char/vmur.h
@@ -70,6 +70,7 @@ struct urdev {
size_t reclen; /* Record length for *write* CCWs */
int class; /* VM device class */
int io_request_rc; /* return code from I/O request */
+ atomic_t ref_count; /* reference counter */
};
/*