From 30b0c726298eadf81803d49b58bfb4bdf799c57d Mon Sep 17 00:00:00 2001 From: Nathan Scott Date: Mon, 3 Sep 2001 07:18:05 +0000 Subject: [PATCH] do the same thing as db/check.c in the situation where we can't read one of a btree's blocks - warn, then continue; don't take a segv. --- db/freesp.c | 9 +++++++-- doc/CHANGES | 4 ++++ mkfile/xfs_mkfile.c | 17 ++--------------- 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/db/freesp.c b/db/freesp.c index 160d2360c..7a6becfd4 100644 --- a/db/freesp.c +++ b/db/freesp.c @@ -282,10 +282,15 @@ scan_sbtree( int level, xfs_agf_t *agf)) { + xfs_agnumber_t seqno = INT_GET(agf->agf_seqno, ARCH_CONVERT); + push_cur(); - set_cur(&typtab[typ], - XFS_AGB_TO_DADDR(mp, INT_GET(agf->agf_seqno, ARCH_CONVERT), root), + set_cur(&typtab[typ], XFS_AGB_TO_DADDR(mp, seqno, root), blkbb, DB_RING_IGN, NULL); + if (iocur_top->data == NULL) { + dbprintf("can't read btree block %u/%u\n", seqno, root); + return; + } (*func)((xfs_btree_sblock_t *)iocur_top->data, typ, nlevels - 1, agf); pop_cur(); } diff --git a/doc/CHANGES b/doc/CHANGES index 28ac50cc3..965958c15 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -1,3 +1,7 @@ +xfsprogs-current + - enable preallocation in xfs_mkfile [missed during port?] + - fix xfs_db core dump when reporting freespace + xfsprogs-1.3.6 (31 August 2001) - make mkfs.xfs aware of geometries that might cause inode numbers to exceed 32 significant bits. diff --git a/mkfile/xfs_mkfile.c b/mkfile/xfs_mkfile.c index 6903a8350..1957b4da7 100644 --- a/mkfile/xfs_mkfile.c +++ b/mkfile/xfs_mkfile.c @@ -184,21 +184,8 @@ main(int argc, char **argv) flck.l_whence = SEEK_SET; flck.l_start = 0LL; flck.l_len = size; -#if 0 - (void)ioctl(fd, XFS_IOC_RESVSP64, &flck); - - if (prealloc) { - if ( close(fd) < 0 ) { - perror(argv[optind]); - unlink(argv[optind]); - errs++; - } - - optind++; - - continue; - } -#endif + if (prealloc) + (void)ioctl(fd, XFS_IOC_RESVSP64, &flck); if (oflags & O_DIRECT) { nbufalign = da.d_mem; -- 2.47.2