diff options
author | Nicholas Bellinger <nab@linux-iscsi.org> | 2015-02-11 18:34:40 -0800 |
---|---|---|
committer | Jiri Slaby <jslaby@suse.cz> | 2015-03-12 11:10:03 +0100 |
commit | b18b42fe0a23ff7607cfec88ede23a57e53bec66 (patch) | |
tree | d387dd2c457900ac2c7a1454ef82a738faaf724f /include | |
parent | cfa1450a6d7f9a841b77b7411c5a9787b6ba7f6e (diff) |
target: Fix PR_APTPL_BUF_LEN buffer size limitation
commit f161d4b44d7cc1dc66b53365215227db356378b1 upstream.
This patch addresses the original PR_APTPL_BUF_LEN = 8k limitiation
for write-out of PR APTPL metadata that Martin has recently been
running into.
It changes core_scsi3_update_and_write_aptpl() to use vzalloc'ed
memory instead of kzalloc, and increases the default hardcoded
length to 256k.
It also adds logic in core_scsi3_update_and_write_aptpl() to double
the original length upon core_scsi3_update_aptpl_buf() failure, and
retries until the vzalloc'ed buffer is large enough to accommodate
the outgoing APTPL metadata.
Reported-by: Martin Svec <martin.svec@zoner.cz>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'include')
-rw-r--r-- | include/target/target_core_base.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h index 23bfd1028457..38647a3441c9 100644 --- a/include/target/target_core_base.h +++ b/include/target/target_core_base.h @@ -378,7 +378,7 @@ struct t10_reservation { /* Activate Persistence across Target Power Loss enabled * for SCSI device */ int pr_aptpl_active; -#define PR_APTPL_BUF_LEN 8192 +#define PR_APTPL_BUF_LEN 262144 u32 pr_generation; spinlock_t registration_lock; spinlock_t aptpl_reg_lock; |