svn commit: r344887 - in stable/11/sbin: fsck_ffs fsdb
Konstantin Belousov
kib at FreeBSD.org
Thu Mar 7 13:54:01 UTC 2019
Author: kib
Date: Thu Mar 7 13:53:59 2019
New Revision: 344887
URL: https://svnweb.freebsd.org/changeset/base/344887
Log:
MFC r339941 (by mckusick):
In preparation for adding inode check-hashes, change the fsck_ffs
inodirty() function to have a pointer to the inode being dirtied.
No functional change (as for now the parameter is ununsed).
Also for stable/11 UFS_NDADDR was renamed to NDADDR.
Modified:
stable/11/sbin/fsck_ffs/dir.c
stable/11/sbin/fsck_ffs/fsck.h
stable/11/sbin/fsck_ffs/inode.c
stable/11/sbin/fsck_ffs/pass1.c
stable/11/sbin/fsck_ffs/pass2.c
stable/11/sbin/fsdb/fsdb.c
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sbin/fsck_ffs/dir.c
==============================================================================
--- stable/11/sbin/fsck_ffs/dir.c Thu Mar 7 13:52:20 2019 (r344886)
+++ stable/11/sbin/fsck_ffs/dir.c Thu Mar 7 13:53:59 2019 (r344887)
@@ -321,7 +321,7 @@ adjust(struct inodesc *idesc, int lcnt)
if (preen || reply("ADJUST") == 1) {
if (bkgrdflag == 0) {
DIP_SET(dp, di_nlink, DIP(dp, di_nlink) - lcnt);
- inodirty();
+ inodirty(dp);
} else {
cmd.value = idesc->id_number;
cmd.size = -lcnt;
@@ -446,7 +446,7 @@ linkup(ino_t orphan, ino_t parentdir, char *name)
pfatal("SORRY. CANNOT CREATE lost+found DIRECTORY\n\n");
return (0);
}
- inodirty();
+ inodirty(dp);
idesc.id_type = ADDR;
idesc.id_func = pass4check;
idesc.id_number = oldlfdir;
@@ -471,7 +471,7 @@ linkup(ino_t orphan, ino_t parentdir, char *name)
(void)makeentry(orphan, lfdir, "..");
dp = ginode(lfdir);
DIP_SET(dp, di_nlink, DIP(dp, di_nlink) + 1);
- inodirty();
+ inodirty(dp);
inoinfo(lfdir)->ino_linkcnt++;
pwarn("DIR I=%lu CONNECTED. ", (u_long)orphan);
if (parentdir != (ino_t)-1) {
@@ -532,7 +532,7 @@ makeentry(ino_t parent, ino_t ino, const char *name)
dp = ginode(parent);
if (DIP(dp, di_size) % DIRBLKSIZ) {
DIP_SET(dp, di_size, roundup(DIP(dp, di_size), DIRBLKSIZ));
- inodirty();
+ inodirty(dp);
}
if ((ckinode(dp, &idesc) & ALTERED) != 0)
return (1);
@@ -588,7 +588,7 @@ expanddir(union dinode *dp, char *name)
else if (reply("EXPAND") == 0)
goto bad;
dirty(bp);
- inodirty();
+ inodirty(dp);
return (1);
bad:
DIP_SET(dp, di_db[lastbn], DIP(dp, di_db[lastbn + 1]));
@@ -629,7 +629,7 @@ allocdir(ino_t parent, ino_t request, int mode)
memmove(cp, &emptydir, sizeof emptydir);
dirty(bp);
DIP_SET(dp, di_nlink, 2);
- inodirty();
+ inodirty(dp);
if (ino == ROOTINO) {
inoinfo(ino)->ino_linkcnt = DIP(dp, di_nlink);
cacheino(dp, ino);
@@ -650,7 +650,7 @@ allocdir(ino_t parent, ino_t request, int mode)
}
dp = ginode(parent);
DIP_SET(dp, di_nlink, DIP(dp, di_nlink) + 1);
- inodirty();
+ inodirty(dp);
return (ino);
}
@@ -665,7 +665,7 @@ freedir(ino_t ino, ino_t parent)
if (ino != parent) {
dp = ginode(parent);
DIP_SET(dp, di_nlink, DIP(dp, di_nlink) - 1);
- inodirty();
+ inodirty(dp);
}
freeino(ino);
}
Modified: stable/11/sbin/fsck_ffs/fsck.h
==============================================================================
--- stable/11/sbin/fsck_ffs/fsck.h Thu Mar 7 13:52:20 2019 (r344886)
+++ stable/11/sbin/fsck_ffs/fsck.h Thu Mar 7 13:53:59 2019 (r344887)
@@ -446,7 +446,7 @@ union dinode *ginode(ino_t inumber);
void infohandler(int sig);
void alarmhandler(int sig);
void inocleanup(void);
-void inodirty(void);
+void inodirty(union dinode *);
struct inostat *inoinfo(ino_t inum);
void IOstats(char *what);
int linkup(ino_t orphan, ino_t parentdir, char *name);
Modified: stable/11/sbin/fsck_ffs/inode.c
==============================================================================
--- stable/11/sbin/fsck_ffs/inode.c Thu Mar 7 13:52:20 2019 (r344886)
+++ stable/11/sbin/fsck_ffs/inode.c Thu Mar 7 13:53:59 2019 (r344887)
@@ -100,7 +100,7 @@ ckinode(union dinode *dp, struct inodesc *idesc)
printf(
"YOU MUST RERUN FSCK AFTERWARDS\n");
rerun = 1;
- inodirty();
+ inodirty(dp);
}
}
@@ -140,7 +140,7 @@ ckinode(union dinode *dp, struct inodesc *idesc)
printf(
"YOU MUST RERUN FSCK AFTERWARDS\n");
rerun = 1;
- inodirty();
+ inodirty(dp);
break;
}
}
@@ -219,7 +219,7 @@ iblock(struct inodesc *idesc, long ilevel, off_t isize
printf(
"YOU MUST RERUN FSCK AFTERWARDS\n");
rerun = 1;
- inodirty();
+ inodirty(dp);
bp->b_flags &= ~B_INUSE;
return(STOP);
}
@@ -517,7 +517,7 @@ inocleanup(void)
}
void
-inodirty(void)
+inodirty(union dinode *dp)
{
dirty(pbp);
@@ -542,7 +542,7 @@ clri(struct inodesc *idesc, const char *type, int flag
(void)ckinode(dp, idesc);
inoinfo(idesc->id_number)->ino_state = USTATE;
clearinode(dp);
- inodirty();
+ inodirty(dp);
} else {
cmd.value = idesc->id_number;
cmd.size = -DIP(dp, di_nlink);
@@ -709,7 +709,7 @@ allocino(ino_t request, int type)
DIP_SET(dp, di_size, sblock.fs_fsize);
DIP_SET(dp, di_blocks, btodb(sblock.fs_fsize));
n_files++;
- inodirty();
+ inodirty(dp);
inoinfo(ino)->ino_type = IFTODT(type);
return (ino);
}
@@ -730,7 +730,7 @@ freeino(ino_t ino)
dp = ginode(ino);
(void)ckinode(dp, &idesc);
clearinode(dp);
- inodirty();
+ inodirty(dp);
inoinfo(ino)->ino_state = USTATE;
n_files--;
}
Modified: stable/11/sbin/fsck_ffs/pass1.c
==============================================================================
--- stable/11/sbin/fsck_ffs/pass1.c Thu Mar 7 13:52:20 2019 (r344886)
+++ stable/11/sbin/fsck_ffs/pass1.c Thu Mar 7 13:53:59 2019 (r344887)
@@ -269,7 +269,7 @@ checkinode(ino_t inumber, struct inodesc *idesc, int r
if (reply("CLEAR") == 1) {
dp = ginode(inumber);
clearinode(dp);
- inodirty();
+ inodirty(dp);
}
}
inoinfo(inumber)->ino_state = USTATE;
@@ -292,7 +292,7 @@ checkinode(ino_t inumber, struct inodesc *idesc, int r
dp = ginode(inumber);
DIP_SET(dp, di_size, sblock.fs_fsize);
DIP_SET(dp, di_mode, IFREG|0600);
- inodirty();
+ inodirty(dp);
}
if ((mode == IFBLK || mode == IFCHR || mode == IFIFO ||
mode == IFSOCK) && DIP(dp, di_size) != 0) {
@@ -410,7 +410,7 @@ checkinode(ino_t inumber, struct inodesc *idesc, int r
if (bkgrdflag == 0) {
dp = ginode(inumber);
DIP_SET(dp, di_blocks, idesc->id_entryno);
- inodirty();
+ inodirty(dp);
} else {
cmd.value = idesc->id_number;
cmd.size = idesc->id_entryno - DIP(dp, di_blocks);
@@ -436,7 +436,7 @@ checkinode(ino_t inumber, struct inodesc *idesc, int r
* the last allocated block to avoid having it reference a hole
* at its end.
*/
- if (DIP(dp, di_size) > UFS_NDADDR * sblock.fs_bsize &&
+ if (DIP(dp, di_size) > NDADDR * sblock.fs_bsize &&
idesc->id_lballoc < lblkno(&sblock, DIP(dp, di_size) - 1)) {
fixsize = lblktosize(&sblock, idesc->id_lballoc + 1);
pwarn("INODE %lu: FILE SIZE %ju BEYOND END OF ALLOCATED FILE, "
@@ -470,7 +470,7 @@ unknown:
inoinfo(inumber)->ino_state = USTATE;
dp = ginode(inumber);
clearinode(dp);
- inodirty();
+ inodirty(dp);
}
return (1);
}
Modified: stable/11/sbin/fsck_ffs/pass2.c
==============================================================================
--- stable/11/sbin/fsck_ffs/pass2.c Thu Mar 7 13:52:20 2019 (r344886)
+++ stable/11/sbin/fsck_ffs/pass2.c Thu Mar 7 13:53:59 2019 (r344887)
@@ -110,7 +110,7 @@ pass2(void)
dp = ginode(ROOTINO);
DIP_SET(dp, di_mode, DIP(dp, di_mode) & ~IFMT);
DIP_SET(dp, di_mode, DIP(dp, di_mode) | IFDIR);
- inodirty();
+ inodirty(dp);
break;
case DSTATE:
@@ -156,7 +156,7 @@ pass2(void)
if (reply("FIX") == 1) {
dp = ginode(inp->i_number);
DIP_SET(dp, di_size, inp->i_isize);
- inodirty();
+ inodirty(dp);
}
} else if ((inp->i_isize & (DIRBLKSIZ - 1)) != 0) {
getpathname(pathbuf, inp->i_number, inp->i_number);
@@ -175,7 +175,7 @@ pass2(void)
dp = ginode(inp->i_number);
DIP_SET(dp, di_size,
roundup(inp->i_isize, DIRBLKSIZ));
- inodirty();
+ inodirty(dp);
}
}
dp = &dino;
Modified: stable/11/sbin/fsdb/fsdb.c
==============================================================================
--- stable/11/sbin/fsdb/fsdb.c Thu Mar 7 13:52:20 2019 (r344886)
+++ stable/11/sbin/fsdb/fsdb.c Thu Mar 7 13:53:59 2019 (r344887)
@@ -342,7 +342,7 @@ CMDFUNCSTART(zapi)
GETINUM(1,inum);
dp = ginode(inum);
clearinode(dp);
- inodirty();
+ inodirty(dp);
if (curinode) /* re-set after potential change */
curinode = ginode(curinum);
return 0;
@@ -372,7 +372,7 @@ CMDFUNCSTART(uplink)
DIP_SET(curinode, di_nlink, DIP(curinode, di_nlink) + 1);
printf("inode %ju link count now %d\n",
(uintmax_t)curinum, DIP(curinode, di_nlink));
- inodirty();
+ inodirty(curinode);
return 0;
}
@@ -383,7 +383,7 @@ CMDFUNCSTART(downlink)
DIP_SET(curinode, di_nlink, DIP(curinode, di_nlink) - 1);
printf("inode %ju link count now %d\n",
(uintmax_t)curinum, DIP(curinode, di_nlink));
- inodirty();
+ inodirty(curinode);
return 0;
}
@@ -917,7 +917,7 @@ CMDFUNCSTART(newtype)
}
DIP_SET(curinode, di_mode, DIP(curinode, di_mode) & ~IFMT);
DIP_SET(curinode, di_mode, DIP(curinode, di_mode) | type);
- inodirty();
+ inodirty(curinode);
printactive(0);
return 0;
}
@@ -938,7 +938,7 @@ CMDFUNCSTART(chlen)
}
DIP_SET(curinode, di_size, len);
- inodirty();
+ inodirty(curinode);
printactive(0);
return rval;
}
@@ -960,7 +960,7 @@ CMDFUNCSTART(chmode)
DIP_SET(curinode, di_mode, DIP(curinode, di_mode) & ~07777);
DIP_SET(curinode, di_mode, DIP(curinode, di_mode) | modebits);
- inodirty();
+ inodirty(curinode);
printactive(0);
return rval;
}
@@ -985,7 +985,7 @@ CMDFUNCSTART(chaflags)
return(1);
}
DIP_SET(curinode, di_flags, flags);
- inodirty();
+ inodirty(curinode);
printactive(0);
return rval;
}
@@ -1010,7 +1010,7 @@ CMDFUNCSTART(chgen)
return(1);
}
DIP_SET(curinode, di_gen, gen);
- inodirty();
+ inodirty(curinode);
printactive(0);
return rval;
}
@@ -1060,7 +1060,7 @@ CMDFUNCSTART(linkcount)
}
DIP_SET(curinode, di_nlink, lcnt);
- inodirty();
+ inodirty(curinode);
printactive(0);
return rval;
}
@@ -1087,7 +1087,7 @@ CMDFUNCSTART(chowner)
}
DIP_SET(curinode, di_uid, uid);
- inodirty();
+ inodirty(curinode);
printactive(0);
return rval;
}
@@ -1113,7 +1113,7 @@ CMDFUNCSTART(chgroup)
}
DIP_SET(curinode, di_gid, gid);
- inodirty();
+ inodirty(curinode);
printactive(0);
return rval;
}
@@ -1182,7 +1182,7 @@ CMDFUNCSTART(chbtime)
return 1;
curinode->dp2.di_birthtime = _time_to_time64(secs);
curinode->dp2.di_birthnsec = nsecs;
- inodirty();
+ inodirty(curinode);
printactive(0);
return 0;
}
@@ -1199,7 +1199,7 @@ CMDFUNCSTART(chmtime)
else
curinode->dp2.di_mtime = _time_to_time64(secs);
DIP_SET(curinode, di_mtimensec, nsecs);
- inodirty();
+ inodirty(curinode);
printactive(0);
return 0;
}
@@ -1216,7 +1216,7 @@ CMDFUNCSTART(chatime)
else
curinode->dp2.di_atime = _time_to_time64(secs);
DIP_SET(curinode, di_atimensec, nsecs);
- inodirty();
+ inodirty(curinode);
printactive(0);
return 0;
}
@@ -1233,7 +1233,7 @@ CMDFUNCSTART(chctime)
else
curinode->dp2.di_ctime = _time_to_time64(secs);
DIP_SET(curinode, di_ctimensec, nsecs);
- inodirty();
+ inodirty(curinode);
printactive(0);
return 0;
}
More information about the svn-src-stable
mailing list