]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
minor xfsprogs updates.
authorNathan Scott <nathans@sgi.com>
Mon, 17 Feb 2003 04:11:09 +0000 (04:11 +0000)
committerNathan Scott <nathans@sgi.com>
Mon, 17 Feb 2003 04:11:09 +0000 (04:11 +0000)
VERSION
debian/changelog
doc/CHANGES
include/xfs_log.h
include/xfs_trans.h
libxfs/xfs_dir_leaf.c
mkfs/xfs_mkfs.c

diff --git a/VERSION b/VERSION
index cd24ffa291cbc200ac3983f51a901973b56e0a83..983e818b0a667c2f24c62d6c939b00662d3a9be7 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -3,5 +3,5 @@
 #
 PKG_MAJOR=2
 PKG_MINOR=3
-PKG_REVISION=9
+PKG_REVISION=10
 PKG_BUILD=0
index 6e6b5680c19b446492d150738f541fefa34506fa..2cee98836cd8cec1a8d836b8fe23175e12529598 100644 (file)
@@ -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 <nathans@debian.org>  Tue, 31 Dec 2002 10:31:04 +1100
-
-xfsprogs (2.3.7-1) unstable; urgency=low
-
-  * New upstream release
-
- -- Nathan Scott <nathans@debian.org>  Thu, 14 Nov 2002 17:42:22 +1100
+ -- Nathan Scott <nathans@debian.org>  Mon, 17 Feb 2003 14:52:20 +1100
 
 xfsprogs (2.3.6-1) unstable; urgency=low
 
index 45136f5db255109e3d781d833d85048d17aec81a..8872ab2271dc0d128394633c3eb9af9bebc35fdf 100644 (file)
@@ -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
index fec59717ab2e9cf6569e0c3dcac0ffbd16ec6dfe..02955f0c0b46f7d710f3a04e3c120d147ff80db1 100644 (file)
@@ -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,
index b02ac92c56a2aee471813443fb0f81849634d18f..ed091cb1ce998e1da8da99e8a0bb045c9c28cbcc 100644 (file)
@@ -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
index 1994f7316c939cb7765ffd8ea592f54602001904..0cdd19bbfa9fc5b967849dd80ea163785cfbde82 100644 (file)
@@ -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;
index 7be0c89448dc880ac6823d54976da2a65bb54038..4b708ac3c84ecd8efdff8540a9e02ede2f4372cb 100644 (file)
@@ -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