[comp.unix.wizards] 4.3BSD conversion question ...

dantso@bach.UUCP (04/09/87)

	Sorry if this has been talked about before...

	We are in the middle of converting from 4.2BSD to Mt Xinu 4.3BSD+NFS.
I noticed that when running 4.3BSD's fsck on 4.2BSD filesystems that it
complains that the 4.2BSD directories are not multiples of 512 and ask to
correct it.
	Should I say yes ? I hope I don't have to dump/restore all my 4.2BSD
filesystems...
	Thanks.

dan@rna.UUCP (04/09/87)

	Sorry if this has been talked about before...

	We are in the middle of converting from 4.2BSD to Mt Xinu 4.3BSD+NFS.
I noticed that when running 4.3BSD's fsck on 4.2BSD filesystems that it
complains that the 4.2BSD directories are not multiples of 512 and ask to
correct it.
	Should I say yes ? I hope I don't have to dump/restore all my 4.2BSD
filesystems...
	Thanks.

					Cheers,
					Dan Ts'o
					Dept. Neurobiology
					Rockefeller Univ.
					1230 York Ave.
					NY, NY 10021
					212-570-7671
					...cmcl2!rna!dan
					rna!dan@cmcl2.arpa

stevesu@copper.UUCP (04/11/87)

In article <622@rna.UUCP>, dan@rna.UUCP (Dan Ts'o) writes:
> I noticed that when running 4.3BSD's fsck on 4.2BSD filesystems that it
> complains that the 4.2BSD directories are not multiples of 512 and ask to
> correct it.

I was just reading through the 4.3 documentation, and I came
across the following note ("Changes to the Kernel in 4.3BSD,"
section 4, under ufs_syscalls.c):

	_M_k_d_i_r now sets the size of all new directories to
	DIRBLKSIZE.

Now, DIRBLKSIZE is DEV_BSIZE which is 512, and it's not
inconceivable that efforts are also made to keep a directory a
multiple of 512 bytes long once some real files are created
within it.  (For all I know, the 4.2 kernel does this too.)

It would guess that the 512 character enforcement is just an
efficiency tweak, although for a fully upgraded 4.3 filesystem,
fsck's message would be a warning that 4.3 isn't keeping the
directories as aligned as it thinks it is.

In any case, I wouldn't worry about the warning, or about letting
fsck fix the "problem."

                                           Steve Summit
                                           stevesu@copper.tek.com

chris@mimsy.UUCP (04/11/87)

[Capsule review: 4.3BSD fsck noisily adjusts all those old 24 byte
directories to 512 bytes, and a few 512+24 byte directories to 1024
bytes, and so forth.]

In article <8371@tekecs.TEK.COM> snoopy@doghouse.gwd.tek.com (Snoopy) writes:
>My question is WHY does fsck (or anything else) care whether the
>directory is a multiple of 512?

It is really Just Another Consistency Check.  It would also make
life easier for the kernel if it could assume 512 byte directories:
If you look deep in the heart of ufs_namei.c, you will see a comment
about how the 4.2BSD `mkdir' was careless:

	N.B. - THIS IS AN ARTIFACT OF 4.2 AND SHOULD NEVER HAPPEN.

There should have been a note in the installation instructions about
this, and indeed, `fsck -p' cleans this right up.
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7690)
UUCP:	seismo!mimsy!chris	ARPA/CSNet:	chris@mimsy.umd.edu

mangler@cit-vax.UUCP (04/12/87)

In article <8371@tekecs.TEK.COM>, snoopy@doghouse.gwd.tek.com (Snoopy) writes:
> My question is WHY does fsck (or anything else) care whether the
> directory is a multiple of 512?

Some disk controllers (Xylogics) can only do I/O in units of whole sectors.

Don Speck   speck@vlsi.caltech.edu  {seismo,rutgers,ames}!cit-vax!speck

guy@gorodish.UUCP (04/13/87)

>> My question is WHY does fsck (or anything else) care whether the
>> directory is a multiple of 512?
>
>Some disk controllers (Xylogics) can only do I/O in units of whole sectors.

That may be true, but it's also irrelevant.  The UNIX file system
code, as far as I can tell, always reads whole frags, and frags are
rarely if ever smaller than a sector.  (There exist 24-byte
directories on a machine here with Xylogics disk controllers and it
doesn't seem to mind.)

jeff@voder.UUCP (04/13/87)

> There should have been a note in the installation instructions about
> this, and indeed, `fsck -p' cleans this right up.

... but, but, but ... the installation instructions *do* mention the
change (on page 20).  The original poster should perhaps have read
"Installing and Operating 4.3BSD on the VAX" instead of assuming it
was the same as the 4.2 doc.  Of course, I'm assuming he has the doc
set; if he doesn't, what's he doing with a tape?

-- 

Jeff Gilliam	{ucbvax,pyramid,nsc}!voder!jeff