From 8fe443a5d82568d33d27f2bf9fc946e6324d46aa Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 11 Nov 2025 09:49:45 +0100 Subject: [SERVER] iscsi: Report read cache enabled; report maximum prefetch ctld is also reporting maximum prefetch values, so let's just do the same. --- src/server/iscsi.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/server') diff --git a/src/server/iscsi.c b/src/server/iscsi.c index 87c0a74..f1199d6 100644 --- a/src/server/iscsi.c +++ b/src/server/iscsi.c @@ -1641,14 +1641,20 @@ static int iscsi_scsi_emu_primary_mode_sense_page(dnbd3_image_t *image, iscsi_sc if ( sub_page != 0U ) break; - iscsi_scsi_mode_sense_caching_mode_page_data_packet *mode_sense_caching_mode_page_pkt = (iscsi_scsi_mode_sense_caching_mode_page_data_packet *) buffer; + iscsi_scsi_mode_sense_caching_mode_page_data_packet *cache_page = (iscsi_scsi_mode_sense_caching_mode_page_data_packet *) buffer; - page_len = sizeof(iscsi_scsi_mode_sense_caching_mode_page_data_packet); + page_len = sizeof(*cache_page); iscsi_scsi_emu_primary_mode_sense_page_init( buffer, page_len, page, sub_page ); - if ( (buffer != NULL) && (pc != ISCSI_SCSI_CDB_MODE_SENSE_6_PAGE_CONTROL_CHG_VALUES) ) - mode_sense_caching_mode_page_pkt->flags |= ISCSI_SCSI_MODE_SENSE_CACHING_MODE_PAGE_FLAGS_RCD; + if ( cache_page != NULL ) { + cache_page->flags |= ISCSI_SCSI_MODE_SENSE_CACHING_MODE_PAGE_FLAGS_DISC; + // 0xffff is endian-agnostic, don't need to convert + cache_page->disable_prefetch_xfer_len = 0xffff; + cache_page->min_prefetch = 0xffff; + cache_page->max_prefetch = 0xffff; + cache_page->max_prefetch_ceil = 0xffff; + } len += page_len; -- cgit v1.2.3-55-g7522