Error reported dd'ing close of end of block device with skip

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Error reported dd'ing close of end of block device with skip

Loh, Joe
Hello Folks,
Here's the second part of the problem.  The follow on from a previous
issue observed as reported in "Size difference reported by
/proc/partitions and lseek(SEEK_END) on block device."

Basically, we observed that reading from a block device doing transfer
less than 61440 bytes, i.e. 60 1K blocks, resulted in a cached
read-ahead of 61440 bytes.  We observed a problem when we try reading
towards the end of the block device with transfer size less than 61440
bytes.

Before we illustrate the issue, we wish to know if there is a way in "C"
to open a block device for reading that does not use cached read-ahead
for transfer size less than 61400 bytes?  

We did not see this behavior when we were using the //./physicaldrive#
reference in Cygwin Kernel 1.5.16.  Unfortunately, the
//./physicaldrive# reference has been deprecated in Cygwin Kernel
1.5.18.  This was communicated to us on a previous post under the
subject "Cygwin 1.5.18 and //./PhysicalDrive??"

Ok, on to the behavior we observed.  Using lseek(SEEK_END) to determine
the size of the block device we observed the following with 'dd'.  The
block device we are reading is an 80G device, i.e. 78125000 of
1024-bytes blocks.  The strace capture are listed at the end of this
post.  Note if you use the size as reported by /proc/partitions, you may
or may not see the issue.  In our test machines, for whatever reason,
the size reported in /proc/partitions is smaller than the one reported
by lseek(SEEK_END).  See "Size difference reported by /proc/partitions
and lseek(SEEK_END) on block device."

This works fine:

dd if=/dev/sda count=1 bs=1024 skip=`expr 78125000 - 60` > /dev/null
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.001 seconds, 1.0 MB/s

This failed:

