diff options
author | Michael Holzheu <holzheu@de.ibm.com> | 2007-08-22 13:51:41 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-08-22 13:51:48 +0200 |
commit | 8127a1f80a002d02a30909ddf6187faedf89e00a (patch) | |
tree | 754edbf66f6d27b25ac6816e986669cca14c504a /drivers/s390/char/vmur.h | |
parent | [S390] vmur: fix diag14 exceptions with addresses > 2GB. (diff) | |
download | linux-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.h | 1 |
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 */ }; /* |