From 7b745c84a9f4ad62db4b67053fbceb5d706451af Mon Sep 17 00:00:00 2001 From: Nicholas Bellinger Date: Tue, 19 Feb 2013 17:30:34 -0800 Subject: [PATCH] target/file: Add WRITE_SAME w/ UNMAP=0 emulation support This patch adds support for emulation of WRITE_SAME w/ UNMAP=0 within fd_execute_write_same() backend code. The emulation uses vfs_writev() to submit a locally populated buffer from the received WRITE_SAME scatterlist block for duplication, and by default enforces a limit of max_write_same_len=0x1000 (8192) sectors up to the limit of 1024 iovec entries for the single call to vfs_writev(). It also sets max_write_same_len to the operational default at setup -> fd_configure_device() time. Tested with 512, 1k, 2k, and 4k block_sizes. (asias: convert to vzalloc) Cc: Martin K. Petersen Cc: Christoph Hellwig Cc: Asias He Signed-off-by: Nicholas Bellinger --- Reading git-format-patch failed