From: Nathan Scott Date: Mon, 17 Feb 2003 04:11:09 +0000 (+0000) Subject: minor xfsprogs updates. X-Git-Tag: v2.4.0~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5b5df80ae42a3423277ae038e3d34f3175267491;p=thirdparty%2Fxfsprogs-dev.git minor xfsprogs updates. --- diff --git a/VERSION b/VERSION index cd24ffa29..983e818b0 100644 --- a/VERSION +++ b/VERSION @@ -3,5 +3,5 @@ # PKG_MAJOR=2 PKG_MINOR=3 -PKG_REVISION=9 +PKG_REVISION=10 PKG_BUILD=0 diff --git a/debian/changelog b/debian/changelog index 6e6b5680c..2cee98836 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,14 +1,8 @@ -xfsprogs (2.3.9-1) unstable; urgency=low +xfsprogs (2.3.10-1) unstable; urgency=low * New upstream release - -- Nathan Scott Tue, 31 Dec 2002 10:31:04 +1100 - -xfsprogs (2.3.7-1) unstable; urgency=low - - * New upstream release - - -- Nathan Scott Thu, 14 Nov 2002 17:42:22 +1100 + -- Nathan Scott Mon, 17 Feb 2003 14:52:20 +1100 xfsprogs (2.3.6-1) unstable; urgency=low diff --git a/doc/CHANGES b/doc/CHANGES index 45136f5db..8872ab227 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -1,3 +1,8 @@ +xfsprogs-2.3.10 (17 February 2002) + - Fix a divide-by-zero error in mkfs with certain stripe unit + and/or width options specified. + - Sync up user/kernel source in libxfs and headers. + xfsprogs-2.3.9 (31 December 2002) - Additional xfs_repair check in v2 directory handling for blks with no data entries (merged from IRIX), includes several diff --git a/include/xfs_log.h b/include/xfs_log.h index fec59717a..02955f0c0 100644 --- a/include/xfs_log.h +++ b/include/xfs_log.h @@ -148,6 +148,7 @@ typedef struct xfs_log_callback { struct xfs_mount; xfs_lsn_t xfs_log_done(struct xfs_mount *mp, xfs_log_ticket_t ticket, + void **iclog, uint flags); int xfs_log_force(struct xfs_mount *mp, xfs_lsn_t lsn, @@ -160,9 +161,11 @@ int xfs_log_mount(struct xfs_mount *mp, int xfs_log_mount_finish(struct xfs_mount *mp, int); void xfs_log_move_tail(struct xfs_mount *mp, xfs_lsn_t tail_lsn); -void xfs_log_notify(struct xfs_mount *mp, - xfs_lsn_t lsn, +int xfs_log_notify(struct xfs_mount *mp, + void *iclog, xfs_log_callback_t *callback_entry); +int xfs_log_release_iclog(struct xfs_mount *mp, + void *iclog_hndl); int xfs_log_reserve(struct xfs_mount *mp, int length, int count, diff --git a/include/xfs_trans.h b/include/xfs_trans.h index b02ac92c5..ed091cb1c 100644 --- a/include/xfs_trans.h +++ b/include/xfs_trans.h @@ -170,7 +170,7 @@ typedef struct xfs_item_ops { uint (*iop_size)(xfs_log_item_t *); void (*iop_format)(xfs_log_item_t *, struct xfs_log_iovec *); void (*iop_pin)(xfs_log_item_t *); - void (*iop_unpin)(xfs_log_item_t *); + void (*iop_unpin)(xfs_log_item_t *, int); void (*iop_unpin_remove)(xfs_log_item_t *, struct xfs_trans *); uint (*iop_trylock)(xfs_log_item_t *); void (*iop_unlock)(xfs_log_item_t *); @@ -184,7 +184,7 @@ typedef struct xfs_item_ops { #define IOP_SIZE(ip) (*(ip)->li_ops->iop_size)(ip) #define IOP_FORMAT(ip,vp) (*(ip)->li_ops->iop_format)(ip, vp) #define IOP_PIN(ip) (*(ip)->li_ops->iop_pin)(ip) -#define IOP_UNPIN(ip) (*(ip)->li_ops->iop_unpin)(ip) +#define IOP_UNPIN(ip, flags) (*(ip)->li_ops->iop_unpin)(ip, flags) #define IOP_UNPIN_REMOVE(ip,tp) (*(ip)->li_ops->iop_unpin_remove)(ip, tp) #define IOP_TRYLOCK(ip) (*(ip)->li_ops->iop_trylock)(ip) #define IOP_UNLOCK(ip) (*(ip)->li_ops->iop_unlock)(ip) @@ -222,6 +222,7 @@ typedef struct xfs_log_item_desc { #define XFS_LID_DIRTY 0x1 #define XFS_LID_PINNED 0x2 #define XFS_LID_SYNC_UNLOCK 0x4 +#define XFS_LID_BUF_STALE 0x8 /* * This structure is used to maintain a chunk list of log_item_desc diff --git a/libxfs/xfs_dir_leaf.c b/libxfs/xfs_dir_leaf.c index 1994f7316..0cdd19bbf 100644 --- a/libxfs/xfs_dir_leaf.c +++ b/libxfs/xfs_dir_leaf.c @@ -415,7 +415,7 @@ xfs_dir_leaf_to_shortform(xfs_da_args_t *iargs) retval = xfs_da_read_buf(iargs->trans, iargs->dp, 0, -1, &bp, XFS_DATA_FORK); if (retval) - return(retval); + goto out; ASSERT(bp != NULL); memcpy(tmpbuffer, bp->data, XFS_LBSIZE(dp->i_mount)); leaf = (xfs_dir_leafblock_t *)tmpbuffer; diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c index 7be0c8944..4b708ac3c 100644 --- a/mkfs/xfs_mkfs.c +++ b/mkfs/xfs_mkfs.c @@ -442,8 +442,8 @@ main( agcount = 8; blflag = bsflag = slflag = ssflag = 0; blocklog = blocksize = 0; - sectorlog = BBSHIFT; - sectorsize = BBSIZE; + sectorlog = XFS_MIN_SECTORSIZE_LOG; + sectorsize = XFS_MIN_SECTORSIZE; lsectorlog = 0; lsectorsize = 0; agsize = daflag = dasize = dblocks = 0; @@ -1056,8 +1056,8 @@ main( #ifdef EXPERIMENTAL_LARGE_SECTORS if (!lsectorsize) { - lsectorlog = BBSHIFT; - lsectorsize = BBSIZE; + lsectorlog = XFS_MIN_SECTORSIZE_LOG; + lsectorsize = XFS_MIN_SECTORSIZE; } if (lsectorsize < XFS_MIN_SECTORSIZE || lsectorsize > XFS_MAX_SECTORSIZE || lsectorsize > sectorsize) { @@ -1065,17 +1065,17 @@ main( usage(); } #else - if (sectorsize != BBSIZE) { - fprintf(stderr, _("illegal sector size %d\n"), - sectorsize); + if (sectorsize != XFS_MIN_SECTORSIZE || + sectorlog != XFS_MIN_SECTORSIZE_LOG) { + fprintf(stderr, _("illegal sector size %d\n"), sectorsize); usage(); } - if (lsectorsize != BBSIZE && lsectorsize) { + if (lsectorsize != XFS_MIN_SECTORSIZE && lsectorsize) { fprintf(stderr, _("illegal log sector size %d\n"), lsectorsize); usage(); } - lsectorlog = BBSHIFT; - lsectorsize = BBSIZE; + lsectorlog = XFS_MIN_SECTORSIZE_LOG; + lsectorsize = XFS_MIN_SECTORSIZE; #endif if (!nvflag) @@ -1639,7 +1639,7 @@ _("size %s specified for log subvolume is too large, maximum is %lld blocks\n"), */ if (tmp_agsize > XFS_AG_MAX_BLOCKS(blocklog)) tmp_agsize = ((agsize) / dsunit) * dsunit; - if ((tmp_agsize >= XFS_AG_MIN_BLOCKS(blocklog)) && + if ((tmp_agsize >= XFS_AG_MIN_BLOCKS(blocklog)) && (tmp_agsize <= XFS_AG_MAX_BLOCKS(blocklog)) && !daflag) { agsize = tmp_agsize; @@ -1660,7 +1660,7 @@ _("Allocation group size (%lld) is not a multiple of the stripe unit (%d)\n"), } } } - if (((agsize % dswidth) == 0) && (agcount > 1)) { + if (dswidth && ((agsize % dswidth) == 0) && (agcount > 1)) { /* This is a non-optimal configuration because all AGs * start on the same disk in the stripe. Changing * the AG size by one sunit will guarantee that this