History log of /freebsd-current/sbin/fsdb/Makefile
Revision Date Author Comments
# 51e16cb8 23-Nov-2023 Warner Losh <imp@FreeBSD.org>

sbin: Remove ancient SCCS tags.

Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by: Netflix


# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# a7ffc948 22-Jul-2022 Emmanuel Vadot <manu@FreeBSD.org>

pkgbase: Put ufs related tools and lib in their own package

It's not really useful in a jail or in a mdroot or even if a users
wants to do a full zfs machine.

Reviewed by: mckusick
Differential Revision: https://reviews.freebsd.org/D36227


# 2a36aee2 08-Apr-2018 Kirk McKusick <mckusick@FreeBSD.org>

When using the fsdb `blocks' command, replace the long and ugly list of
blocks with the much more concise and readable block list shown by the
prtblknos() function imported from tools/diag/prtblknos.


# 75e3597a 21-Sep-2017 Kirk McKusick <mckusick@FreeBSD.org>

Continuing efforts to provide hardening of FFS, this change adds a
check hash to cylinder groups. If a check hash fails when a cylinder
group is read, no further allocations are attempted in that cylinder
group until it has been fixed by fsck. This avoids a class of
filesystem panics related to corrupted cylinder group maps. The
hash is done using crc32c.

Check hases are added only to UFS2 and not to UFS1 as UFS1 is primarily
used in embedded systems with small memories and low-powered processors
which need as light-weight a filesystem as possible.

Specifics of the changes:

sys/sys/buf.h:
Add BX_FSPRIV to reserve a set of eight b_xflags that may be used
by individual filesystems for their own purpose. Their specific
definitions are found in the header files for each filesystem
that uses them. Also add fields to struct buf as noted below.

sys/kern/vfs_bio.c:
It is only necessary to compute a check hash for a cylinder
group when it is actually read from disk. When calling bread,
you do not know whether the buffer was found in the cache or
read. So a new flag (GB_CKHASH) and a pointer to a function to
perform the hash has been added to breadn_flags to say that the
function should be called to calculate a hash if the data has
been read. The check hash is placed in b_ckhash and the B_CKHASH
flag is set to indicate that a read was done and a check hash
calculated. Though a rather elaborate mechanism, it should
also work for check hashing other metadata in the future. A
kernel internal API change was to change breada into a static
fucntion and add flags and a function pointer to a check-hash
function.

sys/ufs/ffs/fs.h:
Add flags for types of check hashes; stored in a new word in the
superblock. Define corresponding BX_ flags for the different types
of check hashes. Add a check hash word in the cylinder group.

sys/ufs/ffs/ffs_alloc.c:
In ffs_getcg do the dance with breadn_flags to get a check hash and
if one is provided, check it.

sys/ufs/ffs/ffs_vfsops.c:
Copy across the BX_FFSTYPES flags in background writes.
Update the check hash when writing out buffers that need them.

sys/ufs/ffs/ffs_snapshot.c:
Recompute check hash when updating snapshot cylinder groups.

sys/libkern/crc32.c:
lib/libufs/Makefile:
lib/libufs/libufs.h:
lib/libufs/cgroup.c:
Include libkern/crc32.c in libufs and use it to compute check
hashes when updating cylinder groups.

Four utilities are affected:

sbin/newfs/mkfs.c:
Add the check hashes when building the cylinder groups.

sbin/fsck_ffs/fsck.h:
sbin/fsck_ffs/fsutil.c:
Verify and update check hashes when checking and writing cylinder groups.

sbin/fsck_ffs/pass5.c:
Offer to add check hashes to existing filesystems.
Precompute check hashes when rebuilding cylinder group
(although this will be done when it is written in fsutil.c
it is necessary to do it early before comparing with the old
cylinder group)

sbin/dumpfs/dumpfs.c
Print out the new check hash flag(s)

sbin/fsdb/Makefile:
Needs to add libufs now used by pass5.c imported from fsck_ffs.

Reviewed by: kib
Tested by: Peter Holm (pho)


# 22289a8c 04-Mar-2017 Enji Cooper <ngie@FreeBSD.org>

sbin: normalize paths using SRCTOP-relative paths or :H when possible

This simplifies make logic/output

MFC after: 1 month
Sponsored by: Dell EMC Isilon


# 406d87b1 09-Feb-2016 Glen Barber <gjb@FreeBSD.org>

Explicitly add more files to the 'runtime' package.

Sponsored by: The FreeBSD Foundation


# 13eb765f 25-Nov-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Convert sbin/ to LIBADD
Reduce overlinking


# 80189b3b 17-Jul-2014 Brooks Davis <brooks@FreeBSD.org>

Replace all uses of libncurses and libtermcap with their wide character
variants. This allows usable file system images (i.e. those with both a
shell and an editor) to be created with only one copy of the curses library.

Exp-run: antoine
PR: 189842
Discussed with: bapt
Sponsored by: DARPA, AFRL


# 9a2fcb2e 29-Dec-2013 Scott Long <scottl@FreeBSD.org>

Add globs.c to the build now that it's a separate file.

Reviewed by: max
Obtained from: Netflix
MFC after: 3 days


# 24c8f29c 09-Mar-2012 Dimitry Andric <dim@FreeBSD.org>

Partially undo r228693, by removing NO_WFORMAT.clang in fsdb's Makefile,
and fixing the format string in sbin/fsdb/fsdbutil.c instead.

Note the remark "Work around a problem with format string warnings and
ntohs macros" was actually incorrect. The DIP(dp, di_nlink) macro
invocation actually returned an int, due to its ternary expression, even
though the di_nlink members of struct ufs1_dinode and struct ufs2_dinode
are both defined as int16_t.

MFC after: 2 weeks


# 07b202a8 28-Feb-2012 Dimitry Andric <dim@FreeBSD.org>

Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to
get rid of testing explicitly for clang (using ${CC:T:Mclang}) in
individual Makefiles.

Instead, use the following extra macros, for use with clang:
- NO_WERROR.clang (disables -Werror)
- NO_WCAST_ALIGN.clang (disables -Wcast-align)
- NO_WFORMAT.clang (disables -Wformat and friends)
- CLANG_NO_IAS (disables integrated assembler)
- CLANG_OPT_SMALL (adds flags for extra small size optimizations)

As a side effect, this enables setting CC/CXX/CPP in src.conf instead of
make.conf! For clang, use the following:

CC=clang
CXX=clang++
CPP=clang-cpp

MFC after: 2 weeks


# cf2cbe34 18-Dec-2011 Dimitry Andric <dim@FreeBSD.org>

Revert r228603, and add the workaround to sbin/fsdb/Makefile instead.

MFC after: 1 week


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# c9eaf226 09-Oct-2004 Lukas Ertl <le@FreeBSD.org>

Make fsck WARNS=2 clean.


# a03f8f81 28-Jul-2004 Alexander Kabaev <kan@FreeBSD.org>

Downgrade WARNS level until GCC 3.4.2 warning are fixed.


# 47d7e8a9 05-Feb-2004 Ruslan Ermilov <ru@FreeBSD.org>

Fixed style of DPADD and LDADD assignments as per style.Makefile(5).


# 8b5e064d 13-Nov-2003 Johan Karlsson <johan@FreeBSD.org>

Make this WARNS=2 clean by
- #include <timeconv.h> for _time_to_time32 et al
- use (uintmax_t) and %j
- remove unused variable 'j' (from PR 39866)

PR: 39866
Submitted by: Dan Lukes <dan@obluda.cz>
Tested by: make universe


# 6c7e64b6 16-Sep-2002 Poul-Henning Kamp <phk@FreeBSD.org>

I forgot fsdb was still sharing files with fsck.


# 599304a4 30-Jul-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Warning cleanup.

Format changes by peter


# 2d68bf45 03-Dec-2001 David E. O'Brien <obrien@FreeBSD.org>

Default to WARNS=2.
Binary builds that cannot handle this must explicitly set WARNS=0.

Reviewed by: mike


# 0a5779d4 26-Mar-2001 Ruslan Ermilov <ru@FreeBSD.org>

- Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.


# fe655281 20-Mar-2001 Ruslan Ermilov <ru@FreeBSD.org>

Set the default manual section for sbin/ to 8.


# da7e7114 09-Oct-2000 Adrian Chadd <adrian@FreeBSD.org>

Reviewed by: rwatson, bp
Approved by: rwatson
Obtained from: NetBSD source tree

Second part of the fsck wrappers commit. This commit enables the new fsck
code (removing the fsck/* code and replacing it with the netbsd fsck
wrapper code), and enabling some FFS-based utilities to compile.

Details:

* quotacheck, fsdb required modification to use the fsck_ffs/ code rather
than fsck/ . This might change later since quotacheck requires preen.c
which should exist in fsck/ rather than fsck_ffs/

* src/Makefile has fsck_ffs added to it so it it built as part of the tree
now

* share/doc/smm/03.fsck/ uses the SMM.doc/ stuff from fsck_ffs, not fsck.

I've tested this, and it shouldn't require any changes on your machine.
The fsck wrapper reads /etc/fsck and is command-line-compatible enough
to not require rc changes (well, most changes unless you want to do
anything nifty by specifying the fs types explicityly, read the man page
if you want further details on what it can do.)

This now allows us to support multiple filesystem types during bootup.


# 7f3dea24 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# 3142ca45 06-Feb-1998 John Hay <jhay@FreeBSD.org>

opt_diagnostic.h isn't needed anymore.


# 14201474 05-Feb-1998 John Hay <jhay@FreeBSD.org>

fsdb and fsck use the ffs code which needs opt_diagnostic.h.


# c0ec1f37 22-Feb-1997 Peter Wemm <peter@FreeBSD.org>

Revert $FreeBSD$ to $Id$


# 1130b656 14-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


# 2ea23670 02-Sep-1996 Peter Wemm <peter@FreeBSD.org>

Add ${DPADD}, $Id$


# e10719ee 24-Nov-1995 Peter Wemm <peter@FreeBSD.org>

Adjust relative paths in Makefile to ../sbin/fsck and ../../sys/ufs/ffs


# d4d864ba 03-Nov-1995 Peter Wemm <peter@FreeBSD.org>

Commit FreeBSD-specific changes. Mainly to do with structure layout
differences that we dont have.


# 39bb6d1e 03-Nov-1995 Peter Wemm <peter@FreeBSD.org>

Whoops. RE-Import NetBSD's fsdb - I believe this was written by John Kohl.

Obtained from: NetBSD