dd if=/dev/sda count=1 bs=1024 skip=`expr 78125000 - 59` > /dev/null
dd: reading `/dev/sda': Permission denied
0+0 records in
0+0 records out
0 bytes (0 B) copied, 40.002 seconds, 0.0 kB/s

Here's the interesting thing to note looking at the strace output.  Note
the full strace output is included at the end of this post.

For the case that works:

   51   26306 [main] dd 720 lseek64: 79999938560 = lseek (0,
79999938560, 1)
   55   26361 [main] dd 720 readv: readv (0, 0x22ED80, 1) blocking,
sigcatchers 4
   44   26405 [main] dd 720 readv: no need to call ready_for_read
   45   26450 [main] dd 720 fhandler_dev_raw::raw_read: read 61440 bytes
from file into buffer
  558   27008 [main] dd 720 fhandler_dev_raw::read_file: 1 (err 0) =
ReadFile (1640, 268507896, to_read 61440, read 61440, 0)
   50   27058 [main] dd 720 fhandler_dev_raw::raw_read: read 1024 bytes
from buffer (rest 60416)

For the case that failed:

   58   26781 [main] dd 2404 lseek64: 79999939584 = lseek (0,
79999939584, 1)
   62   26843 [main] dd 2404 readv: readv (0, 0x22ED80, 1) blocking,
sigcatchers 4
   50   26893 [main] dd 2404 readv: no need to call ready_for_read
   51   26944 [main] dd 2404 fhandler_dev_raw::raw_read: read 61440
bytes from file into buffer
39997806 40024750 [main] dd 2404 fhandler_dev_raw::read_file: 0 (err 27)
= ReadFile (1640, 268507896, to_read 61440, read 0, 0)

In the case that failed, the read-ahead unconditionally reads 61440
bytes without taking into account that the read will result in reading
past the end of the block device.  Hence the read fails.

Strace output for dd if=/dev/sda count=1 bs=1024 skip=`expr 78125000 -
60` > /dev/null

**********************************************
Program name: C:\cygwin\bin\dd.exe (pid 720, ppid 1)
App version:  1005.18, api: 0.132
DLL version:  1005.18, api: 0.132
DLL build:    2005-07-02 20:30
OS version:   Windows NT-5.2
Heap size:    402653184
Date/Time:    2005-12-06 14:21:38
**********************************************
   45     447 [main] dd 720 set_myself: myself->dwProcessId 720
   48     495 [main] dd 720 time: 1133900498 = time (0)
  564    1059 [main] dd 720 environ_init: 0x10010238: !C:=C:\cygwin\bin
   80    1139 [main] dd 720 environ_init: 0x10010250:
ALLUSERSPROFILE=C:\Documents and Settings\All Users
   78    1217 [main] dd 720 environ_init: 0x10010288:
APPDATA=C:\Documents and Settings\Administrator\Application Data
   80    1297 [main] dd 720 environ_init: 0x100102D0: CLIENTNAME=ASTOR
   78    1375 [main] dd 720 environ_init: 0x100102E8:
CLUSTERLOG=C:\WINDOWS\Cluster\cluster.log
   78    1453 [main] dd 720 environ_init: 0x10010318:
COLORFGBG=0;default;15
   77    1530 [main] dd 720 environ_init: 0x10010338: COLORTERM=rxvt-xpm
   78    1608 [main] dd 720 environ_init: 0x10010350:
COMMONPROGRAMFILES=C:\Program Files\Common Files
   78    1686 [main] dd 720 environ_init: 0x10010388:
COMPUTERNAME=P3PANDA
   78    1764 [main] dd 720 environ_init: 0x100103A8:
COMSPEC=C:\WINDOWS\system32\cmd.exe
   77    1841 [main] dd 720 environ_init: 0x100103D0: CVS_RSH=/bin/ssh
   80    1921 [main] dd 720 set_file_api_mode: File APIs set to OEM
   47    1968 [main] dd 720 parse_options: codepage (called func)
   78    2046 [main] dd 720 parse_options: tty 1001
   78    2124 [main] dd 720 parse_options: binmode 65536
   78    2202 [main] dd 720 parse_options: title 1
   83    2285 [main] dd 720 parse_options: returning
   40    2325 [main] dd 720 environ_init: 0x100103E8:
CYGWIN=codepage:oem tty binmode title
   78    2403 [main] dd 720 environ_init: 0x10010460: DISPLAY=:0
   77    2480 [main] dd 720 environ_init: 0x10010470: EDITOR=vi
   78    2558 [main] dd 720 environ_init: 0x10010480:
FP_NO_HOST_CHECK=NO
   81    2639 [main] dd 720 getwinenv: can't set native for HOME= since
no environ yet
   84    2723 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\home\Administrator, no-keep-rel,
no-add-slash)
   45    2768 [main] dd 720 normalize_win32_path:
C:\cygwin\home\Administrator = normalize_win32_path
(C:\cygwin\home\Administrator)
   51    2819 [main] dd 720 mount_info::conv_to_posix_path:
/home/Administrator = conv_to_posix_path (C:\cygwin\home\Administrator)
  116    2935 [main] dd 720 win_env::add_cache: posix
/home/Administrator
   40    2975 [main] dd 720 win_env::add_cache: native
HOME=C:\cygwin\home\Administrator
   40    3015 [main] dd 720 posify: env var converted to
HOME=/home/Administrator
   77    3092 [main] dd 720 environ_init: 0x100104C0:
HOME=/home/Administrator
   78    3170 [main] dd 720 environ_init: 0x10010498: HOMEDRIVE=C:
   80    3250 [main] dd 720 environ_init: 0x10010610:
HOMEPATH=\Documents and Settings\Administrator
   79    3329 [main] dd 720 environ_init: 0x10010648: HOSTNAME=P3PANDA
   77    3406 [main] dd 720 environ_init: 0x10010660:
INFOPATH=/usr/local/info:/usr/share/info:/usr/info:
   78    3484 [main] dd 720 environ_init: 0x10010698:
LOGONSERVER=\\P3PANDA
   78    3562 [main] dd 720 environ_init: 0x100106B8: MAKE_MODE=unix
   78    3640 [main] dd 720 environ_init: 0x100106D0:
MANPATH=/usr/local/man:/usr/share/man:/usr/man::/usr/ssl/man
   78    3718 [main] dd 720 environ_init: 0x10010718:
NUMBER_OF_PROCESSORS=2
   77    3795 [main] dd 720 environ_init: 0x10010738: OLDPWD=/proc
   77    3872 [main] dd 720 environ_init: 0x10010750: OS=Windows_NT
   78    3950 [main] dd 720 getwinenv: can't set native for PATH= since
no environ yet
   49    3999 [main] dd 720 normalize_posix_path: src .
   46    4045 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\home\Administrator, no-keep-rel,
no-add-slash)
   43    4088 [main] dd 720 normalize_win32_path:
C:\cygwin\home\Administrator = normalize_win32_path
(C:\cygwin\home\Administrator)
  103    4191 [main] dd 720 mount_info::conv_to_posix_path:
/home/Administrator = conv_to_posix_path (C:\cygwin\home\Administrator)
   45    4236 [main] dd 720 cwdstuff::get: posix /home/Administrator
   41    4277 [main] dd 720 cwdstuff::get: (/home/Administrator) =
cwdstuff::get (0x22EBC0, 260, 1, 0), errno 0
   42    4319 [main] dd 720 normalize_posix_path: /home/Administrator/ =
normalize_posix_path (.)
   41    4360 [main] dd 720 mount_info::conv_to_win32_path:
conv_to_win32_path (/home/Administrator)
   48    4408 [main] dd 720 set_flags: flags: binary (0x2)
   41    4449 [main] dd 720 mount_info::conv_to_win32_path: src_path
/home/Administrator, dst C:\cygwin\home\Administrator, flags 0xA, rc 0
   95    4544 [main] dd 720 symlink_info::check: not a symlink
   42    4586 [main] dd 720 symlink_info::check: 0 = symlink.check
(C:\cygwin\home\Administrator, 0x22E880) (0xA)
  857    5443 [main] dd 720 set_privilege: 1 = set_privilege ((token
70C) SeChangeNotifyPrivilege, 1)
  177    5620 [main] dd 720 path_conv::check:
this->path(C:\cygwin\home\Administrator), has_acls(1)
   91    5711 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\usr\local\bin, keep-rel, no-add-slash)
   42    5753 [main] dd 720 normalize_win32_path:
C:\cygwin\usr\local\bin = normalize_win32_path (C:\cygwin\usr\local\bin)
   43    5796 [main] dd 720 mount_info::conv_to_posix_path:
/usr/local/bin = conv_to_posix_path (C:\cygwin\usr\local\bin)
   42    5838 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\bin, keep-rel, no-add-slash)
   41    5879 [main] dd 720 normalize_win32_path: C:\cygwin\bin =
normalize_win32_path (C:\cygwin\bin)
   42    5921 [main] dd 720 mount_info::conv_to_posix_path: /usr/bin =
conv_to_posix_path (C:\cygwin\bin)
   41    5962 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\bin, keep-rel, no-add-slash)
   41    6003 [main] dd 720 normalize_win32_path: C:\cygwin\bin =
normalize_win32_path (C:\cygwin\bin)
   41    6044 [main] dd 720 mount_info::conv_to_posix_path: /usr/bin =
conv_to_posix_path (C:\cygwin\bin)
   42    6086 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\usr\X11R6\bin, keep-rel, no-add-slash)
   41    6127 [main] dd 720 normalize_win32_path:
C:\cygwin\usr\X11R6\bin = normalize_win32_path (C:\cygwin\usr\X11R6\bin)
   47    6174 [main] dd 720 mount_info::conv_to_posix_path:
/usr/X11R6/bin = conv_to_posix_path (C:\cygwin\usr\X11R6\bin)
   42    6216 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (c:\WINDOWS\system32, keep-rel, no-add-slash)
   41    6257 [main] dd 720 normalize_win32_path: c:\WINDOWS\system32 =
normalize_win32_path (c:\WINDOWS\system32)
   42    6299 [main] dd 720 mount_info::conv_to_posix_path:
/cygdrive/c/WINDOWS/system32 = conv_to_posix_path (c:\WINDOWS\system32)
   41    6340 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (c:\WINDOWS, keep-rel, no-add-slash)
   41    6381 [main] dd 720 normalize_win32_path: c:\WINDOWS =
normalize_win32_path (c:\WINDOWS)
   42    6423 [main] dd 720 mount_info::conv_to_posix_path:
/cygdrive/c/WINDOWS = conv_to_posix_path (c:\WINDOWS)
   41    6464 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (c:\WINDOWS\System32\Wbem, keep-rel, no-add-slash)
   41    6505 [main] dd 720 normalize_win32_path:
c:\WINDOWS\System32\Wbem = normalize_win32_path
(c:\WINDOWS\System32\Wbem)
   42    6547 [main] dd 720 mount_info::conv_to_posix_path:
/cygdrive/c/WINDOWS/System32/Wbem = conv_to_posix_path
(c:\WINDOWS\System32\Wbem)
   42    6589 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path ("C, keep-rel, no-add-slash)
   41    6630 [main] dd 720 mount_info::conv_to_posix_path: "C =
conv_to_posix_path ("C)
   41    6671 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\Program Files\Symantec\Norton Ghost
2003\", keep-rel, no-add-slash)
   42    6713 [main] dd 720 normalize_win32_path: C:\cygwin\Program
Files\Symantec\Norton Ghost 2003\" = normalize_win32_path
(C:\cygwin\Program Files\Symantec\Norton Ghost 2003\")
   51    6764 [main] dd 720 mount_info::conv_to_posix_path: /Program
Files/Symantec/Norton Ghost 2003/" = conv_to_posix_path
(C:\cygwin\Program Files\Symantec\Norton Ghost 2003\")
   43    6807 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\lib\lapack, keep-rel, no-add-slash)
   42    6849 [main] dd 720 normalize_win32_path: C:\cygwin\lib\lapack =
normalize_win32_path (C:\cygwin\lib\lapack)
   41    6890 [main] dd 720 mount_info::conv_to_posix_path:
/usr/lib/lapack = conv_to_posix_path (C:\cygwin\lib\lapack)
  132    7022 [main] dd 720 win_env::add_cache: posix
/usr/local/bin:/usr/bin:/usr/bin:/usr/X11R6/bin:/cygdrive/c/WINDOWS/syst
em32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:"C:/Program
Files/Symantec/Norton Ghost 2003/":/usr/lib/lapack
   44    7066 [main] dd 720 win_env::add_cache: native
PATH=C:\cygwin\usr\local\bin;C:\cygwin\bin;C:\cygwin\bin;C:\cygwin\usr\X
11R6\bin;c:\WINDOWS\system32;c:\WINDOWS;c:\WINDOWS\System32\Wbem;"C;C:\c
ygwin\Program Files\Symantec\Norton Ghost 2003\";C:\cygwin\lib\lapack
   44    7110 [main] dd 720 posify: env var converted to
PATH=/usr/local/bin:/usr/bin:/usr/bin:/usr/X11R6/bin:/cygdrive/c/WINDOWS
/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:"C:/Prog
ram Files/Symantec/Norton Ghost 2003/":/usr/lib/lapack
   86    7196 [main] dd 720 environ_init: 0x10010848:
PATH=/usr/local/bin:/usr/bin:/usr/bin:/usr/X11R6/bin:/cygdrive/c/WINDOWS
/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:"C:/Prog
ram Files/Symantec/Norton Ghost 2003/":/usr/lib/lapack
   82    7278 [main] dd 720 environ_init: 0x10010768:
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
   79    7357 [main] dd 720 environ_init: 0x100107A8:
PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig
   78    7435 [main] dd 720 environ_init: 0x100107D8: PRINTER=NPICE37B3
on http://192.168.100.17 (from ASTOR) in session 0
   79    7514 [main] dd 720 environ_init: 0x10010828:
PROCESSOR_ARCHITECTURE=x86
   78    7592 [main] dd 720 environ_init: 0x10010C58:
PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 1, GenuineIntel
   79    7671 [main] dd 720 environ_init: 0x10010CA0: PROCESSOR_LEVEL=15
   78    7749 [main] dd 720 environ_init: 0x10010CB8:
PROCESSOR_REVISION=0401
   78    7827 [main] dd 720 environ_init: 0x10010CD8:
PROGRAMFILES=C:\Program Files
   78    7905 [main] dd 720 environ_init: 0x100104B0: PROMPT=$P$G
   77    7982 [main] dd 720 environ_init: 0x10010D00:
PS1=\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$
   79    8061 [main] dd 720 environ_init: 0x10010D48:
PWD=/home/Administrator
   83    8144 [main] dd 720 environ_init: 0x10010D68:
SESSIONNAME=RDP-Tcp#5
   77    8221 [main] dd 720 environ_init: 0x10010D88: SHLVL=1
   77    8298 [main] dd 720 environ_init: 0x10010D98: SYSTEMDRIVE=C:
   77    8375 [main] dd 720 environ_init: 0x10010DB0:
SYSTEMROOT=C:\WINDOWS
   79    8454 [main] dd 720 getwinenv: can't set native for TEMP= since
no environ yet
   77    8531 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp, no-keep-rel,
no-add-slash)
   42    8573 [main] dd 720 normalize_win32_path:
c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp = normalize_win32_path
(c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp)
   42    8615 [main] dd 720 mount_info::conv_to_posix_path:
/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp = conv_to_posix_path
(c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp)
  115    8730 [main] dd 720 win_env::add_cache: posix
/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp
   41    8771 [main] dd 720 win_env::add_cache: native
TEMP=c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
   40    8811 [main] dd 720 posify: env var converted to
TEMP=/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp
   77    8888 [main] dd 720 environ_init: 0x10010E00:
TEMP=/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp
   79    8967 [main] dd 720 environ_init: 0x10010DD0: TERM=xterm
   77    9044 [main] dd 720 environ_init: 0x10010DE0:
TEXDOCVIEW_DVI=cygstart %s
  109    9153 [main] dd 720 environ_init: 0x10010F70:
TEXDOCVIEW_HTML=cygstart %s
   83    9236 [main] dd 720 environ_init: 0x10010F90:
TEXDOCVIEW_PDF=cygstart %s
   79    9315 [main] dd 720 environ_init: 0x10010FB0:
TEXDOCVIEW_PS=cygstart %s
   87    9402 [main] dd 720 environ_init: 0x10010FD0:
TEXDOCVIEW_TXT=cygstart %s
   78    9480 [main] dd 720 getwinenv: can't set native for TMP= since
no environ yet
   78    9558 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp, no-keep-rel,
no-add-slash)
   42    9600 [main] dd 720 normalize_win32_path:
c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp = normalize_win32_path
(c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp)
   43    9643 [main] dd 720 mount_info::conv_to_posix_path:
/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp = conv_to_posix_path
(c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp)
  116    9759 [main] dd 720 win_env::add_cache: posix
/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp
   40    9799 [main] dd 720 win_env::add_cache: native
TMP=c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
   41    9840 [main] dd 720 posify: env var converted to
TMP=/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp
   77    9917 [main] dd 720 environ_init: 0x10011020:
TMP=/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp
   78    9995 [main] dd 720 environ_init: 0x10010FF0: USER=Administrator
   95   10090 [main] dd 720 environ_init: 0x10011008: USERDOMAIN=P3PANDA
   91   10181 [main] dd 720 environ_init: 0x10011190:
USERNAME=Administrator
   97   10278 [main] dd 720 environ_init: 0x100111B0:
USERPROFILE=C:\Documents and Settings\Administrator
   78   10356 [main] dd 720 environ_init: 0x100111E8: VISUAL=vi
   78   10434 [main] dd 720 environ_init: 0x100111F8: WINDIR=C:\WINDOWS
   78   10512 [main] dd 720 environ_init: 0x10011210: WINDOWID=6565432
   77   10589 [main] dd 720 environ_init: 0x10011228: _=/usr/bin/strace
   48   10637 [main] dd 720 pinfo_init: Set nice to 0
   40   10677 [main] dd 720 pinfo_init: pid 720, pgid 720
  741   11418 [main] dd 720 set_privilege: 0 = set_privilege ((token
738) SeRestorePrivilege, 1)
   62   11480 [main] dd 720 set_privilege: 1 = set_privilege ((token
738) SeChangeNotifyPrivilege, 1)
  108   11588 [main] dd 720 dtable::extend: size 32, fds 0x611556C0
   55   11643 [main] dd 720 normalize_posix_path: src /etc/passwd
   41   11684 [main] dd 720 normalize_posix_path: /etc/passwd =
normalize_posix_path (/etc/passwd)
   42   11726 [main] dd 720 mount_info::conv_to_win32_path:
conv_to_win32_path (/etc/passwd)
   42   11768 [main] dd 720 set_flags: flags: binary (0x2)
   42   11810 [main] dd 720 mount_info::conv_to_win32_path: src_path
/etc/passwd, dst C:\cygwin\etc\passwd, flags 0xA, rc 0
   86   11896 [main] dd 720 symlink_info::check: not a symlink
   42   11938 [main] dd 720 symlink_info::check: 0 = symlink.check
(C:\cygwin\etc\passwd, 0x22E830) (0xA)
   44   11982 [main] dd 720 path_conv::check:
this->path(C:\cygwin\etc\passwd), has_acls(1)
  141   12123 [main] dd 720 etc::test_file_change: FindFirstFile
succeeded
  316   12439 [main] dd 720 pwdgrp::load: /etc/passwd curr_lines 6
   43   12482 [main] dd 720 pwdgrp::load: /etc/passwd load succeeded
   59   12541 [main] dd 720 normalize_posix_path: src /etc/group
   41   12582 [main] dd 720 normalize_posix_path: /etc/group =
normalize_posix_path (/etc/group)
   42   12624 [main] dd 720 mount_info::conv_to_win32_path:
conv_to_win32_path (/etc/group)
   41   12665 [main] dd 720 set_flags: flags: binary (0x2)
   41   12706 [main] dd 720 mount_info::conv_to_win32_path: src_path
/etc/group, dst C:\cygwin\etc\group, flags 0xA, rc 0
   73   12779 [main] dd 720 symlink_info::check: not a symlink
   42   12821 [main] dd 720 symlink_info::check: 0 = symlink.check
(C:\cygwin\etc\group, 0x22E7F0) (0xA)
   43   12864 [main] dd 720 path_conv::check:
this->path(C:\cygwin\etc\group), has_acls(1)
  114   12978 [main] dd 720 etc::test_file_change: FindFirstFile
succeeded
  341   13319 [main] dd 720 pwdgrp::load: /etc/group curr_lines 17
   43   13362 [main] dd 720 pwdgrp::load: /etc/group load succeeded
  132   13494 [main] dd 720 internal_getlogin:
SetTokenInformation(TokenPrimaryGroup), Win32 error 1308
   48   13542 [main] dd 720 internal_getlogin:
SetTokenInformation(TokenPrimaryGroup), Win32 error 1308
   42   13584 [main] dd 720 cygheap_user::ontherange: what 2, pw
0x10011528
   44   13628 [main] dd 720 cygheap_user::ontherange: HOME is already in
the environment /home/Administrator
  270   13898 [main] dd 720 sigproc_init: process/signal handling
enabled(1001)
  268   14166 [main] dd 720 tty_list::allocate_tty: console 200A2
already associated with tty0
   14   14180 [sig] dd 720 wait_sig: myself->dwProcessId 720
   57   14237 [main] dd 720 tty_list::allocate_tty: console 0x200A2
associated with tty0
   53   14290 [sig] dd 720 wait_sig: entering ReadFile loop, readsig
0x700, myself->sendsig 0x6F8
 1008   15298 [main] dd 720 build_argv: argv[0] = 'dd'
   61   15359 [main] dd 720 build_argv: argv[1] = 'if=/dev/sda'
   47   15406 [main] dd 720 build_argv: argv[2] = 'count=1'
   44   15450 [main] dd 720 build_argv: argv[3] = 'bs=1024'
   44   15494 [main] dd 720 build_argv: argv[4] = 'skip=78124940'
   44   15538 [main] dd 720 build_argv: argc 5
  139   15677 [main] dd 720 build_fh_pc: fh 0x61155828
   51   15728 [main] dd 720 fhandler_base::set_flags: flags 0x10002,
supplied_bin 0x0
   44   15772 [main] dd 720 fhandler_base::set_flags: O_TEXT/O_BINARY
set in flags 0x10000
   44   15816 [main] dd 720 fhandler_base::set_flags: filemode set to
binary
   43   15859 [main] dd 720 fhandler_base::init: created new
fhandler_base for handle 0x668, bin 1
  285   16144 [main] dd 720 handle_to_fn: nt name '\Device\Null'
  781   16925 [main] dd 720 handle_to_fn: derived path '\Device\Null'
   54   16979 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (\Device\Null, no-keep-rel, no-add-slash)
   47   17026 [main] dd 720 normalize_win32_path: C:\Device\Null =
normalize_win32_path (\Device\Null)
   46   17072 [main] dd 720 mount_info::conv_to_posix_path:
/cygdrive/c/Device/Null = conv_to_posix_path (\Device\Null)
   45   17117 [main] dd 720 normalize_posix_path: src
/cygdrive/c/Device/Null
   43   17160 [main] dd 720 normalize_posix_path:
/cygdrive/c/Device/Null = normalize_posix_path (/cygdrive/c/Device/Null)
   45   17205 [main] dd 720 mount_info::conv_to_win32_path:
conv_to_win32_path (/cygdrive/c/Device/Null)
   46   17251 [main] dd 720 mount_info::cygdrive_win32_path: src
'/cygdrive/c/Device/Null', dst 'c:\Device\Null'
   44   17295 [main] dd 720 set_flags: flags: binary (0x2)
   44   17339 [main] dd 720 mount_info::conv_to_win32_path: src_path
/cygdrive/c/Device/Null, dst c:\Device\Null, flags 0x2A, rc 0
  106   17445 [main] dd 720 symlink_info::check: GetFileAttributes
(c:\Device\Null) failed
   47   17492 [main] dd 720 geterrno_from_win_error: windows error 3 ==
errno 2
   86   17578 [main] dd 720 symlink_info::check: GetFileAttributes
(c:\Device\Null.lnk) failed
   45   17623 [main] dd 720 geterrno_from_win_error: windows error 3 ==
errno 2
   44   17667 [main] dd 720 symlink_info::check: 0 = symlink.check
(c:\Device\Null, 0x2263B0) (0x2A)
   46   17713 [main] dd 720 mount_info::conv_to_win32_path:
conv_to_win32_path (/cygdrive/c/Device)
   45   17758 [main] dd 720 mount_info::cygdrive_win32_path: src
'/cygdrive/c/Device', dst 'c:\Device'
   43   17801 [main] dd 720 set_flags: flags: binary (0x2)
   44   17845 [main] dd 720 mount_info::conv_to_win32_path: src_path
/cygdrive/c/Device, dst c:\Device, flags 0x2A, rc 0
   84   17929 [main] dd 720 symlink_info::check: GetFileAttributes
(c:\Device) failed
   45   17974 [main] dd 720 geterrno_from_win_error: windows error 2 ==
errno 2
   78   18052 [main] dd 720 symlink_info::check: GetFileAttributes
(c:\Device.lnk) failed
   44   18096 [main] dd 720 geterrno_from_win_error: windows error 2 ==
errno 2
   45   18141 [main] dd 720 symlink_info::check: 0 = symlink.check
(c:\Device, 0x2263B0) (0x2A)
   46   18187 [main] dd 720 mount_info::conv_to_win32_path:
conv_to_win32_path (/cygdrive/c)
   44   18231 [main] dd 720 mount_info::cygdrive_win32_path: src
'/cygdrive/c', dst 'c:\'
   52   18283 [main] dd 720 set_flags: flags: binary (0x2)
   42   18325 [main] dd 720 mount_info::conv_to_win32_path: src_path
/cygdrive/c, dst c:\, flags 0x2A, rc 0
   76   18401 [main] dd 720 symlink_info::check: not a symlink
   44   18445 [main] dd 720 symlink_info::check: 0 = symlink.check (c:\,
0x2263B0) (0x2A)
   47   18492 [main] dd 720 path_conv::check:
this->path(c:\Device\Null), has_acls(1)
   47   18539 [main] dd 720 build_fh_pc: fh 0x61155A30
   49   18588 [main] dd 720 fhandler_base::set_flags: flags 0x10002,
supplied_bin 0x0
   42   18630 [main] dd 720 fhandler_base::set_flags: O_TEXT/O_BINARY
set in flags 0x10000
   44   18674 [main] dd 720 fhandler_base::set_flags: filemode set to
binary
   44   18718 [main] dd 720 fhandler_base::init: created new
fhandler_base for handle 0x6C0, bin 1
  134   18852 [main] dd 720 build_fh_pc: fh 0x61155C38
   44   18896 [main] dd 720 fhandler_base::set_flags: flags 0x10002,
supplied_bin 0x0
   44   18940 [main] dd 720 fhandler_base::set_flags: O_TEXT/O_BINARY
set in flags 0x10000
   44   18984 [main] dd 720 fhandler_base::set_flags: filemode set to
binary
   43   19027 [main] dd 720 fhandler_base::init: created new
fhandler_base for handle 0x664, bin 1
  146   19173 [main] dd 720 set_console_title: title 'dd'
  212   19385 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\bin\cygiconv-2.dll, keep-rel,
no-add-slash)
   45   19430 [main] dd 720 normalize_win32_path:
C:\cygwin\bin\cygiconv-2.dll = normalize_win32_path
(C:\cygwin\bin\cygiconv-2.dll)
   46   19476 [main] dd 720 mount_info::conv_to_posix_path:
/usr/bin/cygiconv-2.dll = conv_to_posix_path
(C:\cygwin\bin\cygiconv-2.dll)
  105   19581 [main] dd 720 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\bin\cygintl-3.dll, keep-rel, no-add-slash)
   45   19626 [main] dd 720 normalize_win32_path:
C:\cygwin\bin\cygintl-3.dll = normalize_win32_path
(C:\cygwin\bin\cygintl-3.dll)
   45   19671 [main] dd 720 mount_info::conv_to_posix_path:
/usr/bin/cygintl-3.dll = conv_to_posix_path
(C:\cygwin\bin\cygintl-3.dll)
   85   19756 [main] dd 720 dll_crt0_1: user_data->main 0x402220
   43   19799 [main] dd 720 __set_errno: void dll_crt0_1(char*):880 val
0
   60   19859 [main] dd 720 wait_for_sigthread: wait_sig_inited 0x6FC
  355   20214 [main] dd 720 close: close (0)
   53   20267 [main] dd 720 fhandler_base::close: closing '' handle
0x668
   48   20315 [main] dd 720 close: 0 = close (0)
   50   20365 [main] dd 720 open: open (/dev/sda, 0x10000)
   44   20409 [main] dd 720 normalize_posix_path: src /dev/sda
   42   20451 [main] dd 720 normalize_posix_path: /dev/sda =
normalize_posix_path (/dev/sda)
   45   20496 [main] dd 720 mount_info::conv_to_win32_path:
conv_to_win32_path (/dev/sda)
   51   20547 [main] dd 720 mount_info::conv_to_win32_path: src_path
/dev/sda, dst \Device\Harddisk0\Partition0, flags 0x2, rc 0
   53   20600 [main] dd 720 build_fh_pc: fh 0x61155828
   54   20654 [main] dd 720 fhandler_base::open:
(\Device\Harddisk0\Partition0, 0x10000)
  170   20824 [main] dd 720 fhandler_base::set_flags: flags 0x10000,
supplied_bin 0x10000
   59   20883 [main] dd 720 fhandler_base::set_flags: O_TEXT/O_BINARY
set in flags 0x10000
   59   20942 [main] dd 720 fhandler_base::set_flags: filemode set to
binary
   50   20992 [main] dd 720 fhandler_base::open: 0 = NtCreateFile
(0x668, 80100000, \Device\Harddisk0\Partition0, io, NULL, 0, 7, 1, 20,
NULL, 0)
   52   21044 [main] dd 720 fhandler_base::open: 1 = fhandler_base::open
(\Device\Harddisk0\Partition0, 0x10000)
  147   21191 [main] dd 720 open: 0 = open (/dev/sda, 0x10000)
   66   21257 [main] dd 720 fhandler_dev_floppy::lseek: disk geometry:
(9726 cyl)*(255 trk)*(63 sec)*(512 bps)
  100   21357 [main] dd 720 fhandler_dev_floppy::lseek: partition info:
0 (-1604378624)
   46   21403 [main] dd 720 fhandler_dev_floppy::lseek: drive size:
-1604378624
   50   21453 [main] dd 720 lseek64: 0 = lseek (0, 0, 1)
   59   21512 [main] dd 720 isatty: 0 = isatty (1)
   51   21563 [main] dd 720 fhandler_base::set_flags: flags 0x10002,
supplied_bin 0x0
   44   21607 [main] dd 720 fhandler_base::set_flags: O_TEXT/O_BINARY
set in flags 0x10000
   44   21651 [main] dd 720 fhandler_base::set_flags: filemode set to
binary
   44   21695 [main] dd 720 setmode: (1</cygdrive/c/Device/Null>,
0x10000) returning binary
   45   21740 [main] dd 720 _cygwin_istext_for_stdio: fd 1: opened as
binary
  278   22018 [main] dd 720 setmode_helper: improbable, but 0 != 1
  193   22211 [main] dd 720 setmode_helper: file was binary now binary
  271   22482 [main] dd 720 setmode_helper: improbable, but 2 != 1
  125   22607 [main] dd 720 sigaction: signal 2, newact 0x0, oa 0x0
   44   22651 [main] dd 720 sigaction: signal 2, newact 0x22ED80
(handler 0x401850), oa 0x0
   45   22696 [main] dd 720 sigaction: signal 3, newact 0x0, oa 0x0
   44   22740 [main] dd 720 sigaction: signal 3, newact 0x22ED80
(handler 0x401850), oa 0x0
   47   22787 [main] dd 720 sigaction: signal 13, newact 0x0, oa 0x0
   44   22831 [main] dd 720 sigaction: signal 13, newact 0x22ED80
(handler 0x401850), oa 0x0
   46   22877 [main] dd 720 sigaction: signal 30, newact 0x0, oa 0x0
   45   22922 [main] dd 720 sigaction: signal 30, newact 0x22ED80
(handler 0x4018B0), oa 0x0
 3184   26106 [main] dd 720 fhandler_dev_floppy::lseek: disk geometry:
(9726 cyl)*(255 trk)*(63 sec)*(512 bps)
  103   26209 [main] dd 720 fhandler_dev_floppy::lseek: partition info:
0 (-1604378624)
   46   26255 [main] dd 720 fhandler_dev_floppy::lseek: drive size:
-1604378624
   51   26306 [main] dd 720 lseek64: 79999938560 = lseek (0,
79999938560, 1)
   55   26361 [main] dd 720 readv: readv (0, 0x22ED80, 1) blocking,
sigcatchers 4
   44   26405 [main] dd 720 readv: no need to call ready_for_read
   45   26450 [main] dd 720 fhandler_dev_raw::raw_read: read 61440 bytes
from file into buffer
  558   27008 [main] dd 720 fhandler_dev_raw::read_file: 1 (err 0) =
ReadFile (1640, 268507896, to_read 61440, read 61440, 0)
   50   27058 [main] dd 720 fhandler_dev_raw::raw_read: read 1024 bytes
from buffer (rest 60416)
   47   27105 [main] dd 720 fhandler_base::read: returning 1024, binary
mode
   44   27149 [main] dd 720 readv: 1024 = readv (0, 0x22ED80, 1), errno
0
   86   27235 [main] dd 720 fhandler_base::write: binary write
  128   27363 [main] dd 720 close: close (0)
   43   27406 [main] dd 720 fhandler_base::close: closing '/dev/sda'
handle 0x668
  108   27514 [main] dd 720 close: 0 = close (0)
   44   27558 [main] dd 720 close: close (1)
   44   27602 [main] dd 720 fhandler_base::close: closing
'/cygdrive/c/Device/Null' handle 0x6C0
   57   27659 [main] dd 720 close: 0 = close (1)
  297   27956 [main] dd 720 fhandler_base::write: binary write
  369   28325 [main] dd 720 fhandler_base::write: binary write
  394   28719 [main] dd 720 fhandler_base::write: binary write
  635   29354 [main] dd 720 fhandler_base::write: binary write
  327   29681 [main] dd 720 close: close (0)
   51   29732 [main] dd 720 __set_errno:
cygheap_fdget::cygheap_fdget(int, bool, bool):387 val 9
   47   29779 [main] dd 720 close: -1 = close (0)
  346   30125 [main] dd 720 close: close (1)
   43   30168 [main] dd 720 __set_errno:
cygheap_fdget::cygheap_fdget(int, bool, bool):387 val 9
   44   30212 [main] dd 720 close: -1 = close (1)
  346   30558 [main] dd 720 close: close (2)
  262   30820 [main] dd 720 fhandler_base::close: closing '' handle
0x664
   61   30881 [main] dd 720 close: 0 = close (2)
  224   31105 [main] dd 720 do_exit: do_exit (0), exit_state 0
   51   31156 [main] dd 720 void: 0x0 = signal (20, 0x1)
   49   31205 [main] dd 720 void: 0x0 = signal (1, 0x1)
   50   31255 [main] dd 720 void: 0x401850 = signal (2, 0x1)
   51   31306 [main] dd 720 void: 0x401850 = signal (3, 0x1)
   47   31353 [main] dd 720 sigproc_terminate: entering
   58   31411 [main] dd 720 proc_terminate: nprocs 0
    4   31415 [sig] dd 720 wait_sig: done
   43   31458 [main] dd 720 proc_terminate: leaving
  107   31565 [sig] dd 720 _cygtls::remove: wait 0x0
  172   31737 [main] dd 720 set_console_title: title 'rxvt00000600'
   54   31791 [main] dd 720 do_exit: 720 == sid 720, send SIGHUP to
children
   75   31866 [main] dd 720 sigproc_terminate: sigproc handling not
active
   40   31906 [main] dd 720 proc_terminate: nprocs 0
   40   31946 [main] dd 720 proc_terminate: leaving
   43   31989 [main] dd 720 __to_clock_t: dwHighDateTime 0,
dwLowDateTime 0
   40   32029 [main] dd 720 __to_clock_t: total 00000000 00000000
   41   32070 [main] dd 720 __to_clock_t: dwHighDateTime 0,
dwLowDateTime 0
   40   32110 [main] dd 720 __to_clock_t: total 00000000 00000000
   96   32206 [main] dd 720 pinfo::maybe_set_exit_code_from_windows: pid
720, exit value - old 0x80000000, windows 0xDEADBEEF, cygwin 0x80000000


Strace output for dd if=/dev/sda count=1 bs=1024 skip=`expr 78125000 -
59` > /dev/null

**********************************************
Program name: C:\cygwin\bin\dd.exe (pid 2404, ppid 1)
App version:  1005.18, api: 0.132
DLL version:  1005.18, api: 0.132
DLL build:    2005-07-02 20:30
OS version:   Windows NT-5.2
Heap size:    402653184
Date/Time:    2005-12-06 14:24:19
**********************************************
   45     442 [main] dd 2404 set_myself: myself->dwProcessId 2404
   47     489 [main] dd 2404 time: 1133900659 = time (0)
  554    1043 [main] dd 2404 environ_init: 0x10010238: !C:=C:\cygwin\bin
  150    1193 [main] dd 2404 environ_init: 0x10010250:
ALLUSERSPROFILE=C:\Documents and Settings\All Users
   89    1282 [main] dd 2404 environ_init: 0x10010288:
APPDATA=C:\Documents and Settings\Administrator\Application Data
   79    1361 [main] dd 2404 environ_init: 0x100102D0: CLIENTNAME=ASTOR
   78    1439 [main] dd 2404 environ_init: 0x100102E8:
CLUSTERLOG=C:\WINDOWS\Cluster\cluster.log
   78    1517 [main] dd 2404 environ_init: 0x10010318:
COLORFGBG=0;default;15
   77    1594 [main] dd 2404 environ_init: 0x10010338:
COLORTERM=rxvt-xpm
   77    1671 [main] dd 2404 environ_init: 0x10010350:
COMMONPROGRAMFILES=C:\Program Files\Common Files
   78    1749 [main] dd 2404 environ_init: 0x10010388:
COMPUTERNAME=P3PANDA
   78    1827 [main] dd 2404 environ_init: 0x100103A8:
COMSPEC=C:\WINDOWS\system32\cmd.exe
   77    1904 [main] dd 2404 environ_init: 0x100103D0: CVS_RSH=/bin/ssh
   80    1984 [main] dd 2404 set_file_api_mode: File APIs set to OEM
   49    2033 [main] dd 2404 parse_options: codepage (called func)
   78    2111 [main] dd 2404 parse_options: tty 1001
   77    2188 [main] dd 2404 parse_options: binmode 65536
   79    2267 [main] dd 2404 parse_options: title 1
   77    2344 [main] dd 2404 parse_options: returning
   40    2384 [main] dd 2404 environ_init: 0x100103E8:
CYGWIN=codepage:oem tty binmode title
   77    2461 [main] dd 2404 environ_init: 0x10010460: DISPLAY=:0
   77    2538 [main] dd 2404 environ_init: 0x10010470: EDITOR=vi
   77    2615 [main] dd 2404 environ_init: 0x10010480:
FP_NO_HOST_CHECK=NO
   83    2698 [main] dd 2404 getwinenv: can't set native for HOME= since
no environ yet
   84    2782 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\home\Administrator, no-keep-rel,
no-add-slash)
   45    2827 [main] dd 2404 normalize_win32_path:
C:\cygwin\home\Administrator = normalize_win32_path
(C:\cygwin\home\Administrator)
   51    2878 [main] dd 2404 mount_info::conv_to_posix_path:
/home/Administrator = conv_to_posix_path (C:\cygwin\home\Administrator)
  115    2993 [main] dd 2404 win_env::add_cache: posix
/home/Administrator
   46    3039 [main] dd 2404 win_env::add_cache: native
HOME=C:\cygwin\home\Administrator
   41    3080 [main] dd 2404 posify: env var converted to
HOME=/home/Administrator
   76    3156 [main] dd 2404 environ_init: 0x100104C0:
HOME=/home/Administrator
   78    3234 [main] dd 2404 environ_init: 0x10010498: HOMEDRIVE=C:
   78    3312 [main] dd 2404 environ_init: 0x10010610:
HOMEPATH=\Documents and Settings\Administrator
   79    3391 [main] dd 2404 environ_init: 0x10010648: HOSTNAME=P3PANDA
   77    3468 [main] dd 2404 environ_init: 0x10010660:
INFOPATH=/usr/local/info:/usr/share/info:/usr/info:
   79    3547 [main] dd 2404 environ_init: 0x10010698:
LOGONSERVER=\\P3PANDA
   77    3624 [main] dd 2404 environ_init: 0x100106B8: MAKE_MODE=unix
   77    3701 [main] dd 2404 environ_init: 0x100106D0:
MANPATH=/usr/local/man:/usr/share/man:/usr/man::/usr/ssl/man
   78    3779 [main] dd 2404 environ_init: 0x10010718:
NUMBER_OF_PROCESSORS=2
   78    3857 [main] dd 2404 environ_init: 0x10010738: OLDPWD=/proc
   77    3934 [main] dd 2404 environ_init: 0x10010750: OS=Windows_NT
   92    4026 [main] dd 2404 getwinenv: can't set native for PATH= since
no environ yet
   49    4075 [main] dd 2404 normalize_posix_path: src .
   47    4122 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\home\Administrator, no-keep-rel,
no-add-slash)
   42    4164 [main] dd 2404 normalize_win32_path:
C:\cygwin\home\Administrator = normalize_win32_path
(C:\cygwin\home\Administrator)
  110    4274 [main] dd 2404 mount_info::conv_to_posix_path:
/home/Administrator = conv_to_posix_path (C:\cygwin\home\Administrator)
   45    4319 [main] dd 2404 cwdstuff::get: posix /home/Administrator
   41    4360 [main] dd 2404 cwdstuff::get: (/home/Administrator) =
cwdstuff::get (0x22EBC0, 260, 1, 0), errno 0
   42    4402 [main] dd 2404 normalize_posix_path: /home/Administrator/
= normalize_posix_path (.)
   43    4445 [main] dd 2404 mount_info::conv_to_win32_path:
conv_to_win32_path (/home/Administrator)
   48    4493 [main] dd 2404 set_flags: flags: binary (0x2)
   41    4534 [main] dd 2404 mount_info::conv_to_win32_path: src_path
/home/Administrator, dst C:\cygwin\home\Administrator, flags 0xA, rc 0
   97    4631 [main] dd 2404 symlink_info::check: not a symlink
   43    4674 [main] dd 2404 symlink_info::check: 0 = symlink.check
(C:\cygwin\home\Administrator, 0x22E880) (0xA)
  880    5554 [main] dd 2404 set_privilege: 1 = set_privilege ((token
70C) SeChangeNotifyPrivilege, 1)
  179    5733 [main] dd 2404 path_conv::check:
this->path(C:\cygwin\home\Administrator), has_acls(1)
   89    5822 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\usr\local\bin, keep-rel, no-add-slash)
   42    5864 [main] dd 2404 normalize_win32_path:
C:\cygwin\usr\local\bin = normalize_win32_path (C:\cygwin\usr\local\bin)
   43    5907 [main] dd 2404 mount_info::conv_to_posix_path:
/usr/local/bin = conv_to_posix_path (C:\cygwin\usr\local\bin)
   48    5955 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\bin, keep-rel, no-add-slash)
   50    6005 [main] dd 2404 normalize_win32_path: C:\cygwin\bin =
normalize_win32_path (C:\cygwin\bin)
   43    6048 [main] dd 2404 mount_info::conv_to_posix_path: /usr/bin =
conv_to_posix_path (C:\cygwin\bin)
   42    6090 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\bin, keep-rel, no-add-slash)
   40    6130 [main] dd 2404 normalize_win32_path: C:\cygwin\bin =
normalize_win32_path (C:\cygwin\bin)
   42    6172 [main] dd 2404 mount_info::conv_to_posix_path: /usr/bin =
conv_to_posix_path (C:\cygwin\bin)
   42    6214 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\usr\X11R6\bin, keep-rel, no-add-slash)
   41    6255 [main] dd 2404 normalize_win32_path:
C:\cygwin\usr\X11R6\bin = normalize_win32_path (C:\cygwin\usr\X11R6\bin)
   42    6297 [main] dd 2404 mount_info::conv_to_posix_path:
/usr/X11R6/bin = conv_to_posix_path (C:\cygwin\usr\X11R6\bin)
   42    6339 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (c:\WINDOWS\system32, keep-rel, no-add-slash)
   41    6380 [main] dd 2404 normalize_win32_path: c:\WINDOWS\system32 =
normalize_win32_path (c:\WINDOWS\system32)
   42    6422 [main] dd 2404 mount_info::conv_to_posix_path:
/cygdrive/c/WINDOWS/system32 = conv_to_posix_path (c:\WINDOWS\system32)
   41    6463 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (c:\WINDOWS, keep-rel, no-add-slash)
   41    6504 [main] dd 2404 normalize_win32_path: c:\WINDOWS =
normalize_win32_path (c:\WINDOWS)
   41    6545 [main] dd 2404 mount_info::conv_to_posix_path:
/cygdrive/c/WINDOWS = conv_to_posix_path (c:\WINDOWS)
   42    6587 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (c:\WINDOWS\System32\Wbem, keep-rel, no-add-slash)
   41    6628 [main] dd 2404 normalize_win32_path:
c:\WINDOWS\System32\Wbem = normalize_win32_path
(c:\WINDOWS\System32\Wbem)
   42    6670 [main] dd 2404 mount_info::conv_to_posix_path:
/cygdrive/c/WINDOWS/System32/Wbem = conv_to_posix_path
(c:\WINDOWS\System32\Wbem)
   42    6712 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path ("C, keep-rel, no-add-slash)
   41    6753 [main] dd 2404 mount_info::conv_to_posix_path: "C =
conv_to_posix_path ("C)
   41    6794 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\Program Files\Symantec\Norton Ghost
2003\", keep-rel, no-add-slash)
   50    6844 [main] dd 2404 normalize_win32_path: C:\cygwin\Program
Files\Symantec\Norton Ghost 2003\" = normalize_win32_path
(C:\cygwin\Program Files\Symantec\Norton Ghost 2003\")
   43    6887 [main] dd 2404 mount_info::conv_to_posix_path: /Program
Files/Symantec/Norton Ghost 2003/" = conv_to_posix_path
(C:\cygwin\Program Files\Symantec\Norton Ghost 2003\")
   45    6932 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\lib\lapack, keep-rel, no-add-slash)
   40    6972 [main] dd 2404 normalize_win32_path: C:\cygwin\lib\lapack
= normalize_win32_path (C:\cygwin\lib\lapack)
   42    7014 [main] dd 2404 mount_info::conv_to_posix_path:
/usr/lib/lapack = conv_to_posix_path (C:\cygwin\lib\lapack)
  132    7146 [main] dd 2404 win_env::add_cache: posix
/usr/local/bin:/usr/bin:/usr/bin:/usr/X11R6/bin:/cygdrive/c/WINDOWS/syst
em32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:"C:/Program
Files/Symantec/Norton Ghost 2003/":/usr/lib/lapack
   44    7190 [main] dd 2404 win_env::add_cache: native
PATH=C:\cygwin\usr\local\bin;C:\cygwin\bin;C:\cygwin\bin;C:\cygwin\usr\X
11R6\bin;c:\WINDOWS\system32;c:\WINDOWS;c:\WINDOWS\System32\Wbem;"C;C:\c
ygwin\Program Files\Symantec\Norton Ghost 2003\";C:\cygwin\lib\lapack
   44    7234 [main] dd 2404 posify: env var converted to
PATH=/usr/local/bin:/usr/bin:/usr/bin:/usr/X11R6/bin:/cygdrive/c/WINDOWS
/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:"C:/Prog
ram Files/Symantec/Norton Ghost 2003/":/usr/lib/lapack
   79    7313 [main] dd 2404 environ_init: 0x10010848:
PATH=/usr/local/bin:/usr/bin:/usr/bin:/usr/X11R6/bin:/cygdrive/c/WINDOWS
/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:"C:/Prog
ram Files/Symantec/Norton Ghost 2003/":/usr/lib/lapack
   82    7395 [main] dd 2404 environ_init: 0x10010768:
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
   78    7473 [main] dd 2404 environ_init: 0x100107A8:
PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig
   78    7551 [main] dd 2404 environ_init: 0x100107D8: PRINTER=NPICE37B3
on http://192.168.100.17 (from ASTOR) in session 0
   78    7629 [main] dd 2404 environ_init: 0x10010828:
PROCESSOR_ARCHITECTURE=x86
   78    7707 [main] dd 2404 environ_init: 0x10010C58:
PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 1, GenuineIntel
   79    7786 [main] dd 2404 environ_init: 0x10010CA0:
PROCESSOR_LEVEL=15
   77    7863 [main] dd 2404 environ_init: 0x10010CB8:
PROCESSOR_REVISION=0401
   80    7943 [main] dd 2404 environ_init: 0x10010CD8:
PROGRAMFILES=C:\Program Files
   77    8020 [main] dd 2404 environ_init: 0x100104B0: PROMPT=$P$G
   78    8098 [main] dd 2404 environ_init: 0x10010D00:
PS1=\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$
   78    8176 [main] dd 2404 environ_init: 0x10010D48:
PWD=/home/Administrator
   77    8253 [main] dd 2404 environ_init: 0x10010D68:
SESSIONNAME=RDP-Tcp#5
   78    8331 [main] dd 2404 environ_init: 0x10010D88: SHLVL=1
   78    8409 [main] dd 2404 environ_init: 0x10010D98: SYSTEMDRIVE=C:
   77    8486 [main] dd 2404 environ_init: 0x10010DB0:
SYSTEMROOT=C:\WINDOWS
   78    8564 [main] dd 2404 getwinenv: can't set native for TEMP= since
no environ yet
   78    8642 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp, no-keep-rel,
no-add-slash)
   41    8683 [main] dd 2404 normalize_win32_path:
c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp = normalize_win32_path
(c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp)
   42    8725 [main] dd 2404 mount_info::conv_to_posix_path:
/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp = conv_to_posix_path
(c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp)
  114    8839 [main] dd 2404 win_env::add_cache: posix
/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp
   46    8885 [main] dd 2404 win_env::add_cache: native
TEMP=c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
   53    8938 [main] dd 2404 posify: env var converted to
TEMP=/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp
   81    9019 [main] dd 2404 environ_init: 0x10010E00:
TEMP=/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp
   80    9099 [main] dd 2404 environ_init: 0x10010DD0: TERM=xterm
   84    9183 [main] dd 2404 environ_init: 0x10010DE0:
TEXDOCVIEW_DVI=cygstart %s
   78    9261 [main] dd 2404 environ_init: 0x10010F70:
TEXDOCVIEW_HTML=cygstart %s
   78    9339 [main] dd 2404 environ_init: 0x10010F90:
TEXDOCVIEW_PDF=cygstart %s
   79    9418 [main] dd 2404 environ_init: 0x10010FB0:
TEXDOCVIEW_PS=cygstart %s
   88    9506 [main] dd 2404 environ_init: 0x10010FD0:
TEXDOCVIEW_TXT=cygstart %s
   78    9584 [main] dd 2404 getwinenv: can't set native for TMP= since
no environ yet
   78    9662 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp, no-keep-rel,
no-add-slash)
   42    9704 [main] dd 2404 normalize_win32_path:
c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp = normalize_win32_path
(c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp)
   42    9746 [main] dd 2404 mount_info::conv_to_posix_path:
/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp = conv_to_posix_path
(c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp)
  119    9865 [main] dd 2404 win_env::add_cache: posix
/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp
   41    9906 [main] dd 2404 win_env::add_cache: native
TMP=c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
   40    9946 [main] dd 2404 posify: env var converted to
TMP=/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp
   76   10022 [main] dd 2404 environ_init: 0x10011020:
TMP=/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp
   79   10101 [main] dd 2404 environ_init: 0x10010FF0:
USER=Administrator
   77   10178 [main] dd 2404 environ_init: 0x10011008:
USERDOMAIN=P3PANDA
   77   10255 [main] dd 2404 environ_init: 0x10011190:
USERNAME=Administrator
   78   10333 [main] dd 2404 environ_init: 0x100111B0:
USERPROFILE=C:\Documents and Settings\Administrator
   78   10411 [main] dd 2404 environ_init: 0x100111E8: VISUAL=vi
   77   10488 [main] dd 2404 environ_init: 0x100111F8: WINDIR=C:\WINDOWS
   77   10565 [main] dd 2404 environ_init: 0x10011210: WINDOWID=6565432
   77   10642 [main] dd 2404 environ_init: 0x10011228: _=/usr/bin/strace
   47   10689 [main] dd 2404 pinfo_init: Set nice to 0
   41   10730 [main] dd 2404 pinfo_init: pid 2404, pgid 2404
  680   11410 [main] dd 2404 set_privilege: 0 = set_privilege ((token
738) SeRestorePrivilege, 1)
   62   11472 [main] dd 2404 set_privilege: 1 = set_privilege ((token
738) SeChangeNotifyPrivilege, 1)
  107   11579 [main] dd 2404 dtable::extend: size 32, fds 0x611556C0
   56   11635 [main] dd 2404 normalize_posix_path: src /etc/passwd
   41   11676 [main] dd 2404 normalize_posix_path: /etc/passwd =
normalize_posix_path (/etc/passwd)
   41   11717 [main] dd 2404 mount_info::conv_to_win32_path:
conv_to_win32_path (/etc/passwd)
   43   11760 [main] dd 2404 set_flags: flags: binary (0x2)
   54   11814 [main] dd 2404 mount_info::conv_to_win32_path: src_path
/etc/passwd, dst C:\cygwin\etc\passwd, flags 0xA, rc 0
   98   11912 [main] dd 2404 symlink_info::check: not a symlink
   44   11956 [main] dd 2404 symlink_info::check: 0 = symlink.check
(C:\cygwin\etc\passwd, 0x22E830) (0xA)
   44   12000 [main] dd 2404 path_conv::check:
this->path(C:\cygwin\etc\passwd), has_acls(1)
  136   12136 [main] dd 2404 etc::test_file_change: FindFirstFile
succeeded
  318   12454 [main] dd 2404 pwdgrp::load: /etc/passwd curr_lines 6
   43   12497 [main] dd 2404 pwdgrp::load: /etc/passwd load succeeded
   60   12557 [main] dd 2404 normalize_posix_path: src /etc/group
   42   12599 [main] dd 2404 normalize_posix_path: /etc/group =
normalize_posix_path (/etc/group)
   41   12640 [main] dd 2404 mount_info::conv_to_win32_path:
conv_to_win32_path (/etc/group)
   42   12682 [main] dd 2404 set_flags: flags: binary (0x2)
   41   12723 [main] dd 2404 mount_info::conv_to_win32_path: src_path
/etc/group, dst C:\cygwin\etc\group, flags 0xA, rc 0
   79   12802 [main] dd 2404 symlink_info::check: not a symlink
   42   12844 [main] dd 2404 symlink_info::check: 0 = symlink.check
(C:\cygwin\etc\group, 0x22E7F0) (0xA)
   43   12887 [main] dd 2404 path_conv::check:
this->path(C:\cygwin\etc\group), has_acls(1)
  113   13000 [main] dd 2404 etc::test_file_change: FindFirstFile
succeeded
  417   13417 [main] dd 2404 pwdgrp::load: /etc/group curr_lines 17
   43   13460 [main] dd 2404 pwdgrp::load: /etc/group load succeeded
   59   13519 [main] dd 2404 internal_getlogin:
SetTokenInformation(TokenPrimaryGroup), Win32 error 1308
   45   13564 [main] dd 2404 internal_getlogin:
SetTokenInformation(TokenPrimaryGroup), Win32 error 1308
   42   13606 [main] dd 2404 cygheap_user::ontherange: what 2, pw
0x10011528
   43   13649 [main] dd 2404 cygheap_user::ontherange: HOME is already
in the environment /home/Administrator
  270   13919 [main] dd 2404 sigproc_init: process/signal handling
enabled(1001)
  268   14187 [sig] dd 2404 wait_sig: myself->dwProcessId 2404
    9   14196 [main] dd 2404 tty_list::allocate_tty: console 200A2
already associated with tty0
   57   14253 [sig] dd 2404 wait_sig: entering ReadFile loop, readsig
0x700, myself->sendsig 0x6F8
   97   14350 [main] dd 2404 tty_list::allocate_tty: console 0x200A2
associated with tty0
  978   15328 [main] dd 2404 build_argv: argv[0] = 'dd'
   59   15387 [main] dd 2404 build_argv: argv[1] = 'if=/dev/sda'
   50   15437 [main] dd 2404 build_argv: argv[2] = 'count=1'
   50   15487 [main] dd 2404 build_argv: argv[3] = 'bs=1024'
   50   15537 [main] dd 2404 build_argv: argv[4] = 'skip=78124941'
   49   15586 [main] dd 2404 build_argv: argc 5
  210   15796 [main] dd 2404 build_fh_pc: fh 0x61155828
   60   15856 [main] dd 2404 fhandler_base::set_flags: flags 0x10002,
supplied_bin 0x0
   49   15905 [main] dd 2404 fhandler_base::set_flags: O_TEXT/O_BINARY
set in flags 0x10000
   50   15955 [main] dd 2404 fhandler_base::set_flags: filemode set to
binary
   49   16004 [main] dd 2404 fhandler_base::init: created new
fhandler_base for handle 0x668, bin 1
  228   16232 [main] dd 2404 handle_to_fn: nt name '\Device\Null'
  790   17022 [main] dd 2404 handle_to_fn: derived path '\Device\Null'
   68   17090 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (\Device\Null, no-keep-rel, no-add-slash)
   52   17142 [main] dd 2404 normalize_win32_path: C:\Device\Null =
normalize_win32_path (\Device\Null)
   53   17195 [main] dd 2404 mount_info::conv_to_posix_path:
/cygdrive/c/Device/Null = conv_to_posix_path (\Device\Null)
   51   17246 [main] dd 2404 normalize_posix_path: src
/cygdrive/c/Device/Null
   49   17295 [main] dd 2404 normalize_posix_path:
/cygdrive/c/Device/Null = normalize_posix_path (/cygdrive/c/Device/Null)
   51   17346 [main] dd 2404 mount_info::conv_to_win32_path:
conv_to_win32_path (/cygdrive/c/Device/Null)
   52   17398 [main] dd 2404 mount_info::cygdrive_win32_path: src
'/cygdrive/c/Device/Null', dst 'c:\Device\Null'
   50   17448 [main] dd 2404 set_flags: flags: binary (0x2)
   50   17498 [main] dd 2404 mount_info::conv_to_win32_path: src_path
/cygdrive/c/Device/Null, dst c:\Device\Null, flags 0x2A, rc 0
  113   17611 [main] dd 2404 symlink_info::check: GetFileAttributes
(c:\Device\Null) failed
   55   17666 [main] dd 2404 geterrno_from_win_error: windows error 3 ==
errno 2
   92   17758 [main] dd 2404 symlink_info::check: GetFileAttributes
(c:\Device\Null.lnk) failed
   52   17810 [main] dd 2404 geterrno_from_win_error: windows error 3 ==
errno 2
   50   17860 [main] dd 2404 symlink_info::check: 0 = symlink.check
(c:\Device\Null, 0x2263B0) (0x2A)
   52   17912 [main] dd 2404 mount_info::conv_to_win32_path:
conv_to_win32_path (/cygdrive/c/Device)
   50   17962 [main] dd 2404 mount_info::cygdrive_win32_path: src
'/cygdrive/c/Device', dst 'c:\Device'
   50   18012 [main] dd 2404 set_flags: flags: binary (0x2)
   50   18062 [main] dd 2404 mount_info::conv_to_win32_path: src_path
/cygdrive/c/Device, dst c:\Device, flags 0x2A, rc 0
   84   18146 [main] dd 2404 symlink_info::check: GetFileAttributes
(c:\Device) failed
   54   18200 [main] dd 2404 geterrno_from_win_error: windows error 2 ==
errno 2
   92   18292 [main] dd 2404 symlink_info::check: GetFileAttributes
(c:\Device.lnk) failed
   45   18337 [main] dd 2404 geterrno_from_win_error: windows error 2 ==
errno 2
   52   18389 [main] dd 2404 symlink_info::check: 0 = symlink.check
(c:\Device, 0x2263B0) (0x2A)
   47   18436 [main] dd 2404 mount_info::conv_to_win32_path:
conv_to_win32_path (/cygdrive/c)
   45   18481 [main] dd 2404 mount_info::cygdrive_win32_path: src
'/cygdrive/c', dst 'c:\'
   44   18525 [main] dd 2404 set_flags: flags: binary (0x2)
   45   18570 [main] dd 2404 mount_info::conv_to_win32_path: src_path
/cygdrive/c, dst c:\, flags 0x2A, rc 0
   77   18647 [main] dd 2404 symlink_info::check: not a symlink
   43   18690 [main] dd 2404 symlink_info::check: 0 = symlink.check
(c:\, 0x2263B0) (0x2A)
   48   18738 [main] dd 2404 path_conv::check:
this->path(c:\Device\Null), has_acls(1)
   48   18786 [main] dd 2404 build_fh_pc: fh 0x61155A30
   49   18835 [main] dd 2404 fhandler_base::set_flags: flags 0x10002,
supplied_bin 0x0
   43   18878 [main] dd 2404 fhandler_base::set_flags: O_TEXT/O_BINARY
set in flags 0x10000
   45   18923 [main] dd 2404 fhandler_base::set_flags: filemode set to
binary
   43   18966 [main] dd 2404 fhandler_base::init: created new
fhandler_base for handle 0x6E4, bin 1
  133   19099 [main] dd 2404 build_fh_pc: fh 0x61155C38
   44   19143 [main] dd 2404 fhandler_base::set_flags: flags 0x10002,
supplied_bin 0x0
   45   19188 [main] dd 2404 fhandler_base::set_flags: O_TEXT/O_BINARY
set in flags 0x10000
   44   19232 [main] dd 2404 fhandler_base::set_flags: filemode set to
binary
   43   19275 [main] dd 2404 fhandler_base::init: created new
fhandler_base for handle 0x664, bin 1
  146   19421 [main] dd 2404 set_console_title: title 'dd'
  227   19648 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\bin\cygiconv-2.dll, keep-rel,
no-add-slash)
   56   19704 [main] dd 2404 normalize_win32_path:
C:\cygwin\bin\cygiconv-2.dll = normalize_win32_path
(C:\cygwin\bin\cygiconv-2.dll)
   46   19750 [main] dd 2404 mount_info::conv_to_posix_path:
/usr/bin/cygiconv-2.dll = conv_to_posix_path
(C:\cygwin\bin\cygiconv-2.dll)
  107   19857 [main] dd 2404 mount_info::conv_to_posix_path:
conv_to_posix_path (C:\cygwin\bin\cygintl-3.dll, keep-rel, no-add-slash)
   45   19902 [main] dd 2404 normalize_win32_path:
C:\cygwin\bin\cygintl-3.dll = normalize_win32_path
(C:\cygwin\bin\cygintl-3.dll)
   44   19946 [main] dd 2404 mount_info::conv_to_posix_path:
/usr/bin/cygintl-3.dll = conv_to_posix_path
(C:\cygwin\bin\cygintl-3.dll)
   85   20031 [main] dd 2404 dll_crt0_1: user_data->main 0x402220
   43   20074 [main] dd 2404 __set_errno: void dll_crt0_1(char*):880 val
0
   44   20118 [main] dd 2404 wait_for_sigthread: wait_sig_inited 0x6FC
  347   20465 [main] dd 2404 close: close (0)
   53   20518 [main] dd 2404 fhandler_base::close: closing '' handle
0x668
   47   20565 [main] dd 2404 close: 0 = close (0)
   63   20628 [main] dd 2404 open: open (/dev/sda, 0x10000)
   44   20672 [main] dd 2404 normalize_posix_path: src /dev/sda
   43   20715 [main] dd 2404 normalize_posix_path: /dev/sda =
normalize_posix_path (/dev/sda)
   45   20760 [main] dd 2404 mount_info::conv_to_win32_path:
conv_to_win32_path (/dev/sda)
   50   20810 [main] dd 2404 mount_info::conv_to_win32_path: src_path
/dev/sda, dst \Device\Harddisk0\Partition0, flags 0x2, rc 0
   53   20863 [main] dd 2404 build_fh_pc: fh 0x61155828
   55   20918 [main] dd 2404 fhandler_base::open:
(\Device\Harddisk0\Partition0, 0x10000)
  153   21071 [main] dd 2404 fhandler_base::set_flags: flags 0x10000,
supplied_bin 0x10000
   67   21138 [main] dd 2404 fhandler_base::set_flags: O_TEXT/O_BINARY
set in flags 0x10000
   56   21194 [main] dd 2404 fhandler_base::set_flags: filemode set to
binary
   49   21243 [main] dd 2404 fhandler_base::open: 0 = NtCreateFile
(0x668, 80100000, \Device\Harddisk0\Partition0, io, NULL, 0, 7, 1, 20,
NULL, 0)
   52   21295 [main] dd 2404 fhandler_base::open: 1 =
fhandler_base::open (\Device\Harddisk0\Partition0, 0x10000)
  148   21443 [main] dd 2404 open: 0 = open (/dev/sda, 0x10000)
   66   21509 [main] dd 2404 fhandler_dev_floppy::lseek: disk geometry:
(9726 cyl)*(255 trk)*(63 sec)*(512 bps)
  113   21622 [main] dd 2404 fhandler_dev_floppy::lseek: partition info:
0 (-1604378624)
   52   21674 [main] dd 2404 fhandler_dev_floppy::lseek: drive size:
-1604378624
   57   21731 [main] dd 2404 lseek64: 0 = lseek (0, 0, 1)
   65   21796 [main] dd 2404 isatty: 0 = isatty (1)
   50   21846 [main] dd 2404 fhandler_base::set_flags: flags 0x10002,
supplied_bin 0x0
   50   21896 [main] dd 2404 fhandler_base::set_flags: O_TEXT/O_BINARY
set in flags 0x10000
   50   21946 [main] dd 2404 fhandler_base::set_flags: filemode set to
binary
   49   21995 [main] dd 2404 setmode: (1</cygdrive/c/Device/Null>,
0x10000) returning binary
   50   22045 [main] dd 2404 _cygwin_istext_for_stdio: fd 1: opened as
binary
  313   22358 [main] dd 2404 setmode_helper: improbable, but 0 != 1
  233   22591 [main] dd 2404 setmode_helper: file was binary now binary
  277   22868 [main] dd 2404 setmode_helper: improbable, but 2 != 1
  125   22993 [main] dd 2404 sigaction: signal 2, newact 0x0, oa 0x0
   44   23037 [main] dd 2404 sigaction: signal 2, newact 0x22ED80
(handler 0x401850), oa 0x0
   46   23083 [main] dd 2404 sigaction: signal 3, newact 0x0, oa 0x0
   43   23126 [main] dd 2404 sigaction: signal 3, newact 0x22ED80
(handler 0x401850), oa 0x0
   46   23172 [main] dd 2404 sigaction: signal 13, newact 0x0, oa 0x0
   44   23216 [main] dd 2404 sigaction: signal 13, newact 0x22ED80
(handler 0x401850), oa 0x0
   45   23261 [main] dd 2404 sigaction: signal 30, newact 0x0, oa 0x0
   44   23305 [main] dd 2404 sigaction: signal 30, newact 0x22ED80
(handler 0x4018B0), oa 0x0
 3256   26561 [main] dd 2404 fhandler_dev_floppy::lseek: disk geometry:
(9726 cyl)*(255 trk)*(63 sec)*(512 bps)
  110   26671 [main] dd 2404 fhandler_dev_floppy::lseek: partition info:
0 (-1604378624)
   52   26723 [main] dd 2404 fhandler_dev_floppy::lseek: drive size:
-1604378624
   58   26781 [main] dd 2404 lseek64: 79999939584 = lseek (0,
79999939584, 1)
   62   26843 [main] dd 2404 readv: readv (0, 0x22ED80, 1) blocking,
sigcatchers 4
   50   26893 [main] dd 2404 readv: no need to call ready_for_read
   51   26944 [main] dd 2404 fhandler_dev_raw::raw_read: read 61440
bytes from file into buffer
39997806 40024750 [main] dd 2404 fhandler_dev_raw::read_file: 0 (err 27)
= ReadFile (1640, 268507896, to_read 61440, read 0, 0)
   94 40024844 [main] dd 2404 seterrno_from_win_error:
/netrel/src/cygwin-1.5.18-1/winsup/cygwin/fhandler_raw.cc:212 windows
error 27
   47 40024891 [main] dd 2404 geterrno_from_win_error: unknown windows
error 27, setting errno to 13
   44 40024935 [main] dd 2404 __set_errno: void
seterrno_from_win_error(const char*, int, DWORD):307 val 13
   45 40024980 [main] dd 2404 fhandler_base::read: returning -1, binary
mode
   45 40025025 [main] dd 2404 readv: -1 = readv (0, 0x22ED80, 1), errno
13
  382 40025407 [main] dd 2404 fhandler_base::write: binary write
  370 40025777 [main] dd 2404 fhandler_base::write: binary write
  355 40026132 [main] dd 2404 fhandler_base::write: binary write
  209 40026341 [main] dd 2404 fhandler_base::write: binary write
  244 40026585 [main] dd 2404 close: close (0)
   49 40026634 [main] dd 2404 fhandler_base::close: closing '/dev/sda'
handle 0x668
  108 40026742 [main] dd 2404 close: 0 = close (0)
   44 40026786 [main] dd 2404 close: close (1)
   44 40026830 [main] dd 2404 fhandler_base::close: closing
'/cygdrive/c/Device/Null' handle 0x6E4
   48 40026878 [main] dd 2404 close: 0 = close (1)
  284 40027162 [main] dd 2404 fhandler_base::write: binary write
  362 40027524 [main] dd 2404 fhandler_base::write: binary write
  369 40027893 [main] dd 2404 fhandler_base::write: binary write
  781 40028674 [main] dd 2404 fhandler_base::write: binary write
  361 40029035 [main] dd 2404 close: close (0)
   47 40029082 [main] dd 2404 __set_errno:
cygheap_fdget::cygheap_fdget(int, bool, bool):387 val 9
   45 40029127 [main] dd 2404 close: -1 = close (0)
  342 40029469 [main] dd 2404 close: close (1)
   43 40029512 [main] dd 2404 __set_errno:
cygheap_fdget::cygheap_fdget(int, bool, bool):387 val 9
   65 40029577 [main] dd 2404 close: -1 = close (1)
  358 40029935 [main] dd 2404 close: close (2)
   44 40029979 [main] dd 2404 fhandler_base::close: closing '' handle
0x664
   48 40030027 [main] dd 2404 close: 0 = close (2)
  194 40030221 [main] dd 2404 do_exit: do_exit (256), exit_state 0
   45 40030266 [main] dd 2404 void: 0x0 = signal (20, 0x1)
   43 40030309 [main] dd 2404 void: 0x0 = signal (1, 0x1)
   43 40030352 [main] dd 2404 void: 0x401850 = signal (2, 0x1)
   44 40030396 [main] dd 2404 void: 0x401850 = signal (3, 0x1)
   45 40030441 [main] dd 2404 sigproc_terminate: entering
   56 40030497 [main] dd 2404 proc_terminate: nprocs 0
    4 40030501 [sig] dd 2404 wait_sig: done
   48 40030549 [main] dd 2404 proc_terminate: leaving
  105 40030654 [sig] dd 2404 _cygtls::remove: wait 0x0
  171 40030825 [main] dd 2404 set_console_title: title 'rxvt00000600'
   54 40030879 [main] dd 2404 do_exit: 2404 == sid 2404, send SIGHUP to
children
   77 40030956 [main] dd 2404 sigproc_termi
Reply | Threaded
Open this post in threaded view
|

Re: Error reported dd'ing close of end of block device with skip

Corinna Vinschen-2
On Dec  6 15:56, Loh, Joe wrote:
> Hello Folks,
> Here's the second part of the problem.  The follow on from a previous
> issue observed as reported in "Size difference reported by
> /proc/partitions and lseek(SEEK_END) on block device."

Searching the archive

  http://cygwin.com/cgi-bin/htsearch?config=htdig&words=dd+eom

reveals a thread "Bug in dd ?? at EOM" which starts here:

  http://sourceware.org/ml/cygwin/2005-09/msg00878.html

Btw, have you tried the latest snapshot from http://cygwin.com/snapshots/ ?


Corinna

--
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat, Inc.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply | Threaded
Open this post in threaded view
|

RE: Error reported dd'ing close of end of block device with skip

Loh, Joe
In reply to this post by Loh, Joe
> Searching the archive
>
>  http://cygwin.com/cgi-bin/htsearch?config=htdig&words=dd+eom
>
> reveals a thread "Bug in dd ?? at EOM" which starts here:
>
>  http://sourceware.org/ml/cygwin/2005-09/msg00878.html
>
> Btw, have you tried the latest snapshot from
http://cygwin.com/snapshots/ ?
>
>
> Corinna

We tried with the cygwin-inst-20051207.tar.bz2 snapshot.  Using the same
"dd" commands we no longer observed the problem.  

QUESTION:  

Is there a way in Cygwin to do a read of a block device using "C" that
does not do a read-ahead?  We needed to develop an application that will
issue the exact transfer size to the target device as requested.
Looking at the strace, it appears that read() less than 61440-bytes gets
translated to reading 61440 bytes into buffer and then a subset of that
read is returned to the caller.

Here're the outputs:

dd if=/dev/sda count=1 bs=1024 skip=`expr 78125000 - 60` > /dev/null
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0 seconds, Infinity B/s

dd if=/dev/sda count=1 bs=1024 skip=`expr 78125000 - 59` > /dev/null
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0 seconds, Infinity B/s

Looking at the strace for the command that used to failed, we noticed
that the read ahead transfer size is adjusted to not overshoot the end
of device:

 3260   25940 [main] dd 3660 lseek64: 79999939584 = lseek (0,
79999939584, 1)
   61   26001 [main] dd 3660 readv: readv (0, 0x22ED80, 1) blocking,
sigcatchers 4
   45   26046 [main] dd 3660 readv: no need to call ready_for_read
   49   26095 [main] dd 3660 fhandler_dev_floppy::raw_read: read 60416
bytes into buffer
  567   26662 [main] dd 3660 fhandler_dev_floppy::read_file: 1 (err 0) =
ReadFile (1640, 268507896, to_read 60416, read 60416, 0)
   47   26709 [main] dd 3660 fhandler_dev_floppy::raw_read: read 1024
bytes from buffer (rest 59392)



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply | Threaded
Open this post in threaded view
|

Re: Error reported dd'ing close of end of block device with skip

Corinna Vinschen-2
On Dec  7 11:55, Loh, Joe wrote:
> QUESTION:  
>
> Is there a way in Cygwin to do a read of a block device using "C" that
> does not do a read-ahead?  We needed to develop an application that will
> issue the exact transfer size to the target device as requested.
> Looking at the strace, it appears that read() less than 61440-bytes gets
> translated to reading 61440 bytes into buffer and then a subset of that
> read is returned to the caller.

There's a non-portable (only Cygwin) way to set the buffer size after
opening a device:

  #include <cygwin/rdevio.h>

  struct rdop rd;

  fd = open ("dev/sda", ...);

  rd.rd_op = RDSETBLK;
  rd.rd_parm = 0; /* Unbuffered reading */
  rd.rd_parm = 1; /* Unbuffered reading */
  rd.rd_parm = n; /* Buffered reading with buffer size n */

  ioctl (fd, RDIOCDOP, &rd);

Note that the ioctl fails if the buffer already contains data, so ioctl
should be called before the first read.  Also note that in unbuffered
mode the usual Windows blocking rule applies, the length given to read
must be a multiple of 512.

Sigh, it seems that I introduced a bug into this ioctl also not long ago.
I fixed this in CVS.  Recent code will probably not work very well when
setting it to unbuffered mode.  Please wait for the next developers
snapshot.


Corinna

--
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat, Inc.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply | Threaded
Open this post in threaded view
|

RE: Error reported dd'ing close of end of block device with skip

Loh, Joe
In reply to this post by Loh, Joe
>> On Dec  7 11:55, Loh, Joe wrote:
>> QUESTION:  
>>
>> Is there a way in Cygwin to do a read of a block device using "C"
that
>> does not do a read-ahead?  We needed to develop an application that
>> will issue the exact transfer size to the target device as requested.
>> Looking at the strace, it appears that read() less than 61440-bytes
>> gets translated to reading 61440 bytes into buffer and then a subset
>> of that read is returned to the caller.
>
> There's a non-portable (only Cygwin) way to set the buffer size after
opening a device:

>
>   #include <cygwin/rdevio.h>
>
>   struct rdop rd;
>
>   fd = open ("dev/sda", ...);
>
>   rd.rd_op = RDSETBLK;
>   rd.rd_parm = 0; /* Unbuffered reading */
>   rd.rd_parm = 1; /* Unbuffered reading */
>   rd.rd_parm = n; /* Buffered reading with buffer size n */
>
>   ioctl (fd, RDIOCDOP, &rd);
>
> Note that the ioctl fails if the buffer already contains data, so
ioctl should be called before the first > read.  Also note that in
unbuffered mode the usual Windows blocking rule applies, the length
given to read > must be a multiple of 512.
>
> Sigh, it seems that I introduced a bug into this ioctl also not long
ago.
> I fixed this in CVS.  Recent code will probably not work very well
when setting it to unbuffered mode.  Please wait for the next developers
snapshot.
>
>
> Corinna

Thank you ... This will work. Any plans on supporting O_DIRECT flag in
open()?  We believe this effectively gives unbuffered I/O.  Please
correct if we are making the wrong assumption.

Again.  Thank you for the recommendation and we will wait for the next
Cygwin Kernel before porting our codes over.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply | Threaded
Open this post in threaded view
|

Re: Error reported dd'ing close of end of block device with skip

Corinna Vinschen-2
On Dec  7 16:47, Loh, Joe wrote:
> Thank you ... This will work. Any plans on supporting O_DIRECT flag in
> open()?  We believe this effectively gives unbuffered I/O.  Please
> correct if we are making the wrong assumption.

Hey, cool idea!  There's no definition of O_DIRECT in Cygwin so far, but
this sounds like a worthwhile extension, at least for disk and tape
devices, but maybe also for files.  This won't be in the next Cygwin
version 1.5.19, probably, but I'll certainly implement that for 1.5.20.


Corinna

--
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat, Inc.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply | Threaded
Open this post in threaded view
|

Re: Error reported dd'ing close of end of block device with skip

Corinna Vinschen-2
In reply to this post by Corinna Vinschen-2
On Dec  7 19:35, Corinna Vinschen wrote:

> On Dec  7 11:55, Loh, Joe wrote:
> > QUESTION:  
> >
> > Is there a way in Cygwin to do a read of a block device using "C" that
> > does not do a read-ahead?  We needed to develop an application that will
> > issue the exact transfer size to the target device as requested.
> > Looking at the strace, it appears that read() less than 61440-bytes gets
> > translated to reading 61440 bytes into buffer and then a subset of that
> > read is returned to the caller.
>
> There's a non-portable (only Cygwin) way to set the buffer size after
> opening a device:
>
>   #include <cygwin/rdevio.h>
>
>   struct rdop rd;
>
>   fd = open ("dev/sda", ...);
>
>   rd.rd_op = RDSETBLK;
>   rd.rd_parm = 0; /* Unbuffered reading */
>   rd.rd_parm = 1; /* Unbuffered reading */
>   rd.rd_parm = n; /* Buffered reading with buffer size n */
>
>   ioctl (fd, RDIOCDOP, &rd);
>
> Note that the ioctl fails if the buffer already contains data, so ioctl
> should be called before the first read.  Also note that in unbuffered
> mode the usual Windows blocking rule applies, the length given to read
> must be a multiple of 512.
>
> Sigh, it seems that I introduced a bug into this ioctl also not long ago.
> I fixed this in CVS.  Recent code will probably not work very well when
> setting it to unbuffered mode.  Please wait for the next developers
> snapshot.

I just added another requirement, that rd.rd_parm must be either 0, 1,
or a multiple of 512.  Other sizes for buffers don't make much sense.


Corinna

--
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat, Inc.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply | Threaded
Open this post in threaded view
|

Re: Error reported dd'ing close of end of block device with skip

Eric Blake (cygwin)
In reply to this post by Corinna Vinschen-2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Corinna Vinschen on 12/8/2005 3:30 AM:
>
> Hey, cool idea!  There's no definition of O_DIRECT in Cygwin so far, but
> this sounds like a worthwhile extension, at least for disk and tape
> devices, but maybe also for files.  This won't be in the next Cygwin
> version 1.5.19, probably, but I'll certainly implement that for 1.5.20.

Another cool flag is newer Linux's O_NOATIME, which inhibits updating the
access time.  In particular, coreutils CVS has already added a -noatime
option to dd (a nop unless the system supports it), and is considering
moving to using O_NOATIME on directories for ls and other traversal
routines, since POSIX allows ls to not change directory atime during
traversal, and since listing directories is effectively a read-only
operation that doesn't really need to write to disk just to update the
directory atimes.  If Windows FILE_FLAG_BACKUP_SEMANTICS can be used to
avoid touching the atime, then this flag seems useful to implement for the
1.5.20 timeframe.

While we are talking about wishes, Solaris and newer glibc provide the *at
family of functions (such as openat); the cool thing about these functions
is that they provide the ability to make directory traversal reentrant
since with fd-relative semantics you no longer need to call chdir().  See
for example
http://lists.gnu.org/archive/html/bug-gnulib/2005-11/msg00042.html.

- --
Life is short - so eat dessert first!

Eric Blake             [hidden email]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDmEEm84KuGfSFAYARAsd0AJ43Lun2yfiMdFHKXWt4Rq9bHwZV/ACfSn8O
XXKWh5FBRn/V2BbLl+82NsU=
=CzeF
-----END PGP SIGNATURE-----

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply | Threaded
Open this post in threaded view
|

RE: Error reported dd'ing close of end of block device with skip

Loh, Joe
In reply to this post by Loh, Joe
We downloaded cygwin-inst-20051213.tar.bz2 and implemented the solution
recommended below.  So far, our cursory testing indicates that we are
able to do unbuffered read.  However, we are not seeing any "bug" that
was referenced here.  What is the "bug" that is being referenced here?

Here's the read from the strace showing that the read did what we ask
for, which is 512 bytes.

   57  222458 [unknown (0x940)] lightning 3480 readv: readv (3,
0x10EED60, 1) blocking, sigcatchers 7
   51  222509 [unknown (0x940)] lightning 3480 readv: no need to call
ready_for_read
  132  222641 [unknown (0x940)] lightning 3480
fhandler_dev_floppy::read_file: 1 (err 0) = ReadFile (1580, 268575744,
to_read 512, read 512, 0)
   59  222700 [unknown (0x940)] lightning 3480 fhandler_base::read:
returning 512, binary mode
   52  222752 [unknown (0x940)] lightning 3480 readv: 512 = readv (3,
0x10EED60, 1), errno 0

Thanks,
Joe

-----Original Message-----
From: Corinna Vinschen [mailto:[hidden email]]
Sent: Thursday, December 08, 2005 4:57 AM
To: [hidden email]
Subject: Re: Error reported dd'ing close of end of block device with
skip

On Dec  7 19:35, Corinna Vinschen wrote:
> On Dec  7 11:55, Loh, Joe wrote:
> > QUESTION:  
> >
> > Is there a way in Cygwin to do a read of a block device using "C"
> > that does not do a read-ahead?  We needed to develop an application
> > that will issue the exact transfer size to the target device as
requested.
> > Looking at the strace, it appears that read() less than 61440-bytes
> > gets translated to reading 61440 bytes into buffer and then a subset

> > of that read is returned to the caller.
>
> There's a non-portable (only Cygwin) way to set the buffer size after
> opening a device:
>
>   #include <cygwin/rdevio.h>
>
>   struct rdop rd;
>
>   fd = open ("dev/sda", ...);
>
>   rd.rd_op = RDSETBLK;
>   rd.rd_parm = 0; /* Unbuffered reading */
>   rd.rd_parm = 1; /* Unbuffered reading */
>   rd.rd_parm = n; /* Buffered reading with buffer size n */
>
>   ioctl (fd, RDIOCDOP, &rd);
>
> Note that the ioctl fails if the buffer already contains data, so
> ioctl should be called before the first read.  Also note that in
> unbuffered mode the usual Windows blocking rule applies, the length
> given to read must be a multiple of 512.
>
> Sigh, it seems that I introduced a bug into this ioctl also not long
ago.
> I fixed this in CVS.  Recent code will probably not work very well
> when setting it to unbuffered mode.  Please wait for the next
> developers snapshot.

I just added another requirement, that rd.rd_parm must be either 0, 1,
or a multiple of 512.  Other sizes for buffers don't make much sense.


Corinna

--
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat, Inc.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply | Threaded
Open this post in threaded view
|

Re: Error reported dd'ing close of end of block device with skip

Corinna Vinschen-2
On Dec 13 19:05, Loh, Joe wrote:
> We downloaded cygwin-inst-20051213.tar.bz2 and implemented the solution
> recommended below.  So far, our cursory testing indicates that we are
> able to do unbuffered read.  However, we are not seeing any "bug" that
> was referenced here.  What is the "bug" that is being referenced here?

The RDIOCDOP/RDSETBLK was incorrectly implemented when a request was
made to set the buffer size to 0 or 1 (aka "non-buffered").  But since
that's fixed in the above snapshot, you can't trip over it.

Btw., I just applied a patch which implements O_DIRECT, which will be
available in the next snapshot.  The same restriction as on Linux
applies, which is, the buffers used in read/write operations must be
sector-aligned.  Note that using O_DIRECT requires to rebuild the
application, so you'll be unable to experiment with this using the
current versions of dd(1).


Corinna

--
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat, Inc.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply | Threaded
Open this post in threaded view
|

Re: Error reported dd'ing close of end of block device with skip

Eric Blake-2
In reply to this post by Loh, Joe
>
> Btw., I just applied a patch which implements O_DIRECT, which will be
> available in the next snapshot.  The same restriction as on Linux
> applies, which is, the buffers used in read/write operations must be
> sector-aligned.  Note that using O_DIRECT requires to rebuild the
> application, so you'll be unable to experiment with this using the
> current versions of dd(1).

I get the hint.  coreutils-5.93-2 will be out as soon as I can rebuild it
against a new snapshot.

--
Eric Blake
volunteer cygwin corerutils maintainer

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply | Threaded
Open this post in threaded view
|

Re: Error reported dd'ing close of end of block device with skip

Corinna Vinschen-2
On Dec 14 16:04, Eric Blake wrote:

> >
> > Btw., I just applied a patch which implements O_DIRECT, which will be
> > available in the next snapshot.  The same restriction as on Linux
> > applies, which is, the buffers used in read/write operations must be
> > sector-aligned.  Note that using O_DIRECT requires to rebuild the
> > application, so you'll be unable to experiment with this using the
> > current versions of dd(1).
>
> I get the hint.  coreutils-5.93-2 will be out as soon as I can rebuild it
> against a new snapshot.

Heh, cool.  Just FYI, I tested my changes using a rebuilt version of dd
from 5.90 and it behaved fine using `iflags=direct' and `oflags=direct'.
If you notice any problems, though, kick me immediately.  Just keep the
alignment restriction in mind.  MSDN says that it's not necessarily
enforced, depending on the device, but dd should obviously take this
into account.


Corinna

--
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat, Inc.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/