Index: md.c =================================================================== RCS file: /home/ncvs/src/sys/dev/md/md.c,v retrieving revision 1.74 diff -u -r1.74 md.c --- md.c 2002/10/21 20:08:28 1.74 +++ md.c 2002/11/24 23:43:40 @@ -79,6 +79,7 @@ #include #include #include +#include #include #include @@ -807,6 +808,7 @@ struct md_s *sc; struct vattr vattr; struct nameidata nd; + struct stat sb; int error, flags; flags = FREAD|FWRITE; @@ -828,6 +830,13 @@ (void) vn_close(nd.ni_vp, flags, td->td_ucred, td); return (error ? error : EINVAL); } + + error = vn_stat(nd.ni_vp, &sb, td->td_ucred, NOCRED, td); + if (error) + return (error); + if (sb.st_size == 0) + return (EINVAL); + VOP_UNLOCK(nd.ni_vp, 0, td); if (mdio->md_options & MD_AUTOUNIT) {