Date: Thu, 17 Jan 2002 16:10:02 -0800 (PST) From: Hiten Pandya <hiten@uk.FreeBSD.org> To: freebsd-doc@freebsd.org Subject: Re: docs/30603: physio(9) is internally inconsistent Message-ID: <200201180010.g0I0A2T25987@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR docs/30603; it has been noted by GNATS. From: Hiten Pandya <hiten@uk.FreeBSD.org> To: freebsd-gnats-submit@FreeBSD.org, chris@redlinenetworks.com Cc: Subject: Re: docs/30603: physio(9) is internally inconsistent Date: Fri, 18 Jan 2002 00:06:08 +0000 I am currently having a look into this problem. A patch should be soon submitted. This issue will take a bit time for me, but it will be fixed hopefully, before FreeBSD 4.5 is released. The structure of the physio() routine has been changed from: (as found in the src/sys/sys/buf.h header file) OLD: physio(void (*strategy)(struct buf *), struct buf *bp, dev_t dev, int flags, u_int (*minphys)(struct buf *), struct uio *uio); NEW: int physio (dev_t dev, struct uio *uio, int ioflag); The initial change was done by phk@FreeBSD.org, as he refered to it as "wash-and-clean of code". In other words, this routine has been given a makeover since the 3.5.1 release.. Saying that, this change was made 2 years ago!, and no-one noticed it till now.. thanks to chris.. The following changes were made: (according to the cvs log of revision 1.81) (I am refering to the src/sys/sys/buf.h file.. others had to be updated too..) o Let physio take read/write compatible args and have it use uio->uio_rw to determine the direction. o physread/physwrite are now #defines for physio o Remove the inversly name minphys() routine, dev->si_iosize_max takes over. o physio() always uses pbufs. o Fix the check for non page-aligned transfers, now only unaligned transfers largen than (MAXPHYS - PAGE_SIZE) get fragmented (only interesting for tapes using max blocksize). So, in a nutshell, the physio(9) man page needs a re-write, which I will do ASAP :) regards, - Hiten - <hiten@uk.FreeBSD.org> -- SSH Fingerprint: 1024 45:a5:9c:f2:fb:07:da:70:18:02:0b:f3:63:f1:7a:a6 hitenp@hpdi.ath.cx To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-doc" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200201180010.g0I0A2T25987>