SG_WRITE_X(8) SG3_UTILS SG_WRITE_X(8) (NAME) sg_write_x - SCSI WRITE /ATOMIC/SAME/SCATTERED/STREAM ORWRITE (SYNOPSIS) sg_write_x [--16] [--32] [--app-tag=AT] [--atomic=AB] [--bmop=OP,PGP] [--bs=BS] [--combined=DOF] [--dld=DLD] [--dpo] [--dry-run] [--fua] [--generation=EOG,NOG] [--grpnum=GN] [--help] --in=IF [--lba=LBA[,LBA...]] [--normal] [--num=NUM[,NUM...]] [--offset=OFF[,DLEN]] [--or] [--quiet] [--ref-tag=RT] [--same=NDOB] [--scat-file=SF] [--scat-raw] [--scattered=RD] [--stream=ID] [--strict] [--tag-mask=TM] [--timeout=TO] [--unmap=U_A] [--verbose] [--version] [--wrprotect=WPR] DEVICE : sg_write_x --normal --in=IF [--16] [--32] [--app-tag=AT] [--bs=BS] [--dld=DLD] [--dpo] [--fua] [--grpnum=GN] [--lba=LBA] [--num=NUM] [--offset=OFF[,DLEN]] [--ref-tag=RT] [--strict] [--tag-mask=TM] [--timeout=TO] [--wrprotect=WPR] DEVICE sg_write_x --or --in=IF [--16] [--32] [--bmop=OP,PGP] [--bs=BS] [--dpo] [--fua] [--generation=EOG,NOG] [--grpnum=GN] [--lba=LBA] [--num=NUM] [--offset=OFF[,DLEN]] [--strict] [--timeout=TO] [--wrprotect=OPR] DEVICE sg_write_x --atomic=AB --in=IF [--16] [--32] [--app-tag=AT] [--bs=BS] [--dpo] [--fua] [--grpnum=GN] [--lba=LBA] [--num=NUM] [--offset=OFF[,DLEN]] [--ref-tag=RT] [--strict] [--timeout=TO] [--wrprotect=WPR] DEVICE sg_write_x --same=NDOB [--16] [--32] [--app-tag=AT] [--bs=BS] [--dpo] [--fua] [--grpnum=GN] [--in=IF] [--lba=LBA] [--num=NUM] [--offset=OFF[,DLEN]] [--ref-tag=RT] [--strict] [--timeout=TO] [--unmap=U_A] [--wrprotect=WPR] DEVICE sg_write_x --scattered=RD --in=IF [--16] [--32] [--app-tag=AT] [--bs=BS] [--dld=DLD] [--dpo] [--fua] [--grpnum=GN] [--lba=LBA[,LBA...]] [--num=NUM[,NUM...]] [--offset=OFF[,DLEN]] [--ref-tag=RT] [--scat-file=SF] [--scat-raw] [--strict] [--tag-mask=TM] [--timeout=TO] [--wrprotect=WPR] DEVICE sg_write_x --stream=ID --in=IF [--16] [--32] [--app-tag=AT] [--bs=BS] [--dpo] [--fua] [--grpnum=GN] [--lba=LBA] [--num=NUM] [--offset=OFF[,DLEN]] [--ref-tag=RT] [--strict] [--tag-mask=TM] [--timeout=TO] [--wrprotect=WPR] DEVICE (DESCRIPTION) SCSI DEVICE . WRITE "" ORWRITE WRITE ATOMIC WRITE SAME WRITE SCATTERED WRITE STREAM. . ( WRITE(10)) . ORWRITE(32) DEVICE (PI) ( ) . . () . SCSI . WRITE "" . --scat-file=SF WRITE SCATTERED . --scat-file=SF --lba=LBA[,LBA...] --num=NUM[,NUM...] . --lba=LBA[,LBA...] --num=NUM[,NUM...] ( ( ) --scat-file=SF) WRITE SCATTERED . --dry-run --verbose . --bs=BS BS . . --bs=BS BS SCSI READ CAPACITY . READ CAPACITY(16) . PROT_EN --wrprotect=WPR () . READ CAPACITY(16) READ CAPACITY(10) . IF ( NUM NUM) . IF --strict SG_LIB_FILE_ERROR . IF --strict " " . . . SCSI . RAM atomic ( rollback ). VPD (0xb0) . LBA ( ) PI LBA NUM . LBA PI RT AT TM (: RT AT TM ). . SBC-4 LBA . RD --scattered=RD . LBA cdb WRITE SCATTERED . LBA . SBC-4 (T10/BSR INCITS 506-2021) SBC-5 INCITS 571 . SCSI . WRITE ATOMIC SBC-4 WRITE STREAM SBC-4 WRITE SCATTERED SBC-4 SBC-3 . (OPTIONS) . . -6, --16 cdb SCSI . () SCSI WRITE(16) . --32 . -3, --32 cdb SCSI . () SCSI WRITE(32) . --16 --16 . --16 . ORWRITE(32) cdb DEVICE . -a, --app-tag=AT AT " " cdb ( ORWRITE(32)). AT 0xffff . 0xffff . -A, --atomic=AB WRITE ATOMIC AB (Atomic Boundary) cdb . 0xffff . . -B, --bmop=OP,PGP OP PGP BMOP ' ' (Previous Generation Processing) ORWRITE(32) . BMOP ( ) PGP ( ). . -b, --bs=BS BS . . BS SCSI READ CAPACITY(16) DEVICE . READ CAPACITY(10) . READ CAPACITY . BS . BS () --strict . BS ( ) BS ( ). BS ( ) BS ( ) BS ( ) . --wrprotect=WPR . -c, --combined=DOF WRITE SCATTERED IF --in=IF . LBA . --lba=LBA[,LBA...] --num=NUM[,NUM...] --scat-file=SF . DOF ' ' cdb WRITE SCATTERED . . (PI) . WPR ( --wrprotect=WPR) PI . SBC-4 DOF . --strict --in=IF "" DEVICE . DOF IF RD LBA RD LBA . -D, --dld=DLD DLD cdb SCSI WRITE(16) WRITE SCATTERED(16) . DLD . DLD0 WRITE(16) WRITE SCATTERED(16) (0x1 & DLD) . DLD1 cdb (0x2 & DLD) . DLD2 cdb (0x4 & DLD) . -d, --dpo DPO ( disable page out) cdb . . WRITE SAME . -x, --dry-run SCSI . SCSI READ CAPACITY ( ) DEVICE . --in=IF / --scat-file=SF . ( --strict) . ( -xx) SCSI sg_write_x.bin . (truncate) . . . LBA . -f, --fua FUA ( force unit access) cdb . . WRITE SAME . -G, --generation=EOG,NOG ORWRITE(32) . EOG "Expected ORWgeneration" NOG "New ORWgeneration" . . -g, --grpnum=GN ' ' (Group number) GN . . GN . -h, --help . . '-h' '-hhhh' . -i, --in=IF ( ) IF ( : read(2)). SCSI WRITE SCATTERED(16 32) . WRITE SCATTERED (16 32) : ( ) LBA () . WRITE SCATTERED IF --combined=DOF . --combined=DOF IF WRITE SCATTERED . IF OFF ( ) DLEN ( OFF). DLEN IF . --same=1 ( NDOB "No Data Out Buffer" ). /dev/zero . IF "-" (stdin) . --offset=OFF,DLEN OFF LEN ( ) . IF NUM ( ) . -l, --lba=LBA[,LBA...] (LBA) LBA . WRITE SCATTERED LBA . LBA NUM --num=NUM[,NUM...] . LBA NUM LBA ( T10 SBC-4 ). LBA NUM LBA . LBA --scat-file=SF . ( ) NUM . LBA '0x' 'h' . -N, --normal WRITE "" ( ) . ( --atomic=AB) WRITE "" . -n, --num=NUM[,NUM...] (NUM) NUM --lba=LBA[,LBA...] . NUM ( --scat-file=SF) IF ( OFF DLEN) . --combined=DOF LBA ( --lba=LBA --scat-file=SF) NUM . -o, --offset=OFF[,DLEN] OFF IF . OFF IF . DLEN OFF IF . DLEN . DLEN OFF IF . -O, --or ORWRITE . ORWRITE(16) WRITE(16) WRPROTECT ORPROTECT DLD . ORWRITE(32) --bmop=OP,PGP --generation=EOG,NOG . ORWRITE(32) cdb DEVICE PI ( PI ). -Q, --quiet . . -r, --ref-tag=RT RT " " cdb WRITE WRITE ATOMIC WRITE SAME WRITE STREAM . LBA WRITE SCATTERED(32) . 0xffffffff . 0xffffffff . -S, --same=NDOB WRITE SAME NDOB NDOB No Data-Out Buffer . NDOB ( ). --same=1 . -q, --scat-file=SF SF WRITE SCATTERED . --scat-raw SF ( ) LBA . SBC-4 ( big-endian). --scat-raw << >> . --combined=DOF . SF "-" . -R, --scat-raw SF --scat-file=SF WRITE SCATTERED . ( ) SF '#' . . SF . ( WRITE SCATTERED) LBA ( ) . --strict . -S, --scattered=RD WRITE SCATTERED RD LBA . RD ( SF ) . LBA cdb WRITE SCATTERED . cdb LBA LBA number_of_blocks . LBA number_of_blocks RT ( ) AT ( ) TM ( ) . RD . RD LBA --scat-file=SF IF ( --combined=DOF) RD RD " LBA" cdb . RD LBA . -T, --stream=ID WRITE STREAM STR_ID ID . ID 0xffff ( ). -s, --strict ( ) . WRITE SCATTERED . -t, --tag-mask=TM TM " " cdb WRITE WRITE ATOMIC WRITE SAME WRITE STREAM . LBA WRITE SCATTERED(32) . 0xffff . 0xffff . -I, --timeout=TO TO . . NUM WRITE . --tmo=TO . -u, --unmap=U_A U_A OR UNMAP ANCHOR cdb WRITE SAME (16 32) . U_A UNMAP U_A ANCHOR U_A UNMAP ANCHOR . () U_A . -v, --verbose ( ). . -V, --version . -w, --wrprotect=WPR WRPROTECT ( ) sg_write_x ORWRITE ORPROTECT ( OPR ) . WPR . PI . WPR . (SCATTERED FILE ASCII FORMAT) --scat-file=SF --lba=LBA[,LBA...] --num=NUM[,NUM...] . --scat-file=SF --scat-raw SF ( ) LBA ( ) . SF --scat-raw . " " ( SF) . . "0x" ( "0X") "h" . 0x C T10 "h" . "#" . WRITE SCATTERED (16) LBA : LBA number_of_blocks . . LBA number_of_blocks . LBA number_of_blocks ( ) . LBA SF . WRITE SCATTERED (32) LBA : LBA number_of_blocks RT AT TM . (PI) . SF cdb . LBA . (LBA number_of_blocks) RT AT TM ( "ff") . . " " . (NOTES) ( LBA) . "NUMERIC ARGUMENTS" sg3_utils(8) . 3.17 sg cdb . /dev/sg1 sg --32 ( ) . bsg /dev/bsg/6:0:0:1 2.6.28 cdb . (EXIT STATUS) sg_write_x . sg3_utils(8) . (EXAMPLES) ( ) LBA WRITE ATOMIC . cdb cdb ( WRITE ATOMIC(16)): sg_write_x --atomic=0 --in=/dev/zero --lba=0x1234 --num=4 /dev/sdc --bs=BS READ CAPACITY(16) /dev/sdc . READ CAPACITY(16) READ CAPACITY(10) . . ( ) ( ) LBA 0x1234 . () READ CAPACITY --bs=BS : sg_write_x --atomic=0 --bs=512 --in=/dev/zero --lba=0x1234 --num=4 /dev/sdc =bs-- () . ( ) . --32 : sg_write_x --atomic=0 --32 --bs=512 --in=/dev/zero --lba=0x1234 --num=4 /dev/sdc 'sg_write_x --same=NDOB' sg_write_same(8) . . WRITE STREAM(32) STR_ID : sg_write_x --stream=1 --32 --bs=512 --in=/dev/zero --lba=0x1234 --num=4 /dev/sdc WRITE SCATTERED(16) =lba-- =num-- : sg_write_x --scattered=2 --lba=2,0x33 --num=4,1 -i /dev/zero /dev/sg1 WRITE SCATTERED(16) LBA ( =lba-- =num--): sg_write_x --scattered=2 --lba=0,0x33 --num=0,1 -i /dev/zero /dev/sg1 WRITE SCATTERED(16) scat_file.txt: sg_write_x --scattered=3 -q scat_file.txt -i /dev/zero /dev/sg1 WRITE SCATTERED(16) . =scattered-- LBA scat_data.bin ( =combined-- ): sg_write_x --scattered=0 --combined=2 -i scat_data.bin /dev/sg1 -xx WRITE SCATTERED sg_write_x.bin . WRITE SCATTERED . : $ sg_write_x --scattered=3 -q scat_file.txt -xx -i /dev/zero /dev/sg1 Wrote 8192 bytes to sg_write_x.bin, LB data offset: 1 Number of LBA range descriptors: 3 sg_write_x --scattered=0 --combined=1 -i sg_write_x.bin /dev/sg1 sg_write_x.bin ( ) . ":LB data offset" (1) ( ) =combined-- . (AUTHORS) Douglas Gilbert. (REPORTING BUGS) . (COPYRIGHT) (C) 2017-2023 Douglas Gilbert BSD-2-Clause . . (SEE ALSO) sg_readcap,sg_vpd,sg_write_same,sg_stream_ctl(sg3_utils) sg3_utils-1.48 May 2023 SG_WRITE_X(8)